diff --git a/index.html b/index.html
index 257fdb7..1b7d2a7 100644
--- a/index.html
+++ b/index.html
@@ -8,8 +8,8 @@
-
-
+
+
diff --git a/static/index-Bf_ODPew.js b/static/index-Bf_ODPew.js
deleted file mode 100644
index 2734f24..0000000
--- a/static/index-Bf_ODPew.js
+++ /dev/null
@@ -1,128 +0,0 @@
-(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
-* @vue/shared v3.5.5
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**//*! #__NO_SIDE_EFFECTS__ */function ts(t){const e=Object.create(null);for(const n of t.split(","))e[n]=1;return n=>n in e}const H={},de=[],Pt=()=>{},Sr=()=>!1,_n=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),es=t=>t.startsWith("onUpdate:"),ot=Object.assign,ns=(t,e)=>{const n=t.indexOf(e);n>-1&&t.splice(n,1)},Tr=Object.prototype.hasOwnProperty,D=(t,e)=>Tr.call(t,e),$=Array.isArray,pe=t=>Ve(t)==="[object Map]",we=t=>Ve(t)==="[object Set]",$s=t=>Ve(t)==="[object Date]",P=t=>typeof t=="function",Y=t=>typeof t=="string",Mt=t=>typeof t=="symbol",G=t=>t!==null&&typeof t=="object",go=t=>(G(t)||P(t))&&P(t.then)&&P(t.catch),mo=Object.prototype.toString,Ve=t=>mo.call(t),Or=t=>Ve(t).slice(8,-1),_o=t=>Ve(t)==="[object Object]",ss=t=>Y(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ie=ts(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),bn=t=>{const e=Object.create(null);return n=>e[n]||(e[n]=t(n))},$r=/-(\w)/g,St=bn(t=>t.replace($r,(e,n)=>n?n.toUpperCase():"")),Er=/\B([A-Z])/g,ue=bn(t=>t.replace(Er,"-$1").toLowerCase()),yn=bn(t=>t.charAt(0).toUpperCase()+t.slice(1)),Rn=bn(t=>t?`on${yn(t)}`:""),le=(t,e)=>!Object.is(t,e),nn=(t,...e)=>{for(let n=0;n{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:s,value:n})},an=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Es;const yo=()=>Es||(Es=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function xn(t){if($(t)){const e={};for(let n=0;n{if(n){const s=n.split(Ar);s.length>1&&(e[s[0].trim()]=s[1].trim())}}),e}function Lt(t){let e="";if(Y(t))e=t;else if($(t))for(let n=0;nUe(n,e))}const wo=t=>!!(t&&t.__v_isRef===!0),wt=t=>Y(t)?t:t==null?"":$(t)||G(t)&&(t.toString===mo||!P(t.toString))?wo(t)?wt(t.value):JSON.stringify(t,vo,2):String(t),vo=(t,e)=>wo(e)?vo(t,e.value):pe(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((n,[s,o],r)=>(n[Pn(s,r)+" =>"]=o,n),{})}:we(e)?{[`Set(${e.size})`]:[...e.values()].map(n=>Pn(n))}:Mt(e)?Pn(e):G(e)&&!$(e)&&!_o(e)?String(e):e,Pn=(t,e="")=>{var n;return Mt(t)?`Symbol(${(n=t.description)!=null?n:e})`:t};/**
-* @vue/reactivity v3.5.5
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let mt;class Fr{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=mt,!e&&mt&&(this.index=(mt.scopes||(mt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,n;if(this.scopes)for(e=0,n=this.scopes.length;e0)return;let t;for(;Ae;){let e=Ae;for(Ae=void 0;e;){const n=e.nextEffect;if(e.nextEffect=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(s){t||(t=s)}e=n}}if(t)throw t}function To(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Oo(t){let e,n=t.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),ls(s),jr(s)):e=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}t.deps=e,t.depsTail=n}function Hn(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&$o(e.dep.computed)||e.dep.version!==e.version)return!0;return!!t._dirty}function $o(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===ke))return;t.globalVersion=ke;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&!Hn(t)){t.flags&=-3;return}const n=U,s=vt;U=t,vt=!0;try{To(t);const o=t.fn(t._value);(e.version===0||le(o,t._value))&&(t._value=o,e.version++)}catch(o){throw e.version++,o}finally{U=n,vt=s,Oo(t),t.flags&=-3}}function ls(t){const{dep:e,prevSub:n,nextSub:s}=t;if(n&&(n.nextSub=s,t.prevSub=void 0),s&&(s.prevSub=n,t.nextSub=void 0),e.subs===t&&(e.subs=n),!e.subs&&e.computed){e.computed.flags&=-5;for(let o=e.computed.deps;o;o=o.nextDep)ls(o)}}function jr(t){const{prevDep:e,nextDep:n}=t;e&&(e.nextDep=n,t.prevDep=void 0),n&&(n.prevDep=e,t.nextDep=void 0)}let vt=!0;const Eo=[];function Qt(){Eo.push(vt),vt=!1}function Xt(){const t=Eo.pop();vt=t===void 0?!0:t}function Is(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const n=U;U=void 0;try{e()}finally{U=n}}}let ke=0;class Lr{constructor(e,n){this.sub=e,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Io{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0}track(e){if(!U||!vt||U===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==U)n=this.activeLink=new Lr(U,this),U.deps?(n.prevDep=U.depsTail,U.depsTail.nextDep=n,U.depsTail=n):U.deps=U.depsTail=n,U.flags&4&&Ao(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=U.depsTail,n.nextDep=void 0,U.depsTail.nextDep=n,U.depsTail=n,U.deps===n&&(U.deps=s)}return n}trigger(e){this.version++,ke++,this.notify(e)}notify(e){rs();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()}finally{is()}}}function Ao(t){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let s=e.deps;s;s=s.nextDep)Ao(s)}const n=t.dep.subs;n!==t&&(t.prevSub=n,n&&(n.nextSub=t)),t.dep.subs=t}const Bn=new WeakMap,ie=Symbol(""),Kn=Symbol(""),Ne=Symbol("");function rt(t,e,n){if(vt&&U){let s=Bn.get(t);s||Bn.set(t,s=new Map);let o=s.get(n);o||s.set(n,o=new Io),o.track()}}function Ut(t,e,n,s,o,r){const i=Bn.get(t);if(!i){ke++;return}const l=c=>{c&&c.trigger()};if(rs(),e==="clear")i.forEach(l);else{const c=$(t),d=c&&ss(n);if(c&&n==="length"){const f=Number(s);i.forEach((p,x)=>{(x==="length"||x===Ne||!Mt(x)&&x>=f)&&l(p)})}else switch(n!==void 0&&l(i.get(n)),d&&l(i.get(Ne)),e){case"add":c?d&&l(i.get("length")):(l(i.get(ie)),pe(t)&&l(i.get(Kn)));break;case"delete":c||(l(i.get(ie)),pe(t)&&l(i.get(Kn)));break;case"set":pe(t)&&l(i.get(ie));break}}is()}function ae(t){const e=V(t);return e===t?e:(rt(e,"iterate",Ne),Ct(t)?e:e.map(at))}function wn(t){return rt(t=V(t),"iterate",Ne),t}const Vr={__proto__:null,[Symbol.iterator](){return kn(this,Symbol.iterator,at)},concat(...t){return ae(this).concat(...t.map(e=>$(e)?ae(e):e))},entries(){return kn(this,"entries",t=>(t[1]=at(t[1]),t))},every(t,e){return Ft(this,"every",t,e,void 0,arguments)},filter(t,e){return Ft(this,"filter",t,e,n=>n.map(at),arguments)},find(t,e){return Ft(this,"find",t,e,at,arguments)},findIndex(t,e){return Ft(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Ft(this,"findLast",t,e,at,arguments)},findLastIndex(t,e){return Ft(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Ft(this,"forEach",t,e,void 0,arguments)},includes(...t){return Nn(this,"includes",t)},indexOf(...t){return Nn(this,"indexOf",t)},join(t){return ae(this).join(t)},lastIndexOf(...t){return Nn(this,"lastIndexOf",t)},map(t,e){return Ft(this,"map",t,e,void 0,arguments)},pop(){return Oe(this,"pop")},push(...t){return Oe(this,"push",t)},reduce(t,...e){return As(this,"reduce",t,e)},reduceRight(t,...e){return As(this,"reduceRight",t,e)},shift(){return Oe(this,"shift")},some(t,e){return Ft(this,"some",t,e,void 0,arguments)},splice(...t){return Oe(this,"splice",t)},toReversed(){return ae(this).toReversed()},toSorted(t){return ae(this).toSorted(t)},toSpliced(...t){return ae(this).toSpliced(...t)},unshift(...t){return Oe(this,"unshift",t)},values(){return kn(this,"values",at)}};function kn(t,e,n){const s=wn(t),o=s[e]();return s!==t&&!Ct(t)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.value&&(r.value=n(r.value)),r}),o}const Ur=Array.prototype;function Ft(t,e,n,s,o,r){const i=wn(t),l=i!==t&&!Ct(t),c=i[e];if(c!==Ur[e]){const p=c.apply(t,r);return l?at(p):p}let d=n;i!==t&&(l?d=function(p,x){return n.call(this,at(p),x,t)}:n.length>2&&(d=function(p,x){return n.call(this,p,x,t)}));const f=c.call(i,d,s);return l&&o?o(f):f}function As(t,e,n,s){const o=wn(t);let r=n;return o!==t&&(Ct(t)?n.length>3&&(r=function(i,l,c){return n.call(this,i,l,c,t)}):r=function(i,l,c){return n.call(this,i,at(l),c,t)}),o[e](r,...s)}function Nn(t,e,n){const s=V(t);rt(s,"iterate",Ne);const o=s[e](...n);return(o===-1||o===!1)&&fs(n[0])?(n[0]=V(n[0]),s[e](...n)):o}function Oe(t,e,n=[]){Qt(),rs();const s=V(t)[e].apply(t,n);return is(),Xt(),s}const Hr=ts("__proto__,__v_isRef,__isVue"),Ro=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Mt));function Br(t){Mt(t)||(t=String(t));const e=V(this);return rt(e,"has",t),e.hasOwnProperty(t)}class Po{constructor(e=!1,n=!1){this._isReadonly=e,this._isShallow=n}get(e,n,s){const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?ni:Fo:r?No:ko).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(s)?e:void 0;const i=$(e);if(!o){let c;if(i&&(c=Vr[n]))return c;if(n==="hasOwnProperty")return Br}const l=Reflect.get(e,n,ut(e)?e:s);return(Mt(n)?Ro.has(n):Hr(n))||(o||rt(e,"get",n),r)?l:ut(l)?i&&ss(n)?l:l.value:G(l)?o?Do(l):He(l):l}}class Mo extends Po{constructor(e=!1){super(!1,e)}set(e,n,s,o){let r=e[n];if(!this._isShallow){const c=be(r);if(!Ct(s)&&!be(s)&&(r=V(r),s=V(s)),!$(e)&&ut(r)&&!ut(s))return c?!1:(r.value=s,!0)}const i=$(e)&&ss(n)?Number(n)t,vn=t=>Reflect.getPrototypeOf(t);function Ye(t,e,n=!1,s=!1){t=t.__v_raw;const o=V(t),r=V(e);n||(le(e,r)&&rt(o,"get",e),rt(o,"get",r));const{has:i}=vn(o),l=s?cs:n?ds:at;if(i.call(o,e))return l(t.get(e));if(i.call(o,r))return l(t.get(r));t!==o&&t.get(e)}function Qe(t,e=!1){const n=this.__v_raw,s=V(n),o=V(t);return e||(le(t,o)&&rt(s,"has",t),rt(s,"has",o)),t===o?n.has(t):n.has(t)||n.has(o)}function Xe(t,e=!1){return t=t.__v_raw,!e&&rt(V(t),"iterate",ie),Reflect.get(t,"size",t)}function Rs(t,e=!1){!e&&!Ct(t)&&!be(t)&&(t=V(t));const n=V(this);return vn(n).has.call(n,t)||(n.add(t),Ut(n,"add",t,t)),this}function Ps(t,e,n=!1){!n&&!Ct(e)&&!be(e)&&(e=V(e));const s=V(this),{has:o,get:r}=vn(s);let i=o.call(s,t);i||(t=V(t),i=o.call(s,t));const l=r.call(s,t);return s.set(t,e),i?le(e,l)&&Ut(s,"set",t,e):Ut(s,"add",t,e),this}function Ms(t){const e=V(this),{has:n,get:s}=vn(e);let o=n.call(e,t);o||(t=V(t),o=n.call(e,t)),s&&s.call(e,t);const r=e.delete(t);return o&&Ut(e,"delete",t,void 0),r}function ks(){const t=V(this),e=t.size!==0,n=t.clear();return e&&Ut(t,"clear",void 0,void 0),n}function Ze(t,e){return function(s,o){const r=this,i=r.__v_raw,l=V(i),c=e?cs:t?ds:at;return!t&&rt(l,"iterate",ie),i.forEach((d,f)=>s.call(o,c(d),c(f),r))}}function tn(t,e,n){return function(...s){const o=this.__v_raw,r=V(o),i=pe(r),l=t==="entries"||t===Symbol.iterator&&i,c=t==="keys"&&i,d=o[t](...s),f=n?cs:e?ds:at;return!e&&rt(r,"iterate",c?Kn:ie),{next(){const{value:p,done:x}=d.next();return x?{value:p,done:x}:{value:l?[f(p[0]),f(p[1])]:f(p),done:x}},[Symbol.iterator](){return this}}}}function Gt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Jr(){const t={get(r){return Ye(this,r)},get size(){return Xe(this)},has:Qe,add:Rs,set:Ps,delete:Ms,clear:ks,forEach:Ze(!1,!1)},e={get(r){return Ye(this,r,!1,!0)},get size(){return Xe(this)},has:Qe,add(r){return Rs.call(this,r,!0)},set(r,i){return Ps.call(this,r,i,!0)},delete:Ms,clear:ks,forEach:Ze(!1,!0)},n={get(r){return Ye(this,r,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!1)},s={get(r){return Ye(this,r,!0,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=tn(r,!1,!1),n[r]=tn(r,!0,!1),e[r]=tn(r,!1,!0),s[r]=tn(r,!0,!0)}),[t,n,e,s]}const[qr,Yr,Qr,Xr]=Jr();function us(t,e){const n=e?t?Xr:Qr:t?Yr:qr;return(s,o,r)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?s:Reflect.get(D(n,o)&&o in s?n:s,o,r)}const Zr={get:us(!1,!1)},ti={get:us(!1,!0)},ei={get:us(!0,!1)};const ko=new WeakMap,No=new WeakMap,Fo=new WeakMap,ni=new WeakMap;function si(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oi(t){return t.__v_skip||!Object.isExtensible(t)?0:si(Or(t))}function He(t){return be(t)?t:as(t,!1,zr,Zr,ko)}function ri(t){return as(t,!1,Wr,ti,No)}function Do(t){return as(t,!0,Gr,ei,Fo)}function as(t,e,n,s,o){if(!G(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=o.get(t);if(r)return r;const i=oi(t);if(i===0)return t;const l=new Proxy(t,i===2?s:n);return o.set(t,l),l}function he(t){return be(t)?he(t.__v_raw):!!(t&&t.__v_isReactive)}function be(t){return!!(t&&t.__v_isReadonly)}function Ct(t){return!!(t&&t.__v_isShallow)}function fs(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function ii(t){return!D(t,"__v_skip")&&Object.isExtensible(t)&&bo(t,"__v_skip",!0),t}const at=t=>G(t)?He(t):t,ds=t=>G(t)?Do(t):t;function ut(t){return t?t.__v_isRef===!0:!1}function li(t){return ut(t)?t.value:t}const ci={get:(t,e,n)=>e==="__v_raw"?t:li(Reflect.get(t,e,n)),set:(t,e,n,s)=>{const o=t[e];return ut(o)&&!ut(n)?(o.value=n,!0):Reflect.set(t,e,n,s)}};function jo(t){return he(t)?t:new Proxy(t,ci)}class ui{constructor(e,n,s){this.fn=e,this.setter=n,this._value=void 0,this.dep=new Io(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ke-1,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){this.flags|=16,U!==this&&this.dep.notify()}get value(){const e=this.dep.track();return $o(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function ai(t,e,n=!1){let s,o;return P(t)?s=t:(s=t.get,o=t.set),new ui(s,o,n)}const en={},fn=new WeakMap;let oe;function fi(t,e=!1,n=oe){if(n){let s=fn.get(n);s||fn.set(n,s=[]),s.push(t)}}function di(t,e,n=H){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:l,call:c}=n,d=I=>o?I:Ct(I)||o===!1||o===0?Vt(I,1):Vt(I);let f,p,x,E,k=!1,R=!1;if(ut(t)?(p=()=>t.value,k=Ct(t)):he(t)?(p=()=>d(t),k=!0):$(t)?(R=!0,k=t.some(I=>he(I)||Ct(I)),p=()=>t.map(I=>{if(ut(I))return I.value;if(he(I))return d(I);if(P(I))return c?c(I,2):I()})):P(t)?e?p=c?()=>c(t,2):t:p=()=>{if(x){Qt();try{x()}finally{Xt()}}const I=oe;oe=f;try{return c?c(t,3,[E]):t(E)}finally{oe=I}}:p=Pt,e&&o){const I=p,X=o===!0?1/0:o;p=()=>Vt(I(),X)}const Q=Dr(),F=()=>{f.stop(),Q&&ns(Q.effects,f)};if(r)if(e){const I=e;e=(...X)=>{I(...X),F()}}else{const I=p;p=()=>{I(),F()}}let J=R?new Array(t.length).fill(en):en;const q=I=>{if(!(!(f.flags&1)||!f.dirty&&!I))if(e){const X=f.run();if(o||k||(R?X.some((Kt,Tt)=>le(Kt,J[Tt])):le(X,J))){x&&x();const Kt=oe;oe=f;try{const Tt=[X,J===en?void 0:R&&J[0]===en?[]:J,E];c?c(e,3,Tt):e(...Tt),J=X}finally{oe=Kt}}}else f.run()};return l&&l(q),f=new Co(p),f.scheduler=i?()=>i(q,!1):q,E=I=>fi(I,!1,f),x=f.onStop=()=>{const I=fn.get(f);if(I){if(c)c(I,4);else for(const X of I)X();fn.delete(f)}},e?s?q(!0):J=f.run():i?i(q.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function Vt(t,e=1/0,n){if(e<=0||!G(t)||t.__v_skip||(n=n||new Set,n.has(t)))return t;if(n.add(t),e--,ut(t))Vt(t.value,e,n);else if($(t))for(let s=0;s{Vt(s,e,n)});else if(_o(t)){for(const s in t)Vt(t[s],e,n);for(const s of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,s)&&Vt(t[s],e,n)}return t}/**
-* @vue/runtime-core v3.5.5
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/function Be(t,e,n,s){try{return s?t(...s):t()}catch(o){Cn(o,e,n)}}function kt(t,e,n,s){if(P(t)){const o=Be(t,e,n,s);return o&&go(o)&&o.catch(r=>{Cn(r,e,n)}),o}if($(t)){const o=[];for(let r=0;r>>1,o=ct[s],r=De(o);r=De(n)?ct.push(t):ct.splice(hi(e),0,t),t.flags|=1,Uo()}}function Uo(){!Fe&&!zn&&(zn=!0,ps=Lo.then(Bo))}function gi(t){$(t)?ge.push(...t):Jt&&t.id===-1?Jt.splice(fe+1,0,t):t.flags&1||(ge.push(t),t.flags|=1),Uo()}function Ns(t,e,n=Fe?It+1:0){for(;nDe(n)-De(s));if(ge.length=0,Jt){Jt.push(...e);return}for(Jt=e,fe=0;fet.id==null?t.flags&2?-1:1/0:t.id;function Bo(t){zn=!1,Fe=!0;try{for(It=0;It{s._d&&Ks(-1);const r=dn(e);let i;try{i=t(...o)}finally{dn(r),s._d&&Ks(1)}return i};return s._n=!0,s._c=!0,s._d=!0,s}function ft(t,e){if(_t===null)return t;const n=En(_t),s=t.dirs||(t.dirs=[]);for(let o=0;ot.__isTeleport;function gs(t,e){t.shapeFlag&6&&t.component?(t.transition=e,gs(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function zo(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function Gn(t,e,n,s,o=!1){if($(t)){t.forEach((k,R)=>Gn(k,e&&($(e)?e[R]:e),n,s,o));return}if(Re(s)&&!o)return;const r=s.shapeFlag&4?En(s.component):s.el,i=o?null:r,{i:l,r:c}=t,d=e&&e.r,f=l.refs===H?l.refs={}:l.refs,p=l.setupState,x=V(p),E=p===H?()=>!1:k=>D(x,k);if(d!=null&&d!==c&&(Y(d)?(f[d]=null,E(d)&&(p[d]=null)):ut(d)&&(d.value=null)),P(c))Be(c,l,12,[i,f]);else{const k=Y(c),R=ut(c);if(k||R){const Q=()=>{if(t.f){const F=k?E(c)?p[c]:f[c]:c.value;o?$(F)&&ns(F,r):$(F)?F.includes(r)||F.push(r):k?(f[c]=[r],E(c)&&(p[c]=f[c])):(c.value=[r],t.k&&(f[t.k]=c.value))}else k?(f[c]=i,E(c)&&(p[c]=i)):R&&(c.value=i,t.k&&(f[t.k]=i))};i?(Q.id=-1,gt(Q,n)):Q()}}}const Re=t=>!!t.type.__asyncLoader,Go=t=>t.type.__isKeepAlive;function yi(t,e){Wo(t,"a",e)}function xi(t,e){Wo(t,"da",e)}function Wo(t,e,n=st){const s=t.__wdc||(t.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return t()});if(Sn(e,s,n),n){let o=n.parent;for(;o&&o.parent;)Go(o.parent.vnode)&&wi(s,e,n,o),o=o.parent}}function wi(t,e,n,s){const o=Sn(e,t,s,!0);Jo(()=>{ns(s[e],o)},n)}function Sn(t,e,n=st,s=!1){if(n){const o=n[t]||(n[t]=[]),r=e.__weh||(e.__weh=(...i)=>{Qt();const l=Ke(n),c=kt(e,n,t,i);return l(),Xt(),c});return s?o.unshift(r):o.push(r),r}}const Bt=t=>(e,n=st)=>{(!$n||t==="sp")&&Sn(t,(...s)=>e(...s),n)},vi=Bt("bm"),Ci=Bt("m"),Si=Bt("bu"),Ti=Bt("u"),Oi=Bt("bum"),Jo=Bt("um"),$i=Bt("sp"),Ei=Bt("rtg"),Ii=Bt("rtc");function Ai(t,e=st){Sn("ec",t,e)}const qo="components";function Dt(t,e){return Pi(qo,t,!0,e)||t}const Ri=Symbol.for("v-ndc");function Pi(t,e,n=!0,s=!1){const o=_t||st;if(o){const r=o.type;if(t===qo){const l=wl(r,!1);if(l&&(l===e||l===St(e)||l===yn(St(e))))return r}const i=Fs(o[t]||r[t],e)||Fs(o.appContext[t],e);return!i&&s?r:i}}function Fs(t,e){return t&&(t[e]||t[St(e)]||t[yn(St(e))])}function pn(t,e,n,s){let o;const r=n,i=$(t);if(i||Y(t)){const l=i&&he(t);let c=!1;l&&(c=!Ct(t),t=wn(t)),o=new Array(t.length);for(let d=0,f=t.length;de(l,c,void 0,r));else{const l=Object.keys(t);o=new Array(l.length);for(let c=0,d=l.length;ct?gr(t)?En(t):Wn(t.parent):null,Pe=ot(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Wn(t.parent),$root:t=>Wn(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>ms(t),$forceUpdate:t=>t.f||(t.f=()=>{hs(t.update)}),$nextTick:t=>t.n||(t.n=Vo.bind(t.proxy)),$watch:t=>tl.bind(t)}),Fn=(t,e)=>t!==H&&!t.__isScriptSetup&&D(t,e),Mi={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:l,appContext:c}=t;let d;if(e[0]!=="$"){const E=i[e];if(E!==void 0)switch(E){case 1:return s[e];case 2:return o[e];case 4:return n[e];case 3:return r[e]}else{if(Fn(s,e))return i[e]=1,s[e];if(o!==H&&D(o,e))return i[e]=2,o[e];if((d=t.propsOptions[0])&&D(d,e))return i[e]=3,r[e];if(n!==H&&D(n,e))return i[e]=4,n[e];Jn&&(i[e]=0)}}const f=Pe[e];let p,x;if(f)return e==="$attrs"&&rt(t.attrs,"get",""),f(t);if((p=l.__cssModules)&&(p=p[e]))return p;if(n!==H&&D(n,e))return i[e]=4,n[e];if(x=c.config.globalProperties,D(x,e))return x[e]},set({_:t},e,n){const{data:s,setupState:o,ctx:r}=t;return Fn(o,e)?(o[e]=n,!0):s!==H&&D(s,e)?(s[e]=n,!0):D(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=n,!0)},has({_:{data:t,setupState:e,accessCache:n,ctx:s,appContext:o,propsOptions:r}},i){let l;return!!n[i]||t!==H&&D(t,i)||Fn(e,i)||(l=r[0])&&D(l,i)||D(s,i)||D(Pe,i)||D(o.config.globalProperties,i)},defineProperty(t,e,n){return n.get!=null?t._.accessCache[e]=0:D(n,"value")&&this.set(t,e,n.value,null),Reflect.defineProperty(t,e,n)}};function Ds(t){return $(t)?t.reduce((e,n)=>(e[n]=null,e),{}):t}let Jn=!0;function ki(t){const e=ms(t),n=t.proxy,s=t.ctx;Jn=!1,e.beforeCreate&&js(e.beforeCreate,t,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:d,created:f,beforeMount:p,mounted:x,beforeUpdate:E,updated:k,activated:R,deactivated:Q,beforeDestroy:F,beforeUnmount:J,destroyed:q,unmounted:I,render:X,renderTracked:Kt,renderTriggered:Tt,errorCaptured:zt,serverPrefetch:ze,expose:Zt,inheritAttrs:ve,components:Ge,directives:We,filters:In}=e;if(d&&Ni(d,s,null),i)for(const W in i){const B=i[W];P(B)&&(s[W]=B.bind(n))}if(o){const W=o.call(n,n);G(W)&&(t.data=He(W))}if(Jn=!0,r)for(const W in r){const B=r[W],te=P(B)?B.bind(n,n):P(B.get)?B.get.bind(n,n):Pt,Je=!P(B)&&P(B.set)?B.set.bind(n):Pt,ee=Cl({get:te,set:Je});Object.defineProperty(s,W,{enumerable:!0,configurable:!0,get:()=>ee.value,set:Ot=>ee.value=Ot})}if(l)for(const W in l)Yo(l[W],s,n,W);if(c){const W=P(c)?c.call(n):c;Reflect.ownKeys(W).forEach(B=>{Ui(B,W[B])})}f&&js(f,t,"c");function it(W,B){$(B)?B.forEach(te=>W(te.bind(n))):B&&W(B.bind(n))}if(it(vi,p),it(Ci,x),it(Si,E),it(Ti,k),it(yi,R),it(xi,Q),it(Ai,zt),it(Ii,Kt),it(Ei,Tt),it(Oi,J),it(Jo,I),it($i,ze),$(Zt))if(Zt.length){const W=t.exposed||(t.exposed={});Zt.forEach(B=>{Object.defineProperty(W,B,{get:()=>n[B],set:te=>n[B]=te})})}else t.exposed||(t.exposed={});X&&t.render===Pt&&(t.render=X),ve!=null&&(t.inheritAttrs=ve),Ge&&(t.components=Ge),We&&(t.directives=We),ze&&zo(t)}function Ni(t,e,n=Pt){$(t)&&(t=qn(t));for(const s in t){const o=t[s];let r;G(o)?"default"in o?r=sn(o.from||s,o.default,!0):r=sn(o.from||s):r=sn(o),ut(r)?Object.defineProperty(e,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):e[s]=r}}function js(t,e,n){kt($(t)?t.map(s=>s.bind(e.proxy)):t.bind(e.proxy),e,n)}function Yo(t,e,n,s){let o=s.includes(".")?ar(n,s):()=>n[s];if(Y(t)){const r=e[t];P(r)&&on(o,r)}else if(P(t))on(o,t.bind(n));else if(G(t))if($(t))t.forEach(r=>Yo(r,e,n,s));else{const r=P(t.handler)?t.handler.bind(n):e[t.handler];P(r)&&on(o,r,t)}}function ms(t){const e=t.type,{mixins:n,extends:s}=e,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=t.appContext,l=r.get(e);let c;return l?c=l:!o.length&&!n&&!s?c=e:(c={},o.length&&o.forEach(d=>hn(c,d,i,!0)),hn(c,e,i)),G(e)&&r.set(e,c),c}function hn(t,e,n,s=!1){const{mixins:o,extends:r}=e;r&&hn(t,r,n,!0),o&&o.forEach(i=>hn(t,i,n,!0));for(const i in e)if(!(s&&i==="expose")){const l=Fi[i]||n&&n[i];t[i]=l?l(t[i],e[i]):e[i]}return t}const Fi={data:Ls,props:Vs,emits:Vs,methods:Ee,computed:Ee,beforeCreate:lt,created:lt,beforeMount:lt,mounted:lt,beforeUpdate:lt,updated:lt,beforeDestroy:lt,beforeUnmount:lt,destroyed:lt,unmounted:lt,activated:lt,deactivated:lt,errorCaptured:lt,serverPrefetch:lt,components:Ee,directives:Ee,watch:ji,provide:Ls,inject:Di};function Ls(t,e){return e?t?function(){return ot(P(t)?t.call(this,this):t,P(e)?e.call(this,this):e)}:e:t}function Di(t,e){return Ee(qn(t),qn(e))}function qn(t){if($(t)){const e={};for(let n=0;n1)return n&&P(e)?e.call(s&&s.proxy):e}}const Xo={},Zo=()=>Object.create(Xo),tr=t=>Object.getPrototypeOf(t)===Xo;function Hi(t,e,n,s=!1){const o={},r=Zo();t.propsDefaults=Object.create(null),er(t,e,o,r);for(const i in t.propsOptions[0])i in o||(o[i]=void 0);n?t.props=s?o:ri(o):t.type.props?t.props=o:t.props=r,t.attrs=r}function Bi(t,e,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=t,l=V(o),[c]=t.propsOptions;let d=!1;if((s||i>0)&&!(i&16)){if(i&8){const f=t.vnode.dynamicProps;for(let p=0;p{c=!0;const[x,E]=nr(p,e,!0);ot(i,x),E&&l.push(...E)};!n&&e.mixins.length&&e.mixins.forEach(f),t.extends&&f(t.extends),t.mixins&&t.mixins.forEach(f)}if(!r&&!c)return G(t)&&s.set(t,de),de;if($(r))for(let f=0;ft[0]==="_"||t==="$stable",_s=t=>$(t)?t.map(At):[At(t)],zi=(t,e,n)=>{if(e._n)return e;const s=mi((...o)=>_s(e(...o)),n);return s._c=!1,s},or=(t,e,n)=>{const s=t._ctx;for(const o in t){if(sr(o))continue;const r=t[o];if(P(r))e[o]=zi(o,r,s);else if(r!=null){const i=_s(r);e[o]=()=>i}}},rr=(t,e)=>{const n=_s(e);t.slots.default=()=>n},ir=(t,e,n)=>{for(const s in e)(n||s!=="_")&&(t[s]=e[s])},Gi=(t,e,n)=>{const s=t.slots=Zo();if(t.vnode.shapeFlag&32){const o=e._;o?(ir(s,e,n),n&&bo(s,"_",o,!0)):or(e,s)}else e&&rr(t,e)},Wi=(t,e,n)=>{const{vnode:s,slots:o}=t;let r=!0,i=H;if(s.shapeFlag&32){const l=e._;l?n&&l===1?r=!1:ir(o,e,n):(r=!e.$stable,or(e,o)),i=e}else e&&(rr(t,e),i={default:1});if(r)for(const l in o)!sr(l)&&i[l]==null&&delete o[l]},gt=ll;function Ji(t){return qi(t)}function qi(t,e){const n=yo();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:d,setElementText:f,parentNode:p,nextSibling:x,setScopeId:E=Pt,insertStaticContent:k}=t,R=(u,a,h,b=null,m=null,_=null,C=void 0,v=null,w=!!a.dynamicChildren)=>{if(u===a)return;u&&!$e(u,a)&&(b=qe(u),Ot(u,m,_,!0),u=null),a.patchFlag===-2&&(w=!1,a.dynamicChildren=null);const{type:y,ref:O,shapeFlag:S}=a;switch(y){case On:Q(u,a,h,b);break;case ce:F(u,a,h,b);break;case rn:u==null&&J(a,h,b,C);break;case Z:Ge(u,a,h,b,m,_,C,v,w);break;default:S&1?X(u,a,h,b,m,_,C,v,w):S&6?We(u,a,h,b,m,_,C,v,w):(S&64||S&128)&&y.process(u,a,h,b,m,_,C,v,w,Se)}O!=null&&m&&Gn(O,u&&u.ref,_,a||u,!a)},Q=(u,a,h,b)=>{if(u==null)s(a.el=l(a.children),h,b);else{const m=a.el=u.el;a.children!==u.children&&d(m,a.children)}},F=(u,a,h,b)=>{u==null?s(a.el=c(a.children||""),h,b):a.el=u.el},J=(u,a,h,b)=>{[u.el,u.anchor]=k(u.children,a,h,b,u.el,u.anchor)},q=({el:u,anchor:a},h,b)=>{let m;for(;u&&u!==a;)m=x(u),s(u,h,b),u=m;s(a,h,b)},I=({el:u,anchor:a})=>{let h;for(;u&&u!==a;)h=x(u),o(u),u=h;o(a)},X=(u,a,h,b,m,_,C,v,w)=>{a.type==="svg"?C="svg":a.type==="math"&&(C="mathml"),u==null?Kt(a,h,b,m,_,C,v,w):ze(u,a,m,_,C,v,w)},Kt=(u,a,h,b,m,_,C,v)=>{let w,y;const{props:O,shapeFlag:S,transition:T,dirs:A}=u;if(w=u.el=i(u.type,_,O&&O.is,O),S&8?f(w,u.children):S&16&&zt(u.children,w,null,b,m,Dn(u,_),C,v),A&&ne(u,null,b,"created"),Tt(w,u,u.scopeId,C,b),O){for(const K in O)K!=="value"&&!Ie(K)&&r(w,K,null,O[K],_,b);"value"in O&&r(w,"value",null,O.value,_),(y=O.onVnodeBeforeMount)&&Et(y,b,u)}A&&ne(u,null,b,"beforeMount");const N=Yi(m,T);N&&T.beforeEnter(w),s(w,a,h),((y=O&&O.onVnodeMounted)||N||A)&>(()=>{y&&Et(y,b,u),N&&T.enter(w),A&&ne(u,null,b,"mounted")},m)},Tt=(u,a,h,b,m)=>{if(h&&E(u,h),b)for(let _=0;_{for(let y=w;y{const v=a.el=u.el;let{patchFlag:w,dynamicChildren:y,dirs:O}=a;w|=u.patchFlag&16;const S=u.props||H,T=a.props||H;let A;if(h&&se(h,!1),(A=T.onVnodeBeforeUpdate)&&Et(A,h,a,u),O&&ne(a,u,h,"beforeUpdate"),h&&se(h,!0),(S.innerHTML&&T.innerHTML==null||S.textContent&&T.textContent==null)&&f(v,""),y?Zt(u.dynamicChildren,y,v,h,b,Dn(a,m),_):C||B(u,a,v,null,h,b,Dn(a,m),_,!1),w>0){if(w&16)ve(v,S,T,h,m);else if(w&2&&S.class!==T.class&&r(v,"class",null,T.class,m),w&4&&r(v,"style",S.style,T.style,m),w&8){const N=a.dynamicProps;for(let K=0;K{A&&Et(A,h,a,u),O&&ne(a,u,h,"updated")},b)},Zt=(u,a,h,b,m,_,C)=>{for(let v=0;v{if(a!==h){if(a!==H)for(const _ in a)!Ie(_)&&!(_ in h)&&r(u,_,a[_],null,m,b);for(const _ in h){if(Ie(_))continue;const C=h[_],v=a[_];C!==v&&_!=="value"&&r(u,_,v,C,m,b)}"value"in h&&r(u,"value",a.value,h.value,m)}},Ge=(u,a,h,b,m,_,C,v,w)=>{const y=a.el=u?u.el:l(""),O=a.anchor=u?u.anchor:l("");let{patchFlag:S,dynamicChildren:T,slotScopeIds:A}=a;A&&(v=v?v.concat(A):A),u==null?(s(y,h,b),s(O,h,b),zt(a.children||[],h,O,m,_,C,v,w)):S>0&&S&64&&T&&u.dynamicChildren?(Zt(u.dynamicChildren,T,h,m,_,C,v),(a.key!=null||m&&a===m.subTree)&&lr(u,a,!0)):B(u,a,h,O,m,_,C,v,w)},We=(u,a,h,b,m,_,C,v,w)=>{a.slotScopeIds=v,u==null?a.shapeFlag&512?m.ctx.activate(a,h,b,C,w):In(a,h,b,m,_,C,w):xs(u,a,w)},In=(u,a,h,b,m,_,C)=>{const v=u.component=ml(u,b,m);if(Go(u)&&(v.ctx.renderer=Se),_l(v,!1,C),v.asyncDep){if(m&&m.registerDep(v,it,C),!u.el){const w=v.subTree=et(ce);F(null,w,a,h)}}else it(v,u,a,h,m,_,C)},xs=(u,a,h)=>{const b=a.component=u.component;if(rl(u,a,h))if(b.asyncDep&&!b.asyncResolved){W(b,a,h);return}else b.next=a,b.update();else a.el=u.el,b.vnode=a},it=(u,a,h,b,m,_,C)=>{const v=()=>{if(u.isMounted){let{next:S,bu:T,u:A,parent:N,vnode:K}=u;{const pt=cr(u);if(pt){S&&(S.el=K.el,W(u,S,C)),pt.asyncDep.then(()=>{u.isUnmounted||v()});return}}let j=S,dt;se(u,!1),S?(S.el=K.el,W(u,S,C)):S=K,T&&nn(T),(dt=S.props&&S.props.onVnodeBeforeUpdate)&&Et(dt,N,S,K),se(u,!0);const nt=jn(u),yt=u.subTree;u.subTree=nt,R(yt,nt,p(yt.el),qe(yt),u,m,_),S.el=nt.el,j===null&&il(u,nt.el),A&>(A,m),(dt=S.props&&S.props.onVnodeUpdated)&>(()=>Et(dt,N,S,K),m)}else{let S;const{el:T,props:A}=a,{bm:N,m:K,parent:j,root:dt,type:nt}=u,yt=Re(a);if(se(u,!1),N&&nn(N),!yt&&(S=A&&A.onVnodeBeforeMount)&&Et(S,j,a),se(u,!0),T&&Ss){const pt=()=>{u.subTree=jn(u),Ss(T,u.subTree,u,m,null)};yt&&nt.__asyncHydrate?nt.__asyncHydrate(T,u,pt):pt()}else{dt.ce&&dt.ce._injectChildStyle(nt);const pt=u.subTree=jn(u);R(null,pt,h,b,u,m,_),a.el=pt.el}if(K&>(K,m),!yt&&(S=A&&A.onVnodeMounted)){const pt=a;gt(()=>Et(S,j,pt),m)}(a.shapeFlag&256||j&&Re(j.vnode)&&j.vnode.shapeFlag&256)&&u.a&>(u.a,m),u.isMounted=!0,a=h=b=null}};u.scope.on();const w=u.effect=new Co(v);u.scope.off();const y=u.update=w.run.bind(w),O=u.job=w.runIfDirty.bind(w);O.i=u,O.id=u.uid,w.scheduler=()=>hs(O),se(u,!0),y()},W=(u,a,h)=>{a.component=u;const b=u.vnode.props;u.vnode=a,u.next=null,Bi(u,a.props,b,h),Wi(u,a.children,h),Qt(),Ns(u),Xt()},B=(u,a,h,b,m,_,C,v,w=!1)=>{const y=u&&u.children,O=u?u.shapeFlag:0,S=a.children,{patchFlag:T,shapeFlag:A}=a;if(T>0){if(T&128){Je(y,S,h,b,m,_,C,v,w);return}else if(T&256){te(y,S,h,b,m,_,C,v,w);return}}A&8?(O&16&&Ce(y,m,_),S!==y&&f(h,S)):O&16?A&16?Je(y,S,h,b,m,_,C,v,w):Ce(y,m,_,!0):(O&8&&f(h,""),A&16&&zt(S,h,b,m,_,C,v,w))},te=(u,a,h,b,m,_,C,v,w)=>{u=u||de,a=a||de;const y=u.length,O=a.length,S=Math.min(y,O);let T;for(T=0;TO?Ce(u,m,_,!0,!1,S):zt(a,h,b,m,_,C,v,w,S)},Je=(u,a,h,b,m,_,C,v,w)=>{let y=0;const O=a.length;let S=u.length-1,T=O-1;for(;y<=S&&y<=T;){const A=u[y],N=a[y]=w?qt(a[y]):At(a[y]);if($e(A,N))R(A,N,h,null,m,_,C,v,w);else break;y++}for(;y<=S&&y<=T;){const A=u[S],N=a[T]=w?qt(a[T]):At(a[T]);if($e(A,N))R(A,N,h,null,m,_,C,v,w);else break;S--,T--}if(y>S){if(y<=T){const A=T+1,N=AT)for(;y<=S;)Ot(u[y],m,_,!0),y++;else{const A=y,N=y,K=new Map;for(y=N;y<=T;y++){const ht=a[y]=w?qt(a[y]):At(a[y]);ht.key!=null&&K.set(ht.key,y)}let j,dt=0;const nt=T-N+1;let yt=!1,pt=0;const Te=new Array(nt);for(y=0;y=nt){Ot(ht,m,_,!0);continue}let $t;if(ht.key!=null)$t=K.get(ht.key);else for(j=N;j<=T;j++)if(Te[j-N]===0&&$e(ht,a[j])){$t=j;break}$t===void 0?Ot(ht,m,_,!0):(Te[$t-N]=y+1,$t>=pt?pt=$t:yt=!0,R(ht,a[$t],h,null,m,_,C,v,w),dt++)}const Ts=yt?Qi(Te):de;for(j=Ts.length-1,y=nt-1;y>=0;y--){const ht=N+y,$t=a[ht],Os=ht+1{const{el:_,type:C,transition:v,children:w,shapeFlag:y}=u;if(y&6){ee(u.component.subTree,a,h,b);return}if(y&128){u.suspense.move(a,h,b);return}if(y&64){C.move(u,a,h,Se);return}if(C===Z){s(_,a,h);for(let S=0;Sv.enter(_),m);else{const{leave:S,delayLeave:T,afterLeave:A}=v,N=()=>s(_,a,h),K=()=>{S(_,()=>{N(),A&&A()})};T?T(_,N,K):K()}else s(_,a,h)},Ot=(u,a,h,b=!1,m=!1)=>{const{type:_,props:C,ref:v,children:w,dynamicChildren:y,shapeFlag:O,patchFlag:S,dirs:T,cacheIndex:A}=u;if(S===-2&&(m=!1),v!=null&&Gn(v,null,h,u,!0),A!=null&&(a.renderCache[A]=void 0),O&256){a.ctx.deactivate(u);return}const N=O&1&&T,K=!Re(u);let j;if(K&&(j=C&&C.onVnodeBeforeUnmount)&&Et(j,a,u),O&6)Cr(u.component,h,b);else{if(O&128){u.suspense.unmount(h,b);return}N&&ne(u,null,a,"beforeUnmount"),O&64?u.type.remove(u,a,h,Se,b):y&&!y.hasOnce&&(_!==Z||S>0&&S&64)?Ce(y,a,h,!1,!0):(_===Z&&S&384||!m&&O&16)&&Ce(w,a,h),b&&ws(u)}(K&&(j=C&&C.onVnodeUnmounted)||N)&>(()=>{j&&Et(j,a,u),N&&ne(u,null,a,"unmounted")},h)},ws=u=>{const{type:a,el:h,anchor:b,transition:m}=u;if(a===Z){vr(h,b);return}if(a===rn){I(u);return}const _=()=>{o(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(u.shapeFlag&1&&m&&!m.persisted){const{leave:C,delayLeave:v}=m,w=()=>C(h,_);v?v(u.el,_,w):w()}else _()},vr=(u,a)=>{let h;for(;u!==a;)h=x(u),o(u),u=h;o(a)},Cr=(u,a,h)=>{const{bum:b,scope:m,job:_,subTree:C,um:v,m:w,a:y}=u;Hs(w),Hs(y),b&&nn(b),m.stop(),_&&(_.flags|=8,Ot(C,u,a,h)),v&>(v,a),gt(()=>{u.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Ce=(u,a,h,b=!1,m=!1,_=0)=>{for(let C=_;C{if(u.shapeFlag&6)return qe(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const a=x(u.anchor||u.el),h=a&&a[_i];return h?x(h):a};let An=!1;const vs=(u,a,h)=>{u==null?a._vnode&&Ot(a._vnode,null,null,!0):R(a._vnode||null,u,a,null,null,null,h),a._vnode=u,An||(An=!0,Ns(),Ho(),An=!1)},Se={p:R,um:Ot,m:ee,r:ws,mt:In,mc:zt,pc:B,pbc:Zt,n:qe,o:t};let Cs,Ss;return{render:vs,hydrate:Cs,createApp:Vi(vs,Cs)}}function Dn({type:t,props:e},n){return n==="svg"&&t==="foreignObject"||n==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:n}function se({effect:t,job:e},n){n?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Yi(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function lr(t,e,n=!1){const s=t.children,o=e.children;if($(s)&&$(o))for(let r=0;r>1,t[n[l]]0&&(e[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=e[i];return n}function cr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:cr(e)}function Hs(t){if(t)for(let e=0;esn(Xi);function on(t,e,n){return ur(t,e,n)}function ur(t,e,n=H){const{immediate:s,deep:o,flush:r,once:i}=n,l=ot({},n);let c;if($n)if(r==="sync"){const x=Zi();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!e||s)l.once=!0;else return{stop:Pt,resume:Pt,pause:Pt};const d=st;l.call=(x,E,k)=>kt(x,d,E,k);let f=!1;r==="post"?l.scheduler=x=>{gt(x,d&&d.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(x,E)=>{E?x():hs(x)}),l.augmentJob=x=>{e&&(x.flags|=4),f&&(x.flags|=2,d&&(x.id=d.uid,x.i=d))};const p=di(t,e,l);return c&&c.push(p),p}function tl(t,e,n){const s=this.proxy,o=Y(t)?t.includes(".")?ar(s,t):()=>s[t]:t.bind(s,s);let r;P(e)?r=e:(r=e.handler,n=e);const i=Ke(this),l=ur(o,r.bind(s),n);return i(),l}function ar(t,e){const n=e.split(".");return()=>{let s=t;for(let o=0;oe==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${St(e)}Modifiers`]||t[`${ue(e)}Modifiers`];function nl(t,e,...n){if(t.isUnmounted)return;const s=t.vnode.props||H;let o=n;const r=e.startsWith("update:"),i=r&&el(s,e.slice(7));i&&(i.trim&&(o=n.map(f=>Y(f)?f.trim():f)),i.number&&(o=n.map(an)));let l,c=s[l=Rn(e)]||s[l=Rn(St(e))];!c&&r&&(c=s[l=Rn(ue(e))]),c&&kt(c,t,6,o);const d=s[l+"Once"];if(d){if(!t.emitted)t.emitted={};else if(t.emitted[l])return;t.emitted[l]=!0,kt(d,t,6,o)}}function fr(t,e,n=!1){const s=e.emitsCache,o=s.get(t);if(o!==void 0)return o;const r=t.emits;let i={},l=!1;if(!P(t)){const c=d=>{const f=fr(d,e,!0);f&&(l=!0,ot(i,f))};!n&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!r&&!l?(G(t)&&s.set(t,null),null):($(r)?r.forEach(c=>i[c]=null):ot(i,r),G(t)&&s.set(t,i),i)}function Tn(t,e){return!t||!_n(e)?!1:(e=e.slice(2).replace(/Once$/,""),D(t,e[0].toLowerCase()+e.slice(1))||D(t,ue(e))||D(t,e))}function jn(t){const{type:e,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:c,render:d,renderCache:f,props:p,data:x,setupState:E,ctx:k,inheritAttrs:R}=t,Q=dn(t);let F,J;try{if(n.shapeFlag&4){const I=o||s,X=I;F=At(d.call(X,I,f,p,E,x,k)),J=l}else{const I=e;F=At(I.length>1?I(p,{attrs:l,slots:i,emit:c}):I(p,null)),J=e.props?l:sl(l)}}catch(I){Me.length=0,Cn(I,t,1),F=et(ce)}let q=F;if(J&&R!==!1){const I=Object.keys(J),{shapeFlag:X}=q;I.length&&X&7&&(r&&I.some(es)&&(J=ol(J,r)),q=ye(q,J,!1,!0))}return n.dirs&&(q=ye(q,null,!1,!0),q.dirs=q.dirs?q.dirs.concat(n.dirs):n.dirs),n.transition&&gs(q,n.transition),F=q,dn(Q),F}const sl=t=>{let e;for(const n in t)(n==="class"||n==="style"||_n(n))&&((e||(e={}))[n]=t[n]);return e},ol=(t,e)=>{const n={};for(const s in t)(!es(s)||!(s.slice(9)in e))&&(n[s]=t[s]);return n};function rl(t,e,n){const{props:s,children:o,component:r}=t,{props:i,children:l,patchFlag:c}=e,d=r.emitsOptions;if(e.dirs||e.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return s?Bs(s,i,d):!!i;if(c&8){const f=e.dynamicProps;for(let p=0;pt.__isSuspense;function ll(t,e){e&&e.pendingBranch?$(t)?e.effects.push(...t):e.effects.push(t):gi(t)}const Z=Symbol.for("v-fgt"),On=Symbol.for("v-txt"),ce=Symbol.for("v-cmt"),rn=Symbol.for("v-stc"),Me=[];let bt=null;function L(t=!1){Me.push(bt=t?null:[])}function cl(){Me.pop(),bt=Me[Me.length-1]||null}let je=1;function Ks(t){je+=t,t<0&&bt&&(bt.hasOnce=!0)}function pr(t){return t.dynamicChildren=je>0?bt||de:null,cl(),je>0&&bt&&bt.push(t),t}function z(t,e,n,s,o,r){return pr(g(t,e,n,s,o,r,!0))}function bs(t,e,n,s,o){return pr(et(t,e,n,s,o,!0))}function ul(t){return t?t.__v_isVNode===!0:!1}function $e(t,e){return t.type===e.type&&t.key===e.key}const hr=({key:t})=>t??null,ln=({ref:t,ref_key:e,ref_for:n})=>(typeof t=="number"&&(t=""+t),t!=null?Y(t)||ut(t)||P(t)?{i:_t,r:t,k:e,f:!!n}:t:null);function g(t,e=null,n=null,s=0,o=null,r=t===Z?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&hr(e),ref:e&&ln(e),scopeId:Ko,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:_t};return l?(ys(c,n),r&128&&t.normalize(c)):n&&(c.shapeFlag|=Y(n)?8:16),je>0&&!i&&bt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&bt.push(c),c}const et=al;function al(t,e=null,n=null,s=0,o=null,r=!1){if((!t||t===Ri)&&(t=ce),ul(t)){const l=ye(t,e,!0);return n&&ys(l,n),je>0&&!r&&bt&&(l.shapeFlag&6?bt[bt.indexOf(t)]=l:bt.push(l)),l.patchFlag=-2,l}if(vl(t)&&(t=t.__vccOpts),e){e=fl(e);let{class:l,style:c}=e;l&&!Y(l)&&(e.class=Lt(l)),G(c)&&(fs(c)&&!$(c)&&(c=ot({},c)),e.style=xn(c))}const i=Y(t)?1:dr(t)?128:bi(t)?64:G(t)?4:P(t)?2:0;return g(t,e,n,s,o,i,r,!0)}function fl(t){return t?fs(t)||tr(t)?ot({},t):t:null}function ye(t,e,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:c}=t,d=e?pl(o||{},e):o,f={__v_isVNode:!0,__v_skip:!0,type:t.type,props:d,key:d&&hr(d),ref:e&&e.ref?n&&r?$(r)?r.concat(ln(e)):[r,ln(e)]:ln(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:l,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Z?i===-1?16:i|16:i,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ye(t.ssContent),ssFallback:t.ssFallback&&ye(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&s&&gs(f,c.clone(f)),f}function gn(t=" ",e=0){return et(On,null,t,e)}function dl(t,e){const n=et(rn,null,t);return n.staticCount=e,n}function _e(t="",e=!1){return e?(L(),bs(ce,null,t)):et(ce,null,t)}function At(t){return t==null||typeof t=="boolean"?et(ce):$(t)?et(Z,null,t.slice()):typeof t=="object"?qt(t):et(On,null,String(t))}function qt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:ye(t)}function ys(t,e){let n=0;const{shapeFlag:s}=t;if(e==null)e=null;else if($(e))n=16;else if(typeof e=="object")if(s&65){const o=e.default;o&&(o._c&&(o._d=!1),ys(t,o()),o._c&&(o._d=!0));return}else{n=32;const o=e._;!o&&!tr(e)?e._ctx=_t:o===3&&_t&&(_t.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else P(e)?(e={default:e,_ctx:_t},n=32):(e=String(e),s&64?(n=16,e=[gn(e)]):n=8);t.children=e,t.shapeFlag|=n}function pl(...t){const e={};for(let n=0;n{let o;return(o=t[n])||(o=t[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};mn=e("__VUE_INSTANCE_SETTERS__",n=>st=n),Qn=e("__VUE_SSR_SETTERS__",n=>$n=n)}const Ke=t=>{const e=st;return mn(t),t.scope.on(),()=>{t.scope.off(),mn(e)}},zs=()=>{st&&st.scope.off(),mn(null)};function gr(t){return t.vnode.shapeFlag&4}let $n=!1;function _l(t,e=!1,n=!1){e&&Qn(e);const{props:s,children:o}=t.vnode,r=gr(t);Hi(t,s,r,e),Gi(t,o,n);const i=r?bl(t,e):void 0;return e&&Qn(!1),i}function bl(t,e){const n=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Mi);const{setup:s}=n;if(s){const o=t.setupContext=s.length>1?xl(t):null,r=Ke(t);Qt();const i=Be(s,t,0,[t.props,o]);if(Xt(),r(),go(i)){if(Re(t)||zo(t),i.then(zs,zs),e)return i.then(l=>{Gs(t,l,e)}).catch(l=>{Cn(l,t,0)});t.asyncDep=i}else Gs(t,i,e)}else mr(t,e)}function Gs(t,e,n){P(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:G(e)&&(t.setupState=jo(e)),mr(t,n)}let Ws;function mr(t,e,n){const s=t.type;if(!t.render){if(!e&&Ws&&!s.render){const o=s.template||ms(t).template;if(o){const{isCustomElement:r,compilerOptions:i}=t.appContext.config,{delimiters:l,compilerOptions:c}=s,d=ot(ot({isCustomElement:r,delimiters:l},i),c);s.render=Ws(o,d)}}t.render=s.render||Pt}{const o=Ke(t);Qt();try{ki(t)}finally{Xt(),o()}}}const yl={get(t,e){return rt(t,"get",""),t[e]}};function xl(t){const e=n=>{t.exposed=n||{}};return{attrs:new Proxy(t.attrs,yl),slots:t.slots,emit:t.emit,expose:e}}function En(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(jo(ii(t.exposed)),{get(e,n){if(n in e)return e[n];if(n in Pe)return Pe[n](t)},has(e,n){return n in e||n in Pe}})):t.proxy}function wl(t,e=!0){return P(t)?t.displayName||t.name:t.name||e&&t.__name}function vl(t){return P(t)&&"__vccOpts"in t}const Cl=(t,e)=>ai(t,e,$n),Sl="3.5.5";/**
-* @vue/runtime-dom v3.5.5
-* (c) 2018-present Yuxi (Evan) You and Vue contributors
-* @license MIT
-**/let Xn;const Js=typeof window<"u"&&window.trustedTypes;if(Js)try{Xn=Js.createPolicy("vue",{createHTML:t=>t})}catch{}const _r=Xn?t=>Xn.createHTML(t):t=>t,Tl="http://www.w3.org/2000/svg",Ol="http://www.w3.org/1998/Math/MathML",jt=typeof document<"u"?document:null,qs=jt&&jt.createElement("template"),$l={insert:(t,e,n)=>{e.insertBefore(t,n||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,n,s)=>{const o=e==="svg"?jt.createElementNS(Tl,t):e==="mathml"?jt.createElementNS(Ol,t):n?jt.createElement(t,{is:n}):jt.createElement(t);return t==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:t=>jt.createTextNode(t),createComment:t=>jt.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>jt.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,n,s,o,r){const i=n?n.previousSibling:e.lastChild;if(o&&(o===r||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{qs.innerHTML=_r(s==="svg"?``:s==="mathml"?``:t);const l=qs.content;if(s==="svg"||s==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}e.insertBefore(l,n)}return[i?i.nextSibling:e.firstChild,n?n.previousSibling:e.lastChild]}},El=Symbol("_vtc");function Il(t,e,n){const s=t[El];s&&(e=(e?[e,...s]:[...s]).join(" ")),e==null?t.removeAttribute("class"):n?t.setAttribute("class",e):t.className=e}const Ys=Symbol("_vod"),Al=Symbol("_vsh"),Rl=Symbol(""),Pl=/(^|;)\s*display\s*:/;function Ml(t,e,n){const s=t.style,o=Y(n);let r=!1;if(n&&!o){if(e)if(Y(e))for(const i of e.split(";")){const l=i.slice(0,i.indexOf(":")).trim();n[l]==null&&cn(s,l,"")}else for(const i in e)n[i]==null&&cn(s,i,"");for(const i in n)i==="display"&&(r=!0),cn(s,i,n[i])}else if(o){if(e!==n){const i=s[Rl];i&&(n+=";"+i),s.cssText=n,r=Pl.test(n)}}else e&&t.removeAttribute("style");Ys in t&&(t[Ys]=r?s.display:"",t[Al]&&(s.display="none"))}const Qs=/\s*!important$/;function cn(t,e,n){if($(n))n.forEach(s=>cn(t,e,s));else if(n==null&&(n=""),e.startsWith("--"))t.setProperty(e,n);else{const s=kl(t,e);Qs.test(n)?t.setProperty(ue(s),n.replace(Qs,""),"important"):t[s]=n}}const Xs=["Webkit","Moz","ms"],Ln={};function kl(t,e){const n=Ln[e];if(n)return n;let s=St(e);if(s!=="filter"&&s in t)return Ln[e]=s;s=yn(s);for(let o=0;oVn||(Ll.then(()=>Vn=0),Vn=Date.now());function Ul(t,e){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;kt(Hl(s,n.value),e,5,[s])};return n.value=t,n.attached=Vl(),n}function Hl(t,e){if($(e)){const n=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{n.call(t),t._stopped=!0},e.map(s=>o=>!o._stopped&&s&&s(o))}else return e}const so=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Bl=(t,e,n,s,o,r)=>{const i=o==="svg";e==="class"?Il(t,s,i):e==="style"?Ml(t,n,s):_n(e)?es(e)||Dl(t,e,n,s,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kl(t,e,s,i))?(Nl(t,e,s),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&to(t,e,s,i,r,e!=="value")):(e==="true-value"?t._trueValue=s:e==="false-value"&&(t._falseValue=s),to(t,e,s,i))};function Kl(t,e,n,s){if(s)return!!(e==="innerHTML"||e==="textContent"||e in t&&so(e)&&P(n));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const o=t.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return so(e)&&Y(n)?!1:!!(e in t||t._isVueCE&&(/[A-Z]/.test(e)||!Y(n)))}const xe=t=>{const e=t.props["onUpdate:modelValue"]||!1;return $(e)?n=>nn(e,n):e};function zl(t){t.target.composing=!0}function oo(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Ht=Symbol("_assign"),Rt={created(t,{modifiers:{lazy:e,trim:n,number:s}},o){t[Ht]=xe(o);const r=s||o.props&&o.props.type==="number";Yt(t,e?"change":"input",i=>{if(i.target.composing)return;let l=t.value;n&&(l=l.trim()),r&&(l=an(l)),t[Ht](l)}),n&&Yt(t,"change",()=>{t.value=t.value.trim()}),e||(Yt(t,"compositionstart",zl),Yt(t,"compositionend",oo),Yt(t,"change",oo))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(t[Ht]=xe(i),t.composing)return;const l=(r||t.type==="number")&&!/^0\d/.test(t.value)?an(t.value):t.value,c=e??"";l!==c&&(document.activeElement===t&&t.type!=="range"&&(s&&e===n||o&&t.value.trim()===c)||(t.value=c))}},Gl={deep:!0,created(t,e,n){t[Ht]=xe(n),Yt(t,"change",()=>{const s=t._modelValue,o=Le(t),r=t.checked,i=t[Ht];if($(s)){const l=os(s,o),c=l!==-1;if(r&&!c)i(s.concat(o));else if(!r&&c){const d=[...s];d.splice(l,1),i(d)}}else if(we(s)){const l=new Set(s);r?l.add(o):l.delete(o),i(l)}else i(br(t,r))})},mounted:ro,beforeUpdate(t,e,n){t[Ht]=xe(n),ro(t,e,n)}};function ro(t,{value:e,oldValue:n},s){t._modelValue=e;let o;$(e)?o=os(e,s.props.value)>-1:we(e)?o=e.has(s.props.value):o=Ue(e,br(t,!0)),t.checked!==o&&(t.checked=o)}const Un={deep:!0,created(t,{value:e,modifiers:{number:n}},s){const o=we(e);Yt(t,"change",()=>{const r=Array.prototype.filter.call(t.options,i=>i.selected).map(i=>n?an(Le(i)):Le(i));t[Ht](t.multiple?o?new Set(r):r:r[0]),t._assigning=!0,Vo(()=>{t._assigning=!1})}),t[Ht]=xe(s)},mounted(t,{value:e,modifiers:{number:n}}){io(t,e)},beforeUpdate(t,e,n){t[Ht]=xe(n)},updated(t,{value:e,modifiers:{number:n}}){t._assigning||io(t,e)}};function io(t,e,n){const s=t.multiple,o=$(e);if(!(s&&!o&&!we(e))){for(let r=0,i=t.options.length;rString(f)===String(c)):l.selected=os(e,c)>-1}else l.selected=e.has(c);else if(Ue(Le(l),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!s&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function Le(t){return"_value"in t?t._value:t.value}function br(t,e){const n=e?"_trueValue":"_falseValue";return n in t?t[n]:e}const Wl=ot({patchProp:Bl},$l);let lo;function Jl(){return lo||(lo=Ji(Wl))}const ql=(...t)=>{const e=Jl().createApp(...t),{mount:n}=e;return e.mount=s=>{const o=Ql(s);if(!o)return;const r=e._component;!P(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Yl(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},e};function Yl(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Ql(t){return Y(t)?document.querySelector(t):t}const Nt=(t,e)=>{const n=t.__vccOpts||t;for(const[s,o]of e)n[s]=o;return n},Xl={};function Zl(t,e){return L(),z(Z,null,[e[0]||(e[0]=g("h1",null,"GlossySnake",-1)),e[1]||(e[1]=g("p",null,[gn("INDEX PAGE | "),g("a",{href:"v4"},"v4"),gn(" | "),g("a",{href:"https://github.com/parkchamchi/GlossySnake"},"Repo")],-1))],64)}const tc=Nt(Xl,[["render",Zl],["__scopeId","data-v-9098c0f4"]]),ec=JSON.parse(localStorage.getItem("sharedState"))||{},M=He({annotator_name:"chatgpt_ft0",lang_from:"German",lang_to:"English",openaiApiKey:null,openaiModel:"gpt-4o-mini",outerRetry:2,innerRetry:3,maxGloss:80,fullPrompt:!0,currentOpenCorpus:"",psPerScreen:16,glossColor:"gray",txtSize:150,glossSize:90,...ec}),nc={data(){return M},watch:{annotator_name(){this.emitChange()},lang_from(){this.emitChange()},lang_to(){this.emitChange()}},methods:{emitChange(){M.annotator_name=this.annotator_name,M.lang_from=this.lang_from,M.lang_to=this.lang_to}}},sc={class:"container mt-4"},oc={class:"row"},rc={class:"col-md-4"},ic={class:"col-md-4"},lc={class:"col-md-4"};function cc(t,e,n,s,o,r){return L(),z(Z,null,[g("div",sc,[g("div",oc,[g("div",rc,[e[4]||(e[4]=g("label",{for:"annotator_name"},"annotator_name:",-1)),ft(g("select",{"onUpdate:modelValue":e[0]||(e[0]=i=>t.annotator_name=i),name:"annotator_name",id:"annotator_name_select",class:"form-control"},e[3]||(e[3]=[dl('',6)]),512),[[Un,t.annotator_name]])]),g("div",ic,[e[6]||(e[6]=g("label",{for:"lang_from"},"lang_from:",-1)),ft(g("select",{"onUpdate:modelValue":e[1]||(e[1]=i=>t.lang_from=i),name:"lang_from",id:"lang_from_select",class:"form-control"},e[5]||(e[5]=[g("option",{value:"French"},"French",-1),g("option",{value:"German"},"German",-1),g("option",{value:"Latin"},"Latin",-1)]),512),[[Un,t.lang_from]])]),g("div",lc,[e[8]||(e[8]=g("label",{for:"lang_to"},"lang_to:",-1)),ft(g("select",{"onUpdate:modelValue":e[2]||(e[2]=i=>t.lang_to=i),name:"lang_to",id:"lang_to_select",class:"form-control"},e[7]||(e[7]=[g("option",{value:"English"},"English",-1)]),512),[[Un,t.lang_to]])])])]),e[9]||(e[9]=g("br",null,null,-1))],64)}const uc=Nt(nc,[["render",cc]]),ac={data(){return M},watch:{openaiApiKey(){this.emitChange()},openaiModel(){this.emitChange()},outerRetry(){this.emitChange()},innerRetry(){this.emitChange()},maxGloss(){this.emitChange()},fullPrompt(){this.emitChange()}},computed:{},methods:{emitChange(){M.openaiApiKey=this.openaiApiKey,M.openaiModel=this.openaiModel,M.outerRetry=this.outerRetry,M.innerRetry=this.innerRetry,M.maxGloss=this.maxGloss,M.fullPrompt=this.fullPrompt}}},fc={class:"container mt-3"},dc={class:"row"},pc={class:"col-md-2"},hc={class:"col-md-2"},gc={class:"col-md-2"},mc={class:"col-md-2"},_c={class:"col-md-2"},bc={class:"col-md-2 d-flex align-items-center"};function yc(t,e,n,s,o,r){return L(),z(Z,null,[e[13]||(e[13]=g("h4",null,"Local Annotator Options",-1)),g("div",fc,[g("div",dc,[g("div",pc,[e[6]||(e[6]=g("label",{for:"openaiApiKey"},"OpenAI API Key",-1)),ft(g("input",{type:"password",class:"form-control",id:"openaiApiKey","onUpdate:modelValue":e[0]||(e[0]=i=>t.openaiApiKey=i)},null,512),[[Rt,t.openaiApiKey]])]),g("div",hc,[e[7]||(e[7]=g("label",{for:"openaiModel"},"OpenAI Model",-1)),ft(g("input",{type:"text",class:"form-control",id:"openaiModel","onUpdate:modelValue":e[1]||(e[1]=i=>t.openaiModel=i)},null,512),[[Rt,t.openaiModel]])]),g("div",gc,[e[8]||(e[8]=g("label",{for:"outerRetry"},"Outer Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"outerRetry","onUpdate:modelValue":e[2]||(e[2]=i=>t.outerRetry=i),min:"1"},null,512),[[Rt,t.outerRetry]])]),g("div",mc,[e[9]||(e[9]=g("label",{for:"innerRetry"},"Inner Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"innerRetry","onUpdate:modelValue":e[3]||(e[3]=i=>t.innerRetry=i),min:"1"},null,512),[[Rt,t.innerRetry]])]),g("div",_c,[e[10]||(e[10]=g("label",{for:"maxGloss"},"Max Gloss",-1)),ft(g("input",{type:"number",class:"form-control",id:"maxGloss","onUpdate:modelValue":e[4]||(e[4]=i=>t.maxGloss=i),min:"40"},null,512),[[Rt,t.maxGloss]])]),g("div",bc,[ft(g("input",{type:"checkbox",class:"form-check-input",id:"fullPrompt","onUpdate:modelValue":e[5]||(e[5]=i=>t.fullPrompt=i)},null,512),[[Gl,t.fullPrompt]]),e[11]||(e[11]=g("label",{class:"form-check-label",for:"fullPrompt"},"Full Prompt",-1))])]),e[12]||(e[12]=g("div",{class:"row"},[g("div",{class:"col-md-2 d-flex align-items-center"},[g("button",{class:"btn btn-link mt-3"},[g("a",{href:"https://github.com/parkchamchi/GlossySnake/blob/master/docs/design/local.md"},"Info")])])],-1))])],64)}const xc=Nt(ac,[["render",yc]]),wc={data(){return M},watch:{glossColor(){this.emitChange()},txtSize(){this.emitChange()},glossSize(){this.emitChange()}},methods:{emitChange(){M.glossColor=this.glossColor,M.txtSize=this.txtSize,M.glossSize=this.glossSize},exportData(){console.log("Exporting");const t=JSON.stringify(M,null,2),e=new Blob([t],{type:"application/json"}),n=URL.createObjectURL(e),s=document.createElement("a");s.href=n,s.download="sharedState.json",s.click(),URL.revokeObjectURL(n)},async importData(t){const n=await t.target.files[0].text(),s=JSON.parse(n);Object.keys(s).forEach(o=>{M.hasOwnProperty(o)&&(M[o]=s[o])})}},mounted(){on(()=>M,t=>{localStorage.setItem("sharedState",JSON.stringify(t))},{deep:!0})}},vc={class:"container mt-3"},Cc={class:"row"},Sc={class:"col-md-2"},Tc={class:"col-md-2"},Oc={class:"col-md-2"},$c={class:"col-md-2 d-flex align-items-center"},Ec={class:"col-md-2 d-flex align-items-center"};function Ic(t,e,n,s,o,r){return L(),z(Z,null,[e[8]||(e[8]=g("h4",null,"Misc. Options",-1)),g("div",vc,[g("div",Cc,[g("div",Sc,[e[5]||(e[5]=g("label",{for:"glossColor"},"Gloss color",-1)),ft(g("input",{type:"color",class:"form-control",id:"glossColor","onUpdate:modelValue":e[0]||(e[0]=i=>t.glossColor=i)},null,512),[[Rt,t.glossColor]])]),g("div",Tc,[e[6]||(e[6]=g("label",{for:"txtSize"},"Text Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"txtSize","onUpdate:modelValue":e[1]||(e[1]=i=>t.txtSize=i),min:"50",max:"150"},null,512),[[Rt,t.txtSize]])]),g("div",Oc,[e[7]||(e[7]=g("label",{for:"glossSize"},"Gloss Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"glossSize","onUpdate:modelValue":e[2]||(e[2]=i=>t.glossSize=i),min:"50",max:"150"},null,512),[[Rt,t.glossSize]])]),g("div",$c,[g("input",{type:"file",onChange:e[3]||(e[3]=(...i)=>r.importData&&r.importData(...i)),class:"form-control"},null,32)]),g("div",Ec,[g("button",{class:"btn btn-link mt-3",onClick:e[4]||(e[4]=(...i)=>r.exportData&&r.exportData(...i))},"Export")])])])],64)}const Ac=Nt(wc,[["render",Ic]]),Wt=He({}),re={on(t,e){Wt[t]||(Wt[t]=[]),Wt[t].push(e)},off(t,e){Wt[t]&&(Wt[t]=Wt[t].filter(n=>n!==e))},emit(t,e){Wt[t]&&Wt[t].forEach(n=>n(e))}};class Rc{constructor(){this.initCache(),this.connectDb(),this.initCursors()}create(e){return new Promise((n,s)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses"),i=(l,c)=>{const d=r.get(c);d.onsuccess=()=>{if(d.result){const f=c.match(/^(.*?)( \((\d+)\))?$/),p=f[1],x=f[3]?parseInt(f[3],10)+1:1,E=`${p} (${x})`;l.id=E,i(l,E)}else{const f=r.add(l);f.onsuccess=()=>n(f.result),f.onerror=p=>s(p.target.error),this.setCache()}},d.onerror=f=>s(f.target.error)};i(e,e.id)})}read(e){return new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").get(e);i.onsuccess=()=>n(i.result),i.onerror=l=>s(l.target.error),this.setCache()})}update(e){return e=JSON.parse(JSON.stringify(e)),new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").put(e);i.onsuccess=()=>n(i.result),i.onerror=l=>s(l.target.error),this.setCache()})}delete(e){return new Promise((n,s)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").delete(e);i.onsuccess=()=>n(),i.onerror=l=>s(l.target.error),this.setCache()})}reset(){return console.log("Resetting."),new Promise((e,n)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").clear();this.setCache(),r.onsuccess=()=>e(),r.onerror=i=>n(i.target.error)})}initCache(){this.cache=["loading..."]}async connectDb(){this.db=await Pc("corpusDBv5",1,e=>{e.objectStoreNames.contains("corpuses")||e.createObjectStore("corpuses",{keyPath:"id",autoIncrement:!0})}),this.setCache()}async setCache(){return new Promise((e,n)=>{const r=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").openCursor(),i=[];r.onsuccess=l=>{const c=l.target.result;c?(i.push(c.key),c.continue()):(this.cache=i,re.emit("updateCorpusIds"),e())},r.onerror=l=>{n(l.target.error)}})}initCursors(){this.cursors=JSON.parse(localStorage.getItem("corpusCursors"))||{}}setCursor(e,n){this.cursors[e]=n,localStorage.setItem("corpusCursors",JSON.stringify(this.cursors))}getCursor(e){return this.cursors[e]}}function Pc(t,e,n){return new Promise((s,o)=>{const r=indexedDB.open(t,e);r.onupgradeneeded=i=>{const l=i.target.result;n(l)},r.onsuccess=i=>s(i.target.result),r.onerror=i=>o(i.target.error)})}const un=new Rc,Mc={components:{},data(){return{sampleHost:"https://glossysnake.com/samples/v5/",remoteSampleFilenames:[],corpusStorage:un,corpusIds:["loading."]}},methods:{async getRemoteSamples(){await fetch(this.sampleHost).then(t=>t.json()).then(t=>{this.remoteSampleFilenames=t.filenames})},async getRemoteSampleCorpus(t){fetch(this.sampleHost+t).then(e=>e.json()).then(e=>{const n=t.replace(".corpus.json","");e.id=n,this.addLocalCorpus(e)})},async addLocalCorpus(t){this.corpusStorage.create(t)},updateCorpusIds(){this.corpusIds=this.corpusStorage.cache},onCorpusIdClicked(t){M.currentOpenCorpus=t},clearCorpuses(){this.corpusStorage.reset()}},async created(){re.on("updateCorpusIds",this.updateCorpusIds),re.on("addLocalCorpus",this.addLocalCorpus),this.getRemoteSamples()},mounted(){M.currentOpenCorpus="",this.updateCorpusIds()},beforeDestroy(){re.off("updateCorpuses",this.updateCorpuses),re.off("addLocalCorpus",this.addLocalCorpus)}},kc={key:0},Nc={style:{display:"inline"}},Fc=["onClick"],Dc=["onClick"];function jc(t,e,n,s,o,r){return L(),z(Z,null,[g("p",{onClick:e[0]||(e[0]=(...i)=>r.clearCorpuses&&r.clearCorpuses(...i))},"[Clear data]"),o.remoteSampleFilenames.length>0?(L(),z("div",kc,[e[2]||(e[2]=g("h4",null,"Get a sample:",-1)),(L(!0),z(Z,null,pn(o.remoteSampleFilenames,(i,l)=>(L(),z("p",Nc,[g("span",{onClick:c=>r.getRemoteSampleCorpus(i),class:"sampleLinkP"},wt(i),9,Fc),e[1]||(e[1]=g("span",null," | ",-1))]))),256))])):_e("",!0),g("div",null,[(L(!0),z(Z,null,pn(o.corpusIds,(i,l)=>(L(),z("div",{onClick:c=>r.onCorpusIdClicked(i)},[e[3]||(e[3]=g("hr",null,null,-1)),g("h4",null,wt(i),1)],8,Dc))),256))])],64)}const Lc=Nt(Mc,[["render",jc],["__scopeId","data-v-f7f33f7e"]]);let co=class{constructor(e,n,s){this.txt=e,this.gloss=n,this.is_delimiter=s}};class yr{constructor(e,n,s){this.annotator_name=e,this.lang_from=n,this.lang_to=s}}let Vc=class{constructor(e,n,s,o,r,i){this.pstate=e,this.tokens=n,this.is_delimiter=s,this.token_delimiters=o,this.original_text=r,this.annotator_info_obj=i}},Uc=class xr{constructor(e,n,s,o){this.paragraphs=e,this.paragraph_delimiters=n,this.original_text=s,this.p_div_locs=o}static init_with_txt(e){return new xr([],null,e,[])}};const Hc={data(){return{originalText:""}},methods:{async onUploadButtonClicked(){const t=Uc.init_with_txt(this.originalText),e=this.makeTitle(this.originalText);t.id=e,re.emit("addLocalCorpus",t)},async onJsonFileInput(t){const n=await t.target.files[0].text(),s=JSON.parse(n);this.makeTitle(s.original_text),re.emit("addLocalCorpus",s)},makeTitle(t,e=16){return t.substring(0,e)}}},Bc={id:"frontend_upload_div"};function Kc(t,e,n,s,o,r){return L(),z("div",Bc,[e[3]||(e[3]=g("h3",null,"Upload...",-1)),e[4]||(e[4]=g("label",{for:"frontend_original_text"},"Original Text",-1)),e[5]||(e[5]=g("br",null,null,-1)),ft(g("textarea",{"onUpdate:modelValue":e[0]||(e[0]=i=>o.originalText=i),class:"context_input auto-resize field_input",name:"frontend_original_text",spellcheck:"false",autofocus:"",placeholder:"Original Text",id:"frontend_original_text_textarea"},null,512),[[Rt,o.originalText]]),e[6]||(e[6]=g("br",null,null,-1)),g("button",{onClick:e[1]||(e[1]=i=>r.onUploadButtonClicked()),id:"frontend_original_text_button",class:"btn btn-primary"}," Upload "),e[7]||(e[7]=g("br",null,null,-1)),e[8]||(e[8]=g("p",null,"...or the JSON file",-1)),g("input",{type:"file",id:"json_file_input",onChange:e[2]||(e[2]=(...i)=>r.onJsonFileInput&&r.onJsonFileInput(...i))},null,32),e[9]||(e[9]=g("br",null,null,-1))])}const zc=Nt(Hc,[["render",Kc],["__scopeId","data-v-7750d3a5"]]),uo=`
-\r\v\f`;function Gc(t,e){const n=e.split("").map(o=>o.replace(/[-\/\\^$.*+?()[\]{}|]/g,"\\$&")).join("|");return t.split(new RegExp(`(${n})`)).filter(o=>o!=="").map(o=>({token:o,is_delimiter:e.includes(o)}))}class ao{static divide_into_paragraphs(e,n=[`
-`]){const s=e.original_text;let o=n.map(d=>d.replace("\\n",`
-`)),r=[s];o.sort((d,f)=>f.length-d.length),o.forEach(d=>{for(let f=0;f[x,d]).slice(0,-1),r[f]=p}r=[].concat(...r)});const i=1024;let l=[],c="";r.forEach(d=>{c.length+d.length0&&l.push(c),c=d)}),c.length>0&&l.push(c),r=l,e.paragraphs=r.map(d=>new Vc("DIVIDED",[],n.includes(d),"",d,new yr)),e.paragraph_delimiters=n}static parse_paragraph(e,n=uo){if(n||(n=uo),e.is_delimiter)e.tokens=[new co(e.original_text,null,!0)];else{const s=Gc(e.original_text,n);e.tokens=s.map(({token:o,is_delimiter:r})=>new co(o,null,r))}e.pstate="PARSED",e.token_delimiters=n}}const fo="!UNKNOWN";class wr{constructor(){this.annotator_name="DUMMYGLOSS"}async annotate(e,n,s){this.lang_from=n,this.lang_to=s,e.is_delimiter||(e.tokens&&e.tokens.length>0&&await this.put_gloss(e),e.pstate="ANNOTATED",e.annotator_info_obj.lang_from=this.lang_from,e.annotator_info_obj.lang_to=this.lang_to,e.annotator_info_obj.annotator_name=this.annotator_name)}async reannotate(e,n,s,o){this.lang_from=n,this.lang_to=s,!e.is_delimiter&&await this.reput_gloss(e,o)}async put_gloss(e){for(const n of e.tokens)n.is_delimiter||(n.gloss=`${this.annotator_name}(${n.txt})`)}async reput_gloss(e,n){for(const[s,o]of e.tokens.entries())n.includes(s)&&(o.gloss=`${this.annotator_name}_reannotated_\`${this.lang_from}\`_\`${this.lang_to}\``)}}const tt="||",xt="!TO_REANNOTATE",Zn="!TOKEN_TO_IGNORE";function po(t){return t.replace(/[^a-zA-Z]/g,"")}function Wc(t,e){const n=po(t),s=po(e);if(!n)return!0;const o=new Set(n),r=new Set(s),i=new Set([...o].filter(d=>r.has(d))),l=new Set([...o,...r]);return(l.size>0?i.size/l.size:0)>=.5}class Jc extends wr{constructor(e){super(),this.annotator_name=e,this.glossFetcher=new Yc(!0)}async put_gloss(e){const n=e.tokens.filter(l=>!l.is_delimiter),s=n.map(l=>l.txt),o=this.chunkize(s);console.log(`Chunks: ${o}`);let r=[],i=-1;for(const l of o){const c=l-i;if(c<=0){console.warn("Warning: length <= 0"),i=l;continue}console.log(`[${i+1}:${l+1}] out of ${s.length} (len: ${c})`);const d=s.slice(i+1,l+1);let f=await this.glossFetcher.tryFetchGloss(d);r=r.concat(f),i=l,console.log(`Chunk: ${f} (len: ${f.length})`)}for(let l=0;lRR.txt),E=p.map(R=>R.gloss),k=await this.glossFetcher.tryFetchGloss(x,E);console.log(`Chunk: ${k} (len: ${k.length})`);for(let R=0;Rc.includes(d))&&o.push(l)}const r=[0];for(;;){const l=r[r.length-1];if(l+s>e.length)break;o=o.filter(f=>f>s);let c=o.filter(f=>f<=s),d;c.length===0?d=l+s:d=Math.max(...c),r.push(d)}r.shift();const i=e.length-1;return r.includes(i)||r.push(i),r}chunkizeForReannotation(e,n=16,s=4){const o=[];for(let r=0;r0){const d=o[o.length-1][1];if(re.length&&(c=e.length-1),o.push([l,c])}return o}}class qc{constructor(e=!1){this.dummy=e}async fetchGloss(e){if(!this.dummy)throw new Error("NotImplementedError");const n=e.length;return Array.from({length:n},(s,o)=>[`dummy${o}`])}async tryFetchGloss(e){return await this.fetchGloss(e)}}class Yc extends qc{async tryFetchGloss(e,n=null){console.log(`Trying to fetch ${e.length} glosses`);const s=M.innerRetry,o=M.outerRetry,r=Array.isArray(n);let i;r?(console.log(`Reannotating: ${n}`),i=this.makeQueryReannotation(e,n)):i=this.makeQuery(e);const l=[...this.getChat(r),{role:"user",content:i}];this.lastResText="";for(let c=0;co.json()).then(o=>{const r=o.usage.total_tokens;console.log("token usage:",r);const i=o.choices[0].message.content;this.lastResText=i;let l=this.parseRes(i);return Object.keys(l).length!=e.length&&console.log("parsed:",l),l=this.validateRes(e,l,s),l})}makeQuery(e){let n="";for(const[s,o]of e.entries())n+=`${s}: ${o}
-`;return n}makeQueryReannotation(e,n){let s="";for(const[o,[r,i]]of e.map((l,c)=>[c,[l,n[c]]]))s+=`${o}: ${r} ${tt} ${i}
-`;return s}parseRes(e){const n=e;try{if(e.includes("```"))e=e.split("```")[1];else if(e.includes("0:"))e=e.substring(e.indexOf("0:"));else throw new Error("The first line (`0: ...`) could not be found. Reformat the reply and answer again.");let s=e.split(`
-`).filter(r=>r.trim()!==""),o={};return s.forEach(r=>{const[i,l]=r.match(/^(\d+):\s*(.*)$/).slice(1,3),c=parseInt(i.trim(),10),d=l.split(tt).map(f=>f.trim()).filter(f=>f!=="");o[c]=d}),o}catch{throw console.error(n),new Error("Could not parse the output. The output should be in the codeblock (``` 0: ... ```) and additional notes are not needed.")}}validateRes(e,n,s){const o=Array.isArray(s);console.log("token_strs:",e),console.log("res:",n);for(let l=0;l=d.length)break;const[f,p]=d[l];if(!o&&l!==parseInt(f))throw new Error(`\`${f}:\` line not found.`);if(p.length<=0)throw new Error(`Empty line: ${l}.`);p.length===1&&p.push(fo);const[x,E]=p.slice(0,2);if(!o&&!Wc(c,x))throw new Error(`Expected \`${l}: ${c} ||\` but incorrectly got \`${l}: ${x} ||\`. The pair of the number and the text (${l}, ${c}) has to be exact. Rewrite including \`${l}: ${c} ||\`.`)}let r=[],i;if(o&&(console.log("reannotationGlossStrs:",s),i=s.map((l,c)=>l===xt?c:-1).filter(l=>l!==-1),console.log("reannotationIndices",i),i.length===0))return console.log("TODO: reannotation_indices == []"),Array(e.length).fill(Zn);for(let l=0;l`${d}: ${c[0]} ${tt} ${d in l?xt:c[1]}`).join(i)}
- \`\`\`
- `},{role:"assistant",content:`
- \`\`\`
- ${r.filter((c,d)=>l.includes(d)).map((c,d)=>`${d}: ${c[0]} ${tt} ${c[1]}`).join(i)}
- \`\`\`
- `}]}else{const l=r.length;return[{role:"system",content:`
- Parse this corpus (Interlinear gloss).
-
- The user will tokenize and enumerate the raw input, as:
- \`Je suis.\`
- to
- \`\`\`
- 0: Je
- 1: suis.
- \`\`\`
-
-
- You are to respond with
- \`\`\`
- i: original_word ${tt} gloss
- \`\`\`.
- Here, the glosses are delimited with \`${tt}\`.
- No line should be skipped. Otherwise it will raise an error.
-
- For example, if the gloss should be then translation to English,
- the response shall be:
- \`\`\`
- 0: Je ${tt} I
- 1: suis. ${tt} am.
- \`\`\`
-
- Since the output text is to be processed by other program,
- the structure of the output is important.
-
- The numbers should correspond to the original token.
- No line shall be omitted!
- \`\`\`
- 0: Je
- 1: le
- 2: sais.
- \`\`\`
- \`\`\`
- 0: Je ${tt} I
- 1: le ${tt} it
- 2: sais. ${tt} know
- \`\`\`
-
- The output should only consist of the gloss block (\`\`\`...\`\`\`) and any other notes will be ignored.
- `},{role:"user",content:`
- e.g. \`i: "original_word ${tt} gloss\`
- Since there are ${l} tokens in the input, ${l} lines of output is expected.
- i.e. the last line be \`${l-1}: ...\`
-
- \`gloss\` is:
- ${s}
-
- \`\`\`
- ${r.map((c,d)=>`${d}: ${c[0]}`).join(i)}
- \`\`\`
- `},{role:"assistant",content:`
- \`\`\`
- ${r.map((c,d)=>`${d}: ${c[0]} ${tt} ${c[1]}`).join(i)}
- \`\`\`
- `}]}}else return s="English translation",e?n=`Reannotate the input. A series of words will be given, which form a part of sentences. Some lines will have \`${xt}\` on its right side, which is to be re-annotated. Return only lines with \`${xt}\`, with ${xt} itself replaced following the context.`:n=`
- Parse this corpus (Interlinear gloss).
- ${s}
- `,[{role:"system",content:n}]}}function ho(t,e){return console.log(t),t&&t.startsWith("chatgpt_")?new Jc(t,e):new wr}const Qc={props:{t:{type:Object,required:!0},index:{type:Number,required:!0}},data(){return{isSelected:!1}},computed:{is_delimiter(){return this.t.is_delimiter},should_linebreak(){return this.t.txt.includes(`
-`)},txt(){return this.t.txt},gloss(){let t=this.t.gloss;return t=="!UNKNOWN"&&(t="-"),t}},methods:{toggle(){this.isSelected=!this.isSelected,this.$emit("selectionChanged",{tIndex:this.index,isSelected:this.isSelected})}}},Xc={class:"token_ul list-group list-group-flush"},Zc={class:"list-group-item token_txt"},tu={class:"list-group-item gloss"},eu={key:1},nu={key:2,class:"token_wrapper"};function su(t,e,n,s,o,r){return r.is_delimiter?r.should_linebreak?(L(),z("br",eu)):(L(),z("div",nu,[g("span",null,wt(r.txt),1)])):(L(),z("div",{key:0,class:Lt(["token_wrapper","card",{"selected-token":o.isSelected}]),onClick:e[0]||(e[0]=i=>r.toggle())},[g("ul",Xc,[g("li",Zc,wt(r.txt),1),g("li",tu,wt(r.gloss),1)])],2))}const ou=Nt(Qc,[["render",su],["__scopeId","data-v-b539fc8d"]]),ru={props:{p:{type:Object,required:!0},index:{type:Number,required:!0}},components:{Token:ou},computed:{isAnnotateButtonVisible(){return!this.p.is_delimiter&&this.p.tokens&&this.p.tokens.length},shouldShowManipulatorButtons(){return M.openaiApiKey}},data(){return{selectedTokens:new Set,showPre:!1}},methods:{annotateP(){this.$emit("annotateP",this.index)},reannotateP(){this.$emit("reannotateP",this.index,Array.from(this.selectedTokens))},onSelectionChanged({tIndex:t,isSelected:e}){e?this.selectedTokens.add(t):this.selectedTokens.delete(t)}}},iu={class:"paragraph_wrapper"},lu={key:0,class:"paragraph_annotate_buttons_span"},cu={key:1};function uu(t,e,n,s,o,r){const i=Dt("Token");return L(),z("div",iu,[r.isAnnotateButtonVisible&&r.shouldShowManipulatorButtons?(L(),z("span",lu,[g("button",{class:"corpus_button btn btn-light",onClick:e[0]||(e[0]=l=>r.annotateP(n.index))}," Annotate "),g("button",{class:"corpus_button btn btn-light",onClick:e[1]||(e[1]=l=>r.reannotateP(n.index))}," Reannotate "),e[2]||(e[2]=g("br",null,null,-1))])):_e("",!0),o.showPre?(L(),z("pre",cu,wt(JSON.stringify(n.p)),1)):_e("",!0),(L(!0),z(Z,null,pn(n.p.tokens,(l,c)=>(L(),bs(i,{key:c,t:l,index:c,onSelectionChanged:r.onSelectionChanged},null,8,["t","index","onSelectionChanged"]))),128))])}const au=Nt(ru,[["render",uu],["__scopeId","data-v-66628849"]]),fu={props:{corpusId:{required:!0}},components:{Paragraph:au},data(){return{sharedState:M,corpusStorage:un,corpus:null,cursor:null,showMetadata:!1}},computed:{pseudoState(){return!this.corpus.paragraphs||this.corpus.paragraphs.length<=0?"PLAIN":this.corpus.paragraphs[0].pstate},divideButtonClass(){const t=this.pseudoState=="PLAIN";return{"btn-primary":t,"btn-light":!t}},parseButtonClass(){const t=this.pseudoState=="DIVIDED";return{"btn-primary":t,"btn-light":!t}},annotateButtonClass(){const t=this.pseudoState=="PARSED";return{"btn-primary":t,"btn-light":!t}},glossColor(){return M.glossColor},glossSize(){return M.glossSize+"%"},txtSize(){return M.txtSize+"%"}},methods:{closeCorpus(){M.currentOpenCorpus=""},download(){const t=JSON.stringify(this.corpus);console.log("Downloading...");let e=document.createElement("a"),n=new Blob([t],{type:"text/plain"});e.download=this.corpus_id+".corpus.json",e.href=URL.createObjectURL(n),e.click()},async divide(t=`
-`){ao.divide_into_paragraphs(this.corpus,[t]),this.corpusStorage.update(this.corpus)},async parse(){for(const t of this.corpus.paragraphs)ao.parse_paragraph(t);this.corpusStorage.update(this.corpus)},async annotate(t=null){const e=ho(M.annotator_name),n=M.lang_from,s=M.lang_to;t&&(t.length==1&&t[0]==-1&&(t=this.corpus.paragraphs.map((o,r)=>({p:o,i:r})).filter(({p:o})=>!o.is_delimiter&&o.pstate!="ANNOTATED").map(({i:o})=>o)),console.log(t));for(const[o,r]of this.corpus.paragraphs.entries())t&&!t.includes(o)||(await e.annotate(r,n,s),this.corpusStorage.update(this.corpus))},async reannotate(t,e){const n=ho(M.annotator_name),s=M.lang_from,o=M.lang_to,r=t[0],i=this.corpus.paragraphs[r];s||(s=i.annotator_info_obj.lang_from),o||(o=i.annotator_info_obj.lang_to),await n.reannotate(i,s,o,e),this.corpusStorage.update(this.corpus)},psPrev(){let t=this.cursor-1;t>=0&&(this.cursor=t,this.scrollToTop(),un.setCursor(this.corpusId,this.cursor))},psNext(){let t=this.cursor+1;t{const t=this.$refs.corpus;t.scrollTop=0})},toggleShowMetadata(){this.showMetadata=!this.showMetadata},onAnnotateP(t){this.annotate([t])},onReannotateP(t,e){this.reannotate([t],e)}},watch:{},async created(){this.corpus=await this.corpusStorage.read(this.corpusId),this.cursor=this.corpusStorage.getCursor(this.corpusId)||0},beforeDestroy(){}},du={class:"pButtonsDiv"},pu=["max"],hu={class:"corpus",ref:"corpus"},gu={key:0},mu={class:"corpus_buttons_span"};function _u(t,e,n,s,o,r){const i=Dt("Paragraph");return L(),z(Z,null,[g("h4",{onClick:e[0]||(e[0]=l=>r.closeCorpus()),ref:"header"},wt(n.corpusId),513),e[14]||(e[14]=g("hr",null,null,-1)),this.corpus?(L(),z("div",{key:0,style:xn({"--gloss-color":r.glossColor,"--gloss-size":r.glossSize,"--txt-size":r.txtSize})},[g("div",du,[g("button",{class:"btn",onClick:e[1]||(e[1]=(...l)=>r.psPrev&&r.psPrev(...l))}," << "),ft(g("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.cursor=l),type:"number",class:"form-control w-auto d-inline",min:0,max:o.corpus.paragraphs.length-1},null,8,pu),[[Rt,o.cursor,void 0,{number:!0}]]),g("span",null,"/"+wt(this.corpus.paragraphs.length-1),1),g("button",{class:"btn",onClick:e[3]||(e[3]=(...l)=>r.psNext&&r.psNext(...l))}," >> "),g("button",{class:"btn",onClick:e[4]||(e[4]=(...l)=>r.toggleShowMetadata&&r.toggleShowMetadata(...l)),style:{"margin-left":"auto","margin-right":"0"}},"[i]")]),g("div",hu,[o.showMetadata?(L(),z("div",gu,[e[11]||(e[11]=g("hr",null,null,-1)),g("div",mu,[g("button",{class:"corpus_button btn btn-light",onClick:e[5]||(e[5]=l=>r.download())},"Download"),g("button",{class:Lt(["corpus_button","btn",r.divideButtonClass]),onClick:e[6]||(e[6]=l=>r.divide())},"Divide",2),g("button",{class:Lt(["corpus_button","btn",r.divideButtonClass]),onClick:e[7]||(e[7]=l=>r.divide("\\n\\n"))},"Divide (for poems)",2),g("button",{class:Lt(["corpus_button","btn",r.parseButtonClass]),onClick:e[8]||(e[8]=l=>r.parse())},"Parse",2),g("button",{class:Lt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[9]||(e[9]=l=>r.annotate([-1]))}," Annotate ",2),g("button",{class:Lt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[10]||(e[10]=l=>r.annotate(null))}," Annotate (Reset) ",2)]),g("ul",null,[(L(!0),z(Z,null,pn(o.corpus.metadata,(l,c)=>(L(),z("li",null,[g("strong",null,wt(c)+":",1),gn(" "+wt(l),1)]))),256))]),e[12]||(e[12]=g("hr",null,null,-1))])):_e("",!0),e[13]||(e[13]=g("br",null,null,-1)),o.corpus.paragraphs[o.cursor]?(L(),bs(i,{key:o.cursor,p:o.corpus.paragraphs[o.cursor],index:o.cursor,onAnnotateP:r.onAnnotateP,onReannotateP:r.onReannotateP},null,8,["p","index","onAnnotateP","onReannotateP"])):_e("",!0)],512)],4)):_e("",!0)],64)}const bu=Nt(fu,[["render",_u],["__scopeId","data-v-6b4792dd"]]),yu={components:{Header:tc,CorpusesView:Lc,AnnotatorSelect:uc,LocalAnnotatorOptions:xc,MiscOptions:Ac,UploadView:zc,Corpus:bu},data(){return{}},computed:{currentOpenCorpus(){return M.currentOpenCorpus}},methods:{},mounted(){},beforeDestroy(){}},xu={key:0},wu={key:1};function vu(t,e,n,s,o,r){const i=Dt("Corpus"),l=Dt("Header"),c=Dt("AnnotatorSelect"),d=Dt("LocalAnnotatorOptions"),f=Dt("MiscOptions"),p=Dt("CorpusesView"),x=Dt("UploadView");return r.currentOpenCorpus?(L(),z("div",xu,[et(i,{corpusId:r.currentOpenCorpus},null,8,["corpusId"])])):(L(),z("div",wu,[g("header",null,[et(l)]),g("main",null,[et(c),et(d),et(f),e[0]||(e[0]=g("hr",null,null,-1)),et(p),e[1]||(e[1]=g("hr",null,null,-1)),et(x)])]))}const Cu=Nt(yu,[["render",vu],["__scopeId","data-v-91aad765"]]);ql(Cu).mount("#app");
diff --git a/static/index-Dk3nCGF9.css b/static/index-DOlcwHOd.css
similarity index 89%
rename from static/index-Dk3nCGF9.css
rename to static/index-DOlcwHOd.css
index d01fa2c..fcaac46 100644
--- a/static/index-Dk3nCGF9.css
+++ b/static/index-DOlcwHOd.css
@@ -1 +1 @@
-:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.index_version_span[data-v-9098c0f4]{font-size:80%}.sampleLinkP[data-v-f7f33f7e]{font-style:italic;text-decoration:underline;cursor:pointer;display:inline}.disabled[data-v-f7f33f7e]{color:gray;text-decoration:none;cursor:default}textarea[data-v-7750d3a5]{width:90%;height:18em}.token_txt[data-v-b539fc8d]{font-size:var(--txt-size);font-family:serif}.gloss[data-v-b539fc8d]{font-size:var(--gloss-size);font-family:monospace;text-align:center;padding-top:.1em}.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{padding-left:.25em;padding-right:.25em}.gloss[data-v-b539fc8d]{color:var(--gloss-color)}@media (prefers-color-scheme: dark){.token_txt[data-v-b539fc8d]{color:#fff}}li[data-v-b539fc8d],.token_wrapper[data-v-b539fc8d]{border:none;display:inline}.token_wrapper[data-v-b539fc8d]{display:inline-block;margin-right:1px}.token_wrapper[data-v-b539fc8d],.token_ul[data-v-b539fc8d],.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{background:none}.selected-token[data-v-b539fc8d]{border:1px solid}.paragraph_annotate_buttons_span[data-v-66628849]{display:flex;justify-content:flex-end}.corpus_button[data-v-66628849]{font-size:80%}.corpus_wrapper[data-v-6b4792dd]{display:flex;flex-direction:column;max-height:99vh}.corpus[data-v-6b4792dd]{flex:1;overflow-y:auto}.corpus_buttons_span[data-v-6b4792dd]{display:flex;justify-content:flex-end}.corpus_button[data-v-6b4792dd]{font-size:90%}.corpus-pre[data-v-6b4792dd]{max-width:100%;overflow:auto}.pButtonsDiv[data-v-6b4792dd]{width:100%;display:flex;justify-content:space-between;align-items:center}body[data-v-91aad765]{font-family:sans-serif;text-align:center}a[data-v-91aad765]:link{color:#d3d3d3}main[data-v-91aad765]{text-align:center}
+:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media (hover: hover){a:hover{background-color:#00bd7e33}}.index_version_span[data-v-9098c0f4]{font-size:80%}.sampleLinkP[data-v-f7f33f7e]{font-style:italic;text-decoration:underline;cursor:pointer;display:inline}.disabled[data-v-f7f33f7e]{color:gray;text-decoration:none;cursor:default}textarea[data-v-7750d3a5]{width:90%;height:18em}.token_txt[data-v-b539fc8d]{font-size:var(--txt-size);font-family:serif}.gloss[data-v-b539fc8d]{font-size:var(--gloss-size);font-family:monospace;text-align:center;padding-top:.1em}.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{padding-left:.25em;padding-right:.25em}.gloss[data-v-b539fc8d]{color:var(--gloss-color)}@media (prefers-color-scheme: dark){.token_txt[data-v-b539fc8d]{color:#fff}}li[data-v-b539fc8d],.token_wrapper[data-v-b539fc8d]{border:none;display:inline}.token_wrapper[data-v-b539fc8d]{display:inline-block;margin-right:1px}.token_wrapper[data-v-b539fc8d],.token_ul[data-v-b539fc8d],.token_txt[data-v-b539fc8d],.gloss[data-v-b539fc8d]{background:none}.selected-token[data-v-b539fc8d]{border:1px solid}.paragraph_annotate_buttons_span[data-v-66628849]{display:flex;justify-content:flex-end}.corpus_button[data-v-66628849]{font-size:80%}.corpus_wrapper[data-v-d44df1cf]{display:flex;flex-direction:column;max-height:99vh}.corpus[data-v-d44df1cf]{flex:1;overflow-y:auto}.corpus_buttons_span[data-v-d44df1cf]{display:flex;justify-content:flex-end}.corpus_button[data-v-d44df1cf]{font-size:90%}.corpus-pre[data-v-d44df1cf]{max-width:100%;overflow:auto}.pButtonsDiv[data-v-d44df1cf]{width:100%;display:flex;justify-content:space-between;align-items:center}body[data-v-91aad765]{font-family:sans-serif;text-align:center}a[data-v-91aad765]:link{color:#d3d3d3}main[data-v-91aad765]{text-align:center}
diff --git a/static/index-Uf1eiebs.js b/static/index-Uf1eiebs.js
new file mode 100644
index 0000000..2a61393
--- /dev/null
+++ b/static/index-Uf1eiebs.js
@@ -0,0 +1,128 @@
+(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function s(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(o){if(o.ep)return;o.ep=!0;const r=s(o);fetch(o.href,r)}})();/**
+* @vue/shared v3.5.5
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**//*! #__NO_SIDE_EFFECTS__ */function Zs(t){const e=Object.create(null);for(const s of t.split(","))e[s]=1;return s=>s in e}const H={},de=[],Pt=()=>{},Sr=()=>!1,ms=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),tn=t=>t.startsWith("onUpdate:"),ot=Object.assign,en=(t,e)=>{const s=t.indexOf(e);s>-1&&t.splice(s,1)},Tr=Object.prototype.hasOwnProperty,D=(t,e)=>Tr.call(t,e),$=Array.isArray,pe=t=>Ve(t)==="[object Map]",we=t=>Ve(t)==="[object Set]",$n=t=>Ve(t)==="[object Date]",P=t=>typeof t=="function",Y=t=>typeof t=="string",Mt=t=>typeof t=="symbol",G=t=>t!==null&&typeof t=="object",go=t=>(G(t)||P(t))&&P(t.then)&&P(t.catch),mo=Object.prototype.toString,Ve=t=>mo.call(t),Or=t=>Ve(t).slice(8,-1),_o=t=>Ve(t)==="[object Object]",sn=t=>Y(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Ie=Zs(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),_s=t=>{const e=Object.create(null);return s=>e[s]||(e[s]=t(s))},$r=/-(\w)/g,St=_s(t=>t.replace($r,(e,s)=>s?s.toUpperCase():"")),Er=/\B([A-Z])/g,ue=_s(t=>t.replace(Er,"-$1").toLowerCase()),bs=_s(t=>t.charAt(0).toUpperCase()+t.slice(1)),As=_s(t=>t?`on${bs(t)}`:""),le=(t,e)=>!Object.is(t,e),ss=(t,...e)=>{for(let s=0;s{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:s})},us=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let En;const yo=()=>En||(En=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function ys(t){if($(t)){const e={};for(let s=0;s{if(s){const n=s.split(Ar);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function Lt(t){let e="";if(Y(t))e=t;else if($(t))for(let s=0;sUe(s,e))}const wo=t=>!!(t&&t.__v_isRef===!0),wt=t=>Y(t)?t:t==null?"":$(t)||G(t)&&(t.toString===mo||!P(t.toString))?wo(t)?wt(t.value):JSON.stringify(t,vo,2):String(t),vo=(t,e)=>wo(e)?vo(t,e.value):pe(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((s,[n,o],r)=>(s[Rs(n,r)+" =>"]=o,s),{})}:we(e)?{[`Set(${e.size})`]:[...e.values()].map(s=>Rs(s))}:Mt(e)?Rs(e):G(e)&&!$(e)&&!_o(e)?String(e):e,Rs=(t,e="")=>{var s;return Mt(t)?`Symbol(${(s=t.description)!=null?s:e})`:t};/**
+* @vue/reactivity v3.5.5
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let mt;class Fr{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=mt,!e&&mt&&(this.index=(mt.scopes||(mt.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,s;if(this.scopes)for(e=0,s=this.scopes.length;e0)return;let t;for(;Ae;){let e=Ae;for(Ae=void 0;e;){const s=e.nextEffect;if(e.nextEffect=void 0,e.flags&=-9,e.flags&1)try{e.trigger()}catch(n){t||(t=n)}e=s}}if(t)throw t}function To(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function Oo(t){let e,s=t.depsTail,n=s;for(;n;){const o=n.prevDep;n.version===-1?(n===s&&(s=o),ln(n),jr(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=o}t.deps=e,t.depsTail=s}function Us(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&$o(e.dep.computed)||e.dep.version!==e.version)return!0;return!!t._dirty}function $o(t){if(t.flags&4&&!(t.flags&16)||(t.flags&=-17,t.globalVersion===ke))return;t.globalVersion=ke;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&!Us(t)){t.flags&=-3;return}const s=U,n=vt;U=t,vt=!0;try{To(t);const o=t.fn(t._value);(e.version===0||le(o,t._value))&&(t._value=o,e.version++)}catch(o){throw e.version++,o}finally{U=s,vt=n,Oo(t),t.flags&=-3}}function ln(t){const{dep:e,prevSub:s,nextSub:n}=t;if(s&&(s.nextSub=n,t.prevSub=void 0),n&&(n.prevSub=s,t.nextSub=void 0),e.subs===t&&(e.subs=s),!e.subs&&e.computed){e.computed.flags&=-5;for(let o=e.computed.deps;o;o=o.nextDep)ln(o)}}function jr(t){const{prevDep:e,nextDep:s}=t;e&&(e.nextDep=s,t.prevDep=void 0),s&&(s.prevDep=e,t.nextDep=void 0)}let vt=!0;const Eo=[];function Qt(){Eo.push(vt),vt=!1}function Xt(){const t=Eo.pop();vt=t===void 0?!0:t}function In(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const s=U;U=void 0;try{e()}finally{U=s}}}let ke=0;class Lr{constructor(e,s){this.sub=e,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Io{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0}track(e){if(!U||!vt||U===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==U)s=this.activeLink=new Lr(U,this),U.deps?(s.prevDep=U.depsTail,U.depsTail.nextDep=s,U.depsTail=s):U.deps=U.depsTail=s,U.flags&4&&Ao(s);else if(s.version===-1&&(s.version=this.version,s.nextDep)){const n=s.nextDep;n.prevDep=s.prevDep,s.prevDep&&(s.prevDep.nextDep=n),s.prevDep=U.depsTail,s.nextDep=void 0,U.depsTail.nextDep=s,U.depsTail=s,U.deps===s&&(U.deps=n)}return s}trigger(e){this.version++,ke++,this.notify(e)}notify(e){on();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()}finally{rn()}}}function Ao(t){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)Ao(n)}const s=t.dep.subs;s!==t&&(t.prevSub=s,s&&(s.nextSub=t)),t.dep.subs=t}const Hs=new WeakMap,ie=Symbol(""),Bs=Symbol(""),Ne=Symbol("");function rt(t,e,s){if(vt&&U){let n=Hs.get(t);n||Hs.set(t,n=new Map);let o=n.get(s);o||n.set(s,o=new Io),o.track()}}function Ut(t,e,s,n,o,r){const i=Hs.get(t);if(!i){ke++;return}const l=c=>{c&&c.trigger()};if(on(),e==="clear")i.forEach(l);else{const c=$(t),d=c&&sn(s);if(c&&s==="length"){const f=Number(n);i.forEach((p,x)=>{(x==="length"||x===Ne||!Mt(x)&&x>=f)&&l(p)})}else switch(s!==void 0&&l(i.get(s)),d&&l(i.get(Ne)),e){case"add":c?d&&l(i.get("length")):(l(i.get(ie)),pe(t)&&l(i.get(Bs)));break;case"delete":c||(l(i.get(ie)),pe(t)&&l(i.get(Bs)));break;case"set":pe(t)&&l(i.get(ie));break}}rn()}function ae(t){const e=V(t);return e===t?e:(rt(e,"iterate",Ne),Ct(t)?e:e.map(at))}function xs(t){return rt(t=V(t),"iterate",Ne),t}const Vr={__proto__:null,[Symbol.iterator](){return Ms(this,Symbol.iterator,at)},concat(...t){return ae(this).concat(...t.map(e=>$(e)?ae(e):e))},entries(){return Ms(this,"entries",t=>(t[1]=at(t[1]),t))},every(t,e){return Ft(this,"every",t,e,void 0,arguments)},filter(t,e){return Ft(this,"filter",t,e,s=>s.map(at),arguments)},find(t,e){return Ft(this,"find",t,e,at,arguments)},findIndex(t,e){return Ft(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Ft(this,"findLast",t,e,at,arguments)},findLastIndex(t,e){return Ft(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Ft(this,"forEach",t,e,void 0,arguments)},includes(...t){return ks(this,"includes",t)},indexOf(...t){return ks(this,"indexOf",t)},join(t){return ae(this).join(t)},lastIndexOf(...t){return ks(this,"lastIndexOf",t)},map(t,e){return Ft(this,"map",t,e,void 0,arguments)},pop(){return Oe(this,"pop")},push(...t){return Oe(this,"push",t)},reduce(t,...e){return An(this,"reduce",t,e)},reduceRight(t,...e){return An(this,"reduceRight",t,e)},shift(){return Oe(this,"shift")},some(t,e){return Ft(this,"some",t,e,void 0,arguments)},splice(...t){return Oe(this,"splice",t)},toReversed(){return ae(this).toReversed()},toSorted(t){return ae(this).toSorted(t)},toSpliced(...t){return ae(this).toSpliced(...t)},unshift(...t){return Oe(this,"unshift",t)},values(){return Ms(this,"values",at)}};function Ms(t,e,s){const n=xs(t),o=n[e]();return n!==t&&!Ct(t)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.value&&(r.value=s(r.value)),r}),o}const Ur=Array.prototype;function Ft(t,e,s,n,o,r){const i=xs(t),l=i!==t&&!Ct(t),c=i[e];if(c!==Ur[e]){const p=c.apply(t,r);return l?at(p):p}let d=s;i!==t&&(l?d=function(p,x){return s.call(this,at(p),x,t)}:s.length>2&&(d=function(p,x){return s.call(this,p,x,t)}));const f=c.call(i,d,n);return l&&o?o(f):f}function An(t,e,s,n){const o=xs(t);let r=s;return o!==t&&(Ct(t)?s.length>3&&(r=function(i,l,c){return s.call(this,i,l,c,t)}):r=function(i,l,c){return s.call(this,i,at(l),c,t)}),o[e](r,...n)}function ks(t,e,s){const n=V(t);rt(n,"iterate",Ne);const o=n[e](...s);return(o===-1||o===!1)&&fn(s[0])?(s[0]=V(s[0]),n[e](...s)):o}function Oe(t,e,s=[]){Qt(),on();const n=V(t)[e].apply(t,s);return rn(),Xt(),n}const Hr=Zs("__proto__,__v_isRef,__isVue"),Ro=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(Mt));function Br(t){Mt(t)||(t=String(t));const e=V(this);return rt(e,"has",t),e.hasOwnProperty(t)}class Po{constructor(e=!1,s=!1){this._isReadonly=e,this._isShallow=s}get(e,s,n){const o=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!o;if(s==="__v_isReadonly")return o;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(o?r?si:Fo:r?No:ko).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const i=$(e);if(!o){let c;if(i&&(c=Vr[s]))return c;if(s==="hasOwnProperty")return Br}const l=Reflect.get(e,s,ut(e)?e:n);return(Mt(s)?Ro.has(s):Hr(s))||(o||rt(e,"get",s),r)?l:ut(l)?i&&sn(s)?l:l.value:G(l)?o?Do(l):He(l):l}}class Mo extends Po{constructor(e=!1){super(!1,e)}set(e,s,n,o){let r=e[s];if(!this._isShallow){const c=be(r);if(!Ct(n)&&!be(n)&&(r=V(r),n=V(n)),!$(e)&&ut(r)&&!ut(n))return c?!1:(r.value=n,!0)}const i=$(e)&&sn(s)?Number(s)t,ws=t=>Reflect.getPrototypeOf(t);function Ye(t,e,s=!1,n=!1){t=t.__v_raw;const o=V(t),r=V(e);s||(le(e,r)&&rt(o,"get",e),rt(o,"get",r));const{has:i}=ws(o),l=n?cn:s?dn:at;if(i.call(o,e))return l(t.get(e));if(i.call(o,r))return l(t.get(r));t!==o&&t.get(e)}function Qe(t,e=!1){const s=this.__v_raw,n=V(s),o=V(t);return e||(le(t,o)&&rt(n,"has",t),rt(n,"has",o)),t===o?s.has(t):s.has(t)||s.has(o)}function Xe(t,e=!1){return t=t.__v_raw,!e&&rt(V(t),"iterate",ie),Reflect.get(t,"size",t)}function Rn(t,e=!1){!e&&!Ct(t)&&!be(t)&&(t=V(t));const s=V(this);return ws(s).has.call(s,t)||(s.add(t),Ut(s,"add",t,t)),this}function Pn(t,e,s=!1){!s&&!Ct(e)&&!be(e)&&(e=V(e));const n=V(this),{has:o,get:r}=ws(n);let i=o.call(n,t);i||(t=V(t),i=o.call(n,t));const l=r.call(n,t);return n.set(t,e),i?le(e,l)&&Ut(n,"set",t,e):Ut(n,"add",t,e),this}function Mn(t){const e=V(this),{has:s,get:n}=ws(e);let o=s.call(e,t);o||(t=V(t),o=s.call(e,t)),n&&n.call(e,t);const r=e.delete(t);return o&&Ut(e,"delete",t,void 0),r}function kn(){const t=V(this),e=t.size!==0,s=t.clear();return e&&Ut(t,"clear",void 0,void 0),s}function Ze(t,e){return function(n,o){const r=this,i=r.__v_raw,l=V(i),c=e?cn:t?dn:at;return!t&&rt(l,"iterate",ie),i.forEach((d,f)=>n.call(o,c(d),c(f),r))}}function ts(t,e,s){return function(...n){const o=this.__v_raw,r=V(o),i=pe(r),l=t==="entries"||t===Symbol.iterator&&i,c=t==="keys"&&i,d=o[t](...n),f=s?cn:e?dn:at;return!e&&rt(r,"iterate",c?Bs:ie),{next(){const{value:p,done:x}=d.next();return x?{value:p,done:x}:{value:l?[f(p[0]),f(p[1])]:f(p),done:x}},[Symbol.iterator](){return this}}}}function Gt(t){return function(...e){return t==="delete"?!1:t==="clear"?void 0:this}}function Jr(){const t={get(r){return Ye(this,r)},get size(){return Xe(this)},has:Qe,add:Rn,set:Pn,delete:Mn,clear:kn,forEach:Ze(!1,!1)},e={get(r){return Ye(this,r,!1,!0)},get size(){return Xe(this)},has:Qe,add(r){return Rn.call(this,r,!0)},set(r,i){return Pn.call(this,r,i,!0)},delete:Mn,clear:kn,forEach:Ze(!1,!0)},s={get(r){return Ye(this,r,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!1)},n={get(r){return Ye(this,r,!0,!0)},get size(){return Xe(this,!0)},has(r){return Qe.call(this,r,!0)},add:Gt("add"),set:Gt("set"),delete:Gt("delete"),clear:Gt("clear"),forEach:Ze(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(r=>{t[r]=ts(r,!1,!1),s[r]=ts(r,!0,!1),e[r]=ts(r,!1,!0),n[r]=ts(r,!0,!0)}),[t,s,e,n]}const[qr,Yr,Qr,Xr]=Jr();function un(t,e){const s=e?t?Xr:Qr:t?Yr:qr;return(n,o,r)=>o==="__v_isReactive"?!t:o==="__v_isReadonly"?t:o==="__v_raw"?n:Reflect.get(D(s,o)&&o in n?s:n,o,r)}const Zr={get:un(!1,!1)},ti={get:un(!1,!0)},ei={get:un(!0,!1)};const ko=new WeakMap,No=new WeakMap,Fo=new WeakMap,si=new WeakMap;function ni(t){switch(t){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function oi(t){return t.__v_skip||!Object.isExtensible(t)?0:ni(Or(t))}function He(t){return be(t)?t:an(t,!1,zr,Zr,ko)}function ri(t){return an(t,!1,Wr,ti,No)}function Do(t){return an(t,!0,Gr,ei,Fo)}function an(t,e,s,n,o){if(!G(t)||t.__v_raw&&!(e&&t.__v_isReactive))return t;const r=o.get(t);if(r)return r;const i=oi(t);if(i===0)return t;const l=new Proxy(t,i===2?n:s);return o.set(t,l),l}function he(t){return be(t)?he(t.__v_raw):!!(t&&t.__v_isReactive)}function be(t){return!!(t&&t.__v_isReadonly)}function Ct(t){return!!(t&&t.__v_isShallow)}function fn(t){return t?!!t.__v_raw:!1}function V(t){const e=t&&t.__v_raw;return e?V(e):t}function ii(t){return!D(t,"__v_skip")&&Object.isExtensible(t)&&bo(t,"__v_skip",!0),t}const at=t=>G(t)?He(t):t,dn=t=>G(t)?Do(t):t;function ut(t){return t?t.__v_isRef===!0:!1}function li(t){return ut(t)?t.value:t}const ci={get:(t,e,s)=>e==="__v_raw"?t:li(Reflect.get(t,e,s)),set:(t,e,s,n)=>{const o=t[e];return ut(o)&&!ut(s)?(o.value=s,!0):Reflect.set(t,e,s,n)}};function jo(t){return he(t)?t:new Proxy(t,ci)}class ui{constructor(e,s,n){this.fn=e,this.setter=s,this._value=void 0,this.dep=new Io(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ke-1,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){this.flags|=16,U!==this&&this.dep.notify()}get value(){const e=this.dep.track();return $o(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}function ai(t,e,s=!1){let n,o;return P(t)?n=t:(n=t.get,o=t.set),new ui(n,o,s)}const es={},as=new WeakMap;let oe;function fi(t,e=!1,s=oe){if(s){let n=as.get(s);n||as.set(s,n=[]),n.push(t)}}function di(t,e,s=H){const{immediate:n,deep:o,once:r,scheduler:i,augmentJob:l,call:c}=s,d=I=>o?I:Ct(I)||o===!1||o===0?Vt(I,1):Vt(I);let f,p,x,E,k=!1,R=!1;if(ut(t)?(p=()=>t.value,k=Ct(t)):he(t)?(p=()=>d(t),k=!0):$(t)?(R=!0,k=t.some(I=>he(I)||Ct(I)),p=()=>t.map(I=>{if(ut(I))return I.value;if(he(I))return d(I);if(P(I))return c?c(I,2):I()})):P(t)?e?p=c?()=>c(t,2):t:p=()=>{if(x){Qt();try{x()}finally{Xt()}}const I=oe;oe=f;try{return c?c(t,3,[E]):t(E)}finally{oe=I}}:p=Pt,e&&o){const I=p,X=o===!0?1/0:o;p=()=>Vt(I(),X)}const Q=Dr(),F=()=>{f.stop(),Q&&en(Q.effects,f)};if(r)if(e){const I=e;e=(...X)=>{I(...X),F()}}else{const I=p;p=()=>{I(),F()}}let J=R?new Array(t.length).fill(es):es;const q=I=>{if(!(!(f.flags&1)||!f.dirty&&!I))if(e){const X=f.run();if(o||k||(R?X.some((Kt,Tt)=>le(Kt,J[Tt])):le(X,J))){x&&x();const Kt=oe;oe=f;try{const Tt=[X,J===es?void 0:R&&J[0]===es?[]:J,E];c?c(e,3,Tt):e(...Tt),J=X}finally{oe=Kt}}}else f.run()};return l&&l(q),f=new Co(p),f.scheduler=i?()=>i(q,!1):q,E=I=>fi(I,!1,f),x=f.onStop=()=>{const I=as.get(f);if(I){if(c)c(I,4);else for(const X of I)X();as.delete(f)}},e?n?q(!0):J=f.run():i?i(q.bind(null,!0),!0):f.run(),F.pause=f.pause.bind(f),F.resume=f.resume.bind(f),F.stop=F,F}function Vt(t,e=1/0,s){if(e<=0||!G(t)||t.__v_skip||(s=s||new Set,s.has(t)))return t;if(s.add(t),e--,ut(t))Vt(t.value,e,s);else if($(t))for(let n=0;n{Vt(n,e,s)});else if(_o(t)){for(const n in t)Vt(t[n],e,s);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&Vt(t[n],e,s)}return t}/**
+* @vue/runtime-core v3.5.5
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/function Be(t,e,s,n){try{return n?t(...n):t()}catch(o){vs(o,e,s)}}function kt(t,e,s,n){if(P(t)){const o=Be(t,e,s,n);return o&&go(o)&&o.catch(r=>{vs(r,e,s)}),o}if($(t)){const o=[];for(let r=0;r>>1,o=ct[n],r=De(o);r=De(s)?ct.push(t):ct.splice(hi(e),0,t),t.flags|=1,Uo()}}function Uo(){!Fe&&!Ks&&(Ks=!0,pn=Lo.then(Bo))}function gi(t){$(t)?ge.push(...t):Jt&&t.id===-1?Jt.splice(fe+1,0,t):t.flags&1||(ge.push(t),t.flags|=1),Uo()}function Nn(t,e,s=Fe?It+1:0){for(;sDe(s)-De(n));if(ge.length=0,Jt){Jt.push(...e);return}for(Jt=e,fe=0;fet.id==null?t.flags&2?-1:1/0:t.id;function Bo(t){Ks=!1,Fe=!0;try{for(It=0;It{n._d&&Kn(-1);const r=fs(e);let i;try{i=t(...o)}finally{fs(r),n._d&&Kn(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function ft(t,e){if(_t===null)return t;const s=$s(_t),n=t.dirs||(t.dirs=[]);for(let o=0;ot.__isTeleport;function gn(t,e){t.shapeFlag&6&&t.component?(t.transition=e,gn(t.component.subTree,e)):t.shapeFlag&128?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function zo(t){t.ids=[t.ids[0]+t.ids[2]+++"-",0,0]}function zs(t,e,s,n,o=!1){if($(t)){t.forEach((k,R)=>zs(k,e&&($(e)?e[R]:e),s,n,o));return}if(Re(n)&&!o)return;const r=n.shapeFlag&4?$s(n.component):n.el,i=o?null:r,{i:l,r:c}=t,d=e&&e.r,f=l.refs===H?l.refs={}:l.refs,p=l.setupState,x=V(p),E=p===H?()=>!1:k=>D(x,k);if(d!=null&&d!==c&&(Y(d)?(f[d]=null,E(d)&&(p[d]=null)):ut(d)&&(d.value=null)),P(c))Be(c,l,12,[i,f]);else{const k=Y(c),R=ut(c);if(k||R){const Q=()=>{if(t.f){const F=k?E(c)?p[c]:f[c]:c.value;o?$(F)&&en(F,r):$(F)?F.includes(r)||F.push(r):k?(f[c]=[r],E(c)&&(p[c]=f[c])):(c.value=[r],t.k&&(f[t.k]=c.value))}else k?(f[c]=i,E(c)&&(p[c]=i)):R&&(c.value=i,t.k&&(f[t.k]=i))};i?(Q.id=-1,gt(Q,s)):Q()}}}const Re=t=>!!t.type.__asyncLoader,Go=t=>t.type.__isKeepAlive;function yi(t,e){Wo(t,"a",e)}function xi(t,e){Wo(t,"da",e)}function Wo(t,e,s=nt){const n=t.__wdc||(t.__wdc=()=>{let o=s;for(;o;){if(o.isDeactivated)return;o=o.parent}return t()});if(Cs(e,n,s),s){let o=s.parent;for(;o&&o.parent;)Go(o.parent.vnode)&&wi(n,e,s,o),o=o.parent}}function wi(t,e,s,n){const o=Cs(e,t,n,!0);Jo(()=>{en(n[e],o)},s)}function Cs(t,e,s=nt,n=!1){if(s){const o=s[t]||(s[t]=[]),r=e.__weh||(e.__weh=(...i)=>{Qt();const l=Ke(s),c=kt(e,s,t,i);return l(),Xt(),c});return n?o.unshift(r):o.push(r),r}}const Bt=t=>(e,s=nt)=>{(!Os||t==="sp")&&Cs(t,(...n)=>e(...n),s)},vi=Bt("bm"),Ci=Bt("m"),Si=Bt("bu"),Ti=Bt("u"),Oi=Bt("bum"),Jo=Bt("um"),$i=Bt("sp"),Ei=Bt("rtg"),Ii=Bt("rtc");function Ai(t,e=nt){Cs("ec",t,e)}const qo="components";function Dt(t,e){return Pi(qo,t,!0,e)||t}const Ri=Symbol.for("v-ndc");function Pi(t,e,s=!0,n=!1){const o=_t||nt;if(o){const r=o.type;if(t===qo){const l=wl(r,!1);if(l&&(l===e||l===St(e)||l===bs(St(e))))return r}const i=Fn(o[t]||r[t],e)||Fn(o.appContext[t],e);return!i&&n?r:i}}function Fn(t,e){return t&&(t[e]||t[St(e)]||t[bs(St(e))])}function ds(t,e,s,n){let o;const r=s,i=$(t);if(i||Y(t)){const l=i&&he(t);let c=!1;l&&(c=!Ct(t),t=xs(t)),o=new Array(t.length);for(let d=0,f=t.length;de(l,c,void 0,r));else{const l=Object.keys(t);o=new Array(l.length);for(let c=0,d=l.length;ct?gr(t)?$s(t):Gs(t.parent):null,Pe=ot(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Gs(t.parent),$root:t=>Gs(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>mn(t),$forceUpdate:t=>t.f||(t.f=()=>{hn(t.update)}),$nextTick:t=>t.n||(t.n=Vo.bind(t.proxy)),$watch:t=>tl.bind(t)}),Ns=(t,e)=>t!==H&&!t.__isScriptSetup&&D(t,e),Mi={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:s,setupState:n,data:o,props:r,accessCache:i,type:l,appContext:c}=t;let d;if(e[0]!=="$"){const E=i[e];if(E!==void 0)switch(E){case 1:return n[e];case 2:return o[e];case 4:return s[e];case 3:return r[e]}else{if(Ns(n,e))return i[e]=1,n[e];if(o!==H&&D(o,e))return i[e]=2,o[e];if((d=t.propsOptions[0])&&D(d,e))return i[e]=3,r[e];if(s!==H&&D(s,e))return i[e]=4,s[e];Ws&&(i[e]=0)}}const f=Pe[e];let p,x;if(f)return e==="$attrs"&&rt(t.attrs,"get",""),f(t);if((p=l.__cssModules)&&(p=p[e]))return p;if(s!==H&&D(s,e))return i[e]=4,s[e];if(x=c.config.globalProperties,D(x,e))return x[e]},set({_:t},e,s){const{data:n,setupState:o,ctx:r}=t;return Ns(o,e)?(o[e]=s,!0):n!==H&&D(n,e)?(n[e]=s,!0):D(t.props,e)||e[0]==="$"&&e.slice(1)in t?!1:(r[e]=s,!0)},has({_:{data:t,setupState:e,accessCache:s,ctx:n,appContext:o,propsOptions:r}},i){let l;return!!s[i]||t!==H&&D(t,i)||Ns(e,i)||(l=r[0])&&D(l,i)||D(n,i)||D(Pe,i)||D(o.config.globalProperties,i)},defineProperty(t,e,s){return s.get!=null?t._.accessCache[e]=0:D(s,"value")&&this.set(t,e,s.value,null),Reflect.defineProperty(t,e,s)}};function Dn(t){return $(t)?t.reduce((e,s)=>(e[s]=null,e),{}):t}let Ws=!0;function ki(t){const e=mn(t),s=t.proxy,n=t.ctx;Ws=!1,e.beforeCreate&&jn(e.beforeCreate,t,"bc");const{data:o,computed:r,methods:i,watch:l,provide:c,inject:d,created:f,beforeMount:p,mounted:x,beforeUpdate:E,updated:k,activated:R,deactivated:Q,beforeDestroy:F,beforeUnmount:J,destroyed:q,unmounted:I,render:X,renderTracked:Kt,renderTriggered:Tt,errorCaptured:zt,serverPrefetch:ze,expose:Zt,inheritAttrs:ve,components:Ge,directives:We,filters:Es}=e;if(d&&Ni(d,n,null),i)for(const W in i){const B=i[W];P(B)&&(n[W]=B.bind(s))}if(o){const W=o.call(s,s);G(W)&&(t.data=He(W))}if(Ws=!0,r)for(const W in r){const B=r[W],te=P(B)?B.bind(s,s):P(B.get)?B.get.bind(s,s):Pt,Je=!P(B)&&P(B.set)?B.set.bind(s):Pt,ee=Cl({get:te,set:Je});Object.defineProperty(n,W,{enumerable:!0,configurable:!0,get:()=>ee.value,set:Ot=>ee.value=Ot})}if(l)for(const W in l)Yo(l[W],n,s,W);if(c){const W=P(c)?c.call(s):c;Reflect.ownKeys(W).forEach(B=>{Ui(B,W[B])})}f&&jn(f,t,"c");function it(W,B){$(B)?B.forEach(te=>W(te.bind(s))):B&&W(B.bind(s))}if(it(vi,p),it(Ci,x),it(Si,E),it(Ti,k),it(yi,R),it(xi,Q),it(Ai,zt),it(Ii,Kt),it(Ei,Tt),it(Oi,J),it(Jo,I),it($i,ze),$(Zt))if(Zt.length){const W=t.exposed||(t.exposed={});Zt.forEach(B=>{Object.defineProperty(W,B,{get:()=>s[B],set:te=>s[B]=te})})}else t.exposed||(t.exposed={});X&&t.render===Pt&&(t.render=X),ve!=null&&(t.inheritAttrs=ve),Ge&&(t.components=Ge),We&&(t.directives=We),ze&&zo(t)}function Ni(t,e,s=Pt){$(t)&&(t=Js(t));for(const n in t){const o=t[n];let r;G(o)?"default"in o?r=ns(o.from||n,o.default,!0):r=ns(o.from||n):r=ns(o),ut(r)?Object.defineProperty(e,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):e[n]=r}}function jn(t,e,s){kt($(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,s)}function Yo(t,e,s,n){let o=n.includes(".")?ar(s,n):()=>s[n];if(Y(t)){const r=e[t];P(r)&&os(o,r)}else if(P(t))os(o,t.bind(s));else if(G(t))if($(t))t.forEach(r=>Yo(r,e,s,n));else{const r=P(t.handler)?t.handler.bind(s):e[t.handler];P(r)&&os(o,r,t)}}function mn(t){const e=t.type,{mixins:s,extends:n}=e,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=t.appContext,l=r.get(e);let c;return l?c=l:!o.length&&!s&&!n?c=e:(c={},o.length&&o.forEach(d=>ps(c,d,i,!0)),ps(c,e,i)),G(e)&&r.set(e,c),c}function ps(t,e,s,n=!1){const{mixins:o,extends:r}=e;r&&ps(t,r,s,!0),o&&o.forEach(i=>ps(t,i,s,!0));for(const i in e)if(!(n&&i==="expose")){const l=Fi[i]||s&&s[i];t[i]=l?l(t[i],e[i]):e[i]}return t}const Fi={data:Ln,props:Vn,emits:Vn,methods:Ee,computed:Ee,beforeCreate:lt,created:lt,beforeMount:lt,mounted:lt,beforeUpdate:lt,updated:lt,beforeDestroy:lt,beforeUnmount:lt,destroyed:lt,unmounted:lt,activated:lt,deactivated:lt,errorCaptured:lt,serverPrefetch:lt,components:Ee,directives:Ee,watch:ji,provide:Ln,inject:Di};function Ln(t,e){return e?t?function(){return ot(P(t)?t.call(this,this):t,P(e)?e.call(this,this):e)}:e:t}function Di(t,e){return Ee(Js(t),Js(e))}function Js(t){if($(t)){const e={};for(let s=0;s1)return s&&P(e)?e.call(n&&n.proxy):e}}const Xo={},Zo=()=>Object.create(Xo),tr=t=>Object.getPrototypeOf(t)===Xo;function Hi(t,e,s,n=!1){const o={},r=Zo();t.propsDefaults=Object.create(null),er(t,e,o,r);for(const i in t.propsOptions[0])i in o||(o[i]=void 0);s?t.props=n?o:ri(o):t.type.props?t.props=o:t.props=r,t.attrs=r}function Bi(t,e,s,n){const{props:o,attrs:r,vnode:{patchFlag:i}}=t,l=V(o),[c]=t.propsOptions;let d=!1;if((n||i>0)&&!(i&16)){if(i&8){const f=t.vnode.dynamicProps;for(let p=0;p{c=!0;const[x,E]=sr(p,e,!0);ot(i,x),E&&l.push(...E)};!s&&e.mixins.length&&e.mixins.forEach(f),t.extends&&f(t.extends),t.mixins&&t.mixins.forEach(f)}if(!r&&!c)return G(t)&&n.set(t,de),de;if($(r))for(let f=0;ft[0]==="_"||t==="$stable",_n=t=>$(t)?t.map(At):[At(t)],zi=(t,e,s)=>{if(e._n)return e;const n=mi((...o)=>_n(e(...o)),s);return n._c=!1,n},or=(t,e,s)=>{const n=t._ctx;for(const o in t){if(nr(o))continue;const r=t[o];if(P(r))e[o]=zi(o,r,n);else if(r!=null){const i=_n(r);e[o]=()=>i}}},rr=(t,e)=>{const s=_n(e);t.slots.default=()=>s},ir=(t,e,s)=>{for(const n in e)(s||n!=="_")&&(t[n]=e[n])},Gi=(t,e,s)=>{const n=t.slots=Zo();if(t.vnode.shapeFlag&32){const o=e._;o?(ir(n,e,s),s&&bo(n,"_",o,!0)):or(e,n)}else e&&rr(t,e)},Wi=(t,e,s)=>{const{vnode:n,slots:o}=t;let r=!0,i=H;if(n.shapeFlag&32){const l=e._;l?s&&l===1?r=!1:ir(o,e,s):(r=!e.$stable,or(e,o)),i=e}else e&&(rr(t,e),i={default:1});if(r)for(const l in o)!nr(l)&&i[l]==null&&delete o[l]},gt=ll;function Ji(t){return qi(t)}function qi(t,e){const s=yo();s.__VUE__=!0;const{insert:n,remove:o,patchProp:r,createElement:i,createText:l,createComment:c,setText:d,setElementText:f,parentNode:p,nextSibling:x,setScopeId:E=Pt,insertStaticContent:k}=t,R=(u,a,h,b=null,m=null,_=null,C=void 0,v=null,w=!!a.dynamicChildren)=>{if(u===a)return;u&&!$e(u,a)&&(b=qe(u),Ot(u,m,_,!0),u=null),a.patchFlag===-2&&(w=!1,a.dynamicChildren=null);const{type:y,ref:O,shapeFlag:S}=a;switch(y){case Ts:Q(u,a,h,b);break;case ce:F(u,a,h,b);break;case rs:u==null&&J(a,h,b,C);break;case Z:Ge(u,a,h,b,m,_,C,v,w);break;default:S&1?X(u,a,h,b,m,_,C,v,w):S&6?We(u,a,h,b,m,_,C,v,w):(S&64||S&128)&&y.process(u,a,h,b,m,_,C,v,w,Se)}O!=null&&m&&zs(O,u&&u.ref,_,a||u,!a)},Q=(u,a,h,b)=>{if(u==null)n(a.el=l(a.children),h,b);else{const m=a.el=u.el;a.children!==u.children&&d(m,a.children)}},F=(u,a,h,b)=>{u==null?n(a.el=c(a.children||""),h,b):a.el=u.el},J=(u,a,h,b)=>{[u.el,u.anchor]=k(u.children,a,h,b,u.el,u.anchor)},q=({el:u,anchor:a},h,b)=>{let m;for(;u&&u!==a;)m=x(u),n(u,h,b),u=m;n(a,h,b)},I=({el:u,anchor:a})=>{let h;for(;u&&u!==a;)h=x(u),o(u),u=h;o(a)},X=(u,a,h,b,m,_,C,v,w)=>{a.type==="svg"?C="svg":a.type==="math"&&(C="mathml"),u==null?Kt(a,h,b,m,_,C,v,w):ze(u,a,m,_,C,v,w)},Kt=(u,a,h,b,m,_,C,v)=>{let w,y;const{props:O,shapeFlag:S,transition:T,dirs:A}=u;if(w=u.el=i(u.type,_,O&&O.is,O),S&8?f(w,u.children):S&16&&zt(u.children,w,null,b,m,Fs(u,_),C,v),A&&se(u,null,b,"created"),Tt(w,u,u.scopeId,C,b),O){for(const K in O)K!=="value"&&!Ie(K)&&r(w,K,null,O[K],_,b);"value"in O&&r(w,"value",null,O.value,_),(y=O.onVnodeBeforeMount)&&Et(y,b,u)}A&&se(u,null,b,"beforeMount");const N=Yi(m,T);N&&T.beforeEnter(w),n(w,a,h),((y=O&&O.onVnodeMounted)||N||A)&>(()=>{y&&Et(y,b,u),N&&T.enter(w),A&&se(u,null,b,"mounted")},m)},Tt=(u,a,h,b,m)=>{if(h&&E(u,h),b)for(let _=0;_{for(let y=w;y{const v=a.el=u.el;let{patchFlag:w,dynamicChildren:y,dirs:O}=a;w|=u.patchFlag&16;const S=u.props||H,T=a.props||H;let A;if(h&&ne(h,!1),(A=T.onVnodeBeforeUpdate)&&Et(A,h,a,u),O&&se(a,u,h,"beforeUpdate"),h&&ne(h,!0),(S.innerHTML&&T.innerHTML==null||S.textContent&&T.textContent==null)&&f(v,""),y?Zt(u.dynamicChildren,y,v,h,b,Fs(a,m),_):C||B(u,a,v,null,h,b,Fs(a,m),_,!1),w>0){if(w&16)ve(v,S,T,h,m);else if(w&2&&S.class!==T.class&&r(v,"class",null,T.class,m),w&4&&r(v,"style",S.style,T.style,m),w&8){const N=a.dynamicProps;for(let K=0;K{A&&Et(A,h,a,u),O&&se(a,u,h,"updated")},b)},Zt=(u,a,h,b,m,_,C)=>{for(let v=0;v{if(a!==h){if(a!==H)for(const _ in a)!Ie(_)&&!(_ in h)&&r(u,_,a[_],null,m,b);for(const _ in h){if(Ie(_))continue;const C=h[_],v=a[_];C!==v&&_!=="value"&&r(u,_,v,C,m,b)}"value"in h&&r(u,"value",a.value,h.value,m)}},Ge=(u,a,h,b,m,_,C,v,w)=>{const y=a.el=u?u.el:l(""),O=a.anchor=u?u.anchor:l("");let{patchFlag:S,dynamicChildren:T,slotScopeIds:A}=a;A&&(v=v?v.concat(A):A),u==null?(n(y,h,b),n(O,h,b),zt(a.children||[],h,O,m,_,C,v,w)):S>0&&S&64&&T&&u.dynamicChildren?(Zt(u.dynamicChildren,T,h,m,_,C,v),(a.key!=null||m&&a===m.subTree)&&lr(u,a,!0)):B(u,a,h,O,m,_,C,v,w)},We=(u,a,h,b,m,_,C,v,w)=>{a.slotScopeIds=v,u==null?a.shapeFlag&512?m.ctx.activate(a,h,b,C,w):Es(a,h,b,m,_,C,w):xn(u,a,w)},Es=(u,a,h,b,m,_,C)=>{const v=u.component=ml(u,b,m);if(Go(u)&&(v.ctx.renderer=Se),_l(v,!1,C),v.asyncDep){if(m&&m.registerDep(v,it,C),!u.el){const w=v.subTree=et(ce);F(null,w,a,h)}}else it(v,u,a,h,m,_,C)},xn=(u,a,h)=>{const b=a.component=u.component;if(rl(u,a,h))if(b.asyncDep&&!b.asyncResolved){W(b,a,h);return}else b.next=a,b.update();else a.el=u.el,b.vnode=a},it=(u,a,h,b,m,_,C)=>{const v=()=>{if(u.isMounted){let{next:S,bu:T,u:A,parent:N,vnode:K}=u;{const pt=cr(u);if(pt){S&&(S.el=K.el,W(u,S,C)),pt.asyncDep.then(()=>{u.isUnmounted||v()});return}}let j=S,dt;ne(u,!1),S?(S.el=K.el,W(u,S,C)):S=K,T&&ss(T),(dt=S.props&&S.props.onVnodeBeforeUpdate)&&Et(dt,N,S,K),ne(u,!0);const st=Ds(u),yt=u.subTree;u.subTree=st,R(yt,st,p(yt.el),qe(yt),u,m,_),S.el=st.el,j===null&&il(u,st.el),A&>(A,m),(dt=S.props&&S.props.onVnodeUpdated)&>(()=>Et(dt,N,S,K),m)}else{let S;const{el:T,props:A}=a,{bm:N,m:K,parent:j,root:dt,type:st}=u,yt=Re(a);if(ne(u,!1),N&&ss(N),!yt&&(S=A&&A.onVnodeBeforeMount)&&Et(S,j,a),ne(u,!0),T&&Sn){const pt=()=>{u.subTree=Ds(u),Sn(T,u.subTree,u,m,null)};yt&&st.__asyncHydrate?st.__asyncHydrate(T,u,pt):pt()}else{dt.ce&&dt.ce._injectChildStyle(st);const pt=u.subTree=Ds(u);R(null,pt,h,b,u,m,_),a.el=pt.el}if(K&>(K,m),!yt&&(S=A&&A.onVnodeMounted)){const pt=a;gt(()=>Et(S,j,pt),m)}(a.shapeFlag&256||j&&Re(j.vnode)&&j.vnode.shapeFlag&256)&&u.a&>(u.a,m),u.isMounted=!0,a=h=b=null}};u.scope.on();const w=u.effect=new Co(v);u.scope.off();const y=u.update=w.run.bind(w),O=u.job=w.runIfDirty.bind(w);O.i=u,O.id=u.uid,w.scheduler=()=>hn(O),ne(u,!0),y()},W=(u,a,h)=>{a.component=u;const b=u.vnode.props;u.vnode=a,u.next=null,Bi(u,a.props,b,h),Wi(u,a.children,h),Qt(),Nn(u),Xt()},B=(u,a,h,b,m,_,C,v,w=!1)=>{const y=u&&u.children,O=u?u.shapeFlag:0,S=a.children,{patchFlag:T,shapeFlag:A}=a;if(T>0){if(T&128){Je(y,S,h,b,m,_,C,v,w);return}else if(T&256){te(y,S,h,b,m,_,C,v,w);return}}A&8?(O&16&&Ce(y,m,_),S!==y&&f(h,S)):O&16?A&16?Je(y,S,h,b,m,_,C,v,w):Ce(y,m,_,!0):(O&8&&f(h,""),A&16&&zt(S,h,b,m,_,C,v,w))},te=(u,a,h,b,m,_,C,v,w)=>{u=u||de,a=a||de;const y=u.length,O=a.length,S=Math.min(y,O);let T;for(T=0;TO?Ce(u,m,_,!0,!1,S):zt(a,h,b,m,_,C,v,w,S)},Je=(u,a,h,b,m,_,C,v,w)=>{let y=0;const O=a.length;let S=u.length-1,T=O-1;for(;y<=S&&y<=T;){const A=u[y],N=a[y]=w?qt(a[y]):At(a[y]);if($e(A,N))R(A,N,h,null,m,_,C,v,w);else break;y++}for(;y<=S&&y<=T;){const A=u[S],N=a[T]=w?qt(a[T]):At(a[T]);if($e(A,N))R(A,N,h,null,m,_,C,v,w);else break;S--,T--}if(y>S){if(y<=T){const A=T+1,N=AT)for(;y<=S;)Ot(u[y],m,_,!0),y++;else{const A=y,N=y,K=new Map;for(y=N;y<=T;y++){const ht=a[y]=w?qt(a[y]):At(a[y]);ht.key!=null&&K.set(ht.key,y)}let j,dt=0;const st=T-N+1;let yt=!1,pt=0;const Te=new Array(st);for(y=0;y=st){Ot(ht,m,_,!0);continue}let $t;if(ht.key!=null)$t=K.get(ht.key);else for(j=N;j<=T;j++)if(Te[j-N]===0&&$e(ht,a[j])){$t=j;break}$t===void 0?Ot(ht,m,_,!0):(Te[$t-N]=y+1,$t>=pt?pt=$t:yt=!0,R(ht,a[$t],h,null,m,_,C,v,w),dt++)}const Tn=yt?Qi(Te):de;for(j=Tn.length-1,y=st-1;y>=0;y--){const ht=N+y,$t=a[ht],On=ht+1{const{el:_,type:C,transition:v,children:w,shapeFlag:y}=u;if(y&6){ee(u.component.subTree,a,h,b);return}if(y&128){u.suspense.move(a,h,b);return}if(y&64){C.move(u,a,h,Se);return}if(C===Z){n(_,a,h);for(let S=0;Sv.enter(_),m);else{const{leave:S,delayLeave:T,afterLeave:A}=v,N=()=>n(_,a,h),K=()=>{S(_,()=>{N(),A&&A()})};T?T(_,N,K):K()}else n(_,a,h)},Ot=(u,a,h,b=!1,m=!1)=>{const{type:_,props:C,ref:v,children:w,dynamicChildren:y,shapeFlag:O,patchFlag:S,dirs:T,cacheIndex:A}=u;if(S===-2&&(m=!1),v!=null&&zs(v,null,h,u,!0),A!=null&&(a.renderCache[A]=void 0),O&256){a.ctx.deactivate(u);return}const N=O&1&&T,K=!Re(u);let j;if(K&&(j=C&&C.onVnodeBeforeUnmount)&&Et(j,a,u),O&6)Cr(u.component,h,b);else{if(O&128){u.suspense.unmount(h,b);return}N&&se(u,null,a,"beforeUnmount"),O&64?u.type.remove(u,a,h,Se,b):y&&!y.hasOnce&&(_!==Z||S>0&&S&64)?Ce(y,a,h,!1,!0):(_===Z&&S&384||!m&&O&16)&&Ce(w,a,h),b&&wn(u)}(K&&(j=C&&C.onVnodeUnmounted)||N)&>(()=>{j&&Et(j,a,u),N&&se(u,null,a,"unmounted")},h)},wn=u=>{const{type:a,el:h,anchor:b,transition:m}=u;if(a===Z){vr(h,b);return}if(a===rs){I(u);return}const _=()=>{o(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(u.shapeFlag&1&&m&&!m.persisted){const{leave:C,delayLeave:v}=m,w=()=>C(h,_);v?v(u.el,_,w):w()}else _()},vr=(u,a)=>{let h;for(;u!==a;)h=x(u),o(u),u=h;o(a)},Cr=(u,a,h)=>{const{bum:b,scope:m,job:_,subTree:C,um:v,m:w,a:y}=u;Hn(w),Hn(y),b&&ss(b),m.stop(),_&&(_.flags|=8,Ot(C,u,a,h)),v&>(v,a),gt(()=>{u.isUnmounted=!0},a),a&&a.pendingBranch&&!a.isUnmounted&&u.asyncDep&&!u.asyncResolved&&u.suspenseId===a.pendingId&&(a.deps--,a.deps===0&&a.resolve())},Ce=(u,a,h,b=!1,m=!1,_=0)=>{for(let C=_;C{if(u.shapeFlag&6)return qe(u.component.subTree);if(u.shapeFlag&128)return u.suspense.next();const a=x(u.anchor||u.el),h=a&&a[_i];return h?x(h):a};let Is=!1;const vn=(u,a,h)=>{u==null?a._vnode&&Ot(a._vnode,null,null,!0):R(a._vnode||null,u,a,null,null,null,h),a._vnode=u,Is||(Is=!0,Nn(),Ho(),Is=!1)},Se={p:R,um:Ot,m:ee,r:wn,mt:Es,mc:zt,pc:B,pbc:Zt,n:qe,o:t};let Cn,Sn;return{render:vn,hydrate:Cn,createApp:Vi(vn,Cn)}}function Fs({type:t,props:e},s){return s==="svg"&&t==="foreignObject"||s==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:s}function ne({effect:t,job:e},s){s?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function Yi(t,e){return(!t||t&&!t.pendingBranch)&&e&&!e.persisted}function lr(t,e,s=!1){const n=t.children,o=e.children;if($(n)&&$(o))for(let r=0;r>1,t[s[l]]0&&(e[n]=s[r-1]),s[r]=n)}}for(r=s.length,i=s[r-1];r-- >0;)s[r]=i,i=e[i];return s}function cr(t){const e=t.subTree.component;if(e)return e.asyncDep&&!e.asyncResolved?e:cr(e)}function Hn(t){if(t)for(let e=0;ens(Xi);function os(t,e,s){return ur(t,e,s)}function ur(t,e,s=H){const{immediate:n,deep:o,flush:r,once:i}=s,l=ot({},s);let c;if(Os)if(r==="sync"){const x=Zi();c=x.__watcherHandles||(x.__watcherHandles=[])}else if(!e||n)l.once=!0;else return{stop:Pt,resume:Pt,pause:Pt};const d=nt;l.call=(x,E,k)=>kt(x,d,E,k);let f=!1;r==="post"?l.scheduler=x=>{gt(x,d&&d.suspense)}:r!=="sync"&&(f=!0,l.scheduler=(x,E)=>{E?x():hn(x)}),l.augmentJob=x=>{e&&(x.flags|=4),f&&(x.flags|=2,d&&(x.id=d.uid,x.i=d))};const p=di(t,e,l);return c&&c.push(p),p}function tl(t,e,s){const n=this.proxy,o=Y(t)?t.includes(".")?ar(n,t):()=>n[t]:t.bind(n,n);let r;P(e)?r=e:(r=e.handler,s=e);const i=Ke(this),l=ur(o,r.bind(n),s);return i(),l}function ar(t,e){const s=e.split(".");return()=>{let n=t;for(let o=0;oe==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${St(e)}Modifiers`]||t[`${ue(e)}Modifiers`];function sl(t,e,...s){if(t.isUnmounted)return;const n=t.vnode.props||H;let o=s;const r=e.startsWith("update:"),i=r&&el(n,e.slice(7));i&&(i.trim&&(o=s.map(f=>Y(f)?f.trim():f)),i.number&&(o=s.map(us)));let l,c=n[l=As(e)]||n[l=As(St(e))];!c&&r&&(c=n[l=As(ue(e))]),c&&kt(c,t,6,o);const d=n[l+"Once"];if(d){if(!t.emitted)t.emitted={};else if(t.emitted[l])return;t.emitted[l]=!0,kt(d,t,6,o)}}function fr(t,e,s=!1){const n=e.emitsCache,o=n.get(t);if(o!==void 0)return o;const r=t.emits;let i={},l=!1;if(!P(t)){const c=d=>{const f=fr(d,e,!0);f&&(l=!0,ot(i,f))};!s&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}return!r&&!l?(G(t)&&n.set(t,null),null):($(r)?r.forEach(c=>i[c]=null):ot(i,r),G(t)&&n.set(t,i),i)}function Ss(t,e){return!t||!ms(e)?!1:(e=e.slice(2).replace(/Once$/,""),D(t,e[0].toLowerCase()+e.slice(1))||D(t,ue(e))||D(t,e))}function Ds(t){const{type:e,vnode:s,proxy:n,withProxy:o,propsOptions:[r],slots:i,attrs:l,emit:c,render:d,renderCache:f,props:p,data:x,setupState:E,ctx:k,inheritAttrs:R}=t,Q=fs(t);let F,J;try{if(s.shapeFlag&4){const I=o||n,X=I;F=At(d.call(X,I,f,p,E,x,k)),J=l}else{const I=e;F=At(I.length>1?I(p,{attrs:l,slots:i,emit:c}):I(p,null)),J=e.props?l:nl(l)}}catch(I){Me.length=0,vs(I,t,1),F=et(ce)}let q=F;if(J&&R!==!1){const I=Object.keys(J),{shapeFlag:X}=q;I.length&&X&7&&(r&&I.some(tn)&&(J=ol(J,r)),q=ye(q,J,!1,!0))}return s.dirs&&(q=ye(q,null,!1,!0),q.dirs=q.dirs?q.dirs.concat(s.dirs):s.dirs),s.transition&&gn(q,s.transition),F=q,fs(Q),F}const nl=t=>{let e;for(const s in t)(s==="class"||s==="style"||ms(s))&&((e||(e={}))[s]=t[s]);return e},ol=(t,e)=>{const s={};for(const n in t)(!tn(n)||!(n.slice(9)in e))&&(s[n]=t[n]);return s};function rl(t,e,s){const{props:n,children:o,component:r}=t,{props:i,children:l,patchFlag:c}=e,d=r.emitsOptions;if(e.dirs||e.transition)return!0;if(s&&c>=0){if(c&1024)return!0;if(c&16)return n?Bn(n,i,d):!!i;if(c&8){const f=e.dynamicProps;for(let p=0;pt.__isSuspense;function ll(t,e){e&&e.pendingBranch?$(t)?e.effects.push(...t):e.effects.push(t):gi(t)}const Z=Symbol.for("v-fgt"),Ts=Symbol.for("v-txt"),ce=Symbol.for("v-cmt"),rs=Symbol.for("v-stc"),Me=[];let bt=null;function L(t=!1){Me.push(bt=t?null:[])}function cl(){Me.pop(),bt=Me[Me.length-1]||null}let je=1;function Kn(t){je+=t,t<0&&bt&&(bt.hasOnce=!0)}function pr(t){return t.dynamicChildren=je>0?bt||de:null,cl(),je>0&&bt&&bt.push(t),t}function z(t,e,s,n,o,r){return pr(g(t,e,s,n,o,r,!0))}function bn(t,e,s,n,o){return pr(et(t,e,s,n,o,!0))}function ul(t){return t?t.__v_isVNode===!0:!1}function $e(t,e){return t.type===e.type&&t.key===e.key}const hr=({key:t})=>t??null,is=({ref:t,ref_key:e,ref_for:s})=>(typeof t=="number"&&(t=""+t),t!=null?Y(t)||ut(t)||P(t)?{i:_t,r:t,k:e,f:!!s}:t:null);function g(t,e=null,s=null,n=0,o=null,r=t===Z?0:1,i=!1,l=!1){const c={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&hr(e),ref:e&&is(e),scopeId:Ko,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:_t};return l?(yn(c,s),r&128&&t.normalize(c)):s&&(c.shapeFlag|=Y(s)?8:16),je>0&&!i&&bt&&(c.patchFlag>0||r&6)&&c.patchFlag!==32&&bt.push(c),c}const et=al;function al(t,e=null,s=null,n=0,o=null,r=!1){if((!t||t===Ri)&&(t=ce),ul(t)){const l=ye(t,e,!0);return s&&yn(l,s),je>0&&!r&&bt&&(l.shapeFlag&6?bt[bt.indexOf(t)]=l:bt.push(l)),l.patchFlag=-2,l}if(vl(t)&&(t=t.__vccOpts),e){e=fl(e);let{class:l,style:c}=e;l&&!Y(l)&&(e.class=Lt(l)),G(c)&&(fn(c)&&!$(c)&&(c=ot({},c)),e.style=ys(c))}const i=Y(t)?1:dr(t)?128:bi(t)?64:G(t)?4:P(t)?2:0;return g(t,e,s,n,o,i,r,!0)}function fl(t){return t?fn(t)||tr(t)?ot({},t):t:null}function ye(t,e,s=!1,n=!1){const{props:o,ref:r,patchFlag:i,children:l,transition:c}=t,d=e?pl(o||{},e):o,f={__v_isVNode:!0,__v_skip:!0,type:t.type,props:d,key:d&&hr(d),ref:e&&e.ref?s&&r?$(r)?r.concat(is(e)):[r,is(e)]:is(e):r,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:l,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==Z?i===-1?16:i|16:i,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:c,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&ye(t.ssContent),ssFallback:t.ssFallback&&ye(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return c&&n&&gn(f,c.clone(f)),f}function hs(t=" ",e=0){return et(Ts,null,t,e)}function dl(t,e){const s=et(rs,null,t);return s.staticCount=e,s}function _e(t="",e=!1){return e?(L(),bn(ce,null,t)):et(ce,null,t)}function At(t){return t==null||typeof t=="boolean"?et(ce):$(t)?et(Z,null,t.slice()):typeof t=="object"?qt(t):et(Ts,null,String(t))}function qt(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:ye(t)}function yn(t,e){let s=0;const{shapeFlag:n}=t;if(e==null)e=null;else if($(e))s=16;else if(typeof e=="object")if(n&65){const o=e.default;o&&(o._c&&(o._d=!1),yn(t,o()),o._c&&(o._d=!0));return}else{s=32;const o=e._;!o&&!tr(e)?e._ctx=_t:o===3&&_t&&(_t.slots._===1?e._=1:(e._=2,t.patchFlag|=1024))}else P(e)?(e={default:e,_ctx:_t},s=32):(e=String(e),n&64?(s=16,e=[hs(e)]):s=8);t.children=e,t.shapeFlag|=s}function pl(...t){const e={};for(let s=0;s{let o;return(o=t[s])||(o=t[s]=[]),o.push(n),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};gs=e("__VUE_INSTANCE_SETTERS__",s=>nt=s),Ys=e("__VUE_SSR_SETTERS__",s=>Os=s)}const Ke=t=>{const e=nt;return gs(t),t.scope.on(),()=>{t.scope.off(),gs(e)}},zn=()=>{nt&&nt.scope.off(),gs(null)};function gr(t){return t.vnode.shapeFlag&4}let Os=!1;function _l(t,e=!1,s=!1){e&&Ys(e);const{props:n,children:o}=t.vnode,r=gr(t);Hi(t,n,r,e),Gi(t,o,s);const i=r?bl(t,e):void 0;return e&&Ys(!1),i}function bl(t,e){const s=t.type;t.accessCache=Object.create(null),t.proxy=new Proxy(t.ctx,Mi);const{setup:n}=s;if(n){const o=t.setupContext=n.length>1?xl(t):null,r=Ke(t);Qt();const i=Be(n,t,0,[t.props,o]);if(Xt(),r(),go(i)){if(Re(t)||zo(t),i.then(zn,zn),e)return i.then(l=>{Gn(t,l,e)}).catch(l=>{vs(l,t,0)});t.asyncDep=i}else Gn(t,i,e)}else mr(t,e)}function Gn(t,e,s){P(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:G(e)&&(t.setupState=jo(e)),mr(t,s)}let Wn;function mr(t,e,s){const n=t.type;if(!t.render){if(!e&&Wn&&!n.render){const o=n.template||mn(t).template;if(o){const{isCustomElement:r,compilerOptions:i}=t.appContext.config,{delimiters:l,compilerOptions:c}=n,d=ot(ot({isCustomElement:r,delimiters:l},i),c);n.render=Wn(o,d)}}t.render=n.render||Pt}{const o=Ke(t);Qt();try{ki(t)}finally{Xt(),o()}}}const yl={get(t,e){return rt(t,"get",""),t[e]}};function xl(t){const e=s=>{t.exposed=s||{}};return{attrs:new Proxy(t.attrs,yl),slots:t.slots,emit:t.emit,expose:e}}function $s(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(jo(ii(t.exposed)),{get(e,s){if(s in e)return e[s];if(s in Pe)return Pe[s](t)},has(e,s){return s in e||s in Pe}})):t.proxy}function wl(t,e=!0){return P(t)?t.displayName||t.name:t.name||e&&t.__name}function vl(t){return P(t)&&"__vccOpts"in t}const Cl=(t,e)=>ai(t,e,Os),Sl="3.5.5";/**
+* @vue/runtime-dom v3.5.5
+* (c) 2018-present Yuxi (Evan) You and Vue contributors
+* @license MIT
+**/let Qs;const Jn=typeof window<"u"&&window.trustedTypes;if(Jn)try{Qs=Jn.createPolicy("vue",{createHTML:t=>t})}catch{}const _r=Qs?t=>Qs.createHTML(t):t=>t,Tl="http://www.w3.org/2000/svg",Ol="http://www.w3.org/1998/Math/MathML",jt=typeof document<"u"?document:null,qn=jt&&jt.createElement("template"),$l={insert:(t,e,s)=>{e.insertBefore(t,s||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,s,n)=>{const o=e==="svg"?jt.createElementNS(Tl,t):e==="mathml"?jt.createElementNS(Ol,t):s?jt.createElement(t,{is:s}):jt.createElement(t);return t==="select"&&n&&n.multiple!=null&&o.setAttribute("multiple",n.multiple),o},createText:t=>jt.createTextNode(t),createComment:t=>jt.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>jt.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,s,n,o,r){const i=s?s.previousSibling:e.lastChild;if(o&&(o===r||o.nextSibling))for(;e.insertBefore(o.cloneNode(!0),s),!(o===r||!(o=o.nextSibling)););else{qn.innerHTML=_r(n==="svg"?``:n==="mathml"?``:t);const l=qn.content;if(n==="svg"||n==="mathml"){const c=l.firstChild;for(;c.firstChild;)l.appendChild(c.firstChild);l.removeChild(c)}e.insertBefore(l,s)}return[i?i.nextSibling:e.firstChild,s?s.previousSibling:e.lastChild]}},El=Symbol("_vtc");function Il(t,e,s){const n=t[El];n&&(e=(e?[e,...n]:[...n]).join(" ")),e==null?t.removeAttribute("class"):s?t.setAttribute("class",e):t.className=e}const Yn=Symbol("_vod"),Al=Symbol("_vsh"),Rl=Symbol(""),Pl=/(^|;)\s*display\s*:/;function Ml(t,e,s){const n=t.style,o=Y(s);let r=!1;if(s&&!o){if(e)if(Y(e))for(const i of e.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&ls(n,l,"")}else for(const i in e)s[i]==null&&ls(n,i,"");for(const i in s)i==="display"&&(r=!0),ls(n,i,s[i])}else if(o){if(e!==s){const i=n[Rl];i&&(s+=";"+i),n.cssText=s,r=Pl.test(s)}}else e&&t.removeAttribute("style");Yn in t&&(t[Yn]=r?n.display:"",t[Al]&&(n.display="none"))}const Qn=/\s*!important$/;function ls(t,e,s){if($(s))s.forEach(n=>ls(t,e,n));else if(s==null&&(s=""),e.startsWith("--"))t.setProperty(e,s);else{const n=kl(t,e);Qn.test(s)?t.setProperty(ue(n),s.replace(Qn,""),"important"):t[n]=s}}const Xn=["Webkit","Moz","ms"],js={};function kl(t,e){const s=js[e];if(s)return s;let n=St(e);if(n!=="filter"&&n in t)return js[e]=n;n=bs(n);for(let o=0;oLs||(Ll.then(()=>Ls=0),Ls=Date.now());function Ul(t,e){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;kt(Hl(n,s.value),e,5,[n])};return s.value=t,s.attached=Vl(),s}function Hl(t,e){if($(e)){const s=t.stopImmediatePropagation;return t.stopImmediatePropagation=()=>{s.call(t),t._stopped=!0},e.map(n=>o=>!o._stopped&&n&&n(o))}else return e}const no=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,Bl=(t,e,s,n,o,r)=>{const i=o==="svg";e==="class"?Il(t,n,i):e==="style"?Ml(t,s,n):ms(e)?tn(e)||Dl(t,e,s,n,r):(e[0]==="."?(e=e.slice(1),!0):e[0]==="^"?(e=e.slice(1),!1):Kl(t,e,n,i))?(Nl(t,e,n),!t.tagName.includes("-")&&(e==="value"||e==="checked"||e==="selected")&&to(t,e,n,i,r,e!=="value")):(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),to(t,e,n,i))};function Kl(t,e,s,n){if(n)return!!(e==="innerHTML"||e==="textContent"||e in t&&no(e)&&P(s));if(e==="spellcheck"||e==="draggable"||e==="translate"||e==="form"||e==="list"&&t.tagName==="INPUT"||e==="type"&&t.tagName==="TEXTAREA")return!1;if(e==="width"||e==="height"){const o=t.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return no(e)&&Y(s)?!1:!!(e in t||t._isVueCE&&(/[A-Z]/.test(e)||!Y(s)))}const xe=t=>{const e=t.props["onUpdate:modelValue"]||!1;return $(e)?s=>ss(e,s):e};function zl(t){t.target.composing=!0}function oo(t){const e=t.target;e.composing&&(e.composing=!1,e.dispatchEvent(new Event("input")))}const Ht=Symbol("_assign"),Rt={created(t,{modifiers:{lazy:e,trim:s,number:n}},o){t[Ht]=xe(o);const r=n||o.props&&o.props.type==="number";Yt(t,e?"change":"input",i=>{if(i.target.composing)return;let l=t.value;s&&(l=l.trim()),r&&(l=us(l)),t[Ht](l)}),s&&Yt(t,"change",()=>{t.value=t.value.trim()}),e||(Yt(t,"compositionstart",zl),Yt(t,"compositionend",oo),Yt(t,"change",oo))},mounted(t,{value:e}){t.value=e??""},beforeUpdate(t,{value:e,oldValue:s,modifiers:{lazy:n,trim:o,number:r}},i){if(t[Ht]=xe(i),t.composing)return;const l=(r||t.type==="number")&&!/^0\d/.test(t.value)?us(t.value):t.value,c=e??"";l!==c&&(document.activeElement===t&&t.type!=="range"&&(n&&e===s||o&&t.value.trim()===c)||(t.value=c))}},Gl={deep:!0,created(t,e,s){t[Ht]=xe(s),Yt(t,"change",()=>{const n=t._modelValue,o=Le(t),r=t.checked,i=t[Ht];if($(n)){const l=nn(n,o),c=l!==-1;if(r&&!c)i(n.concat(o));else if(!r&&c){const d=[...n];d.splice(l,1),i(d)}}else if(we(n)){const l=new Set(n);r?l.add(o):l.delete(o),i(l)}else i(br(t,r))})},mounted:ro,beforeUpdate(t,e,s){t[Ht]=xe(s),ro(t,e,s)}};function ro(t,{value:e,oldValue:s},n){t._modelValue=e;let o;$(e)?o=nn(e,n.props.value)>-1:we(e)?o=e.has(n.props.value):o=Ue(e,br(t,!0)),t.checked!==o&&(t.checked=o)}const Vs={deep:!0,created(t,{value:e,modifiers:{number:s}},n){const o=we(e);Yt(t,"change",()=>{const r=Array.prototype.filter.call(t.options,i=>i.selected).map(i=>s?us(Le(i)):Le(i));t[Ht](t.multiple?o?new Set(r):r:r[0]),t._assigning=!0,Vo(()=>{t._assigning=!1})}),t[Ht]=xe(n)},mounted(t,{value:e,modifiers:{number:s}}){io(t,e)},beforeUpdate(t,e,s){t[Ht]=xe(s)},updated(t,{value:e,modifiers:{number:s}}){t._assigning||io(t,e)}};function io(t,e,s){const n=t.multiple,o=$(e);if(!(n&&!o&&!we(e))){for(let r=0,i=t.options.length;rString(f)===String(c)):l.selected=nn(e,c)>-1}else l.selected=e.has(c);else if(Ue(Le(l),e)){t.selectedIndex!==r&&(t.selectedIndex=r);return}}!n&&t.selectedIndex!==-1&&(t.selectedIndex=-1)}}function Le(t){return"_value"in t?t._value:t.value}function br(t,e){const s=e?"_trueValue":"_falseValue";return s in t?t[s]:e}const Wl=ot({patchProp:Bl},$l);let lo;function Jl(){return lo||(lo=Ji(Wl))}const ql=(...t)=>{const e=Jl().createApp(...t),{mount:s}=e;return e.mount=n=>{const o=Ql(n);if(!o)return;const r=e._component;!P(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=s(o,!1,Yl(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},e};function Yl(t){if(t instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&t instanceof MathMLElement)return"mathml"}function Ql(t){return Y(t)?document.querySelector(t):t}const Nt=(t,e)=>{const s=t.__vccOpts||t;for(const[n,o]of e)s[n]=o;return s},Xl={};function Zl(t,e){return L(),z(Z,null,[e[0]||(e[0]=g("h1",null,"GlossySnake",-1)),e[1]||(e[1]=g("p",null,[hs("INDEX PAGE | "),g("a",{href:"v4"},"v4"),hs(" | "),g("a",{href:"https://github.com/parkchamchi/GlossySnake"},"Repo")],-1))],64)}const tc=Nt(Xl,[["render",Zl],["__scopeId","data-v-9098c0f4"]]),ec=JSON.parse(localStorage.getItem("sharedState"))||{},M=He({annotator_name:"chatgpt_ft0",lang_from:"German",lang_to:"English",openaiApiKey:null,openaiModel:"gpt-4o-mini",outerRetry:2,innerRetry:3,maxGloss:80,fullPrompt:!0,currentOpenCorpus:"",psPerScreen:16,glossColor:"gray",txtSize:150,glossSize:90,...ec}),sc={data(){return M},watch:{annotator_name(){this.emitChange()},lang_from(){this.emitChange()},lang_to(){this.emitChange()}},methods:{emitChange(){M.annotator_name=this.annotator_name,M.lang_from=this.lang_from,M.lang_to=this.lang_to}}},nc={class:"container mt-4"},oc={class:"row"},rc={class:"col-md-4"},ic={class:"col-md-4"},lc={class:"col-md-4"};function cc(t,e,s,n,o,r){return L(),z(Z,null,[g("div",nc,[g("div",oc,[g("div",rc,[e[4]||(e[4]=g("label",{for:"annotator_name"},"annotator_name:",-1)),ft(g("select",{"onUpdate:modelValue":e[0]||(e[0]=i=>t.annotator_name=i),name:"annotator_name",id:"annotator_name_select",class:"form-control"},e[3]||(e[3]=[dl('',6)]),512),[[Vs,t.annotator_name]])]),g("div",ic,[e[6]||(e[6]=g("label",{for:"lang_from"},"lang_from:",-1)),ft(g("select",{"onUpdate:modelValue":e[1]||(e[1]=i=>t.lang_from=i),name:"lang_from",id:"lang_from_select",class:"form-control"},e[5]||(e[5]=[g("option",{value:"French"},"French",-1),g("option",{value:"German"},"German",-1),g("option",{value:"Latin"},"Latin",-1)]),512),[[Vs,t.lang_from]])]),g("div",lc,[e[8]||(e[8]=g("label",{for:"lang_to"},"lang_to:",-1)),ft(g("select",{"onUpdate:modelValue":e[2]||(e[2]=i=>t.lang_to=i),name:"lang_to",id:"lang_to_select",class:"form-control"},e[7]||(e[7]=[g("option",{value:"English"},"English",-1)]),512),[[Vs,t.lang_to]])])])]),e[9]||(e[9]=g("br",null,null,-1))],64)}const uc=Nt(sc,[["render",cc]]),ac={data(){return M},watch:{openaiApiKey(){this.emitChange()},openaiModel(){this.emitChange()},outerRetry(){this.emitChange()},innerRetry(){this.emitChange()},maxGloss(){this.emitChange()},fullPrompt(){this.emitChange()}},computed:{},methods:{emitChange(){M.openaiApiKey=this.openaiApiKey,M.openaiModel=this.openaiModel,M.outerRetry=this.outerRetry,M.innerRetry=this.innerRetry,M.maxGloss=this.maxGloss,M.fullPrompt=this.fullPrompt}}},fc={class:"container mt-3"},dc={class:"row"},pc={class:"col-md-2"},hc={class:"col-md-2"},gc={class:"col-md-2"},mc={class:"col-md-2"},_c={class:"col-md-2"},bc={class:"col-md-2 d-flex align-items-center"};function yc(t,e,s,n,o,r){return L(),z(Z,null,[e[13]||(e[13]=g("h4",null,"Local Annotator Options",-1)),g("div",fc,[g("div",dc,[g("div",pc,[e[6]||(e[6]=g("label",{for:"openaiApiKey"},"OpenAI API Key",-1)),ft(g("input",{type:"password",class:"form-control",id:"openaiApiKey","onUpdate:modelValue":e[0]||(e[0]=i=>t.openaiApiKey=i)},null,512),[[Rt,t.openaiApiKey]])]),g("div",hc,[e[7]||(e[7]=g("label",{for:"openaiModel"},"OpenAI Model",-1)),ft(g("input",{type:"text",class:"form-control",id:"openaiModel","onUpdate:modelValue":e[1]||(e[1]=i=>t.openaiModel=i)},null,512),[[Rt,t.openaiModel]])]),g("div",gc,[e[8]||(e[8]=g("label",{for:"outerRetry"},"Outer Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"outerRetry","onUpdate:modelValue":e[2]||(e[2]=i=>t.outerRetry=i),min:"1"},null,512),[[Rt,t.outerRetry]])]),g("div",mc,[e[9]||(e[9]=g("label",{for:"innerRetry"},"Inner Retry",-1)),ft(g("input",{type:"number",class:"form-control",id:"innerRetry","onUpdate:modelValue":e[3]||(e[3]=i=>t.innerRetry=i),min:"1"},null,512),[[Rt,t.innerRetry]])]),g("div",_c,[e[10]||(e[10]=g("label",{for:"maxGloss"},"Max Gloss",-1)),ft(g("input",{type:"number",class:"form-control",id:"maxGloss","onUpdate:modelValue":e[4]||(e[4]=i=>t.maxGloss=i),min:"40"},null,512),[[Rt,t.maxGloss]])]),g("div",bc,[ft(g("input",{type:"checkbox",class:"form-check-input",id:"fullPrompt","onUpdate:modelValue":e[5]||(e[5]=i=>t.fullPrompt=i)},null,512),[[Gl,t.fullPrompt]]),e[11]||(e[11]=g("label",{class:"form-check-label",for:"fullPrompt"},"Full Prompt",-1))])]),e[12]||(e[12]=g("div",{class:"row"},[g("div",{class:"col-md-2 d-flex align-items-center"},[g("button",{class:"btn btn-link mt-3"},[g("a",{href:"https://github.com/parkchamchi/GlossySnake/blob/master/docs/design/local.md"},"Info")])])],-1))])],64)}const xc=Nt(ac,[["render",yc]]),wc={data(){return M},watch:{glossColor(){this.emitChange()},txtSize(){this.emitChange()},glossSize(){this.emitChange()}},methods:{emitChange(){M.glossColor=this.glossColor,M.txtSize=this.txtSize,M.glossSize=this.glossSize},exportData(){console.log("Exporting");const t=JSON.stringify(M,null,2),e=new Blob([t],{type:"application/json"}),s=URL.createObjectURL(e),n=document.createElement("a");n.href=s,n.download="sharedState.json",n.click(),URL.revokeObjectURL(s)},async importData(t){const s=await t.target.files[0].text(),n=JSON.parse(s);Object.keys(n).forEach(o=>{M.hasOwnProperty(o)&&(M[o]=n[o])})}},mounted(){os(()=>M,t=>{localStorage.setItem("sharedState",JSON.stringify(t))},{deep:!0})}},vc={class:"container mt-3"},Cc={class:"row"},Sc={class:"col-md-2"},Tc={class:"col-md-2"},Oc={class:"col-md-2"},$c={class:"col-md-2 d-flex align-items-center"},Ec={class:"col-md-2 d-flex align-items-center"};function Ic(t,e,s,n,o,r){return L(),z(Z,null,[e[8]||(e[8]=g("h4",null,"Misc. Options",-1)),g("div",vc,[g("div",Cc,[g("div",Sc,[e[5]||(e[5]=g("label",{for:"glossColor"},"Gloss color",-1)),ft(g("input",{type:"color",class:"form-control",id:"glossColor","onUpdate:modelValue":e[0]||(e[0]=i=>t.glossColor=i)},null,512),[[Rt,t.glossColor]])]),g("div",Tc,[e[6]||(e[6]=g("label",{for:"txtSize"},"Text Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"txtSize","onUpdate:modelValue":e[1]||(e[1]=i=>t.txtSize=i),min:"50",max:"150"},null,512),[[Rt,t.txtSize]])]),g("div",Oc,[e[7]||(e[7]=g("label",{for:"glossSize"},"Gloss Size",-1)),ft(g("input",{type:"range",class:"form-control",id:"glossSize","onUpdate:modelValue":e[2]||(e[2]=i=>t.glossSize=i),min:"50",max:"150"},null,512),[[Rt,t.glossSize]])]),g("div",$c,[g("input",{type:"file",onChange:e[3]||(e[3]=(...i)=>r.importData&&r.importData(...i)),class:"form-control"},null,32)]),g("div",Ec,[g("button",{class:"btn btn-link mt-3",onClick:e[4]||(e[4]=(...i)=>r.exportData&&r.exportData(...i))},"Export")])])])],64)}const Ac=Nt(wc,[["render",Ic]]),Wt=He({}),re={on(t,e){Wt[t]||(Wt[t]=[]),Wt[t].push(e)},off(t,e){Wt[t]&&(Wt[t]=Wt[t].filter(s=>s!==e))},emit(t,e){Wt[t]&&Wt[t].forEach(s=>s(e))}};class Rc{constructor(){this.initCache(),this.connectDb(),this.initCursors()}create(e){return new Promise((s,n)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses"),i=(l,c)=>{const d=r.get(c);d.onsuccess=()=>{if(d.result){const f=c.match(/^(.*?)( \((\d+)\))?$/),p=f[1],x=f[3]?parseInt(f[3],10)+1:1,E=`${p} (${x})`;l.id=E,i(l,E)}else{const f=r.add(l);f.onsuccess=()=>this.setCache().then(()=>s(f.result)),f.onerror=p=>n(p.target.error)}},d.onerror=f=>n(f.target.error)};i(e,e.id)})}read(e){return new Promise((s,n)=>{const i=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").get(e);i.onsuccess=()=>s(i.result),i.onerror=l=>n(l.target.error)})}update(e){return e=JSON.parse(JSON.stringify(e)),new Promise((s,n)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").put(e);i.onsuccess=()=>this.setCache().then(()=>s(i.result)),i.onerror=l=>n(l.target.error),this.setCache()})}delete(e){return new Promise((s,n)=>{const i=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").delete(e);i.onsuccess=()=>this.setCache().then(()=>s()),i.onerror=l=>n(l.target.error),this.setCache()})}reset(){return console.log("Resetting."),new Promise((e,s)=>{const r=this.db.transaction(["corpuses"],"readwrite").objectStore("corpuses").clear();this.setCache(),r.onsuccess=()=>this.setCache().then(()=>e()),r.onerror=i=>s(i.target.error)})}initCache(){this.cache=["loading..."]}async connectDb(){this.db=await Pc("corpusDBv5",1,e=>{e.objectStoreNames.contains("corpuses")||e.createObjectStore("corpuses",{keyPath:"id",autoIncrement:!0})}),this.setCache()}async setCache(){return new Promise((e,s)=>{const r=this.db.transaction(["corpuses"],"readonly").objectStore("corpuses").openCursor(),i=[];r.onsuccess=l=>{const c=l.target.result;c?(i.push(c.key),c.continue()):(this.cache=i,re.emit("updateCorpusIds"),e())},r.onerror=l=>{s(l.target.error)}})}initCursors(){this.cursors=JSON.parse(localStorage.getItem("corpusCursors"))||{}}setCursor(e,s){this.cursors[e]=s,localStorage.setItem("corpusCursors",JSON.stringify(this.cursors))}getCursor(e){return this.cursors[e]}}function Pc(t,e,s){return new Promise((n,o)=>{const r=indexedDB.open(t,e);r.onupgradeneeded=i=>{const l=i.target.result;s(l)},r.onsuccess=i=>n(i.target.result),r.onerror=i=>o(i.target.error)})}const cs=new Rc,Mc={components:{},data(){return{sampleHost:"https://glossysnake.com/samples/v5/",remoteSampleFilenames:[],corpusStorage:cs,corpusIds:["loading."]}},methods:{async getRemoteSamples(){await fetch(this.sampleHost).then(t=>t.json()).then(t=>{this.remoteSampleFilenames=t.filenames})},async getRemoteSampleCorpus(t){fetch(this.sampleHost+t).then(e=>e.json()).then(e=>{const s=t.replace(".corpus.json","");e.id=s,this.addLocalCorpus(e)})},async addLocalCorpus(t){this.corpusStorage.create(t)},updateCorpusIds(){this.corpusIds=this.corpusStorage.cache},onCorpusIdClicked(t){M.currentOpenCorpus=t},clearCorpuses(){this.corpusStorage.reset()}},async created(){re.on("updateCorpusIds",this.updateCorpusIds),re.on("addLocalCorpus",this.addLocalCorpus),this.getRemoteSamples()},mounted(){M.currentOpenCorpus="",this.updateCorpusIds()},beforeDestroy(){re.off("updateCorpuses",this.updateCorpuses),re.off("addLocalCorpus",this.addLocalCorpus)}},kc={key:0},Nc={style:{display:"inline"}},Fc=["onClick"],Dc=["onClick"];function jc(t,e,s,n,o,r){return L(),z(Z,null,[g("p",{onClick:e[0]||(e[0]=(...i)=>r.clearCorpuses&&r.clearCorpuses(...i))},"[Clear data]"),o.remoteSampleFilenames.length>0?(L(),z("div",kc,[e[2]||(e[2]=g("h4",null,"Get a sample:",-1)),(L(!0),z(Z,null,ds(o.remoteSampleFilenames,(i,l)=>(L(),z("p",Nc,[g("span",{onClick:c=>r.getRemoteSampleCorpus(i),class:"sampleLinkP"},wt(i),9,Fc),e[1]||(e[1]=g("span",null," | ",-1))]))),256))])):_e("",!0),g("div",null,[(L(!0),z(Z,null,ds(o.corpusIds,(i,l)=>(L(),z("div",{onClick:c=>r.onCorpusIdClicked(i)},[e[3]||(e[3]=g("hr",null,null,-1)),g("h4",null,wt(i),1)],8,Dc))),256))])],64)}const Lc=Nt(Mc,[["render",jc],["__scopeId","data-v-f7f33f7e"]]);let co=class{constructor(e,s,n){this.txt=e,this.gloss=s,this.is_delimiter=n}};class Vc{constructor(e,s,n,o,r,i){this.title=e,this.author=s,this.annotation_info=n,this.original_language=o,this.gloss_language=r,this.note=i}}let Uc=class yr{constructor(e){this.tokens=e}static init_with_txt(e){const s=new yr([]);return s.original_text=e,s}},Hc=class xr{constructor(e,s){this.version=5,this.paragraphs=e,this.metadata=s}static init_with_txt(e){const s=new xr([],new Vc);return s.original_text=e,s}};const Bc={data(){return{originalText:""}},methods:{async onUploadButtonClicked(){const t=Hc.init_with_txt(this.originalText),e=this.makeTitle(this.originalText);t.id=e,re.emit("addLocalCorpus",t)},async onJsonFileInput(t){const s=await t.target.files[0].text(),n=JSON.parse(s);this.makeTitle(n.original_text),re.emit("addLocalCorpus",n)},makeTitle(t,e=16){return t.substring(0,e)}}},Kc={id:"frontend_upload_div"};function zc(t,e,s,n,o,r){return L(),z("div",Kc,[e[3]||(e[3]=g("h3",null,"Upload...",-1)),e[4]||(e[4]=g("label",{for:"frontend_original_text"},"Original Text",-1)),e[5]||(e[5]=g("br",null,null,-1)),ft(g("textarea",{"onUpdate:modelValue":e[0]||(e[0]=i=>o.originalText=i),class:"context_input auto-resize field_input",name:"frontend_original_text",spellcheck:"false",autofocus:"",placeholder:"Original Text",id:"frontend_original_text_textarea"},null,512),[[Rt,o.originalText]]),e[6]||(e[6]=g("br",null,null,-1)),g("button",{onClick:e[1]||(e[1]=i=>r.onUploadButtonClicked()),id:"frontend_original_text_button",class:"btn btn-primary"}," Upload "),e[7]||(e[7]=g("br",null,null,-1)),e[8]||(e[8]=g("p",null,"...or the JSON file",-1)),g("input",{type:"file",id:"json_file_input",onChange:e[2]||(e[2]=(...i)=>r.onJsonFileInput&&r.onJsonFileInput(...i))},null,32),e[9]||(e[9]=g("br",null,null,-1))])}const Gc=Nt(Bc,[["render",zc],["__scopeId","data-v-7750d3a5"]]),uo=`
+\r\v\f`;function Wc(t,e){const s=e.split("").map(o=>o.replace(/[-\/\\^$.*+?()[\]{}|]/g,"\\$&")).join("|");return t.split(new RegExp(`(${s})`)).filter(o=>o!=="").map(o=>({token:o,is_delimiter:e.includes(o)}))}class ao{static divide_into_paragraphs(e,s=[`
+`]){const n=e.original_text;let o=s.map(d=>d.replace("\\n",`
+`)),r=[n];o.sort((d,f)=>f.length-d.length),o.forEach(d=>{for(let f=0;f[x,d]).slice(0,-1),r[f]=p}r=[].concat(...r)});const i=1024;let l=[],c="";r.forEach(d=>{c.length+d.length0&&l.push(c),c=d)}),c.length>0&&l.push(c),r=l,e.paragraphs=r.map(d=>Uc.init_with_txt(d)),e.paragraph_delimiters=s}static parse_paragraph(e,s=uo){if(s||(s=uo),e.is_delimiter)e.tokens=[new co(e.original_text,null,!0)];else{const n=Wc(e.original_text,s);e.tokens=n.map(({token:o,is_delimiter:r})=>new co(o,null,r))}e.token_delimiters=s}}const fo="!UNKNOWN";class wr{constructor(){this.annotator_name="DUMMYGLOSS"}async annotate(e,s,n){this.lang_from=s,this.lang_to=n,e.is_delimiter||e.tokens&&e.tokens.length>0&&await this.put_gloss(e)}async reannotate(e,s,n,o){this.lang_from=s,this.lang_to=n,!e.is_delimiter&&await this.reput_gloss(e,o)}async put_gloss(e){for(const s of e.tokens)s.is_delimiter||(s.gloss=`${this.annotator_name}(${s.txt})`)}async reput_gloss(e,s){for(const[n,o]of e.tokens.entries())s.includes(n)&&(o.gloss=`${this.annotator_name}_reannotated_\`${this.lang_from}\`_\`${this.lang_to}\``)}}const tt="||",xt="!TO_REANNOTATE",Xs="!TOKEN_TO_IGNORE";function po(t){return t.replace(/[^a-zA-Z]/g,"")}function Jc(t,e){const s=po(t),n=po(e);if(!s)return!0;const o=new Set(s),r=new Set(n),i=new Set([...o].filter(d=>r.has(d))),l=new Set([...o,...r]);return(l.size>0?i.size/l.size:0)>=.5}class qc extends wr{constructor(e){super(),this.annotator_name=e,this.glossFetcher=new Qc(!0)}async put_gloss(e){const s=e.tokens.filter(l=>!l.is_delimiter),n=s.map(l=>l.txt),o=this.chunkize(n);console.log(`Chunks: ${o}`);let r=[],i=-1;for(const l of o){const c=l-i;if(c<=0){console.warn("Warning: length <= 0"),i=l;continue}console.log(`[${i+1}:${l+1}] out of ${n.length} (len: ${c})`);const d=n.slice(i+1,l+1);let f=await this.glossFetcher.tryFetchGloss(d);r=r.concat(f),i=l,console.log(`Chunk: ${f} (len: ${f.length})`)}for(let l=0;lRR.txt),E=p.map(R=>R.gloss),k=await this.glossFetcher.tryFetchGloss(x,E);console.log(`Chunk: ${k} (len: ${k.length})`);for(let R=0;Rc.includes(d))&&o.push(l)}const r=[0];for(;;){const l=r[r.length-1];if(l+n>e.length)break;o=o.filter(f=>f>n);let c=o.filter(f=>f<=n),d;c.length===0?d=l+n:d=Math.max(...c),r.push(d)}r.shift();const i=e.length-1;return r.includes(i)||r.push(i),r}chunkizeForReannotation(e,s=16,n=4){const o=[];for(let r=0;r0){const d=o[o.length-1][1];if(re.length&&(c=e.length-1),o.push([l,c])}return o}}class Yc{constructor(e=!1){this.dummy=e}async fetchGloss(e){if(!this.dummy)throw new Error("NotImplementedError");const s=e.length;return Array.from({length:s},(n,o)=>[`dummy${o}`])}async tryFetchGloss(e){return await this.fetchGloss(e)}}class Qc extends Yc{async tryFetchGloss(e,s=null){console.log(`Trying to fetch ${e.length} glosses`);const n=M.innerRetry,o=M.outerRetry,r=Array.isArray(s);let i;r?(console.log(`Reannotating: ${s}`),i=this.makeQueryReannotation(e,s)):i=this.makeQuery(e);const l=[...this.getChat(r),{role:"user",content:i}];this.lastResText="";for(let c=0;co.json()).then(o=>{const r=o.usage.total_tokens;console.log("token usage:",r);const i=o.choices[0].message.content;this.lastResText=i;let l=this.parseRes(i);return Object.keys(l).length!=e.length&&console.log("parsed:",l),l=this.validateRes(e,l,n),l})}makeQuery(e){let s="";for(const[n,o]of e.entries())s+=`${n}: ${o}
+`;return s}makeQueryReannotation(e,s){let n="";for(const[o,[r,i]]of e.map((l,c)=>[c,[l,s[c]]]))n+=`${o}: ${r} ${tt} ${i}
+`;return n}parseRes(e){const s=e;try{if(e.includes("```"))e=e.split("```")[1];else if(e.includes("0:"))e=e.substring(e.indexOf("0:"));else throw new Error("The first line (`0: ...`) could not be found. Reformat the reply and answer again.");let n=e.split(`
+`).filter(r=>r.trim()!==""),o={};return n.forEach(r=>{const[i,l]=r.match(/^(\d+):\s*(.*)$/).slice(1,3),c=parseInt(i.trim(),10),d=l.split(tt).map(f=>f.trim()).filter(f=>f!=="");o[c]=d}),o}catch{throw console.error(s),new Error("Could not parse the output. The output should be in the codeblock (``` 0: ... ```) and additional notes are not needed.")}}validateRes(e,s,n){const o=Array.isArray(n);console.log("token_strs:",e),console.log("res:",s);for(let l=0;l=d.length)break;const[f,p]=d[l];if(!o&&l!==parseInt(f))throw new Error(`\`${f}:\` line not found.`);if(p.length<=0)throw new Error(`Empty line: ${l}.`);p.length===1&&p.push(fo);const[x,E]=p.slice(0,2);if(!o&&!Jc(c,x))throw new Error(`Expected \`${l}: ${c} ||\` but incorrectly got \`${l}: ${x} ||\`. The pair of the number and the text (${l}, ${c}) has to be exact. Rewrite including \`${l}: ${c} ||\`.`)}let r=[],i;if(o&&(console.log("reannotationGlossStrs:",n),i=n.map((l,c)=>l===xt?c:-1).filter(l=>l!==-1),console.log("reannotationIndices",i),i.length===0))return console.log("TODO: reannotation_indices == []"),Array(e.length).fill(Xs);for(let l=0;l`${d}: ${c[0]} ${tt} ${d in l?xt:c[1]}`).join(i)}
+ \`\`\`
+ `},{role:"assistant",content:`
+ \`\`\`
+ ${r.filter((c,d)=>l.includes(d)).map((c,d)=>`${d}: ${c[0]} ${tt} ${c[1]}`).join(i)}
+ \`\`\`
+ `}]}else{const l=r.length;return[{role:"system",content:`
+ Parse this corpus (Interlinear gloss).
+
+ The user will tokenize and enumerate the raw input, as:
+ \`Je suis.\`
+ to
+ \`\`\`
+ 0: Je
+ 1: suis.
+ \`\`\`
+
+
+ You are to respond with
+ \`\`\`
+ i: original_word ${tt} gloss
+ \`\`\`.
+ Here, the glosses are delimited with \`${tt}\`.
+ No line should be skipped. Otherwise it will raise an error.
+
+ For example, if the gloss should be then translation to English,
+ the response shall be:
+ \`\`\`
+ 0: Je ${tt} I
+ 1: suis. ${tt} am.
+ \`\`\`
+
+ Since the output text is to be processed by other program,
+ the structure of the output is important.
+
+ The numbers should correspond to the original token.
+ No line shall be omitted!
+ \`\`\`
+ 0: Je
+ 1: le
+ 2: sais.
+ \`\`\`
+ \`\`\`
+ 0: Je ${tt} I
+ 1: le ${tt} it
+ 2: sais. ${tt} know
+ \`\`\`
+
+ The output should only consist of the gloss block (\`\`\`...\`\`\`) and any other notes will be ignored.
+ `},{role:"user",content:`
+ e.g. \`i: "original_word ${tt} gloss\`
+ Since there are ${l} tokens in the input, ${l} lines of output is expected.
+ i.e. the last line be \`${l-1}: ...\`
+
+ \`gloss\` is:
+ ${n}
+
+ \`\`\`
+ ${r.map((c,d)=>`${d}: ${c[0]}`).join(i)}
+ \`\`\`
+ `},{role:"assistant",content:`
+ \`\`\`
+ ${r.map((c,d)=>`${d}: ${c[0]} ${tt} ${c[1]}`).join(i)}
+ \`\`\`
+ `}]}}else return n="English translation",e?s=`Reannotate the input. A series of words will be given, which form a part of sentences. Some lines will have \`${xt}\` on its right side, which is to be re-annotated. Return only lines with \`${xt}\`, with ${xt} itself replaced following the context.`:s=`
+ Parse this corpus (Interlinear gloss).
+ ${n}
+ `,[{role:"system",content:s}]}}function ho(t,e){return console.log(t),t&&t.startsWith("chatgpt_")?new qc(t,e):new wr}const Xc={props:{t:{type:Object,required:!0},index:{type:Number,required:!0}},data(){return{isSelected:!1}},computed:{is_delimiter(){return this.t.is_delimiter},should_linebreak(){return this.t.txt.includes(`
+`)},txt(){return this.t.txt},gloss(){let t=this.t.gloss;return t=="!UNKNOWN"&&(t="-"),t}},methods:{toggle(){this.isSelected=!this.isSelected,this.$emit("selectionChanged",{tIndex:this.index,isSelected:this.isSelected})}}},Zc={class:"token_ul list-group list-group-flush"},tu={class:"list-group-item token_txt"},eu={class:"list-group-item gloss"},su={key:1},nu={key:2,class:"token_wrapper"};function ou(t,e,s,n,o,r){return r.is_delimiter?r.should_linebreak?(L(),z("br",su)):(L(),z("div",nu,[g("span",null,wt(r.txt),1)])):(L(),z("div",{key:0,class:Lt(["token_wrapper","card",{"selected-token":o.isSelected}]),onClick:e[0]||(e[0]=i=>r.toggle())},[g("ul",Zc,[g("li",tu,wt(r.txt),1),g("li",eu,wt(r.gloss),1)])],2))}const ru=Nt(Xc,[["render",ou],["__scopeId","data-v-b539fc8d"]]),iu={props:{p:{type:Object,required:!0},index:{type:Number,required:!0}},components:{Token:ru},computed:{isAnnotateButtonVisible(){return!this.p.is_delimiter&&this.p.tokens&&this.p.tokens.length},shouldShowManipulatorButtons(){return M.openaiApiKey}},data(){return{selectedTokens:new Set,showPre:!1}},methods:{annotateP(){this.$emit("annotateP",this.index)},reannotateP(){this.$emit("reannotateP",this.index,Array.from(this.selectedTokens))},onSelectionChanged({tIndex:t,isSelected:e}){e?this.selectedTokens.add(t):this.selectedTokens.delete(t)}}},lu={class:"paragraph_wrapper"},cu={key:0,class:"paragraph_annotate_buttons_span"},uu={key:1};function au(t,e,s,n,o,r){const i=Dt("Token");return L(),z("div",lu,[r.isAnnotateButtonVisible&&r.shouldShowManipulatorButtons?(L(),z("span",cu,[g("button",{class:"corpus_button btn btn-light",onClick:e[0]||(e[0]=l=>r.annotateP(s.index))}," Annotate "),g("button",{class:"corpus_button btn btn-light",onClick:e[1]||(e[1]=l=>r.reannotateP(s.index))}," Reannotate "),e[2]||(e[2]=g("br",null,null,-1))])):_e("",!0),o.showPre?(L(),z("pre",uu,wt(JSON.stringify(s.p)),1)):_e("",!0),(L(!0),z(Z,null,ds(s.p.tokens,(l,c)=>(L(),bn(i,{key:c,t:l,index:c,onSelectionChanged:r.onSelectionChanged},null,8,["t","index","onSelectionChanged"]))),128))])}const fu=Nt(iu,[["render",au],["__scopeId","data-v-66628849"]]),du={props:{corpusId:{required:!0}},components:{Paragraph:fu},data(){return{sharedState:M,corpusStorage:cs,corpus:null,cursor:null,showMetadata:!1}},computed:{pseudoState(){if(!this.corpus.paragraphs||this.corpus.paragraphs.length<=0)return"PLAIN";const e=this.corpus.paragraphs[0];if(!e.tokens||e.tokens.length<=0)return"DIVIDED";for(const s of e.tokens)if(!s.is_delimiter&&s.gloss)return"ANNOTATED";return"PARSED"},divideButtonClass(){const t=this.pseudoState=="PLAIN";return{"btn-primary":t,"btn-light":!t}},parseButtonClass(){const t=this.pseudoState=="DIVIDED";return{"btn-primary":t,"btn-light":!t}},annotateButtonClass(){const t=this.pseudoState=="PARSED";return{"btn-primary":t,"btn-light":!t}},glossColor(){return M.glossColor},glossSize(){return M.glossSize+"%"},txtSize(){return M.txtSize+"%"}},methods:{closeCorpus(){M.currentOpenCorpus=""},download(){const t=JSON.stringify(this.corpus);console.log("Downloading...");let e=document.createElement("a"),s=new Blob([t],{type:"text/plain"});e.download=this.corpus_id+".corpus.json",e.href=URL.createObjectURL(s),e.click()},async divide(t=`
+`){ao.divide_into_paragraphs(this.corpus,[t]),this.corpusStorage.update(this.corpus)},async parse(){for(const t of this.corpus.paragraphs)ao.parse_paragraph(t);this.corpusStorage.update(this.corpus)},async annotate(t=null){const e=ho(M.annotator_name),s=M.lang_from,n=M.lang_to;t&&(t.length==1&&t[0]==-1&&(t=this.corpus.paragraphs.map((o,r)=>({p:o,i:r})).filter(({p:o})=>!o.is_delimiter&&o.pstate!="ANNOTATED").map(({i:o})=>o)),console.log(t));for(const[o,r]of this.corpus.paragraphs.entries())t&&!t.includes(o)||(await e.annotate(r,s,n),this.corpusStorage.update(this.corpus))},async reannotate(t,e){const s=ho(M.annotator_name),n=M.lang_from,o=M.lang_to,r=t[0],i=this.corpus.paragraphs[r];n||(n=i.annotator_info_obj.lang_from),o||(o=i.annotator_info_obj.lang_to),await s.reannotate(i,n,o,e),this.corpusStorage.update(this.corpus)},psPrev(){let t=this.cursor-1;t>=0&&(this.cursor=t,this.scrollToTop(),cs.setCursor(this.corpusId,this.cursor))},psNext(){let t=this.cursor+1;t{const t=this.$refs.corpus;t.scrollTop=0})},toggleShowMetadata(){this.showMetadata=!this.showMetadata},onAnnotateP(t){this.annotate([t])},onReannotateP(t,e){this.reannotate([t],e)}},watch:{},async created(){this.corpus=await this.corpusStorage.read(this.corpusId),this.cursor=this.corpusStorage.getCursor(this.corpusId)||0},beforeDestroy(){}},pu={class:"pButtonsDiv"},hu=["max"],gu={class:"corpus",ref:"corpus"},mu={key:0},_u={class:"corpus_buttons_span"};function bu(t,e,s,n,o,r){const i=Dt("Paragraph");return L(),z(Z,null,[g("h4",{onClick:e[0]||(e[0]=l=>r.closeCorpus()),ref:"header"},wt(s.corpusId),513),e[14]||(e[14]=g("hr",null,null,-1)),this.corpus?(L(),z("div",{key:0,style:ys({"--gloss-color":r.glossColor,"--gloss-size":r.glossSize,"--txt-size":r.txtSize})},[g("div",pu,[g("button",{class:"btn",onClick:e[1]||(e[1]=(...l)=>r.psPrev&&r.psPrev(...l))}," << "),ft(g("input",{"onUpdate:modelValue":e[2]||(e[2]=l=>o.cursor=l),type:"number",class:"form-control w-auto d-inline",min:0,max:o.corpus.paragraphs.length-1},null,8,hu),[[Rt,o.cursor,void 0,{number:!0}]]),g("span",null,"/"+wt(this.corpus.paragraphs.length-1),1),g("button",{class:"btn",onClick:e[3]||(e[3]=(...l)=>r.psNext&&r.psNext(...l))}," >> "),g("button",{class:"btn",onClick:e[4]||(e[4]=(...l)=>r.toggleShowMetadata&&r.toggleShowMetadata(...l)),style:{"margin-left":"auto","margin-right":"0"}},"[i]")]),g("div",gu,[o.showMetadata?(L(),z("div",mu,[e[11]||(e[11]=g("hr",null,null,-1)),g("div",_u,[g("button",{class:"corpus_button btn btn-light",onClick:e[5]||(e[5]=l=>r.download())},"Download"),g("button",{class:Lt(["corpus_button","btn",r.divideButtonClass]),onClick:e[6]||(e[6]=l=>r.divide())},"Divide",2),g("button",{class:Lt(["corpus_button","btn",r.divideButtonClass]),onClick:e[7]||(e[7]=l=>r.divide("\\n\\n"))},"Divide (for poems)",2),g("button",{class:Lt(["corpus_button","btn",r.parseButtonClass]),onClick:e[8]||(e[8]=l=>r.parse())},"Parse",2),g("button",{class:Lt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[9]||(e[9]=l=>r.annotate([-1]))}," Annotate ",2),g("button",{class:Lt(["corpus_button","btn",r.annotateButtonClass]),onClick:e[10]||(e[10]=l=>r.annotate(null))}," Annotate (Reset) ",2)]),g("ul",null,[(L(!0),z(Z,null,ds(o.corpus.metadata,(l,c)=>(L(),z("li",null,[g("strong",null,wt(c)+":",1),hs(" "+wt(l),1)]))),256))]),e[12]||(e[12]=g("hr",null,null,-1))])):_e("",!0),e[13]||(e[13]=g("br",null,null,-1)),o.corpus.paragraphs[o.cursor]?(L(),bn(i,{key:o.cursor,p:o.corpus.paragraphs[o.cursor],index:o.cursor,onAnnotateP:r.onAnnotateP,onReannotateP:r.onReannotateP},null,8,["p","index","onAnnotateP","onReannotateP"])):_e("",!0)],512)],4)):_e("",!0)],64)}const yu=Nt(du,[["render",bu],["__scopeId","data-v-d44df1cf"]]),xu={components:{Header:tc,CorpusesView:Lc,AnnotatorSelect:uc,LocalAnnotatorOptions:xc,MiscOptions:Ac,UploadView:Gc,Corpus:yu},data(){return{}},computed:{currentOpenCorpus(){return M.currentOpenCorpus}},methods:{},mounted(){},beforeDestroy(){}},wu={key:0},vu={key:1};function Cu(t,e,s,n,o,r){const i=Dt("Corpus"),l=Dt("Header"),c=Dt("AnnotatorSelect"),d=Dt("LocalAnnotatorOptions"),f=Dt("MiscOptions"),p=Dt("CorpusesView"),x=Dt("UploadView");return r.currentOpenCorpus?(L(),z("div",wu,[et(i,{corpusId:r.currentOpenCorpus},null,8,["corpusId"])])):(L(),z("div",vu,[g("header",null,[et(l)]),g("main",null,[et(c),et(d),et(f),e[0]||(e[0]=g("hr",null,null,-1)),et(p),e[1]||(e[1]=g("hr",null,null,-1)),et(x)])]))}const Su=Nt(xu,[["render",Cu],["__scopeId","data-v-91aad765"]]);ql(Su).mount("#app");