25 lines
289 KiB
JavaScript
25 lines
289 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"]'))s(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const f of l.addedNodes)f.tagName==="LINK"&&f.rel==="modulepreload"&&s(f)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();/**
|
||
* @vue/shared v3.5.44
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function Ta(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const ut={},Ar=[],En=()=>{},Au=()=>!1,Go=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yo=e=>e.startsWith("onUpdate:"),xt=Object.assign,Oa=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Vf=Object.prototype.hasOwnProperty,st=(e,t)=>Vf.call(e,t),Re=Array.isArray,rr=e=>Rs(e)==="[object Map]",Bn=e=>Rs(e)==="[object Set]",Dl=e=>Rs(e)==="[object Date]",qe=e=>typeof e=="function",mt=e=>typeof e=="string",$n=e=>typeof e=="symbol",it=e=>e!==null&&typeof e=="object",Tu=e=>(it(e)||qe(e))&&qe(e.then)&&qe(e.catch),Ou=Object.prototype.toString,Rs=e=>Ou.call(e),Ff=e=>Rs(e).slice(8,-1),Pu=e=>Rs(e)==="[object Object]",Pa=e=>mt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ys=Ta(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Jo=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},Bf=/-\w/g,hn=Jo(e=>e.replace(Bf,t=>t.slice(1).toUpperCase())),Uf=/\B([A-Z])/g,cr=Jo(e=>e.replace(Uf,"-$1").toLowerCase()),Mu=Jo(e=>e.charAt(0).toUpperCase()+e.slice(1)),Hi=Jo(e=>e?`on${Mu(e)}`:""),Cn=(e,t)=>!Object.is(e,t),xo=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},Iu=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},Xo=e=>{const t=parseFloat(e);return isNaN(t)?e:t},qf=e=>{const t=mt(e)?Number(e):NaN;return isNaN(t)?e:t};let jl;const Qo=()=>jl||(jl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function sr(e){if(Re(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],i=mt(s)?Gf(s):sr(s);if(i)for(const l in i)t[l]=i[l]}return t}else if(mt(e)||it(e))return e}const Hf=/;(?![^(]*\))/g,Wf=/:([^]+)/,zf=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function Gf(e){const t={};return e.replace(zf,n=>n.startsWith("/*")?"":n).split(Hf).forEach(n=>{if(n){const s=n.split(Wf);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Qe(e){let t="";if(mt(e))t=e;else if(Re(e))for(let n=0;n<e.length;n++){const s=Qe(e[n]);s&&(t+=s+" ")}else if(it(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const Yf="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly",Jf=Ta(Yf);function Du(e){return!!e||e===""}function Xf(e,t,n){if(e.length!==t.length)return!1;let s=!0;for(let i=0;s&&i<e.length;i++)s=Un(e[i],t[i],n);return s}function Kl(e,t,n){if(e.size!==t.size)return!1;const s=Array.from(t),i=new Uint8Array(s.length);for(const l of e){let f=-1;for(let p=0;p<s.length;p++)if(!i[p]&&Un(l,s[p],n)){f=p;break}if(f<0)return!1;i[f]=1}return!0}function Qf(e,t,n){let s=rr(e),i=rr(t);if(s||i||(s=Bn(e),i=Bn(t),s||i))return s&&i?Kl(e,t,n):!1;const l=Object.keys(e).length,f=Object.keys(t).length;if(l!==f)return!1;for(const p in e){const v=e.hasOwnProperty(p),b=t.hasOwnProperty(p);if(v&&!b||!v&&b||!Un(e[p],t[p],n))return!1}return String(e)===String(t)}function Rl(e,t,n,s){n||(n=[new Map,new Map]);const[i,l]=n;if(i.has(e)||l.has(t))return i.get(e)===t&&l.get(t)===e;i.set(e,t),l.set(t,e);const f=s(e,t,n);return i.delete(e),l.delete(t),f}function Un(e,t,n){if(e===t)return!0;let s=Dl(e),i=Dl(t);return s||i?s&&i?e.getTime()===t.getTime():!1:(s=$n(e),i=$n(t),s||i?e===t:(s=Re(e),i=Re(t),s||i?s&&i?Rl(e,t,n,Xf):!1:(s=it(e),i=it(t),s||i?!s||!i?!1:Rl(e,t,n,Qf):String(e)===String(t))))}function Ma(e,t){return e.findIndex(n=>Un(n,t))}const ju=e=>!!(e&&e.__v_isRef===!0),re=e=>mt(e)?e:e==null?"":Re(e)||it(e)&&(e.toString===Ou||!qe(e.toString))?ju(e)?re(e.value):JSON.stringify(e,Ku,2):String(e),Ku=(e,t)=>ju(t)?Ku(e,t.value):rr(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,i],l)=>(n[Wi(s,l)+" =>"]=i,n),{})}:Bn(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wi(n))}:$n(t)?Wi(t):it(t)&&!Re(t)&&!Pu(t)?String(t):t,Wi=(e,t="")=>{var n;return $n(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/**
|
||
* @vue/reactivity v3.5.44
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let Mt;class Zf{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&&Mt&&(Mt.active?(this.parent=Mt,this.index=(Mt.scopes||(Mt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const i=this.scopes.slice();for(t=0,n=i.length;t<n;t++)i[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=Mt;try{return Mt=this,t()}finally{Mt=n}}}on(){++this._on===1&&(this.prevScope=Mt,Mt=this)}off(){if(this._on>0&&--this._on===0){if(Mt===this)Mt=this.prevScope;else{let t=Mt;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 n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const i=this.scopes.slice();for(n=0,s=i.length;n<s;n++)i[n].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 ed(){return Mt}let ft;const zi=new WeakSet;class Ru{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,Mt&&(Mt.active?Mt.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,zi.has(this)&&(zi.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Lu(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Nl(this),Vu(this);const t=ft,n=vn;ft=this,vn=!0;try{return this.fn()}finally{Fu(this),ft=t,vn=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ja(t);this.deps=this.depsTail=void 0,Nl(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?zi.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){ia(this)&&this.run()}get dirty(){return ia(this)}}let Nu=0,gs,bs;function Lu(e,t=!1){if(e.flags|=8,t){e.next=bs,bs=e;return}e.next=gs,gs=e}function Ia(){Nu++}function Da(){if(--Nu>0)return;if(bs){let t=bs;for(bs=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;gs;){let t=gs;for(gs=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Vu(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Fu(e){let t,n=e.depsTail,s=n;for(;s;){const i=s.prevDep;s.version===-1?(s===n&&(n=i),ja(s),td(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=i}e.deps=t,e.depsTail=n}function ia(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Bu(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Bu(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Es)||(e.globalVersion=Es,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!ia(e))))return;e.flags|=2;const t=e.dep,n=ft,s=vn;ft=e,vn=!0;try{Vu(e);const i=e.fn(e._value);(t.version===0||Cn(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{ft=n,vn=s,Fu(e),e.flags&=-3}}function ja(e,t=!1){const{dep:n,prevSub:s,nextSub:i}=e;if(s&&(s.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let l=n.computed.deps;l;l=l.nextDep)ja(l,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function td(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let vn=!0;const Uu=[];function An(){Uu.push(vn),vn=!1}function Tn(){const e=Uu.pop();vn=e===void 0?!0:e}function Nl(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=ft;ft=void 0;try{t()}finally{ft=n}}}let Es=0;class nd{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ka{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(!ft||!vn||ft===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==ft)n=this.activeLink=new nd(ft,this),ft.deps?(n.prevDep=ft.depsTail,ft.depsTail.nextDep=n,ft.depsTail=n):ft.deps=ft.depsTail=n,qu(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=ft.depsTail,n.nextDep=void 0,ft.depsTail.nextDep=n,ft.depsTail=n,ft.deps===n&&(ft.deps=s)}return n}trigger(t){this.version++,Es++,this.notify(t)}notify(t){Ia();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{Da()}}}function qu(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)qu(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const aa=new WeakMap,Tr=Symbol(""),la=Symbol(""),$s=Symbol("");function Nt(e,t,n){if(vn&&ft){let s=aa.get(e);s||aa.set(e,s=new Map);let i=s.get(n);i||(s.set(n,i=new Ka),i.map=s,i.key=n),i.track()}}function Kn(e,t,n,s,i,l){const f=aa.get(e);if(!f){Es++;return}const p=v=>{v&&v.trigger()};if(Ia(),t==="clear")f.forEach(p);else{const v=Re(e),b=v&&Pa(n);if(v&&n==="length"){const y=Number(s);f.forEach((k,I)=>{(I==="length"||I===$s||!$n(I)&&I>=y)&&p(k)})}else switch((n!==void 0||f.has(void 0))&&p(f.get(n)),b&&p(f.get($s)),t){case"add":v?b&&p(f.get("length")):(p(f.get(Tr)),rr(e)&&p(f.get(la)));break;case"delete":v||(p(f.get(Tr)),rr(e)&&p(f.get(la)));break;case"set":rr(e)&&p(f.get(Tr));break}}Da()}function qr(e){const t=rt(e);return t===e||(Nt(t,"iterate",$s),ln(e))?t:On(e)?or(e)?t.map(n=>ir(un(n))):t.map(ir):t.map(un)}function Zo(e){return Nt(e=rt(e),"iterate",$s),e}function wn(e,t){return On(e)?ir(or(e)?un(t):t):un(t)}const rd={__proto__:null,[Symbol.iterator](){return Gi(this,Symbol.iterator,e=>wn(this,e))},concat(...e){return qr(this).concat(...e.map(t=>Re(t)?qr(t):t))},entries(){return Gi(this,"entries",e=>(e[1]=wn(this,e[1]),e))},every(e,t){return In(this,"every",e,t,void 0,arguments)},filter(e,t){return In(this,"filter",e,t,n=>n.map(s=>wn(this,s)),arguments)},find(e,t){return In(this,"find",e,t,n=>wn(this,n),arguments)},findIndex(e,t){return In(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return In(this,"findLast",e,t,n=>wn(this,n),arguments)},findLastIndex(e,t){return In(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return In(this,"forEach",e,t,void 0,arguments)},includes(...e){return Yi(this,"includes",e)},indexOf(...e){return Yi(this,"indexOf",e)},join(e){return qr(this).join(e)},lastIndexOf(...e){return Yi(this,"lastIndexOf",e)},map(e,t){return In(this,"map",e,t,void 0,arguments)},pop(){return fs(this,"pop")},push(...e){return fs(this,"push",e)},reduce(e,...t){return Vl(this,"reduce",e,t)},reduceRight(e,...t){return Vl(this,"reduceRight",e,t)},shift(){return fs(this,"shift")},some(e,t){return In(this,"some",e,t,void 0,arguments)},splice(...e){return fs(this,"splice",e)},toReversed(){return qr(this).toReversed()},toSorted(e){return qr(this).toSorted(e)},toSpliced(...e){return qr(this).toSpliced(...e)},unshift(...e){return fs(this,"unshift",e)},values(){return Gi(this,"values",e=>wn(this,e))}};function Gi(e,t,n){const s=Zo(e),i=s[t],l=i.call(s);if(s!==e&&!ln(e)){if(l[Symbol.toStringTag]==="Array Iterator"){const f=Object.create(Object.getPrototypeOf(l));return f.next=()=>Ll(l.next(),n),i!==Hu[t]&&Object.defineProperties(f,{return:{get(){const p=l.return;return typeof p=="function"?p.bind(l):p}},throw:{get(){const p=l.throw;return typeof p=="function"?p.bind(l):p}}}),f}l._next=l.next,l.next=()=>Ll(l._next(),n)}return l}function Ll(e,t){return e.done||(e.value=t(e.value)),e}const Hu=Array.prototype;function In(e,t,n,s,i,l){const f=Zo(e),p=f!==e&&!ln(e),v=f[t];if(v!==Hu[t]){const k=v.apply(e,l);return p?un(k):k}let b=n;f!==e&&(p?b=function(k,I){return n.call(this,wn(e,k),I,e)}:n.length>2&&(b=function(k,I){return n.call(this,k,I,e)}));const y=v.call(f,b,s);return p&&i?i(y):y}function Vl(e,t,n,s){const i=Zo(e),l=i!==e&&!ln(e);let f=n,p=!1;i!==e&&(l?(p=s.length===0,f=function(b,y,k){return p&&(p=!1,b=wn(e,b)),n.call(this,b,wn(e,y),k,e)}):n.length>3&&(f=function(b,y,k){return n.call(this,b,y,k,e)}));const v=i[t](f,...s);return p?wn(e,v):v}function Yi(e,t,n){const s=rt(e);Nt(s,"iterate",$s);const i=s[t](...n);return(i===-1||i===!1)&&Va(n[0])?(n[0]=rt(n[0]),s[t](...n)):i}function fs(e,t,n=[]){An(),Ia();const s=rt(e)[t].apply(e,n);return Da(),Tn(),s}const sd=Ta("__proto__,__v_isRef,__isVue"),Wu=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter($n));function od(e){$n(e)||(e=String(e));const t=rt(this);return Nt(t,"has",e),t.hasOwnProperty(e)}class zu{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const i=this._isReadonly,l=this._isShallow;if(n==="__v_isReactive")return!i;if(n==="__v_isReadonly")return i;if(n==="__v_isShallow")return l;if(n==="__v_raw")return s===(i?l?vd:Xu:l?Ju:Yu).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const f=Re(t);if(!i){let v;if(f&&(v=rd[n]))return v;if(n==="hasOwnProperty")return od}const p=Reflect.get(t,n,Vt(t)?t:s);if(($n(n)?Wu.has(n):sd(n))||(i||Nt(t,"get",n),l))return p;if(Vt(p)){const v=f&&Pa(n)?p:p.value;return i&&it(v)?ca(v):v}return it(p)?i?ca(p):Na(p):p}}class Gu extends zu{constructor(t=!1){super(!1,t)}set(t,n,s,i){let l=t[n];const f=Re(t)&&Pa(n);if(!this._isShallow){const b=On(l);if(!ln(s)&&!On(s)&&(l=rt(l),s=rt(s)),!f&&Vt(l)&&!Vt(s))return b||(l.value=s),!0}const p=f?Number(n)<t.length:st(t,n),v=Reflect.set(t,n,s,Vt(t)?t:i);return t===rt(i)&&v&&(p?Cn(s,l)&&Kn(t,"set",n,s):Kn(t,"add",n,s)),v}deleteProperty(t,n){const s=st(t,n);t[n];const i=Reflect.deleteProperty(t,n);return i&&s&&Kn(t,"delete",n,void 0),i}has(t,n){const s=Reflect.has(t,n);return(!$n(n)||!Wu.has(n))&&Nt(t,"has",n),s}ownKeys(t){return Nt(t,"iterate",Re(t)?"length":Tr),Reflect.ownKeys(t)}}class id extends zu{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const ad=new Gu,ld=new id,ud=new Gu(!0);const ua=e=>e,mo=e=>Reflect.getPrototypeOf(e);function cd(e,t,n){return function(...s){const i=this.__v_raw,l=rt(i),f=rr(l),p=e==="entries"||e===Symbol.iterator&&f,v=e==="keys"&&f,b=i[e](...s),y=n?ua:t?ir:un;return!t&&Nt(l,"iterate",v?la:Tr),xt(Object.create(b),{next(){const{value:k,done:I}=b.next();return I?{value:k,done:I}:{value:p?[y(k[0]),y(k[1])]:y(k),done:I}}})}}function yo(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function fd(e,t){const n={get(i){const l=this.__v_raw,f=rt(l),p=rt(i);e||(Cn(i,p)&&Nt(f,"get",i),Nt(f,"get",p));const{has:v}=mo(f),b=t?ua:e?ir:un;if(v.call(f,i))return b(l.get(i));if(v.call(f,p))return b(l.get(p));l!==f&&l.get(i)},get size(){const i=this.__v_raw;return!e&&Nt(rt(i),"iterate",Tr),i.size},has(i){const l=this.__v_raw,f=rt(l),p=rt(i);return e||(Cn(i,p)&&Nt(f,"has",i),Nt(f,"has",p)),i===p?l.has(i):l.has(i)||l.has(p)},forEach(i,l){const f=this,p=f.__v_raw,v=rt(p),b=t?ua:e?ir:un;return!e&&Nt(v,"iterate",Tr),p.forEach((y,k)=>i.call(l,b(y),b(k),f))}};return xt(n,e?{add:yo("add"),set:yo("set"),delete:yo("delete"),clear:yo("clear")}:{add(i){const l=rt(this),f=mo(l),p=rt(i),v=!t&&!ln(i)&&!On(i)?p:i;return f.has.call(l,v)||Cn(i,v)&&f.has.call(l,i)||Cn(p,v)&&f.has.call(l,p)||(l.add(v),Kn(l,"add",v,v)),this},set(i,l){!t&&!ln(l)&&!On(l)&&(l=rt(l));const f=rt(this),{has:p,get:v}=mo(f);let b=p.call(f,i);b||(i=rt(i),b=p.call(f,i));const y=v.call(f,i);return f.set(i,l),b?Cn(l,y)&&Kn(f,"set",i,l):Kn(f,"add",i,l),this},delete(i){const l=rt(this),{has:f,get:p}=mo(l);let v=f.call(l,i);v||(i=rt(i),v=f.call(l,i)),p&&p.call(l,i);const b=l.delete(i);return v&&Kn(l,"delete",i,void 0),b},clear(){const i=rt(this),l=i.size!==0,f=i.clear();return l&&Kn(i,"clear",void 0,void 0),f}}),["keys","values","entries",Symbol.iterator].forEach(i=>{n[i]=cd(i,e,t)}),n}function Ra(e,t){const n=fd(e,t);return(s,i,l)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_isShallow"?t:i==="__v_raw"?s:Reflect.get(st(n,i)&&i in s?n:s,i,l)}const dd={get:Ra(!1,!1)},pd={get:Ra(!1,!0)},hd={get:Ra(!0,!1)};const Yu=new WeakMap,Ju=new WeakMap,Xu=new WeakMap,vd=new WeakMap;function md(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Na(e){return On(e)?e:La(e,!1,ad,dd,Yu)}function yd(e){return La(e,!1,ud,pd,Ju)}function ca(e){return La(e,!0,ld,hd,Xu)}function La(e,t,n,s,i){if(!it(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const l=i.get(e);if(l)return l;const f=md(Ff(e));if(f===0)return e;const p=new Proxy(e,f===2?s:n);return i.set(e,p),p}function or(e){return On(e)?or(e.__v_raw):!!(e&&e.__v_isReactive)}function On(e){return!!(e&&e.__v_isReadonly)}function ln(e){return!!(e&&e.__v_isShallow)}function Va(e){return e?!!e.__v_raw:!1}function rt(e){const t=e&&e.__v_raw;return t?rt(t):e}function gd(e){return!st(e,"__v_skip")&&Object.isExtensible(e)&&Iu(e,"__v_skip",!0),e}const un=e=>it(e)?Na(e):e,ir=e=>it(e)?ca(e):e;function Vt(e){return e?e.__v_isRef===!0:!1}function L(e){return bd(e,!1)}function bd(e,t){return Vt(e)?e:new _d(e,t)}class _d{constructor(t,n){this.dep=new Ka,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:rt(t),this._value=n?t:un(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||ln(t)||On(t);t=s?t:rt(t),Cn(t,n)&&(this._rawValue=t,this._value=s?t:un(t),this.dep.trigger())}}function nn(e){return Vt(e)?e.value:e}const wd={get:(e,t,n)=>t==="__v_raw"?e:nn(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const i=e[t];return Vt(i)&&!Vt(n)?(i.value=n,!0):Reflect.set(e,t,n,s)}};function Qu(e){return or(e)?e:new Proxy(e,wd)}class kd{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Ka(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Es-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&ft!==this)return Lu(this,!0),!0}get value(){const t=this.dep.track();return Bu(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function xd(e,t,n=!1){let s,i;return qe(e)?s=e:(s=e.get,i=e.set),new kd(s,i,n)}const go={},To=new WeakMap;let Cr;function Cd(e,t=!1,n=Cr){if(n){let s=To.get(n);s||To.set(n,s=[]),s.push(e)}}function Sd(e,t,n=ut){const{immediate:s,deep:i,once:l,scheduler:f,augmentJob:p,call:v}=n,b=Y=>i?Y:ln(Y)||i===!1||i===0?Rn(Y,1):Rn(Y);let y,k,I,D,N=!1,G=!1;if(Vt(e)?(k=()=>e.value,N=ln(e)):or(e)?(k=()=>b(e),N=!0):Re(e)?(G=!0,N=e.some(Y=>or(Y)||ln(Y)),k=()=>e.map(Y=>{if(Vt(Y))return Y.value;if(or(Y))return b(Y);if(qe(Y))return v?v(Y,2):Y()})):qe(e)?t?k=v?()=>v(e,2):e:k=()=>{if(I){An();try{I()}finally{Tn()}}const Y=Cr;Cr=y;try{return v?v(e,3,[D]):e(D)}finally{Cr=Y}}:k=En,t&&i){const Y=k,ae=i===!0?1/0:i;k=()=>Rn(Y(),ae)}const fe=ed(),ee=()=>{y.stop(),fe&&fe.active&&Oa(fe.effects,y)};if(l&&t){const Y=t;t=(...ae)=>{try{return Y(...ae)}finally{ee()}}}let E=G?new Array(e.length).fill(go):go;const j=Y=>{if(!(!(y.flags&1)||!y.dirty&&!Y))if(t){const ae=y.run();if(Y||i||N||(G?ae.some((ie,oe)=>Cn(ie,E[oe])):Cn(ae,E))){const ie=Cr;An();try{I&&I(),Cr=y;const oe=[ae,E===go?void 0:G&&E[0]===go?[]:E,D];E=ae,v?v(t,3,oe):t(...oe)}finally{Cr=ie,Tn()}}}else y.run()};return p&&p(j),y=new Ru(k),y.scheduler=f?()=>f(j,!1):j,D=Y=>Cd(Y,!1,y),I=y.onStop=()=>{const Y=To.get(y);if(Y){if(v)v(Y,4);else for(const ae of Y)ae();To.delete(y)}},t?s?j(!0):E=y.run():f?f(j.bind(null,!0),!0):y.run(),ee.pause=y.pause.bind(y),ee.resume=y.resume.bind(y),ee.stop=ee,ee}function Rn(e,t=1/0,n){if(t<=0||!it(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Vt(e))Rn(e.value,t,n);else if(Re(e))for(let s=0;s<e.length;s++)Rn(e[s],t,n);else if(Bn(e)||rr(e))e.forEach(s=>{Rn(s,t,n)});else if(Pu(e)){for(const s in e)Rn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Rn(e[s],t,n)}return e}/**
|
||
* @vue/runtime-core v3.5.44
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/function Ns(e,t,n,s){try{return s?e(...s):e()}catch(i){ei(i,t,n)}}function cn(e,t,n,s){if(qe(e)){const i=Ns(e,t,n,s);return i&&Tu(i)&&i.catch(l=>{ei(l,t,n)}),i}if(Re(e)){const i=[];for(let l=0;l<e.length;l++)i.push(cn(e[l],t,n,s));return i}}function ei(e,t,n,s=!0){const i=t?t.vnode:null,{errorHandler:l,throwUnhandledErrorInProduction:f}=t&&t.appContext.config||ut;if(t){let p=t.parent;const v=t.proxy,b=`https://vuejs.org/error-reference/#runtime-${n}`;for(;p;){const y=p.ec;if(y){for(let k=0;k<y.length;k++)if(y[k](e,v,b)===!1)return}p=p.parent}if(l){An(),Ns(l,null,10,[e,v,b]),Tn();return}}Ed(e,n,i,s,f)}function Ed(e,t,n,s=!0,i=!1){if(i)throw e;console.error(e)}const zt=[];let pn=-1;const kn=[];let tr=null,Hr=0;const Zu=Promise.resolve();let Oo=null;function Zr(e){const t=Oo||Zu;return e?t.then(this?e.bind(this):e):t}function $d(e){let t=pn+1,n=zt.length;for(;t<n;){const s=t+n>>>1,i=zt[s],l=As(i);l<e||l===e&&i.flags&2?t=s+1:n=s}return t}function Fa(e){if(!(e.flags&1)){const t=As(e),n=zt[zt.length-1];!n||!(e.flags&2)&&t>=As(n)?zt.push(e):zt.splice($d(t),0,e),e.flags|=1,ec()}}function ec(){Oo||(Oo=Zu.then(rc))}function Ad(e){if(!Re(e))tr&&e.id===-1?tr.splice(Hr+1,0,e):e.flags&1||(kn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)kn.push(e[t]);ec()}function tc(e,t,n,s=pn+1){for(;s<zt.length;s++){const i=zt[s];if(i&&i.flags&2){if(e&&i.id!==e.uid||t!==void 0&&!(i.id>=t))continue;zt.splice(s,1),s=e?s-1:pn,i.flags&4&&(i.flags&=-2),i(),i.flags&4||(i.flags&=-2)}}}function nc(e,t,n=0){if(kn.length){let s=kn,i=0;if(t){s=[];for(let f=0;f<kn.length;f++){const p=kn[f];(p.i!==void 0?!p.i||p.i.uid<n:t.has(p))?kn[i++]=p:s.push(p)}}const l=[...new Set(s)].sort((f,p)=>As(f)-As(p));if(kn.length=i,tr){for(let f=0;f<l.length;f++)tr.push(l[f]);return}for(tr=l,Hr=0;Hr<tr.length;Hr++){const f=tr[Hr];f.flags&4&&(f.flags&=-2),f.flags&8||f(),f.flags&=-2}tr=null,Hr=0}}let Ji=!1;function Td(e,t){if(Ji){e();return}const n=t===void 0?void 0:new Set(kn);e(),Ji=!0;try{tc(void 0,t),nc(void 0,n,t)}finally{Ji=!1}}const As=e=>e.id==null?e.flags&2?-1:1/0:e.id;function rc(e){try{for(pn=0;pn<zt.length;pn++){const t=zt[pn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Ns(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;pn<zt.length;pn++){const t=zt[pn];t&&(t.flags&=-2)}pn=-1,zt.length=0,nc(),Oo=null,(zt.length||kn.length)&&rc()}}let an=null,sc=null;function Po(e){const t=an;return an=e,sc=e&&e.type.__scopeId||null,t}function fr(e,t=an,n){if(!t||e._n)return e;const s=(...i)=>{s._d&&jo(-1);const l=Po(t),f=Or.length;let p;try{p=e(...i)}finally{for(let v=Or.length;v>f;v--)Mc();Po(l),s._d&&jo(1)}return p};return s._n=!0,s._c=!0,s._d=!0,s}function Ae(e,t){if(an===null)return e;const n=ii(an),s=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[l,f,p,v=ut]=t[i];l&&(qe(l)&&(l={mounted:l,updated:l}),l.deep&&Rn(f),s.push({dir:l,instance:n,value:f,oldValue:void 0,arg:p,modifiers:v}))}return e}function wr(e,t,n,s){const i=e.dirs,l=t&&t.dirs;for(let f=0;f<i.length;f++){const p=i[f];l&&(p.oldValue=l[f].value);let v=p.dir[s];v&&(An(),cn(v,n,8,[e.el,p,e,t]),Tn())}}function Od(e,t){if(Gt){let n=Gt.provides;const s=Gt.parent&&Gt.parent.provides;s===n&&(n=Gt.provides=Object.create(s)),n[e]=t}}function Co(e,t,n=!1){const s=Wa();if(s||zr){let i=zr?zr._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&qe(t)?t.call(s&&s.proxy):t}}const Pd=Symbol.for("v-scx"),Md=()=>Co(Pd);function vt(e,t,n){return oc(e,t,n)}function oc(e,t,n=ut){const{immediate:s,deep:i,flush:l,once:f}=n,p=xt({},n),v=t&&s||!t&&l!=="post";let b;if(Ds){if(l==="sync"){const D=Md();b=D.__watcherHandles||(D.__watcherHandles=[])}else if(!v){const D=()=>{};return D.stop=En,D.resume=En,D.pause=En,D}}const y=Gt;p.call=(D,N,G)=>cn(D,y,N,G);let k=!1;l==="post"?p.scheduler=D=>{D.i=y,Wt(D,y&&y.suspense)}:l!=="sync"&&(k=!0,p.scheduler=(D,N)=>{N?D():Fa(D)}),p.augmentJob=D=>{t&&(D.flags|=4),k&&(D.flags|=2,y&&(D.id=y.uid,D.i=y))};const I=Sd(e,t,p);return Ds&&(b?b.push(I):v&&I()),I}function Id(e,t,n){const s=this.proxy,i=mt(e)?e.includes(".")?ic(s,e):()=>s[e]:e.bind(s,s);let l;qe(t)?l=t:(l=t.handler,n=t);const f=Vs(this),p=oc(i,l.bind(s),n);return f(),p}function ic(e,t){const n=t.split(".");return()=>{let s=e;for(let i=0;i<n.length&&s;i++)s=s[n[i]];return s}}const Zn=new WeakMap,ac=Symbol("_vte"),ti=e=>e.__isTeleport,Er=e=>e&&(e.disabled||e.disabled===""),Dd=e=>e&&(e.defer||e.defer===""),Fl=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Bl=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,fa=(e,t)=>{const n=e&&e.to;return mt(n)?t?t(n):null:n},jd={name:"Teleport",__isTeleport:!0,process(e,t,n,s,i,l,f,p,v,b){const{mc:y,pc:k,pbc:I,o:{insert:D,querySelector:N,createText:G,createComment:fe,parentNode:ee}}=b,E=Er(t.props);let{dynamicChildren:j}=t;const Y=(oe,R,$)=>{oe.shapeFlag&16&&y(oe.children,R,$,i,l,f,p,v)},ae=(oe=t)=>{const R=Er(oe.props),$=oe.target=fa(oe.props,N),le=da($,oe,G,D);$&&(f!=="svg"&&Fl($)?f="svg":f!=="mathml"&&Bl($)&&(f="mathml"),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add($),R||(Y(oe,$,le),hs(oe,!1)))},ie=oe=>{const R=()=>{if(Zn.get(oe)===R){if(Zn.delete(oe),Er(oe.props)){const $=ee(oe.el)||n;Y(oe,$,oe.anchor),hs(oe,!0)}ae(oe)}};Zn.set(oe,R),Wt(R,l)};if(e==null){const oe=t.el=G(""),R=t.anchor=G("");if(D(oe,n,s),D(R,n,s),Dd(t.props)||l&&l.pendingBranch){ie(t);return}E&&(Y(t,n,R),hs(t,!0)),ae()}else{t.el=e.el;const oe=t.anchor=e.anchor,R=Zn.get(e);if(R){R.flags|=8,Zn.delete(e),ie(t);return}t.targetStart=e.targetStart;const $=t.target=e.target,le=t.targetAnchor=e.targetAnchor,Ee=Er(e.props),J=Ee?n:$,xe=Ee?oe:le;if(f==="svg"||Fl($)?f="svg":(f==="mathml"||Bl($))&&(f="mathml"),j?(I(e.dynamicChildren,j,J,i,l,f,p),Ha(e,t,!0)):v||k(e,t,J,xe,i,l,f,p,!1),E)Ee?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):bo(t,n,oe,b,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const Fe=fa(t.props,N);Fe&&(t.target=Fe,bo(t,Fe,null,b,0))}else Ee&&bo(t,$,le,b,1);hs(t,E)}},remove(e,t,n,{um:s,o:{remove:i}},l){const{shapeFlag:f,children:p,anchor:v,targetStart:b,targetAnchor:y,target:k,props:I}=e,D=Er(I),N=l||!D,G=Zn.get(e);if(G&&(G.flags|=8,Zn.delete(e)),k&&(i(b),i(y)),l&&i(v),!G&&(D||k)&&f&16)for(let fe=0;fe<p.length;fe++){const ee=p[fe];s(ee,t,n,N,!!ee.dynamicChildren)}},move:bo,hydrate:Kd};function bo(e,t,n,{o:{insert:s},m:i},l=2){l===0&&(e.targetStart&&s(e.targetStart,t,n),s(e.targetAnchor,t,n),n=e.targetAnchor);const{el:f,anchor:p,shapeFlag:v,children:b,props:y}=e,k=l===2;if(k&&s(f,t,n),!Zn.has(e)&&(!k||Er(y))&&v&16)for(let I=0;I<b.length;I++)i(b[I],t,n,2);k&&s(p,t,n)}function Kd(e,t,n,s,i,l,{o:{nextSibling:f,parentNode:p,querySelector:v,insert:b,createText:y}},k){function I(fe,ee){let E=ee;for(;E;){if(E&&E.nodeType===8){if(E.data==="teleport start anchor")t.targetStart=E;else if(E.data==="teleport anchor"){t.targetAnchor=E,fe._lpa=t.targetAnchor&&f(t.targetAnchor);break}}E=f(E)}}function D(fe,ee){ee.anchor=k(f(fe),ee,p(fe),n,s,i,l)}const N=t.target=fa(t.props,v),G=Er(t.props);if(N){const fe=N._lpa||N.firstChild;t.shapeFlag&16&&(G?(D(e,t),I(N,fe),t.targetAnchor||da(N,t,y,b,p(e)===N?e:null)):(t.anchor=f(e),I(N,fe),t.targetAnchor||da(N,t,y,b),k(fe&&f(fe),t,N,n,s,i,l))),hs(t,G)}else G&&t.shapeFlag&16&&(D(e,t),t.targetStart=e,t.targetAnchor=f(e));return t.anchor&&f(t.anchor)}const Ls=jd;function hs(e,t){const n=e.ctx;if(n&&n.ut){let s,i;for(t?(s=e.el,i=e.anchor):(s=e.targetStart,i=e.targetAnchor);s&&s!==i;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function da(e,t,n,s,i=null){const l=t.targetStart=n(""),f=t.targetAnchor=n("");return l[ac]=f,e&&(s(l,e,i),s(f,e,i)),f}const on=Symbol("_leaveCb"),ds=Symbol("_enterCb");function lc(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return fn(()=>{e.isMounted=!0}),vc(()=>{e.isUnmounting=!0}),e}const sn=[Function,Array],uc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:sn,onEnter:sn,onAfterEnter:sn,onEnterCancelled:sn,onBeforeLeave:sn,onLeave:sn,onAfterLeave:sn,onLeaveCancelled:sn,onBeforeAppear:sn,onAppear:sn,onAfterAppear:sn,onAppearCancelled:sn},Rd={name:"BaseTransition",props:uc,setup(e,{slots:t}){const n=Wa(),s=lc();return()=>{const i=t.default&&Ba(t.default(),!0),l=i&&i.length?cc(i):n.subTree?$e():void 0;if(!l)return;const f=rt(e),{mode:p}=f;if(s.isLeaving)return Xi(l);const v=Mo(l);if(!v)return Xi(l);let b=Ts(v,f,s,n,k=>b=k);v.type!==Lt&&ar(v,b);let y=n.subTree&&Mo(n.subTree);if(y&&y.type!==Lt&&!$r(y,v)&&Os(n.subTree)){let k=Ts(y,f,s,n);if(ar(y,k),p==="out-in"&&v.type!==Lt)return s.isLeaving=!0,k.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete k.afterLeave,y=void 0},Xi(l);p==="in-out"&&v.type!==Lt?k.delayLeave=(I,D,N)=>{const G=fc(s,y);G[String(y.key)]=y,I[on]=()=>{D(),I[on]=void 0,delete b.delayedLeave,y=void 0},b.delayedLeave=()=>{N(),delete b.delayedLeave,y=void 0}}:y=void 0}else y&&(y=void 0);return l}}};function cc(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Lt){t=n;break}}return t}const Nd=Rd;function fc(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Ts(e,t,n,s,i){const{appear:l,mode:f,persisted:p=!1,onBeforeEnter:v,onEnter:b,onAfterEnter:y,onEnterCancelled:k,onBeforeLeave:I,onLeave:D,onAfterLeave:N,onLeaveCancelled:G,onBeforeAppear:fe,onAppear:ee,onAfterAppear:E,onAppearCancelled:j}=t,Y=String(e.key),ae=fc(n,e),ie=($,le)=>{$&&cn($,s,9,le)},oe=($,le)=>{const Ee=le[1];ie($,le),Re($)?$.every(J=>J.length<=1)&&Ee():$.length<=1&&Ee()},R={mode:f,persisted:p,beforeEnter($){let le=v;if(!n.isMounted)if(l)le=fe||v;else return;$[on]&&$[on](!0);const Ee=ae[Y];if(Ee&&$r(e,Ee)){let J=Ee.el[on];if(!J){const xe=Os(Ee);J=xe&&xe.el[on]}J&&J()}ie(le,[$])},enter($){if(ae[Y]===e)return;let le=b,Ee=y,J=k;if(!n.isMounted)if(l)le=ee||b,Ee=E||y,J=j||k;else return;let xe=!1;$[ds]=tt=>{xe||(xe=!0,tt?ie(J,[$]):ie(Ee,[$]),R.delayedLeave&&R.delayedLeave(),$[ds]=void 0)};const Fe=$[ds].bind(null,!1);le?oe(le,[$,Fe]):Fe()},leave($,le){const Ee=String(e.key);if($[ds]&&$[ds](!0),n.isUnmounting)return le();ie(I,[$]);let J=!1;$[on]=Fe=>{J||(J=!0,le(),Fe?ie(G,[$]):ie(N,[$]),$[on]=void 0,ae[Ee]===e&&delete ae[Ee])};const xe=$[on].bind(null,!1);ae[Ee]=e,D?oe(D,[$,xe]):xe()},clone($){const le=Ts($,t,n,s,i);return i&&i(le),le}};return R}function Xi(e){if(ni(e))return e=lr(e),e.children=null,e}function Mo(e){if(!ni(e))return ti(e.type)&&e.children?cc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&qe(n.default))return n.default()}}function ar(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;ar(ti(n.type)&&Mo(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===Ke&&Re(e.children)){const n=_c(e.children,!1);n&&ar(n,t)}}function Ba(e,t=!1,n){let s=[],i=0;for(let l=0;l<e.length;l++){let f=e[l];const p=n==null?f.key:String(n)+String(f.key!=null?f.key:l);f.type===Ke?(f.patchFlag&128&&i++,s=s.concat(Ba(f.children,t,p))):(t||f.type!==Lt)&&s.push(p!=null?lr(f,{key:p}):f)}if(i>1)for(let l=0;l<s.length;l++)s[l].patchFlag=-2;return s}function Os(e){if(e.component)return Os(e.component.subTree);if(e.type===Ke){const t=Re(e.children)&&_c(e.children,!1);return t?Os(t):void 0}if(e.type!==Lt)return e}function Ft(e,t){return qe(e)?xt({name:e.name},t,{setup:e}):e}function dc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ul(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Io=new WeakMap;function _s(e,t,n,s,i=!1){if(Re(e)){e.forEach((G,fe)=>_s(G,t&&(Re(t)?t[fe]:t),n,s,i));return}if(ws(s)&&!i){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&_s(e,t,n,s.component.subTree);return}const l=s.shapeFlag&4?ii(s.component):s.el,f=i?null:l,{i:p,r:v}=e,b=t&&t.r,y=p.refs===ut?p.refs={}:p.refs,k=p.setupState,I=rt(k),D=k===ut?Au:G=>Ul(y,G)?!1:st(I,G),N=(G,fe)=>!(fe&&Ul(y,fe));if(b!=null&&b!==v){if(ql(t),mt(b))y[b]=null,D(b)&&(k[b]=null);else if(Vt(b)){const G=t;N(b,G.k)&&(b.value=null),G.k&&(y[G.k]=null)}}if(qe(v))Ns(v,p,12,[f,y]);else{const G=mt(v),fe=Vt(v);if(G||fe){const ee=()=>{if(e.f){const E=G?D(v)?k[v]:y[v]:N()||!e.k?v.value:y[e.k];if(i)Re(E)&&Oa(E,l);else if(Re(E))E.includes(l)||E.push(l);else if(G)y[v]=[l],D(v)&&(k[v]=y[v]);else{const j=[l];N(v,e.k)&&(v.value=j),e.k&&(y[e.k]=j)}}else G?(y[v]=f,D(v)&&(k[v]=f)):fe&&(N(v,e.k)&&(v.value=f),e.k&&(y[e.k]=f))};if(f){const E=()=>{ee(),Io.delete(e)};E.id=-1,Io.set(e,E),Wt(E,n)}else ql(e),ee()}}}function ql(e){const t=Io.get(e);t&&(t.flags|=8,Io.delete(e))}Qo().requestIdleCallback;Qo().cancelIdleCallback;const ws=e=>!!e.type.__asyncLoader,ni=e=>e.type.__isKeepAlive;function Ld(e,t){pc(e,"a",t)}function Vd(e,t){pc(e,"da",t)}function pc(e,t,n=Gt){const s=e.__wdc||(e.__wdc=()=>{let i=n;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(ri(t,s,n),n){let i=n.parent;for(;i&&i.parent;)ni(i.parent.vnode)&&Fd(s,t,n,i),i=i.parent}}function Fd(e,t,n,s){const i=ri(t,e,s,!0);dr(()=>{Oa(s[t],i)},n)}function ri(e,t,n=Gt,s=!1){if(n){const i=n[e]||(n[e]=[]),l=t.__weh||(t.__weh=(...f)=>{An();const p=Vs(n),v=cn(t,n,e,f);return p(),Tn(),v});return s?i.unshift(l):i.push(l),l}}const qn=e=>(t,n=Gt)=>{(!Ds||e==="sp")&&ri(e,(...s)=>t(...s),n)},Bd=qn("bm"),fn=qn("m"),Ud=qn("bu"),hc=qn("u"),vc=qn("bum"),dr=qn("um"),qd=qn("sp"),Hd=qn("rtg"),Wd=qn("rtc");function zd(e,t=Gt){ri("ec",e,t)}const Gd=Symbol.for("v-ndc");function lt(e,t,n,s){let i;const l=n,f=Re(e);if(f||mt(e)){const p=f&&or(e);let v=!1,b=!1;p&&(v=!ln(e),b=On(e),e=Zo(e)),i=new Array(e.length);for(let y=0,k=e.length;y<k;y++)i[y]=t(v?b?ir(un(e[y])):un(e[y]):e[y],y,void 0,l)}else if(typeof e=="number")if(!Number.isInteger(e)||e<0)i=[];else{i=new Array(e);for(let p=0;p<e;p++)i[p]=t(p+1,p,void 0,l)}else if(it(e))if(e[Symbol.iterator])i=Array.from(e,(p,v)=>t(p,v,void 0,l));else{const p=Object.keys(e);i=new Array(p.length);for(let v=0,b=p.length;v<b;v++){const y=p[v];i[v]=t(e[y],y,v,l)}}else i=[];return i}const pa=e=>e?Kc(e)?ii(e):pa(e.parent):null,ks=xt(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=>pa(e.parent),$root:e=>pa(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>yc(e),$forceUpdate:e=>e.f||(e.f=()=>{Fa(e.update)}),$nextTick:e=>e.n||(e.n=Zr.bind(e.proxy)),$watch:e=>Id.bind(e)}),Qi=(e,t)=>e!==ut&&!e.__isScriptSetup&&st(e,t),Yd={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:i,props:l,accessCache:f,type:p,appContext:v}=e;if(t[0]!=="$"){const I=f[t];if(I!==void 0)switch(I){case 1:return s[t];case 2:return i[t];case 4:return n[t];case 3:return l[t]}else{if(Qi(s,t))return f[t]=1,s[t];if(i!==ut&&st(i,t))return f[t]=2,i[t];if(st(l,t))return f[t]=3,l[t];if(n!==ut&&st(n,t))return f[t]=4,n[t];ha&&(f[t]=0)}}const b=ks[t];let y,k;if(b)return t==="$attrs"&&Nt(e.attrs,"get",""),b(e);if((y=p.__cssModules)&&(y=y[t]))return y;if(n!==ut&&st(n,t))return f[t]=4,n[t];if(k=v.config.globalProperties,st(k,t))return k[t]},set({_:e},t,n){const{data:s,setupState:i,ctx:l}=e;return Qi(i,t)?(i[t]=n,!0):s!==ut&&st(s,t)?(s[t]=n,!0):st(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:i,props:l,type:f}},p){let v;return!!(n[p]||e!==ut&&p[0]!=="$"&&st(e,p)||Qi(t,p)||st(l,p)||st(s,p)||st(ks,p)||st(i.config.globalProperties,p)||(v=f.__cssModules)&&v[p])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:st(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Hl(e){return Re(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let ha=!0;function Jd(e){const t=yc(e),n=e.proxy,s=e.ctx;ha=!1,t.beforeCreate&&Wl(t.beforeCreate,e,"bc");const{data:i,computed:l,methods:f,watch:p,provide:v,inject:b,created:y,beforeMount:k,mounted:I,beforeUpdate:D,updated:N,activated:G,deactivated:fe,beforeDestroy:ee,beforeUnmount:E,destroyed:j,unmounted:Y,render:ae,renderTracked:ie,renderTriggered:oe,errorCaptured:R,serverPrefetch:$,expose:le,inheritAttrs:Ee,components:J,directives:xe,filters:Fe}=t;if(b&&Xd(b,s,null),f)for(const Ge in f){const _e=f[Ge];qe(_e)&&(s[Ge]=_e.bind(n))}if(i){const Ge=i.call(n,n);it(Ge)&&(e.data=Na(Ge))}if(ha=!0,l)for(const Ge in l){const _e=l[Ge],je=qe(_e)?_e.bind(n,n):qe(_e.get)?_e.get.bind(n,n):En,et=!qe(_e)&&qe(_e.set)?_e.set.bind(n):En,ge=ot({get:je,set:et});Object.defineProperty(s,Ge,{enumerable:!0,configurable:!0,get:()=>ge.value,set:Q=>ge.value=Q})}if(p)for(const Ge in p)mc(p[Ge],s,n,Ge);if(v){const Ge=qe(v)?v.call(n):v;Reflect.ownKeys(Ge).forEach(_e=>{Od(_e,Ge[_e])})}y&&Wl(y,e,"c");function Be(Ge,_e){Re(_e)?_e.forEach(je=>Ge(je.bind(n))):_e&&Ge(_e.bind(n))}if(Be(Bd,k),Be(fn,I),Be(Ud,D),Be(hc,N),Be(Ld,G),Be(Vd,fe),Be(zd,R),Be(Wd,ie),Be(Hd,oe),Be(vc,E),Be(dr,Y),Be(qd,$),Re(le))if(le.length){const Ge=e.exposed||(e.exposed={});le.forEach(_e=>{Object.defineProperty(Ge,_e,{get:()=>n[_e],set:je=>n[_e]=je,enumerable:!0})})}else e.exposed||(e.exposed={});ae&&e.render===En&&(e.render=ae),Ee!=null&&(e.inheritAttrs=Ee),J&&(e.components=J),xe&&(e.directives=xe),$&&dc(e)}function Xd(e,t,n=En){Re(e)&&(e=va(e));for(const s in e){const i=e[s];let l;it(i)?"default"in i?l=Co(i.from||s,i.default,!0):l=Co(i.from||s):l=Co(i),Vt(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:f=>l.value=f}):t[s]=l}}function Wl(e,t,n){cn(Re(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function mc(e,t,n,s){let i=s.includes(".")?ic(n,s):()=>n[s];if(mt(e)){const l=t[e];qe(l)&&vt(i,l)}else if(qe(e))vt(i,e.bind(n));else if(it(e))if(Re(e))e.forEach(l=>mc(l,t,n,s));else{const l=qe(e.handler)?e.handler.bind(n):t[e.handler];qe(l)&&vt(i,l,e)}}function yc(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:i,optionsCache:l,config:{optionMergeStrategies:f}}=e.appContext,p=l.get(t);let v;return p?v=p:!i.length&&!n&&!s?v=t:(v={},i.length&&i.forEach(b=>Do(v,b,f,!0)),Do(v,t,f)),it(t)&&l.set(t,v),v}function Do(e,t,n,s=!1){const{mixins:i,extends:l}=t;l&&Do(e,l,n,!0),i&&i.forEach(f=>Do(e,f,n,!0));for(const f in t)if(!(s&&f==="expose")){const p=Qd[f]||n&&n[f];e[f]=p?p(e[f],t[f]):t[f]}return e}const Qd={data:zl,props:Gl,emits:Gl,methods:vs,computed:vs,beforeCreate:Ht,created:Ht,beforeMount:Ht,mounted:Ht,beforeUpdate:Ht,updated:Ht,beforeDestroy:Ht,beforeUnmount:Ht,destroyed:Ht,unmounted:Ht,activated:Ht,deactivated:Ht,errorCaptured:Ht,serverPrefetch:Ht,components:vs,directives:vs,watch:ep,provide:zl,inject:Zd};function zl(e,t){return t?e?function(){return xt(qe(e)?e.call(this,this):e,qe(t)?t.call(this,this):t)}:t:e}function Zd(e,t){return vs(va(e),va(t))}function va(e){if(Re(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ht(e,t){return e?[...new Set([].concat(e,t))]:t}function vs(e,t){return e?xt(Object.create(null),e,t):t}function Gl(e,t){return e?Re(e)&&Re(t)?[...new Set([...e,...t])]:xt(Object.create(null),Hl(e),Hl(t??{})):t}function ep(e,t){if(!e)return t;if(!t)return e;const n=xt(Object.create(null),e);for(const s in t)n[s]=Ht(e[s],t[s]);return n}function gc(){return{app:null,config:{isNativeTag:Au,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 tp=0;function np(e,t){return function(s,i=null){qe(s)||(s=xt({},s)),i!=null&&!it(i)&&(i=null);const l=gc(),f=new WeakSet,p=[];let v=!1;const b=l.app={_uid:tp++,_component:s,_props:i,_container:null,_context:l,_instance:null,version:Dp,get config(){return l.config},set config(y){},use(y,...k){return f.has(y)||(y&&qe(y.install)?(f.add(y),y.install(b,...k)):qe(y)&&(f.add(y),y(b,...k))),b},mixin(y){return l.mixins.includes(y)||l.mixins.push(y),b},component(y,k){return k?(l.components[y]=k,b):l.components[y]},directive(y,k){return k?(l.directives[y]=k,b):l.directives[y]},mount(y,k,I){if(!v){const D=b._ceVNode||Me(s,i);return D.appContext=l,I===!0?I="svg":I===!1&&(I=void 0),e(D,y,I),v=!0,b._container=y,y.__vue_app__=b,ii(D.component)}},onUnmount(y){p.push(y)},unmount(){v&&(cn(p,b._instance,16),e(null,b._container),delete b._container.__vue_app__)},provide(y,k){return l.provides[y]=k,b},runWithContext(y){const k=zr;zr=b;try{return y()}finally{zr=k}}};return b}}let zr=null;const rp=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${hn(t)}Modifiers`]||e[`${cr(t)}Modifiers`];function sp(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||ut;let i=n;const l=t.startsWith("update:"),f=l&&rp(s,t.slice(7));f&&(f.trim&&(i=n.map(y=>mt(y)?y.trim():y)),f.number&&(i=i.map(Xo)));let p,v=s[p=Hi(t)]||s[p=Hi(hn(t))];!v&&l&&(v=s[p=Hi(cr(t))]),v&&cn(v,e,6,i);const b=s[p+"Once"];if(b){if(!e.emitted)e.emitted={};else if(e.emitted[p])return;e.emitted[p]=!0,cn(b,e,6,i)}}const op=new WeakMap;function bc(e,t,n=!1){const s=n?op:t.emitsCache,i=s.get(e);if(i!==void 0)return i;const l=e.emits;let f={},p=!1;if(!qe(e)){const v=b=>{const y=bc(b,t,!0);y&&(p=!0,xt(f,y))};!n&&t.mixins.length&&t.mixins.forEach(v),e.extends&&v(e.extends),e.mixins&&e.mixins.forEach(v)}return!l&&!p?(it(e)&&s.set(e,null),null):(Re(l)?l.forEach(v=>f[v]=null):xt(f,l),it(e)&&s.set(e,f),f)}function si(e,t){return!e||!Go(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),st(e,t[0].toLowerCase()+t.slice(1))||st(e,cr(t))||st(e,t))}function Yl(e){const{type:t,vnode:n,proxy:s,withProxy:i,propsOptions:[l],slots:f,attrs:p,emit:v,render:b,renderCache:y,props:k,data:I,setupState:D,ctx:N,inheritAttrs:G}=e,fe=Po(e);let ee,E;try{if(n.shapeFlag&4){const Y=i||s,ae=Y;ee=xn(b.call(ae,Y,y,k,D,I,N)),E=p}else{const Y=t;ee=xn(Y.length>1?Y(k,{attrs:p,slots:f,emit:v}):Y(k,null)),E=t.props?p:ip(p)}}catch(Y){Or.length=0,ei(Y,e,1),ee=Me(Lt)}let j=ee;if(E&&G!==!1){const Y=Object.keys(E),{shapeFlag:ae}=j;Y.length&&ae&7&&(l&&Y.some(Yo)&&(E=ap(E,l)),j=lr(j,E,!1,!0))}if(n.dirs&&(j=lr(j,null,!1,!0),j.dirs=j.dirs?j.dirs.concat(n.dirs):n.dirs),n.transition){const Y=ti(j.type)&&Mo(j)||j;ar(Y,n.transition)}return ee=j,Po(fe),ee}function _c(e,t=!0){let n;for(let s=0;s<e.length;s++){const i=e[s];if(Ms(i)){if(i.type!==Lt||i.children==="v-if"){if(n)return;n=i}}else return}return n}const ip=e=>{let t;for(const n in e)(n==="class"||n==="style"||Go(n))&&((t||(t={}))[n]=e[n]);return t},ap=(e,t)=>{const n={};for(const s in e)(!Yo(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function lp(e,t,n){const{props:s,children:i,component:l}=e,{props:f,children:p,patchFlag:v}=t,b=l.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&v>=0){if(v&1024)return!0;if(v&16)return s?Jl(s,f,b):!!f;if(v&8){const y=t.dynamicProps;for(let k=0;k<y.length;k++){const I=y[k];if(wc(f,s,I)&&!si(b,I))return!0}}}else return(i||p)&&(!p||!p.$stable)?!0:s===f?!1:s?f?Jl(s,f,b):!0:!!f;return!1}function Jl(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let i=0;i<s.length;i++){const l=s[i];if(!st(e,l)||wc(t,e,l)&&!si(n,l))return!0}return!1}function wc(e,t,n){const s=e[n],i=t[n];return n==="style"&&it(s)&&it(i)?!Un(s,i):s!==i}function up({vnode:e,parent:t,suspense:n},s){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=s,e=i),i===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const kc={},xc=()=>Object.create(kc),Cc=e=>Object.getPrototypeOf(e)===kc;function cp(e,t,n,s=!1){const i={},l=xc();e.propsDefaults=Object.create(null),Sc(e,t,i,l);for(const f in e.propsOptions[0])f in i||(i[f]=void 0);n?e.props=s?i:yd(i):e.type.props?e.props=i:e.props=l,e.attrs=l}function fp(e,t,n,s){const{props:i,attrs:l,vnode:{patchFlag:f}}=e,p=rt(i),[v]=e.propsOptions;let b=!1;if((s||f>0)&&!(f&16)){if(f&8){const y=e.vnode.dynamicProps;for(let k=0;k<y.length;k++){let I=y[k];if(si(e.emitsOptions,I))continue;const D=t[I];if(v)if(st(l,I))D!==l[I]&&(l[I]=D,b=!0);else{const N=hn(I);i[N]=ma(v,p,N,D,e,!1)}else D!==l[I]&&(l[I]=D,b=!0)}}}else{Sc(e,t,i,l)&&(b=!0);let y;for(const k in p)(!t||!st(t,k)&&((y=cr(k))===k||!st(t,y)))&&(v?n&&(n[k]!==void 0||n[y]!==void 0)&&(i[k]=ma(v,p,k,void 0,e,!0)):delete i[k]);if(l!==p)for(const k in l)(!t||!st(t,k))&&(delete l[k],b=!0)}b&&Kn(e.attrs,"set","")}function Sc(e,t,n,s){const[i,l]=e.propsOptions;let f=!1,p;if(t)for(let v in t){if(ys(v))continue;const b=t[v];let y;i&&st(i,y=hn(v))?!l||!l.includes(y)?n[y]=b:(p||(p={}))[y]=b:si(e.emitsOptions,v)||(!(v in s)||b!==s[v])&&(s[v]=b,f=!0)}if(l){const v=rt(n),b=p||ut;for(let y=0;y<l.length;y++){const k=l[y];n[k]=ma(i,v,k,b[k],e,!st(b,k))}}return f}function ma(e,t,n,s,i,l){const f=e[n];if(f!=null){const p=st(f,"default");if(p&&s===void 0){const v=f.default;if(f.type!==Function&&!f.skipFactory&&qe(v)){const{propsDefaults:b}=i;if(n in b)s=b[n];else{const y=Vs(i);s=b[n]=v.call(null,t),y()}}else s=v;i.ce&&i.ce._setProp(n,s)}f[0]&&(l&&!p?s=!1:f[1]&&(s===""||s===cr(n))&&(s=!0))}return s}const dp=new WeakMap;function Ec(e,t,n=!1){const s=n?dp:t.propsCache,i=s.get(e);if(i)return i;const l=e.props,f={},p=[];let v=!1;if(!qe(e)){const y=k=>{v=!0;const[I,D]=Ec(k,t,!0);xt(f,I),D&&p.push(...D)};!n&&t.mixins.length&&t.mixins.forEach(y),e.extends&&y(e.extends),e.mixins&&e.mixins.forEach(y)}if(!l&&!v)return it(e)&&s.set(e,Ar),Ar;if(Re(l))for(let y=0;y<l.length;y++){const k=hn(l[y]);Xl(k)&&(f[k]=ut)}else if(l)for(const y in l){const k=hn(y);if(Xl(k)){const I=l[y],D=f[k]=Re(I)||qe(I)?{type:I}:xt({},I),N=D.type;let G=!1,fe=!0;if(Re(N))for(let ee=0;ee<N.length;++ee){const E=N[ee],j=qe(E)&&E.name;if(j==="Boolean"){G=!0;break}else j==="String"&&(fe=!1)}else G=qe(N)&&N.name==="Boolean";D[0]=G,D[1]=fe,(G||st(D,"default"))&&p.push(k)}}const b=[f,p];return it(e)&&s.set(e,b),b}function Xl(e){return e[0]!=="$"&&!ys(e)}const Ua=e=>e==="_"||e==="_ctx"||e==="$stable",qa=e=>Re(e)?e.map(xn):[xn(e)],pp=(e,t,n)=>{if(t._n)return t;const s=fr((...i)=>qa(t(...i)),n);return s._c=!1,s},$c=(e,t,n)=>{const s=e._ctx;for(const i in e){if(Ua(i))continue;const l=e[i];if(qe(l))t[i]=pp(i,l,s);else if(l!=null){const f=qa(l);t[i]=()=>f}}},Ac=(e,t)=>{const n=qa(t);e.slots.default=()=>n},Tc=(e,t,n)=>{for(const s in t)(n||!Ua(s))&&(e[s]=t[s])},hp=(e,t,n)=>{const s=e.slots=xc();if(e.vnode.shapeFlag&32){const i=t._;i?(Tc(s,t,n),n&&Iu(s,"_",i,!0)):$c(t,s)}else t&&Ac(e,t)},vp=(e,t,n)=>{const{vnode:s,slots:i}=e;let l=!0,f=ut;if(s.shapeFlag&32){const p=t._;p?n&&p===1?l=!1:Tc(i,t,n):(l=!t.$stable,$c(t,i)),f=t}else t&&(Ac(e,t),f={default:1});if(l)for(const p in i)!Ua(p)&&f[p]==null&&delete i[p]},Wt=_p;function mp(e){return yp(e)}function yp(e,t){const n=Qo();n.__VUE__=!0;const{insert:s,remove:i,patchProp:l,createElement:f,createText:p,createComment:v,setText:b,setElementText:y,parentNode:k,nextSibling:I,setScopeId:D=En,insertStaticContent:N}=e,G=(m,w,H,ue=null,se=null,Z=null,we=void 0,me=null,ke=!!w.dynamicChildren)=>{if(m===w)return;m&&!$r(m,w)&&(ue=Et(m),Q(m,se,Z,!0),m=null),w.patchFlag===-2&&(ke=!1,w.dynamicChildren=null),w.dynamicChildren&&m&&m.dynamicChildren&&m.dynamicChildren.hasOnce&&(w.dynamicChildren===Ar&&(w.dynamicChildren=[]),w.dynamicChildren.hasOnce=!0);const{type:q,ref:B,shapeFlag:z}=w;switch(q){case oi:fe(m,w,H,ue);break;case Lt:ee(m,w,H,ue);break;case So:m==null&&E(w,H,ue,we);break;case Ke:J(m,w,H,ue,se,Z,we,me,ke);break;default:z&1?ae(m,w,H,ue,se,Z,we,me,ke):z&6?xe(m,w,H,ue,se,Z,we,me,ke):(z&64||z&128)&&q.process(m,w,H,ue,se,Z,we,me,ke,Bt)}B!=null&&se?_s(B,m&&m.ref,Z,w||m,!w):B==null&&m&&m.ref!=null&&_s(m.ref,null,Z,m,!0)},fe=(m,w,H,ue)=>{if(m==null)s(w.el=p(w.children),H,ue);else{const se=w.el=m.el;w.children!==m.children&&b(se,w.children)}},ee=(m,w,H,ue)=>{m==null?s(w.el=v(w.children||""),H,ue):w.el=m.el},E=(m,w,H,ue)=>{[m.el,m.anchor]=N(m.children,w,H,ue,m.el,m.anchor)},j=({el:m,anchor:w},H,ue)=>{let se;for(;m&&m!==w;)se=I(m),s(m,H,ue),m=se;s(w,H,ue)},Y=({el:m,anchor:w})=>{let H;for(;m&&m!==w;)H=I(m),i(m),m=H;i(w)},ae=(m,w,H,ue,se,Z,we,me,ke)=>{if(w.type==="svg"?we="svg":w.type==="math"&&(we="mathml"),m==null)ie(w,H,ue,se,Z,we,me,ke);else{const q=m.el&&m.el._isVueCE?m.el:null;try{q&&q._beginPatch(),$(m,w,se,Z,we,me,ke)}finally{q&&q._endPatch()}}},ie=(m,w,H,ue,se,Z,we,me)=>{let ke,q;const{props:B,shapeFlag:z,transition:Te,dirs:Ne}=m;if(ke=m.el=f(m.type,Z,B&&B.is,B),z&8?y(ke,m.children):z&16&&R(m.children,ke,null,ue,se,Zi(m,Z),we,me),Ne&&wr(m,null,ue,"created"),oe(ke,m,m.scopeId,we,ue),B){for(const We in B)We!=="value"&&!ys(We)&&l(ke,We,null,B[We],Z,ue);"value"in B&&l(ke,"value",null,B.value,Z),(q=B.onVnodeBeforeMount)&&gn(q,ue,m)}Ne&&wr(m,null,ue,"beforeMount");const Ye=gp(se,Te);Ye&&Te.beforeEnter(ke),s(ke,w,H),((q=B&&B.onVnodeMounted)||Ye||Ne)&&Wt(()=>{try{q&&gn(q,ue,m),Ye&&Te.enter(ke),Ne&&wr(m,null,ue,"mounted")}finally{}},se)},oe=(m,w,H,ue,se)=>{if(H&&D(m,H),ue)for(let Z=0;Z<ue.length;Z++)D(m,ue[Z]);if(se){let Z=se.subTree;if(w===Z||Pc(Z.type)&&(Z.ssContent===w||Z.ssFallback===w)){const we=se.vnode;oe(m,we,we.scopeId,we.slotScopeIds,se.parent)}}},R=(m,w,H,ue,se,Z,we,me,ke=0)=>{for(let q=ke;q<m.length;q++){const B=m[q]=me?jn(m[q]):xn(m[q]);G(null,B,w,H,ue,se,Z,we,me)}},$=(m,w,H,ue,se,Z,we)=>{const me=w.el=m.el;let{patchFlag:ke,dynamicChildren:q,dirs:B}=w;ke|=m.patchFlag&16;const z=m.props||ut,Te=w.props||ut;let Ne;if(H&&kr(H,!1),(Ne=Te.onVnodeBeforeUpdate)&&gn(Ne,H,w,m),B&&wr(w,m,H,"beforeUpdate"),H&&kr(H,!0),q&&(!m.dynamicChildren||m.dynamicChildren.length!==q.length)&&(ke=0,we=!1,q=null),(z.innerHTML&&Te.innerHTML==null||z.textContent&&Te.textContent==null)&&y(me,""),q?le(m.dynamicChildren,q,me,H,ue,Zi(w,se),Z):we||_e(m,w,me,null,H,ue,Zi(w,se),Z,!1),ke>0){if(ke&16)Ee(me,z,Te,H,se);else if(ke&2&&z.class!==Te.class&&l(me,"class",null,Te.class,se),ke&4&&l(me,"style",z.style,Te.style,se),ke&8){const Ye=w.dynamicProps;for(let We=0;We<Ye.length;We++){const Je=Ye[We],dt=z[Je],gt=Te[Je];(gt!==dt||Je==="value")&&l(me,Je,dt,gt,se,H)}}ke&1&&m.children!==w.children&&y(me,w.children)}else!we&&q==null&&Ee(me,z,Te,H,se);((Ne=Te.onVnodeUpdated)||B)&&Wt(()=>{Ne&&gn(Ne,H,w,m),B&&wr(w,m,H,"updated")},ue)},le=(m,w,H,ue,se,Z,we)=>{for(let me=0;me<w.length;me++){const ke=m[me],q=w[me],B=ke.el||ya(ke),z=B&&(ke.type===Ke||!$r(ke,q)||ke.shapeFlag&198)?k(B):H;G(ke,q,z,null,ue,se,Z,we,!0)}},Ee=(m,w,H,ue,se)=>{if(w!==H){if(w!==ut)for(const Z in w)!ys(Z)&&!(Z in H)&&l(m,Z,w[Z],null,se,ue);for(const Z in H){if(ys(Z))continue;const we=H[Z],me=w[Z];we!==me&&Z!=="value"&&l(m,Z,me,we,se,ue)}"value"in H&&l(m,"value",w.value,H.value,se)}},J=(m,w,H,ue,se,Z,we,me,ke)=>{const q=w.el=m?m.el:p(""),B=w.anchor=m?m.anchor:p("");let{patchFlag:z,dynamicChildren:Te,slotScopeIds:Ne}=w;Ne&&(me=me?me.concat(Ne):Ne),m==null?(s(q,H,ue),s(B,H,ue),R(w.children||[],H,B,se,Z,we,me,ke)):z>0&&z&64&&Te&&m.dynamicChildren&&m.dynamicChildren.length===Te.length?(le(m.dynamicChildren,Te,H,se,Z,we,me),(w.key!=null||se&&w===se.subTree)&&Ha(m,w,!0)):_e(m,w,H,B,se,Z,we,me,ke)},xe=(m,w,H,ue,se,Z,we,me,ke)=>{w.slotScopeIds=me,m==null?w.shapeFlag&512?se.ctx.activate(w,H,ue,we,ke):Fe(w,H,ue,se,Z,we,ke):tt(m,w,ke)},Fe=(m,w,H,ue,se,Z,we)=>{const me=m.component=$p(m,ue,se);if(ni(m)&&(me.ctx.renderer=Bt),Ap(me,!1,we),me.asyncDep){if(se&&se.registerDep(me,Be,we,Z),!m.el){const ke=me.subTree=Me(Lt);ee(null,ke,w,H),m.placeholder=ke.el}}else Be(me,m,w,H,se,Z,we)},tt=(m,w,H)=>{const ue=w.component=m.component;if(lp(m,w,H))if(ue.asyncDep&&!ue.asyncResolved){w.el=m.el,w.placeholder=m.placeholder,Ge(ue,w,H);return}else ue.next=w,ue.update();else w.el=m.el,w.placeholder=m.placeholder,ue.vnode=w},Be=(m,w,H,ue,se,Z,we)=>{const me=()=>{if(m.isMounted){let{next:z,bu:Te,u:Ne,parent:Ye,vnode:We}=m;{const Ut=Oc(m);if(Ut){z&&(z.el=We.el,Ge(m,z,we)),Ut.asyncDep.then(()=>{Wt(()=>{m.isUnmounted||q()},se)});return}}let Je=z,dt;kr(m,!1),z?(z.el=We.el,Ge(m,z,we)):z=We,Te&&xo(Te),(dt=z.props&&z.props.onVnodeBeforeUpdate)&&gn(dt,Ye,z,We),kr(m,!0);const gt=Yl(m),Xt=m.subTree;m.subTree=gt,G(Xt,gt,k(Xt.el),Et(Xt),m,se,Z),z.el=gt.el,Je===null&&up(m,gt.el),Ne&&Wt(Ne,se),(dt=z.props&&z.props.onVnodeUpdated)&&Wt(()=>gn(dt,Ye,z,We),se)}else{let z;const{el:Te,props:Ne}=w,{bm:Ye,m:We,parent:Je,root:dt,type:gt}=m,Xt=ws(w);kr(m,!1),Ye&&xo(Ye),!Xt&&(z=Ne&&Ne.onVnodeBeforeMount)&&gn(z,Je,w),kr(m,!0);{dt.ce&&dt.ce._hasShadowRoot()&&dt.ce._injectChildStyle(gt,m.parent?m.parent.type:void 0);const Ut=m.subTree=Yl(m);G(null,Ut,H,ue,m,se,Z),w.el=Ut.el}if(We&&Wt(We,se),!Xt&&(z=Ne&&Ne.onVnodeMounted)){const Ut=w;Wt(()=>gn(z,Je,Ut),se)}(w.shapeFlag&256||Je&&ws(Je.vnode)&&Je.vnode.shapeFlag&256)&&m.a&&Wt(m.a,se),m.isMounted=!0,w=H=ue=null}};m.scope.on();const ke=m.effect=new Ru(me);m.scope.off();const q=m.update=ke.run.bind(ke),B=m.job=ke.runIfDirty.bind(ke);B.i=m,B.id=m.uid,ke.scheduler=()=>Fa(B),kr(m,!0),q()},Ge=(m,w,H)=>{w.component=m;const ue=m.vnode.props;m.vnode=w,m.next=null,fp(m,w.props,ue,H),vp(m,w.children,H),An(),tc(m),Tn()},_e=(m,w,H,ue,se,Z,we,me,ke=!1)=>{const q=m&&m.children,B=m?m.shapeFlag:0,z=w.children,{patchFlag:Te,shapeFlag:Ne}=w;if(Te>0){if(Te&128){et(q,z,H,ue,se,Z,we,me,ke);return}else if(Te&256){je(q,z,H,ue,se,Z,we,me,ke);return}}Ne&8?(B&16&&Ct(q,se,Z),z!==q&&y(H,z)):B&16?Ne&16?et(q,z,H,ue,se,Z,we,me,ke):Ct(q,se,Z,!0):(B&8&&y(H,""),Ne&16&&R(z,H,ue,se,Z,we,me,ke))},je=(m,w,H,ue,se,Z,we,me,ke)=>{m=m||Ar,w=w||Ar;const q=m.length,B=w.length,z=Math.min(q,B);let Te;for(Te=0;Te<z;Te++){const Ne=w[Te]=ke?jn(w[Te]):xn(w[Te]);G(m[Te],Ne,H,null,se,Z,we,me,ke)}q>B?Ct(m,se,Z,!0,!1,z):R(w,H,ue,se,Z,we,me,ke,z)},et=(m,w,H,ue,se,Z,we,me,ke)=>{let q=0;const B=w.length;let z=m.length-1,Te=B-1;for(;q<=z&&q<=Te;){const Ne=m[q],Ye=w[q]=ke?jn(w[q]):xn(w[q]);if($r(Ne,Ye))G(Ne,Ye,H,null,se,Z,we,me,ke);else break;q++}for(;q<=z&&q<=Te;){const Ne=m[z],Ye=w[Te]=ke?jn(w[Te]):xn(w[Te]);if($r(Ne,Ye))G(Ne,Ye,H,null,se,Z,we,me,ke);else break;z--,Te--}if(q>z){if(q<=Te){const Ne=Te+1,Ye=Ne<B?w[Ne].el:ue;for(;q<=Te;)G(null,w[q]=ke?jn(w[q]):xn(w[q]),H,Ye,se,Z,we,me,ke),q++}}else if(q>Te)for(;q<=z;)Q(m[q],se,Z,!0),q++;else{const Ne=q,Ye=q,We=new Map;for(q=Ye;q<=Te;q++){const Pt=w[q]=ke?jn(w[q]):xn(w[q]);Pt.key!=null&&We.set(Pt.key,q)}let Je,dt=0;const gt=Te-Ye+1;let Xt=!1,Ut=0;const Qt=new Array(gt);for(q=0;q<gt;q++)Qt[q]=0;for(q=Ne;q<=z;q++){const Pt=m[q];if(dt>=gt){Q(Pt,se,Z,!0);continue}let St;if(Pt.key!=null)St=We.get(Pt.key);else for(Je=Ye;Je<=Te;Je++)if(Qt[Je-Ye]===0&&$r(Pt,w[Je])){St=Je;break}St===void 0?Q(Pt,se,Z,!0):(Qt[St-Ye]=q+1,St>=Ut?Ut=St:Xt=!0,G(Pt,w[St],H,null,se,Z,we,me,ke),dt++)}const pr=Xt?bp(Qt):Ar;for(Je=pr.length-1,q=gt-1;q>=0;q--){const Pt=Ye+q,St=w[Pt],Ie=w[Pt+1],Hn=Pt+1<B?Ie.el||ya(Ie):ue;Qt[q]===0?G(null,St,H,Hn,se,Z,we,me,ke):Xt&&(Je<0||q!==pr[Je]?ge(St,H,Hn,2):Je--)}}},ge=(m,w,H,ue,se=null)=>{const{el:Z,type:we,transition:me,children:ke,shapeFlag:q}=m;if(q&6){ge(m.component.subTree,w,H,ue);return}if(q&128){m.suspense.move(w,H,ue);return}if(q&64){we.move(m,w,H,Bt);return}if(we===Ke){s(Z,w,H);for(let z=0;z<ke.length;z++)ge(ke[z],w,H,ue);s(m.anchor,w,H);return}if(we===So){j(m,w,H);return}if(ue!==2&&q&1&&me)if(ue===0)me.persisted&&!Z[on]?s(Z,w,H):(me.beforeEnter(Z),s(Z,w,H),Wt(()=>me.enter(Z),se));else{const{leave:z,delayLeave:Te,afterLeave:Ne}=me,Ye=()=>{m.ctx.isUnmounted?i(Z):s(Z,w,H)},We=()=>{const Je=Z._isLeaving||!!Z[on];Z._isLeaving&&Z[on](!0),me.persisted&&!Je?Ye():z(Z,()=>{Ye(),Ne&&Ne()})};Te?Te(Z,Ye,We):We()}else s(Z,w,H)},Q=(m,w,H,ue=!1,se=!1)=>{const{type:Z,props:we,ref:me,children:ke,dynamicChildren:q,shapeFlag:B,patchFlag:z,dirs:Te,cacheIndex:Ne,memo:Ye}=m;if((z===-2||q&&q.hasOnce)&&(se=!1),me!=null&&(An(),_s(me,null,H,m,!0),Tn()),Ne!=null&&(!m.ctx||m.ctx===w)&&(w.renderCache[Ne]=void 0),B&256){w.ctx.deactivate(m);return}const We=B&1&&Te,Je=!ws(m);let dt;if(Je&&(dt=we&&we.onVnodeBeforeUnmount)&&gn(dt,w,m),B&6)At(m.component,H,ue);else{if(B&128){m.suspense.unmount(H,ue);return}We&&wr(m,null,w,"beforeUnmount"),B&64?m.type.remove(m,w,H,Bt,ue):q&&!q.hasOnce&&(Z!==Ke||z>0&&z&64)?Ct(q,w,H,!1,!0):(Z===Ke&&z&384||!se&&B&16)&&Ct(ke,w,H),ue&&X(m)}const gt=Ye!=null&&Ne==null;(Je&&(dt=we&&we.onVnodeUnmounted)||We||gt)&&Wt(()=>{dt&&gn(dt,w,m),We&&wr(m,null,w,"unmounted"),gt&&(m.el=null)},H)},X=m=>{const{type:w,el:H,anchor:ue,transition:se}=m,Z=w===Ke;if(Z&&!se){Ce(H,ue);return}if(w===So){Y(m),se&&!se.persisted&&se.afterLeave&&se.afterLeave();return}const we=Z?Os(m):m,me=()=>{Z?k(H)&&Ce(H,ue):i(H),se&&!se.persisted&&se.afterLeave&&se.afterLeave()};if(we&&we.shapeFlag&1&&se&&!se.persisted){const{leave:ke,delayLeave:q}=se,B=we.el,z=()=>ke(B,me);q?q(B,me,z):z()}else me()},Ce=(m,w)=>{let H;for(;m!==w;)H=I(m),i(m),m=H;i(w)},At=(m,w,H)=>{const{bum:ue,scope:se,job:Z,subTree:we,um:me,m:ke,a:q}=m;Ql(ke),Ql(q),ue&&xo(ue),se.stop(),Z?(Z.flags|=8,Q(we,m,w,H)):m.vnode.el&&we&&(we.transition=m.vnode.transition,Q(we,m,w,H)),me&&Wt(me,w),Wt(()=>{m.isUnmounted=!0},w)},Ct=(m,w,H,ue=!1,se=!1,Z=0)=>{for(let we=Z;we<m.length;we++)Q(m[we],w,H,ue,se)},Et=m=>{if(m.shapeFlag&6)return Et(m.component.subTree);if(m.shapeFlag&128)return m.suspense.next();const w=I(m.anchor||m.el),H=w&&w[ac];return H?I(H):w},Jt=(m,w,H)=>{const ue=m&&w._vnode?void 0:m&&m.component?m.component.uid:Ep();Td(()=>{m==null?w._vnode&&Q(w._vnode,null,null,!0):G(w._vnode||null,m,w,null,null,null,H),w._vnode=m},ue)},Bt={p:G,um:Q,m:ge,r:X,mt:Fe,mc:R,pc:_e,pbc:le,n:Et,o:e};return{render:Jt,hydrate:void 0,createApp:np(Jt)}}function Zi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function kr({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function gp(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Ha(e,t,n=!1){const s=e.children,i=t.children;if(Re(s)&&Re(i))for(let l=0;l<s.length;l++){const f=s[l];let p=i[l];p.shapeFlag&1&&!p.dynamicChildren&&((p.patchFlag<=0||p.patchFlag===32)&&(p=i[l]=jn(i[l]),p.el=f.el),!n&&p.patchFlag!==-2&&Ha(f,p)),p.type===oi&&(p.patchFlag===-1&&(p=i[l]=jn(p)),p.el=f.el),p.type===Lt&&!p.el&&(p.el=f.el)}}function bp(e){const t=e.slice(),n=[0];let s,i,l,f,p;const v=e.length;for(s=0;s<v;s++){const b=e[s];if(b!==0){if(i=n[n.length-1],e[i]<b){t[s]=i,n.push(s);continue}for(l=0,f=n.length-1;l<f;)p=l+f>>1,e[n[p]]<b?l=p+1:f=p;b<e[n[l]]&&(l>0&&(t[s]=n[l-1]),n[l]=s)}}for(l=n.length,f=n[l-1];l-- >0;)n[l]=f,f=t[f];return n}function Oc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Oc(t)}function Ql(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function ya(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?ya(t.subTree):null}const Pc=e=>e.__isSuspense;function _p(e,t){t&&t.pendingBranch?Re(e)?t.effects.push(...e):t.effects.push(e):Ad(e)}const Ke=Symbol.for("v-fgt"),oi=Symbol.for("v-txt"),Lt=Symbol.for("v-cmt"),So=Symbol.for("v-stc"),Or=[];let rn=null;function K(e=!1){Or.push(rn=e?null:[])}function Mc(){Or.pop(),rn=Or[Or.length-1]||null}let Ps=1;function jo(e,t=!1){Ps+=e,e<0&&rn&&t&&(rn.hasOnce=!0)}function Ic(e){return e.dynamicChildren=Ps>0?rn||Ar:null,Mc(),Ps>0&&rn&&rn.push(e),e}function U(e,t,n,s,i,l){return Ic(u(e,t,n,s,i,l,!0))}function It(e,t,n,s,i){return Ic(Me(e,t,n,s,i,!0))}function Ms(e){return e?e.__v_isVNode===!0:!1}function $r(e,t){return e.type===t.type&&e.key===t.key}const Dc=({key:e})=>e??null,Eo=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?mt(e)||Vt(e)||qe(e)?{i:an,r:e,k:t,f:!!n}:e:null);function u(e,t=null,n=null,s=0,i=null,l=e===Ke?0:1,f=!1,p=!1){const v={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Dc(t),ref:t&&Eo(t),scopeId:sc,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:an};return p?(Ko(v,n),l&128&&e.normalize(v)):n&&(v.shapeFlag|=mt(n)?8:16),Ps>0&&!f&&rn&&(v.patchFlag>0||l&6)&&v.patchFlag!==32&&rn.push(v),v}const Me=wp;function wp(e,t=null,n=null,s=0,i=null,l=!1){if((!e||e===Gd)&&(e=Lt),Ms(e)){const p=lr(e,t,!0);return n&&Ko(p,n),Ps>0&&!l&&rn&&(p.shapeFlag&6?rn[rn.indexOf(e)]=p:rn.push(p)),p.patchFlag=-2,p}if(Mp(e)&&(e=e.__vccOpts),t){t=kp(t);let{class:p,style:v}=t;p&&!mt(p)&&(t.class=Qe(p)),it(v)&&(Va(v)&&!Re(v)&&(v=xt({},v)),t.style=sr(v))}const f=mt(e)?1:Pc(e)?128:ti(e)?64:it(e)?4:qe(e)?2:0;return u(e,t,n,s,i,f,l,!0)}function kp(e){return e?Va(e)||Cc(e)?xt({},e):e:null}function lr(e,t,n=!1,s=!1){const{props:i,ref:l,patchFlag:f,children:p,transition:v}=e,b=t?Cp(i||{},t):i,y={__v_isVNode:!0,__v_skip:!0,type:e.type,props:b,key:b&&Dc(b),ref:t&&t.ref?n&&l?Re(l)?l.concat(Eo(t)):[l,Eo(t)]:Eo(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:p,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ke?f===-1?16:f|16:f,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:v,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&lr(e.ssContent),ssFallback:e.ssFallback&&lr(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return v&&s&&ar(y,v.clone(y)),y}function tn(e=" ",t=0){return Me(oi,null,e,t)}function xp(e,t){const n=Me(So,null,e);return n.staticCount=t,n}function $e(e="",t=!1){return t?(K(),It(Lt,null,e)):Me(Lt,null,e)}function xn(e){return e==null||typeof e=="boolean"?Me(Lt):Re(e)?Me(Ke,null,e.slice()):Ms(e)?jn(e):Me(oi,null,String(e))}function jn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:lr(e)}function Ko(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Re(t))n=16;else if(typeof t=="object")if(s&65){const i=t.default;i&&(i._c&&(i._d=!1),Ko(e,i()),i._c&&(i._d=!0));return}else{n=32;const i=t._;!i&&!Cc(t)?t._ctx=an:i===3&&an&&(an.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(qe(t)){if(s&65){Ko(e,{default:t});return}t={default:t,_ctx:an},n=32}else t=String(t),s&64?(n=16,t=[tn(t)]):n=8;e.children=t,e.shapeFlag|=n}function Cp(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const i in s)if(i==="class")t.class!==s.class&&(t.class=Qe([t.class,s.class]));else if(i==="style")t.style=sr([t.style,s.style]);else if(Go(i)){const l=t[i],f=s[i];f&&l!==f&&!(Re(l)&&l.includes(f))?t[i]=l?[].concat(l,f):f:f==null&&l==null&&!Yo(i)&&(t[i]=f)}else i!==""&&(t[i]=s[i])}return t}function gn(e,t,n,s=null){cn(e,t,7,[n,s])}const Sp=gc();let jc=0;function Ep(){return jc}function $p(e,t,n){const s=e.type,i=(t?t.appContext:e.appContext)||Sp,l={uid:jc++,vnode:e,type:s,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Zf(!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:Ec(s,i),emitsOptions:bc(s,i),emit:null,emitted:null,propsDefaults:ut,inheritAttrs:s.inheritAttrs,ctx:ut,data:ut,props:ut,attrs:ut,slots:ut,refs:ut,setupState:ut,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return l.ctx={_:l},l.root=t?t.root:l,l.emit=sp.bind(null,l),e.ce&&e.ce(l),l}let Gt=null;const Wa=()=>Gt||an;let Ro,Is;{const e=Qo(),t=(n,s)=>{let i;return(i=e[n])||(i=e[n]=[]),i.push(s),l=>{i.length>1?i.forEach(f=>f(l)):i[0](l)}};Ro=t("__VUE_INSTANCE_SETTERS__",n=>Gt=n),Is=t("__VUE_SSR_SETTERS__",n=>Ds=n)}const Vs=e=>{const t=Gt;return Ro(e),e.scope.on(),()=>{e.scope.off(),Ro(t)}},Zl=()=>{Gt&&Gt.scope.off(),Ro(null)};function Kc(e){return e.vnode.shapeFlag&4}let Ds=!1;function Ap(e,t=!1,n=!1){t&&Is(t);const{props:s,children:i}=e.vnode,l=Kc(e);cp(e,s,l,t),hp(e,i,n||t);const f=l?Tp(e,t):void 0;return t&&Is(!1),f}function Tp(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Yd);const{setup:s}=n;if(s){An();const i=e.setupContext=s.length>1?Pp(e):null,l=Vs(e),f=Ns(s,e,0,[e.props,i]),p=Tu(f);if(Tn(),l(),(p||e.sp)&&!ws(e)&&dc(e),p){if(f.then(Zl,Zl),t)return f.then(v=>{Is(!0);try{eu(e,v,t)}finally{Is(!1)}}).catch(v=>{ei(v,e,0)});e.asyncDep=f}else eu(e,f)}else Rc(e)}function eu(e,t,n){qe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:it(t)&&(e.setupState=Qu(t)),Rc(e)}function Rc(e,t,n){const s=e.type;e.render||(e.render=s.render||En);{const i=Vs(e);An();try{Jd(e)}finally{Tn(),i()}}}const Op={get(e,t){return Nt(e,"get",""),e[t]}};function Pp(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Op),slots:e.slots,emit:e.emit,expose:t}}function ii(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qu(gd(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in ks)return ks[n](e)},has(t,n){return n in t||n in ks}})):e.proxy}function Mp(e){return qe(e)&&"__vccOpts"in e}const ot=(e,t)=>xd(e,t,Ds);function Ip(e,t,n){try{jo(-1);const s=arguments.length;return s===2?it(t)&&!Re(t)?Ms(t)?Me(e,null,[t]):Me(e,t):Me(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ms(n)&&(n=[n]),Me(e,t,n))}finally{jo(1)}}const Dp="3.5.44";/**
|
||
* @vue/runtime-dom v3.5.44
|
||
* (c) 2018-present Yuxi (Evan) You and Vue contributors
|
||
* @license MIT
|
||
**/let ga;const tu=typeof window<"u"&&window.trustedTypes;if(tu)try{ga=tu.createPolicy("vue",{createHTML:e=>e})}catch{}const Nc=ga?e=>ga.createHTML(e):e=>e,jp="http://www.w3.org/2000/svg",Kp="http://www.w3.org/1998/Math/MathML",Dn=typeof document<"u"?document:null,nu=Dn&&Dn.createElement("template"),Rp={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const i=t==="svg"?Dn.createElementNS(jp,e):t==="mathml"?Dn.createElementNS(Kp,e):n?Dn.createElement(e,{is:n}):Dn.createElement(e);return e==="select"&&s&&s.multiple!=null&&i.setAttribute("multiple",s.multiple),i},createText:e=>Dn.createTextNode(e),createComment:e=>Dn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Dn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,i,l){const f=n?n.previousSibling:t.lastChild;if(i&&(i===l||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),!(i===l||!(i=i.nextSibling)););else{nu.innerHTML=Nc(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const p=nu.content;if(s==="svg"||s==="mathml"){const v=p.firstChild;for(;v.firstChild;)p.appendChild(v.firstChild);p.removeChild(v)}t.insertBefore(p,n)}return[f?f.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Qn="transition",ps="animation",Jr=Symbol("_vtc"),Lc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Vc=xt({},uc,Lc),Np=e=>(e.displayName="Transition",e.props=Vc,e),es=Np((e,{slots:t})=>Ip(Nd,Fc(e),t)),xr=(e,t=[])=>{Re(e)?e.forEach(n=>n(...t)):e&&e(...t)},ru=e=>e?Re(e)?e.some(t=>t.length>1):e.length>1:!1;function Fc(e){const t={};for(const J in e)J in Lc||(t[J]=e[J]);if(e.css===!1)return t;const{name:n="v",type:s,duration:i,enterFromClass:l=`${n}-enter-from`,enterActiveClass:f=`${n}-enter-active`,enterToClass:p=`${n}-enter-to`,appearFromClass:v=l,appearActiveClass:b=f,appearToClass:y=p,leaveFromClass:k=`${n}-leave-from`,leaveActiveClass:I=`${n}-leave-active`,leaveToClass:D=`${n}-leave-to`}=e,N=Lp(i),G=N&&N[0],fe=N&&N[1],{onBeforeEnter:ee,onEnter:E,onEnterCancelled:j,onLeave:Y,onLeaveCancelled:ae,onBeforeAppear:ie=ee,onAppear:oe=E,onAppearCancelled:R=j}=t,$=(J,xe,Fe,tt)=>{J._enterCancelled=tt,er(J,xe?y:p),er(J,xe?b:f),Fe&&Fe()},le=(J,xe)=>{J._isLeaving=!1,er(J,k),er(J,D),er(J,I),xe&&xe()},Ee=J=>(xe,Fe)=>{const tt=J?oe:E,Be=()=>$(xe,J,Fe);xr(tt,[xe,Be]),su(()=>{er(xe,J?v:l),bn(xe,J?y:p),ru(tt)||ou(xe,s,G,Be)})};return xt(t,{onBeforeEnter(J){xr(ee,[J]),bn(J,l),bn(J,f)},onBeforeAppear(J){xr(ie,[J]),bn(J,v),bn(J,b)},onEnter:Ee(!1),onAppear:Ee(!0),onLeave(J,xe){J._isLeaving=!0;const Fe=()=>le(J,xe);bn(J,k),J._enterCancelled?(bn(J,I),ba(J)):(ba(J),bn(J,I)),su(()=>{J._isLeaving&&(er(J,k),bn(J,D),ru(Y)||ou(J,s,fe,Fe))}),xr(Y,[J,Fe])},onEnterCancelled(J){$(J,!1,void 0,!0),xr(j,[J])},onAppearCancelled(J){$(J,!0,void 0,!0),xr(R,[J])},onLeaveCancelled(J){le(J),xr(ae,[J])}})}function Lp(e){if(e==null)return null;if(it(e))return[ea(e.enter),ea(e.leave)];{const t=ea(e);return[t,t]}}function ea(e){return qf(e)}function bn(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Jr]||(e[Jr]=new Set)).add(t)}function er(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Jr];n&&(n.delete(t),n.size||(e[Jr]=void 0))}function su(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let Vp=0;function ou(e,t,n,s){const i=e._endId=++Vp,l=()=>{i===e._endId&&s()};if(n!=null)return setTimeout(l,n);const{type:f,timeout:p,propCount:v}=Bc(e,t);if(!f)return s();const b=f+"end";let y=0;const k=()=>{e.removeEventListener(b,I),l()},I=D=>{D.target===e&&++y>=v&&k()};setTimeout(()=>{y<v&&k()},p+1),e.addEventListener(b,I)}function Bc(e,t){const n=window.getComputedStyle(e),s=N=>(n[N]||"").split(", "),i=s(`${Qn}Delay`),l=s(`${Qn}Duration`),f=iu(i,l),p=s(`${ps}Delay`),v=s(`${ps}Duration`),b=iu(p,v);let y=null,k=0,I=0;t===Qn?f>0&&(y=Qn,k=f,I=l.length):t===ps?b>0&&(y=ps,k=b,I=v.length):(k=Math.max(f,b),y=k>0?f>b?Qn:ps:null,I=y?y===Qn?l.length:v.length:0);const D=y===Qn&&/\b(?:transform|all)(?:,|$)/.test(s(`${Qn}Property`).toString());return{type:y,timeout:k,propCount:I,hasTransform:D}}function iu(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>au(n)+au(e[s])))}function au(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ba(e){return(e?e.ownerDocument:document).body.offsetHeight}function Fp(e,t,n){const s=e[Jr];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const lu=Symbol("_vod"),Uc=Symbol("_vsh"),Bp=Symbol(""),Up=/(?:^|;)\s*display\s*:/;function qp(e,t,n){const s=e.style,i=mt(n);let l=!1;if(n&&!i){if(t)if(mt(t))for(const f of t.split(";")){const p=f.slice(0,f.indexOf(":")).trim();n[p]==null&&ms(s,p,"")}else for(const f in t)n[f]==null&&ms(s,f,"");for(const f in n){f==="display"&&(l=!0);const p=n[f];p!=null?Wp(e,f,!mt(t)&&t?t[f]:void 0,p)||ms(s,f,p):ms(s,f,"")}}else if(i){if(t!==n){const f=s[Bp];f&&(n+=";"+f),s.cssText=n,l=Up.test(n)}}else t&&e.removeAttribute("style");lu in e&&((!i||t!==n)&&(e[lu]=l?s.display:""),e[Uc]&&(s.display="none"))}const _o=/\s*!important$/;function ms(e,t,n){if(Re(n))n.forEach(s=>ms(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))_o.test(n)?e.setProperty(t,n.replace(_o,""),"important"):e.setProperty(t,n);else{const s=Hp(e,t);_o.test(n)?e.setProperty(cr(s),n.replace(_o,""),"important"):e[s]=n}}const uu=["Webkit","Moz","ms"],ta={};function Hp(e,t){const n=ta[t];if(n)return n;let s=hn(t);if(s!=="filter"&&s in e)return ta[t]=s;s=Mu(s);for(let i=0;i<uu.length;i++){const l=uu[i]+s;if(l in e)return ta[t]=l}return t}function Wp(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&mt(s)&&n===s}const cu="http://www.w3.org/1999/xlink";function fu(e,t,n,s,i,l=Jf(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(cu,t.slice(6,t.length)):e.setAttributeNS(cu,t,n):n==null||l&&!Du(n)?e.removeAttribute(t):e.setAttribute(t,l?"":$n(n)?String(n):n)}function du(e,t,n,s,i){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Nc(n):n);return}const l=e.tagName;if(t==="value"&&l!=="PROGRESS"&&!l.includes("-")){const p=l==="OPTION"?e.getAttribute("value")||"":e.value,v=n==null?e.type==="checkbox"?"on":"":String(n);(p!==v||!("_value"in e))&&(e.value=v),n==null&&e.removeAttribute(t),e._value=n;return}let f=!1;if(n===""||n==null){const p=typeof e[t];p==="boolean"?n=Du(n):n==null&&p==="string"?(n="",f=!0):p==="number"&&(n=0,f=!0)}try{e[t]=n}catch{}f&&e.removeAttribute(i||t)}function nr(e,t,n,s){e.addEventListener(t,n,s)}function zp(e,t,n,s){e.removeEventListener(t,n,s)}const pu=Symbol("_vei");function Gp(e,t,n,s,i=null){const l=e[pu]||(e[pu]={}),f=l[t];if(s&&f)f.value=s;else{const[p,v]=Xp(t);if(s){const b=l[t]=eh(s,i);nr(e,p,b,v)}else f&&(zp(e,p,f,v),l[t]=void 0)}}const Yp=/(Once|Passive|Capture)$/,Jp=/^on:?(?:Once|Passive|Capture)$/;function Xp(e){let t,n;for(;(n=e.match(Yp))&&!Jp.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):cr(e.slice(2)),t]}let na=0;const Qp=Promise.resolve(),Zp=()=>na||(Qp.then(()=>na=0),na=Date.now());function eh(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const i=n.value;if(Re(i)){const l=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{l.call(s),s._stopped=!0};const f=i.slice(),p=[s];for(let v=0;v<f.length&&!s._stopped;v++){const b=f[v];b&&cn(b,t,5,p)}}else cn(i,t,5,[s])};return n.value=e,n.attached=Zp(),n}const hu=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,th=(e,t,n,s,i,l)=>{const f=i==="svg";t==="class"?Fp(e,s,f):t==="style"?qp(e,n,s):Go(t)?Yo(t)||Gp(e,t,n,s,l):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):nh(e,t,s,f))?(du(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&fu(e,t,s,f,l,t!=="value")):e._isVueCE&&(rh(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!mt(s)))?du(e,hn(t),s,l,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),fu(e,t,s,f))};function nh(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&hu(t)&&qe(n));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 hu(t)&&mt(n)?!1:t in e}function rh(e,t){const n=e._def.props;if(!n)return!1;const s=hn(t);return Array.isArray(n)?n.some(i=>hn(i)===s):Object.keys(n).some(i=>hn(i)===s)}const qc=new WeakMap,Hc=new WeakMap,No=Symbol("_moveCb"),vu=Symbol("_enterCb"),_a=new WeakMap,sh=e=>(delete e.props.mode,e),oh=sh({name:"TransitionGroup",props:xt({},Vc,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Wa(),s=lc();let i,l,f,p;const v=()=>(p===void 0&&(p=i.length>0&&ph(i[0].el,n.vnode.el,mu(e))),p);return hc(()=>{if(_a.delete(n),!v()){i=[],f=void 0;return}const b=mu(e);i.forEach(ah);const y=f&&dh(f,n.vnode.el);f=void 0,i.forEach(I=>lh(I,y));const k=i.filter(uh);ba(n.vnode.el),k.forEach(I=>{const D=I.el,N=D.style;bn(D,b),N.transform=N.webkitTransform=N.transitionDuration="";const G=D[No]=fe=>{fe&&fe.target!==D||(!fe||fe.propertyName.endsWith("transform"))&&(D.removeEventListener("transitionend",G),D[No]=null,er(D,b))};D.addEventListener("transitionend",G)}),i=[]}),()=>{const b=rt(e),y=Fc(b);let k=b.tag||Ke;if(i=[],p=void 0,l)for(let I=0;I<l.length;I++){const D=l[I];D.el&&D.el instanceof Element&&!D.el[Uc]&&(i.push(D),ar(D,Ts(D,y,s,n)),qc.set(D,ai(D.el)))}l=t.default?Ba(t.default()):[];for(let I=0;I<l.length;I++){const D=l[I];D.key!=null&&ar(D,Ts(D,y,s,n))}return i.length&&(f=ch(n),_a.set(n,v)),Me(k,null,l)}}}),ih=oh;function ah(e){const t=e.el;t[No]&&t[No](),t[vu]&&t[vu]()}function mu(e){return e.moveClass||`${e.name||"v"}-move`}function lh(e,t){Hc.set(e,ai(e.el,t))}function uh(e){const t=qc.get(e),n=Hc.get(e),s=t.left-n.left,i=t.top-n.top;if(s||i){const l=e.el,f=l.style,p=l.getBoundingClientRect();let v=1,b=1;return l.offsetWidth&&(v=p.width/l.offsetWidth),l.offsetHeight&&(b=p.height/l.offsetHeight),(!Number.isFinite(v)||v===0)&&(v=1),(!Number.isFinite(b)||b===0)&&(b=1),Math.abs(v-1)<.01&&(v=1),Math.abs(b-1)<.01&&(b=1),f.transform=f.webkitTransform=`translate(${s/v}px,${i/b}px)`,f.transitionDuration="0s",e}}function ai(e,t){const n=e.getBoundingClientRect();return{left:n.left-(t?t.left:0),top:n.top-(t?t.top:0)}}function ch(e){let t;for(let n=e.parent;n;n=n.parent){const s=_a.get(n);if(s){const i=fh(n.vnode.el,e.vnode.el);i&&(t||(t=[])).push(xt(ai(i),{item:i,willMove:s}))}}return t}function fh(e,t){const n=e.nodeType===1?e:e.parentNode;for(;t&&t.parentNode!==n;)t=t.parentNode;if(t&&t.nodeType===1)return t}function dh(e,t){const n=e.find(s=>s.willMove()&&s.item.contains(t));return n&&ai(n.item,n)}function ph(e,t,n){const s=e.cloneNode(),i=e[Jr];i&&i.forEach(p=>{p.split(/\s+/).forEach(v=>v&&s.classList.remove(v))}),n.split(/\s+/).forEach(p=>p&&s.classList.add(p)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:f}=Bc(s);return l.removeChild(s),f}const Xr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Re(t)?n=>xo(t,n):t};function hh(e){e.target.composing=!0}function yu(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Sn=Symbol("_assign"),wo=Symbol("_initialValue");function ra(e,t,n){return t&&(e=e.trim()),n&&(e=Xo(e)),e}const De={created(e,{modifiers:{lazy:t,trim:n,number:s}},i){e.parentNode&&(e.type==="text"?e[wo]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[wo]=e.defaultValue.replace(/\r\n?/g,`
|
||
`))),e[Sn]=Xr(i);const l=s||i.props&&i.props.type==="number";nr(e,t?"change":"input",f=>{f.target.composing||e[Sn](ra(e.value,n,l))}),(n||l)&&nr(e,"change",()=>{e.value=ra(e.value,n,l)}),t||(nr(e,"compositionstart",hh),nr(e,"compositionend",yu),nr(e,"change",yu))},mounted(e,{value:t,modifiers:{trim:n,number:s}}){const i=t??"",l=e[wo];delete e[wo],l!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==l?e[Sn](ra(e.value,n,s)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:i,number:l}},f){if(e[Sn]=Xr(f),e.composing)return;const p=(l||e.type==="number")&&!/^0\d/.test(e.value)?Xo(e.value):e.value,v=t??"";if(p===v)return;const b=e.getRootNode();(b instanceof Document||b instanceof ShadowRoot)&&b.activeElement===e&&e.type!=="range"&&(s&&t===n||i&&e.value.trim()===v)||(e.value=v)}},vh={deep:!0,created(e,t,n){e[Sn]=Xr(n),nr(e,"change",()=>{const s=e._modelValue,i=js(e),l=e.checked,f=e[Sn];if(Re(s)){const p=Ma(s,i),v=p!==-1;if(l&&!v)f(s.concat(i));else if(!l&&v){const b=[...s];b.splice(p,1),f(b)}}else if(Bn(s)){const p=new Set(s);l?p.add(i):p.delete(i),f(p)}else f(Wc(e,l))})},mounted:gu,beforeUpdate(e,t,n){e[Sn]=Xr(n),gu(e,t,n)}};function gu(e,{value:t,oldValue:n},s){e._modelValue=t;let i;if(Re(t))i=Ma(t,s.props.value)>-1;else if(Bn(t))i=t.has(s.props.value);else{if(t===n)return;i=Un(t,Wc(e,!0))}e.checked!==i&&(e.checked=i)}const Ln={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,nr(e,"change",()=>{const i=Array.prototype.filter.call(e.options,v=>v.selected).map(v=>n?Xo(js(v)):js(v)),l=e.multiple,f=l?Bn(e._modelValue)?new Set(i):i:i[0],p=e._pendingValue=[l,l?Re(f)?i.slice():i:f];try{e[Sn](f)}finally{Zr(()=>{e._pendingValue===p&&(e._pendingValue=void 0)})}}),e[Sn]=Xr(s)},mounted(e,{value:t}){bu(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Sn]=Xr(n)},updated(e,{value:t}){const n=e._pendingValue;e._pendingValue=void 0,(!n||n[0]!==e.multiple||!mh(t,n[1],n[0]))&&bu(e,t)}};function mh(e,t,n){if(!n||Re(e))return Un(e,t);if(Bn(e)){if(e.size!==t.length)return!1;for(const s of t)if(!e.has(s))return!1;return!0}return!1}function bu(e,t){const n=e.multiple,s=Re(t);if(!(n&&!s&&!Bn(t))){for(let i=0,l=e.options.length;i<l;i++){const f=e.options[i],p=js(f);if(n)if(s){const v=typeof p;v==="string"||v==="number"?f.selected=t.some(b=>String(b)===String(p)):f.selected=Ma(t,p)>-1}else f.selected=t.has(p);else if(Un(js(f),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function js(e){return"_value"in e?e._value:e.value}function Wc(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const yh=["ctrl","shift","alt","meta"],gh={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)=>yh.some(n=>e[`${n}Key`]&&!t.includes(n))},Mr=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=(i,...l)=>{for(let f=0;f<t.length;f++){const p=gh[t[f]];if(p&&p(i,t))return}return e(i,...l)})},bh={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Dt=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=i=>{if(!("key"in i))return;const l=cr(i.key);if(t.some(f=>f===l||bh[f]===l))return e(i)})},_h=xt({patchProp:th},Rp);let _u;function wh(){return _u||(_u=mp(_h))}const kh=(...e)=>{const t=wh().createApp(...e),{mount:n}=t;return t.mount=s=>{const i=Ch(s);if(!i)return;const l=t._component;!qe(l)&&!l.render&&!l.template&&(l.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const f=n(i,!1,xh(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),f},t};function xh(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ch(e){return mt(e)?document.querySelector(e):e}function $t(e){return'<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round">'+e+"</svg>"}const Sh={calendar:$t('<rect x="4" y="5.5" width="16" height="14" rx="2"/><path d="M8.5 3.5v3.5M15.5 3.5v3.5M4 10.5h16"/>'),clock:$t('<circle cx="12" cy="12" r="8.25"/><path d="M12 7.75V12l2.75 1.75"/>'),"check-circle":$t('<circle cx="12" cy="12" r="8.25"/><path d="M8.5 12.4l2.4 2.4 4.6-5.2"/>'),edit:$t('<path d="M4.5 19.5v-3.2L16 4.8a1.9 1.9 0 0 1 2.7 2.7L7.2 19l-2.7.5z"/>'),tag:$t('<path d="M4.5 5.5a1 1 0 0 1 1-1h5.6l8.4 8.4-6.6 6.6-8.4-8.4V5.5z"/><circle cx="8.8" cy="8.8" r="1.1"/>'),star:$t('<path d="M12 4l2.5 5.1 5.6.8-4 3.9.9 5.6-5-2.7-5 2.7.9-5.6-4-3.9 5.6-.8L12 4z"/>'),close:$t('<path d="M6.5 6.5l11 11M17.5 6.5l-11 11"/>'),flag:$t('<path d="M6.5 21V4"/><path d="M6.5 4.5h10.8l-2.6 3.7 2.6 3.7H6.5"/>'),chart:$t('<path d="M4.5 19.5h15"/><path d="M7.5 19.5V12M12 19.5V6.5M16.5 19.5V9.5"/>'),export:$t('<path d="M12 4.5V14M8.25 10.25L12 14l3.75-3.75"/><path d="M5 19.5h14"/>'),"chevron-left":$t('<path d="M14.5 6l-6 6 6 6"/>'),"chevron-right":$t('<path d="M9.5 6l6 6-6 6"/>'),"chevron-down":$t('<path d="M6 9.5l6 6 6-6"/>'),plus:$t('<path d="M12 5.5v13M5.5 12h13"/>'),search:$t('<circle cx="11" cy="11" r="6.5"/><path d="M15.8 15.8L20 20"/>'),settings:$t('<circle cx="12" cy="12" r="3"/><path d="M12 4.5v2.2M12 17.3v2.2M4.5 12h2.2M17.3 12h2.2M6.8 6.8l1.6 1.6M15.6 15.6l1.6 1.6M17.2 6.8l-1.6 1.6M8.4 15.6l-1.6 1.6"/>'),memo:$t('<path d="M6.5 3.5h7.5L18.5 8v11a1 1 0 0 1-1 1h-11a1 1 0 0 1-1-1v-15a1 1 0 0 1 1-1z"/><path d="M14 3.5V8h4.5M9.5 12h5M9.5 15.5h5"/>'),lock:$t('<rect x="5.5" y="10.5" width="13" height="9.5" rx="1.5"/><path d="M8.5 10.5V8a3.5 3.5 0 0 1 7 0v2.5"/>'),wallet:$t('<rect x="3.5" y="6" width="17" height="12.5" rx="2"/><path d="M3.5 10h17"/><circle cx="16.4" cy="14.2" r="1.1"/>')},Eh=["innerHTML"],at=Ft({__name:"Icon",props:{name:{},size:{default:16}},setup(e){const t=e,n=ot(()=>Sh[t.name]||"");return(s,i)=>(K(),U("span",{class:"icon",style:sr({width:e.size+"px",height:e.size+"px"}),innerHTML:n.value},null,12,Eh))}}),$h=["aria-label"],Ah={class:"dialog-title"},Th={class:"dialog-msg"},Oh={class:"dialog-btns"},Ph=Ft({__name:"ConfirmDialog",props:{open:{type:Boolean},title:{},message:{},confirmText:{default:"确认"},cancelText:{default:"取消"},danger:{type:Boolean,default:!1}},emits:["cancel","confirm"],setup(e,{emit:t}){const n=e,s=t;function i(l){n.open&&l.key==="Escape"&&s("cancel")}return vt(()=>n.open,l=>{l?window.addEventListener("keydown",i):window.removeEventListener("keydown",i)}),dr(()=>window.removeEventListener("keydown",i)),(l,f)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:f[2]||(f[2]=Mr(p=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",Ah,re(e.title),1),u("div",Th,re(e.message),1),u("div",Oh,[u("button",{class:"btn btn-sm",onClick:f[0]||(f[0]=p=>s("cancel"))},re(e.cancelText),1),u("button",{class:Qe(["btn btn-sm",e.danger?"btn-danger-solid":"btn-primary"]),onClick:f[1]||(f[1]=p=>s("confirm"))},re(e.confirmText),3)])],8,$h)])):$e("",!0)]),_:1})]))}}),Yt=(e,t)=>{const n=e.__vccOpts||e;for(const[s,i]of t)n[s]=i;return n},ur=Yt(Ph,[["__scopeId","data-v-f27041d4"]]);var wu=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Mh(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var zc={exports:{}};(function(e,t){((n,s)=>{e.exports=s()})(wu,function(){var n=function(r,o){return(n=Object.setPrototypeOf||({__proto__:[]}instanceof Array?function(a,c){a.__proto__=c}:function(a,c){for(var d in c)Object.prototype.hasOwnProperty.call(c,d)&&(a[d]=c[d])}))(r,o)},s=function(){return(s=Object.assign||function(r){for(var o,a=1,c=arguments.length;a<c;a++)for(var d in o=arguments[a])Object.prototype.hasOwnProperty.call(o,d)&&(r[d]=o[d]);return r}).apply(this,arguments)};function i(r,o,a){for(var c,d=0,h=o.length;d<h;d++)!c&&d in o||((c=c||Array.prototype.slice.call(o,0,d))[d]=o[d]);return r.concat(c||Array.prototype.slice.call(o))}var l=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:wu,f=Object.keys,p=Array.isArray;function v(r,o){return typeof o=="object"&&f(o).forEach(function(a){r[a]=o[a]}),r}typeof Promise>"u"||l.Promise||(l.Promise=Promise);var b=Object.getPrototypeOf,y={}.hasOwnProperty;function k(r,o){return y.call(r,o)}function I(r,o){typeof o=="function"&&(o=o(b(r))),(typeof Reflect>"u"?f:Reflect.ownKeys)(o).forEach(function(a){N(r,a,o[a])})}var D=Object.defineProperty;function N(r,o,a,c){D(r,o,v(a&&k(a,"get")&&typeof a.get=="function"?{get:a.get,set:a.set,configurable:!0}:{value:a,configurable:!0,writable:!0},c))}function G(r){return{from:function(o){return r.prototype=Object.create(o.prototype),N(r.prototype,"constructor",r),{extend:I.bind(null,r.prototype)}}}}var fe=Object.getOwnPropertyDescriptor,ee=[].slice;function E(r,o,a){return ee.call(r,o,a)}function j(r,o){return o(r)}function Y(r){if(!r)throw new Error("Assertion Failed")}function ae(r){l.setImmediate?setImmediate(r):setTimeout(r,0)}function ie(r,o){if(typeof o=="string"&&k(r,o))return r[o];if(!o)return r;if(typeof o!="string"){for(var a=[],c=0,d=o.length;c<d;++c){var h=ie(r,o[c]);a.push(h)}return a}var g,_=o.indexOf(".");return _===-1||(g=r[o.substr(0,_)])==null?void 0:ie(g,o.substr(_+1))}function oe(r,o,a){if(r&&o!==void 0&&!("isFrozen"in Object&&Object.isFrozen(r)))if(typeof o!="string"&&"length"in o){Y(typeof a!="string"&&"length"in a);for(var c=0,d=o.length;c<d;++c)oe(r,o[c],a[c])}else{var h=o.indexOf(".");if(h!==-1){var g=o.substr(0,h),h=o.substr(h+1);if(h==="")a===void 0?p(r)&&!isNaN(parseInt(g))?r.splice(g,1):delete r[g]:r[g]=a;else{var _=r[g];if(!_||!k(r,g)){if(a===void 0)return;_=r[g]={}}oe(_,h,a)}}else a===void 0?p(r)&&!isNaN(parseInt(o))?r.splice(o,1):delete r[o]:r[o]=a}}function R(r){var o,a={};for(o in r)k(r,o)&&(a[o]=r[o]);return a}var $=[].concat;function le(r){return $.apply([],r)}var Q="BigUint64Array,BigInt64Array,Array,Boolean,String,Date,RegExp,Blob,File,FileList,FileSystemFileHandle,FileSystemDirectoryHandle,ArrayBuffer,DataView,Uint8ClampedArray,ImageBitmap,ImageData,Map,Set,CryptoKey".split(",").concat(le([8,16,32,64].map(function(r){return["Int","Uint","Float"].map(function(o){return o+r+"Array"})}))).filter(function(r){return l[r]}),Ee=new Set(Q.map(function(r){return l[r]})),J=null;function xe(r){return J=new WeakMap,r=function o(a){if(!a||typeof a!="object")return a;var c=J.get(a);if(c)return c;if(p(a)){c=[],J.set(a,c);for(var d=0,h=a.length;d<h;++d)c.push(o(a[d]))}else if(Ee.has(a.constructor))c=a;else{var g,_=b(a);for(g in c=_===Object.prototype?{}:Object.create(_),J.set(a,c),a)k(a,g)&&(c[g]=o(a[g]))}return c}(r),J=null,r}var Fe={}.toString;function tt(r){return Fe.call(r).slice(8,-1)}var Be=typeof Symbol<"u"?Symbol.iterator:"@@iterator",Ge=typeof Be=="symbol"?function(r){var o;return r!=null&&(o=r[Be])&&o.apply(r)}:function(){return null};function _e(r,o){o=r.indexOf(o),0<=o&&r.splice(o,1)}var je={};function et(r){var o,a,c,d;if(arguments.length===1){if(p(r))return r.slice();if(this===je&&typeof r=="string")return[r];if(d=Ge(r))for(a=[];!(c=d.next()).done;)a.push(c.value);else{if(r==null)return[r];if(typeof(o=r.length)!="number")return[r];for(a=new Array(o);o--;)a[o]=r[o]}}else for(o=arguments.length,a=new Array(o);o--;)a[o]=arguments[o];return a}var ge=typeof Symbol<"u"?function(r){return r[Symbol.toStringTag]==="AsyncFunction"}:function(){return!1},Q=["Unknown","Constraint","Data","TransactionInactive","ReadOnly","Version","NotFound","InvalidState","InvalidAccess","Abort","Timeout","QuotaExceeded","Syntax","DataClone"],We=["Modify","Bulk","OpenFailed","VersionChange","Schema","Upgrade","InvalidTable","MissingAPI","NoSuchDatabase","InvalidArgument","SubTransaction","Unsupported","Internal","DatabaseClosed","PrematureCommit","ForeignAwait"].concat(Q),X={VersionChanged:"Database version changed by other database connection",DatabaseClosed:"Database has been closed",Abort:"Transaction aborted",TransactionInactive:"Transaction has already completed or failed",MissingAPI:"IndexedDB API missing. Please visit https://tinyurl.com/y2uuvskb"};function Ce(r,o){this.name=r,this.message=o}function At(r,o){return r+". Errors: "+Object.keys(o).map(function(a){return o[a].toString()}).filter(function(a,c,d){return d.indexOf(a)===c}).join(`
|
||
`)}function Ct(r,o,a,c){this.failures=o,this.failedKeys=c,this.successCount=a,this.message=At(r,o)}function Et(r,o){this.name="BulkError",this.failures=Object.keys(o).map(function(a){return o[a]}),this.failuresByPos=o,this.message=At(r,this.failures)}G(Ce).from(Error).extend({toString:function(){return this.name+": "+this.message}}),G(Ct).from(Ce),G(Et).from(Ce);var Jt=We.reduce(function(r,o){return r[o]=o+"Error",r},{}),Bt=Ce,de=We.reduce(function(r,o){var a=o+"Error";function c(d,h){this.name=a,d?typeof d=="string"?(this.message="".concat(d).concat(h?`
|
||
`+h:""),this.inner=h||null):typeof d=="object"&&(this.message="".concat(d.name," ").concat(d.message),this.inner=d):(this.message=X[o]||a,this.inner=null)}return G(c).from(Bt),r[o]=c,r},{}),m=(de.Syntax=SyntaxError,de.Type=TypeError,de.Range=RangeError,Q.reduce(function(r,o){return r[o+"Error"]=de[o],r},{}));Q=We.reduce(function(r,o){return["Syntax","Type","Range"].indexOf(o)===-1&&(r[o+"Error"]=de[o]),r},{});function w(){}function H(r){return r}function ue(r,o){return r==null||r===H?o:function(a){return o(r(a))}}function se(r,o){return function(){r.apply(this,arguments),o.apply(this,arguments)}}function Z(r,o){return r===w?o:function(){var a=r.apply(this,arguments),c=(a!==void 0&&(arguments[0]=a),this.onsuccess),d=this.onerror,h=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return c&&(this.onsuccess=this.onsuccess?se(c,this.onsuccess):c),d&&(this.onerror=this.onerror?se(d,this.onerror):d),h!==void 0?h:a}}function we(r,o){return r===w?o:function(){r.apply(this,arguments);var a=this.onsuccess,c=this.onerror;this.onsuccess=this.onerror=null,o.apply(this,arguments),a&&(this.onsuccess=this.onsuccess?se(a,this.onsuccess):a),c&&(this.onerror=this.onerror?se(c,this.onerror):c)}}function me(r,o){return r===w?o:function(){var a=r.apply(this,arguments),c=(v(arguments[0],a),this.onsuccess),d=this.onerror,h=(this.onsuccess=null,this.onerror=null,o.apply(this,arguments));return c&&(this.onsuccess=this.onsuccess?se(c,this.onsuccess):c),d&&(this.onerror=this.onerror?se(d,this.onerror):d),a===void 0?h===void 0?void 0:h:v(a,h)}}function ke(r,o){return r===w?o:function(){return o.apply(this,arguments)!==!1&&r.apply(this,arguments)}}function q(r,o){return r===w?o:function(){var a=r.apply(this,arguments);if(a&&typeof a.then=="function"){for(var c=this,d=arguments.length,h=new Array(d);d--;)h[d]=arguments[d];return a.then(function(){return o.apply(c,h)})}return o.apply(this,arguments)}}Q.ModifyError=Ct,Q.DexieError=Ce,Q.BulkError=Et;var B=typeof location<"u"&&/^(http|https):\/\/(localhost|127\.0\.0\.1)/.test(location.href);function z(r){B=r}var Te={},Ne=100,Ye=typeof Promise>"u"?[]:(We=Promise.resolve(),typeof crypto<"u"&&crypto.subtle?[Ye=crypto.subtle.digest("SHA-512",new Uint8Array([0])),b(Ye),We]:[We,b(We),We]),We=Ye[0],Br=Ye[1],Br=Br&&Br.then,Je=We&&We.constructor,dt=!!Ye[2],gt=function(r,o){Hn.push([r,o]),Ut&&(queueMicrotask(mf),Ut=!1)},Xt=!0,Ut=!0,Qt=[],pr=[],Pt=H,St={id:"global",global:!0,ref:0,unhandleds:[],onunhandled:w,pgp:!1,env:{},finalize:w},Ie=St,Hn=[],hr=0,qs=[];function Se(r){if(typeof this!="object")throw new TypeError("Promises must be constructed via new");this._listeners=[],this._lib=!1;var o=this._PSD=Ie;if(typeof r!="function"){if(r!==Te)throw new TypeError("Not a function");this._state=arguments[1],this._value=arguments[2],this._state===!1&&vi(this,this._value)}else this._state=null,this._value=null,++o.ref,function a(c,d){try{d(function(h){if(c._state===null){if(h===c)throw new TypeError("A promise cannot be resolved with itself.");var g=c._lib&&Kr();h&&typeof h.then=="function"?a(c,function(_,C){h instanceof Se?h._then(_,C):h.then(_,C)}):(c._state=!0,c._value=h,nl(c)),g&&Rr()}},vi.bind(null,c))}catch(h){vi(c,h)}}(this,r)}var hi={get:function(){var r=Ie,o=Gs;function a(c,d){var h=this,g=!r.global&&(r!==Ie||o!==Gs),_=g&&!zn(),C=new Se(function(V,A){mi(h,new tl(sl(c,r,g,_),sl(d,r,g,_),V,A,r))});return this._consoleTask&&(C._consoleTask=this._consoleTask),C}return a.prototype=Te,a},set:function(r){N(this,"then",r&&r.prototype===Te?hi:{get:function(){return r},set:hi.set})}};function tl(r,o,a,c,d){this.onFulfilled=typeof r=="function"?r:null,this.onRejected=typeof o=="function"?o:null,this.resolve=a,this.reject=c,this.psd=d}function vi(r,o){var a,c;pr.push(o),r._state===null&&(a=r._lib&&Kr(),o=Pt(o),r._state=!1,r._value=o,c=r,Qt.some(function(d){return d._value===c._value})||Qt.push(c),nl(r),a)&&Rr()}function nl(r){var o=r._listeners;r._listeners=[];for(var a=0,c=o.length;a<c;++a)mi(r,o[a]);var d=r._PSD;--d.ref||d.finalize(),hr===0&&(++hr,gt(function(){--hr==0&&yi()},[]))}function mi(r,o){if(r._state===null)r._listeners.push(o);else{var a=r._state?o.onFulfilled:o.onRejected;if(a===null)return(r._state?o.resolve:o.reject)(r._value);++o.psd.ref,++hr,gt(vf,[a,r,o])}}function vf(r,o,a){try{var c,d=o._value;!o._state&&pr.length&&(pr=[]),c=B&&o._consoleTask?o._consoleTask.run(function(){return r(d)}):r(d),o._state||pr.indexOf(d)!==-1||(h=>{for(var g=Qt.length;g;)if(Qt[--g]._value===h._value)return Qt.splice(g,1)})(o),a.resolve(c)}catch(h){a.reject(h)}finally{--hr==0&&yi(),--a.psd.ref||a.psd.finalize()}}function mf(){vr(St,function(){Kr()&&Rr()})}function Kr(){var r=Xt;return Ut=Xt=!1,r}function Rr(){var r,o,a;do for(;0<Hn.length;)for(r=Hn,Hn=[],a=r.length,o=0;o<a;++o){var c=r[o];c[0].apply(null,c[1])}while(0<Hn.length);Ut=Xt=!0}function yi(){for(var r=Qt,o=(Qt=[],r.forEach(function(c){c._PSD.onunhandled.call(null,c._value,c)}),qs.slice(0)),a=o.length;a;)o[--a]()}function Hs(r){return new Se(Te,!1,r)}function pt(r,o){var a=Ie;return function(){var c=Kr(),d=Ie;try{return Gn(a,!0),r.apply(this,arguments)}catch(h){o&&o(h)}finally{Gn(d,!1),c&&Rr()}}}I(Se.prototype,{then:hi,_then:function(r,o){mi(this,new tl(null,null,r,o,Ie))},catch:function(r){var o,a;return arguments.length===1?this.then(null,r):(o=r,a=arguments[1],typeof o=="function"?this.then(null,function(c){return(c instanceof o?a:Hs)(c)}):this.then(null,function(c){return(c&&c.name===o?a:Hs)(c)}))},finally:function(r){return this.then(function(o){return Se.resolve(r()).then(function(){return o})},function(o){return Se.resolve(r()).then(function(){return Hs(o)})})},timeout:function(r,o){var a=this;return r<1/0?new Se(function(c,d){var h=setTimeout(function(){return d(new de.Timeout(o))},r);a.then(c,d).finally(clearTimeout.bind(null,h))}):this}}),typeof Symbol<"u"&&Symbol.toStringTag&&N(Se.prototype,Symbol.toStringTag,"Dexie.Promise"),St.env=rl(),I(Se,{all:function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.length===0&&o([]);var c=r.length;r.forEach(function(d,h){return Se.resolve(d).then(function(g){r[h]=g,--c||o(r)},a)})})},resolve:function(r){return r instanceof Se?r:r&&typeof r.then=="function"?new Se(function(o,a){r.then(o,a)}):new Se(Te,!0,r)},reject:Hs,race:function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.map(function(c){return Se.resolve(c).then(o,a)})})},PSD:{get:function(){return Ie},set:function(r){return Ie=r}},totalEchoes:{get:function(){return Gs}},newPSD:Wn,usePSD:vr,scheduler:{get:function(){return gt},set:function(r){gt=r}},rejectionMapper:{get:function(){return Pt},set:function(r){Pt=r}},follow:function(r,o){return new Se(function(a,c){return Wn(function(d,h){var g=Ie;g.unhandleds=[],g.onunhandled=h,g.finalize=se(function(){var _,C=this;_=function(){C.unhandleds.length===0?d():h(C.unhandleds[0])},qs.push(function V(){_(),qs.splice(qs.indexOf(V),1)}),++hr,gt(function(){--hr==0&&yi()},[])},g.finalize),r()},o,a,c)})}}),Je&&(Je.allSettled&&N(Se,"allSettled",function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o){r.length===0&&o([]);var a=r.length,c=new Array(a);r.forEach(function(d,h){return Se.resolve(d).then(function(g){return c[h]={status:"fulfilled",value:g}},function(g){return c[h]={status:"rejected",reason:g}}).then(function(){return--a||o(c)})})})}),Je.any&&typeof AggregateError<"u"&&N(Se,"any",function(){var r=et.apply(null,arguments).map(Ys);return new Se(function(o,a){r.length===0&&a(new AggregateError([]));var c=r.length,d=new Array(c);r.forEach(function(h,g){return Se.resolve(h).then(function(_){return o(_)},function(_){d[g]=_,--c||a(new AggregateError(d))})})})}),Je.withResolvers)&&(Se.withResolvers=Je.withResolvers);var Tt={awaits:0,echoes:0,id:0},yf=0,Ws=[],zs=0,Gs=0,gf=0;function Wn(r,g,a,c){var d=Ie,h=Object.create(d),g=(h.parent=d,h.ref=0,h.global=!1,h.id=++gf,St.env,h.env=dt?{Promise:Se,PromiseProp:{value:Se,configurable:!0,writable:!0},all:Se.all,race:Se.race,allSettled:Se.allSettled,any:Se.any,resolve:Se.resolve,reject:Se.reject}:{},g&&v(h,g),++d.ref,h.finalize=function(){--this.parent.ref||this.parent.finalize()},vr(h,r,a,c));return h.ref===0&&h.finalize(),g}function Nr(){return Tt.id||(Tt.id=++yf),++Tt.awaits,Tt.echoes+=Ne,Tt.id}function zn(){return!!Tt.awaits&&(--Tt.awaits==0&&(Tt.id=0),Tt.echoes=Tt.awaits*Ne,!0)}function Ys(r){return Tt.echoes&&r&&r.constructor===Je?(Nr(),r.then(function(o){return zn(),o},function(o){return zn(),wt(o)})):r}function bf(){var r=Ws[Ws.length-1];Ws.pop(),Gn(r,!1)}function Gn(r,o){var a,c,d=Ie;(o?!Tt.echoes||zs++&&r===Ie:!zs||--zs&&r===Ie)||queueMicrotask(o?(function(h){++Gs,Tt.echoes&&--Tt.echoes!=0||(Tt.echoes=Tt.awaits=Tt.id=0),Ws.push(Ie),Gn(h,!0)}).bind(null,r):bf),r!==Ie&&(Ie=r,d===St&&(St.env=rl()),dt)&&(a=St.env.Promise,c=r.env,d.global||r.global)&&(Object.defineProperty(l,"Promise",c.PromiseProp),a.all=c.all,a.race=c.race,a.resolve=c.resolve,a.reject=c.reject,c.allSettled&&(a.allSettled=c.allSettled),c.any)&&(a.any=c.any)}function rl(){var r=l.Promise;return dt?{Promise:r,PromiseProp:Object.getOwnPropertyDescriptor(l,"Promise"),all:r.all,race:r.race,allSettled:r.allSettled,any:r.any,resolve:r.resolve,reject:r.reject}:{}}function vr(r,o,a,c,d){var h=Ie;try{return Gn(r,!0),o(a,c,d)}finally{Gn(h,!1)}}function sl(r,o,a,c){return typeof r!="function"?r:function(){var d=Ie;a&&Nr(),Gn(o,!0);try{return r.apply(this,arguments)}finally{Gn(d,!1),c&&queueMicrotask(zn)}}}function gi(r){Promise===Je&&Tt.echoes===0?zs===0?r():enqueueNativeMicroTask(r):setTimeout(r,0)}(""+Br).indexOf("[native code]")===-1&&(Nr=zn=w);var wt=Se.reject,mr="",Pn="Invalid key provided. Keys must be of type string, number, Date or Array<string | number | Date>.",ol="String expected.",Js="__dbnames",bi="readonly",_i="readwrite";function yr(r,o){return r?o?function(){return r.apply(this,arguments)&&o.apply(this,arguments)}:r:o}var il={type:3,lower:-1/0,lowerOpen:!1,upper:[[]],upperOpen:!1};function Xs(r){return typeof r!="string"||/\./.test(r)?function(o){return o}:function(o){return o[r]===void 0&&r in o&&delete(o=xe(o))[r],o}}function al(){throw de.Type("Entity instances must never be new:ed. Instances are generated by the framework bypassing the constructor.")}function Ze(r,o){try{var a=ll(r),c=ll(o);if(a!==c)return a==="Array"?1:c==="Array"?-1:a==="binary"?1:c==="binary"?-1:a==="string"?1:c==="string"?-1:a==="Date"?1:c!=="Date"?NaN:-1;switch(a){case"number":case"Date":case"string":return o<r?1:r<o?-1:0;case"binary":for(var d=ul(r),h=ul(o),g=d.length,_=h.length,C=g<_?g:_,V=0;V<C;++V)if(d[V]!==h[V])return d[V]<h[V]?-1:1;return g===_?0:g<_?-1:1;case"Array":for(var A=r,x=o,S=A.length,M=x.length,O=S<M?S:M,T=0;T<O;++T){var P=Ze(A[T],x[T]);if(P!==0)return P}return S===M?0:S<M?-1:1}}catch{}return NaN}function ll(r){var o=typeof r;return o=="object"&&(ArrayBuffer.isView(r)||(o=tt(r))==="ArrayBuffer")?"binary":o}function ul(r){return r instanceof Uint8Array?r:ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r)}function Qs(r,o,a){var c=r.schema.yProps;return c?(o&&0<a.numFailures&&(o=o.filter(function(d,h){return!a.failures[h]})),Promise.all(c.map(function(d){return d=d.updatesTable,o?r.db.table(d).where("k").anyOf(o).delete():r.db.table(d).clear()})).then(function(){return a})):a}cl.prototype.execute=function(r){var o=this["@@propmod"];if(o.add!==void 0){var a=o.add;if(p(a))return i(i([],p(r)?r:[],!0),a).sort();if(typeof a=="number")return(Number(r)||0)+a;if(typeof a=="bigint")try{return BigInt(r)+a}catch{return BigInt(0)+a}throw new TypeError("Invalid term ".concat(a))}if(o.remove!==void 0){var c=o.remove;if(p(c))return p(r)?r.filter(function(d){return!c.includes(d)}).sort():[];if(typeof c=="number")return Number(r)-c;if(typeof c=="bigint")try{return BigInt(r)-c}catch{return BigInt(0)-c}throw new TypeError("Invalid subtrahend ".concat(c))}return a=(a=o.replacePrefix)==null?void 0:a[0],a&&typeof r=="string"&&r.startsWith(a)?o.replacePrefix[1]+r.substring(a.length):r};var ns=cl;function cl(r){this["@@propmod"]=r}function fl(r,o){for(var a=f(o),c=a.length,d=!1,h=0;h<c;++h){var g=a[h],_=o[g],C=ie(r,g);_ instanceof ns?(oe(r,g,_.execute(C)),d=!0):C!==_&&(oe(r,g,_),d=!0)}return d}ct.prototype._trans=function(r,o,a){var c=this._tx||Ie.trans,d=this.name,h=B&&typeof console<"u"&&console.createTask&&console.createTask("Dexie: ".concat(r==="readonly"?"read":"write"," ").concat(this.name));function g(V,A,x){if(x.schema[d])return o(x.idbtrans,x);throw new de.NotFound("Table "+d+" not part of transaction")}var _=Kr();try{var C=c&&c.db._novip===this.db._novip?c===Ie.trans?c._promise(r,g,a):Wn(function(){return c._promise(r,g,a)},{trans:c,transless:Ie.transless||Ie}):function V(A,x,S,M){if(A.idbdb&&(A._state.openComplete||Ie.letThrough||A._vip)){var O=A._createTransaction(x,S,A._dbSchema);try{O.create(),A._state.PR1398_maxLoop=3}catch(T){return T.name===Jt.InvalidState&&A.isOpen()&&0<--A._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),A.close({disableAutoOpen:!1}),A.open().then(function(){return V(A,x,S,M)})):wt(T)}return O._promise(x,function(T,P){return Wn(function(){return Ie.trans=O,M(T,P,O)})}).then(function(T){if(x==="readwrite")try{O.idbtrans.commit()}catch{}return x==="readonly"?T:O._completion.then(function(){return T})})}if(A._state.openComplete)return wt(new de.DatabaseClosed(A._state.dbOpenError));if(!A._state.isBeingOpened){if(!A._state.autoOpen)return wt(new de.DatabaseClosed);A.open().catch(w)}return A._state.dbReadyPromise.then(function(){return V(A,x,S,M)})}(this.db,r,[this.name],g);return h&&(C._consoleTask=h,C=C.catch(function(V){return console.trace(V),wt(V)})),C}finally{_&&Rr()}},ct.prototype.get=function(r,o){var a=this;return r&&r.constructor===Object?this.where(r).first(o):r==null?wt(new de.Type("Invalid argument to Table.get()")):this._trans("readonly",function(c){return a.core.get({trans:c,key:r}).then(function(d){return a.hook.reading.fire(d)})}).then(o)},ct.prototype.where=function(r){if(typeof r=="string")return new this.db.WhereClause(this,r);if(p(r))return new this.db.WhereClause(this,"[".concat(r.join("+"),"]"));var o=f(r);if(o.length===1)return this.where(o[0]).equals(r[o[0]]);var a=this.schema.indexes.concat(this.schema.primKey).filter(function(_){if(_.compound&&o.every(function(V){return 0<=_.keyPath.indexOf(V)})){for(var C=0;C<o.length;++C)if(o.indexOf(_.keyPath[C])===-1)return!1;return!0}return!1}).sort(function(_,C){return _.keyPath.length-C.keyPath.length})[0];if(a&&this.db._maxKey!==mr)return g=a.keyPath.slice(0,o.length),this.where(g).equals(g.map(function(_){return r[_]}));!a&&B&&console.warn("The query ".concat(JSON.stringify(r)," on ").concat(this.name," would benefit from a ")+"compound index [".concat(o.join("+"),"]"));var c=this.schema.idxByName;function d(_,C){return Ze(_,C)===0}var g=o.reduce(function(A,C){var V=A[0],A=A[1],x=c[C],S=r[C];return[V||x,V||!x?yr(A,x&&x.multi?function(M){return M=ie(M,C),p(M)&&M.some(function(O){return d(S,O)})}:function(M){return d(S,ie(M,C))}):A]},[null,null]),h=g[0],g=g[1];return h?this.where(h.name).equals(r[h.keyPath]).filter(g):a?this.filter(g):this.where(o).equals("")},ct.prototype.filter=function(r){return this.toCollection().and(r)},ct.prototype.count=function(r){return this.toCollection().count(r)},ct.prototype.offset=function(r){return this.toCollection().offset(r)},ct.prototype.limit=function(r){return this.toCollection().limit(r)},ct.prototype.each=function(r){return this.toCollection().each(r)},ct.prototype.toArray=function(r){return this.toCollection().toArray(r)},ct.prototype.toCollection=function(){return new this.db.Collection(new this.db.WhereClause(this))},ct.prototype.orderBy=function(r){return new this.db.Collection(new this.db.WhereClause(this,p(r)?"[".concat(r.join("+"),"]"):r))},ct.prototype.reverse=function(){return this.toCollection().reverse()},ct.prototype.mapToClass=function(r){for(var o=this.db,a=this.name,c=((this.schema.mappedClass=r).prototype instanceof al&&(r=(g=>{var _=A,C=g;if(typeof C!="function"&&C!==null)throw new TypeError("Class extends value "+String(C)+" is not a constructor or null");function V(){this.constructor=_}function A(){return g!==null&&g.apply(this,arguments)||this}return n(_,C),_.prototype=C===null?Object.create(C):(V.prototype=C.prototype,new V),Object.defineProperty(A.prototype,"db",{get:function(){return o},enumerable:!1,configurable:!0}),A.prototype.table=function(){return a},A})(r)),new Set),d=r.prototype;d;d=b(d))Object.getOwnPropertyNames(d).forEach(function(g){return c.add(g)});function h(g){if(!g)return g;var _,C=Object.create(r.prototype);for(_ in g)if(!c.has(_))try{C[_]=g[_]}catch{}return C}return this.schema.readHook&&this.hook.reading.unsubscribe(this.schema.readHook),this.schema.readHook=h,this.hook("reading",h),r},ct.prototype.defineClass=function(){return this.mapToClass(function(r){v(this,r)})},ct.prototype.add=function(r,o){var a=this,c=this.schema.primKey,d=c.auto,h=c.keyPath,g=r;return h&&d&&(g=Xs(h)(r)),this._trans("readwrite",function(_){return a.core.mutate({trans:_,type:"add",keys:o!=null?[o]:null,values:[g]})}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{oe(r,h,_)}catch{}return _})},ct.prototype.upsert=function(r,o){var a=this,c=this.schema.primKey.keyPath;return this._trans("readwrite",function(d){return a.core.get({trans:d,key:r}).then(function(h){var g=h??{};return fl(g,o),c&&oe(g,c,r),a.core.mutate({trans:d,type:"put",values:[g],keys:[r],upsert:!0,updates:{keys:[r],changeSpecs:[o]}}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):!!h})})})},ct.prototype.update=function(r,o){return typeof r!="object"||p(r)?this.where(":id").equals(r).modify(o):(r=ie(r,this.schema.primKey.keyPath))===void 0?wt(new de.InvalidArgument("Given object does not contain its primary key")):this.where(":id").equals(r).modify(o)},ct.prototype.put=function(r,o){var a=this,c=this.schema.primKey,d=c.auto,h=c.keyPath,g=r;return h&&d&&(g=Xs(h)(r)),this._trans("readwrite",function(_){return a.core.mutate({trans:_,type:"put",values:[g],keys:o!=null?[o]:null})}).then(function(_){return _.numFailures?Se.reject(_.failures[0]):_.lastResult}).then(function(_){if(h)try{oe(r,h,_)}catch{}return _})},ct.prototype.delete=function(r){var o=this;return this._trans("readwrite",function(a){return o.core.mutate({trans:a,type:"delete",keys:[r]}).then(function(c){return Qs(o,[r],c)}).then(function(c){return c.numFailures?Se.reject(c.failures[0]):void 0})})},ct.prototype.clear=function(){var r=this;return this._trans("readwrite",function(o){return r.core.mutate({trans:o,type:"deleteRange",range:il}).then(function(a){return Qs(r,null,a)})}).then(function(o){return o.numFailures?Se.reject(o.failures[0]):void 0})},ct.prototype.bulkGet=function(r){var o=this;return this._trans("readonly",function(a){return o.core.getMany({keys:r,trans:a}).then(function(c){return c.map(function(d){return o.hook.reading.fire(d)})})})},ct.prototype.bulkAdd=function(r,o,a){var c=this,d=Array.isArray(o)?o:void 0,h=(a=a||(d?void 0:o))?a.allKeys:void 0;return this._trans("readwrite",function(g){var _=c.schema.primKey,V=_.auto,_=_.keyPath;if(_&&d)throw new de.InvalidArgument("bulkAdd(): keys argument invalid on tables with inbound keys");if(d&&d.length!==r.length)throw new de.InvalidArgument("Arguments objects and keys must have the same length");var C=r.length,V=_&&V?r.map(Xs(_)):r;return c.core.mutate({trans:g,type:"add",keys:d,values:V,wantResults:h}).then(function(A){var x=A.numFailures,S=A.failures;if(x===0)return h?A.results:A.lastResult;throw new Et("".concat(c.name,".bulkAdd(): ").concat(x," of ").concat(C," operations failed"),S)})})},ct.prototype.bulkPut=function(r,o,a){var c=this,d=Array.isArray(o)?o:void 0,h=(a=a||(d?void 0:o))?a.allKeys:void 0;return this._trans("readwrite",function(g){var _=c.schema.primKey,V=_.auto,_=_.keyPath;if(_&&d)throw new de.InvalidArgument("bulkPut(): keys argument invalid on tables with inbound keys");if(d&&d.length!==r.length)throw new de.InvalidArgument("Arguments objects and keys must have the same length");var C=r.length,V=_&&V?r.map(Xs(_)):r;return c.core.mutate({trans:g,type:"put",keys:d,values:V,wantResults:h}).then(function(A){var x=A.numFailures,S=A.failures;if(x===0)return h?A.results:A.lastResult;throw new Et("".concat(c.name,".bulkPut(): ").concat(x," of ").concat(C," operations failed"),S)})})},ct.prototype.bulkUpdate=function(r){var o=this,a=this.core,c=r.map(function(g){return g.key}),d=r.map(function(g){return g.changes}),h=[];return this._trans("readwrite",function(g){return a.getMany({trans:g,keys:c,cache:"clone"}).then(function(_){var C=[],V=[],A=(r.forEach(function(x,S){var M=x.key,O=x.changes,T=_[S];if(T){for(var P=0,W=Object.keys(O);P<W.length;P++){var F=W[P],te=O[F];if(F===o.schema.primKey.keyPath){if(Ze(te,M)!==0)throw new de.Constraint("Cannot update primary key in bulkUpdate()")}else oe(T,F,te)}h.push(S),C.push(M),V.push(T)}}),C.length);return a.mutate({trans:g,type:"put",keys:C,values:V,updates:{keys:c,changeSpecs:d}}).then(function(x){var S=x.numFailures,M=x.failures;if(S===0)return A;for(var O=0,T=Object.keys(M);O<T.length;O++){var P,W=T[O],F=h[Number(W)];F!=null&&(P=M[W],delete M[W],M[F]=P)}throw new Et("".concat(o.name,".bulkUpdate(): ").concat(S," of ").concat(A," operations failed"),M)})})})},ct.prototype.bulkDelete=function(r){var o=this,a=r.length;return this._trans("readwrite",function(c){return o.core.mutate({trans:c,type:"delete",keys:r}).then(function(d){return Qs(o,r,d)})}).then(function(c){var d=c.numFailures,h=c.failures;if(d===0)return c.lastResult;throw new Et("".concat(o.name,".bulkDelete(): ").concat(d," of ").concat(a," operations failed"),h)})};var dl=ct;function ct(){}function rs(r){function o(g,_){if(_){for(var C=arguments.length,V=new Array(C-1);--C;)V[C-1]=arguments[C];return a[g].subscribe.apply(null,V),r}if(typeof g=="string")return a[g]}var a={};o.addEventType=h;for(var c=1,d=arguments.length;c<d;++c)h(arguments[c]);return o;function h(g,_,C){var V,A;if(typeof g!="object")return _=_||ke,A={subscribers:[],fire:C=C||w,subscribe:function(x){A.subscribers.indexOf(x)===-1&&(A.subscribers.push(x),A.fire=_(A.fire,x))},unsubscribe:function(x){A.subscribers=A.subscribers.filter(function(S){return S!==x}),A.fire=A.subscribers.reduce(_,C)}},a[g]=o[g]=A;f(V=g).forEach(function(x){var S=V[x];if(p(S))h(x,V[x][0],V[x][1]);else{if(S!=="asap")throw new de.InvalidArgument("Invalid event config");var M=h(x,H,function(){for(var O=arguments.length,T=new Array(O);O--;)T[O]=arguments[O];M.subscribers.forEach(function(P){ae(function(){P.apply(null,T)})})})}})}}function ss(r,o){return G(o).from({prototype:r}),o}function Lr(r,o){return!(r.filter||r.algorithm||r.or)&&(o?r.justLimit:!r.replayFilter)}function wi(r,o){r.filter=yr(r.filter,o)}function ki(r,o,a){var c=r.replayFilter;r.replayFilter=c?function(){return yr(c(),o())}:o,r.justLimit=a&&!c}function Zs(r,o){if(r.isPrimKey)return o.primaryKey;var a=o.getIndexByKeyPath(r.index);if(a)return a;throw new de.Schema("KeyPath "+r.index+" on object store "+o.name+" is not indexed")}function pl(r,o,a){var c=Zs(r,o.schema);return o.openCursor({trans:a,values:!r.keysOnly,reverse:r.dir==="prev",unique:!!r.unique,query:{index:c,range:r.range}})}function eo(r,o,a,c){var d,h,g=r.replayFilter?yr(r.filter,r.replayFilter()):r.filter;return r.or?(d={},h=function(_,C,V){var A,x;g&&!g(C,V,function(S){return C.stop(S)},function(S){return C.fail(S)})||((x=""+(A=C.primaryKey))=="[object ArrayBuffer]"&&(x=""+new Uint8Array(A)),k(d,x))||(d[x]=!0,o(_,C,V))},Promise.all([r.or._iterate(h,a),hl(pl(r,c,a),r.algorithm,h,!r.keysOnly&&r.valueMapper)])):hl(pl(r,c,a),yr(r.algorithm,g),o,!r.keysOnly&&r.valueMapper)}function hl(r,o,a,c){var d=pt(c?function(h,g,_){return a(c(h),g,_)}:a);return r.then(function(h){if(h)return h.start(function(){var g=function(){return h.continue()};o&&!o(h,function(_){return g=_},function(_){h.stop(_),g=w},function(_){h.fail(_),g=w})||d(h.value,h,function(_){return g=_}),g()})})}nt.prototype._read=function(r,o){var a=this._ctx;return a.error?a.table._trans(null,wt.bind(null,a.error)):a.table._trans("readonly",r).then(o)},nt.prototype._write=function(r){var o=this._ctx;return o.error?o.table._trans(null,wt.bind(null,o.error)):o.table._trans("readwrite",r,"locked")},nt.prototype._addAlgorithm=function(r){var o=this._ctx;o.algorithm=yr(o.algorithm,r)},nt.prototype._iterate=function(r,o){return eo(this._ctx,r,o,this._ctx.table.core)},nt.prototype.clone=function(r){var o=Object.create(this.constructor.prototype),a=Object.create(this._ctx);return r&&v(a,r),o._ctx=a,o},nt.prototype.raw=function(){return this._ctx.valueMapper=null,this},nt.prototype.each=function(r){var o=this._ctx;return this._read(function(a){return eo(o,r,a,o.table.core)})},nt.prototype.count=function(r){var o=this;return this._read(function(a){var c,d=o._ctx,h=d.table.core;return Lr(d,!0)?h.count({trans:a,query:{index:Zs(d,h.schema),range:d.range}}).then(function(g){return Math.min(g,d.limit)}):(c=0,eo(d,function(){return++c,!1},a,h).then(function(){return c}))}).then(r)},nt.prototype.sortBy=function(r,o){var a=r.split(".").reverse(),c=a[0],d=a.length-1;function h(C,V){return V?h(C[a[V]],V-1):C[c]}var g=this._ctx.dir==="next"?1:-1;function _(C,V){return Ze(h(C,d),h(V,d))*g}return this.toArray(function(C){return C.slice().sort(_)}).then(o)},nt.prototype.toArray=function(r){var o=this;return this._read(function(a){var c,d,h,g=o._ctx;return Lr(g,!0)&&0<g.limit?(c=g.valueMapper,d=Zs(g,g.table.core.schema),g.table.core.query({trans:a,limit:g.limit,values:!0,direction:g.dir==="prev"?"prev":void 0,query:{index:d,range:g.range}}).then(function(_){return _=_.result,c?_.map(c):_})):(h=[],eo(g,function(_){return h.push(_)},a,g.table.core).then(function(){return h}))},r)},nt.prototype.offset=function(r){var o=this._ctx;return r<=0||(o.offset+=r,Lr(o)?ki(o,function(){var a=r;return function(c,d){return a===0||(a===1?--a:d(function(){c.advance(a),a=0}),!1)}}):ki(o,function(){var a=r;return function(){return--a<0}})),this},nt.prototype.limit=function(r){return this._ctx.limit=Math.min(this._ctx.limit,r),ki(this._ctx,function(){var o=r;return function(a,c,d){return--o<=0&&c(d),0<=o}},!0),this},nt.prototype.until=function(r,o){return wi(this._ctx,function(a,c,d){return!r(a.value)||(c(d),o)}),this},nt.prototype.first=function(r){return this.limit(1).toArray(function(o){return o[0]}).then(r)},nt.prototype.last=function(r){return this.reverse().first(r)},nt.prototype.filter=function(r){var o;return wi(this._ctx,function(a){return r(a.value)}),(o=this._ctx).isMatch=yr(o.isMatch,r),this},nt.prototype.and=function(r){return this.filter(r)},nt.prototype.or=function(r){return new this.db.WhereClause(this._ctx.table,r,this)},nt.prototype.reverse=function(){return this._ctx.dir=this._ctx.dir==="prev"?"next":"prev",this._ondirectionchange&&this._ondirectionchange(this._ctx.dir),this},nt.prototype.desc=function(){return this.reverse()},nt.prototype.eachKey=function(r){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(a,c){r(c.key,c)})},nt.prototype.eachUniqueKey=function(r){return this._ctx.unique="unique",this.eachKey(r)},nt.prototype.eachPrimaryKey=function(r){var o=this._ctx;return o.keysOnly=!o.isMatch,this.each(function(a,c){r(c.primaryKey,c)})},nt.prototype.keys=function(r){var o=this._ctx,a=(o.keysOnly=!o.isMatch,[]);return this.each(function(c,d){a.push(d.key)}).then(function(){return a}).then(r)},nt.prototype.primaryKeys=function(r){var o=this._ctx;if(Lr(o,!0)&&0<o.limit)return this._read(function(c){var d=Zs(o,o.table.core.schema);return o.table.core.query({trans:c,values:!1,limit:o.limit,direction:o.dir==="prev"?"prev":void 0,query:{index:d,range:o.range}})}).then(function(c){return c.result}).then(r);o.keysOnly=!o.isMatch;var a=[];return this.each(function(c,d){a.push(d.primaryKey)}).then(function(){return a}).then(r)},nt.prototype.uniqueKeys=function(r){return this._ctx.unique="unique",this.keys(r)},nt.prototype.firstKey=function(r){return this.limit(1).keys(function(o){return o[0]}).then(r)},nt.prototype.lastKey=function(r){return this.reverse().firstKey(r)},nt.prototype.distinct=function(){var r,o=this._ctx,o=o.index&&o.table.schema.idxByName[o.index];return o&&o.multi&&(r={},wi(this._ctx,function(c){var c=c.primaryKey.toString(),d=k(r,c);return r[c]=!0,!d})),this},nt.prototype.modify=function(r){var o=this,a=this._ctx;return this._write(function(c){function d(T,P){var W=P.failures;S+=T-P.numFailures;for(var F=0,te=f(W);F<te.length;F++){var ce=te[F];x.push(W[ce])}}var h=typeof r=="function"?r:function(T){return fl(T,r)},g=a.table.core,A=g.schema.primaryKey,_=A.outbound,C=A.extractKey,V=200,A=o.db._options.modifyChunkSize,x=(A&&(V=typeof A=="object"?A[g.name]||A["*"]||200:A),[]),S=0,M=[],O=r===vl;return o.clone().primaryKeys().then(function(T){function P(F){var te=Math.min(V,T.length-F),ce=T.slice(F,F+te);return(O?Promise.resolve([]):g.getMany({trans:c,keys:ce,cache:"immutable"})).then(function(he){var be=[],ve=[],Oe=_?[]:null,ye=O?ce:[];if(!O)for(var Pe=0;Pe<te;++Pe){var pe=he[Pe],Le={value:xe(pe),primKey:T[F+Pe]};h.call(Le,Le.value,Le)!==!1&&(Le.value==null?ye.push(T[F+Pe]):_||Ze(C(pe),C(Le.value))===0?(ve.push(Le.value),_&&Oe.push(T[F+Pe])):(ye.push(T[F+Pe]),be.push(Le.value)))}return Promise.resolve(0<be.length&&g.mutate({trans:c,type:"add",values:be}).then(function(Ve){for(var He in Ve.failures)ye.splice(parseInt(He),1);d(be.length,Ve)})).then(function(){return(0<ve.length||W&&typeof r=="object")&&g.mutate({trans:c,type:"put",keys:Oe,values:ve,criteria:W,changeSpec:typeof r!="function"&&r,isAdditionalChunk:0<F}).then(function(Ve){return d(ve.length,Ve)})}).then(function(){return(0<ye.length||W&&O)&&g.mutate({trans:c,type:"delete",keys:ye,criteria:W,isAdditionalChunk:0<F}).then(function(Ve){return Qs(a.table,ye,Ve)}).then(function(Ve){return d(ye.length,Ve)})}).then(function(){return T.length>F+te&&P(F+V)})})}var W=Lr(a)&&a.limit===1/0&&(typeof r!="function"||O)&&{index:a.index,range:a.range};return P(0).then(function(){if(0<x.length)throw new Ct("Error modifying one or more objects",x,S,M);return T.length})})})},nt.prototype.delete=function(){var r=this._ctx,o=r.range;return!Lr(r)||r.table.schema.yProps||!r.isPrimKey&&o.type!==3?this.modify(vl):this._write(function(a){var c=r.table.core.schema.primaryKey,d=o;return r.table.core.count({trans:a,query:{index:c,range:d}}).then(function(h){return r.table.core.mutate({trans:a,type:"deleteRange",range:d}).then(function(C){var _=C.failures,C=C.numFailures;if(C)throw new Ct("Could not delete some values",Object.keys(_).map(function(V){return _[V]}),h-C);return h-C})})})};var _f=nt;function nt(){}var vl=function(r,o){return o.value=null};function wf(r,o){return r<o?-1:r===o?0:1}function kf(r,o){return o<r?-1:r===o?0:1}function Zt(r,o,a){return r=r instanceof yl?new r.Collection(r):r,r._ctx.error=new(a||TypeError)(o),r}function Vr(r){return new r.Collection(r,function(){return ml("")}).limit(0)}function to(M,o,a,c){var d,h,g,_,C,V,A,x=a.length;if(!a.every(function(T){return typeof T=="string"}))return Zt(M,ol);function S(T){d=T==="next"?function(W){return W.toUpperCase()}:function(W){return W.toLowerCase()},h=T==="next"?function(W){return W.toLowerCase()}:function(W){return W.toUpperCase()},g=T==="next"?wf:kf;var P=a.map(function(W){return{lower:h(W),upper:d(W)}}).sort(function(W,F){return g(W.lower,F.lower)});_=P.map(function(W){return W.upper}),C=P.map(function(W){return W.lower}),A=(V=T)==="next"?"":c}S("next");var M=new M.Collection(M,function(){return Yn(_[0],C[x-1]+c)}),O=(M._ondirectionchange=function(T){S(T)},0);return M._addAlgorithm(function(T,P,W){var F=T.key;if(typeof F=="string"){var te=h(F);if(o(te,C,O))return!0;for(var ce=null,he=O;he<x;++he){var be=((ve,Oe,ye,Pe,pe,Le)=>{for(var Ve=Math.min(ve.length,Pe.length),He=-1,Xe=0;Xe<Ve;++Xe){var en=Oe[Xe];if(en!==Pe[Xe])return pe(ve[Xe],ye[Xe])<0?ve.substr(0,Xe)+ye[Xe]+ye.substr(Xe+1):pe(ve[Xe],Pe[Xe])<0?ve.substr(0,Xe)+Pe[Xe]+ye.substr(Xe+1):0<=He?ve.substr(0,He)+Oe[He]+ye.substr(He+1):null;pe(ve[Xe],en)<0&&(He=Xe)}return Ve<Pe.length&&Le==="next"?ve+ye.substr(ve.length):Ve<ve.length&&Le==="prev"?ve.substr(0,ye.length):He<0?null:ve.substr(0,He)+Pe[He]+ye.substr(He+1)})(F,te,_[he],C[he],g,V);be===null&&ce===null?O=he+1:(ce===null||0<g(ce,be))&&(ce=be)}P(ce!==null?function(){T.continue(ce+A)}:W)}return!1}),M}function Yn(r,o,a,c){return{type:2,lower:r,upper:o,lowerOpen:a,upperOpen:c}}function ml(r){return{type:1,lower:r,upper:r}}Object.defineProperty(Ot.prototype,"Collection",{get:function(){return this._ctx.table.db.Collection},enumerable:!1,configurable:!0}),Ot.prototype.between=function(r,o,a,c){a=a!==!1,c=c===!0;try{return 0<this._cmp(r,o)||this._cmp(r,o)===0&&(a||c)&&(!a||!c)?Vr(this):new this.Collection(this,function(){return Yn(r,o,!a,!c)})}catch{return Zt(this,Pn)}},Ot.prototype.equals=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return ml(r)})},Ot.prototype.above=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(r,void 0,!0)})},Ot.prototype.aboveOrEqual=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(r,void 0,!1)})},Ot.prototype.below=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(void 0,r,!1,!0)})},Ot.prototype.belowOrEqual=function(r){return r==null?Zt(this,Pn):new this.Collection(this,function(){return Yn(void 0,r)})},Ot.prototype.startsWith=function(r){return typeof r!="string"?Zt(this,ol):this.between(r,r+mr,!0,!0)},Ot.prototype.startsWithIgnoreCase=function(r){return r===""?this.startsWith(r):to(this,function(o,a){return o.indexOf(a[0])===0},[r],mr)},Ot.prototype.equalsIgnoreCase=function(r){return to(this,function(o,a){return o===a[0]},[r],"")},Ot.prototype.anyOfIgnoreCase=function(){var r=et.apply(je,arguments);return r.length===0?Vr(this):to(this,function(o,a){return a.indexOf(o)!==-1},r,"")},Ot.prototype.startsWithAnyOfIgnoreCase=function(){var r=et.apply(je,arguments);return r.length===0?Vr(this):to(this,function(o,a){return a.some(function(c){return o.indexOf(c)===0})},r,mr)},Ot.prototype.anyOf=function(){var r,o,a=this,c=et.apply(je,arguments),d=this._cmp;try{c.sort(d)}catch{return Zt(this,Pn)}return c.length===0?Vr(this):((r=new this.Collection(this,function(){return Yn(c[0],c[c.length-1])}))._ondirectionchange=function(h){d=h==="next"?a._ascending:a._descending,c.sort(d)},o=0,r._addAlgorithm(function(h,g,_){for(var C=h.key;0<d(C,c[o]);)if(++o===c.length)return g(_),!1;return d(C,c[o])===0||(g(function(){h.continue(c[o])}),!1)}),r)},Ot.prototype.notEqual=function(r){return this.inAnyRange([[-1/0,r],[r,this.db._maxKey]],{includeLowers:!1,includeUppers:!1})},Ot.prototype.noneOf=function(){var r=et.apply(je,arguments);if(r.length===0)return new this.Collection(this);try{r.sort(this._ascending)}catch{return Zt(this,Pn)}var o=r.reduce(function(a,c){return a?a.concat([[a[a.length-1][1],c]]):[[-1/0,c]]},null);return o.push([r[r.length-1],this.db._maxKey]),this.inAnyRange(o,{includeLowers:!1,includeUppers:!1})},Ot.prototype.inAnyRange=function(r,W){var a=this,c=this._cmp,d=this._ascending,h=this._descending,g=this._min,_=this._max;if(r.length===0)return Vr(this);if(!r.every(function(F){return F[0]!==void 0&&F[1]!==void 0&&d(F[0],F[1])<=0}))return Zt(this,"First argument to inAnyRange() must be an Array of two-value Arrays [lower,upper] where upper must not be lower than lower",de.InvalidArgument);var C=!W||W.includeLowers!==!1,V=W&&W.includeUppers===!0,A,x=d;function S(F,te){return x(F[0],te[0])}try{(A=r.reduce(function(F,te){for(var ce=0,he=F.length;ce<he;++ce){var be=F[ce];if(c(te[0],be[1])<0&&0<c(te[1],be[0])){be[0]=g(be[0],te[0]),be[1]=_(be[1],te[1]);break}}return ce===he&&F.push(te),F},[])).sort(S)}catch{return Zt(this,Pn)}var M=0,O=V?function(F){return 0<d(F,A[M][1])}:function(F){return 0<=d(F,A[M][1])},T=C?function(F){return 0<h(F,A[M][0])}:function(F){return 0<=h(F,A[M][0])},P=O,W=new this.Collection(this,function(){return Yn(A[0][0],A[A.length-1][1],!C,!V)});return W._ondirectionchange=function(F){x=F==="next"?(P=O,d):(P=T,h),A.sort(S)},W._addAlgorithm(function(F,te,ce){for(var he,be=F.key;P(be);)if(++M===A.length)return te(ce),!1;return!O(he=be)&&!T(he)||(a._cmp(be,A[M][1])===0||a._cmp(be,A[M][0])===0||te(function(){x===d?F.continue(A[M][0]):F.continue(A[M][1])}),!1)}),W},Ot.prototype.startsWithAnyOf=function(){var r=et.apply(je,arguments);return r.every(function(o){return typeof o=="string"})?r.length===0?Vr(this):this.inAnyRange(r.map(function(o){return[o,o+mr]})):Zt(this,"startsWithAnyOf() only works with strings")};var yl=Ot;function Ot(){}function dn(r){return pt(function(o){return os(o),r(o.target.error),!1})}function os(r){r.stopPropagation&&r.stopPropagation(),r.preventDefault&&r.preventDefault()}var no="storagemutated",xi="x-storagemutated-1",Jn=rs(null,no),xf=(yn.prototype._lock=function(){return Y(!Ie.global),++this._reculock,this._reculock!==1||Ie.global||(Ie.lockOwnerFor=this),this},yn.prototype._unlock=function(){if(Y(!Ie.global),--this._reculock==0)for(Ie.global||(Ie.lockOwnerFor=null);0<this._blockedFuncs.length&&!this._locked();){var r=this._blockedFuncs.shift();try{vr(r[1],r[0])}catch{}}return this},yn.prototype._locked=function(){return this._reculock&&Ie.lockOwnerFor!==this},yn.prototype.create=function(r){var o=this;if(this.mode){var a=this.db.idbdb,c=this.db._state.dbOpenError;if(Y(!this.idbtrans),!r&&!a)switch(c&&c.name){case"DatabaseClosedError":throw new de.DatabaseClosed(c);case"MissingAPIError":throw new de.MissingAPI(c.message,c);default:throw new de.OpenFailed(c)}if(!this.active)throw new de.TransactionInactive;Y(this._completion._state===null),(r=this.idbtrans=r||(this.db.core||a).transaction(this.storeNames,this.mode,{durability:this.chromeTransactionDurability})).onerror=pt(function(d){os(d),o._reject(r.error)}),r.onabort=pt(function(d){os(d),o.active&&o._reject(new de.Abort(r.error)),o.active=!1,o.on("abort").fire(d)}),r.oncomplete=pt(function(){o.active=!1,o._resolve(),"mutatedParts"in r&&Jn.storagemutated.fire(r.mutatedParts)})}return this},yn.prototype._promise=function(r,o,a){var c,d=this;return r==="readwrite"&&this.mode!=="readwrite"?wt(new de.ReadOnly("Transaction is readonly")):this.active?this._locked()?new Se(function(h,g){d._blockedFuncs.push([function(){d._promise(r,o,a).then(h,g)},Ie])}):a?Wn(function(){var h=new Se(function(g,_){d._lock();var C=o(g,_,d);C&&C.then&&C.then(g,_)});return h.finally(function(){return d._unlock()}),h._lib=!0,h}):((c=new Se(function(h,g){var _=o(h,g,d);_&&_.then&&_.then(h,g)}))._lib=!0,c):wt(new de.TransactionInactive)},yn.prototype._root=function(){return this.parent?this.parent._root():this},yn.prototype.waitFor=function(r){var o,a=this._root(),c=Se.resolve(r),d=(a._waitingFor?a._waitingFor=a._waitingFor.then(function(){return c}):(a._waitingFor=c,a._waitingQueue=[],o=a.idbtrans.objectStore(a.storeNames[0]),function h(){for(++a._spinCount;a._waitingQueue.length;)a._waitingQueue.shift()();a._waitingFor&&(o.get(-1/0).onsuccess=h)}()),a._waitingFor);return new Se(function(h,g){c.then(function(_){return a._waitingQueue.push(pt(h.bind(null,_)))},function(_){return a._waitingQueue.push(pt(g.bind(null,_)))}).finally(function(){a._waitingFor===d&&(a._waitingFor=null)})})},yn.prototype.abort=function(){this.active&&(this.active=!1,this.idbtrans&&this.idbtrans.abort(),this._reject(new de.Abort))},yn.prototype.table=function(r){var o=this._memoizedTables||(this._memoizedTables={});if(k(o,r))return o[r];var a=this.schema[r];if(a)return(a=new this.db.Table(r,a,this)).core=this.db.core.table(r),o[r]=a;throw new de.NotFound("Table "+r+" not part of transaction")},yn);function yn(){}function Ci(r,o,a,c,d,h,g,_){return{name:r,keyPath:o,unique:a,multi:c,auto:d,compound:h,src:(a&&!g?"&":"")+(c?"*":"")+(d?"++":"")+gl(o),type:_}}function gl(r){return typeof r=="string"?r:r?"["+[].join.call(r,"+")+"]":""}function Si(r,o,a){return{name:r,primKey:o,indexes:a,mappedClass:null,idxByName:(c=function(d){return[d.name,d]},a.reduce(function(d,h,g){return h=c(h,g),h&&(d[h[0]]=h[1]),d},{}))};var c}var is=function(r){try{return r.only([[]]),is=function(){return[[]]},[[]]}catch{return is=function(){return mr},mr}};function Ei(r){return r==null?function(){}:typeof r=="string"?(o=r).split(".").length===1?function(a){return a[o]}:function(a){return ie(a,o)}:function(a){return ie(a,r)};var o}function bl(r){return[].slice.call(r)}var Cf=0;function as(r){return r==null?":id":typeof r=="string"?r:"[".concat(r.join("+"),"]")}function Sf(r,o,g){function c(P){if(P.type===3)return null;if(P.type===4)throw new Error("Cannot convert never type to IDBKeyRange");var M=P.lower,O=P.upper,T=P.lowerOpen,P=P.upperOpen;return M===void 0?O===void 0?null:o.upperBound(O,!!P):O===void 0?o.lowerBound(M,!!T):o.bound(M,O,!!T,!!P)}function d(S){var M,O,T=S.name;return{name:T,schema:S,mutate:function(P){var W=P.trans,F=P.type,te=P.keys,ce=P.values,he=P.range;return new Promise(function(be,ve){be=pt(be);var Oe=W.objectStore(T),ye=Oe.keyPath==null,Pe=F==="put"||F==="add";if(!Pe&&F!=="delete"&&F!=="deleteRange")throw new Error("Invalid operation type: "+F);var pe,Le=(te||ce||{length:1}).length;if(te&&ce&&te.length!==ce.length)throw new Error("Given keys array must have same length as given values array.");if(Le===0)return be({numFailures:0,failures:{},results:[],lastResult:void 0});function Ve(qt){++en,os(qt)}var He=[],Xe=[],en=0;if(F==="deleteRange"){if(he.type===4)return be({numFailures:en,failures:Xe,results:[],lastResult:void 0});he.type===3?He.push(pe=Oe.clear()):He.push(pe=Oe.delete(c(he)))}else{var ye=Pe?ye?[ce,te]:[ce,null]:[te,null],Ue=ye[0],Kt=ye[1];if(Pe)for(var Rt=0;Rt<Le;++Rt)He.push(pe=Kt&&Kt[Rt]!==void 0?Oe[F](Ue[Rt],Kt[Rt]):Oe[F](Ue[Rt])),pe.onerror=Ve;else for(Rt=0;Rt<Le;++Rt)He.push(pe=Oe[F](Ue[Rt])),pe.onerror=Ve}function vo(qt){qt=qt.target.result,He.forEach(function(_r,qi){return _r.error!=null&&(Xe[qi]=_r.error)}),be({numFailures:en,failures:Xe,results:F==="delete"?te:He.map(function(_r){return _r.result}),lastResult:qt})}pe.onerror=function(qt){Ve(qt),vo(qt)},pe.onsuccess=vo})},getMany:function(P){var W=P.trans,F=P.keys;return new Promise(function(te,ce){te=pt(te);for(var he,be=W.objectStore(T),ve=F.length,Oe=new Array(ve),ye=0,Pe=0,pe=function(He){He=He.target,Oe[He._pos]=He.result,++Pe===ye&&te(Oe)},Le=dn(ce),Ve=0;Ve<ve;++Ve)F[Ve]!=null&&((he=be.get(F[Ve]))._pos=Ve,he.onsuccess=pe,he.onerror=Le,++ye);ye===0&&te(Oe)})},get:function(P){var W=P.trans,F=P.key;return new Promise(function(te,ce){te=pt(te);var he=W.objectStore(T).get(F);he.onsuccess=function(be){return te(be.target.result)},he.onerror=dn(ce)})},query:(M=C,O=V,function(P){return new Promise(function(W,F){W=pt(W);var te,ce,he,be,Le=P.trans,ve=P.values,Oe=P.limit,pe=P.query,ye=(ye=P.direction)!=null?ye:"next",Pe=Oe===1/0?void 0:Oe,Ve=pe.index,pe=pe.range,Le=Le.objectStore(T),Le=Ve.isPrimaryKey?Le:Le.index(Ve.name),Ve=c(pe);if(Oe===0)return W({result:[]});O?(pe={query:Ve,count:Pe,direction:ye},(te=ve?Le.getAll(pe):Le.getAllKeys(pe)).onsuccess=function(He){return W({result:He.target.result})},te.onerror=dn(F)):M&&ye==="next"?((te=ve?Le.getAll(Ve,Pe):Le.getAllKeys(Ve,Pe)).onsuccess=function(He){return W({result:He.target.result})},te.onerror=dn(F)):(ce=0,he=!ve&&"openKeyCursor"in Le?Le.openKeyCursor(Ve,ye):Le.openCursor(Ve,ye),be=[],he.onsuccess=function(){var He=he.result;return!He||(be.push(ve?He.value:He.primaryKey),++ce===Oe)?W({result:be}):void He.continue()},he.onerror=dn(F))})}),openCursor:function(P){var W=P.trans,F=P.values,te=P.query,ce=P.reverse,he=P.unique;return new Promise(function(be,ve){be=pt(be);var Pe=te.index,Oe=te.range,ye=W.objectStore(T),ye=Pe.isPrimaryKey?ye:ye.index(Pe.name),Pe=ce?he?"prevunique":"prev":he?"nextunique":"next",pe=!F&&"openKeyCursor"in ye?ye.openKeyCursor(c(Oe),Pe):ye.openCursor(c(Oe),Pe);pe.onerror=dn(ve),pe.onsuccess=pt(function(Le){var Ve,He,Xe,en,Ue=pe.result;Ue?(Ue.___id=++Cf,Ue.done=!1,Ve=Ue.continue.bind(Ue),He=(He=Ue.continuePrimaryKey)&&He.bind(Ue),Xe=Ue.advance.bind(Ue),en=function(){throw new Error("Cursor not stopped")},Ue.trans=W,Ue.stop=Ue.continue=Ue.continuePrimaryKey=Ue.advance=function(){throw new Error("Cursor not started")},Ue.fail=pt(ve),Ue.next=function(){var Kt=this,Rt=1;return this.start(function(){return Rt--?Kt.continue():Kt.stop()}).then(function(){return Kt})},Ue.start=function(Kt){function Rt(){if(pe.result)try{Kt()}catch(qt){Ue.fail(qt)}else Ue.done=!0,Ue.start=function(){throw new Error("Cursor behind last entry")},Ue.stop()}var vo=new Promise(function(qt,_r){qt=pt(qt),pe.onerror=dn(_r),Ue.fail=_r,Ue.stop=function(qi){Ue.stop=Ue.continue=Ue.continuePrimaryKey=Ue.advance=en,qt(qi)}});return pe.onsuccess=pt(function(qt){pe.onsuccess=Rt,Rt()}),Ue.continue=Ve,Ue.continuePrimaryKey=He,Ue.advance=Xe,Rt(),vo},be(Ue)):be(null)},ve)})},count:function(P){var W=P.query,F=P.trans,te=W.index,ce=W.range;return new Promise(function(he,be){var ve=F.objectStore(T),ve=te.isPrimaryKey?ve:ve.index(te.name),Oe=c(ce),Oe=Oe?ve.count(Oe):ve.count();Oe.onsuccess=pt(function(ye){return he(ye.target.result)}),Oe.onerror=dn(be)})}}}h=g,_=bl((g=r).objectStoreNames),A=0<_.length?h.objectStore(_[0]):{};var h,g={schema:{name:g.name,tables:_.map(function(S){return h.objectStore(S)}).map(function(S){var M=S.keyPath,O=S.autoIncrement,P=p(M),T={},P={name:S.name,primaryKey:{name:null,isPrimaryKey:!0,outbound:M==null,compound:P,keyPath:M,autoIncrement:O,unique:!0,extractKey:Ei(M)},indexes:bl(S.indexNames).map(function(W){return S.index(W)}).map(function(ce){var he=ce.name,F=ce.unique,te=ce.multiEntry,ce=ce.keyPath,he={name:he,compound:p(ce),keyPath:ce,unique:F,multiEntry:te,extractKey:Ei(ce)};return T[as(ce)]=he}),getIndexByKeyPath:function(W){return T[as(W)]}};return T[":id"]=P.primaryKey,M!=null&&(T[as(M)]=P.primaryKey),P})},hasGetAll:0<_.length&&"getAll"in A&&!(typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604),hasIdb3Features:"getAllRecords"in A},_=g.schema,C=g.hasGetAll,V=g.hasIdb3Features,A=_.tables.map(d),x={};return A.forEach(function(S){return x[S.name]=S}),{stack:"dbcore",transaction:r.transaction.bind(r),table:function(S){if(x[S])return x[S];throw new Error("Table '".concat(S,"' not found"))},MIN_KEY:-1/0,MAX_KEY:is(o),schema:_}}function Ef(r,o,a,c){return a=a.IDBKeyRange,o=Sf(o,a,c),{dbcore:r.dbcore.reduce(function(d,h){return h=h.create,s(s({},d),h(d))},o)}}function ro(r,o){var a=o.db,a=Ef(r._middlewares,a,r._deps,o);r.core=a.dbcore,r.tables.forEach(function(c){var d=c.name;r.core.schema.tables.some(function(h){return h.name===d})&&(c.core=r.core.table(d),r[d]instanceof r.Table)&&(r[d].core=c.core)})}function so(r,o,a,c){a.forEach(function(d){var h=c[d];o.forEach(function(g){var _=function C(V,A){return fe(V,A)||(V=b(V))&&C(V,A)}(g,d);(!_||"value"in _&&_.value===void 0)&&(g===r.Transaction.prototype||g instanceof r.Transaction?N(g,d,{get:function(){return this.table(d)},set:function(C){D(this,d,{value:C,writable:!0,configurable:!0,enumerable:!0})}}):g[d]=new r.Table(d,h))})})}function $i(r,o){o.forEach(function(a){for(var c in a)a[c]instanceof r.Table&&delete a[c]})}function $f(r,o){return r._cfg.version-o._cfg.version}function Af(r,o,a,c){var d=r._dbSchema,h=(a.objectStoreNames.contains("$meta")&&!d.$meta&&(d.$meta=Si("$meta",wl("")[0],[]),r._storeNames.push("$meta")),r._createTransaction("readwrite",r._storeNames,d)),g=(h.create(a),h._completion.catch(c),h._reject.bind(h)),_=Ie.transless||Ie;Wn(function(){if(Ie.trans=h,Ie.transless=_,o!==0)return ro(r,a),V=o,((C=h).storeNames.includes("$meta")?C.table("$meta").get("version").then(function(A){return A??V}):Se.resolve(V)).then(function(P){var x=r,S=P,M=h,O=a,T=[],P=x._versions,W=x._dbSchema=io(0,x.idbdb,O);return(P=P.filter(function(F){return F._cfg.version>=S})).length===0?Se.resolve():(P.forEach(function(F){T.push(function(){var te,ce,he,be=W,ve=F._cfg.dbschema,Oe=(ao(x,be,O),ao(x,ve,O),W=x._dbSchema=ve,Ai(be,ve)),ye=(Oe.add.forEach(function(Pe){Ti(O,Pe[0],Pe[1].primKey,Pe[1].indexes)}),Oe.change.forEach(function(Pe){if(Pe.recreate)throw new de.Upgrade("Not yet support for changing primary key");var pe=O.objectStore(Pe.name);Pe.add.forEach(function(Le){return oo(pe,Le)}),Pe.change.forEach(function(Le){pe.deleteIndex(Le.name),oo(pe,Le)}),Pe.del.forEach(function(Le){return pe.deleteIndex(Le)})}),F._cfg.contentUpgrade);if(ye&&F._cfg.version>S)return ro(x,O),M._memoizedTables={},te=R(ve),Oe.del.forEach(function(Pe){te[Pe]=be[Pe]}),$i(x,[x.Transaction.prototype]),so(x,[x.Transaction.prototype],f(te),te),M.schema=te,(ce=ge(ye))&&Nr(),ve=Se.follow(function(){var Pe;(he=ye(M))&&ce&&(Pe=zn.bind(null,null),he.then(Pe,Pe))}),he&&typeof he.then=="function"?Se.resolve(he):ve.then(function(){return he})}),T.push(function(te){var ce,he,be=F._cfg.dbschema;ce=be,he=te,[].slice.call(he.db.objectStoreNames).forEach(function(ve){return ce[ve]==null&&he.db.deleteObjectStore(ve)}),$i(x,[x.Transaction.prototype]),so(x,[x.Transaction.prototype],x._storeNames,x._dbSchema),M.schema=x._dbSchema}),T.push(function(te){x.idbdb.objectStoreNames.contains("$meta")&&(Math.ceil(x.idbdb.version/10)===F._cfg.version?(x.idbdb.deleteObjectStore("$meta"),delete x._dbSchema.$meta,x._storeNames=x._storeNames.filter(function(ce){return ce!=="$meta"})):te.objectStore("$meta").put(F._cfg.version,"version"))})}),function F(){return T.length?Se.resolve(T.shift()(M.idbtrans)).then(F):Se.resolve()}().then(function(){_l(W,O)}))}).catch(g);var C,V;f(d).forEach(function(A){Ti(a,A,d[A].primKey,d[A].indexes)}),ro(r,a),Se.follow(function(){return r.on.populate.fire(h)}).catch(g)})}function Tf(r,o){_l(r._dbSchema,o),o.db.version%10!=0||o.objectStoreNames.contains("$meta")||o.db.createObjectStore("$meta").add(Math.ceil(o.db.version/10-1),"version");var a=io(0,r.idbdb,o);ao(r,r._dbSchema,o);for(var c=0,d=Ai(a,r._dbSchema).change;c<d.length;c++){var h=(g=>{if(g.change.length||g.recreate)return console.warn("Unable to patch indexes of table ".concat(g.name," because it has changes on the type of index or primary key.")),{value:void 0};var _=o.objectStore(g.name);g.add.forEach(function(C){B&&console.debug("Dexie upgrade patch: Creating missing index ".concat(g.name,".").concat(C.src)),oo(_,C)})})(d[c]);if(typeof h=="object")return h.value}}function Ai(r,o){var a,c={del:[],add:[],change:[]};for(a in r)o[a]||c.del.push(a);for(a in o){var d=r[a],h=o[a];if(d){var g={name:a,def:h,recreate:!1,del:[],add:[],change:[]};if(""+(d.primKey.keyPath||"")!=""+(h.primKey.keyPath||"")||d.primKey.auto!==h.primKey.auto)g.recreate=!0,c.change.push(g);else{var _=d.idxByName,C=h.idxByName,V=void 0;for(V in _)C[V]||g.del.push(V);for(V in C){var A=_[V],x=C[V];A?A.src!==x.src&&g.change.push(x):g.add.push(x)}(0<g.del.length||0<g.add.length||0<g.change.length)&&c.change.push(g)}}else c.add.push([a,h])}return c}function Ti(r,o,a,c){var d=r.db.createObjectStore(o,a.keyPath?{keyPath:a.keyPath,autoIncrement:a.auto}:{autoIncrement:a.auto});c.forEach(function(h){return oo(d,h)})}function _l(r,o){f(r).forEach(function(a){o.db.objectStoreNames.contains(a)||(B&&console.debug("Dexie: Creating missing table",a),Ti(o,a,r[a].primKey,r[a].indexes))})}function oo(r,o){r.createIndex(o.name,o.keyPath,{unique:o.unique,multiEntry:o.multi})}function io(r,o,a){var c={};return E(o.objectStoreNames,0).forEach(function(d){for(var h=a.objectStore(d),g=Ci(gl(V=h.keyPath),V||"",!0,!1,!!h.autoIncrement,V&&typeof V!="string",!0),_=[],C=0;C<h.indexNames.length;++C){var A=h.index(h.indexNames[C]),V=A.keyPath,A=Ci(A.name,V,!!A.unique,!!A.multiEntry,!1,V&&typeof V!="string",!1);_.push(A)}c[d]=Si(d,g,_)}),c}function ao(r,o,a){for(var c=a.db.objectStoreNames,d=0;d<c.length;++d){var h=c[d],g=a.objectStore(h);r._hasGetAll="getAll"in g;for(var _=0;_<g.indexNames.length;++_){var C,V=g.indexNames[_],A=g.index(V).keyPath,A=typeof A=="string"?A:"["+E(A).join("+")+"]";o[h]&&(C=o[h].idxByName[A])&&(C.name=V,delete o[h].idxByName[A],o[h].idxByName[V]=C)}}typeof navigator<"u"&&/Safari/.test(navigator.userAgent)&&!/(Chrome\/|Edge\/)/.test(navigator.userAgent)&&l.WorkerGlobalScope&&l instanceof l.WorkerGlobalScope&&[].concat(navigator.userAgent.match(/Safari\/(\d*)/))[1]<604&&(r._hasGetAll=!1)}function wl(r){return r.split(",").map(function(o,a){var d=o.split(":"),c=(c=d[1])==null?void 0:c.trim(),d=(o=d[0].trim()).replace(/([&*]|\+\+)/g,""),h=/^\[/.test(d)?d.match(/^\[(.*)\]$/)[1].split("+"):d;return Ci(d,h||null,/\&/.test(o),/\*/.test(o),/\+\+/.test(o),p(h),a===0,c)})}Fr.prototype._createTableSchema=Si,Fr.prototype._parseIndexSyntax=wl,Fr.prototype._parseStoresSpec=function(r,o){var a=this;f(r).forEach(function(c){if(r[c]!==null){var d=a._parseIndexSyntax(r[c]),h=d.shift();if(!h)throw new de.Schema("Invalid schema for table "+c+": "+r[c]);if(h.unique=!0,h.multi)throw new de.Schema("Primary key cannot be multiEntry*");d.forEach(function(g){if(g.auto)throw new de.Schema("Only primary key can be marked as autoIncrement (++)");if(!g.keyPath)throw new de.Schema("Index must have a name and cannot be an empty string")}),h=a._createTableSchema(c,h,d),o[c]=h}})},Fr.prototype.stores=function(a){var o=this.db,a=(this._cfg.storesSource=this._cfg.storesSource?v(this._cfg.storesSource,a):a,o._versions),c={},d={};return a.forEach(function(h){v(c,h._cfg.storesSource),d=h._cfg.dbschema={},h._parseStoresSpec(c,d)}),o._dbSchema=d,$i(o,[o._allTables,o,o.Transaction.prototype]),so(o,[o._allTables,o,o.Transaction.prototype,this._cfg.tables],f(d),d),o._storeNames=f(d),this},Fr.prototype.upgrade=function(r){return this._cfg.contentUpgrade=q(this._cfg.contentUpgrade||w,r),this};var Of=Fr;function Fr(){}var ls=(()=>{var r,o,a;return typeof FinalizationRegistry<"u"&&typeof WeakRef<"u"?(r=new Set,o=new FinalizationRegistry(function(c){r.delete(c)}),{toArray:function(){return Array.from(r).map(function(c){return c.deref()}).filter(function(c){return c!==void 0})},add:function(c){var d=new WeakRef(c._novip);r.add(d),o.register(c._novip,d,d),r.size>c._options.maxConnections&&(d=r.values().next().value,r.delete(d),o.unregister(d))},remove:function(c){if(c)for(var d=r.values(),h=d.next();!h.done;){var g=h.value;if(g.deref()===c._novip)return r.delete(g),void o.unregister(g);h=d.next()}}}):(a=[],{toArray:function(){return a},add:function(c){a.push(c._novip)},remove:function(c){c&&(c=a.indexOf(c._novip))!==-1&&a.splice(c,1)}})})();function Oi(r,o){var a=r._dbNamesDB;return a||(a=r._dbNamesDB=new Mn(Js,{addons:[],indexedDB:r,IDBKeyRange:o})).version(1).stores({dbnames:"name"}),a.table("dbnames")}function Pi(r){return r&&typeof r.databases=="function"}function Mi(r){return Wn(function(){return Ie.letThrough=!0,r()})}function Ii(r){return!("from"in r)}var jt=function(r,o){var a;if(!this)return a=new jt,r&&"d"in r&&v(a,r),a;v(this,arguments.length?{d:1,from:r,to:1<arguments.length?o:r}:{d:0})};function us(r,o,a){var c=Ze(o,a);if(!isNaN(c)){if(0<c)throw RangeError();if(Ii(r))return v(r,{from:o,to:a,d:1});var c=r.l,d=r.r;if(Ze(a,r.from)<0)return c?us(c,o,a):r.l={from:o,to:a,d:1,l:null,r:null},xl(r);if(0<Ze(o,r.to))return d?us(d,o,a):r.r={from:o,to:a,d:1,l:null,r:null},xl(r);Ze(o,r.from)<0&&(r.from=o,r.l=null,r.d=d?d.d+1:1),0<Ze(a,r.to)&&(r.to=a,r.r=null,r.d=r.l?r.l.d+1:1),o=!r.r,c&&!r.l&&cs(r,c),d&&o&&cs(r,d)}}function cs(r,o){Ii(o)||function a(c,d){var h=d.from,g=d.l,_=d.r;us(c,h,d.to),g&&a(c,g),_&&a(c,_)}(r,o)}function kl(r,o){var a=lo(o),c=a.next();if(!c.done)for(var d=c.value,h=lo(r),g=h.next(d.from),_=g.value;!c.done&&!g.done;){if(Ze(_.from,d.to)<=0&&0<=Ze(_.to,d.from))return!0;Ze(d.from,_.from)<0?d=(c=a.next(_.from)).value:_=(g=h.next(d.from)).value}return!1}function lo(r){var o=Ii(r)?null:{s:0,n:r};return{next:function(a){for(var c=0<arguments.length;o;)switch(o.s){case 0:if(o.s=1,c)for(;o.n.l&&Ze(a,o.n.from)<0;)o={up:o,n:o.n.l,s:1};else for(;o.n.l;)o={up:o,n:o.n.l,s:1};case 1:if(o.s=2,!c||Ze(a,o.n.to)<=0)return{value:o.n,done:!1};case 2:if(o.n.r){o.s=3,o={up:o,n:o.n.r,s:0};continue}case 3:o=o.up}return{done:!0}}}}function xl(r){var o,a,c,d=(((d=r.r)==null?void 0:d.d)||0)-(((d=r.l)==null?void 0:d.d)||0),d=1<d?"r":d<-1?"l":"";d&&(o=d=="r"?"l":"r",a=s({},r),c=r[d],r.from=c.from,r.to=c.to,r[d]=c[d],a[d]=c[o],(r[o]=a).d=Cl(a)),r.d=Cl(r)}function Cl(a){var o=a.r,a=a.l;return(o?a?Math.max(o.d,a.d):o.d:a?a.d:0)+1}function uo(r,o){return f(o).forEach(function(a){r[a]?cs(r[a],o[a]):r[a]=function c(d){var h,g,_={};for(h in d)k(d,h)&&(g=d[h],_[h]=!g||typeof g!="object"||Ee.has(g.constructor)?g:c(g));return _}(o[a])}),r}function Di(r,o){return r.all||o.all||Object.keys(r).some(function(a){return o[a]&&kl(o[a],r[a])})}I(jt.prototype,((We={add:function(r){return cs(this,r),this},addKey:function(r){return us(this,r,r),this},addKeys:function(r){var o=this;return r.forEach(function(a){return us(o,a,a)}),this},hasKey:function(r){var o=lo(this).next(r).value;return o&&Ze(o.from,r)<=0&&0<=Ze(o.to,r)}})[Be]=function(){return lo(this)},We));var gr={},ji={},Ki=!1;function co(r){uo(ji,r),Ki||(Ki=!0,setTimeout(function(){Ki=!1,Ri(ji,!(ji={}))},0))}function Ri(r,o){o===void 0&&(o=!1);var a=new Set;if(r.all)for(var c=0,d=Object.values(gr);c<d.length;c++)Sl(_=d[c],r,a,o);else for(var h in r){var g,_,h=/^idb\:\/\/(.*)\/(.*)\//.exec(h);h&&(g=h[1],h=h[2],_=gr["idb://".concat(g,"/").concat(h)])&&Sl(_,r,a,o)}a.forEach(function(C){return C()})}function Sl(r,o,a,c){for(var d=[],h=0,g=Object.entries(r.queries.query);h<g.length;h++){for(var _=g[h],C=_[0],V=[],A=0,x=_[1];A<x.length;A++){var S=x[A];Di(o,S.obsSet)?S.subscribers.forEach(function(P){return a.add(P)}):c&&V.push(S)}c&&d.push([C,V])}if(c)for(var M=0,O=d;M<O.length;M++){var T=O[M],C=T[0],V=T[1];r.queries.query[C]=V}}function Pf(r){var o=r._state,a=r._deps.indexedDB;if(o.isBeingOpened||r.idbdb)return o.dbReadyPromise.then(function(){return o.dbOpenError?wt(o.dbOpenError):r});o.isBeingOpened=!0,o.dbOpenError=null,o.openComplete=!1;var c=o.openCanceller,d=Math.round(10*r.verno),h=!1;function g(){if(o.openCanceller!==c)throw new de.DatabaseClosed("db.open() was cancelled")}function _(){return new Se(function(S,M){if(g(),!a)throw new de.MissingAPI;var O=r.name,T=o.autoSchema||!d?a.open(O):a.open(O,d);if(!T)throw new de.MissingAPI;T.onerror=dn(M),T.onblocked=pt(r._fireOnBlocked),T.onupgradeneeded=pt(function(P){var W;A=T.transaction,o.autoSchema&&!r._options.allowEmptyDB?(T.onerror=os,A.abort(),T.result.close(),(W=a.deleteDatabase(O)).onsuccess=W.onerror=pt(function(){M(new de.NoSuchDatabase("Database ".concat(O," doesnt exist")))})):(A.onerror=dn(M),W=P.oldVersion>Math.pow(2,62)?0:P.oldVersion,x=W<1,r.idbdb=T.result,h&&Tf(r,A),Af(r,W/10,A,M))},M),T.onsuccess=pt(function(){A=null;var P,W,F,te,ce,he,be=r.idbdb=T.result,ve=E(be.objectStoreNames);if(0<ve.length)try{var Oe=be.transaction((ce=ve).length===1?ce[0]:ce,"readonly");if(o.autoSchema)he=be,te=Oe,(F=r).verno=he.version/10,te=F._dbSchema=io(0,he,te),F._storeNames=E(he.objectStoreNames,0),so(F,[F._allTables],f(te),te);else if(ao(r,r._dbSchema,Oe),W=Oe,((W=Ai(io(0,(P=r).idbdb,W),P._dbSchema)).add.length||W.change.some(function(ye){return ye.add.length||ye.change.length}))&&!h)return console.warn("Dexie SchemaDiff: Schema was extended without increasing the number passed to db.version(). Dexie will add missing parts and increment native version number to workaround this."),be.close(),d=be.version+1,h=!0,S(_());ro(r,Oe)}catch{}ls.add(r),be.onversionchange=pt(function(ye){o.vcFired=!0,r.on("versionchange").fire(ye)}),be.onclose=pt(function(){r.close({disableAutoOpen:!1})}),x&&(ve=r._deps,ce=O,Pi(he=ve.indexedDB)||ce===Js||Oi(he,ve.IDBKeyRange).put({name:ce}).catch(w)),S()},M)}).catch(function(S){switch(S==null?void 0:S.name){case"UnknownError":if(0<o.PR1398_maxLoop)return o.PR1398_maxLoop--,console.warn("Dexie: Workaround for Chrome UnknownError on open()"),_();break;case"VersionError":if(0<d)return d=0,_()}return Se.reject(S)})}var C,V=o.dbReadyResolve,A=null,x=!1;return Se.race([c,(typeof navigator>"u"?Se.resolve():!navigator.userAgentData&&/Safari\//.test(navigator.userAgent)&&!/Chrom(e|ium)\//.test(navigator.userAgent)&&indexedDB.databases?new Promise(function(S){function M(){return indexedDB.databases().finally(S)}C=setInterval(M,100),M()}).finally(function(){return clearInterval(C)}):Promise.resolve()).then(_)]).then(function(){return g(),o.onReadyBeingFired=[],Se.resolve(Mi(function(){return r.on.ready.fire(r.vip)})).then(function S(){var M;if(0<o.onReadyBeingFired.length)return M=o.onReadyBeingFired.reduce(q,w),o.onReadyBeingFired=[],Se.resolve(Mi(function(){return M(r.vip)})).then(S)})}).finally(function(){o.openCanceller===c&&(o.onReadyBeingFired=null,o.isBeingOpened=!1)}).catch(function(S){o.dbOpenError=S;try{A&&A.abort()}catch{}return c===o.openCanceller&&r._close(),wt(S)}).finally(function(){o.openComplete=!0,V()}).then(function(){var S;return x&&(S={},r.tables.forEach(function(M){M.schema.indexes.forEach(function(O){O.name&&(S["idb://".concat(r.name,"/").concat(M.name,"/").concat(O.name)]=new jt(-1/0,[[[]]]))}),S["idb://".concat(r.name,"/").concat(M.name,"/")]=S["idb://".concat(r.name,"/").concat(M.name,"/:dels")]=new jt(-1/0,[[[]]])}),Jn(no).fire(S),Ri(S,!0)),r})}function Ni(r){function o(h){return r.next(h)}var a=d(o),c=d(function(h){return r.throw(h)});function d(h){return function(_){var _=h(_),C=_.value;return _.done?C:C&&typeof C.then=="function"?C.then(a,c):p(C)?Promise.all(C).then(a,c):a(C)}}return d(o)()}function fo(r,o,a){for(var c=p(r)?r.slice():[r],d=0;d<a;++d)c.push(o);return c}var Mf={stack:"dbcore",name:"VirtualIndexMiddleware",level:1,create:function(r){return s(s({},r),{table:function(c){var a=r.table(c),c=a.schema,d=Object.create(null),h=[];function g(S,M,O){var F=as(S),T=d[F]=d[F]||[],P=S==null?0:typeof S=="string"?1:S.length,W=0<M,F=s(s({},O),{name:W?"".concat(F,"(virtual-from:").concat(O.name,")"):O.name,lowLevelIndex:O,isVirtual:W,keyTail:M,keyLength:P,extractKey:Ei(S),unique:!W&&O.unique});return T.push(F),F.isPrimaryKey||h.push(F),1<P&&g(P===2?S[0]:S.slice(0,P-1),M+1,O),T.sort(function(te,ce){return te.keyTail-ce.keyTail}),F}var _=g(c.primaryKey.keyPath,0,c.primaryKey);d[":id"]=[_];for(var C=0,V=c.indexes;C<V.length;C++){var A=V[C];g(A.keyPath,0,A)}function x(S){var M,O=S.query.index;return O.isVirtual?s(s({},S),{query:{index:O.lowLevelIndex,range:(M=S.query.range,O=O.keyTail,{type:M.type===1?2:M.type,lower:fo(M.lower,M.lowerOpen?r.MAX_KEY:r.MIN_KEY,O),lowerOpen:!0,upper:fo(M.upper,M.upperOpen?r.MIN_KEY:r.MAX_KEY,O),upperOpen:!0})}}):S}return s(s({},a),{schema:s(s({},c),{primaryKey:_,indexes:h,getIndexByKeyPath:function(S){return(S=d[as(S)])&&S[0]}}),count:function(S){return a.count(x(S))},query:function(S){return a.query(x(S))},openCursor:function(S){var M=S.query.index,O=M.keyTail,T=M.keyLength;return M.isVirtual?a.openCursor(x(S)).then(function(W){return W&&P(W)}):a.openCursor(S);function P(W){return Object.create(W,{continue:{value:function(F){F!=null?W.continue(fo(F,S.reverse?r.MAX_KEY:r.MIN_KEY,O)):S.unique?W.continue(W.key.slice(0,T).concat(S.reverse?r.MIN_KEY:r.MAX_KEY,O)):W.continue()}},continuePrimaryKey:{value:function(F,te){W.continuePrimaryKey(fo(F,r.MAX_KEY,O),te)}},primaryKey:{get:function(){return W.primaryKey}},key:{get:function(){var F=W.key;return T===1?F[0]:F.slice(0,T)}},value:{get:function(){return W.value}}})}}})}})}};function Li(r,o,a,c){return a=a||{},c=c||"",f(r).forEach(function(d){var h,g,_;k(o,d)?(h=r[d],g=o[d],typeof h=="object"&&typeof g=="object"&&h&&g?(_=tt(h))!==tt(g)?a[c+d]=o[d]:_==="Object"?Li(h,g,a,c+d+"."):h!==g&&(a[c+d]=o[d]):h!==g&&(a[c+d]=o[d])):a[c+d]=void 0}),f(o).forEach(function(d){k(r,d)||(a[c+d]=o[d])}),a}function Vi(r,o){return o.type==="delete"?o.keys:o.keys||o.values.map(r.extractKey)}var If={stack:"dbcore",name:"HooksMiddleware",level:2,create:function(r){return s(s({},r),{table:function(o){var a=r.table(o),c=a.schema.primaryKey;return s(s({},a),{mutate:function(d){var h=Ie.trans,g=h.table(o).hook,_=g.deleting,C=g.creating,V=g.updating;switch(d.type){case"add":if(C.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"put":if(C.fire===w&&V.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"delete":if(_.fire===w)break;return h._promise("readwrite",function(){return A(d)},!0);case"deleteRange":if(_.fire===w)break;return h._promise("readwrite",function(){return function x(S,M,O){return a.query({trans:S,values:!1,query:{index:c,range:M},limit:O}).then(function(T){var P=T.result;return A({type:"delete",keys:P,trans:S}).then(function(W){return 0<W.numFailures?Promise.reject(W.failures[0]):P.length<O?{failures:[],numFailures:0,lastResult:void 0}:x(S,s(s({},M),{lower:P[P.length-1],lowerOpen:!0}),O)})})}(d.trans,d.range,1e4)},!0)}return a.mutate(d);function A(x){var S,M,O,T=Ie.trans,P=x.keys||Vi(c,x);if(P)return(x=x.type==="add"||x.type==="put"?s(s({},x),{keys:P}):s({},x)).type!=="delete"&&(x.values=i([],x.values)),x.keys&&(x.keys=i([],x.keys)),S=a,O=P,((M=x).type==="add"?Promise.resolve([]):S.getMany({trans:M.trans,keys:O,cache:"immutable"})).then(function(W){var F=P.map(function(te,ce){var he,be,ve,Oe=W[ce],ye={onerror:null,onsuccess:null};return x.type==="delete"?_.fire.call(ye,te,Oe,T):x.type==="add"||Oe===void 0?(he=C.fire.call(ye,te,x.values[ce],T),te==null&&he!=null&&(x.keys[ce]=te=he,c.outbound||oe(x.values[ce],c.keyPath,te))):(he=Li(Oe,x.values[ce]),(be=V.fire.call(ye,he,te,Oe,T))&&(ve=x.values[ce],Object.keys(be).forEach(function(Pe){k(ve,Pe)?ve[Pe]=be[Pe]:oe(ve,Pe,be[Pe])}))),ye});return a.mutate(x).then(function(te){for(var ce=te.failures,he=te.results,be=te.numFailures,te=te.lastResult,ve=0;ve<P.length;++ve){var Oe=(he||P)[ve],ye=F[ve];Oe==null?ye.onerror&&ye.onerror(ce[ve]):ye.onsuccess&&ye.onsuccess(x.type==="put"&&W[ve]?x.values[ve]:Oe)}return{failures:ce,results:he,numFailures:be,lastResult:te}}).catch(function(te){return F.forEach(function(ce){return ce.onerror&&ce.onerror(te)}),Promise.reject(te)})});throw new Error("Keys missing")}}})}})}};function El(r,o,a){try{if(!o||o.keys.length<r.length)return null;for(var c=[],d=0,h=0;d<o.keys.length&&h<r.length;++d)Ze(o.keys[d],r[h])===0&&(c.push(a?xe(o.values[d]):o.values[d]),++h);return c.length===r.length?c:null}catch{return null}}var Df={stack:"dbcore",level:-1,create:function(r){return{table:function(o){var a=r.table(o);return s(s({},a),{getMany:function(c){var d;return c.cache?(d=El(c.keys,c.trans._cache,c.cache==="clone"))?Se.resolve(d):a.getMany(c).then(function(h){return c.trans._cache={keys:c.keys,values:c.cache==="clone"?xe(h):h},h}):a.getMany(c)},mutate:function(c){return c.type!=="add"&&(c.trans._cache=null),a.mutate(c)}})}}}};function $l(r,o){return r.trans.mode==="readonly"&&!!r.subscr&&!r.trans.explicit&&r.trans.db._options.cache!=="disabled"&&!o.schema.primaryKey.outbound}function Al(r,o){switch(r){case"query":return o.values&&!o.unique;case"get":case"getMany":case"count":case"openCursor":return!1}}var jf={stack:"dbcore",level:0,name:"Observability",create:function(r){var o=r.schema.name,a=new jt(r.MIN_KEY,r.MAX_KEY);return s(s({},r),{transaction:function(c,d,h){if(Ie.subscr&&d!=="readonly")throw new de.ReadOnly("Readwrite transaction in liveQuery context. Querier source: ".concat(Ie.querier));return r.transaction(c,d,h)},table:function(c){function d(P){var T,P=P.query;return[T=P.index,new jt((T=(P=P.range).lower)!=null?T:r.MIN_KEY,(T=P.upper)!=null?T:r.MAX_KEY)]}var h=r.table(c),g=h.schema,_=g.primaryKey,C=g.indexes,V=_.extractKey,A=_.outbound,x=_.autoIncrement&&C.filter(function(O){return O.compound&&O.keyPath.includes(_.keyPath)}),S=s(s({},h),{mutate:function(O){function T(pe){return pe="idb://".concat(o,"/").concat(c,"/").concat(pe),ce[pe]||(ce[pe]=new jt)}var P,W,F,te=O.trans,ce=O.mutatedParts||(O.mutatedParts={}),he=T(""),be=T(":dels"),ve=O.type,ye=O.type==="deleteRange"?[O.range]:O.type==="delete"?[O.keys]:O.values.length<50?[Vi(_,O).filter(function(pe){return pe}),O.values]:[],Oe=ye[0],ye=ye[1],Pe=O.trans._cache;return p(Oe)?(he.addKeys(Oe),(ve=ve==="delete"||Oe.length===ye.length?El(Oe,Pe):null)||be.addKeys(Oe),(ve||ye)&&(P=T,W=ve,F=ye,g.indexes.forEach(function(pe){var Le=P(pe.name||"");function Ve(Xe){return Xe!=null?pe.extractKey(Xe):null}function He(Xe){pe.multiEntry&&p(Xe)?Xe.forEach(function(en){return Le.addKey(en)}):Le.addKey(Xe)}(W||F).forEach(function(Xe,Kt){var Ue=W&&Ve(W[Kt]),Kt=F&&Ve(F[Kt]);Ze(Ue,Kt)!==0&&(Ue!=null&&He(Ue),Kt!=null)&&He(Kt)})}))):Oe?(ye={from:(Pe=Oe.lower)!=null?Pe:r.MIN_KEY,to:(ve=Oe.upper)!=null?ve:r.MAX_KEY},be.add(ye),he.add(ye)):(he.add(a),be.add(a),g.indexes.forEach(function(pe){return T(pe.name).add(a)})),h.mutate(O).then(function(pe){return!Oe||O.type!=="add"&&O.type!=="put"||(he.addKeys(pe.results),x&&x.forEach(function(Le){for(var Ve=O.values.map(function(Ue){return Le.extractKey(Ue)}),He=Le.keyPath.findIndex(function(Ue){return Ue===_.keyPath}),Xe=0,en=pe.results.length;Xe<en;++Xe)Ve[Xe][He]=pe.results[Xe];T(Le.name).addKeys(Ve)})),te.mutatedParts=uo(te.mutatedParts||{},ce),pe})}}),M={get:function(O){return[_,new jt(O.key)]},getMany:function(O){return[_,new jt().addKeys(O.keys)]},count:d,query:d,openCursor:d};return f(M).forEach(function(O){S[O]=function(T){var P=Ie.subscr,W=!!P,F=$l(Ie,h)&&Al(O,T)?T.obsSet={}:P;if(W){var te,P=function(ye){return ye="idb://".concat(o,"/").concat(c,"/").concat(ye),F[ye]||(F[ye]=new jt)},ce=P(""),he=P(":dels"),W=M[O](T),be=W[0],W=W[1];if((O==="query"&&be.isPrimaryKey&&!T.values?he:P(be.name||"")).add(W),!be.isPrimaryKey){if(O!=="count")return te=O==="query"&&A&&T.values&&h.query(s(s({},T),{values:!1})),h[O].apply(this,arguments).then(function(ye){if(O==="query"){if(A&&T.values)return te.then(function(Ve){return Ve=Ve.result,ce.addKeys(Ve),ye});var Pe=T.values?ye.result.map(V):ye.result;(T.values?ce:he).addKeys(Pe)}else{var pe,Le;if(O==="openCursor")return Le=T.values,(pe=ye)&&Object.create(pe,{key:{get:function(){return he.addKey(pe.primaryKey),pe.key}},primaryKey:{get:function(){var Ve=pe.primaryKey;return he.addKey(Ve),Ve}},value:{get:function(){return Le&&ce.addKey(pe.primaryKey),pe.value}}})}return ye});he.add(a)}}return h[O].apply(this,arguments)}}),S}})}};function Tl(r,o,a){var c;return a.numFailures===0?o:o.type==="deleteRange"||(c=o.keys?o.keys.length:"values"in o&&o.values?o.values.length:1,a.numFailures===c)?null:(c=s({},o),p(c.keys)&&(c.keys=c.keys.filter(function(d,h){return!(h in a.failures)})),"values"in c&&p(c.values)&&(c.values=c.values.filter(function(d,h){return!(h in a.failures)})),c)}function Fi(r,o){return a=r,((c=o).lower===void 0||(c.lowerOpen?0<Ze(a,c.lower):0<=Ze(a,c.lower)))&&(a=r,(c=o).upper===void 0||(c.upperOpen?Ze(a,c.upper)<0:Ze(a,c.upper)<=0));var a,c}function Ol(r,o,a,c,d,h){var g,_,C,V,A,x,S;return!a||a.length===0||(g=o.query.index,_=g.multiEntry,C=o.query.range,V=c.schema.primaryKey.extractKey,A=g.extractKey,x=(g.lowLevelIndex||g).extractKey,(c=a.reduce(function(M,O){var T=M,P=[];if(O.type==="add"||O.type==="put")for(var W=new jt,F=O.values.length-1;0<=F;--F){var te,ce=O.values[F],he=V(ce);!W.hasKey(he)&&(te=A(ce),_&&p(te)?te.some(function(Pe){return Fi(Pe,C)}):Fi(te,C))&&(W.addKey(he),P.push(ce))}switch(O.type){case"add":var be=new jt().addKeys(o.values?M.map(function(pe){return V(pe)}):M),T=M.concat(o.values?P.filter(function(pe){return pe=V(pe),!be.hasKey(pe)&&(be.addKey(pe),!0)}):P.map(function(pe){return V(pe)}).filter(function(pe){return!be.hasKey(pe)&&(be.addKey(pe),!0)}));break;case"put":var ve=new jt().addKeys(O.values.map(function(pe){return V(pe)}));T=M.filter(function(pe){return!ve.hasKey(o.values?V(pe):pe)}).concat(o.values?P:P.map(function(pe){return V(pe)}));break;case"delete":var Oe=new jt().addKeys(O.keys);T=M.filter(function(pe){return!Oe.hasKey(o.values?V(pe):pe)});break;case"deleteRange":var ye=O.range;T=M.filter(function(pe){return!Fi(V(pe),ye)})}return T},r))===r)?r:(S=function(M,O){return Ze(x(M),x(O))||Ze(V(M),V(O))},c.sort(o.direction==="prev"||o.direction==="prevunique"?function(M,O){return S(O,M)}:S),o.limit&&o.limit<1/0&&(c.length>o.limit?c.length=o.limit:r.length===o.limit&&c.length<o.limit&&(d.dirty=!0)),h?Object.freeze(c):c)}function Pl(r,o){return Ze(r.lower,o.lower)===0&&Ze(r.upper,o.upper)===0&&!!r.lowerOpen==!!o.lowerOpen&&!!r.upperOpen==!!o.upperOpen}function Kf(r,o){return((a,c,d,h)=>{if(a===void 0)return c!==void 0?-1:0;if(c===void 0)return 1;if((a=Ze(a,c))===0){if(d&&h)return 0;if(d)return 1;if(h)return-1}return a})(r.lower,o.lower,r.lowerOpen,o.lowerOpen)<=0&&0<=((a,c,d,h)=>{if(a===void 0)return c!==void 0?1:0;if(c===void 0)return-1;if((a=Ze(a,c))===0){if(d&&h)return 0;if(d)return-1;if(h)return 1}return a})(r.upper,o.upper,r.upperOpen,o.upperOpen)}function Rf(r,o,a,c){r.subscribers.add(a),c.addEventListener("abort",function(){var d,h;r.subscribers.delete(a),r.subscribers.size===0&&(d=r,h=o,setTimeout(function(){d.subscribers.size===0&&_e(h,d)},3e3))})}var Nf={stack:"dbcore",level:0,name:"Cache",create:function(r){var o=r.schema.name;return s(s({},r),{transaction:function(a,c,d){var h,g,_=r.transaction(a,c,d);return c==="readwrite"&&(d=(h=new AbortController).signal,_.addEventListener("abort",(g=function(C){return function(){if(h.abort(),c==="readwrite"){for(var V=new Set,A=0,x=a;A<x.length;A++){var S=x[A],M=gr["idb://".concat(o,"/").concat(S)];if(M){var O=r.table(S),T=M.optimisticOps.filter(function(pe){return pe.trans===_});if(_._explicit&&C&&_.mutatedParts)for(var P=0,W=Object.values(M.queries.query);P<W.length;P++)for(var F=0,te=(be=W[P]).slice();F<te.length;F++)Di((ve=te[F]).obsSet,_.mutatedParts)&&(_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)}));else if(0<T.length){M.optimisticOps=M.optimisticOps.filter(function(pe){return pe.trans!==_});for(var ce=0,he=Object.values(M.queries.query);ce<he.length;ce++)for(var be,ve,Oe,ye=0,Pe=(be=he[ce]).slice();ye<Pe.length;ye++)(ve=Pe[ye]).res!=null&&_.mutatedParts&&(C&&!ve.dirty?(Oe=Object.isFrozen(ve.res),Oe=Ol(ve.res,ve.req,T,O,ve,Oe),ve.dirty?(_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)})):Oe!==ve.res&&(ve.res=Oe,ve.promise=Se.resolve({result:Oe}))):(ve.dirty&&_e(be,ve),ve.subscribers.forEach(function(pe){return V.add(pe)})))}}}V.forEach(function(pe){return pe()})}}})(!1),{signal:d}),_.addEventListener("error",g(!1),{signal:d}),_.addEventListener("complete",g(!0),{signal:d})),_},table:function(a){var c=r.table(a),d=c.schema.primaryKey;return s(s({},c),{mutate:function(h){var g,_=Ie.trans;return!d.outbound&&_.db._options.cache!=="disabled"&&!_.explicit&&_.idbtrans.mode==="readwrite"&&(g=gr["idb://".concat(o,"/").concat(a)])?(_=c.mutate(h),h.type!=="add"&&h.type!=="put"||!(50<=h.values.length||Vi(d,h).some(function(C){return C==null}))?(g.optimisticOps.push(h),h.mutatedParts&&co(h.mutatedParts),_.then(function(C){0<C.numFailures&&(_e(g.optimisticOps,h),(C=Tl(0,h,C))&&g.optimisticOps.push(C),h.mutatedParts)&&co(h.mutatedParts)}),_.catch(function(){_e(g.optimisticOps,h),h.mutatedParts&&co(h.mutatedParts)})):_.then(function(C){var V=Tl(0,s(s({},h),{values:h.values.map(function(A,x){var S;return C.failures[x]?A:(oe(S=(S=d.keyPath)!=null&&S.includes(".")?xe(A):s({},A),d.keyPath,C.results[x]),S)})}),C);g.optimisticOps.push(V),queueMicrotask(function(){return h.mutatedParts&&co(h.mutatedParts)})}),_):c.mutate(h)},query:function(h){var g,_,C,V,A,x,S;return $l(Ie,c)&&Al("query",h)?(g=((C=Ie.trans)==null?void 0:C.db._options.cache)==="immutable",_=(C=Ie).requery,C=C.signal,x=((M,O,T,P)=>{var W=gr["idb://".concat(M,"/").concat(O)];if(!W)return[];if(!(M=W.queries[T]))return[null,!1,W,null];var F=M[(P.query?P.query.index.name:null)||""];if(!F)return[null,!1,W,null];switch(T){case"query":var te=(ce=P.direction)!=null?ce:"next",ce=F.find(function(he){var be;return he.req.limit===P.limit&&he.req.values===P.values&&((be=he.req.direction)!=null?be:"next")===te&&Pl(he.req.query.range,P.query.range)});return ce?[ce,!0,W,F]:[F.find(function(he){var be;return("limit"in he.req?he.req.limit:1/0)>=P.limit&&((be=he.req.direction)!=null?be:"next")===te&&(!P.values||he.req.values)&&Kf(he.req.query.range,P.query.range)}),!1,W,F];case"count":return ce=F.find(function(he){return Pl(he.req.query.range,P.query.range)}),[ce,!!ce,W,F]}})(o,a,"query",h),S=x[0],V=x[2],A=x[3],S&&x[1]?S.obsSet=h.obsSet:(x=c.query(h).then(function(M){var O=M.result;if(S&&(S.res=O),g){for(var T=0,P=O.length;T<P;++T)Object.freeze(O[T]);Object.freeze(O)}return M}).catch(function(M){return A&&S&&_e(A,S),Promise.reject(M)}),S={obsSet:h.obsSet,promise:x,subscribers:new Set,type:"query",req:h,dirty:!1},A?A.push(S):(A=[S],(V=V||(gr["idb://".concat(o,"/").concat(a)]={queries:{query:{},count:{}},objs:new Map,optimisticOps:[],unsignaledParts:{}})).queries.query[h.query.index.name||""]=A)),Rf(S,A,_,C),S.promise.then(function(M){return M=Ol(M.result,h,V==null?void 0:V.optimisticOps,c,S,g),{result:g?M:xe(M)}})):c.query(h)}})}})}};function po(r,o){return new Proxy(r,{get:function(a,c,d){return c==="db"?o:Reflect.get(a,c,d)}})}kt.prototype.version=function(r){if(isNaN(r)||r<.1)throw new de.Type("Given version is not a positive number");if(r=Math.round(10*r)/10,this.idbdb||this._state.isBeingOpened)throw new de.Schema("Cannot add version when database is open");this.verno=Math.max(this.verno,r);var o=this._versions,a=o.filter(function(c){return c._cfg.version===r})[0];return a||(a=new this.Version(r),o.push(a),o.sort($f),a.stores({}),this._state.autoSchema=!1),a},kt.prototype._whenReady=function(r){var o=this;return this.idbdb&&(this._state.openComplete||Ie.letThrough||this._vip)?r():new Se(function(a,c){if(o._state.openComplete)return c(new de.DatabaseClosed(o._state.dbOpenError));if(!o._state.isBeingOpened){if(!o._state.autoOpen)return void c(new de.DatabaseClosed);o.open().catch(w)}o._state.dbReadyPromise.then(a,c)}).then(r)},kt.prototype.use=function(d){var o=d.stack,a=d.create,c=d.level,d=d.name,h=(d&&this.unuse({stack:o,name:d}),this._middlewares[o]||(this._middlewares[o]=[]));return h.push({stack:o,create:a,level:c??10,name:d}),h.sort(function(g,_){return g.level-_.level}),this},kt.prototype.unuse=function(r){var o=r.stack,a=r.name,c=r.create;return o&&this._middlewares[o]&&(this._middlewares[o]=this._middlewares[o].filter(function(d){return c?d.create!==c:!!a&&d.name!==a})),this},kt.prototype.open=function(){var r=this;return vr(St,function(){return Pf(r)})},kt.prototype._close=function(){this.on.close.fire(new CustomEvent("close"));var r=this._state;if(ls.remove(this),this.idbdb){try{this.idbdb.close()}catch{}this.idbdb=null}r.isBeingOpened||(r.dbReadyPromise=new Se(function(o){r.dbReadyResolve=o}),r.openCanceller=new Se(function(o,a){r.cancelOpen=a}))},kt.prototype.close=function(o){var o=(o===void 0?{disableAutoOpen:!0}:o).disableAutoOpen,a=this._state;o?(a.isBeingOpened&&a.cancelOpen(new de.DatabaseClosed),this._close(),a.autoOpen=!1,a.dbOpenError=new de.DatabaseClosed):(this._close(),a.autoOpen=this._options.autoOpen||a.isBeingOpened,a.openComplete=!1,a.dbOpenError=null)},kt.prototype.delete=function(r){var o=this,a=(r===void 0&&(r={disableAutoOpen:!0}),0<arguments.length&&typeof arguments[0]!="object"),c=this._state;return new Se(function(d,h){function g(){o.close(r);var _=o._deps.indexedDB.deleteDatabase(o.name);_.onsuccess=pt(function(){var C,V,A;C=o._deps,V=o.name,Pi(A=C.indexedDB)||V===Js||Oi(A,C.IDBKeyRange).delete(V).catch(w),d()}),_.onerror=dn(h),_.onblocked=o._fireOnBlocked}if(a)throw new de.InvalidArgument("Invalid closeOptions argument to db.delete()");c.isBeingOpened?c.dbReadyPromise.then(g):g()})},kt.prototype.backendDB=function(){return this.idbdb},kt.prototype.isOpen=function(){return this.idbdb!==null},kt.prototype.hasBeenClosed=function(){var r=this._state.dbOpenError;return r&&r.name==="DatabaseClosed"},kt.prototype.hasFailed=function(){return this._state.dbOpenError!==null},kt.prototype.dynamicallyOpened=function(){return this._state.autoSchema},Object.defineProperty(kt.prototype,"tables",{get:function(){var r=this;return f(this._allTables).map(function(o){return r._allTables[o]})},enumerable:!1,configurable:!0}),kt.prototype.transaction=function(){var r=(function(o,a,c){var d=arguments.length;if(d<2)throw new de.InvalidArgument("Too few arguments");for(var h=new Array(d-1);--d;)h[d-1]=arguments[d];return c=h.pop(),[o,le(h),c]}).apply(this,arguments);return this._transaction.apply(this,r)},kt.prototype._transaction=function(r,o,a){var c,d,h=this,g=Ie.trans,_=(g&&g.db===this&&r.indexOf("!")===-1||(g=null),r.indexOf("?")!==-1);r=r.replace("!","").replace("?","");try{if(d=o.map(function(V){if(V=V instanceof h.Table?V.name:V,typeof V!="string")throw new TypeError("Invalid table argument to Dexie.transaction(). Only Table or String are allowed");return V}),r=="r"||r===bi)c=bi;else{if(r!="rw"&&r!=_i)throw new de.InvalidArgument("Invalid transaction mode: "+r);c=_i}if(g){if(g.mode===bi&&c===_i){if(!_)throw new de.SubTransaction("Cannot enter a sub-transaction with READWRITE mode when parent transaction is READONLY");g=null}g&&d.forEach(function(V){if(g&&g.storeNames.indexOf(V)===-1){if(!_)throw new de.SubTransaction("Table "+V+" not included in parent transaction.");g=null}}),_&&g&&!g.active&&(g=null)}}catch(V){return g?g._promise(null,function(A,x){x(V)}):wt(V)}var C=(function V(A,x,S,M,O){return Se.resolve().then(function(){var F=Ie.transless||Ie,T=A._createTransaction(x,S,A._dbSchema,M),F=(T.explicit=!0,{trans:T,transless:F});if(M)T.idbtrans=M.idbtrans;else try{T.create(),T.idbtrans._explicit=!0,A._state.PR1398_maxLoop=3}catch(te){return te.name===Jt.InvalidState&&A.isOpen()&&0<--A._state.PR1398_maxLoop?(console.warn("Dexie: Need to reopen db"),A.close({disableAutoOpen:!1}),A.open().then(function(){return V(A,x,S,null,O)})):wt(te)}var P,W=ge(O),F=(W&&Nr(),Se.follow(function(){var te;(P=O.call(T,T))&&(W?(te=zn.bind(null,null),P.then(te,te)):typeof P.next=="function"&&typeof P.throw=="function"&&(P=Ni(P)))},F));return(P&&typeof P.then=="function"?Se.resolve(P).then(function(te){return T.active?te:wt(new de.PrematureCommit("Transaction committed too early. See http://bit.ly/2kdckMn"))}):F.then(function(){return P})).then(function(te){return M&&T._resolve(),T._completion.then(function(){return te})}).catch(function(te){return T._reject(te),wt(te)})})}).bind(null,this,c,d,g,a);return g?g._promise(c,C,"lock"):Ie.trans?vr(Ie.transless,function(){return h._whenReady(C)}):this._whenReady(C)},kt.prototype.table=function(r){if(k(this._allTables,r))return this._allTables[r];throw new de.InvalidTable("Table ".concat(r," does not exist"))};var Mn=kt;function kt(r,o){var a,c,d,h,g,_=this,C=(this._middlewares={},this.verno=0,kt.dependencies),C=(this._options=o=s({addons:kt.addons,autoOpen:!0,indexedDB:C.indexedDB,IDBKeyRange:C.IDBKeyRange,cache:"cloned",maxConnections:1e3},o),this._deps={indexedDB:o.indexedDB,IDBKeyRange:o.IDBKeyRange},o.addons),V=(this._dbSchema={},this._versions=[],this._storeNames=[],this._allTables={},this.idbdb=null,this._novip=this,{dbOpenError:null,isBeingOpened:!1,onReadyBeingFired:null,openComplete:!1,dbReadyResolve:w,dbReadyPromise:null,cancelOpen:w,openCanceller:null,autoSchema:!0,PR1398_maxLoop:3,autoOpen:o.autoOpen}),A=(V.dbReadyPromise=new Se(function(x){V.dbReadyResolve=x}),V.openCanceller=new Se(function(x,S){V.cancelOpen=S}),this._state=V,this.name=r,this.on=rs(this,"populate","blocked","versionchange","close",{ready:[q,w]}),this.once=function(x,S){var M=function(){for(var O=[],T=0;T<arguments.length;T++)O[T]=arguments[T];_.on(x).unsubscribe(M),S.apply(_,O)};return _.on(x,M)},this.on.ready.subscribe=j(this.on.ready.subscribe,function(x){return function(S,M){kt.vip(function(){var O,T=_._state;T.openComplete?(T.dbOpenError||Se.resolve().then(S),M&&x(S)):T.onReadyBeingFired?(T.onReadyBeingFired.push(S),M&&x(S)):(x(S),O=_,M||x(function P(){O.on.ready.unsubscribe(S),O.on.ready.unsubscribe(P)}))})}}),this.Collection=(a=this,ss(_f.prototype,function(P,T){this.db=a;var M=il,O=null;if(T)try{M=T()}catch(F){O=F}var T=P._ctx,P=T.table,W=P.hook.reading.fire;this._ctx={table:P,index:T.index,isPrimKey:!T.index||P.schema.primKey.keyPath&&T.index===P.schema.primKey.name,range:M,keysOnly:!1,dir:"next",unique:"",algorithm:null,filter:null,replayFilter:null,justLimit:!0,isMatch:null,offset:0,limit:1/0,error:O,or:T.or,valueMapper:W!==H?W:null}})),this.Table=(c=this,ss(dl.prototype,function(x,S,M){this.db=c,this._tx=M,this.name=x,this.schema=S,this.hook=c._allTables[x]?c._allTables[x].hook:rs(null,{creating:[Z,w],reading:[ue,H],updating:[me,w],deleting:[we,w]})})),this.Transaction=(d=this,ss(xf.prototype,function(x,S,M,O,T){var P=this;x!=="readonly"&&S.forEach(function(W){W=(W=M[W])==null?void 0:W.yProps,W&&(S=S.concat(W.map(function(F){return F.updatesTable})))}),this.db=d,this.mode=x,this.storeNames=S,this.schema=M,this.chromeTransactionDurability=O,this.idbtrans=null,this.on=rs(this,"complete","error","abort"),this.parent=T||null,this.active=!0,this._reculock=0,this._blockedFuncs=[],this._resolve=null,this._reject=null,this._waitingFor=null,this._waitingQueue=null,this._spinCount=0,this._completion=new Se(function(W,F){P._resolve=W,P._reject=F}),this._completion.then(function(){P.active=!1,P.on.complete.fire()},function(W){var F=P.active;return P.active=!1,P.on.error.fire(W),P.parent?P.parent._reject(W):F&&P.idbtrans&&P.idbtrans.abort(),wt(W)})})),this.Version=(h=this,ss(Of.prototype,function(x){this.db=h,this._cfg={version:x,storesSource:null,dbschema:{},tables:{},contentUpgrade:null}})),this.WhereClause=(g=this,ss(yl.prototype,function(x,S,M){if(this.db=g,this._ctx={table:x,index:S===":id"?null:S,or:M},this._cmp=this._ascending=Ze,this._descending=function(O,T){return Ze(T,O)},this._max=function(O,T){return 0<Ze(O,T)?O:T},this._min=function(O,T){return Ze(O,T)<0?O:T},this._IDBKeyRange=g._deps.IDBKeyRange,!this._IDBKeyRange)throw new de.MissingAPI})),this.on("versionchange",function(x){0<x.newVersion?console.warn("Another connection wants to upgrade database '".concat(_.name,"'. Closing db now to resume the upgrade.")):console.warn("Another connection wants to delete database '".concat(_.name,"'. Closing db now to resume the delete request.")),_.close({disableAutoOpen:!1})}),this.on("blocked",function(x){!x.newVersion||x.newVersion<x.oldVersion?console.warn("Dexie.delete('".concat(_.name,"') was blocked")):console.warn("Upgrade '".concat(_.name,"' blocked by other connection holding version ").concat(x.oldVersion/10))}),this._maxKey=is(o.IDBKeyRange),this._createTransaction=function(x,S,M,O){return new _.Transaction(x,S,M,_._options.chromeTransactionDurability,O)},this._fireOnBlocked=function(x){_.on("blocked").fire(x),ls.toArray().filter(function(S){return S.name===_.name&&S!==_&&!S._state.vcFired}).map(function(S){return S.on("versionchange").fire(x)})},this.use(Df),this.use(Nf),this.use(jf),this.use(Mf),this.use(If),new Proxy(this,{get:function(x,S,M){var O;return S==="_vip"||(S==="table"?function(T){return po(_.table(T),A)}:(O=Reflect.get(x,S,M))instanceof dl?po(O,A):S==="tables"?O.map(function(T){return po(T,A)}):S==="_createTransaction"?function(){return po(O.apply(this,arguments),A)}:O)}}));this.vip=A,C.forEach(function(x){return x(_)})}var ho,Br=typeof Symbol<"u"&&"observable"in Symbol?Symbol.observable:"@@observable",Lf=(Bi.prototype.subscribe=function(r,o,a){return this._subscribe(r&&typeof r!="function"?r:{next:r,error:o,complete:a})},Bi.prototype[Br]=function(){return this},Bi);function Bi(r){this._subscribe=r}try{ho={indexedDB:l.indexedDB||l.mozIndexedDB||l.webkitIndexedDB||l.msIndexedDB,IDBKeyRange:l.IDBKeyRange||l.webkitIDBKeyRange}}catch{ho={indexedDB:null,IDBKeyRange:null}}function Ml(r){var o,a=!1,c=new Lf(function(d){var h=ge(r),g,_=!1,C={},V={},A={get closed(){return _},unsubscribe:function(){_||(_=!0,g&&g.abort(),x&&Jn.storagemutated.unsubscribe(O))}},x=(d.start&&d.start(A),!1),S=function(){return gi(T)};function M(){return Di(V,C)}var O=function(P){uo(C,P),M()&&S()},T=function(){var P,W,F;!_&&ho.indexedDB&&(C={},P={},g&&g.abort(),g=new AbortController,F=(te=>{var ce=Kr();try{h&&Nr();var he=Wn(r,te);return he=h?he.finally(zn):he}finally{ce&&Rr()}})(W={subscr:P,signal:g.signal,requery:S,querier:r,trans:null}),x||(Jn.storagemutated.subscribe(O),x=!0),Promise.resolve(F).then(function(te){a=!0,o=te,_||W.signal.aborted||(M()||(V=P,M())?S():(C={},gi(function(){return!_&&d.next&&d.next(te)})))},function(te){a=!1,["DatabaseClosedError","AbortError"].includes(te==null?void 0:te.name)||_||gi(function(){_||d.error&&d.error(te)})}))};return setTimeout(S,0),A});return c.hasValue=function(){return a},c.getValue=function(){return o},c}var br=Mn;function Ui(r){var o=Xn;try{Xn=!0,Jn.storagemutated.fire(r),Ri(r,!0)}finally{Xn=o}}I(br,s(s({},Q),{delete:function(r){return new br(r,{addons:[]}).delete()},exists:function(r){return new br(r,{addons:[]}).open().then(function(o){return o.close(),!0}).catch("NoSuchDatabaseError",function(){return!1})},getDatabaseNames:function(r){try{return o=br.dependencies,a=o.indexedDB,o=o.IDBKeyRange,(Pi(a)?Promise.resolve(a.databases()).then(function(c){return c.map(function(d){return d.name}).filter(function(d){return d!==Js})}):Oi(a,o).toCollection().primaryKeys()).then(r)}catch{return wt(new de.MissingAPI)}var o,a},defineClass:function(){return function(r){v(this,r)}},ignoreTransaction:function(r){return Ie.trans?vr(Ie.transless||St,r):r()},vip:Mi,async:function(r){return function(){try{var o=Ni(r.apply(this,arguments));return o&&typeof o.then=="function"?o:Se.resolve(o)}catch(a){return wt(a)}}},spawn:function(r,o,a){try{var c=Ni(r.apply(a,o||[]));return c&&typeof c.then=="function"?c:Se.resolve(c)}catch(d){return wt(d)}},currentTransaction:{get:function(){return Ie.trans||null}},waitFor:function(r,o){return r=Se.resolve(typeof r=="function"?br.ignoreTransaction(r):r).timeout(o||6e4),Ie.trans?Ie.trans.waitFor(r):r},Promise:Se,debug:{get:function(){return B},set:function(r){z(r)}},derive:G,extend:v,props:I,override:j,Events:rs,on:Jn,liveQuery:Ml,extendObservabilitySet:uo,getByKeyPath:ie,setByKeyPath:oe,delByKeyPath:function(r,o){typeof o=="string"?oe(r,o,void 0):"length"in o&&[].map.call(o,function(a){oe(r,a,void 0)})},shallowClone:R,deepClone:xe,getObjectDiff:Li,cmp:Ze,asap:ae,minKey:-1/0,addons:[],connections:{get:ls.toArray},errnames:Jt,dependencies:ho,cache:gr,semVer:"4.4.6",version:"4.4.6".split(".").map(function(r){return parseInt(r)}).reduce(function(r,o,a){return r+o/Math.pow(10,2*a)})})),br.maxKey=is(br.dependencies.IDBKeyRange),typeof dispatchEvent<"u"&&typeof addEventListener<"u"&&(Jn(no,function(r){Xn||(r=new CustomEvent(xi,{detail:r}),Xn=!0,dispatchEvent(r),Xn=!1)}),addEventListener(xi,function(r){r=r.detail,Xn||Ui(r)}));var Ur,Xn=!1,Il=function(){};return typeof BroadcastChannel<"u"&&((Il=function(){(Ur=new BroadcastChannel(xi)).onmessage=function(r){return r.data&&Ui(r.data)}})(),typeof Ur.unref=="function"&&Ur.unref(),Jn(no,function(r){Xn||Ur.postMessage(r)})),typeof addEventListener<"u"&&(addEventListener("pagehide",function(r){if(!Mn.disableBfCache&&r.persisted){B&&console.debug("Dexie: handling persisted pagehide"),Ur!=null&&Ur.close();for(var o=0,a=ls.toArray();o<a.length;o++)a[o].close({disableAutoOpen:!1})}}),addEventListener("pageshow",function(r){!Mn.disableBfCache&&r.persisted&&(B&&console.debug("Dexie: handling persisted pageshow"),Il(),Ui({all:new jt(-1/0,[[]])}))})),Se.rejectionMapper=function(r,o){return!r||r instanceof Ce||r instanceof TypeError||r instanceof SyntaxError||!r.name||!m[r.name]?r:(o=new m[r.name](o||r.message,r),"stack"in r&&N(o,"stack",{get:function(){return this.inner.stack}}),o)},z(B),s(Mn,Object.freeze({__proto__:null,DEFAULT_MAX_CONNECTIONS:1e3,Dexie:Mn,Entity:al,PropModification:ns,RangeSet:jt,add:function(r){return new ns({add:r})},cmp:Ze,default:Mn,liveQuery:Ml,mergeRanges:cs,rangesOverlap:kl,remove:function(r){return new ns({remove:r})},replacePrefix:function(r,o){return new ns({replacePrefix:[r,o]})}}),{default:Mn}),Mn})})(zc);var Ih=zc.exports;const wa=Mh(Ih),ku=Symbol.for("Dexie"),Ir=globalThis[ku]||(globalThis[ku]=wa);if(wa.semVer!==Ir.semVer)throw new Error(`Two different versions of Dexie loaded in the same app: ${wa.semVer} and ${Ir.semVer}`);const{liveQuery:X1,mergeRanges:Q1,rangesOverlap:Z1,RangeSet:e0,cmp:t0,Entity:n0,PropModification:r0,replacePrefix:s0,add:o0,remove:i0,DexieYProvider:a0}=Ir;class Gc extends Ir{constructor(t="intern_worklog"){super(t),this.version(1).stores({project:"++id, &name, archived",work_log:"++id, &date",log_item:"++id, work_log_id, project_id, category",attendance:"++id, &date",weekly_note:"++id, &week_start",setting:"key"}),this.version(2).stores({memo:"++id, updated_at",credential:"++id, system, updated_at"}),this.version(3).stores({transaction:"++id, date, type, category"}),this.version(4).stores({sync_mirror:"++id, table, uuid",tombstone:"++id, table, uuid, deleted_at"})}}let ne;function Dh(e){ne=e}function Yc(){ne&&ne.close(),ne=void 0}const jh=4,Wr=["餐饮","交通","住房","通讯","学习","娱乐","其他"],Lo=["工资","报销","其他"],xu=["公司","客户现场","出差","居家办公"],Fs=[{key:"dev",label:"开发"},{key:"bugfix",label:"BUG修复"},{key:"test",label:"测试"},{key:"learning",label:"学习成长"},{key:"meeting",label:"会议沟通"},{key:"doc",label:"文档输出"},{key:"other",label:"其他"}];function za(e){const t=Fs.find(n=>n.key===e);return t?t.label:"其他"}const Kh={class:"dialog",role:"dialog","aria-label":"编辑工作记录"},Rh={class:"dialog-head"},Nh={key:0,class:"muted dialog-sub"},Lh={class:"dialog-body"},Vh={class:"form-grid"},Fh={class:"field span2"},Bh={key:0,class:"form-error"},Uh={class:"field"},qh=["value"],Hh={class:"field"},Wh=["value"],zh={class:"field"},Gh={class:"field"},Yh={class:"field span2"},Jh={class:"field"},Xh={class:"field"},Qh={class:"dialog-btns"},Zh=Ft({__name:"EditLogDialog",props:{open:{type:Boolean},item:{},projects:{},date:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L(""),l=L(null),f=L("dev"),p=L(null),v=L(""),b=L(""),y=L(0),k=L(0),I=L(""),D=L(null),N=ot(()=>{var j;const ee=n.projects.filter(Y=>Y.archived!==1),E=(j=n.item)==null?void 0:j.project_id;if(E&&!ee.some(Y=>Y.id===E)){const Y=n.projects.find(ie=>ie.id===E),ae=ee.slice();return Y&&ae.unshift({...Y,name:Y.name+"(已归档)"}),ae}return ee});function G(ee){n.open&&ee.key==="Escape"&&s("cancel")}vt(()=>n.open,async ee=>{var E;if(ee){const j=n.item;i.value=(j==null?void 0:j.content)??"",l.value=(j==null?void 0:j.project_id)??null,f.value=(j==null?void 0:j.category)??"dev",p.value=(j==null?void 0:j.minutes)??null,v.value=(j==null?void 0:j.takeaway)??"",b.value=(j==null?void 0:j.remark)??"",y.value=(j==null?void 0:j.is_milestone)??0,k.value=(j==null?void 0:j.needs_followup)??0,I.value="",window.addEventListener("keydown",G),await Zr(),(E=D.value)==null||E.focus()}else window.removeEventListener("keydown",G)}),dr(()=>window.removeEventListener("keydown",G)),vt(i,()=>{I.value&&(I.value="")});function fe(){const ee=i.value.trim();if(!ee){I.value="请填写工作内容";return}if(!n.item||!n.item.id){s("cancel");return}s("save",{id:n.item.id,content:ee,project_id:l.value,category:f.value,minutes:p.value&&p.value>0?p.value:null,takeaway:v.value.trim()||null,remark:b.value.trim()||null,is_milestone:y.value?1:0,needs_followup:k.value?1:0})}return(ee,E)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:E[10]||(E[10]=Mr(j=>s("cancel"),["self"]))},[u("div",Kh,[u("div",Rh,[u("div",null,[E[11]||(E[11]=u("div",{class:"dialog-title"},"编辑工作记录",-1)),e.date?(K(),U("div",Nh,re(e.date),1)):$e("",!0)]),u("button",{class:"icon-btn",title:"关闭",onClick:E[0]||(E[0]=j=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",Lh,[u("div",Vh,[u("div",Fh,[E[12]||(E[12]=u("label",null,"工作内容(必填)",-1)),Ae(u("input",{ref_key:"contentInput",ref:D,class:Qe(["input",{invalid:I.value}]),"onUpdate:modelValue":E[1]||(E[1]=j=>i.value=j),onKeydown:Dt(fe,["enter"])},null,34),[[De,i.value]]),I.value?(K(),U("div",Bh,re(I.value),1)):$e("",!0)]),u("div",Uh,[E[14]||(E[14]=u("label",null,"所属项目",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[2]||(E[2]=j=>l.value=j)},[E[13]||(E[13]=u("option",{value:null},"无项目",-1)),(K(!0),U(Ke,null,lt(N.value,j=>(K(),U("option",{key:j.id,value:j.id},re(j.name),9,qh))),128))],512),[[Ln,l.value]])]),u("div",Hh,[E[15]||(E[15]=u("label",null,"工作分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[3]||(E[3]=j=>f.value=j)},[(K(!0),U(Ke,null,lt(nn(Fs),j=>(K(),U("option",{key:j.key,value:j.key},re(j.label),9,Wh))),128))],512),[[Ln,f.value]])]),u("div",zh,[E[16]||(E[16]=u("label",null,"耗时(分钟)",-1)),Ae(u("input",{class:"input",type:"number",min:"0","onUpdate:modelValue":E[4]||(E[4]=j=>p.value=j),placeholder:"选填"},null,512),[[De,p.value,void 0,{number:!0}]])]),u("div",Gh,[E[17]||(E[17]=u("label",null,"主要收获",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":E[5]||(E[5]=j=>v.value=j),placeholder:"一句话:学到了什么"},null,512),[[De,v.value]])]),u("div",Yh,[E[18]||(E[18]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":E[6]||(E[6]=j=>b.value=j),placeholder:"背景、链接、未决事项(选填)"},null,512),[[De,b.value]])]),u("div",Jh,[E[19]||(E[19]=u("label",null,"成果标记",-1)),u("button",{class:Qe(["toggle-btn",{on:y.value===1}]),onClick:E[7]||(E[7]=j=>y.value=y.value===1?0:1)},re(y.value===1?"已标记为成果":"未标记"),3)]),u("div",Xh,[E[20]||(E[20]=u("label",null,"待跟进",-1)),u("button",{class:Qe(["toggle-btn",{onwarn:k.value===1}]),onClick:E[8]||(E[8]=j=>k.value=k.value===1?0:1)},re(k.value===1?"需要跟进":"无需跟进"),3)])])]),u("div",Qh,[u("button",{class:"btn btn-sm",onClick:E[9]||(E[9]=j=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:fe},"保存修改")])])])):$e("",!0)]),_:1})]))}}),ev=Yt(Zh,[["__scopeId","data-v-63bc0b48"]]);function xs(e){return e<10?"0"+e:String(e)}function Vn(e){return e.getFullYear()+"-"+xs(e.getMonth()+1)+"-"+xs(e.getDate())}function _t(){return Vn(new Date)}function yt(){const e=new Date;return Vn(e)+"T"+xs(e.getHours())+":"+xs(e.getMinutes())+":"+xs(e.getSeconds())}function Fn(e){if(!e)return"--:--";const t=e.indexOf("T");return t>=0?e.slice(t+1,t+6):e.slice(0,5)}function ts(e){const t=e.split("-").map(Number);return new Date(t[0],t[1]-1,t[2])}function Nn(e,t){const n=ts(e);return n.setDate(n.getDate()+t),Vn(n)}function Vo(e,t){const n=ts(e),s=n.getDate();n.setDate(1),n.setMonth(n.getMonth()+t);const i=new Date(n.getFullYear(),n.getMonth()+1,0).getDate();return n.setDate(Math.min(s,i)),Vn(n)}function Cs(e){const t=ts(e),n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),Vn(t)}function tv(e){const t=ts(e).getDay();return t===0||t===6}function nv(e,t){return Math.round((new Date(t).getTime()-new Date(e).getTime())/6e4)}function Jc(e){const t=ts(e),n=["周日","周一","周二","周三","周四","周五","周六"];return t.getFullYear()+" 年 "+(t.getMonth()+1)+" 月 "+t.getDate()+" 日 "+n[t.getDay()]}async function ht(e,t){const n=await ne.setting.get(e);return n?n.value:t}async function bt(e,t){await ne.setting.put({key:e,value:t})}async function Dr(){const e=await Promise.all([ht("work_start","09:00"),ht("work_end","18:00"),ht("grace_minutes","10"),ht("lunch_minutes","60"),ht("remind_weekly","friday")]);return{work_start:e[0],work_end:e[1],grace_minutes:Number(e[2])||0,lunch_minutes:Number(e[3])||0,remind_weekly:e[4]}}async function rv(){const e=await ht("last_project",""),t=await ht("last_category","dev");return{project_id:e?Number(e):null,category:t||"dev"}}async function sv(){return ht("last_location","")}async function ov(e,t){const n=t.trim();await bt("last_location",n),n&&await Fo(n);const s=await mn(e);s&&s.id?await ne.attendance.update(s.id,{location:n||null}):n&&await ne.attendance.add({date:e,clock_in_at:null,clock_out_at:null,kind:"normal",note:null,location:n,created_at:yt()})}async function Ga(){const e=await ht("location_presets","");if(!e)return xu.slice();try{const t=JSON.parse(e);if(Array.isArray(t))return t.filter(n=>typeof n=="string"&&n.trim()).map(n=>n.trim())}catch{}return xu.slice()}async function Xc(e){const t=Array.from(new Set(e.map(n=>n.trim()).filter(Boolean)));await bt("location_presets",JSON.stringify(t))}async function Fo(e){const t=e.trim();if(!t)return;const n=await Ga();n.includes(t)||await Xc([...n,t])}async function Ks(e=!1){const t=await ne.project.orderBy("name").toArray();return e?t:t.filter(n=>n.archived!==1)}async function iv(e){await ne.project.add({name:e.trim(),archived:0,created_at:yt()})}async function av(e,t){await ne.project.update(e,{name:t.trim()})}async function lv(e,t){await ne.project.update(e,{archived:t?1:0})}async function mn(e){return ne.attendance.where("date").equals(e).first()}async function Qc(e,t){const n=((t===void 0?await ht("last_location",""):t)||"").trim(),s=await mn(e);if(s&&s.id){if(!s.clock_in_at){const i={clock_in_at:yt()};n&&(i.location=n),await ne.attendance.update(s.id,i)}n&&(await bt("last_location",n),await Fo(n));return}await ne.attendance.add({date:e,clock_in_at:yt(),clock_out_at:null,kind:"normal",note:null,location:n||null,created_at:yt()}),n&&(await bt("last_location",n),await Fo(n))}async function uv(e){const t=await mn(e);t&&t.id&&t.clock_in_at&&!t.clock_out_at&&await ne.attendance.update(t.id,{clock_out_at:yt()})}async function cv(){const e=new Date,t=Vn(e);if(e.getHours()<4){const s=await mn(Nn(t,-1));if(s&&s.id&&s.clock_in_at&&!s.clock_out_at)return await ne.attendance.update(s.id,{clock_out_at:yt()}),s.date}const n=await mn(t);if(n&&n.id&&n.clock_in_at&&!n.clock_out_at)return await ne.attendance.update(n.id,{clock_out_at:yt()}),n.date;throw new Error("没有进行中的打卡")}async function fv(e,t,n,s,i){(i||"").trim()&&await Fo(i);const l=await mn(e),f={date:e,clock_in_at:t,clock_out_at:n,kind:"makeup",note:s||null,location:(i||"").trim()||null,created_at:yt()};l&&l.id?await ne.attendance.update(l.id,f):await ne.attendance.add(f)}async function dv(e,t,n){const s=(n||"").trim();if(!s)return;const i=await mn(e);i&&i.id&&await ne.attendance.update(i.id,{[t]:e+"T"+s+":00"})}async function li(e,t){return ne.attendance.where("date").between(e,t,!0,!0).toArray()}async function pv(e,t){const n=await mn(e);if(t){const s={date:e,kind:"leave",clock_in_at:null,clock_out_at:null,created_at:yt()};n&&n.id?await ne.attendance.update(n.id,s):await ne.attendance.add({...s,note:null,location:null})}else n&&n.id&&await ne.attendance.update(n.id,{kind:"normal"})}async function hv(e){const t=await ne.work_log.where("date").equals(e).first();return t||{id:await ne.work_log.add({date:e,created_at:yt()}),date:e,created_at:yt()}}async function vv(e){return ne.work_log.where("date").equals(e).first()}async function mv(e){const t=await vv(e);return!t||!t.id?[]:(await ne.log_item.where("work_log_id").equals(t.id).toArray()).sort((s,i)=>i.id-s.id)}async function yv(e,t){const n=await hv(e);await ne.log_item.add({work_log_id:n.id,content:t.content,project_id:t.project_id,category:t.category,minutes:t.minutes,is_milestone:0,needs_followup:0,takeaway:t.takeaway,remark:t.remark,sort_order:0,created_at:yt()}),await bt("last_project",t.project_id?String(t.project_id):""),await bt("last_category",t.category)}async function sa(e,t){await ne.log_item.update(e,t)}async function gv(e){await ne.log_item.delete(e)}async function ui(e,t){const n=await ne.work_log.where("date").between(e,t,!0,!0).toArray();if(!n.length)return[];const s=new Map(n.map(l=>[l.id,l.date]));return(await ne.log_item.where("work_log_id").anyOf(n.map(l=>l.id)).toArray()).map(l=>({...l,date:s.get(l.work_log_id)||""})).sort((l,f)=>l.date===f.date?l.id-f.id:l.date<f.date?-1:1)}async function Ya(e){return ne.weekly_note.where("week_start").equals(e).first()}async function bv(e,t){const n=await Ya(e);n&&n.id?await ne.weekly_note.update(n.id,t):await ne.weekly_note.add({week_start:e,highlights:t.highlights??null,challenges:t.challenges??null,plan_next:t.plan_next??null,created_at:yt()})}async function _v(e,t){return ne.weekly_note.where("week_start").between(e,t,!0,!0).toArray()}async function wv(){return(await ne.memo.toArray()).sort((t,n)=>t.updated_at<n.updated_at?1:-1)}async function kv(e,t){const n=yt();return{id:await ne.memo.add({title:e.trim(),content:t,created_at:n,updated_at:n}),title:e.trim(),content:t,created_at:n,updated_at:n}}async function xv(e,t,n){await ne.memo.update(e,{title:t.trim(),content:n,updated_at:yt()})}async function Cv(e){await ne.memo.delete(e)}async function Sv(e,t=8){const n=e.trim().toLowerCase();if(!n)return[];const s=await ne.work_log.toArray(),i=new Map(s.map(f=>[f.id,f.date]));return(await ne.log_item.toArray()).filter(f=>((f.content||"")+" "+(f.takeaway||"")+" "+(f.remark||"")).toLowerCase().includes(n)).sort((f,p)=>p.id-f.id).slice(0,t).map(f=>({...f,date:i.get(f.work_log_id)||""}))}async function Ev(e,t=4){const n=e.trim().toLowerCase();return n?(await ne.memo.toArray()).filter(i=>((i.title||"")+" "+(i.content||"")).toLowerCase().includes(n)).sort((i,l)=>i.updated_at<l.updated_at?1:-1).slice(0,t):[]}async function $v(e,t){return ne.transaction.where("date").between(e,t,!0,!0).toArray()}async function Av(e){await ne.transaction.add({...e,created_at:yt()})}async function Tv(e,t){await ne.transaction.update(e,{...t})}async function Ov(e){await ne.transaction.delete(e)}async function Pv(e,t){await ne.transaction.update(e,{reimbursed:1})}async function Mv(){const e=await Promise.all([ne.project.toArray(),ne.work_log.toArray(),ne.log_item.toArray(),ne.attendance.toArray(),ne.weekly_note.toArray(),ne.setting.toArray(),ne.memo.toArray(),ne.credential.toArray(),ne.transaction.toArray()]);return JSON.stringify({schema_version:jh,exported_at:yt(),data:{project:e[0],work_log:e[1],log_item:e[2],attendance:e[3],weekly_note:e[4],setting:e[5],memo:e[6],credential:e[7],transaction:e[8]}},null,2)}async function Iv(e){let t=null;try{t=JSON.parse(e)}catch{throw new Error("不是有效的 JSON 文件")}if(!t||t.schema_version!==1&&t.schema_version!==2&&t.schema_version!==3||!t.data)throw new Error("文件格式或 schema 版本不匹配");const n=t.data;await ne.transaction("rw",[ne.project,ne.work_log,ne.log_item,ne.attendance,ne.weekly_note,ne.setting,ne.memo,ne.credential,ne.transaction],async()=>{await Promise.all([ne.project.clear(),ne.work_log.clear(),ne.log_item.clear(),ne.attendance.clear(),ne.weekly_note.clear(),ne.setting.clear(),ne.memo.clear(),ne.credential.clear(),ne.transaction.clear()]),n.project&&n.project.length&&await ne.project.bulkAdd(n.project),n.work_log&&n.work_log.length&&await ne.work_log.bulkAdd(n.work_log),n.log_item&&n.log_item.length&&await ne.log_item.bulkAdd(n.log_item),n.attendance&&n.attendance.length&&await ne.attendance.bulkAdd(n.attendance),n.weekly_note&&n.weekly_note.length&&await ne.weekly_note.bulkAdd(n.weekly_note),n.setting&&n.setting.length&&await ne.setting.bulkAdd(n.setting),n.memo&&n.memo.length&&await ne.memo.bulkAdd(n.memo),n.credential&&n.credential.length&&await ne.credential.bulkAdd(n.credential),n.transaction&&n.transaction.length&&await ne.transaction.bulkAdd(n.transaction)})}function ko(e){const t=e.split(":");return Number(t[0])*60+Number(t[1])}function Bs(e,t,n,s){if(e&&e.kind==="leave")return{status:"leave",label:"请假",makeup:!1,workedMinutes:null};if(tv(t))return{status:"rest",label:"休息日",makeup:!1,workedMinutes:null};if(!e||!e.clock_in_at)return s?{status:"none",label:"未打卡",makeup:!1,workedMinutes:null}:{status:"absent",label:"缺勤",makeup:!!(e&&e.kind==="makeup"),workedMinutes:null};const i=e.kind==="makeup";if(!e.clock_out_at)return{status:"incomplete",label:s?"进行中":"未完成",makeup:i,workedMinutes:null};const l=ko(Fn(e.clock_in_at)),f=ko(Fn(e.clock_out_at)),p=ko(n.work_start),v=ko(n.work_end);let b="normal";!i&&l>p+n.grace_minutes?b="late":!i&&f<v&&(b="early");const y=nv(e.clock_in_at,e.clock_out_at),k=Math.max(0,y-n.lunch_minutes);return{status:b,label:i?"补卡":b==="late"?"迟到":b==="early"?"早退":"正常",makeup:i,workedMinutes:k}}const $o=L([]);let Dv=0;function ze(e){const t=++Dv;$o.value.push({id:t,text:e}),setTimeout(()=>{$o.value=$o.value.filter(n=>n.id!==t)},2e3)}function jv(){return $o}const ka=L(null),xa=L(null),Us=L(0);function Sr(){Us.value++}const Kv={class:"day-panel"},Rv={class:"dp-head"},Nv={class:"dp-date"},Lv={class:"card sec"},Vv={class:"att-grid"},Fv={class:"att-cell"},Bv={key:0,class:"edit-row"},Uv={key:1,class:"att-val"},qv={class:"att-cell"},Hv={key:0,class:"edit-row"},Wv={key:1,class:"att-val"},zv={class:"att-cell"},Gv=["list"],Yv=["id"],Jv=["value"],Xv={class:"att-cell"},Qv={class:"att-val status-val"},Zv={key:0,class:"tag"},em={key:1,class:"muted"},tm={key:0,class:"att-note muted"},nm={class:"att-actions"},rm=["disabled"],sm=["disabled"],om=["disabled"],im=["disabled"],am={key:0,class:"card sec makeup"},lm={class:"form-grid"},um={class:"field"},cm={class:"field"},fm={class:"field span2"},dm=["list"],pm={class:"field span2"},hm={key:0,class:"form-error"},vm={class:"form-footer"},mm={class:"card sec"},ym={class:"form-grid"},gm={class:"field span2"},bm={key:0,class:"form-error"},_m={class:"field"},wm=["value"],km={class:"field"},xm=["value"],Cm={class:"field"},Sm={class:"field"},Em={class:"field span2"},$m={class:"form-footer"},Am=["disabled"],Tm=["disabled"],Om={class:"list-sec"},Pm={class:"sec-title"},Mm={key:0,class:"empty muted"},Im={class:"item-main"},Dm={class:"tag"},jm=["onClick"],Km={key:0,class:"muted item-meta"},Rm={key:1,class:"muted num item-meta"},Nm=["onClick"],Lm=["onClick"],Vm=["onClick"],Fm=["onClick"],Bm={key:0,class:"item-sub"},Um={key:0,class:"muted2"},qm={key:1,class:"muted"},Hm={key:1,class:"dp-foot muted num"},Wm=Ft({__name:"DayPanel",props:{date:{}},setup(e){const t=e,n=L(!0),s=L(null),i=L(void 0),l=L([]),f=L([]),p=L(""),v=L([]),b=ot(()=>"loc-list-"+t.date),y=ot(()=>t.date===_t());async function k(){n.value=!0,s.value=await Dr(),i.value=await mn(t.date),l.value=await mv(t.date),f.value=await Ks(!0),v.value=await Ga(),p.value=i.value&&i.value.location||await sv(),n.value=!1}fn(k),vt(()=>t.date,k),vt(Us,()=>{k()});const I=ot(()=>f.value.filter(q=>q.archived!==1));function D(q){if(!q)return"";const B=f.value.find(z=>z.id===q);return B?B.name:"已删除项目"}const N=ot(()=>s.value?Bs(i.value,t.date,s.value,y.value):null),G=ot(()=>l.value.reduce((q,B)=>q+(B.minutes||0),0)),fe=L(!1);async function ee(){fe.value||(fe.value=!0,await Qc(t.date,p.value),await k(),Sr(),ze("上班打卡成功"),fe.value=!1)}async function E(){fe.value||(fe.value=!0,await uv(t.date),await k(),Sr(),ze("下班打卡成功"),fe.value=!1)}async function j(){await ov(t.date,p.value),Sr(),ze("地点已更新")}const Y=L(!1),ae=ot(()=>{var q;return((q=i.value)==null?void 0:q.kind)==="leave"});function ie(){if(i.value&&i.value.clock_in_at){Y.value=!0;return}oe(!0)}async function oe(q){Y.value=!1,await pv(t.date,q),await k(),Sr(),ze(q?"已标记为休假":"已取消休假")}const R=L(null),$=L(""),le=L(null);vt(R,async q=>{var B;q&&(await Zr(),(B=le.value)==null||B.focus())});function Ee(q){var z,Te;const B=q==="in"?(z=i.value)==null?void 0:z.clock_in_at:(Te=i.value)==null?void 0:Te.clock_out_at;R.value=q,$.value=B?Fn(B):q==="in"?"09:00":"18:00"}function J(){R.value=null}async function xe(){const q=R.value;q&&(R.value=null,$.value&&(await dv(t.date,q==="in"?"clock_in_at":"clock_out_at",$.value),await k(),Sr(),ze("打卡时间已修改")))}const Fe=L(!1),tt=L("09:00"),Be=L("18:00"),Ge=L(""),_e=L(""),je=L("");function et(){_e.value=p.value,je.value="",Fe.value=!Fe.value}async function ge(){if(!tt.value||!Be.value){je.value="请填写上班与下班时间";return}await fv(t.date,t.date+"T"+tt.value+":00",t.date+"T"+Be.value+":00",Ge.value.trim(),_e.value),Fe.value=!1,Ge.value="",je.value="",await k(),Sr(),ze("补卡已保存")}const Q=L(""),X=L("");vt(Q,()=>{X.value&&(X.value="")});const Ce=L(null),At=L("dev"),Ct=L(null),Et=L(""),Jt=L(""),Bt=L(!1),de=ot(()=>!!(Q.value.trim()||Ct.value||Et.value.trim()||Jt.value.trim()));fn(async()=>{const q=await rv();Ce.value=q.project_id,At.value=q.category});function m(){Q.value="",Ct.value=null,Et.value="",Jt.value="",X.value=""}async function w(){const q=Q.value.trim();if(!q){X.value="请填写工作内容";return}Bt.value||(Bt.value=!0,await yv(t.date,{content:q,project_id:Ce.value,category:At.value,minutes:Ct.value&&Ct.value>0?Ct.value:null,takeaway:Et.value.trim()||null,remark:Jt.value.trim()||null}),m(),await k(),ze("记录已添加"),Bt.value=!1)}const H=L(null);function ue(q){H.value=q}async function se(q){const B=q.id,z={content:q.content,project_id:q.project_id,category:q.category,minutes:q.minutes,takeaway:q.takeaway,remark:q.remark,is_milestone:q.is_milestone,needs_followup:q.needs_followup};await sa(B,z),H.value=null,await k(),ze("修改已保存")}async function Z(q){await sa(q.id,{is_milestone:q.is_milestone?0:1}),await k()}async function we(q){await sa(q.id,{needs_followup:q.needs_followup?0:1}),await k()}const me=L(null);async function ke(){me.value&&me.value.id&&await gv(me.value.id),me.value=null,await k(),ze("记录已删除")}return(q,B)=>(K(),U("div",Kv,[u("div",Rv,[u("div",Nv,re(nn(Jc)(e.date)),1)]),u("div",Lv,[B[25]||(B[25]=u("div",{class:"sec-title"},"出勤信息",-1)),u("div",Vv,[u("div",Fv,[B[21]||(B[21]=u("label",null,"上班时间",-1)),R.value==="in"?(K(),U("div",Bv,[Ae(u("input",{ref_key:"timeInput",ref:le,type:"time",class:"input time-input","onUpdate:modelValue":B[0]||(B[0]=z=>$.value=z),onKeydown:[Dt(xe,["enter"]),Dt(J,["esc"])]},null,544),[[De,$.value]]),u("button",{class:"btn btn-primary btn-sm",onClick:xe},"确认"),u("button",{class:"btn btn-sm",onClick:J},"取消")])):(K(),U("div",Uv,[u("span",{class:Qe(["num",{"val-empty":!(i.value&&i.value.clock_in_at)}])},re(i.value&&i.value.clock_in_at?nn(Fn)(i.value.clock_in_at):"未打卡"),3),i.value&&i.value.id?(K(),U("button",{key:0,class:"icon-btn",title:"修改上班时间",onClick:B[1]||(B[1]=z=>Ee("in"))},[Me(at,{name:"edit",size:13})])):$e("",!0)]))]),u("div",qv,[B[22]||(B[22]=u("label",null,"下班时间",-1)),R.value==="out"?(K(),U("div",Hv,[Ae(u("input",{ref_key:"timeInput",ref:le,type:"time",class:"input time-input","onUpdate:modelValue":B[2]||(B[2]=z=>$.value=z),onKeydown:[Dt(xe,["enter"]),Dt(J,["esc"])]},null,544),[[De,$.value]]),u("button",{class:"btn btn-primary btn-sm",onClick:xe},"确认"),u("button",{class:"btn btn-sm",onClick:J},"取消")])):(K(),U("div",Wv,[u("span",{class:Qe(["num",{"val-empty":!(i.value&&i.value.clock_out_at)}])},re(i.value&&i.value.clock_out_at?nn(Fn)(i.value.clock_out_at):"未打卡"),3),i.value&&i.value.id?(K(),U("button",{key:0,class:"icon-btn",title:"修改下班时间",onClick:B[3]||(B[3]=z=>Ee("out"))},[Me(at,{name:"edit",size:13})])):$e("",!0)]))]),u("div",zv,[B[23]||(B[23]=u("label",null,"上班地点",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[4]||(B[4]=z=>p.value=z),list:b.value,placeholder:"可直接输入",title:"上班地点,可自由输入",onChange:j},null,40,Gv),[[De,p.value]]),u("datalist",{id:b.value},[(K(!0),U(Ke,null,lt(v.value,z=>(K(),U("option",{key:z,value:z},null,8,Jv))),128))],8,Yv)]),u("div",Xv,[B[24]||(B[24]=u("label",null,"考勤状态",-1)),u("div",Qv,[N.value?(K(),U(Ke,{key:0},[u("span",{class:Qe(["dot",N.value.status])},null,2),u("span",null,re(N.value.label),1),i.value&&i.value.kind==="makeup"?(K(),U("span",Zv,"补卡")):$e("",!0)],64)):(K(),U("span",em,"--"))])])]),i.value&&i.value.note?(K(),U("div",tm,"补卡说明:"+re(i.value.note),1)):$e("",!0),u("div",nm,[y.value&&(!i.value||!i.value.clock_in_at)?(K(),U("button",{key:0,class:"btn btn-primary btn-sm",disabled:fe.value,onClick:ee},"上班打卡",8,rm)):y.value&&i.value&&i.value.clock_in_at&&!i.value.clock_out_at?(K(),U("button",{key:1,class:"btn btn-primary btn-sm",disabled:fe.value,onClick:E},"下班打卡",8,sm)):$e("",!0),!y.value&&(!i.value||!i.value.clock_in_at)?(K(),U("button",{key:2,class:"btn btn-sm",onClick:et},"补卡")):$e("",!0),ae.value?(K(),U("button",{key:4,class:"btn btn-sm",disabled:fe.value,onClick:B[5]||(B[5]=z=>oe(!1))},"取消休假",8,im)):(K(),U("button",{key:3,class:"btn btn-sm",disabled:fe.value,onClick:ie},"标记休假",8,om))])]),Fe.value?(K(),U("div",am,[B[30]||(B[30]=u("div",{class:"sec-title"},"补卡登记",-1)),u("div",lm,[u("div",um,[B[26]||(B[26]=u("label",null,"上班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":B[6]||(B[6]=z=>tt.value=z)},null,512),[[De,tt.value]])]),u("div",cm,[B[27]||(B[27]=u("label",null,"下班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":B[7]||(B[7]=z=>Be.value=z)},null,512),[[De,Be.value]])]),u("div",fm,[B[28]||(B[28]=u("label",null,"上班地点",-1)),Ae(u("input",{class:"input",list:b.value,"onUpdate:modelValue":B[8]||(B[8]=z=>_e.value=z),placeholder:"可直接输入"},null,8,dm),[[De,_e.value]])]),u("div",pm,[B[29]||(B[29]=u("label",null,"补卡原因",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[9]||(B[9]=z=>Ge.value=z),placeholder:"如:外出拜访客户忘记打卡"},null,512),[[De,Ge.value]])])]),je.value?(K(),U("div",hm,re(je.value),1)):$e("",!0),u("div",vm,[u("button",{class:"btn btn-sm",onClick:B[10]||(B[10]=z=>Fe.value=!1)},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:ge},"保存补卡")])])):$e("",!0),u("div",mm,[B[38]||(B[38]=u("div",{class:"sec-head"},[u("span",{class:"sec-title"},"新增工作记录"),u("span",{class:"muted form-hint"},"内容必填,其余选填")],-1)),u("div",ym,[u("div",gm,[B[31]||(B[31]=u("label",null,"工作内容(必填)",-1)),Ae(u("input",{class:Qe(["input",{invalid:X.value}]),"onUpdate:modelValue":B[11]||(B[11]=z=>Q.value=z),placeholder:"做了什么,一句话一条",onKeydown:Dt(w,["enter"])},null,34),[[De,Q.value]]),X.value?(K(),U("div",bm,re(X.value),1)):$e("",!0)]),u("div",_m,[B[33]||(B[33]=u("label",null,"所属项目",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":B[12]||(B[12]=z=>Ce.value=z)},[B[32]||(B[32]=u("option",{value:null},"无项目",-1)),(K(!0),U(Ke,null,lt(I.value,z=>(K(),U("option",{key:z.id,value:z.id},re(z.name),9,wm))),128))],512),[[Ln,Ce.value]])]),u("div",km,[B[34]||(B[34]=u("label",null,"工作分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":B[13]||(B[13]=z=>At.value=z)},[(K(!0),U(Ke,null,lt(nn(Fs),z=>(K(),U("option",{key:z.key,value:z.key},re(z.label),9,xm))),128))],512),[[Ln,At.value]])]),u("div",Cm,[B[35]||(B[35]=u("label",null,"耗时(分钟)",-1)),Ae(u("input",{class:"input",type:"number",min:"0","onUpdate:modelValue":B[14]||(B[14]=z=>Ct.value=z),placeholder:"选填"},null,512),[[De,Ct.value,void 0,{number:!0}]])]),u("div",Sm,[B[36]||(B[36]=u("label",null,"主要收获",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":B[15]||(B[15]=z=>Et.value=z),placeholder:"一句话:学到了什么"},null,512),[[De,Et.value]])]),u("div",Em,[B[37]||(B[37]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":B[16]||(B[16]=z=>Jt.value=z),placeholder:"背景、链接、未决事项(选填)"},null,512),[[De,Jt.value]])])]),u("div",$m,[u("button",{class:"btn btn-sm",disabled:!de.value,onClick:m},"重置",8,Am),u("button",{class:"btn btn-primary btn-sm",disabled:Bt.value,onClick:w},"添加记录",8,Tm)])]),u("div",Om,[u("div",Pm,"工作记录("+re(l.value.length)+")",1),!l.value.length&&!n.value?(K(),U("div",Mm,"暂无记录")):$e("",!0),(K(!0),U(Ke,null,lt(l.value,z=>(K(),U("div",{key:z.id,class:"item"},[u("div",Im,[u("span",Dm,re(nn(za)(z.category)),1),u("span",{class:"item-content",title:"点击编辑",onClick:Te=>ue(z)},re(z.content),9,jm),z.project_id?(K(),U("span",Km,re(D(z.project_id)),1)):$e("",!0),z.minutes?(K(),U("span",Rm,re(z.minutes)+" 分钟",1)):$e("",!0),B[39]||(B[39]=u("span",{class:"flex1"},null,-1)),u("button",{class:"icon-btn",title:"编辑完整信息",onClick:Te=>ue(z)},[Me(at,{name:"edit",size:14})],8,Nm),u("button",{class:Qe(["icon-btn",{active:z.is_milestone===1}]),title:"成果标记",onClick:Te=>Z(z)},[Me(at,{name:"star",size:14})],10,Lm),u("button",{class:Qe(["icon-btn",{"active-warn":z.needs_followup===1}]),title:"待跟进",onClick:Te=>we(z)},[Me(at,{name:"flag",size:14})],10,Vm),u("button",{class:"icon-btn",title:"删除",onClick:Te=>me.value=z},[Me(at,{name:"close",size:14})],8,Fm)]),z.takeaway||z.remark?(K(),U("div",Bm,[z.takeaway?(K(),U("div",Um,"收获:"+re(z.takeaway),1)):$e("",!0),z.remark?(K(),U("div",qm,"备注:"+re(z.remark),1)):$e("",!0)])):$e("",!0)]))),128)),l.value.length?(K(),U("div",Hm,[tn(" 共 "+re(l.value.length)+" 条事项 ",1),G.value?(K(),U(Ke,{key:0},[tn(" · "+re((G.value/60).toFixed(1))+" 小时",1)],64)):$e("",!0)])):$e("",!0)]),Me(ur,{open:!!me.value,title:"删除确认",message:me.value?"将删除工作记录「"+me.value.content+"」。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:B[17]||(B[17]=z=>me.value=null),onConfirm:ke},null,8,["open","message"]),Me(ur,{open:Y.value,title:"标记休假确认",message:"该日已有打卡记录,标记休假将清空上下班时间。是否继续?","confirm-text":"标记休假",danger:"",onCancel:B[18]||(B[18]=z=>Y.value=!1),onConfirm:B[19]||(B[19]=z=>oe(!0))},null,8,["open"]),Me(ev,{open:!!H.value,item:H.value,projects:f.value,date:e.date,onCancel:B[20]||(B[20]=z=>H.value=null),onSave:se},null,8,["open","item","projects","date"])]))}}),Zc=Yt(Wm,[["__scopeId","data-v-2e90c9d8"]]),zm={class:"cal-page"},Gm={class:"cal-toolbar"},Ym={class:"cal-title num"},Jm={class:"cal-head"},Xm={class:"cal-grid"},Qm=["title","onClick"],Zm={class:"cal-marks"},ey={key:0,class:"drawer"},ty={class:"drawer-head"},ny={class:"drawer-body"},ry=Ft({__name:"CalendarView",setup(e){const t=L(_t()),n=ot(()=>Number(t.value.slice(0,4))),s=ot(()=>Number(t.value.slice(5,7))-1),i=ot(()=>n.value+" 年 "+(s.value+1)+" 月"),l=["一","二","三","四","五","六","日"],f=ot(()=>{const Y=(new Date(n.value,s.value,1).getDay()+6)%7,ae=new Date(n.value,s.value+1,0).getDate(),ie=[];for(let oe=0;oe<Y;oe++)ie.push({date:"",inMonth:!1,weekend:!1});for(let oe=1;oe<=ae;oe++){const R=new Date(n.value,s.value,oe),$=R.getDay();ie.push({date:Vn(R),inMonth:!0,weekend:$===0||$===6})}return ie}),p=L(new Map),v=_t();async function b(){var le;const j=Vn(new Date(n.value,s.value,1)),Y=Vn(new Date(n.value,s.value+1,0)),ae=await Promise.all([Dr(),li(j,Y),ui(j,Y)]),ie=ae[0],oe=new Map(ae[1].map(Ee=>[Ee.date,Ee])),R=ae[2],$=new Map;for(const Ee of f.value){if(!Ee.inMonth)continue;const J=Bs(oe.get(Ee.date),Ee.date,ie,Ee.date===v),xe=R.filter(Fe=>Fe.date===Ee.date);$.set(Ee.date,{status:J.status,label:J.label,location:((le=oe.get(Ee.date))==null?void 0:le.location)||"",hasLog:xe.length>0,hasMilestone:xe.some(Fe=>Fe.is_milestone===1)})}p.value=$}vt([n,s],b,{immediate:!0}),vt(Us,()=>{b()});function y(j){var Y;return((Y=p.value.get(j))==null?void 0:Y.status)??""}function k(j){const Y=p.value.get(j);return Y?j+" · "+Y.label+(Y.location?" · "+Y.location:""):j}function I(j){var Y;return!!((Y=p.value.get(j))!=null&&Y.hasLog)}function D(j){var Y;return!!((Y=p.value.get(j))!=null&&Y.hasMilestone)}function N(){t.value=Vo(t.value,-1)}function G(){t.value=Vo(t.value,1)}function fe(){t.value=_t()}const ee=L(null);function E(j,Y){Y&&(ee.value=j)}return vt(ka,j=>{j&&(t.value=j,ee.value=j,ka.value=null)},{immediate:!0}),(j,Y)=>(K(),U("div",zm,[u("div",Gm,[u("button",{class:"icon-btn",onClick:N},[Me(at,{name:"chevron-left",size:16})]),u("span",Ym,re(i.value),1),u("button",{class:"icon-btn",onClick:G},[Me(at,{name:"chevron-right",size:16})]),u("button",{class:"btn btn-sm",onClick:fe},"回到今天")]),u("div",Jm,[(K(),U(Ke,null,lt(l,ae=>u("span",{key:ae,class:"cal-week muted"},re(ae),1)),64))]),u("div",Xm,[(K(!0),U(Ke,null,lt(f.value,(ae,ie)=>(K(),U("button",{key:ie,class:Qe(["cal-cell",{blank:!ae.inMonth,weekend:ae.weekend,selected:ee.value===ae.date}]),title:ae.inMonth?k(ae.date):void 0,onClick:oe=>E(ae.date,ae.inMonth)},[ae.inMonth?(K(),U(Ke,{key:0},[u("span",{class:Qe(["daynum num",{today:ae.date===nn(v)}])},re(Number(ae.date.slice(8,10))),3),u("span",Zm,[y(ae.date)?(K(),U("span",{key:0,class:Qe(["dot",y(ae.date)])},null,2)):$e("",!0),I(ae.date)?(K(),It(at,{key:1,name:"check-circle",size:12,class:"mark-log"})):$e("",!0),D(ae.date)?(K(),It(at,{key:2,name:"star",size:12,class:"mark-star"})):$e("",!0)])],64)):$e("",!0)],10,Qm))),128))]),Me(es,{name:"drawer"},{default:fr(()=>[ee.value?(K(),U("aside",ey,[u("div",ty,[Y[1]||(Y[1]=u("span",{class:"drawer-title"},"当日详情",-1)),u("button",{class:"icon-btn",onClick:Y[0]||(Y[0]=ae=>ee.value=null)},[Me(at,{name:"close",size:16})])]),u("div",ny,[Me(Zc,{date:ee.value},null,8,["date"])])])):$e("",!0)]),_:1})]))}}),sy=Yt(ry,[["__scopeId","data-v-6a6322fa"]]),oy={class:"detail-page"},iy={class:"detail-toolbar"},ay=["value"],ly=["disabled"],uy=Ft({__name:"TodayView",setup(e){const t=L(_t()),n=ot(()=>t.value===_t());function s(){t.value=Nn(t.value,-1)}function i(){t.value=Nn(t.value,1)}function l(){t.value=_t()}function f(p){const v=p.target.value;v&&(t.value=v)}return(p,v)=>(K(),U("div",oy,[u("div",iy,[u("button",{class:"icon-btn",title:"前一天",onClick:s},[Me(at,{name:"chevron-left",size:16})]),u("span",{class:Qe(["date-title num",{"is-today":n.value}])},re(nn(Jc)(t.value)),3),u("button",{class:"icon-btn",title:"后一天",onClick:i},[Me(at,{name:"chevron-right",size:16})]),u("input",{type:"date",class:"input w-date",value:t.value,onChange:f},null,40,ay),u("button",{class:"btn btn-sm",disabled:n.value,onClick:l},"回到今天",8,ly)]),Me(Zc,{date:t.value},null,8,["date"])]))}}),cy=Yt(uy,[["__scopeId","data-v-ac366cf6"]]),fy={class:"stats"},dy={class:"cards"},py={class:"card stat-card"},hy={class:"stat-num num"},vy={class:"card stat-card"},my={class:"stat-num num"},yy={class:"card stat-card"},gy={class:"stat-num num"},by={class:"card stat-card"},_y={class:"stat-num num"},wy={class:"card section"},ky={class:"heat"},xy=["title"],Cy={class:"two-col"},Sy={class:"card section"},Ey={class:"bar-label"},$y={class:"bar-track"},Ay={class:"muted num bar-num"},Ty={key:0,class:"muted"},Oy={class:"card section"},Py={class:"bar-label"},My={class:"bar-track"},Iy={class:"muted num bar-num"},Dy={key:0,class:"muted"},jy={class:"card section"},Ky={class:"bar-label loc-label"},Ry={class:"bar-track"},Ny={class:"muted num bar-num"},Ly={key:0,class:"muted"},Vy=Ft({__name:"StatsView",setup(e){const t=L({attendDays:0,totalHours:"0",itemCount:0,streak:0}),n=L([]),s=L([]),i=L([]),l=L([]);async function f(){const b=_t(),y="2000-01-01",k=await Promise.all([Dr(),li(y,b),ui(y,b),Ks(!0)]),I=k[0],D=k[1],N=k[2],G=k[3],fe=D.filter(J=>J.clock_in_at||J.kind==="makeup");let ee=0;for(const J of fe){const xe=Bs(J,J.date,I,J.date===b);ee+=xe.workedMinutes??0}const E=new Set(N.map(J=>J.date));let j=0,Y=b;for(E.has(Y)||(Y=Nn(b,-1));E.has(Y);)j++,Y=Nn(Y,-1);t.value={attendDays:fe.length,totalHours:(ee/60).toFixed(1),itemCount:N.length,streak:j};const ae=new Map;for(const J of fe){const xe=J.location||"未记录";ae.set(xe,(ae.get(xe)||0)+1)}l.value=Array.from(ae.entries()).map(J=>({name:J[0],count:J[1],percent:Math.round(J[1]/(fe.length||1)*100)})).sort((J,xe)=>xe.count-J.count);const ie=N.length||1;s.value=Fs.map(J=>{const xe=N.filter(Fe=>Fe.category===J.key).length;return{key:J.key,label:J.label,count:xe,percent:Math.round(xe/ie*100)}}).filter(J=>J.count>0).sort((J,xe)=>xe.count-J.count);const oe=new Map(G.map(J=>[J.id,J.name])),R=new Map;for(const J of N){const xe=J.project_id?oe.get(J.project_id)||"已删除项目":"无项目";R.set(xe,(R.get(xe)||0)+1)}i.value=Array.from(R.entries()).map(J=>({name:J[0],count:J[1],percent:Math.round(J[1]/ie*100)})).sort((J,xe)=>xe.count-J.count);const $=new Map;for(const J of N)$.set(J.date,($.get(J.date)||0)+1);const le=Cs(b),Ee=[];for(let J=11;J>=0;J--){const xe=Nn(le,-7*J),Fe=[];for(let tt=0;tt<7;tt++){const Be=Nn(xe,tt);Fe.push({date:Be,count:$.get(Be)||0})}Ee.push(Fe)}n.value=Ee}fn(async()=>{await f()}),vt(Us,()=>{f()});function p(b){return b===0?0:b===1?1:b<=3?2:b<=5?3:4}function v(b,y){return b+" · "+(y?y+" 条":"无记录")}return(b,y)=>(K(),U("div",fy,[u("div",dy,[u("div",py,[y[0]||(y[0]=u("div",{class:"muted"},"出勤天数",-1)),u("div",hy,re(t.value.attendDays),1)]),u("div",vy,[y[1]||(y[1]=u("div",{class:"muted"},"累计工时(小时)",-1)),u("div",my,re(t.value.totalHours),1)]),u("div",yy,[y[2]||(y[2]=u("div",{class:"muted"},"记录条数",-1)),u("div",gy,re(t.value.itemCount),1)]),u("div",by,[y[3]||(y[3]=u("div",{class:"muted"},"连续记录(天)",-1)),u("div",_y,re(t.value.streak),1)])]),u("div",wy,[y[4]||(y[4]=u("div",{class:"section-title"},"记录热力图(近 12 周)",-1)),u("div",ky,[(K(!0),U(Ke,null,lt(n.value,(k,I)=>(K(),U("div",{key:I,class:"heat-col"},[(K(!0),U(Ke,null,lt(k,D=>(K(),U("span",{key:D.date,class:Qe(["heat-cell","lv"+p(D.count)]),title:v(D.date,D.count)},null,10,xy))),128))]))),128))]),y[5]||(y[5]=xp('<div class="heat-legend muted" data-v-73e5ba49><span data-v-73e5ba49>少</span><span class="heat-cell lv0" data-v-73e5ba49></span><span class="heat-cell lv1" data-v-73e5ba49></span><span class="heat-cell lv2" data-v-73e5ba49></span><span class="heat-cell lv3" data-v-73e5ba49></span><span class="heat-cell lv4" data-v-73e5ba49></span><span data-v-73e5ba49>多</span></div>',1))]),u("div",Cy,[u("div",Sy,[y[6]||(y[6]=u("div",{class:"section-title"},"分类分布",-1)),(K(!0),U(Ke,null,lt(s.value,k=>(K(),U("div",{key:k.key,class:"bar-row"},[u("span",Ey,re(k.label),1),u("span",$y,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Ay,re(k.count)+" 条 · "+re(k.percent)+"%",1)]))),128)),s.value.length?$e("",!0):(K(),U("div",Ty,"暂无数据"))]),u("div",Oy,[y[7]||(y[7]=u("div",{class:"section-title"},"项目投入",-1)),(K(!0),U(Ke,null,lt(i.value,k=>(K(),U("div",{key:k.name,class:"bar-row"},[u("span",Py,re(k.name),1),u("span",My,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Iy,re(k.count)+" 条 · "+re(k.percent)+"%",1)]))),128)),i.value.length?$e("",!0):(K(),U("div",Dy,"暂无数据"))])]),u("div",jy,[y[8]||(y[8]=u("div",{class:"section-title"},"地点分布(按出勤天)",-1)),(K(!0),U(Ke,null,lt(l.value,k=>(K(),U("div",{key:k.name,class:"bar-row"},[u("span",Ky,re(k.name),1),u("span",Ry,[u("span",{class:"bar-fill",style:sr({width:k.percent+"%"})},null,4)]),u("span",Ny,re(k.count)+" 天 · "+re(k.percent)+"%",1)]))),128)),l.value.length?$e("",!0):(K(),U("div",Ly,"暂无数据"))])]))}}),Fy=Yt(Vy,[["__scopeId","data-v-73e5ba49"]]);async function By(e,t,n){const s=_t(),i=await Promise.all([Dr(),li(e,t),ui(e,t),Ks(!0),_v(e,t)]),l=i[0],f=i[1],p=i[2],v=i[3],b=i[4];let y=0,k=0,I=0;for(const R of f){(R.clock_in_at||R.kind==="makeup")&&y++,R.kind==="makeup"&&I++;const $=Bs(R,R.date,l,R.date===s);k+=$.workedMinutes??0}const D=new Map;for(const R of f){if(!(R.clock_in_at||R.kind==="makeup"))continue;const $=R.location||"未记录";D.set($,(D.get($)||0)+1)}const N=Array.from(D.entries()).map(R=>({name:R[0],count:R[1]})).sort((R,$)=>$.count-R.count),G=p.length||1,fe=Fs.map(R=>{const $=p.filter(le=>le.category===R.key).length;return{key:R.key,label:R.label,count:$,percent:Math.round($/G*100)}}).filter(R=>R.count>0).sort((R,$)=>$.count-R.count),ee=new Map(v.map(R=>[R.id,R.name])),E=new Map;for(const R of p){const $=R.project_id?ee.get(R.project_id)||"已删除项目":"无项目";E.set($,(E.get($)||0)+1)}const j=Array.from(E.entries()).map(R=>({name:R[0],count:R[1]})).sort((R,$)=>$.count-R.count),Y=p.filter(R=>R.is_milestone===1).map(R=>({date:R.date,content:R.content})),ae=p.filter(R=>R.needs_followup===1).map(R=>({date:R.date,content:R.content,remark:R.remark||""})),ie=p.filter(R=>!!R.takeaway).map(R=>({date:R.date,text:R.takeaway})),oe=b.map(R=>({weekStart:R.week_start,highlights:R.highlights||"",challenges:R.challenges||"",plan_next:R.plan_next||""}));return{range:{start:e,end:t,label:n},attendDays:y,totalHours:(k/60).toFixed(1),makeupCount:I,leaveCount:f.filter(R=>R.kind==="leave").length,itemCount:p.length,categoryStats:fe,projectStats:j,locationStats:N,milestones:Y,followups:ae,takeaways:ie,weekNotes:oe}}function Uy(e){const t=[];t.push("# 实习工作总结("+e.range.start+" ~ "+e.range.end+")"),t.push(""),t.push("## 一、考勤概况"),t.push(""),t.push("出勤 "+e.attendDays+" 天,累计工时 "+e.totalHours+" 小时,补卡 "+e.makeupCount+" 次"+(e.leaveCount?",请假 "+e.leaveCount+" 天":""));const n=e.locationStats.filter(s=>s.name!=="未记录");n.length&&t.push("其中:"+n.map(s=>s.name+" "+s.count+" 天").join(",")),t.push(""),t.push("## 二、工作内容分布"),t.push(""),t.push(e.categoryStats.length?e.categoryStats.map(s=>s.label+" "+s.percent+"%("+s.count+" 条)").join(","):"(无记录)"),t.push(""),t.push("## 三、项目投入"),t.push(""),t.push(e.projectStats.length?e.projectStats.map(s=>s.name+" "+s.count+" 条").join(","):"(无记录)"),t.push(""),t.push("## 四、主要成果"),t.push(""),e.milestones.length?e.milestones.forEach((s,i)=>t.push(i+1+". 【成果】"+s.content+"("+s.date+")")):t.push("(无)"),t.push(""),t.push("## 五、待跟进事项"),t.push(""),e.followups.length?e.followups.forEach(s=>t.push("- 【待跟进】"+s.content+(s.remark?"("+s.date+" 备注:"+s.remark+")":"("+s.date+")"))):t.push("(无)"),t.push(""),t.push("## 六、学习与成长"),t.push(""),e.takeaways.length?e.takeaways.forEach(s=>t.push("- "+s.text+"("+s.date+")")):t.push("(无)");for(const s of e.weekNotes)t.push(""),t.push("### 周记("+s.weekStart+" 起)"),t.push(""),t.push("- 本周亮点:"+(s.highlights||"(无)")),t.push("- 踩的坑:"+(s.challenges||"(无)")),t.push("- 下周计划:"+(s.plan_next||"(无)"));return t.push(""),t.join(`
|
||
`)}function ef(e,t){const n=new Blob([t],{type:"text/plain;charset=utf-8"}),s=URL.createObjectURL(n),i=document.createElement("a");i.href=s,i.download=e,i.click(),URL.revokeObjectURL(s)}async function Ca(e){try{await navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select(),document.execCommand("copy"),document.body.removeChild(t)}}async function qy(e){const t=await Promise.all([ht("ai_base_url",""),ht("ai_api_key",""),ht("ai_model","")]),n=t[0].trim().replace(/\/+$/,""),s=t[1].trim(),i=t[2].trim();if(!n||!i)throw new Error("请先在设置页配置 AI 接口地址与模型名称");const l=n+"/chat/completions",f={"Content-Type":"application/json"};s&&(f.Authorization="Bearer "+s);const v=JSON.stringify({model:i,messages:[{role:"system",content:"你是一名严谨的中文助理。请将用户提供的工作总结 Markdown 草稿润色为通顺、专业、简洁的工作总结。要求:保留原有章节结构与全部事实数据(数字、日期、条目),不得虚构或遗漏内容,只输出 Markdown 正文。"},{role:"user",content:e}],temperature:.3});let b;try{b=await fetch(l,{method:"POST",headers:f,body:v})}catch{throw new Error("无法访问 AI 接口:请检查地址是否正确、服务端是否允许浏览器跨域访问")}if(!b.ok){let I="接口返回 "+b.status;try{const D=await b.json();D&&D.error&&D.error.message&&(I+=":"+D.error.message)}catch{}throw new Error(I)}const y=await b.json(),k=y&&y.choices&&y.choices[0]&&y.choices[0].message&&y.choices[0].message.content;if(!k)throw new Error("接口未返回内容");return String(k)}const Hy={class:"report"},Wy={class:"report-toolbar"},zy={class:"seg"},Gy=["onClick"],Yy=["disabled"],Jy=["disabled"],Xy={key:0,class:"ai-error"},Qy={class:"report-grid"},Zy={class:"report-left"},eg={class:"card section"},tg={class:"section-title"},ng={class:"muted note-saved"},rg={class:"card section"},sg={class:"report-right"},og={key:0,class:"card section"},ig={class:"sum-row"},ag={class:"num"},lg={class:"sum-row"},ug={class:"num"},cg={class:"sum-row"},fg={class:"num"},dg={class:"sum-row"},pg={class:"num"},hg={class:"sum-row"},vg={class:"num"},mg={class:"muted"},yg={class:"num"},gg={key:0,class:"muted sum-empty"},bg={class:"muted"},_g={key:1,class:"muted sum-empty"},wg={class:"muted"},kg={key:2,class:"muted sum-empty"},xg={class:"muted"},Cg={key:3,class:"muted sum-empty"},Sg=Ft({__name:"ReportView",setup(e){const t=[{key:"week",label:"本周"},{key:"month",label:"本月"},{key:"all",label:"全部"},{key:"custom",label:"自定义"}],n=L("week"),s=L(Cs(_t())),i=L(_t()),l=L(null),f=L(""),p=L(!1),v=L(!1),b=L(null),y=L(""),k=L(Cs(_t())),I=L(""),D=L(""),N=L(""),G=L(!1);async function fe(){const R=await Ya(k.value);I.value=(R==null?void 0:R.highlights)||"",D.value=(R==null?void 0:R.challenges)||"",N.value=(R==null?void 0:R.plan_next)||"",G.value=!1}async function ee(){await bv(k.value,{highlights:I.value.trim()||null,challenges:D.value.trim()||null,plan_next:N.value.trim()||null}),G.value=!0,await j()}function E(R){const $=_t();if(R==="week"){const le=Cs($);return{start:le,end:Nn(le,6),label:"本周"}}if(R==="month"){const le=$.slice(0,7);return{start:le+"-01",end:$,label:le+" 本月"}}return R==="all"?{start:"2000-01-01",end:$,label:"全部实习期"}:{start:s.value,end:i.value,label:s.value+" ~ "+i.value}}async function j(){p.value=!0;const R=E(n.value),$=await By(R.start,R.end,R.label);l.value=$,f.value=Uy($),p.value=!1}vt(n,j),vt([s,i],()=>{n.value==="custom"&&j()}),fn(async()=>{await fe(),await j()});function Y(){const R=_t().replace(/-/g,"");ef("实习工作总结_"+R+".md",f.value)}async function ae(){await Ca(f.value),ze("总结已复制到剪贴板")}async function ie(){if(v.value)return;y.value="";const R=f.value.trim();if(!R){y.value="当前草稿为空,无法润色";return}v.value=!0;try{b.value=f.value,f.value=await qy(R),ze("AI 润色完成")}catch($){b.value=null,y.value=$ instanceof Error?$.message:"润色失败"}v.value=!1}function oe(){b.value!==null&&(f.value=b.value),b.value=null}return(R,$)=>(K(),U("div",Hy,[u("div",Wy,[u("div",zy,[(K(),U(Ke,null,lt(t,le=>u("button",{key:le.key,class:Qe(["seg-btn",{active:n.value===le.key}]),onClick:Ee=>n.value=le.key},re(le.label),11,Gy)),64))]),n.value==="custom"?(K(),U(Ke,{key:0},[Ae(u("input",{type:"date",class:"input w-date","onUpdate:modelValue":$[0]||($[0]=le=>s.value=le)},null,512),[[De,s.value]]),$[6]||($[6]=u("span",{class:"muted"},"至",-1)),Ae(u("input",{type:"date",class:"input w-date","onUpdate:modelValue":$[1]||($[1]=le=>i.value=le)},null,512),[[De,i.value]])],64)):$e("",!0),$[10]||($[10]=u("span",{class:"flex1"},null,-1)),u("button",{class:"btn btn-sm",disabled:v.value,onClick:ie},[Me(at,{name:"edit",size:14}),$[7]||($[7]=tn("AI 润色 ",-1))],8,Yy),b.value!==null?(K(),U("button",{key:1,class:"btn btn-sm",onClick:oe},"还原润色前")):$e("",!0),u("button",{class:"btn btn-sm",disabled:p.value,onClick:j},[Me(at,{name:"edit",size:14}),$[8]||($[8]=tn("重新生成 ",-1))],8,Jy),u("button",{class:"btn btn-sm",onClick:ae},"复制"),u("button",{class:"btn btn-primary btn-sm",onClick:Y},[Me(at,{name:"export",size:14}),$[9]||($[9]=tn("导出 Markdown ",-1))])]),y.value?(K(),U("div",Xy,re(y.value),1)):$e("",!0),u("div",Qy,[u("div",Zy,[u("div",eg,[u("div",tg,"本周周记("+re(k.value)+" 起)",1),$[11]||($[11]=u("label",{class:"note-label muted"},"本周亮点",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[2]||($[2]=le=>I.value=le),placeholder:"本周最有价值的一件事",onBlur:ee},null,544),[[De,I.value]]),$[12]||($[12]=u("label",{class:"note-label muted"},"踩的坑",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[3]||($[3]=le=>D.value=le),placeholder:"遇到的问题与教训",onBlur:ee},null,544),[[De,D.value]]),$[13]||($[13]=u("label",{class:"note-label muted"},"下周计划",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":$[4]||($[4]=le=>N.value=le),placeholder:"下周准备做什么",onBlur:ee},null,544),[[De,N.value]]),u("div",ng,re(G.value?"已保存":"失焦自动保存"),1)]),u("div",rg,[$[14]||($[14]=u("div",{class:"section-title"},"总结草稿(可编辑)",-1)),Ae(u("textarea",{class:"textarea md-editor","onUpdate:modelValue":$[5]||($[5]=le=>f.value=le),spellcheck:"false"},null,512),[[De,f.value]])])]),u("div",sg,[l.value?(K(),U("div",og,[$[20]||($[20]=u("div",{class:"section-title"},"数据摘要",-1)),u("div",ig,[$[15]||($[15]=u("span",{class:"muted"},"出勤",-1)),u("span",ag,re(l.value.attendDays)+" 天",1)]),u("div",lg,[$[16]||($[16]=u("span",{class:"muted"},"工时",-1)),u("span",ug,re(l.value.totalHours)+" 小时",1)]),u("div",cg,[$[17]||($[17]=u("span",{class:"muted"},"补卡",-1)),u("span",fg,re(l.value.makeupCount)+" 次",1)]),u("div",dg,[$[18]||($[18]=u("span",{class:"muted"},"请假",-1)),u("span",pg,re(l.value.leaveCount)+" 天",1)]),u("div",hg,[$[19]||($[19]=u("span",{class:"muted"},"记录",-1)),u("span",vg,re(l.value.itemCount)+" 条",1)]),$[21]||($[21]=u("div",{class:"section-sub"},"分类分布",-1)),(K(!0),U(Ke,null,lt(l.value.categoryStats,le=>(K(),U("div",{key:le.key,class:"sum-row"},[u("span",mg,re(le.label),1),u("span",yg,re(le.count)+" 条 · "+re(le.percent)+"%",1)]))),128)),l.value.categoryStats.length?$e("",!0):(K(),U("div",gg,"(无)")),$[22]||($[22]=u("div",{class:"section-sub"},"主要成果",-1)),(K(!0),U(Ke,null,lt(l.value.milestones,(le,Ee)=>(K(),U("div",{key:"m"+Ee,class:"sum-item"},[tn(re(le.content),1),u("span",bg,"("+re(le.date)+")",1)]))),128)),l.value.milestones.length?$e("",!0):(K(),U("div",_g,"(无)")),$[23]||($[23]=u("div",{class:"section-sub"},"待跟进",-1)),(K(!0),U(Ke,null,lt(l.value.followups,(le,Ee)=>(K(),U("div",{key:"f"+Ee,class:"sum-item"},[tn(re(le.content),1),u("span",wg,"("+re(le.date)+")",1)]))),128)),l.value.followups.length?$e("",!0):(K(),U("div",kg,"(无)")),$[24]||($[24]=u("div",{class:"section-sub"},"学习与成长",-1)),(K(!0),U(Ke,null,lt(l.value.takeaways,(le,Ee)=>(K(),U("div",{key:"t"+Ee,class:"sum-item"},[tn(re(le.text),1),u("span",xg,"("+re(le.date)+")",1)]))),128)),l.value.takeaways.length?$e("",!0):(K(),U("div",Cg,"(无)"))])):$e("",!0)])])]))}}),Eg=Yt(Sg,[["__scopeId","data-v-3a1de681"]]),$g=["aria-label"],Ag={class:"dialog-head"},Tg={class:"dialog-title"},Og={class:"dialog-body"},Pg={class:"form-grid"},Mg={class:"field span2"},Ig={class:"seg"},Dg={class:"field"},jg={class:"field"},Kg={class:"field"},Rg=["value"],Ng={key:0,class:"field"},Lg={class:"seg"},Vg={class:"field span2"},Fg={key:0,class:"form-error"},Bg={class:"dialog-btns"},Ug=Ft({__name:"TransactionDialog",props:{open:{type:Boolean},title:{},initial:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L("expense"),l=L("餐饮"),f=L(""),p=L(""),v=L(""),b=L(!1),y=L(!1),k=L(""),I=L(null);function D(ee){n.open&&ee.key==="Escape"&&s("cancel")}vt(()=>n.open,async ee=>{var E;ee?(i.value=n.initial.type==="income"?"income":"expense",l.value=n.initial.category,f.value=n.initial.amountYuan,p.value=n.initial.date,v.value=n.initial.note,b.value=n.initial.reimbursable===1,y.value=n.initial.reimbursed===1,k.value="",window.addEventListener("keydown",D),await Zr(),(E=I.value)==null||E.focus()):window.removeEventListener("keydown",D)}),dr(()=>window.removeEventListener("keydown",D)),vt(i,ee=>{l.value=ee==="expense"?Wr[0]:Lo[0]});const N=ot(()=>i.value==="expense"?Wr:Lo);function G(){return l.value&&N.value.includes(l.value)?l.value:N.value[0]}function fe(){const ee=Number(f.value);if(!f.value.trim()||!isFinite(ee)||ee<=0){k.value="请填写大于 0 的金额";return}if(!p.value){k.value="请选择日期";return}const E=i.value==="expense"&&b.value?1:0;s("save",{type:i.value,category:G(),amount:Math.round(ee*100),date:p.value,note:v.value.trim(),reimbursable:E,reimbursed:E&&y.value?1:0})}return(ee,E)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:E[11]||(E[11]=Mr(j=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",Ag,[u("span",Tg,re(e.title),1),u("button",{class:"icon-btn",title:"关闭",onClick:E[0]||(E[0]=j=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",Og,[u("div",Pg,[u("div",Mg,[E[12]||(E[12]=u("label",null,"类型",-1)),u("div",Ig,[u("button",{class:Qe(["seg-btn",{active:i.value==="expense"}]),onClick:E[1]||(E[1]=j=>i.value="expense")},"支出",2),u("button",{class:Qe(["seg-btn",{active:i.value==="income"}]),onClick:E[2]||(E[2]=j=>i.value="income")},"收入",2)])]),u("div",Dg,[E[13]||(E[13]=u("label",null,"金额(元,必填)",-1)),Ae(u("input",{ref_key:"amountInput",ref:I,class:Qe(["input",{invalid:k.value}]),"onUpdate:modelValue":E[3]||(E[3]=j=>f.value=j),type:"number",min:"0",step:"0.01",placeholder:"0.00"},null,2),[[De,f.value]])]),u("div",jg,[E[14]||(E[14]=u("label",null,"日期(必填)",-1)),Ae(u("input",{class:"input",type:"date","onUpdate:modelValue":E[4]||(E[4]=j=>p.value=j)},null,512),[[De,p.value]])]),u("div",Kg,[E[15]||(E[15]=u("label",null,"分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":E[5]||(E[5]=j=>l.value=j)},[(K(!0),U(Ke,null,lt(N.value,j=>(K(),U("option",{key:j,value:j},re(j),9,Rg))),128))],512),[[Ln,l.value]])]),i.value==="expense"?(K(),U("div",Ng,[E[16]||(E[16]=u("label",null,"报销状态",-1)),u("div",Lg,[u("button",{class:Qe(["seg-btn",{active:!b.value}]),onClick:E[6]||(E[6]=j=>{b.value=!1,y.value=!1})},"无需报销",2),u("button",{class:Qe(["seg-btn",{active:b.value&&!y.value}]),onClick:E[7]||(E[7]=j=>{b.value=!0,y.value=!1})},"待报销",2),u("button",{class:Qe(["seg-btn",{active:b.value&&y.value}]),onClick:E[8]||(E[8]=j=>{b.value=!0,y.value=!0})},"已报销",2)])])):$e("",!0),u("div",Vg,[E[17]||(E[17]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":E[9]||(E[9]=j=>v.value=j),placeholder:"选填"},null,512),[[De,v.value]])])]),k.value?(K(),U("div",Fg,re(k.value),1)):$e("",!0)]),u("div",Bg,[u("button",{class:"btn btn-sm",onClick:E[10]||(E[10]=j=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:fe},"保存")])],8,$g)])):$e("",!0)]),_:1})]))}}),qg=Yt(Ug,[["__scopeId","data-v-e3568c0d"]]),Hg={class:"ledger-page"},Wg={class:"ledger-toolbar"},zg={class:"month-title num"},Gg={class:"cards"},Yg={class:"card stat-card"},Jg={class:"stat-num num amt-income"},Xg={class:"card stat-card"},Qg={class:"stat-num num"},Zg={class:"card stat-card"},eb={class:"card stat-card"},tb={class:"stat-num num amt-warn"},nb={class:"card sec"},rb={class:"form-grid"},sb={class:"field span2"},ob={class:"seg"},ib={class:"field"},ab={class:"field"},lb={class:"field"},ub=["value"],cb={key:0,class:"field"},fb={class:"field span2"},db={key:0,class:"form-error"},pb={class:"form-footer"},hb=["disabled"],vb=["disabled"],mb={key:0,class:"card sec"},yb={class:"bar-label"},gb={class:"bar-track"},bb={class:"muted num bar-num"},_b={class:"card table-card"},wb={class:"tx-table"},kb={class:"num"},xb={class:"tag"},Cb={class:"td-note"},Sb={key:0,class:"muted"},Eb={key:1,class:"tx-done"},$b={key:2,class:"tx-pending"},Ab={class:"ops"},Tb=["onClick"],Ob=["onClick"],Pb=["onClick"],Mb={key:0},Ib={class:"muted vault-note num"},Db=Ft({__name:"LedgerView",setup(e){const t=L(_t()),n=L([]),s=L(!0),i=L("expense"),l=L(""),f=L(Wr[0]),p=L(_t()),v=L(""),b=L(!1),y=L(""),k=L(!1),I=L(!1),D=L(null),N=L({type:"expense",category:Wr[0],amountYuan:"",date:_t(),note:"",reimbursable:0,reimbursed:0}),G=L(null),fe=ot(()=>t.value.slice(0,7)+"-01"),ee=ot(()=>{const ge=Number(t.value.slice(0,4)),Q=Number(t.value.slice(5,7))-1,X=new Date(ge,Q+1,0).getDate();return t.value.slice(0,7)+"-"+(X<10?"0"+X:String(X))}),E=ot(()=>Number(t.value.slice(0,4))+" 年 "+Number(t.value.slice(5,7))+" 月");async function j(){s.value=!0,n.value=await $v(fe.value,ee.value),s.value=!1}fn(j),vt(t,j),vt(i,ge=>{f.value=ge==="expense"?Wr[0]:Lo[0]});const Y=ot(()=>n.value.slice().sort((ge,Q)=>ge.date===Q.date?Q.id-ge.id:ge.date<Q.date?1:-1)),ae=ot(()=>{let ge=0,Q=0,X=0;for(const Ce of n.value)Ce.type==="income"?ge+=Ce.amount:(Q+=Ce.amount,Ce.reimbursable===1&&Ce.reimbursed!==1&&(X+=Ce.amount));return{income:ge,expense:Q,pending:X,balance:ge-Q}}),ie=L("all"),oe=L("all"),R=ot(()=>Y.value.filter(ge=>!(ie.value!=="all"&&ge.type!==ie.value||oe.value==="pending"&&!(ge.type==="expense"&&ge.reimbursable===1&&ge.reimbursed!==1)||oe.value==="done"&&!(ge.reimbursable===1&&ge.reimbursed===1)))),$=ot(()=>{const ge=new Map;let Q=0;for(const Ce of n.value)Ce.type==="expense"&&(ge.set(Ce.category,(ge.get(Ce.category)||0)+Ce.amount),Q+=Ce.amount);const X=Q||1;return Array.from(ge.entries()).map(Ce=>({name:Ce[0],amount:Ce[1],percent:Math.round(Ce[1]/X*100)})).sort((Ce,At)=>At.amount-Ce.amount)});function le(ge){return(ge/100).toFixed(2)}function Ee(ge){return(ge.type==="income"?"+":"-")+le(ge.amount)}function J(){t.value=Vo(t.value,-1)}function xe(){t.value=Vo(t.value,1)}function Fe(){t.value=_t()}vt(l,()=>{y.value&&(y.value="")});async function tt(){const ge=Number(l.value);if(!l.value.trim()||!isFinite(ge)||ge<=0){y.value="请填写大于 0 的金额";return}if(!p.value){y.value="请选择日期";return}k.value||(k.value=!0,await Av({type:i.value,category:f.value,amount:Math.round(ge*100),date:p.value,note:v.value.trim(),reimbursable:i.value==="expense"&&b.value?1:0,reimbursed:0}),l.value="",v.value="",b.value=!1,y.value="",await j(),ze("记账已添加"),k.value=!1)}function Be(){l.value="",v.value="",b.value=!1,y.value=""}async function Ge(ge){await Pv(ge.id),await j(),ze("已标记为已报销")}function _e(ge){D.value=ge.id,N.value={type:ge.type,category:ge.category,amountYuan:le(ge.amount),date:ge.date,note:ge.note||"",reimbursable:ge.reimbursable,reimbursed:ge.reimbursed},I.value=!0}async function je(ge){const Q=D.value;await Tv(Q,ge),I.value=!1,await j(),ze("账目已更新")}async function et(){G.value&&G.value.id&&await Ov(G.value.id),G.value=null,await j(),ze("账目已删除")}return(ge,Q)=>(K(),U("div",Hg,[u("div",Wg,[u("button",{class:"icon-btn",onClick:J},[Me(at,{name:"chevron-left",size:16})]),u("span",zg,re(E.value),1),u("button",{class:"icon-btn",onClick:xe},[Me(at,{name:"chevron-right",size:16})]),u("button",{class:"btn btn-sm",onClick:Fe},"回到本月"),Q[13]||(Q[13]=u("span",{class:"flex1"},null,-1)),Ae(u("select",{class:"select w-filter","onUpdate:modelValue":Q[0]||(Q[0]=X=>ie.value=X)},[...Q[11]||(Q[11]=[u("option",{value:"all"},"全部类型",-1),u("option",{value:"expense"},"仅支出",-1),u("option",{value:"income"},"仅收入",-1)])],512),[[Ln,ie.value]]),Ae(u("select",{class:"select w-filter","onUpdate:modelValue":Q[1]||(Q[1]=X=>oe.value=X)},[...Q[12]||(Q[12]=[u("option",{value:"all"},"全部报销",-1),u("option",{value:"pending"},"待报销",-1),u("option",{value:"done"},"已报销",-1)])],512),[[Ln,oe.value]])]),u("div",Gg,[u("div",Yg,[Q[14]||(Q[14]=u("div",{class:"muted"},"本月收入(元)",-1)),u("div",Jg,re(le(ae.value.income)),1)]),u("div",Xg,[Q[15]||(Q[15]=u("div",{class:"muted"},"本月支出(元)",-1)),u("div",Qg,re(le(ae.value.expense)),1)]),u("div",Zg,[Q[16]||(Q[16]=u("div",{class:"muted"},"本月结余(元)",-1)),u("div",{class:Qe(["stat-num num",{"amt-income":ae.value.balance>=0,"amt-expense":ae.value.balance<0}])},re(le(ae.value.balance)),3)]),u("div",eb,[Q[17]||(Q[17]=u("div",{class:"muted"},"待报销(元)",-1)),u("div",tb,re(le(ae.value.pending)),1)])]),u("div",nb,[Q[24]||(Q[24]=u("div",{class:"sec-head"},[u("span",{class:"sec-title"},"新增一笔"),u("span",{class:"muted form-hint"},"金额必填,回车快速添加")],-1)),u("div",rb,[u("div",sb,[Q[18]||(Q[18]=u("label",null,"类型",-1)),u("div",ob,[u("button",{class:Qe(["seg-btn",{active:i.value==="expense"}]),onClick:Q[2]||(Q[2]=X=>i.value="expense")},"支出",2),u("button",{class:Qe(["seg-btn",{active:i.value==="income"}]),onClick:Q[3]||(Q[3]=X=>i.value="income")},"收入",2)])]),u("div",ib,[Q[19]||(Q[19]=u("label",null,"金额(元,必填)",-1)),Ae(u("input",{class:Qe(["input",{invalid:y.value}]),"onUpdate:modelValue":Q[4]||(Q[4]=X=>l.value=X),type:"number",min:"0",step:"0.01",placeholder:"0.00",onKeydown:Dt(tt,["enter"])},null,34),[[De,l.value]])]),u("div",ab,[Q[20]||(Q[20]=u("label",null,"日期",-1)),Ae(u("input",{class:"input",type:"date","onUpdate:modelValue":Q[5]||(Q[5]=X=>p.value=X)},null,512),[[De,p.value]])]),u("div",lb,[Q[21]||(Q[21]=u("label",null,"分类",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":Q[6]||(Q[6]=X=>f.value=X)},[(K(!0),U(Ke,null,lt(i.value==="expense"?nn(Wr):nn(Lo),X=>(K(),U("option",{key:X,value:X},re(X),9,ub))),128))],512),[[Ln,f.value]])]),i.value==="expense"?(K(),U("div",cb,[Q[22]||(Q[22]=u("label",null,"报销",-1)),u("button",{class:Qe(["toggle-btn",{on:b.value}]),onClick:Q[7]||(Q[7]=X=>b.value=!b.value)},re(b.value?"需要报销":"无需报销"),3)])):$e("",!0),u("div",fb,[Q[23]||(Q[23]=u("label",null,"备注",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":Q[8]||(Q[8]=X=>v.value=X),placeholder:"选填,如:客户现场午餐",onKeydown:Dt(tt,["enter"])},null,544),[[De,v.value]])])]),y.value?(K(),U("div",db,re(y.value),1)):$e("",!0),u("div",pb,[u("button",{class:"btn btn-sm",disabled:!(l.value.trim()||v.value.trim()),onClick:Be},"重置",8,hb),u("button",{class:"btn btn-primary btn-sm",disabled:k.value,onClick:tt},"添加记录",8,vb)])]),$.value.length?(K(),U("div",mb,[Q[25]||(Q[25]=u("div",{class:"sec-title"},"本月支出分类",-1)),(K(!0),U(Ke,null,lt($.value,X=>(K(),U("div",{key:X.name,class:"bar-row"},[u("span",yb,re(X.name),1),u("span",gb,[u("span",{class:"bar-fill",style:sr({width:X.percent+"%"})},null,4)]),u("span",bb,re(le(X.amount))+" 元 · "+re(X.percent)+"%",1)]))),128))])):$e("",!0),u("div",_b,[u("table",wb,[Q[27]||(Q[27]=u("thead",null,[u("tr",null,[u("th",null,"日期"),u("th",null,"分类"),u("th",null,"金额(元)"),u("th",null,"备注"),u("th",null,"报销"),u("th",{class:"th-ops"},"操作")])],-1)),u("tbody",null,[(K(!0),U(Ke,null,lt(R.value,X=>(K(),U("tr",{key:X.id},[u("td",kb,re(X.date),1),u("td",null,[u("span",xb,re(X.category),1)]),u("td",{class:Qe(["num",X.type==="income"?"amt-income":"amt-expense"])},re(Ee(X)),3),u("td",Cb,re(X.note||"--"),1),u("td",null,[X.type!=="expense"||X.reimbursable!==1?(K(),U("span",Sb,"--")):X.reimbursed===1?(K(),U("span",Eb,"已报销")):(K(),U("span",$b,"待报销"))]),u("td",null,[u("div",Ab,[X.type==="expense"&&X.reimbursable===1&&X.reimbursed!==1?(K(),U("button",{key:0,class:"btn btn-xs",onClick:Ce=>Ge(X)},"标记已报销",8,Tb)):$e("",!0),u("button",{class:"btn btn-xs",onClick:Ce=>_e(X)},"编辑",8,Ob),u("button",{class:"btn btn-xs",onClick:Ce=>G.value=X},"删除",8,Pb)])])]))),128)),!R.value.length&&!s.value?(K(),U("tr",Mb,[...Q[26]||(Q[26]=[u("td",{colspan:"6",class:"empty muted"},"本月暂无账目",-1)])])):$e("",!0)])])]),u("div",Ib,"筛选结果 "+re(R.value.length)+" 条 / 本月共 "+re(n.value.length)+" 条",1),Me(qg,{open:I.value,title:(D.value,"编辑账目"),initial:N.value,onCancel:Q[9]||(Q[9]=X=>I.value=!1),onSave:je},null,8,["open","title","initial"]),Me(ur,{open:!!G.value,title:"删除确认",message:G.value?"将删除 "+G.value.date+" 的账目("+G.value.category+" "+le(G.value.amount)+" 元)。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:Q[10]||(Q[10]=X=>G.value=null),onConfirm:et},null,8,["open","message"])]))}}),jb=Yt(Db,[["__scopeId","data-v-8acec676"]]),Kb={class:"memo-page"},Rb={class:"card memo-list"},Nb={class:"pane-head"},Lb={class:"pane-title"},Vb={class:"memo-scroll"},Fb=["onClick"],Bb={class:"memo-item-title"},Ub={class:"muted memo-item-sub"},qb={class:"muted num memo-item-time"},Hb={key:0,class:"muted empty"},Wb={class:"card memo-editor"},zb={class:"editor-foot"},Gb={class:"muted foot-info"},Yb=["disabled"],Jb=["disabled"],Xb={key:1,class:"empty muted editor-empty"},Qb=Ft({__name:"MemoView",setup(e){const t=L([]),n=L(null),s=L(!1),i=L(""),l=L(""),f=L(null),p=L(null);async function v(){if(t.value=await wv(),n.value&&n.value.id){const ie=t.value.find(oe=>oe.id===n.value.id);ie&&(n.value=ie)}}fn(async()=>{await v(),t.value.length&&k(t.value[0]),window.addEventListener("keydown",b)}),dr(()=>window.removeEventListener("keydown",b)),vt(xa,async ie=>{if(!ie)return;t.value.length||await v();const oe=t.value.find(R=>R.id===ie);xa.value=null,oe&&I(oe)},{immediate:!0});function b(ie){(ie.ctrlKey||ie.metaKey)&&ie.key.toLowerCase()==="s"&&s.value&&y.value&&(ie.preventDefault(),fe())}const y=ot(()=>{if(!s.value)return!1;const ie=n.value?n.value.title:"",oe=n.value?n.value.content:"";return i.value!==ie||l.value!==oe});function k(ie){n.value=ie,s.value=!0,i.value=ie.title,l.value=ie.content}function I(ie){if(!(s.value&&n.value&&n.value.id===ie.id)){if(y.value){p.value={type:"select",memo:ie};return}k(ie)}}function D(){if(y.value){p.value={type:"new"};return}N()}function N(){n.value=null,s.value=!0,i.value="",l.value=""}function G(){n.value?k(n.value):N()}async function fe(){if(!i.value.trim()&&!l.value.trim()){ze("标题与内容不能都为空");return}if(n.value&&n.value.id)await xv(n.value.id,i.value,l.value),ze("备忘已保存");else{const ie=await kv(i.value,l.value);n.value=ie,i.value=ie.title,l.value=ie.content,ze("备忘已创建")}await v()}function ee(){n.value&&n.value.id&&(f.value=n.value)}async function E(){f.value&&f.value.id&&(await Cv(f.value.id),ze("备忘已删除")),f.value=null,await v(),N()}function j(){const ie=p.value;p.value=null,ie&&(ie.type==="select"?k(ie.memo):N())}function Y(ie){return(ie.content||"").replace(/\s+/g," ").slice(0,30)}function ae(ie){return ie.replace("T"," ").slice(0,16)}return(ie,oe)=>(K(),U("div",Kb,[u("aside",Rb,[u("div",Nb,[u("span",Lb,"备忘录("+re(t.value.length)+")",1),u("button",{class:"btn btn-primary btn-sm",onClick:D},"新建")]),u("div",Vb,[(K(!0),U(Ke,null,lt(t.value,R=>(K(),U("div",{key:R.id,class:Qe(["memo-item",{active:s.value&&n.value&&n.value.id===R.id}]),onClick:$=>I(R)},[u("div",Bb,re(R.title||"无标题"),1),u("div",Ub,re(Y(R)||"空"),1),u("div",qb,re(ae(R.updated_at)),1)],10,Fb))),128)),t.value.length?$e("",!0):(K(),U("div",Hb,"暂无备忘"))])]),u("section",Wb,[s.value?(K(),U(Ke,{key:0},[Ae(u("input",{class:"input title-input","onUpdate:modelValue":oe[0]||(oe[0]=R=>i.value=R),placeholder:"标题"},null,512),[[De,i.value]]),Ae(u("textarea",{class:"textarea content-textarea","onUpdate:modelValue":oe[1]||(oe[1]=R=>l.value=R),placeholder:"内容"},null,512),[[De,l.value]]),u("div",zb,[u("span",Gb,[y.value?(K(),U(Ke,{key:0},[tn("有未保存修改")],64)):n.value&&n.value.id?(K(),U(Ke,{key:1},[tn("更新于 "+re(ae(n.value.updated_at)),1)],64)):(K(),U(Ke,{key:2},[tn("新备忘")],64))]),oe[4]||(oe[4]=u("span",{class:"flex1"},null,-1)),n.value&&n.value.id?(K(),U("button",{key:0,class:"btn btn-sm",onClick:ee},"删除")):$e("",!0),u("button",{class:"btn btn-sm",disabled:!y.value,onClick:G},"放弃修改",8,Yb),u("button",{class:"btn btn-primary btn-sm",disabled:!y.value,onClick:fe},"保存",8,Jb)])],64)):(K(),U("div",Xb,"选择左侧备忘,或点击右上角新建"))]),Me(ur,{open:!!f.value,title:"删除确认",message:f.value?"将删除备忘「"+(f.value.title||"无标题")+"」。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:oe[2]||(oe[2]=R=>f.value=null),onConfirm:E},null,8,["open","message"]),Me(ur,{open:!!p.value,title:"未保存提示",message:"当前备忘有未保存的修改,继续操作将丢失这些修改。","confirm-text":"放弃修改并继续",onCancel:oe[3]||(oe[3]=R=>p.value=null),onConfirm:j},null,8,["open"])]))}}),Zb=Yt(Qb,[["__scopeId","data-v-74d60dba"]]),e_=["aria-label"],t_={class:"dialog-head"},n_={class:"dialog-title"},r_={class:"dialog-body"},s_={class:"form-grid"},o_={class:"field span2"},i_={class:"field span2"},a_={class:"field span2"},l_={class:"pwd-row"},u_={class:"field span2"},c_={key:0,class:"form-error"},f_={class:"dialog-btns"},d_=Ft({__name:"CredentialDialog",props:{open:{type:Boolean},title:{},initial:{}},emits:["cancel","save"],setup(e,{emit:t}){const n=e,s=t,i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L(null);function y(D){n.open&&D.key==="Escape"&&s("cancel")}vt(()=>n.open,async D=>{var N;D?(i.value=n.initial.system,l.value=n.initial.account,f.value=n.initial.password,p.value=n.initial.remark,v.value="",window.addEventListener("keydown",y),await Zr(),(N=b.value)==null||N.focus()):window.removeEventListener("keydown",y)}),dr(()=>window.removeEventListener("keydown",y));function k(){const D="ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789",N="!@#$%^&*",G=crypto.getRandomValues(new Uint8Array(14));let fe="";for(let ee=0;ee<G.length;ee++)fe+=D[G[ee]%D.length];fe+=N[crypto.getRandomValues(new Uint8Array(1))[0]%N.length],f.value=fe,v.value=""}function I(){if(!i.value.trim()||!l.value.trim()||!f.value){v.value="系统名称、账号、密码为必填项";return}s("save",{system:i.value.trim(),account:l.value.trim(),password:f.value,remark:p.value.trim()})}return(D,N)=>(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[e.open?(K(),U("div",{key:0,class:"mask",onClick:N[6]||(N[6]=Mr(G=>s("cancel"),["self"]))},[u("div",{class:"dialog",role:"dialog","aria-label":e.title},[u("div",t_,[u("span",n_,re(e.title),1),u("button",{class:"icon-btn",title:"关闭",onClick:N[0]||(N[0]=G=>s("cancel"))},[Me(at,{name:"close",size:16})])]),u("div",r_,[u("div",s_,[u("div",o_,[N[7]||(N[7]=u("label",null,"系统名称(必填)",-1)),Ae(u("input",{ref_key:"systemInput",ref:b,class:"input","onUpdate:modelValue":N[1]||(N[1]=G=>i.value=G),placeholder:"如:企业邮箱 / OA / VPN"},null,512),[[De,i.value]])]),u("div",i_,[N[8]||(N[8]=u("label",null,"账号(必填)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":N[2]||(N[2]=G=>l.value=G),placeholder:"用户名、工号或邮箱"},null,512),[[De,l.value]])]),u("div",a_,[N[9]||(N[9]=u("label",null,"密码(必填)",-1)),u("div",l_,[Ae(u("input",{class:"input","onUpdate:modelValue":N[3]||(N[3]=G=>f.value=G),placeholder:"输入或点击生成"},null,512),[[De,f.value]]),u("button",{class:"btn btn-sm",onClick:k},"生成")])]),u("div",u_,[N[10]||(N[10]=u("label",null,"备注",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":N[4]||(N[4]=G=>p.value=G),placeholder:"用途、到期时间、负责人等(选填)"},null,512),[[De,p.value]])])]),v.value?(K(),U("div",c_,re(v.value),1)):$e("",!0)]),u("div",f_,[u("button",{class:"btn btn-sm",onClick:N[5]||(N[5]=G=>s("cancel"))},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:I},"保存")])],8,e_)])):$e("",!0)]),_:1})]))}}),p_=Yt(d_,[["__scopeId","data-v-f383b0a6"]]),tf=15e4;function Bo(e){const t=new Uint8Array(e);let n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return btoa(n)}function Uo(e){const t=atob(e),n=new Uint8Array(t.length);for(let s=0;s<t.length;s++)n[s]=t.charCodeAt(s);return n}function Ja(){return Bo(crypto.getRandomValues(new Uint8Array(16)).buffer)}async function qo(e,t){const n=new TextEncoder,s=await crypto.subtle.importKey("raw",n.encode(e),"PBKDF2",!1,["deriveBits"]),i=await crypto.subtle.deriveBits({name:"PBKDF2",salt:Uo(t),iterations:tf,hash:"SHA-256"},s,256);return Bo(i)}async function Ho(e,t){const n=new TextEncoder,s=await crypto.subtle.importKey("raw",n.encode(e),"PBKDF2",!1,["deriveKey"]);return crypto.subtle.deriveKey({name:"PBKDF2",salt:Uo(t),iterations:tf,hash:"SHA-256"},s,{name:"AES-GCM",length:256},!1,["encrypt","decrypt"])}async function Wo(e,t){const n=crypto.getRandomValues(new Uint8Array(12)),s=await crypto.subtle.encrypt({name:"AES-GCM",iv:n},e,new TextEncoder().encode(t));return Bo(n.buffer)+":"+Bo(s)}async function ci(e,t){const n=t.split(":");if(n.length!==2)throw new Error("密文格式错误");const s=await crypto.subtle.decrypt({name:"AES-GCM",iv:Uo(n[0])},e,Uo(n[1]));return new TextDecoder().decode(s)}const nf="intern-log-vault-verify",Qr="enc:v1:";let jr=null;function h_(){return jr!==null}function zo(){jr=null}async function rf(){return await ht("pwd_salt","")!==""}async function v_(e){if(e.length<6)throw new Error("主密码至少 6 位");if(await rf())throw new Error("主密码已设置");const t=Ja(),n=await Ho(e,t),s=await Wo(n,nf);await bt("pwd_salt",t),await bt("pwd_verifier",s),jr=n}async function m_(e){const t=await ht("pwd_salt","");if(!t)throw new Error("主密码尚未设置");const n=await Ho(e,t),s=await ht("pwd_verifier","");try{await ci(n,s)}catch{throw new Error("主密码不正确")}jr=n}async function sf(){if(!jr)throw new Error("密码库未解锁");return jr}async function y_(e){const t=await sf();return Qr+await Wo(t,e)}async function g_(e){if(!e)return"";if(!e.startsWith(Qr))return e;const t=await sf();return ci(t,e.slice(Qr.length))}async function b_(){return ne.credential.orderBy("system").toArray()}async function __(e,t){const n=await y_(e.password),s={system:e.system.trim(),account:e.account.trim(),password:n,remark:e.remark.trim()};t?await ne.credential.update(t,{...s,updated_at:yt()}):await ne.credential.add({...s,created_at:yt(),updated_at:yt()})}async function w_(e){await ne.credential.delete(e)}async function oa(e){const t=await ne.credential.get(e);if(!t)throw new Error("记录不存在");return g_(t.password)}async function k_(e,t){if(!e)throw new Error("请输入旧主密码");if(t.length<6)throw new Error("新主密码至少 6 位");if(t===e)throw new Error("新主密码不能与旧主密码相同");const n=await ht("pwd_salt","");if(!n)throw new Error("密码库尚未初始化");const s=await Ho(e,n),i=await ht("pwd_verifier","");try{await ci(s,i)}catch{throw new Error("旧主密码不正确")}const l=await Ho(t,n),f=await ne.credential.toArray();let p=0;for(const v of f){if(v.id==null)continue;const b=await x_(v.password,s),y=Qr+await Wo(l,b);await ne.credential.update(v.id,{password:y}),p++}return await bt("pwd_verifier",await Wo(l,nf)),jr=l,p}async function x_(e,t){return e?e.startsWith(Qr)?ci(t,e.slice(Qr.length)):e:""}const C_={class:"vault-page"},S_={key:0,class:"empty muted"},E_={key:1,class:"card lock-card"},$_={class:"lock-badge"},A_={key:0,class:"form-error"},T_=["disabled"],O_={key:0,class:"form-error"},P_=["disabled"],M_={class:"vault-toolbar"},I_={class:"search-wrap"},D_={class:"card table-card"},j_={class:"cred-table"},K_={class:"td-system"},R_=["onClick"],N_={class:"pwd-cell"},L_={class:"num pwd-text"},V_=["onClick"],F_=["onClick"],B_={class:"td-remark"},U_={class:"ops"},q_=["onClick"],H_=["onClick"],W_={key:0},z_={class:"muted vault-note num"},G_={class:"dialog pwd-dialog"},Y_={class:"dialog-head"},J_={class:"dialog-body"},X_={class:"vp-field"},Q_={class:"vp-field"},Z_={class:"vp-field"},ew={key:0,class:"form-error"},tw={class:"dialog-btns"},nw=5*60*1e3,rw=Ft({__name:"VaultView",setup(e){const t=L(null),n=L(h_()),s=L(!1),i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L([]),y=L(""),k=L({}),I=L(!1),D=L(null),N=L({system:"",account:"",password:"",remark:""}),G=L(null),fe=L(!1),ee=L(""),E=L(""),j=L(""),Y=L("");async function ae(){b.value=await b_(),k.value={}}let ie=null;function oe(){ie!==null&&window.clearTimeout(ie),ie=window.setTimeout(()=>{n.value&&(zo(),n.value=!1,b.value=[],k.value={},ze("长时间未操作,密码库已自动锁定"))},nw)}function R(){n.value&&oe()}fn(async()=>{t.value=await rf(),window.addEventListener("click",R),window.addEventListener("keydown",R),n.value&&oe()}),dr(()=>{window.removeEventListener("click",R),window.removeEventListener("keydown",R),ie!==null&&window.clearTimeout(ie)});const $=ot(()=>{const Q=y.value.trim().toLowerCase();return Q?b.value.filter(X=>(X.system+" "+X.account+" "+(X.remark||"")).toLowerCase().includes(Q)):b.value});async function le(){if(!s.value){if(f.value="",!i.value){f.value="请输入主密码";return}if(i.value.length<6){f.value="主密码至少 6 位";return}if(i.value!==l.value){f.value="两次输入的主密码不一致";return}s.value=!0;try{await v_(i.value),i.value="",l.value="",n.value=!0,oe(),await ae(),ze("主密码已设置,密码库已解锁")}catch(Q){f.value=Q instanceof Error?Q.message:"设置失败"}s.value=!1}}async function Ee(){if(!s.value){if(v.value="",!p.value){v.value="请输入主密码";return}s.value=!0;try{await m_(p.value),p.value="",n.value=!0,oe(),await ae()}catch(Q){v.value=Q instanceof Error?Q.message:"解锁失败"}s.value=!1}}function J(){zo(),n.value=!1,b.value=[],k.value={},ie!==null&&window.clearTimeout(ie),ze("密码库已锁定")}async function xe(Q){const X=Q.id;if(k.value[X]){k.value[X]=!1;return}try{Q.passwordPlain=await oa(X),k.value[X]=!0}catch(Ce){ze(Ce instanceof Error?Ce.message:"解密失败")}}async function Fe(Q){try{const X=await oa(Q.id);await Ca(X),ze("密码已复制")}catch(X){ze(X instanceof Error?X.message:"复制失败")}}async function tt(Q){await Ca(Q.account),ze("账号已复制")}function Be(){D.value=null,N.value={system:"",account:"",password:"",remark:""},I.value=!0}async function Ge(Q){try{const X=await oa(Q.id);D.value=Q.id,N.value={system:Q.system,account:Q.account,password:X,remark:Q.remark||""},I.value=!0}catch(X){ze(X instanceof Error?X.message:"解密失败")}}async function _e(Q){const X=D.value??void 0;await __(Q,X),I.value=!1,await ae(),ze(X?"账号已更新":"账号已添加")}async function je(){G.value&&G.value.id&&(await w_(G.value.id),ze("账号已删除")),G.value=null,await ae()}function et(){ee.value="",E.value="",j.value="",Y.value="",fe.value=!0}async function ge(){Y.value="";try{const Q=await k_(ee.value,E.value);fe.value=!1,ee.value="",E.value="",j.value="",ze("主密码已修改,"+Q+" 条账号密码已重新加密")}catch(Q){Y.value=Q instanceof Error?Q.message:"修改失败"}}return(Q,X)=>(K(),U("div",C_,[t.value===null?(K(),U("div",S_,"加载中")):n.value?(K(),U(Ke,{key:2},[u("div",M_,[u("div",I_,[Me(at,{name:"search",size:14,class:"search-icon"}),Ae(u("input",{class:"input","onUpdate:modelValue":X[3]||(X[3]=Ce=>y.value=Ce),placeholder:"搜索系统名称、账号或备注"},null,512),[[De,y.value]])]),X[16]||(X[16]=u("span",{class:"flex1"},null,-1)),u("button",{class:"btn btn-sm",onClick:et},"修改主密码"),u("button",{class:"btn btn-sm",onClick:J},"锁定"),u("button",{class:"btn btn-primary btn-sm",onClick:Be},"新增账号")]),u("div",D_,[u("table",j_,[X[18]||(X[18]=u("thead",null,[u("tr",null,[u("th",null,"系统名称"),u("th",null,"账号"),u("th",null,"密码"),u("th",null,"备注"),u("th",{class:"th-ops"},"操作")])],-1)),u("tbody",null,[(K(!0),U(Ke,null,lt($.value,Ce=>(K(),U("tr",{key:Ce.id},[u("td",K_,re(Ce.system),1),u("td",null,[u("span",{class:"copyable",title:"点击复制账号",onClick:At=>tt(Ce)},re(Ce.account),9,R_)]),u("td",null,[u("div",N_,[u("span",L_,re(k.value[Ce.id]?Ce.passwordPlain:"........"),1),u("button",{class:"btn btn-xs",onClick:At=>xe(Ce)},re(k.value[Ce.id]?"隐藏":"显示"),9,V_),u("button",{class:"btn btn-xs",onClick:At=>Fe(Ce)},"复制",8,F_)])]),u("td",B_,re(Ce.remark||"--"),1),u("td",null,[u("div",U_,[u("button",{class:"btn btn-xs",onClick:At=>Ge(Ce)},"编辑",8,q_),u("button",{class:"btn btn-xs",onClick:At=>G.value=Ce},"删除",8,H_)])])]))),128)),$.value.length?$e("",!0):(K(),U("tr",W_,[...X[17]||(X[17]=[u("td",{colspan:"5",class:"empty muted"},"暂无账号,点击右上角新增",-1)])]))])])]),u("div",z_,"共 "+re(b.value.length)+" 条账号记录 · 密码以 AES-256-GCM 加密存储于本机",1)],64)):(K(),U("div",E_,[u("div",$_,[Me(at,{name:"lock",size:26})]),t.value===!1?(K(),U(Ke,{key:0},[X[12]||(X[12]=u("div",{class:"lock-title"},"设置主密码",-1)),X[13]||(X[13]=u("div",{class:"muted lock-tip"},"主密码用于加密保存在本机的账号密码,遗忘后无法找回,请务必牢记",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[0]||(X[0]=Ce=>i.value=Ce),placeholder:"设置主密码(至少 6 位)",onKeydown:Dt(le,["enter"])},null,544),[[De,i.value]]),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[1]||(X[1]=Ce=>l.value=Ce),placeholder:"再次输入主密码",onKeydown:Dt(le,["enter"])},null,544),[[De,l.value]]),f.value?(K(),U("div",A_,re(f.value),1)):$e("",!0),u("button",{class:"btn btn-primary lock-btn",disabled:s.value,onClick:le},"完成设置并解锁",8,T_)],64)):(K(),U(Ke,{key:1},[X[14]||(X[14]=u("div",{class:"lock-title"},"密码库已锁定",-1)),X[15]||(X[15]=u("div",{class:"muted lock-tip"},"输入主密码解锁后查看与复制密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[2]||(X[2]=Ce=>p.value=Ce),placeholder:"主密码",onKeydown:Dt(Ee,["enter"])},null,544),[[De,p.value]]),v.value?(K(),U("div",O_,re(v.value),1)):$e("",!0),u("button",{class:"btn btn-primary lock-btn",disabled:s.value,onClick:Ee},"解锁",8,P_)],64))])),Me(p_,{open:I.value,title:D.value?"编辑账号":"新增账号",initial:N.value,onCancel:X[4]||(X[4]=Ce=>I.value=!1),onSave:_e},null,8,["open","title","initial"]),Me(ur,{open:!!G.value,title:"删除确认",message:G.value?"将删除系统「"+G.value.system+"」的账号记录。删除后不可恢复。":"","confirm-text":"删除",danger:"",onCancel:X[5]||(X[5]=Ce=>G.value=null),onConfirm:je},null,8,["open","message"]),(K(),It(Ls,{to:"body"},[Me(es,{name:"modal"},{default:fr(()=>[fe.value?(K(),U("div",{key:0,class:"mask",onClick:X[11]||(X[11]=Mr(Ce=>fe.value=!1,["self"]))},[u("div",G_,[u("div",Y_,[X[19]||(X[19]=u("span",{class:"dialog-title"},"修改主密码",-1)),u("button",{class:"icon-btn",title:"关闭",onClick:X[6]||(X[6]=Ce=>fe.value=!1)},[Me(at,{name:"close",size:16})])]),u("div",J_,[u("div",X_,[X[20]||(X[20]=u("label",null,"旧主密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[7]||(X[7]=Ce=>ee.value=Ce)},null,512),[[De,ee.value]])]),u("div",Q_,[X[21]||(X[21]=u("label",null,"新主密码(至少 6 位)",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[8]||(X[8]=Ce=>E.value=Ce)},null,512),[[De,E.value]])]),u("div",Z_,[X[22]||(X[22]=u("label",null,"确认新主密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":X[9]||(X[9]=Ce=>j.value=Ce)},null,512),[[De,j.value]])]),Y.value?(K(),U("div",ew,re(Y.value),1)):$e("",!0),X[23]||(X[23]=u("div",{class:"muted vp-tip"},"确认后所有账号密码将使用新主密码重新加密",-1))]),u("div",tw,[u("button",{class:"btn btn-sm",onClick:X[10]||(X[10]=Ce=>fe.value=!1)},"取消"),u("button",{class:"btn btn-primary btn-sm",onClick:ge},"确认修改")])])])):$e("",!0)]),_:1})]))]))}}),sw=Yt(rw,[["__scopeId","data-v-6820bc9c"]]);function ow(e){return'"'+(e==null?"":String(e)).replace(/"/g,'""')+'"'}function Cu(e,t){const n=t.map(f=>f.map(ow).join(",")).join(`\r
|
||
`),s=new Blob(["\uFEFF"+n],{type:"text/csv;charset=utf-8"}),i=URL.createObjectURL(s),l=document.createElement("a");l.href=i,l.download=e,l.click(),URL.revokeObjectURL(i)}class iw extends Ir{constructor(){super("intern_worklog_users"),this.version(1).stores({user:"id, &username"})}}const Pr=new iw,fi="intern_worklog",Xa="dsh_session_user";function di(){try{const e=localStorage.getItem(Xa);if(!e)return null;const t=JSON.parse(e);if(t&&t.userId&&t.username)return t}catch{}return null}function of(e){localStorage.setItem(Xa,JSON.stringify(e))}function af(){localStorage.removeItem(Xa)}const Qa="dsh_cloud_creds";function lf(e,t){localStorage.setItem(Qa,JSON.stringify({username:e,password:t}))}function pi(){try{const e=localStorage.getItem(Qa);if(!e)return null;const t=JSON.parse(e);if(t&&t.username&&t.password)return t}catch{}return null}function uf(){localStorage.removeItem(Qa)}function Za(e){Dh(new Gc(fi+"_"+e))}async function aw(e,t,n){const s=e.trim();if(s.length<2||s.length>20)throw new Error("用户名需 2 到 20 个字符");if(t.length<6)throw new Error("登录密码至少 6 位");if(await Pr.user.where("username").equals(s).first())throw new Error("用户名已存在");const l=Ja(),f=await qo(t,l),p="u_"+Date.now().toString(36)+"_"+Math.random().toString(36).slice(2,6);await Pr.user.add({id:p,username:s,pwd_hash:f,pwd_salt:l,created_at:new Date().toISOString()}),Za(p);let v=0;n&&await cf()&&(v=await dw(),await Pr.user.update(p,{legacy_imported_at:new Date().toISOString()}));const b={userId:p,username:s};return of(b),lf(b.username,t),v&&pw(v),b}async function lw(e,t){const n=e.trim(),s=await Pr.user.where("username").equals(n).first();if(!s)throw new Error("用户不存在");if(await qo(t,s.pwd_salt)!==s.pwd_hash)throw new Error("密码不正确");Za(s.id);const l={userId:s.id,username:s.username};return of(l),lf(l.username,t),l}async function uw(){zo(),Yc(),af(),uf()}async function cw(e,t){const n=di();if(!n)throw new Error("未登录");if(t.length<6)throw new Error("新密码至少 6 位");const s=await Pr.user.get(n.userId);if(!s)throw new Error("用户不存在");if(await qo(e,s.pwd_salt)!==s.pwd_hash)throw new Error("旧密码不正确");const l=Ja(),f=await qo(t,l);await Pr.user.update(s.id,{pwd_hash:f,pwd_salt:l})}async function fw(){const e=di();if(!e)throw new Error("未登录");zo(),Yc(),await Ir.delete(fi+"_"+e.userId),await Pr.user.delete(e.userId),af(),uf()}async function cf(){return Ir.exists(fi)}async function dw(){if(!ne)throw new Error("用户数据库未就绪");const e=new Gc(fi),t=await Promise.all([e.project.toArray(),e.work_log.toArray(),e.log_item.toArray(),e.attendance.toArray(),e.weekly_note.toArray(),e.setting.toArray(),e.memo.toArray(),e.credential.toArray()]);await ne.transaction("rw",[ne.project,ne.work_log,ne.log_item,ne.attendance,ne.weekly_note,ne.setting,ne.memo,ne.credential],async()=>{await Promise.all([ne.project.clear(),ne.work_log.clear(),ne.log_item.clear(),ne.attendance.clear(),ne.weekly_note.clear(),ne.setting.clear(),ne.memo.clear(),ne.credential.clear()]),t[0].length&&await ne.project.bulkAdd(t[0]),t[1].length&&await ne.work_log.bulkAdd(t[1]),t[2].length&&await ne.log_item.bulkAdd(t[2]),t[3].length&&await ne.attendance.bulkAdd(t[3]),t[4].length&&await ne.weekly_note.bulkAdd(t[4]),t[5].length&&await ne.setting.bulkAdd(t[5]),t[6].length&&await ne.memo.bulkAdd(t[6]),t[7].length&&await ne.credential.bulkAdd(t[7])});const n=t[0].length+t[1].length+t[2].length+t[3].length+t[4].length+t[6].length+t[7].length;return e.close(),n}function pw(e){try{sessionStorage.setItem("dsh_migrate_toast",String(e))}catch{}}const hw="https://daywk.linyux.cn",Sa=["project","work_log","log_item","attendance","weekly_note","setting","memo","credential","transaction"],Ea=new Set(["sync_cursor","sync_last_time","sync_token","last_project","last_category"]);function vw(){return typeof crypto<"u"&&crypto.randomUUID?crypto.randomUUID():"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function Su(e){const t={...e};return delete t.id,t}function Eu(e){return JSON.stringify(e)}async function mw(e){return ne[e].toArray()}async function yw(){for(const e of Sa){const t=ne[e],n=await t.toArray();for(const s of n){if(e==="setting"&&Ea.has(s.key))continue;const i={};s.uuid||(i.uuid=vw()),s.updated_at||(i.updated_at=s.created_at||yt()),Object.keys(i).length&&await t.update(s.id,i)}}}async function el(){return await ht("sync_base_url","")||hw}async function ff(){const e=pi();if(!e)throw new Error("未登录,无法同步");return{baseUrl:await el(),username:e.username,password:e.password}}async function gw(){return hf(await ff())}async function df(){const e=pi();if(!e)throw new Error("未登录");const t=await el(),n={"Content-Type":"application/json"},s=JSON.stringify({username:e.username,password:e.password});let i=await fetch(t+"/api/auth/register",{method:"POST",headers:n,body:s});if(i.status===409){if(i=await fetch(t+"/api/auth/login",{method:"POST",headers:n,body:s}),!i.ok)throw new Error("云端已存在同名账号且密码不一致,请检查")}else if(!i.ok)throw new Error("云端绑定失败:"+i.status)}async function bw(){return pi()!=null}async function _w(){return ht("sync_last_time","")}async function pf(e,t){const n=await fetch(e+"/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t.username.trim(),password:t.password})});if(!n.ok)throw new Error("云端账号或密码不正确");const s=await n.json();if(!s||!s.token)throw new Error("云端登录异常");return String(s.token)}async function ww(e,t){let n=await ht("sync_token","");return n||(n=await pf(e,t),await bt("sync_token",n),n)}let Ss=!1,Ao=!1,$a=!1,Gr=null,_n=null,Aa="",$u=!1;async function Yr(){if(Ss){Ao=!0;return}try{if(!await bw())return;await hf(await ff())}catch{}}function kw(){$u||($u=!0,ne.on("changes",()=>{$a||Ss||(Gr&&window.clearTimeout(Gr),Gr=window.setTimeout(()=>{Yr()},3e3))}))}function xw(){_n&&(_n.close(),_n=null,Aa=""),Gr&&(window.clearTimeout(Gr),Gr=null)}function Cw(e,t){const n=e+"|"+t;if(!(_n&&Aa===n)){_n&&(_n.close(),_n=null);try{_n=new EventSource(e+"/api/events?token="+encodeURIComponent(t)),Aa=n,_n.onmessage=()=>{Yr()}}catch{_n=null}}}async function hf(e){if(Ss)return Ao=!0,{pushed:0,pulled:0,removed:0,at:""};Ss=!0,$a=!0;try{const t=await Sw(e);return Ao&&(Ao=!1,window.setTimeout(()=>{Yr()},800)),t}finally{Ss=!1,$a=!1}}async function Sw(e){const t=e.baseUrl.trim().replace(/\/+$/,"");if(!t)throw new Error("请先配置同步服务地址");await yw();const n=await ne.sync_mirror.toArray(),s=new Map;for(const ee of n)s.set(ee.table+"|"+ee.uuid,ee);const i={},l=[];let f=0;for(const ee of Sa){let E=await mw(ee);ee==="setting"&&(E=E.filter(Y=>!Ea.has(Y.key)));const j=new Map;for(const Y of E)j.set(Y.uuid,Y);for(const[Y,ae]of j){const ie=Su(ae),oe=Eu(ie),R=s.get(ee+"|"+Y);(!R||R.hash!==oe)&&(i[ee]=i[ee]||[],i[ee].push(ie),f++)}for(const[Y,ae]of s)Y.startsWith(ee+"|")&&!j.has(ae.uuid)&&l.push({table:ee,uuid:ae.uuid,deleted_at:yt()});i[ee]=i[ee]||[]}const p=await ww(t,e),v=ee=>fetch(t+"/api/sync",{method:"POST",headers:{"Content-Type":"application/json",Authorization:"Bearer "+ee},body:JSON.stringify({device:"client",tables:i,tombstones:l})});let b=await v(p);if(b.status===401){await bt("sync_token","");const ee=await pf(t,e);await bt("sync_token",ee),b=await v(ee)}if(!b.ok)throw new Error("同步服务返回 "+b.status);const y=await b.json(),k=y.tables||{},I=y.tombstones||[];let D=0,N=0;const G=[];for(const ee of Sa){const E=ne[ee],j=await E.toArray(),Y=new Map;for(const $ of j)Y.set($.uuid,$);const ae=k[ee]||[],ie=new Map;for(const $ of ae)ie.set($.uuid,$);const oe=new Set(I.filter($=>$.table===ee).map($=>$.uuid));for(const[$,le]of Y)oe.has($)&&(await E.delete(le.id),N++);for(const[$,le]of ae){if(oe.has($))continue;const Ee=Y.get($);if(!Ee)await E.add({...le}),D++;else{const J=String(Ee.updated_at||"");String(le.updated_at||"")>J&&(await E.update(Ee.id,{...le}),D++)}}const R=await E.toArray();for(const $ of R)ee==="setting"&&Ea.has($.key)||G.push({table:ee,uuid:$.uuid,hash:Eu(Su($))})}await ne.sync_mirror.clear(),G.length&&await ne.sync_mirror.bulkAdd(G.map(ee=>({...ee}))),Cw(t,p);const fe=yt();return await bt("sync_last_time",fe),{pushed:f,pulled:D,removed:N,at:fe}}const Ew={class:"settings"},$w={class:"card section"},Aw={class:"muted acc-line"},Tw={class:"ai-grid"},Ow={class:"rule-item"},Pw={class:"rule-item"},Mw={class:"rule-item"},Iw={key:0,class:"form-error"},Dw={class:"rule-save"},jw={class:"card section"},Kw={class:"rule-grid"},Rw={class:"rule-item"},Nw={class:"rule-item"},Lw={class:"rule-item"},Vw={class:"rule-item"},Fw={class:"rule-item"},Bw={class:"card section"},Uw={class:"proj-add"},qw={key:0,class:"muted proj-tip"},Hw=["onKeydown"],Ww=["onClick"],zw=["onClick"],Gw=["onClick"],Yw={key:1,class:"muted"},Jw={class:"card section"},Xw={class:"card section"},Qw={class:"muted acc-line"},Zw={class:"rule-item"},e1={class:"rule-save"},t1=["disabled"],n1={key:0,class:"muted acc-line"},r1={key:1,class:"form-error"},s1={class:"card section"},o1={class:"ai-grid"},i1={class:"rule-item"},a1={class:"rule-item"},l1={class:"rule-item"},u1={class:"card section"},c1={class:"backup-row"},f1={key:0,class:"import-error"},d1=Ft({__name:"SettingsView",setup(e){var Bt;const t=L({work_start:"09:00",work_end:"18:00",grace_minutes:10,lunch_minutes:60,remind_weekly:"friday"}),n=L([]),s=L(""),i=L(""),l=L(""),f=L(""),p=L(""),v=L(""),b=L(null),y=L(""),k=L(null),I=L(null),D=L(""),N=L(((Bt=di())==null?void 0:Bt.username)||""),G=L(""),fe=L(""),ee=L(""),E=L(""),j=L(!1),Y=L(""),ae=L(""),ie=L(""),oe=L(""),R=L(!1),$=L("");async function le(){var de;Y.value=await el(),ae.value=((de=pi())==null?void 0:de.username)||"",$.value=await _w()}async function Ee(){await bt("sync_base_url",Y.value.trim()),ze("同步地址已保存")}async function J(){oe.value="";try{await df(),ze("云端绑定已重建")}catch(de){oe.value=de instanceof Error?de.message:"绑定失败"}}async function xe(){if(!R.value){oe.value="",R.value=!0;try{await Ee();const de=await gw();$.value=de.at,ie.value="推送 "+de.pushed+" 条 · 拉取 "+de.pulled+" 条 · 删除 "+de.removed+" 条",ze("同步完成")}catch(de){oe.value=de instanceof Error?de.message:"同步失败"}R.value=!1}}async function Fe(){if(E.value="",fe.value!==ee.value){E.value="两次输入的新密码不一致";return}try{await cw(G.value,fe.value),G.value="",fe.value="",ee.value="",ze("登录密码已修改")}catch(de){E.value=de instanceof Error?de.message:"修改失败"}}async function tt(){await fw(),window.location.reload()}async function Be(){t.value=await Dr(),n.value=await Ks(!0),l.value=(await Ga()).join(`
|
||
`),f.value=await ht("ai_base_url",""),p.value=await ht("ai_api_key",""),v.value=await ht("ai_model",""),await le()}async function Ge(){await bt("ai_base_url",f.value.trim()),await bt("ai_api_key",p.value.trim()),await bt("ai_model",v.value.trim()),ze("AI 配置已保存")}async function _e(){const de=_t(),m=await Promise.all([ui("2000-01-01",de),Ks(!0)]),w=m[0],H=m[1],ue=new Map(H.map(Z=>[Z.id,Z.name])),se=[["日期","分类","项目","内容","耗时(分钟)","成果","待跟进","收获","备注"]];for(const Z of w)se.push([Z.date,za(Z.category),Z.project_id&&ue.get(Z.project_id)||"",Z.content,Z.minutes==null?"":Z.minutes,Z.is_milestone?"是":"",Z.needs_followup?"是":"",Z.takeaway||"",Z.remark||""]);Cu("工作记录_"+de.replace(/-/g,"")+".csv",se),ze("工作记录 CSV 已导出")}async function je(){const de=_t(),m=await Promise.all([Dr(),li("2000-01-01",de)]),w=m[0],H=m[1],ue=["周日","周一","周二","周三","周四","周五","周六"],se=[["日期","星期","状态","上班时间","下班时间","地点","类型","说明"]];for(const Z of H){const we=Bs(Z,Z.date,w,Z.date===de);se.push([Z.date,ue[ts(Z.date).getDay()],we.label,Z.clock_in_at?Fn(Z.clock_in_at):"",Z.clock_out_at?Fn(Z.clock_out_at):"",Z.location||"",Z.kind==="makeup"?"补卡":Z.kind==="leave"?"休假":"正常",Z.note||""])}Cu("考勤记录_"+de.replace(/-/g,"")+".csv",se),ze("考勤 CSV 已导出")}fn(Be);async function et(){await bt("work_start",t.value.work_start),await bt("work_end",t.value.work_end),await bt("grace_minutes",String(t.value.grace_minutes)),await bt("lunch_minutes",String(t.value.lunch_minutes)),await bt("remind_weekly",t.value.remind_weekly),ze("打卡规则已保存")}async function ge(){await Xc(l.value.split(`
|
||
`)),ze("常用地点已保存")}async function Q(){const de=s.value.trim();if(de){try{await iv(de),i.value="",s.value=""}catch{i.value="项目名已存在"}await Be()}}function X(de){b.value=de.id,y.value=de.name}async function Ce(de){const m=y.value.trim();if(m)try{await av(de.id,m),i.value=""}catch{i.value="项目名已存在"}b.value=null,await Be()}async function At(de){await lv(de.id,de.archived!==1),await Be()}async function Ct(){const de=await Mv();ef("实习日志备份_"+_t().replace(/-/g,"")+".json",de)}function Et(de){const m=de.target,w=m.files&&m.files[0];if(D.value="",!w)return;const H=w.name;w.text().then(ue=>{I.value={name:H,text:ue}}),m.value=""}async function Jt(){if(I.value)try{await Iv(I.value.text),I.value=null,D.value="",await Be(),ze("数据导入完成")}catch(de){I.value=null,D.value=de instanceof Error?de.message:"导入失败"}}return(de,m)=>(K(),U("div",Ew,[u("div",$w,[m[23]||(m[23]=u("div",{class:"section-title"},"账号与隐私",-1)),u("div",Aw,"当前用户:"+re(N.value)+" · 每位用户独立数据库隔离存储于本机 · 登录密码仅保存 PBKDF2 哈希",1),u("div",Tw,[u("div",Ow,[m[20]||(m[20]=u("label",null,"旧登录密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[0]||(m[0]=w=>G.value=w)},null,512),[[De,G.value]])]),u("div",Pw,[m[21]||(m[21]=u("label",null,"新登录密码(至少 6 位)",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[1]||(m[1]=w=>fe.value=w)},null,512),[[De,fe.value]])]),u("div",Mw,[m[22]||(m[22]=u("label",null,"确认新登录密码",-1)),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":m[2]||(m[2]=w=>ee.value=w)},null,512),[[De,ee.value]])])]),E.value?(K(),U("div",Iw,re(E.value),1)):$e("",!0),u("div",Dw,[u("button",{class:"btn btn-primary btn-sm",onClick:Fe},"修改登录密码"),u("button",{class:"btn btn-sm btn-danger",onClick:m[3]||(m[3]=w=>j.value=!0)},"删除此用户及全部数据")])]),u("div",jw,[m[30]||(m[30]=u("div",{class:"section-title"},"打卡规则",-1)),u("div",Kw,[u("div",Rw,[m[24]||(m[24]=u("label",null,"上班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":m[4]||(m[4]=w=>t.value.work_start=w)},null,512),[[De,t.value.work_start]])]),u("div",Nw,[m[25]||(m[25]=u("label",null,"下班时间",-1)),Ae(u("input",{type:"time",class:"input","onUpdate:modelValue":m[5]||(m[5]=w=>t.value.work_end=w)},null,512),[[De,t.value.work_end]])]),u("div",Lw,[m[26]||(m[26]=u("label",null,"迟到宽限(分钟)",-1)),Ae(u("input",{type:"number",class:"input",min:"0","onUpdate:modelValue":m[6]||(m[6]=w=>t.value.grace_minutes=w)},null,512),[[De,t.value.grace_minutes,void 0,{number:!0}]])]),u("div",Vw,[m[27]||(m[27]=u("label",null,"午休扣除(分钟)",-1)),Ae(u("input",{type:"number",class:"input",min:"0","onUpdate:modelValue":m[7]||(m[7]=w=>t.value.lunch_minutes=w)},null,512),[[De,t.value.lunch_minutes,void 0,{number:!0}]])]),u("div",Fw,[m[29]||(m[29]=u("label",null,"周记提醒",-1)),Ae(u("select",{class:"select","onUpdate:modelValue":m[8]||(m[8]=w=>t.value.remind_weekly=w)},[...m[28]||(m[28]=[u("option",{value:"friday"},"每周五提醒",-1),u("option",{value:"off"},"关闭",-1)])],512),[[Ln,t.value.remind_weekly]])])]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:et},"保存规则")])]),u("div",Bw,[m[31]||(m[31]=u("div",{class:"section-title"},"项目管理",-1)),u("div",Uw,[Ae(u("input",{class:"input","onUpdate:modelValue":m[9]||(m[9]=w=>s.value=w),placeholder:"新项目名称",onKeydown:Dt(Q,["enter"])},null,544),[[De,s.value]]),u("button",{class:"btn btn-sm",onClick:Q},"添加")]),i.value?(K(),U("div",qw,re(i.value),1)):$e("",!0),(K(!0),U(Ke,null,lt(n.value,w=>(K(),U("div",{key:w.id,class:"proj-row"},[b.value===w.id?(K(),U(Ke,{key:0},[Ae(u("input",{class:"input","onUpdate:modelValue":m[10]||(m[10]=H=>y.value=H),onKeydown:Dt(H=>Ce(w),["enter"])},null,40,Hw),[[De,y.value]]),u("button",{class:"btn btn-sm",onClick:H=>Ce(w)},"保存",8,Ww),u("button",{class:"btn btn-sm",onClick:m[11]||(m[11]=H=>b.value=null)},"取消")],64)):(K(),U(Ke,{key:1},[u("span",{class:Qe(["proj-name",{archived:w.archived===1}])},re(w.name),3),u("button",{class:"icon-btn",title:"重命名",onClick:H=>X(w)},[Me(at,{name:"edit",size:14})],8,zw),u("button",{class:"btn btn-sm",onClick:H=>At(w)},re(w.archived===1?"恢复":"归档"),9,Gw)],64))]))),128)),n.value.length?$e("",!0):(K(),U("div",Yw,"暂无项目,先添加一个"))]),u("div",Jw,[m[33]||(m[33]=u("div",{class:"section-title"},"常用地点",-1)),Ae(u("textarea",{class:"textarea","onUpdate:modelValue":m[12]||(m[12]=w=>l.value=w),placeholder:"每行一个地点,如:公司、客户现场、出差、居家办公"},null,512),[[De,l.value]]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:ge},"保存地点"),m[32]||(m[32]=u("span",{class:"muted loc-note"},"打卡时可直接输入新地点,保存后自动加入列表",-1))])]),u("div",Xw,[m[35]||(m[35]=u("div",{class:"section-title"},"多端数据同步",-1)),u("div",Qw,"云端账号:"+re(ae.value||"未绑定")+" · 登录即自动绑定并同步(变更实时推送 + 每 5 分钟兜底);密码库以密文同步,主密码永不出本机",1),u("div",Zw,[m[34]||(m[34]=u("label",null,"同步服务地址(默认即可)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[13]||(m[13]=w=>Y.value=w),placeholder:"https://daywk.linyux.cn"},null,512),[[De,Y.value]])]),u("div",e1,[u("button",{class:"btn btn-sm",onClick:Ee},"保存地址"),u("button",{class:"btn btn-primary btn-sm",disabled:R.value,onClick:xe},re(R.value?"同步中":"立即同步"),9,t1),u("button",{class:"btn btn-sm",onClick:J},"重建云端绑定")]),ie.value?(K(),U("div",n1,"上次同步:"+re($.value||"--")+" · "+re(ie.value),1)):$e("",!0),oe.value?(K(),U("div",r1,re(oe.value),1)):$e("",!0)]),u("div",s1,[m[40]||(m[40]=u("div",{class:"section-title"},"AI 润色配置(可选)",-1)),u("div",o1,[u("div",i1,[m[36]||(m[36]=u("label",null,"接口地址(OpenAI 兼容,到 /v1 为止)",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[14]||(m[14]=w=>f.value=w),placeholder:"https://api.example.com/v1"},null,512),[[De,f.value]])]),u("div",a1,[m[37]||(m[37]=u("label",null,"API Key",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[15]||(m[15]=w=>p.value=w),placeholder:"sk-..."},null,512),[[De,p.value]])]),u("div",l1,[m[38]||(m[38]=u("label",null,"模型名称",-1)),Ae(u("input",{class:"input","onUpdate:modelValue":m[16]||(m[16]=w=>v.value=w),placeholder:"如:deepseek-chat"},null,512),[[De,v.value]])])]),u("div",{class:"rule-save"},[u("button",{class:"btn btn-primary btn-sm",onClick:Ge},"保存 AI 配置"),m[39]||(m[39]=u("span",{class:"muted loc-note"},"配置仅保存在本机浏览器;总结页可用 AI 润色草稿,需服务端允许浏览器跨域",-1))])]),u("div",u1,[m[41]||(m[41]=u("div",{class:"section-title"},"数据备份",-1)),u("div",c1,[u("button",{class:"btn btn-sm",onClick:Ct},"导出 JSON 备份"),u("button",{class:"btn btn-sm",onClick:m[17]||(m[17]=w=>{var H;return(H=k.value)==null?void 0:H.click()})},"导入 JSON 备份"),u("button",{class:"btn btn-sm",onClick:_e},"导出工作记录 CSV"),u("button",{class:"btn btn-sm",onClick:je},"导出考勤 CSV"),u("input",{ref_key:"fileInput",ref:k,type:"file",accept:"application/json,.json",style:{display:"none"},onChange:Et},null,544)]),D.value?(K(),U("div",f1,re(D.value),1)):$e("",!0),m[42]||(m[42]=u("div",{class:"muted backup-note"},"数据保存在浏览器 IndexedDB 中,建议定期导出 JSON 备份。",-1))]),Me(ur,{open:!!I.value,title:"导入确认",message:I.value?"将从文件「"+I.value.name+"」导入备份。现有全部数据将被覆盖,且不可恢复,请先确认已导出当前备份。":"","confirm-text":"覆盖导入",danger:"",onCancel:m[18]||(m[18]=w=>I.value=null),onConfirm:Jt},null,8,["open","message"]),Me(ur,{open:j.value,title:"删除用户确认",message:"将永久删除用户「"+N.value+"」及其全部数据:工作日志、考勤、备忘录、账号密码库都将被清除,且不可恢复。请确认。","confirm-text":"永久删除",danger:"",onCancel:m[19]||(m[19]=w=>j.value=!1),onConfirm:tt},null,8,["open","message"])]))}}),p1=Yt(d1,[["__scopeId","data-v-79d0f2e9"]]),h1={class:"login-page"},v1={class:"card login-card"},m1={class:"login-brand"},y1={class:"brand-icon"},g1={class:"seg"},b1=["placeholder"],_1={key:1,class:"mig-row"},w1={key:2,class:"form-error"},k1=["disabled"],x1=Ft({__name:"LoginView",emits:["login"],setup(e,{emit:t}){const n=t,s=L("login"),i=L(""),l=L(""),f=L(""),p=L(!0),v=L(!1),b=L(""),y=L(!1);fn(async()=>{v.value=await cf()});function k(D){s.value=D,b.value="",f.value=""}async function I(){if(!y.value){b.value="",y.value=!0;try{let D;if(s.value==="login")D=await lw(i.value,l.value);else{if(l.value.length<6){b.value="登录密码至少 6 位",y.value=!1;return}if(l.value!==f.value){b.value="两次输入的密码不一致",y.value=!1;return}D=await aw(i.value,l.value,p.value)}n("login",D)}catch(D){b.value=D instanceof Error?D.message:"操作失败"}y.value=!1}}return(D,N)=>(K(),U("div",h1,[u("div",v1,[u("div",m1,[u("div",y1,[Me(at,{name:"calendar",size:22})]),N[6]||(N[6]=u("div",{class:"login-title"},"实习工作日志",-1)),N[7]||(N[7]=u("div",{class:"muted login-sub"},"打卡 · 记录 · 总结 · 备忘录 · 密码库",-1)),N[8]||(N[8]=u("div",{class:"muted login-sub"},"每位用户独立数据库,数据彼此隔离并保存在本机",-1))]),u("div",g1,[u("button",{class:Qe(["seg-btn",{active:s.value==="login"}]),onClick:N[0]||(N[0]=G=>k("login"))},"登录",2),u("button",{class:Qe(["seg-btn",{active:s.value==="create"}]),onClick:N[1]||(N[1]=G=>k("create"))},"创建用户",2)]),Ae(u("input",{class:"input","onUpdate:modelValue":N[2]||(N[2]=G=>i.value=G),placeholder:"用户名(2 到 20 个字符)",onKeydown:Dt(I,["enter"])},null,544),[[De,i.value]]),Ae(u("input",{type:"password",class:"input","onUpdate:modelValue":N[3]||(N[3]=G=>l.value=G),placeholder:s.value==="login"?"登录密码":"设置登录密码(至少 6 位)",onKeydown:Dt(I,["enter"])},null,40,b1),[[De,l.value]]),s.value==="create"?Ae((K(),U("input",{key:0,type:"password",class:"input","onUpdate:modelValue":N[4]||(N[4]=G=>f.value=G),placeholder:"再次输入密码",onKeydown:Dt(I,["enter"])},null,544)),[[De,f.value]]):$e("",!0),s.value==="create"&&v.value?(K(),U("label",_1,[Ae(u("input",{type:"checkbox","onUpdate:modelValue":N[5]||(N[5]=G=>p.value=G)},null,512),[[vh,p.value]]),N[9]||(N[9]=u("span",null,"导入本机原有工作日志数据到此用户(原数据保留不删除)",-1))])):$e("",!0),b.value?(K(),U("div",w1,re(b.value),1)):$e("",!0),u("button",{class:"btn btn-primary login-btn",disabled:y.value,onClick:I},re(s.value==="login"?"登录":"创建并进入"),9,k1),N[10]||(N[10]=u("div",{class:"muted login-note"}," 登录后自动开启云端同步(密码会保存在本机用于云同步);系统只保存密码哈希,忘记密码将无法访问该用户数据 ",-1))])]))}}),C1=Yt(x1,[["__scopeId","data-v-d3d6c8cb"]]),S1={key:1,class:"app"},E1={class:"side"},$1=["data-tip","onClick"],A1={class:"main"},T1={class:"topbar"},O1={class:"title"},P1={class:"gsearch"},M1={key:0,class:"gs-panel"},I1={key:0,class:"gs-group muted"},D1=["onMousedown"],j1={class:"tag"},K1={class:"gs-text"},R1={class:"muted num gs-date"},N1={key:1,class:"gs-group muted"},L1=["onMousedown"],V1={class:"gs-text"},F1={class:"muted gs-sub"},B1={key:1,class:"gs-empty muted"},U1={class:"user-chip num"},q1=["disabled"],H1={class:"num"},W1={class:"content"},z1={class:"content-inner"},G1={class:"toast-wrap"},Y1=Ft({__name:"App",setup(e){const t=jv(),n=L(di());async function s(_e){n.value=_e,location.hash="#/calendar",ae.value="calendar",await Ee(),await Ge(),f();try{await df(),await Yr()}catch{}showToast("欢迎,"+_e.username);const je=sessionStorage.getItem("dsh_migrate_toast");je&&(sessionStorage.removeItem("dsh_migrate_toast"),showToast("已迁移原有数据 "+je+" 条"))}async function i(){xw(),l!==null&&(window.clearInterval(l),l=null),await uw(),n.value=null,ae.value="calendar",location.hash="#/calendar",showToast("已退出登录")}let l=null;function f(){kw(),l!==null&&window.clearInterval(l),l=window.setInterval(()=>{Yr()},60*1e3),Yr()}const p=L(null),v=L(""),b=L(!1),y=L({logs:[],memos:[]});let k=null;const I=ot(()=>!!(y.value.logs.length||y.value.memos.length));function D(){k&&window.clearTimeout(k);const _e=v.value;k=window.setTimeout(async()=>{const je=_e.trim();if(!je){y.value={logs:[],memos:[]};return}const et=await Promise.all([Sv(je,8),Ev(je,4)]);y.value={logs:et[0],memos:et[1]}},200)}function N(){v.value="",y.value={logs:[],memos:[]},b.value=!1}function G(_e){ka.value=_e.date,ie("calendar"),N()}function fe(_e){xa.value=_e.id,ie("memo"),N()}function ee(){window.setTimeout(()=>{b.value=!1},150)}function E(_e){var je;(_e.ctrlKey||_e.metaKey)&&_e.key.toLowerCase()==="k"&&(_e.preventDefault(),(je=p.value)==null||je.focus())}const j=[{key:"calendar",name:"日历",icon:"calendar"},{key:"today",name:"详情",icon:"edit"},{key:"stats",name:"统计",icon:"chart"},{key:"report",name:"总结",icon:"export"},{key:"ledger",name:"记账",icon:"wallet"},{key:"memo",name:"备忘录",icon:"memo"},{key:"vault",name:"密码库",icon:"lock"},{key:"settings",name:"设置",icon:"settings"}];function Y(){const _e=(location.hash||"").replace("#/","");return j.some(je=>je.key===_e)?_e:"calendar"}const ae=L(Y());window.addEventListener("hashchange",()=>{ae.value=Y()});function ie(_e){location.hash="#/"+_e}const oe=ot(()=>j.find(_e=>_e.key===ae.value)||j[0]),R=L(_t()),$=L(void 0),le=L(!1);async function Ee(){if($.value=await mn(R.value),le.value=!1,new Date().getHours()<4){const je=await mn(Nn(R.value,-1));le.value=!!(je&&je.clock_in_at&&!je.clock_out_at)}}const J=ot(()=>{const _e=$.value;return _e&&_e.clock_in_at&&!_e.clock_out_at?!0:le.value&&!(_e&&_e.clock_in_at)}),xe=ot(()=>{const _e=$.value;return!!(_e&&_e.clock_in_at&&_e.clock_out_at)}),Fe=ot(()=>{const _e=$.value;return J.value?"下班打卡":xe.value?"已打卡 "+Fn(_e==null?void 0:_e.clock_in_at)+" - "+Fn(_e==null?void 0:_e.clock_out_at):"上班打卡"});async function tt(){if(J.value)try{await cv()}catch{}else await Qc(R.value);await Ee(),Sr()}vt(Us,()=>{n.value&&Ee()});const Be=L(!1);async function Ge(){if((await Dr()).remind_weekly==="off"){Be.value=!1;return}const je=new Date().getDay();if(je===5||je===6||je===0){const et=await Ya(Cs(R.value));Be.value=!et||!et.highlights&&!et.challenges&&!et.plan_next}else Be.value=!1}return fn(async()=>{window.addEventListener("keydown",E),n.value&&(Za(n.value.userId),await Ee(),await Ge(),f())}),(_e,je)=>{var et;return n.value?(K(),U("div",S1,[u("nav",E1,[(K(),U(Ke,null,lt(j,ge=>u("button",{key:ge.key,class:Qe(["nav-btn",{active:ae.value===ge.key}]),"data-tip":ge.name,onClick:Q=>ie(ge.key)},[Me(at,{name:ge.icon,size:18},null,8,["name"])],10,$1)),64))]),u("div",A1,[u("header",T1,[u("span",O1,re(oe.value.name),1),u("div",P1,[Me(at,{name:"search",size:14,class:"gs-icon"}),Ae(u("input",{ref_key:"gsInput",ref:p,class:"input gs-input","onUpdate:modelValue":je[0]||(je[0]=ge=>v.value=ge),placeholder:"搜索工作记录与备忘录(Ctrl+K)",onInput:D,onFocus:je[1]||(je[1]=ge=>b.value=!0),onBlur:ee,onKeydown:Dt(N,["esc"])},null,544),[[De,v.value]]),b.value&&v.value.trim()?(K(),U("div",M1,[I.value?(K(),U(Ke,{key:0},[y.value.logs.length?(K(),U("div",I1,"工作记录")):$e("",!0),(K(!0),U(Ke,null,lt(y.value.logs,ge=>(K(),U("div",{key:"l"+ge.id,class:"gs-item",onMousedown:Mr(Q=>G(ge),["prevent"])},[u("span",j1,re(nn(za)(ge.category)),1),u("span",K1,re(ge.content),1),u("span",R1,re(ge.date),1)],40,D1))),128)),y.value.memos.length?(K(),U("div",N1,"备忘录")):$e("",!0),(K(!0),U(Ke,null,lt(y.value.memos,ge=>(K(),U("div",{key:"m"+ge.id,class:"gs-item",onMousedown:Mr(Q=>fe(ge),["prevent"])},[u("span",V1,re(ge.title||"无标题"),1),u("span",F1,re(ge.content),1)],40,L1))),128))],64)):(K(),U("div",B1,"无匹配结果"))])):$e("",!0)]),je[4]||(je[4]=u("span",{class:"flex1"},null,-1)),Be.value?(K(),U("button",{key:0,class:"week-tip",onClick:je[2]||(je[2]=ge=>ie("report"))},[...je[3]||(je[3]=[u("span",{class:"dot",style:{background:"var(--warn)"}},null,-1),tn(" 填写本周周记 ",-1)])])):$e("",!0),u("span",U1,re((et=n.value)==null?void 0:et.username),1),u("button",{class:"btn btn-sm",onClick:i},"退出"),u("button",{class:"btn btn-primary btn-sm",disabled:xe.value,onClick:tt},[Me(at,{name:xe.value?"check-circle":"clock",size:14},null,8,["name"]),u("span",H1,re(Fe.value),1)],8,q1)]),u("main",W1,[u("div",z1,[ae.value==="calendar"?(K(),It(sy,{key:0})):ae.value==="today"?(K(),It(cy,{key:1})):ae.value==="stats"?(K(),It(Fy,{key:2})):ae.value==="report"?(K(),It(Eg,{key:3})):ae.value==="ledger"?(K(),It(jb,{key:4})):ae.value==="memo"?(K(),It(Zb,{key:5})):ae.value==="vault"?(K(),It(sw,{key:6})):(K(),It(p1,{key:7}))])])]),u("div",G1,[Me(ih,{name:"toast"},{default:fr(()=>[(K(!0),U(Ke,null,lt(nn(t),ge=>(K(),U("div",{key:ge.id,class:"toast"},re(ge.text),1))),128))]),_:1})])])):(K(),It(C1,{key:0,onLogin:s}))}}}),J1=Yt(Y1,[["__scopeId","data-v-219a8436"]]);kh(J1).mount("#app");"serviceWorker"in navigator&&location.protocol.startsWith("http")&&window.addEventListener("load",()=>{navigator.serviceWorker.register("sw.js").catch(()=>{})});
|