/** * @vue/shared v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function $n(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const le={},$t=[],Je=()=>{},uo=()=>!1,Os=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Ln=e=>e.startsWith("onUpdate:"),ze=Object.assign,Tn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Pi=Object.prototype.hasOwnProperty,ne=(e,t)=>Pi.call(e,t),K=Array.isArray,Lt=e=>os(e)==="[object Map]",Nt=e=>os(e)==="[object Set]",rr=e=>os(e)==="[object Date]",Z=e=>typeof e=="function",me=e=>typeof e=="string",Ye=e=>typeof e=="symbol",fe=e=>e!==null&&typeof e=="object",fo=e=>(fe(e)||Z(e))&&Z(e.then)&&Z(e.catch),ho=Object.prototype.toString,os=e=>ho.call(e),Ri=e=>os(e).slice(8,-1),po=e=>os(e)==="[object Object]",kn=e=>me(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Bt=$n(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ps=e=>{const t=Object.create(null);return(s=>t[s]||(t[s]=e(s)))},Mi=/-\w/g,vt=Ps(e=>e.replace(Mi,t=>t.slice(1).toUpperCase())),$i=/\B([A-Z])/g,Et=Ps(e=>e.replace($i,"-$1").toLowerCase()),go=Ps(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ns=Ps(e=>e?`on${go(e)}`:""),dt=(e,t)=>!Object.is(e,t),hs=(e,...t)=>{for(let s=0;s{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},bs=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let or;const Rs=()=>or||(or=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function An(e){if(K(e)){const t={};for(let s=0;s{if(s){const n=s.split(Ti);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function ht(e){let t="";if(me(e))t=e;else if(K(e))for(let s=0;sis(s,t))}const bo=e=>!!(e&&e.__v_isRef===!0),H=e=>me(e)?e:e==null?"":K(e)||fe(e)&&(e.toString===ho||!Z(e.toString))?bo(e)?H(e.value):JSON.stringify(e,_o,2):String(e),_o=(e,t)=>bo(t)?_o(e,t.value):Lt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],o)=>(s[Fs(n,o)+" =>"]=r,s),{})}:Nt(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Fs(s))}:Ye(t)?Fs(t):fe(t)&&!K(t)&&!po(t)?String(t):t,Fs=(e,t="")=>{var s;return Ye(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/** * @vue/reactivity v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let xe;class yo{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=xe,!t&&xe&&(this.index=(xe.scopes||(xe.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t0&&--this._on===0&&(xe=this.prevScope,this.prevScope=void 0)}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s0)return;if(Wt){let t=Wt;for(Wt=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Ht;){let t=Ht;for(Ht=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Eo(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Oo(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),Fn(n),ji(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function bn(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Po(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Po(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xt)||(e.globalVersion=Xt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!bn(e))))return;e.flags|=2;const t=e.dep,s=ce,n=Ue;ce=e,Ue=!0;try{Eo(e);const r=e.fn(e._value);(t.version===0||dt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{ce=s,Ue=n,Oo(e),e.flags&=-3}}function Fn(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let o=s.computed.deps;o;o=o.nextDep)Fn(o,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function ji(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ue=!0;const Ro=[];function rt(){Ro.push(Ue),Ue=!1}function ot(){const e=Ro.pop();Ue=e===void 0?!0:e}function ir(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ce;ce=void 0;try{t()}finally{ce=s}}}let Xt=0;class Ui{constructor(t,s){this.sub=t,this.dep=s,this.version=s.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class jn{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!ce||!Ue||ce===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ce)s=this.activeLink=new Ui(ce,this),ce.deps?(s.prevDep=ce.depsTail,ce.depsTail.nextDep=s,ce.depsTail=s):ce.deps=ce.depsTail=s,Mo(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=ce.depsTail,s.nextDep=void 0,ce.depsTail.nextDep=s,ce.depsTail=s,ce.deps===s&&(ce.deps=n)}return s}trigger(t){this.version++,Xt++,this.notify(t)}notify(t){Dn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{Nn()}}}function Mo(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let n=t.deps;n;n=n.nextDep)Mo(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const _s=new WeakMap,St=Symbol(""),_n=Symbol(""),es=Symbol("");function Se(e,t,s){if(Ue&&ce){let n=_s.get(e);n||_s.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new jn),r.map=n,r.key=s),r.track()}}function tt(e,t,s,n,r,o){const i=_s.get(e);if(!i){Xt++;return}const l=a=>{a&&a.trigger()};if(Dn(),t==="clear")i.forEach(l);else{const a=K(e),d=a&&kn(s);if(a&&s==="length"){const u=Number(n);i.forEach((p,w)=>{(w==="length"||w===es||!Ye(w)&&w>=u)&&l(p)})}else switch((s!==void 0||i.has(void 0))&&l(i.get(s)),d&&l(i.get(es)),t){case"add":a?d&&l(i.get("length")):(l(i.get(St)),Lt(e)&&l(i.get(_n)));break;case"delete":a||(l(i.get(St)),Lt(e)&&l(i.get(_n)));break;case"set":Lt(e)&&l(i.get(St));break}}Nn()}function Vi(e,t){const s=_s.get(e);return s&&s.get(t)}function Ot(e){const t=te(e);return t===e?t:(Se(t,"iterate",es),Fe(e)?t:t.map(_e))}function Ms(e){return Se(e=te(e),"iterate",es),e}const qi={__proto__:null,[Symbol.iterator](){return Us(this,Symbol.iterator,_e)},concat(...e){return Ot(this).concat(...e.map(t=>K(t)?Ot(t):t))},entries(){return Us(this,"entries",e=>(e[1]=_e(e[1]),e))},every(e,t){return Xe(this,"every",e,t,void 0,arguments)},filter(e,t){return Xe(this,"filter",e,t,s=>s.map(_e),arguments)},find(e,t){return Xe(this,"find",e,t,_e,arguments)},findIndex(e,t){return Xe(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Xe(this,"findLast",e,t,_e,arguments)},findLastIndex(e,t){return Xe(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Xe(this,"forEach",e,t,void 0,arguments)},includes(...e){return Vs(this,"includes",e)},indexOf(...e){return Vs(this,"indexOf",e)},join(e){return Ot(this).join(e)},lastIndexOf(...e){return Vs(this,"lastIndexOf",e)},map(e,t){return Xe(this,"map",e,t,void 0,arguments)},pop(){return jt(this,"pop")},push(...e){return jt(this,"push",e)},reduce(e,...t){return lr(this,"reduce",e,t)},reduceRight(e,...t){return lr(this,"reduceRight",e,t)},shift(){return jt(this,"shift")},some(e,t){return Xe(this,"some",e,t,void 0,arguments)},splice(...e){return jt(this,"splice",e)},toReversed(){return Ot(this).toReversed()},toSorted(e){return Ot(this).toSorted(e)},toSpliced(...e){return Ot(this).toSpliced(...e)},unshift(...e){return jt(this,"unshift",e)},values(){return Us(this,"values",_e)}};function Us(e,t,s){const n=Ms(e),r=n[t]();return n!==e&&!Fe(e)&&(r._next=r.next,r.next=()=>{const o=r._next();return o.done||(o.value=s(o.value)),o}),r}const Bi=Array.prototype;function Xe(e,t,s,n,r,o){const i=Ms(e),l=i!==e&&!Fe(e),a=i[t];if(a!==Bi[t]){const p=a.apply(e,o);return l?_e(p):p}let d=s;i!==e&&(l?d=function(p,w){return s.call(this,_e(p),w,e)}:s.length>2&&(d=function(p,w){return s.call(this,p,w,e)}));const u=a.call(i,d,n);return l&&r?r(u):u}function lr(e,t,s,n){const r=Ms(e);let o=s;return r!==e&&(Fe(e)?s.length>3&&(o=function(i,l,a){return s.call(this,i,l,a,e)}):o=function(i,l,a){return s.call(this,i,_e(l),a,e)}),r[t](o,...n)}function Vs(e,t,s){const n=te(e);Se(n,"iterate",es);const r=n[t](...s);return(r===-1||r===!1)&&qn(s[0])?(s[0]=te(s[0]),n[t](...s)):r}function jt(e,t,s=[]){rt(),Dn();const n=te(e)[t].apply(e,s);return Nn(),ot(),n}const Hi=$n("__proto__,__v_isRef,__isVue"),$o=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Ye));function Wi(e){Ye(e)||(e=String(e));const t=te(this);return Se(t,"has",e),t.hasOwnProperty(e)}class Lo{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,o=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return o;if(s==="__v_raw")return n===(r?o?sl:Io:o?Ao:ko).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const i=K(t);if(!r){let a;if(i&&(a=qi[s]))return a;if(s==="hasOwnProperty")return Wi}const l=Reflect.get(t,s,ge(t)?t:n);if((Ye(s)?$o.has(s):Hi(s))||(r||Se(t,"get",s),o))return l;if(ge(l)){const a=i&&kn(s)?l:l.value;return r&&fe(a)?wn(a):a}return fe(l)?r?wn(l):$s(l):l}}class To extends Lo{constructor(t=!1){super(!1,t)}set(t,s,n,r){let o=t[s];if(!this._isShallow){const a=bt(o);if(!Fe(n)&&!bt(n)&&(o=te(o),n=te(n)),!K(t)&&ge(o)&&!ge(n))return a||(o.value=n),!0}const i=K(t)&&kn(s)?Number(s)e,us=e=>Reflect.getPrototypeOf(e);function Zi(e,t,s){return function(...n){const r=this.__v_raw,o=te(r),i=Lt(o),l=e==="entries"||e===Symbol.iterator&&i,a=e==="keys"&&i,d=r[e](...n),u=s?yn:t?ys:_e;return!t&&Se(o,"iterate",a?_n:St),{next(){const{value:p,done:w}=d.next();return w?{value:p,done:w}:{value:l?[u(p[0]),u(p[1])]:u(p),done:w}},[Symbol.iterator](){return this}}}}function fs(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Qi(e,t){const s={get(r){const o=this.__v_raw,i=te(o),l=te(r);e||(dt(r,l)&&Se(i,"get",r),Se(i,"get",l));const{has:a}=us(i),d=t?yn:e?ys:_e;if(a.call(i,r))return d(o.get(r));if(a.call(i,l))return d(o.get(l));o!==i&&o.get(r)},get size(){const r=this.__v_raw;return!e&&Se(te(r),"iterate",St),r.size},has(r){const o=this.__v_raw,i=te(o),l=te(r);return e||(dt(r,l)&&Se(i,"has",r),Se(i,"has",l)),r===l?o.has(r):o.has(r)||o.has(l)},forEach(r,o){const i=this,l=i.__v_raw,a=te(l),d=t?yn:e?ys:_e;return!e&&Se(a,"iterate",St),l.forEach((u,p)=>r.call(o,d(u),d(p),i))}};return ze(s,e?{add:fs("add"),set:fs("set"),delete:fs("delete"),clear:fs("clear")}:{add(r){!t&&!Fe(r)&&!bt(r)&&(r=te(r));const o=te(this);return us(o).has.call(o,r)||(o.add(r),tt(o,"add",r,r)),this},set(r,o){!t&&!Fe(o)&&!bt(o)&&(o=te(o));const i=te(this),{has:l,get:a}=us(i);let d=l.call(i,r);d||(r=te(r),d=l.call(i,r));const u=a.call(i,r);return i.set(r,o),d?dt(o,u)&&tt(i,"set",r,o):tt(i,"add",r,o),this},delete(r){const o=te(this),{has:i,get:l}=us(o);let a=i.call(o,r);a||(r=te(r),a=i.call(o,r)),l&&l.call(o,r);const d=o.delete(r);return a&&tt(o,"delete",r,void 0),d},clear(){const r=te(this),o=r.size!==0,i=r.clear();return o&&tt(r,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Zi(r,e,t)}),s}function Un(e,t){const s=Qi(e,t);return(n,r,o)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(ne(s,r)&&r in n?s:n,r,o)}const Xi={get:Un(!1,!1)},el={get:Un(!1,!0)},tl={get:Un(!0,!1)};const ko=new WeakMap,Ao=new WeakMap,Io=new WeakMap,sl=new WeakMap;function nl(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function rl(e){return e.__v_skip||!Object.isExtensible(e)?0:nl(Ri(e))}function $s(e){return bt(e)?e:Vn(e,!1,Gi,Xi,ko)}function ol(e){return Vn(e,!1,Yi,el,Ao)}function wn(e){return Vn(e,!0,Ji,tl,Io)}function Vn(e,t,s,n,r){if(!fe(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=rl(e);if(o===0)return e;const i=r.get(e);if(i)return i;const l=new Proxy(e,o===2?n:s);return r.set(e,l),l}function pt(e){return bt(e)?pt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function Fe(e){return!!(e&&e.__v_isShallow)}function qn(e){return e?!!e.__v_raw:!1}function te(e){const t=e&&e.__v_raw;return t?te(t):e}function Bn(e){return!ne(e,"__v_skip")&&Object.isExtensible(e)&&mo(e,"__v_skip",!0),e}const _e=e=>fe(e)?$s(e):e,ys=e=>fe(e)?wn(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function ue(e){return il(e,!1)}function il(e,t){return ge(e)?e:new ll(e,t)}class ll{constructor(t,s){this.dep=new jn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:te(t),this._value=s?t:_e(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Fe(t)||bt(t);t=n?t:te(t),dt(t,s)&&(this._rawValue=t,this._value=n?t:_e(t),this.dep.trigger())}}function Mt(e){return ge(e)?e.value:e}const al={get:(e,t,s)=>t==="__v_raw"?e:Mt(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return ge(r)&&!ge(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function Do(e){return pt(e)?e:new Proxy(e,al)}function cl(e){const t=K(e)?new Array(e.length):{};for(const s in e)t[s]=fl(e,s);return t}class ul{constructor(t,s,n){this._object=t,this._key=s,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return Vi(te(this._object),this._key)}}function fl(e,t,s){const n=e[t];return ge(n)?n:new ul(e,t,s)}class dl{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new jn(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Xt-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&ce!==this)return Co(this,!0),!0}get value(){const t=this.dep.track();return Po(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function hl(e,t,s=!1){let n,r;return Z(e)?n=e:(n=e.get,r=e.set),new dl(n,r,s)}const ds={},ws=new WeakMap;let xt;function pl(e,t=!1,s=xt){if(s){let n=ws.get(s);n||ws.set(s,n=[]),n.push(e)}}function gl(e,t,s=le){const{immediate:n,deep:r,once:o,scheduler:i,augmentJob:l,call:a}=s,d=k=>r?k:Fe(k)||r===!1||r===0?st(k,1):st(k);let u,p,w,v,g=!1,m=!1;if(ge(e)?(p=()=>e.value,g=Fe(e)):pt(e)?(p=()=>d(e),g=!0):K(e)?(m=!0,g=e.some(k=>pt(k)||Fe(k)),p=()=>e.map(k=>{if(ge(k))return k.value;if(pt(k))return d(k);if(Z(k))return a?a(k,2):k()})):Z(e)?t?p=a?()=>a(e,2):e:p=()=>{if(w){rt();try{w()}finally{ot()}}const k=xt;xt=u;try{return a?a(e,3,[v]):e(v)}finally{xt=k}}:p=Je,t&&r){const k=p,R=r===!0?1/0:r;p=()=>st(k(),R)}const T=xo(),N=()=>{u.stop(),T&&T.active&&Tn(T.effects,u)};if(o&&t){const k=t;t=(...R)=>{k(...R),N()}}let G=m?new Array(e.length).fill(ds):ds;const j=k=>{if(!(!(u.flags&1)||!u.dirty&&!k))if(t){const R=u.run();if(r||g||(m?R.some(($,M)=>dt($,G[M])):dt(R,G))){w&&w();const $=xt;xt=u;try{const M=[R,G===ds?void 0:m&&G[0]===ds?[]:G,v];G=R,a?a(t,3,M):t(...M)}finally{xt=$}}}else u.run()};return l&&l(j),u=new So(p),u.scheduler=i?()=>i(j,!1):j,v=k=>pl(k,!1,u),w=u.onStop=()=>{const k=ws.get(u);if(k){if(a)a(k,4);else for(const R of k)R();ws.delete(u)}},t?n?j(!0):G=u.run():i?i(j.bind(null,!0),!0):u.run(),N.pause=u.pause.bind(u),N.resume=u.resume.bind(u),N.stop=N,N}function st(e,t=1/0,s){if(t<=0||!fe(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ge(e))st(e.value,t,s);else if(K(e))for(let n=0;n{st(n,t,s)});else if(po(e)){for(const n in e)st(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&st(e[n],t,s)}return e}/** * @vue/runtime-core v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/function ls(e,t,s,n){try{return n?e(...n):e()}catch(r){Ls(r,t,s)}}function Ze(e,t,s,n){if(Z(e)){const r=ls(e,t,s,n);return r&&fo(r)&&r.catch(o=>{Ls(o,t,s)}),r}if(K(e)){const r=[];for(let o=0;o>>1,r=Oe[n],o=ts(r);o=ts(s)?Oe.push(e):Oe.splice(vl(t),0,e),e.flags|=1,Fo()}}function Fo(){xs||(xs=No.then(Uo))}function bl(e){K(e)?Tt.push(...e):ct&&e.id===-1?ct.splice(Rt+1,0,e):e.flags&1||(Tt.push(e),e.flags|=1),Fo()}function ar(e,t,s=Ke+1){for(;sts(s)-ts(n));if(Tt.length=0,ct){ct.push(...t);return}for(ct=t,Rt=0;Rte.id==null?e.flags&2?-1:1/0:e.id;function Uo(e){try{for(Ke=0;Ke{n._d&&br(-1);const o=Ss(t);let i;try{i=e(...r)}finally{Ss(o),n._d&&br(1)}return i};return n._n=!0,n._c=!0,n._d=!0,n}function At(e,t){if(Ne===null)return e;const s=Is(Ne),n=e.dirs||(e.dirs=[]);for(let r=0;re.__isTeleport,xl=Symbol("_leaveCb");function Wn(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Wn(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function as(e,t){return Z(e)?ze({name:e.name},t,{setup:e}):e}function qo(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const zs=new WeakMap;function Kt(e,t,s,n,r=!1){if(K(e)){e.forEach((g,m)=>Kt(g,t&&(K(t)?t[m]:t),s,n,r));return}if(Gt(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&Kt(e,t,s,n.component.subTree);return}const o=n.shapeFlag&4?Is(n.component):n.el,i=r?null:o,{i:l,r:a}=e,d=t&&t.r,u=l.refs===le?l.refs={}:l.refs,p=l.setupState,w=te(p),v=p===le?uo:g=>ne(w,g);if(d!=null&&d!==a){if(cr(t),me(d))u[d]=null,v(d)&&(p[d]=null);else if(ge(d)){d.value=null;const g=t;g.k&&(u[g.k]=null)}}if(Z(a))ls(a,l,12,[i,u]);else{const g=me(a),m=ge(a);if(g||m){const T=()=>{if(e.f){const N=g?v(a)?p[a]:u[a]:a.value;if(r)K(N)&&Tn(N,o);else if(K(N))N.includes(o)||N.push(o);else if(g)u[a]=[o],v(a)&&(p[a]=u[a]);else{const G=[o];a.value=G,e.k&&(u[e.k]=G)}}else g?(u[a]=i,v(a)&&(p[a]=i)):m&&(a.value=i,e.k&&(u[e.k]=i))};if(i){const N=()=>{T(),zs.delete(e)};N.id=-1,zs.set(e,N),ke(N,s)}else cr(e),T()}}}function cr(e){const t=zs.get(e);t&&(t.flags|=8,zs.delete(e))}Rs().requestIdleCallback;Rs().cancelIdleCallback;const Gt=e=>!!e.type.__asyncLoader,Bo=e=>e.type.__isKeepAlive;function Sl(e,t){Ho(e,"a",t)}function zl(e,t){Ho(e,"da",t)}function Ho(e,t,s=Pe){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Ts(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Bo(r.parent.vnode)&&Cl(n,t,s,r),r=r.parent}}function Cl(e,t,s,n){const r=Ts(t,e,n,!0);Wo(()=>{Tn(n[t],r)},s)}function Ts(e,t,s=Pe,n=!1){if(s){const r=s[e]||(s[e]=[]),o=t.__weh||(t.__weh=(...i)=>{rt();const l=cs(s),a=Ze(t,s,e,i);return l(),ot(),a});return n?r.unshift(o):r.push(o),o}}const it=e=>(t,s=Pe)=>{(!ns||e==="sp")&&Ts(e,(...n)=>t(...n),s)},El=it("bm"),Kn=it("m"),Ol=it("bu"),Pl=it("u"),Rl=it("bum"),Wo=it("um"),Ml=it("sp"),$l=it("rtg"),Ll=it("rtc");function Tl(e,t=Pe){Ts("ec",e,t)}const kl=Symbol.for("v-ndc");function Ct(e,t,s,n){let r;const o=s,i=K(e);if(i||me(e)){const l=i&&pt(e);let a=!1,d=!1;l&&(a=!Fe(e),d=bt(e),e=Ms(e)),r=new Array(e.length);for(let u=0,p=e.length;ut(l,a,void 0,o));else{const l=Object.keys(e);r=new Array(l.length);for(let a=0,d=l.length;ae?gi(e)?Is(e):xn(e.parent):null,Jt=ze(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>xn(e.parent),$root:e=>xn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Go(e),$forceUpdate:e=>e.f||(e.f=()=>{Hn(e.update)}),$nextTick:e=>e.n||(e.n=kt.bind(e.proxy)),$watch:e=>na.bind(e)}),qs=(e,t)=>e!==le&&!e.__isScriptSetup&&ne(e,t),Al={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:o,accessCache:i,type:l,appContext:a}=e;let d;if(t[0]!=="$"){const v=i[t];if(v!==void 0)switch(v){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return o[t]}else{if(qs(n,t))return i[t]=1,n[t];if(r!==le&&ne(r,t))return i[t]=2,r[t];if((d=e.propsOptions[0])&&ne(d,t))return i[t]=3,o[t];if(s!==le&&ne(s,t))return i[t]=4,s[t];Sn&&(i[t]=0)}}const u=Jt[t];let p,w;if(u)return t==="$attrs"&&Se(e.attrs,"get",""),u(e);if((p=l.__cssModules)&&(p=p[t]))return p;if(s!==le&&ne(s,t))return i[t]=4,s[t];if(w=a.config.globalProperties,ne(w,t))return w[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:o}=e;return qs(r,t)?(r[t]=s,!0):n!==le&&ne(n,t)?(n[t]=s,!0):ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,propsOptions:o,type:i}},l){let a,d;return!!(s[l]||e!==le&&l[0]!=="$"&&ne(e,l)||qs(t,l)||(a=o[0])&&ne(a,l)||ne(n,l)||ne(Jt,l)||ne(r.config.globalProperties,l)||(d=i.__cssModules)&&d[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:ne(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function ur(e){return K(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Sn=!0;function Il(e){const t=Go(e),s=e.proxy,n=e.ctx;Sn=!1,t.beforeCreate&&fr(t.beforeCreate,e,"bc");const{data:r,computed:o,methods:i,watch:l,provide:a,inject:d,created:u,beforeMount:p,mounted:w,beforeUpdate:v,updated:g,activated:m,deactivated:T,beforeDestroy:N,beforeUnmount:G,destroyed:j,unmounted:k,render:R,renderTracked:$,renderTriggered:M,errorCaptured:U,serverPrefetch:F,expose:ie,inheritAttrs:pe,components:Ce,directives:$e,filters:Qe}=t;if(d&&Dl(d,n,null),i)for(const Y in i){const Q=i[Y];Z(Q)&&(n[Y]=Q.bind(s))}if(r){const Y=r.call(s,s);fe(Y)&&(e.data=$s(Y))}if(Sn=!0,o)for(const Y in o){const Q=o[Y],C=Z(Q)?Q.bind(s,s):Z(Q.get)?Q.get.bind(s,s):Je,x=!Z(Q)&&Z(Q.set)?Q.set.bind(s):Je,L=je({get:C,set:x});Object.defineProperty(n,Y,{enumerable:!0,configurable:!0,get:()=>L.value,set:W=>L.value=W})}if(l)for(const Y in l)Ko(l[Y],n,s,Y);if(a){const Y=Z(a)?a.call(s):a;Reflect.ownKeys(Y).forEach(Q=>{ql(Q,Y[Q])})}u&&fr(u,e,"c");function oe(Y,Q){K(Q)?Q.forEach(C=>Y(C.bind(s))):Q&&Y(Q.bind(s))}if(oe(El,p),oe(Kn,w),oe(Ol,v),oe(Pl,g),oe(Sl,m),oe(zl,T),oe(Tl,U),oe(Ll,$),oe($l,M),oe(Rl,G),oe(Wo,k),oe(Ml,F),K(ie))if(ie.length){const Y=e.exposed||(e.exposed={});ie.forEach(Q=>{Object.defineProperty(Y,Q,{get:()=>s[Q],set:C=>s[Q]=C,enumerable:!0})})}else e.exposed||(e.exposed={});R&&e.render===Je&&(e.render=R),pe!=null&&(e.inheritAttrs=pe),Ce&&(e.components=Ce),$e&&(e.directives=$e),F&&qo(e)}function Dl(e,t,s=Je){K(e)&&(e=zn(e));for(const n in e){const r=e[n];let o;fe(r)?"default"in r?o=Yt(r.from||n,r.default,!0):o=Yt(r.from||n):o=Yt(r),ge(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:i=>o.value=i}):t[n]=o}}function fr(e,t,s){Ze(K(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Ko(e,t,s,n){let r=n.includes(".")?li(s,n):()=>s[n];if(me(e)){const o=t[e];Z(o)&>(r,o)}else if(Z(e))gt(r,e.bind(s));else if(fe(e))if(K(e))e.forEach(o=>Ko(o,t,s,n));else{const o=Z(e.handler)?e.handler.bind(s):t[e.handler];Z(o)&>(r,o,e)}}function Go(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:o,config:{optionMergeStrategies:i}}=e.appContext,l=o.get(t);let a;return l?a=l:!r.length&&!s&&!n?a=t:(a={},r.length&&r.forEach(d=>Cs(a,d,i,!0)),Cs(a,t,i)),fe(t)&&o.set(t,a),a}function Cs(e,t,s,n=!1){const{mixins:r,extends:o}=t;o&&Cs(e,o,s,!0),r&&r.forEach(i=>Cs(e,i,s,!0));for(const i in t)if(!(n&&i==="expose")){const l=Nl[i]||s&&s[i];e[i]=l?l(e[i],t[i]):t[i]}return e}const Nl={data:dr,props:hr,emits:hr,methods:qt,computed:qt,beforeCreate:Ee,created:Ee,beforeMount:Ee,mounted:Ee,beforeUpdate:Ee,updated:Ee,beforeDestroy:Ee,beforeUnmount:Ee,destroyed:Ee,unmounted:Ee,activated:Ee,deactivated:Ee,errorCaptured:Ee,serverPrefetch:Ee,components:qt,directives:qt,watch:jl,provide:dr,inject:Fl};function dr(e,t){return t?e?function(){return ze(Z(e)?e.call(this,this):e,Z(t)?t.call(this,this):t)}:t:e}function Fl(e,t){return qt(zn(e),zn(t))}function zn(e){if(K(e)){const t={};for(let s=0;s1)return s&&Z(t)?t.call(n&&n.proxy):t}}function Bl(){return!!(pi()||zt)}const Yo={},Zo=()=>Object.create(Yo),Qo=e=>Object.getPrototypeOf(e)===Yo;function Hl(e,t,s,n=!1){const r={},o=Zo();e.propsDefaults=Object.create(null),Xo(e,t,r,o);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);s?e.props=n?r:ol(r):e.type.props?e.props=r:e.props=o,e.attrs=o}function Wl(e,t,s,n){const{props:r,attrs:o,vnode:{patchFlag:i}}=e,l=te(r),[a]=e.propsOptions;let d=!1;if((n||i>0)&&!(i&16)){if(i&8){const u=e.vnode.dynamicProps;for(let p=0;p{a=!0;const[w,v]=ei(p,t,!0);ze(i,w),v&&l.push(...v)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!a)return fe(e)&&n.set(e,$t),$t;if(K(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",Jn=e=>K(e)?e.map(Ge):[Ge(e)],Gl=(e,t,s)=>{if(t._n)return t;const n=_l((...r)=>Jn(t(...r)),s);return n._c=!1,n},ti=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Gn(r))continue;const o=e[r];if(Z(o))t[r]=Gl(r,o,n);else if(o!=null){const i=Jn(o);t[r]=()=>i}}},si=(e,t)=>{const s=Jn(t);e.slots.default=()=>s},ni=(e,t,s)=>{for(const n in t)(s||!Gn(n))&&(e[n]=t[n])},Jl=(e,t,s)=>{const n=e.slots=Zo();if(e.vnode.shapeFlag&32){const r=t._;r?(ni(n,t,s),s&&mo(n,"_",r,!0)):ti(t,n)}else t&&si(e,t)},Yl=(e,t,s)=>{const{vnode:n,slots:r}=e;let o=!0,i=le;if(n.shapeFlag&32){const l=t._;l?s&&l===1?o=!1:ni(r,t,s):(o=!t.$stable,ti(t,r)),i=t}else t&&(si(e,t),i={default:1});if(o)for(const l in r)!Gn(l)&&i[l]==null&&delete r[l]},ke=fa;function Zl(e){return Ql(e)}function Ql(e,t){const s=Rs();s.__VUE__=!0;const{insert:n,remove:r,patchProp:o,createElement:i,createText:l,createComment:a,setText:d,setElementText:u,parentNode:p,nextSibling:w,setScopeId:v=Je,insertStaticContent:g}=e,m=(c,h,y,E=null,b=null,_=null,P=void 0,O=null,z=!!h.dynamicChildren)=>{if(c===h)return;c&&!Ut(c,h)&&(E=ve(c),W(c,b,_,!0),c=null),h.patchFlag===-2&&(z=!1,h.dynamicChildren=null);const{type:S,ref:q,shapeFlag:I}=h;switch(S){case As:T(c,h,y,E);break;case _t:N(c,h,y,E);break;case ps:c==null&&G(h,y,E,P);break;case ye:Ce(c,h,y,E,b,_,P,O,z);break;default:I&1?R(c,h,y,E,b,_,P,O,z):I&6?$e(c,h,y,E,b,_,P,O,z):(I&64||I&128)&&S.process(c,h,y,E,b,_,P,O,z,Le)}q!=null&&b?Kt(q,c&&c.ref,_,h||c,!h):q==null&&c&&c.ref!=null&&Kt(c.ref,null,_,c,!0)},T=(c,h,y,E)=>{if(c==null)n(h.el=l(h.children),y,E);else{const b=h.el=c.el;h.children!==c.children&&d(b,h.children)}},N=(c,h,y,E)=>{c==null?n(h.el=a(h.children||""),y,E):h.el=c.el},G=(c,h,y,E)=>{[c.el,c.anchor]=g(c.children,h,y,E,c.el,c.anchor)},j=({el:c,anchor:h},y,E)=>{let b;for(;c&&c!==h;)b=w(c),n(c,y,E),c=b;n(h,y,E)},k=({el:c,anchor:h})=>{let y;for(;c&&c!==h;)y=w(c),r(c),c=y;r(h)},R=(c,h,y,E,b,_,P,O,z)=>{h.type==="svg"?P="svg":h.type==="math"&&(P="mathml"),c==null?$(h,y,E,b,_,P,O,z):F(c,h,b,_,P,O,z)},$=(c,h,y,E,b,_,P,O)=>{let z,S;const{props:q,shapeFlag:I,transition:B,dirs:J}=c;if(z=c.el=i(c.type,_,q&&q.is,q),I&8?u(z,c.children):I&16&&U(c.children,z,null,E,b,Bs(c,_),P,O),J&&yt(c,null,E,"created"),M(z,c,c.scopeId,P,E),q){for(const ae in q)ae!=="value"&&!Bt(ae)&&o(z,ae,null,q[ae],_,E);"value"in q&&o(z,"value",null,q.value,_),(S=q.onVnodeBeforeMount)&&We(S,E,c)}J&&yt(c,null,E,"beforeMount");const X=Xl(b,B);X&&B.beforeEnter(z),n(z,h,y),((S=q&&q.onVnodeMounted)||X||J)&&ke(()=>{S&&We(S,E,c),X&&B.enter(z),J&&yt(c,null,E,"mounted")},b)},M=(c,h,y,E,b)=>{if(y&&v(c,y),E)for(let _=0;_{for(let S=z;S{const O=h.el=c.el;let{patchFlag:z,dynamicChildren:S,dirs:q}=h;z|=c.patchFlag&16;const I=c.props||le,B=h.props||le;let J;if(y&&wt(y,!1),(J=B.onVnodeBeforeUpdate)&&We(J,y,h,c),q&&yt(h,c,y,"beforeUpdate"),y&&wt(y,!0),(I.innerHTML&&B.innerHTML==null||I.textContent&&B.textContent==null)&&u(O,""),S?ie(c.dynamicChildren,S,O,y,E,Bs(h,b),_):P||Q(c,h,O,null,y,E,Bs(h,b),_,!1),z>0){if(z&16)pe(O,I,B,y,b);else if(z&2&&I.class!==B.class&&o(O,"class",null,B.class,b),z&4&&o(O,"style",I.style,B.style,b),z&8){const X=h.dynamicProps;for(let ae=0;ae{J&&We(J,y,h,c),q&&yt(h,c,y,"updated")},E)},ie=(c,h,y,E,b,_,P)=>{for(let O=0;O{if(h!==y){if(h!==le)for(const _ in h)!Bt(_)&&!(_ in y)&&o(c,_,h[_],null,b,E);for(const _ in y){if(Bt(_))continue;const P=y[_],O=h[_];P!==O&&_!=="value"&&o(c,_,O,P,b,E)}"value"in y&&o(c,"value",h.value,y.value,b)}},Ce=(c,h,y,E,b,_,P,O,z)=>{const S=h.el=c?c.el:l(""),q=h.anchor=c?c.anchor:l("");let{patchFlag:I,dynamicChildren:B,slotScopeIds:J}=h;J&&(O=O?O.concat(J):J),c==null?(n(S,y,E),n(q,y,E),U(h.children||[],y,q,b,_,P,O,z)):I>0&&I&64&&B&&c.dynamicChildren?(ie(c.dynamicChildren,B,y,b,_,P,O),(h.key!=null||b&&h===b.subTree)&&ri(c,h,!0)):Q(c,h,y,q,b,_,P,O,z)},$e=(c,h,y,E,b,_,P,O,z)=>{h.slotScopeIds=O,c==null?h.shapeFlag&512?b.ctx.activate(h,y,E,P,z):Qe(h,y,E,b,_,P,z):we(c,h,z)},Qe=(c,h,y,E,b,_,P)=>{const O=c.component=_a(c,E,b);if(Bo(c)&&(O.ctx.renderer=Le),ya(O,!1,P),O.asyncDep){if(b&&b.registerDep(O,oe,P),!c.el){const z=O.subTree=De(_t);N(null,z,h,y),c.placeholder=z.el}}else oe(O,c,h,y,b,_,P)},we=(c,h,y)=>{const E=h.component=c.component;if(ca(c,h,y))if(E.asyncDep&&!E.asyncResolved){Y(E,h,y);return}else E.next=h,E.update();else h.el=c.el,E.vnode=h},oe=(c,h,y,E,b,_,P)=>{const O=()=>{if(c.isMounted){let{next:I,bu:B,u:J,parent:X,vnode:ae}=c;{const Be=oi(c);if(Be){I&&(I.el=ae.el,Y(c,I,P)),Be.asyncDep.then(()=>{c.isUnmounted||O()});return}}let re=I,Re;wt(c,!1),I?(I.el=ae.el,Y(c,I,P)):I=ae,B&&hs(B),(Re=I.props&&I.props.onVnodeBeforeUpdate)&&We(Re,X,I,ae),wt(c,!0);const Me=mr(c),qe=c.subTree;c.subTree=Me,m(qe,Me,p(qe.el),ve(qe),c,b,_),I.el=Me.el,re===null&&ua(c,Me.el),J&&ke(J,b),(Re=I.props&&I.props.onVnodeUpdated)&&ke(()=>We(Re,X,I,ae),b)}else{let I;const{el:B,props:J}=h,{bm:X,m:ae,parent:re,root:Re,type:Me}=c,qe=Gt(h);wt(c,!1),X&&hs(X),!qe&&(I=J&&J.onVnodeBeforeMount)&&We(I,re,h),wt(c,!0);{Re.ce&&Re.ce._def.shadowRoot!==!1&&Re.ce._injectChildStyle(Me);const Be=c.subTree=mr(c);m(null,Be,y,E,c,b,_),h.el=Be.el}if(ae&&ke(ae,b),!qe&&(I=J&&J.onVnodeMounted)){const Be=h;ke(()=>We(I,re,Be),b)}(h.shapeFlag&256||re&&Gt(re.vnode)&&re.vnode.shapeFlag&256)&&c.a&&ke(c.a,b),c.isMounted=!0,h=y=E=null}};c.scope.on();const z=c.effect=new So(O);c.scope.off();const S=c.update=z.run.bind(z),q=c.job=z.runIfDirty.bind(z);q.i=c,q.id=c.uid,z.scheduler=()=>Hn(q),wt(c,!0),S()},Y=(c,h,y)=>{h.component=c;const E=c.vnode.props;c.vnode=h,c.next=null,Wl(c,h.props,E,y),Yl(c,h.children,y),rt(),ar(c),ot()},Q=(c,h,y,E,b,_,P,O,z=!1)=>{const S=c&&c.children,q=c?c.shapeFlag:0,I=h.children,{patchFlag:B,shapeFlag:J}=h;if(B>0){if(B&128){x(S,I,y,E,b,_,P,O,z);return}else if(B&256){C(S,I,y,E,b,_,P,O,z);return}}J&8?(q&16&&de(S,b,_),I!==S&&u(y,I)):q&16?J&16?x(S,I,y,E,b,_,P,O,z):de(S,b,_,!0):(q&8&&u(y,""),J&16&&U(I,y,E,b,_,P,O,z))},C=(c,h,y,E,b,_,P,O,z)=>{c=c||$t,h=h||$t;const S=c.length,q=h.length,I=Math.min(S,q);let B;for(B=0;Bq?de(c,b,_,!0,!1,I):U(h,y,E,b,_,P,O,z,I)},x=(c,h,y,E,b,_,P,O,z)=>{let S=0;const q=h.length;let I=c.length-1,B=q-1;for(;S<=I&&S<=B;){const J=c[S],X=h[S]=z?ut(h[S]):Ge(h[S]);if(Ut(J,X))m(J,X,y,null,b,_,P,O,z);else break;S++}for(;S<=I&&S<=B;){const J=c[I],X=h[B]=z?ut(h[B]):Ge(h[B]);if(Ut(J,X))m(J,X,y,null,b,_,P,O,z);else break;I--,B--}if(S>I){if(S<=B){const J=B+1,X=JB)for(;S<=I;)W(c[S],b,_,!0),S++;else{const J=S,X=S,ae=new Map;for(S=X;S<=B;S++){const Te=h[S]=z?ut(h[S]):Ge(h[S]);Te.key!=null&&ae.set(Te.key,S)}let re,Re=0;const Me=B-X+1;let qe=!1,Be=0;const Ft=new Array(Me);for(S=0;S=Me){W(Te,b,_,!0);continue}let He;if(Te.key!=null)He=ae.get(Te.key);else for(re=X;re<=B;re++)if(Ft[re-X]===0&&Ut(Te,h[re])){He=re;break}He===void 0?W(Te,b,_,!0):(Ft[He-X]=S+1,He>=Be?Be=He:qe=!0,m(Te,h[He],y,null,b,_,P,O,z),Re++)}const tr=qe?ea(Ft):$t;for(re=tr.length-1,S=Me-1;S>=0;S--){const Te=X+S,He=h[Te],sr=h[Te+1],nr=Te+1{const{el:_,type:P,transition:O,children:z,shapeFlag:S}=c;if(S&6){L(c.component.subTree,h,y,E);return}if(S&128){c.suspense.move(h,y,E);return}if(S&64){P.move(c,h,y,Le);return}if(P===ye){n(_,h,y);for(let I=0;IO.enter(_),b);else{const{leave:I,delayLeave:B,afterLeave:J}=O,X=()=>{c.ctx.isUnmounted?r(_):n(_,h,y)},ae=()=>{_._isLeaving&&_[xl](!0),I(_,()=>{X(),J&&J()})};B?B(_,X,ae):ae()}else n(_,h,y)},W=(c,h,y,E=!1,b=!1)=>{const{type:_,props:P,ref:O,children:z,dynamicChildren:S,shapeFlag:q,patchFlag:I,dirs:B,cacheIndex:J}=c;if(I===-2&&(b=!1),O!=null&&(rt(),Kt(O,null,y,c,!0),ot()),J!=null&&(h.renderCache[J]=void 0),q&256){h.ctx.deactivate(c);return}const X=q&1&&B,ae=!Gt(c);let re;if(ae&&(re=P&&P.onVnodeBeforeUnmount)&&We(re,h,c),q&6)be(c.component,y,E);else{if(q&128){c.suspense.unmount(y,E);return}X&&yt(c,null,h,"beforeUnmount"),q&64?c.type.remove(c,h,y,Le,E):S&&!S.hasOnce&&(_!==ye||I>0&&I&64)?de(S,h,y,!1,!0):(_===ye&&I&384||!b&&q&16)&&de(z,h,y),E&&V(c)}(ae&&(re=P&&P.onVnodeUnmounted)||X)&&ke(()=>{re&&We(re,h,c),X&&yt(c,null,h,"unmounted")},y)},V=c=>{const{type:h,el:y,anchor:E,transition:b}=c;if(h===ye){ee(y,E);return}if(h===ps){k(c);return}const _=()=>{r(y),b&&!b.persisted&&b.afterLeave&&b.afterLeave()};if(c.shapeFlag&1&&b&&!b.persisted){const{leave:P,delayLeave:O}=b,z=()=>P(y,_);O?O(c.el,_,z):z()}else _()},ee=(c,h)=>{let y;for(;c!==h;)y=w(c),r(c),c=y;r(h)},be=(c,h,y)=>{const{bum:E,scope:b,job:_,subTree:P,um:O,m:z,a:S}=c;gr(z),gr(S),E&&hs(E),b.stop(),_&&(_.flags|=8,W(P,c,h,y)),O&&ke(O,h),ke(()=>{c.isUnmounted=!0},h)},de=(c,h,y,E=!1,b=!1,_=0)=>{for(let P=_;P{if(c.shapeFlag&6)return ve(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const h=w(c.anchor||c.el),y=h&&h[yl];return y?w(y):h};let he=!1;const lt=(c,h,y)=>{c==null?h._vnode&&W(h._vnode,null,null,!0):m(h._vnode||null,c,h,null,null,null,y),h._vnode=c,he||(he=!0,ar(),jo(),he=!1)},Le={p:m,um:W,m:L,r:V,mt:Qe,mc:U,pc:Q,pbc:ie,n:ve,o:e};return{render:lt,hydrate:void 0,createApp:Vl(lt)}}function Bs({type:e,props:t},s){return s==="svg"&&e==="foreignObject"||s==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:s}function wt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Xl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function ri(e,t,s=!1){const n=e.children,r=t.children;if(K(n)&&K(r))for(let o=0;o>1,e[s[l]]0&&(t[n]=s[o-1]),s[o]=n)}}for(o=s.length,i=s[o-1];o-- >0;)s[o]=i,i=t[i];return s}function oi(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:oi(t)}function gr(e){if(e)for(let t=0;tYt(ta);function gt(e,t,s){return ii(e,t,s)}function ii(e,t,s=le){const{immediate:n,deep:r,flush:o,once:i}=s,l=ze({},s),a=t&&n||!t&&o!=="post";let d;if(ns){if(o==="sync"){const v=sa();d=v.__watcherHandles||(v.__watcherHandles=[])}else if(!a){const v=()=>{};return v.stop=Je,v.resume=Je,v.pause=Je,v}}const u=Pe;l.call=(v,g,m)=>Ze(v,u,g,m);let p=!1;o==="post"?l.scheduler=v=>{ke(v,u&&u.suspense)}:o!=="sync"&&(p=!0,l.scheduler=(v,g)=>{g?v():Hn(v)}),l.augmentJob=v=>{t&&(v.flags|=4),p&&(v.flags|=2,u&&(v.id=u.uid,v.i=u))};const w=gl(e,t,l);return ns&&(d?d.push(w):a&&w()),w}function na(e,t,s){const n=this.proxy,r=me(e)?e.includes(".")?li(n,e):()=>n[e]:e.bind(n,n);let o;Z(t)?o=t:(o=t.handler,s=t);const i=cs(this),l=ii(r,o.bind(n),s);return i(),l}function li(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;rt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${vt(t)}Modifiers`]||e[`${Et(t)}Modifiers`];function oa(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||le;let r=s;const o=t.startsWith("update:"),i=o&&ra(n,t.slice(7));i&&(i.trim&&(r=s.map(u=>me(u)?u.trim():u)),i.number&&(r=s.map(bs)));let l,a=n[l=Ns(t)]||n[l=Ns(vt(t))];!a&&o&&(a=n[l=Ns(Et(t))]),a&&Ze(a,e,6,r);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,Ze(d,e,6,r)}}const ia=new WeakMap;function ai(e,t,s=!1){const n=s?ia:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const o=e.emits;let i={},l=!1;if(!Z(e)){const a=d=>{const u=ai(d,t,!0);u&&(l=!0,ze(i,u))};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}return!o&&!l?(fe(e)&&n.set(e,null),null):(K(o)?o.forEach(a=>i[a]=null):ze(i,o),fe(e)&&n.set(e,i),i)}function ks(e,t){return!e||!Os(t)?!1:(t=t.slice(2).replace(/Once$/,""),ne(e,t[0].toLowerCase()+t.slice(1))||ne(e,Et(t))||ne(e,t))}function mr(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[o],slots:i,attrs:l,emit:a,render:d,renderCache:u,props:p,data:w,setupState:v,ctx:g,inheritAttrs:m}=e,T=Ss(e);let N,G;try{if(s.shapeFlag&4){const k=r||n,R=k;N=Ge(d.call(R,k,u,p,v,w,g)),G=l}else{const k=t;N=Ge(k.length>1?k(p,{attrs:l,slots:i,emit:a}):k(p,null)),G=t.props?l:la(l)}}catch(k){Zt.length=0,Ls(k,e,1),N=De(_t)}let j=N;if(G&&m!==!1){const k=Object.keys(G),{shapeFlag:R}=j;k.length&&R&7&&(o&&k.some(Ln)&&(G=aa(G,o)),j=It(j,G,!1,!0))}return s.dirs&&(j=It(j,null,!1,!0),j.dirs=j.dirs?j.dirs.concat(s.dirs):s.dirs),s.transition&&Wn(j,s.transition),N=j,Ss(T),N}const la=e=>{let t;for(const s in e)(s==="class"||s==="style"||Os(s))&&((t||(t={}))[s]=e[s]);return t},aa=(e,t)=>{const s={};for(const n in e)(!Ln(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function ca(e,t,s){const{props:n,children:r,component:o}=e,{props:i,children:l,patchFlag:a}=t,d=o.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&a>=0){if(a&1024)return!0;if(a&16)return n?vr(n,i,d):!!i;if(a&8){const u=t.dynamicProps;for(let p=0;pe.__isSuspense;function fa(e,t){t&&t.pendingBranch?K(e)?t.effects.push(...e):t.effects.push(e):bl(e)}const ye=Symbol.for("v-fgt"),As=Symbol.for("v-txt"),_t=Symbol.for("v-cmt"),ps=Symbol.for("v-stc"),Zt=[];let Ie=null;function A(e=!1){Zt.push(Ie=e?null:[])}function da(){Zt.pop(),Ie=Zt[Zt.length-1]||null}let ss=1;function br(e,t=!1){ss+=e,e<0&&Ie&&t&&(Ie.hasOnce=!0)}function ui(e){return e.dynamicChildren=ss>0?Ie||$t:null,da(),ss>0&&Ie&&Ie.push(e),e}function D(e,t,s,n,r,o){return ui(f(e,t,s,n,r,o,!0))}function fi(e,t,s,n,r){return ui(De(e,t,s,n,r,!0))}function di(e){return e?e.__v_isVNode===!0:!1}function Ut(e,t){return e.type===t.type&&e.key===t.key}const hi=({key:e})=>e??null,gs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?me(e)||ge(e)||Z(e)?{i:Ne,r:e,k:t,f:!!s}:e:null);function f(e,t=null,s=null,n=0,r=null,o=e===ye?0:1,i=!1,l=!1){const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&hi(t),ref:t&&gs(t),scopeId:Vo,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:Ne};return l?(Yn(a,s),o&128&&e.normalize(a)):s&&(a.shapeFlag|=me(s)?8:16),ss>0&&!i&&Ie&&(a.patchFlag>0||o&6)&&a.patchFlag!==32&&Ie.push(a),a}const De=ha;function ha(e,t=null,s=null,n=0,r=null,o=!1){if((!e||e===kl)&&(e=_t),di(e)){const l=It(e,t,!0);return s&&Yn(l,s),ss>0&&!o&&Ie&&(l.shapeFlag&6?Ie[Ie.indexOf(e)]=l:Ie.push(l)),l.patchFlag=-2,l}if(za(e)&&(e=e.__vccOpts),t){t=pa(t);let{class:l,style:a}=t;l&&!me(l)&&(t.class=ht(l)),fe(a)&&(qn(a)&&!K(a)&&(a=ze({},a)),t.style=An(a))}const i=me(e)?1:ci(e)?128:wl(e)?64:fe(e)?4:Z(e)?2:0;return f(e,t,s,n,r,i,o,!0)}function pa(e){return e?qn(e)||Qo(e)?ze({},e):e:null}function It(e,t,s=!1,n=!1){const{props:r,ref:o,patchFlag:i,children:l,transition:a}=e,d=t?ma(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&hi(d),ref:t&&t.ref?s&&o?K(o)?o.concat(gs(t)):[o,gs(t)]:gs(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:l,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ye?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:a,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&It(e.ssContent),ssFallback:e.ssFallback&&It(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return a&&n&&Wn(u,a.clone(u)),u}function Ae(e=" ",t=0){return De(As,null,e,t)}function ga(e,t){const s=De(ps,null,e);return s.staticCount=t,s}function se(e="",t=!1){return t?(A(),fi(_t,null,e)):De(_t,null,e)}function Ge(e){return e==null||typeof e=="boolean"?De(_t):K(e)?De(ye,null,e.slice()):di(e)?ut(e):De(As,null,String(e))}function ut(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:It(e)}function Yn(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(K(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Yn(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Qo(t)?t._ctx=Ne:r===3&&Ne&&(Ne.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Z(t)?(t={default:t,_ctx:Ne},s=32):(t=String(t),n&64?(s=16,t=[Ae(t)]):s=8);e.children=t,e.shapeFlag|=s}function ma(...e){const t={};for(let s=0;sPe||Ne;let Es,En;{const e=Rs(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),o=>{r.length>1?r.forEach(i=>i(o)):r[0](o)}};Es=t("__VUE_INSTANCE_SETTERS__",s=>Pe=s),En=t("__VUE_SSR_SETTERS__",s=>ns=s)}const cs=e=>{const t=Pe;return Es(e),e.scope.on(),()=>{e.scope.off(),Es(t)}},_r=()=>{Pe&&Pe.scope.off(),Es(null)};function gi(e){return e.vnode.shapeFlag&4}let ns=!1;function ya(e,t=!1,s=!1){t&&En(t);const{props:n,children:r}=e.vnode,o=gi(e);Hl(e,n,o,t),Jl(e,r,s||t);const i=o?wa(e,t):void 0;return t&&En(!1),i}function wa(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Al);const{setup:n}=s;if(n){rt();const r=e.setupContext=n.length>1?Sa(e):null,o=cs(e),i=ls(n,e,0,[e.props,r]),l=fo(i);if(ot(),o(),(l||e.sp)&&!Gt(e)&&qo(e),l){if(i.then(_r,_r),t)return i.then(a=>{yr(e,a)}).catch(a=>{Ls(a,e,0)});e.asyncDep=i}else yr(e,i)}else mi(e)}function yr(e,t,s){Z(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:fe(t)&&(e.setupState=Do(t)),mi(e)}function mi(e,t,s){const n=e.type;e.render||(e.render=n.render||Je);{const r=cs(e);rt();try{Il(e)}finally{ot(),r()}}}const xa={get(e,t){return Se(e,"get",""),e[t]}};function Sa(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,xa),slots:e.slots,emit:e.emit,expose:t}}function Is(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Do(Bn(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Jt)return Jt[s](e)},has(t,s){return s in t||s in Jt}})):e.proxy}function za(e){return Z(e)&&"__vccOpts"in e}const je=(e,t)=>hl(e,t,ns),Ca="3.5.22";/** * @vue/runtime-dom v3.5.22 * (c) 2018-present Yuxi (Evan) You and Vue contributors * @license MIT **/let On;const wr=typeof window<"u"&&window.trustedTypes;if(wr)try{On=wr.createPolicy("vue",{createHTML:e=>e})}catch{}const vi=On?e=>On.createHTML(e):e=>e,Ea="http://www.w3.org/2000/svg",Oa="http://www.w3.org/1998/Math/MathML",et=typeof document<"u"?document:null,xr=et&&et.createElement("template"),Pa={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?et.createElementNS(Ea,e):t==="mathml"?et.createElementNS(Oa,e):s?et.createElement(e,{is:s}):et.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>et.createTextNode(e),createComment:e=>et.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>et.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,o){const i=s?s.previousSibling:t.lastChild;if(r&&(r===o||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===o||!(r=r.nextSibling)););else{xr.innerHTML=vi(n==="svg"?`${e}`:n==="mathml"?`${e}`:e);const l=xr.content;if(n==="svg"||n==="mathml"){const a=l.firstChild;for(;a.firstChild;)l.appendChild(a.firstChild);l.removeChild(a)}t.insertBefore(l,s)}return[i?i.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Ra=Symbol("_vtc");function Ma(e,t,s){const n=e[Ra];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const Sr=Symbol("_vod"),$a=Symbol("_vsh"),La=Symbol(""),Ta=/(?:^|;)\s*display\s*:/;function ka(e,t,s){const n=e.style,r=me(s);let o=!1;if(s&&!r){if(t)if(me(t))for(const i of t.split(";")){const l=i.slice(0,i.indexOf(":")).trim();s[l]==null&&ms(n,l,"")}else for(const i in t)s[i]==null&&ms(n,i,"");for(const i in s)i==="display"&&(o=!0),ms(n,i,s[i])}else if(r){if(t!==s){const i=n[La];i&&(s+=";"+i),n.cssText=s,o=Ta.test(s)}}else t&&e.removeAttribute("style");Sr in e&&(e[Sr]=o?n.display:"",e[$a]&&(n.display="none"))}const zr=/\s*!important$/;function ms(e,t,s){if(K(s))s.forEach(n=>ms(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Aa(e,t);zr.test(s)?e.setProperty(Et(n),s.replace(zr,""),"important"):e[n]=s}}const Cr=["Webkit","Moz","ms"],Hs={};function Aa(e,t){const s=Hs[t];if(s)return s;let n=vt(t);if(n!=="filter"&&n in e)return Hs[t]=n;n=go(n);for(let r=0;rWs||(Fa.then(()=>Ws=0),Ws=Date.now());function Ua(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Ze(Va(n,s.value),t,5,[n])};return s.value=e,s.attached=ja(),s}function Va(e,t){if(K(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const $r=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,qa=(e,t,s,n,r,o)=>{const i=r==="svg";t==="class"?Ma(e,n,i):t==="style"?ka(e,s,n):Os(t)?Ln(t)||Da(e,t,s,n,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Ba(e,t,n,i))?(Pr(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Or(e,t,n,i,o,t!=="value")):e._isVueCE&&(/[A-Z]/.test(t)||!me(n))?Pr(e,vt(t),n,o,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Or(e,t,n,i))};function Ba(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&$r(t)&&Z(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return $r(t)&&me(s)?!1:t in e}const Dt=e=>{const t=e.props["onUpdate:modelValue"]||!1;return K(t)?s=>hs(t,s):t};function Ha(e){e.target.composing=!0}function Lr(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const nt=Symbol("_assign"),vs={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[nt]=Dt(r);const o=n||r.props&&r.props.type==="number";ft(e,t?"change":"input",i=>{if(i.target.composing)return;let l=e.value;s&&(l=l.trim()),o&&(l=bs(l)),e[nt](l)}),s&&ft(e,"change",()=>{e.value=e.value.trim()}),t||(ft(e,"compositionstart",Ha),ft(e,"compositionend",Lr),ft(e,"change",Lr))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:o}},i){if(e[nt]=Dt(i),e.composing)return;const l=(o||e.type==="number")&&!/^0\d/.test(e.value)?bs(e.value):e.value,a=t??"";l!==a&&(document.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===a)||(e.value=a))}},Wa={deep:!0,created(e,t,s){e[nt]=Dt(s),ft(e,"change",()=>{const n=e._modelValue,r=rs(e),o=e.checked,i=e[nt];if(K(n)){const l=In(n,r),a=l!==-1;if(o&&!a)i(n.concat(r));else if(!o&&a){const d=[...n];d.splice(l,1),i(d)}}else if(Nt(n)){const l=new Set(n);o?l.add(r):l.delete(r),i(l)}else i(bi(e,o))})},mounted:Tr,beforeUpdate(e,t,s){e[nt]=Dt(s),Tr(e,t,s)}};function Tr(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(K(t))r=In(t,n.props.value)>-1;else if(Nt(t))r=t.has(n.props.value);else{if(t===s)return;r=is(t,bi(e,!0))}e.checked!==r&&(e.checked=r)}const Ka={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const r=Nt(t);ft(e,"change",()=>{const o=Array.prototype.filter.call(e.options,i=>i.selected).map(i=>s?bs(rs(i)):rs(i));e[nt](e.multiple?r?new Set(o):o:o[0]),e._assigning=!0,kt(()=>{e._assigning=!1})}),e[nt]=Dt(n)},mounted(e,{value:t}){kr(e,t)},beforeUpdate(e,t,s){e[nt]=Dt(s)},updated(e,{value:t}){e._assigning||kr(e,t)}};function kr(e,t){const s=e.multiple,n=K(t);if(!(s&&!n&&!Nt(t))){for(let r=0,o=e.options.length;rString(d)===String(l)):i.selected=In(t,l)>-1}else i.selected=t.has(l);else if(is(rs(i),t)){e.selectedIndex!==r&&(e.selectedIndex=r);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function rs(e){return"_value"in e?e._value:e.value}function bi(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Ga=["ctrl","shift","alt","meta"],Ja={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>Ga.some(s=>e[`${s}Key`]&&!t.includes(s))},Pn=(e,t)=>{const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=((r,...o)=>{for(let i=0;i{const t=Za().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=ec(n);if(!r)return;const o=t._component;!Z(o)&&!o.render&&!o.template&&(o.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const i=s(r,!1,Xa(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},t});function Xa(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return me(e)?document.querySelector(e):e}const tc={class:"card bg-base-100 shadow-xl hover:shadow-2xl transition-shadow duration-300"},sc={class:"card-body"},nc={class:"flex items-start justify-between"},rc={class:"flex-1"},oc={class:"card-title text-lg font-bold"},ic={class:"text-sm text-base-content/70 mb-2"},lc={class:"flex items-center gap-2 mb-3"},ac={class:"badge badge-primary badge-sm"},cc={class:"badge badge-ghost badge-sm"},uc={key:0,class:"text-sm text-base-content/80 mb-4 line-clamp-2"},fc={key:1,class:"flex flex-wrap gap-1 mb-4"},dc={key:0,class:"badge badge-outline badge-xs"},hc={class:"flex flex-col items-end gap-2"},pc={class:"tooltip","data-tip":"View on Steam Workshop"},gc=["href"],mc={key:0,class:"mt-6"},vc={class:"divider"},bc={class:"text-sm font-medium"},_c={class:"table table-xs"},yc={key:0,class:"badge badge-success badge-xs"},wc={key:1,class:"text-base-content/50"},xc={key:0,class:"badge badge-info badge-xs"},Sc={key:1,class:"text-base-content/50"},zc={key:0,class:"badge badge-warning badge-xs"},Cc={key:1,class:"text-base-content/50"},Ec={class:"flex items-center gap-1"},Oc={class:"badge badge-ghost badge-xs"},Pc=["data-tip"],Rc={key:1,class:"tooltip","data-tip":"Needs manual validation"},Mc={key:1,class:"mt-6 text-center py-4 border-2 border-dashed border-base-300 rounded-lg"},$c=as({__name:"PuzzleCard",props:{puzzle:{},responses:{}},setup(e){return(t,s)=>(A(),D("div",tc,[f("div",sc,[f("div",nc,[f("div",rc,[f("h3",oc,H(e.puzzle.title),1),f("p",ic,"by "+H(e.puzzle.author_name),1),f("div",lc,[f("div",ac,H(e.puzzle.steam_item_id),1),f("div",cc,"Order: "+H(e.puzzle.order_index+1),1)]),e.puzzle.description?(A(),D("p",uc,H(e.puzzle.description),1)):se("",!0),e.puzzle.tags&&e.puzzle.tags.length>0?(A(),D("div",fc,[(A(!0),D(ye,null,Ct(e.puzzle.tags.slice(0,3),n=>(A(),D("span",{key:n,class:"badge badge-outline badge-xs"},H(n),1))),128)),e.puzzle.tags.length>3?(A(),D("span",dc," +"+H(e.puzzle.tags.length-3)+" more ",1)):se("",!0)])):se("",!0)]),f("div",hc,[f("div",pc,[f("a",{href:`https://steamcommunity.com/workshop/filedetails/?id=${e.puzzle.steam_item_id}`,target:"_blank",class:"btn btn-ghost btn-sm btn-square"},[...s[0]||(s[0]=[f("i",{class:"mdi mdi-steam text-lg"},null,-1)])],8,gc)])])]),e.responses&&e.responses.length>0?(A(),D("div",mc,[f("div",vc,[f("span",bc,"Solutions ("+H(e.responses.length)+")",1)]),f("div",null,[f("table",_c,[s[3]||(s[3]=f("thead",null,[f("tr",null,[f("th",null,"Cost"),f("th",null,"Cycles"),f("th",null,"Area"),f("th",null,"Files")])],-1)),f("tbody",null,[(A(!0),D(ye,null,Ct(e.responses,n=>(A(),D("tr",{key:n.id,class:"hover"},[f("td",null,[n.final_cost||n.cost?(A(),D("span",yc,H(n.final_cost||n.cost),1)):(A(),D("span",wc,"-"))]),f("td",null,[n.final_cycles||n.cycles?(A(),D("span",xc,H(n.final_cycles||n.cycles),1)):(A(),D("span",Sc,"-"))]),f("td",null,[n.final_area||n.area?(A(),D("span",zc,H(n.final_area||n.area),1)):(A(),D("span",Cc,"-"))]),f("td",null,[f("div",Ec,[f("span",Oc,H(n.files?.length||0),1),n.files?.length?(A(),D("div",{key:0,class:"tooltip","data-tip":n.files.map(r=>r.original_filename||r.file?.name).join(", ")},[...s[1]||(s[1]=[f("i",{class:"mdi mdi-information-outline text-xs"},null,-1)])],8,Pc)):se("",!0),n.needs_manual_validation?(A(),D("div",Rc,[...s[2]||(s[2]=[f("i",{class:"mdi mdi-alert-circle text-xs text-warning"},null,-1)])])):se("",!0)])])]))),128))])])])])):(A(),D("div",Mc,[...s[4]||(s[4]=[f("i",{class:"mdi mdi-upload text-2xl text-base-content/40"},null,-1),f("p",{class:"text-sm text-base-content/60 mt-2"},"No solutions yet",-1),f("p",{class:"text-xs text-base-content/40"},"Upload solutions using the submit button",-1)])]))])]))}}),Lc=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},Tc=Lc($c,[["__scopeId","data-v-d2f8e73f"]]);var Ks={exports:{}},Ir;function kc(){return Ir||(Ir=1,(function(e){var t=(function(s){var n=Object.prototype,r=n.hasOwnProperty,o=Object.defineProperty||function(C,x,L){C[x]=L.value},i,l=typeof Symbol=="function"?Symbol:{},a=l.iterator||"@@iterator",d=l.asyncIterator||"@@asyncIterator",u=l.toStringTag||"@@toStringTag";function p(C,x,L){return Object.defineProperty(C,x,{value:L,enumerable:!0,configurable:!0,writable:!0}),C[x]}try{p({},"")}catch{p=function(x,L,W){return x[L]=W}}function w(C,x,L,W){var V=x&&x.prototype instanceof j?x:j,ee=Object.create(V.prototype),be=new oe(W||[]);return o(ee,"_invoke",{value:Ce(C,L,be)}),ee}s.wrap=w;function v(C,x,L){try{return{type:"normal",arg:C.call(x,L)}}catch(W){return{type:"throw",arg:W}}}var g="suspendedStart",m="suspendedYield",T="executing",N="completed",G={};function j(){}function k(){}function R(){}var $={};p($,a,function(){return this});var M=Object.getPrototypeOf,U=M&&M(M(Y([])));U&&U!==n&&r.call(U,a)&&($=U);var F=R.prototype=j.prototype=Object.create($);k.prototype=R,o(F,"constructor",{value:R,configurable:!0}),o(R,"constructor",{value:k,configurable:!0}),k.displayName=p(R,u,"GeneratorFunction");function ie(C){["next","throw","return"].forEach(function(x){p(C,x,function(L){return this._invoke(x,L)})})}s.isGeneratorFunction=function(C){var x=typeof C=="function"&&C.constructor;return x?x===k||(x.displayName||x.name)==="GeneratorFunction":!1},s.mark=function(C){return Object.setPrototypeOf?Object.setPrototypeOf(C,R):(C.__proto__=R,p(C,u,"GeneratorFunction")),C.prototype=Object.create(F),C},s.awrap=function(C){return{__await:C}};function pe(C,x){function L(ee,be,de,ve){var he=v(C[ee],C,be);if(he.type==="throw")ve(he.arg);else{var lt=he.arg,Le=lt.value;return Le&&typeof Le=="object"&&r.call(Le,"__await")?x.resolve(Le.__await).then(function(Ve){L("next",Ve,de,ve)},function(Ve){L("throw",Ve,de,ve)}):x.resolve(Le).then(function(Ve){lt.value=Ve,de(lt)},function(Ve){return L("throw",Ve,de,ve)})}}var W;function V(ee,be){function de(){return new x(function(ve,he){L(ee,be,ve,he)})}return W=W?W.then(de,de):de()}o(this,"_invoke",{value:V})}ie(pe.prototype),p(pe.prototype,d,function(){return this}),s.AsyncIterator=pe,s.async=function(C,x,L,W,V){V===void 0&&(V=Promise);var ee=new pe(w(C,x,L,W),V);return s.isGeneratorFunction(x)?ee:ee.next().then(function(be){return be.done?be.value:ee.next()})};function Ce(C,x,L){var W=g;return function(ee,be){if(W===T)throw new Error("Generator is already running");if(W===N){if(ee==="throw")throw be;return Q()}for(L.method=ee,L.arg=be;;){var de=L.delegate;if(de){var ve=$e(de,L);if(ve){if(ve===G)continue;return ve}}if(L.method==="next")L.sent=L._sent=L.arg;else if(L.method==="throw"){if(W===g)throw W=N,L.arg;L.dispatchException(L.arg)}else L.method==="return"&&L.abrupt("return",L.arg);W=T;var he=v(C,x,L);if(he.type==="normal"){if(W=L.done?N:m,he.arg===G)continue;return{value:he.arg,done:L.done}}else he.type==="throw"&&(W=N,L.method="throw",L.arg=he.arg)}}}function $e(C,x){var L=x.method,W=C.iterator[L];if(W===i)return x.delegate=null,L==="throw"&&C.iterator.return&&(x.method="return",x.arg=i,$e(C,x),x.method==="throw")||L!=="return"&&(x.method="throw",x.arg=new TypeError("The iterator does not provide a '"+L+"' method")),G;var V=v(W,C.iterator,x.arg);if(V.type==="throw")return x.method="throw",x.arg=V.arg,x.delegate=null,G;var ee=V.arg;if(!ee)return x.method="throw",x.arg=new TypeError("iterator result is not an object"),x.delegate=null,G;if(ee.done)x[C.resultName]=ee.value,x.next=C.nextLoc,x.method!=="return"&&(x.method="next",x.arg=i);else return ee;return x.delegate=null,G}ie(F),p(F,u,"Generator"),p(F,a,function(){return this}),p(F,"toString",function(){return"[object Generator]"});function Qe(C){var x={tryLoc:C[0]};1 in C&&(x.catchLoc=C[1]),2 in C&&(x.finallyLoc=C[2],x.afterLoc=C[3]),this.tryEntries.push(x)}function we(C){var x=C.completion||{};x.type="normal",delete x.arg,C.completion=x}function oe(C){this.tryEntries=[{tryLoc:"root"}],C.forEach(Qe,this),this.reset(!0)}s.keys=function(C){var x=Object(C),L=[];for(var W in x)L.push(W);return L.reverse(),function V(){for(;L.length;){var ee=L.pop();if(ee in x)return V.value=ee,V.done=!1,V}return V.done=!0,V}};function Y(C){if(C){var x=C[a];if(x)return x.call(C);if(typeof C.next=="function")return C;if(!isNaN(C.length)){var L=-1,W=function V(){for(;++L=0;--W){var V=this.tryEntries[W],ee=V.completion;if(V.tryLoc==="root")return L("end");if(V.tryLoc<=this.prev){var be=r.call(V,"catchLoc"),de=r.call(V,"finallyLoc");if(be&&de){if(this.prev=0;--L){var W=this.tryEntries[L];if(W.tryLoc<=this.prev&&r.call(W,"finallyLoc")&&this.prev=0;--x){var L=this.tryEntries[x];if(L.finallyLoc===C)return this.complete(L.completion,L.afterLoc),we(L),G}},catch:function(C){for(var x=this.tryEntries.length-1;x>=0;--x){var L=this.tryEntries[x];if(L.tryLoc===C){var W=L.completion;if(W.type==="throw"){var V=W.arg;we(L)}return V}}throw new Error("illegal catch attempt")},delegateYield:function(C,x,L){return this.delegate={iterator:Y(C),resultName:x,nextLoc:L},this.method==="next"&&(this.arg=i),G}},s})(e.exports);try{regeneratorRuntime=t}catch{typeof globalThis=="object"?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}})(Ks)),Ks.exports}var Gs,Dr;function Zn(){return Dr||(Dr=1,Gs=(e,t)=>`${e}-${t}-${Math.random().toString(16).slice(3,8)}`),Gs}var Js,Nr;function _i(){if(Nr)return Js;Nr=1;const e=Zn();let t=0;return Js=({id:s,action:n,payload:r={}})=>{let o=s;return typeof o>"u"&&(o=e("Job",t),t+=1),{id:o,action:n,payload:r}},Js}var Vt={},Fr;function Qn(){if(Fr)return Vt;Fr=1;let e=!1;return Vt.logging=e,Vt.setLogging=t=>{e=t},Vt.log=(...t)=>e?console.log.apply(this,t):null,Vt}var Ys,jr;function Ac(){if(jr)return Ys;jr=1;const e=_i(),{log:t}=Qn(),s=Zn();let n=0;return Ys=()=>{const r=s("Scheduler",n),o={},i={};let l=[];n+=1;const a=()=>l.length,d=()=>Object.keys(o).length,u=()=>{if(l.length!==0){const m=Object.keys(o);for(let T=0;T"u"){l[0](o[m[T]]);break}}},p=(m,T)=>new Promise((N,G)=>{const j=e({action:m,payload:T});l.push(async k=>{l.shift(),i[k.id]=j;try{N(await k[m].apply(this,[...T,j.id]))}catch(R){G(R)}finally{delete i[k.id],u()}}),t(`[${r}]: Add ${j.id} to JobQueue`),t(`[${r}]: JobQueue length=${l.length}`),u()});return{addWorker:m=>(o[m.id]=m,t(`[${r}]: Add ${m.id}`),t(`[${r}]: Number of workers=${d()}`),u(),m.id),addJob:async(m,...T)=>{if(d()===0)throw Error(`[${r}]: You need to have at least one worker before adding jobs`);return p(m,T)},terminate:async()=>{Object.keys(o).forEach(async m=>{await o[m].terminate()}),l=[]},getQueueLen:a,getNumWorkers:d}},Ys}function Ic(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var Zs,Ur;function Dc(){if(Ur)return Zs;Ur=1;function e(){return!!(typeof window<"u"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process<"u"&&typeof process.versions=="object"&&process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0)}return Zs=e,Zs}var Qs,Vr;function Nc(){if(Vr)return Qs;Vr=1;const e=Dc();return Qs=t=>{const s={};return typeof WorkerGlobalScope<"u"?s.type="webworker":e()?s.type="electron":typeof document=="object"?s.type="browser":typeof process=="object"&&typeof Ic=="function"&&(s.type="node"),typeof t>"u"?s:s[t]},Qs}var Xs,qr;function Fc(){if(qr)return Xs;qr=1;const t=Nc()("type")==="browser"?s=>new URL(s,window.location.href).href:s=>s;return Xs=s=>{const n={...s};return["corePath","workerPath","langPath"].forEach(r=>{s[r]&&(n[r]=t(n[r]))}),n},Xs}var en,Br;function jc(){return Br||(Br=1,en=e=>{const t=[],s=[],n=[],r=[],o=[];return e.blocks&&e.blocks.forEach(i=>{i.paragraphs.forEach(l=>{l.lines.forEach(a=>{a.words.forEach(d=>{d.symbols.forEach(u=>{o.push({...u,page:e,block:i,paragraph:l,line:a,word:d})}),r.push({...d,page:e,block:i,paragraph:l,line:a})}),n.push({...a,page:e,block:i,paragraph:l})}),s.push({...l,page:e,block:i})}),t.push({...i,page:e})}),{...e,blocks:t,paragraphs:s,lines:n,words:r,symbols:o}}),en}var tn,Hr;function yi(){return Hr||(Hr=1,tn={TESSERACT_ONLY:0,LSTM_ONLY:1,TESSERACT_LSTM_COMBINED:2,DEFAULT:3}),tn}const Uc="5.1.1",Vc={version:Uc};var sn,Wr;function qc(){return Wr||(Wr=1,sn={workerBlobURL:!0,logger:()=>{}}),sn}var nn,Kr;function Bc(){if(Kr)return nn;Kr=1;const e=Vc.version;return nn={...qc(),workerPath:`https://cdn.jsdelivr.net/npm/tesseract.js@v${e}/dist/worker.min.js`},nn}var rn,Gr;function Hc(){return Gr||(Gr=1,rn=({workerPath:e,workerBlobURL:t})=>{let s;if(Blob&&URL&&t){const n=new Blob([`importScripts("${e}");`],{type:"application/javascript"});s=new Worker(URL.createObjectURL(n))}else s=new Worker(e);return s}),rn}var on,Jr;function Wc(){return Jr||(Jr=1,on=e=>{e.terminate()}),on}var ln,Yr;function Kc(){return Yr||(Yr=1,ln=(e,t)=>{e.onmessage=({data:s})=>{t(s)}}),ln}var an,Zr;function Gc(){return Zr||(Zr=1,an=async(e,t)=>{e.postMessage(t)}),an}var cn,Qr;function Jc(){if(Qr)return cn;Qr=1;const e=s=>new Promise((n,r)=>{const o=new FileReader;o.onload=()=>{n(o.result)},o.onerror=({target:{error:{code:i}}})=>{r(Error(`File could not be read! Code=${i}`))},o.readAsArrayBuffer(s)}),t=async s=>{let n=s;if(typeof s>"u")return"undefined";if(typeof s=="string")/data:image\/([a-zA-Z]*);base64,([^"]*)/.test(s)?n=atob(s.split(",")[1]).split("").map(r=>r.charCodeAt(0)):n=await(await fetch(s)).arrayBuffer();else if(typeof HTMLElement<"u"&&s instanceof HTMLElement)s.tagName==="IMG"&&(n=await t(s.src)),s.tagName==="VIDEO"&&(n=await t(s.poster)),s.tagName==="CANVAS"&&await new Promise(r=>{s.toBlob(async o=>{n=await e(o),r()})});else if(typeof OffscreenCanvas<"u"&&s instanceof OffscreenCanvas){const r=await s.convertToBlob();n=await e(r)}else(s instanceof File||s instanceof Blob)&&(n=await e(s));return new Uint8Array(n)};return cn=t,cn}var un,Xr;function Yc(){if(Xr)return un;Xr=1;const e=Bc(),t=Hc(),s=Wc(),n=Kc(),r=Gc(),o=Jc();return un={defaultOptions:e,spawnWorker:t,terminateWorker:s,onMessage:n,send:r,loadImage:o},un}var fn,eo;function wi(){if(eo)return fn;eo=1;const e=Fc(),t=jc(),s=_i(),{log:n}=Qn(),r=Zn(),o=yi(),{defaultOptions:i,spawnWorker:l,terminateWorker:a,onMessage:d,loadImage:u,send:p}=Yc();let w=0;return fn=async(v="eng",g=o.LSTM_ONLY,m={},T={})=>{const N=r("Worker",w),{logger:G,errorHandler:j,...k}=e({...i,...m}),R={},$={},M=typeof v=="string"?v.split("+"):v;let U=g,F=T;const ie=[o.DEFAULT,o.LSTM_ONLY].includes(g)&&!k.legacyCore;let pe,Ce;const $e=new Promise((b,_)=>{Ce=b,pe=_}),Qe=b=>{pe(b.message)};let we=l(k);we.onerror=Qe,w+=1;const oe=(b,_)=>{R[b]=_},Y=(b,_)=>{$[b]=_},Q=({id:b,action:_,payload:P})=>new Promise((O,z)=>{n(`[${N}]: Start ${b}, action=${_}`);const S=`${_}-${b}`;oe(S,O),Y(S,z),p(we,{workerId:N,jobId:b,action:_,payload:P})}),C=()=>console.warn("`load` is depreciated and should be removed from code (workers now come pre-loaded)"),x=b=>Q(s({id:b,action:"load",payload:{options:{lstmOnly:ie,corePath:k.corePath,logging:k.logging}}})),L=(b,_,P)=>Q(s({id:P,action:"FS",payload:{method:"writeFile",args:[b,_]}})),W=(b,_)=>Q(s({id:_,action:"FS",payload:{method:"readFile",args:[b,{encoding:"utf8"}]}})),V=(b,_)=>Q(s({id:_,action:"FS",payload:{method:"unlink",args:[b]}})),ee=(b,_,P)=>Q(s({id:P,action:"FS",payload:{method:b,args:_}})),be=()=>console.warn("`loadLanguage` is depreciated and should be removed from code (workers now come with language pre-loaded)"),de=(b,_)=>Q(s({id:_,action:"loadLanguage",payload:{langs:b,options:{langPath:k.langPath,dataPath:k.dataPath,cachePath:k.cachePath,cacheMethod:k.cacheMethod,gzip:k.gzip,lstmOnly:[o.DEFAULT,o.LSTM_ONLY].includes(U)&&!k.legacyLang}}})),ve=()=>console.warn("`initialize` is depreciated and should be removed from code (workers now come pre-initialized)"),he=(b,_,P,O)=>Q(s({id:O,action:"initialize",payload:{langs:b,oem:_,config:P}})),lt=(b="eng",_,P,O)=>{if(ie&&[o.TESSERACT_ONLY,o.TESSERACT_LSTM_COMBINED].includes(_))throw Error("Legacy model requested but code missing.");const z=_||U;U=z;const S=P||F;F=S;const I=(typeof b=="string"?b.split("+"):b).filter(B=>!M.includes(B));return M.push(...I),I.length>0?de(I,O).then(()=>he(b,z,S,O)):he(b,z,S,O)},Le=(b={},_)=>Q(s({id:_,action:"setParameters",payload:{params:b}})),Ve=async(b,_={},P={blocks:!0,text:!0,hocr:!0,tsv:!0},O)=>Q(s({id:O,action:"recognize",payload:{image:await u(b),options:_,output:P}})),c=(b="Tesseract OCR Result",_=!1,P)=>(console.log("`getPDF` function is depreciated. `recognize` option `savePDF` should be used instead."),Q(s({id:P,action:"getPDF",payload:{title:b,textonly:_}}))),h=async(b,_)=>{if(ie)throw Error("`worker.detect` requires Legacy model, which was not loaded.");return Q(s({id:_,action:"detect",payload:{image:await u(b)}}))},y=async()=>(we!==null&&(a(we),we=null),Promise.resolve());d(we,({workerId:b,jobId:_,status:P,action:O,data:z})=>{const S=`${O}-${_}`;if(P==="resolve"){n(`[${b}]: Complete ${_}`);let q=z;O==="recognize"?q=t(z):O==="getPDF"&&(q=Array.from({...z,length:Object.keys(z).length})),R[S]({jobId:_,data:q})}else if(P==="reject")if($[S](z),O==="load"&&pe(z),j)j(z);else throw Error(z);else P==="progress"&&G({...z,userJobId:_})});const E={id:N,worker:we,setResolve:oe,setReject:Y,load:C,writeText:L,readText:W,removeFile:V,FS:ee,loadLanguage:be,initialize:ve,reinitialize:lt,setParameters:Le,recognize:Ve,getPDF:c,detect:h,terminate:y};return x().then(()=>de(v)).then(()=>he(v,g,T)).then(()=>Ce(E)).catch(()=>{}),$e},fn}var dn,to;function Zc(){if(to)return dn;to=1;const e=wi();return dn={recognize:async(n,r,o)=>{const i=await e(r,1,o);return i.recognize(n).finally(async()=>{await i.terminate()})},detect:async(n,r)=>{const o=await e("osd",0,r);return o.detect(n).finally(async()=>{await o.terminate()})}},dn}var hn,so;function Qc(){return so||(so=1,hn={AFR:"afr",AMH:"amh",ARA:"ara",ASM:"asm",AZE:"aze",AZE_CYRL:"aze_cyrl",BEL:"bel",BEN:"ben",BOD:"bod",BOS:"bos",BUL:"bul",CAT:"cat",CEB:"ceb",CES:"ces",CHI_SIM:"chi_sim",CHI_TRA:"chi_tra",CHR:"chr",CYM:"cym",DAN:"dan",DEU:"deu",DZO:"dzo",ELL:"ell",ENG:"eng",ENM:"enm",EPO:"epo",EST:"est",EUS:"eus",FAS:"fas",FIN:"fin",FRA:"fra",FRK:"frk",FRM:"frm",GLE:"gle",GLG:"glg",GRC:"grc",GUJ:"guj",HAT:"hat",HEB:"heb",HIN:"hin",HRV:"hrv",HUN:"hun",IKU:"iku",IND:"ind",ISL:"isl",ITA:"ita",ITA_OLD:"ita_old",JAV:"jav",JPN:"jpn",KAN:"kan",KAT:"kat",KAT_OLD:"kat_old",KAZ:"kaz",KHM:"khm",KIR:"kir",KOR:"kor",KUR:"kur",LAO:"lao",LAT:"lat",LAV:"lav",LIT:"lit",MAL:"mal",MAR:"mar",MKD:"mkd",MLT:"mlt",MSA:"msa",MYA:"mya",NEP:"nep",NLD:"nld",NOR:"nor",ORI:"ori",PAN:"pan",POL:"pol",POR:"por",PUS:"pus",RON:"ron",RUS:"rus",SAN:"san",SIN:"sin",SLK:"slk",SLV:"slv",SPA:"spa",SPA_OLD:"spa_old",SQI:"sqi",SRP:"srp",SRP_LATN:"srp_latn",SWA:"swa",SWE:"swe",SYR:"syr",TAM:"tam",TEL:"tel",TGK:"tgk",TGL:"tgl",THA:"tha",TIR:"tir",TUR:"tur",UIG:"uig",UKR:"ukr",URD:"urd",UZB:"uzb",UZB_CYRL:"uzb_cyrl",VIE:"vie",YID:"yid"}),hn}var pn,no;function Xc(){return no||(no=1,pn={OSD_ONLY:"0",AUTO_OSD:"1",AUTO_ONLY:"2",AUTO:"3",SINGLE_COLUMN:"4",SINGLE_BLOCK_VERT_TEXT:"5",SINGLE_BLOCK:"6",SINGLE_LINE:"7",SINGLE_WORD:"8",CIRCLE_WORD:"9",SINGLE_CHAR:"10",SPARSE_TEXT:"11",SPARSE_TEXT_OSD:"12",RAW_LINE:"13"}),pn}var gn,ro;function eu(){if(ro)return gn;ro=1,kc();const e=Ac(),t=wi(),s=Zc(),n=Qc(),r=yi(),o=Xc(),{setLogging:i}=Qn();return gn={languages:n,OEM:r,PSM:o,createScheduler:e,createWorker:t,setLogging:i,...s},gn}var tu=eu();class Xn{worker=null;availablePuzzleNames=[];regions={puzzle:{x:15,y:600,width:330,height:28},cost:{x:412,y:603,width:65,height:22},cycles:{x:577,y:603,width:65,height:22},area:{x:739,y:603,width:65,height:22}};async initialize(){this.worker||(this.worker=await tu.createWorker("eng"),await this.worker.setParameters({tessedit_ocr_engine_mode:"3",tessedit_pageseg_mode:7}))}setAvailablePuzzleNames(t){this.availablePuzzleNames=t,console.log("OCR service updated with puzzle names:",t)}async configurePuzzleOCR(){this.worker&&(await this.worker.setParameters({load_system_dawg:"0",load_freq_dawg:"0",load_punc_dawg:"0",load_number_dawg:"0",load_unambig_dawg:"0",load_bigram_dawg:"0",load_fixed_length_dawgs:"0",tessedit_char_whitelist:this.getPuzzleCharacterSet(),tessedit_pageseg_mode:8,segment_penalty_dict_nonword:"2.0",segment_penalty_dict_frequent_word:"0.001",segment_penalty_dict_case_ok:"0.001",segment_penalty_dict_case_bad:"0.1",classify_enable_learning:"0",classify_enable_adaptive_matcher:"1",preserve_interword_spaces:"1"}),console.log("OCR configured for puzzle names with character set:",this.getPuzzleCharacterSet()))}getPuzzleCharacterSet(){if(this.availablePuzzleNames.length===0)return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 -";const t=new Set;return this.availablePuzzleNames.forEach(s=>{for(const n of s)t.add(n)}),Array.from(t).join("")}async extractOpusMagnumData(t){this.worker||await this.initialize();const s=URL.createObjectURL(t),n=new Image;return new Promise((r,o)=>{n.onload=async()=>{try{const i=document.createElement("canvas"),l=i.getContext("2d");i.width=n.width,i.height=n.height,l.drawImage(n,0,0);const a={},d={};for(const[w,v]of Object.entries(this.regions)){const g=document.createElement("canvas"),m=g.getContext("2d");g.width=v.width,g.height=v.height,m.drawImage(i,v.x,v.y,v.width,v.height,0,0,v.width,v.height);const T=m.getImageData(0,0,v.width,v.height);this.preprocessImage(T),m.putImageData(T,0,0),w==="cost"?await this.worker.setParameters({tessedit_char_whitelist:"0123456789G"}):w==="cycles"||w==="area"?await this.worker.setParameters({tessedit_char_whitelist:"0123456789"}):w==="puzzle"?await this.configurePuzzleOCR():await this.worker.setParameters({tessedit_char_whitelist:""});const{data:{text:N,confidence:G}}=await this.worker.recognize(g);let j=N.trim();if(d[w]=G/100,w==="cost"){if(j.endsWith("6")&&j.length>1){const k=j.slice(0,-1);/^\d+$/.test(k)&&(j=k)}j=j.replace(/G+$/g,""),j=j.replace(/[^0-9]/g,"")}else if(w==="cycles"||w==="area")j=j.replace(/[^0-9]/g,"");else if(w==="puzzle"&&(j=this.findBestPuzzleMatch(j),this.availablePuzzleNames.length>0&&!this.availablePuzzleNames.includes(j))){const k=this.findBestPuzzleMatchForced(j);k&&(j=k,console.log(`Forced OCR match: "${N.trim()}" -> "${j}"`))}a[w]=j}URL.revokeObjectURL(s);const u=Object.values(d),p=u.length>0?u.reduce((w,v)=>w+v,0)/u.length:0;r({puzzle:a.puzzle||"",cost:a.cost||"",cycles:a.cycles||"",area:a.area||"",confidence:{puzzle:d.puzzle||0,cost:d.cost||0,cycles:d.cycles||0,area:d.area||0,overall:p}})}catch(i){URL.revokeObjectURL(s),o(i)}},n.onerror=()=>{URL.revokeObjectURL(s),o(new Error("Failed to load image"))},n.src=s})}preprocessImage(t){const s=t.data;for(let n=0;nArray(t.length+1).fill(null));for(let r=0;r<=t.length;r++)n[0][r]=r;for(let r=0;r<=s.length;r++)n[r][0]=r;for(let r=1;r<=s.length;r++)for(let o=1;o<=t.length;o++){const i=t[o-1]===s[r-1]?0:1;n[r][o]=Math.min(n[r][o-1]+1,n[r-1][o]+1,n[r-1][o-1]+i)}return n[s.length][t.length]}findBestPuzzleMatch(t){if(!this.availablePuzzleNames.length)return t.trim();const s=t.trim();if(!s)return"";const n=this.availablePuzzleNames.find(l=>l.toLowerCase()===s.toLowerCase());if(n)return n;const r=this.availablePuzzleNames.find(l=>l.toLowerCase().includes(s.toLowerCase())||s.toLowerCase().includes(l.toLowerCase()));if(r)return r;let o=s,i=0;for(const l of this.availablePuzzleNames){const a=[this.calculateLevenshteinSimilarity(s,l),this.calculateJaroWinklerSimilarity(s,l),this.calculateNGramSimilarity(s,l,2)],d=Math.max(...a);d>i&&d>.4&&(i=d,o=l)}if(i<.6){const l=this.findBestCharacterMatch(s);l&&(o=l)}return o}calculateLevenshteinSimilarity(t,s){const n=this.levenshteinDistance(t.toLowerCase(),s.toLowerCase()),r=Math.max(t.length,s.length);return r===0?1:1-n/r}calculateJaroWinklerSimilarity(t,s){const n=t.toLowerCase(),r=s.toLowerCase();if(n===r)return 1;const o=Math.floor(Math.max(n.length,r.length)/2)-1;if(o<0)return 0;const i=new Array(n.length).fill(!1),l=new Array(r.length).fill(!1);let a=0,d=0;for(let v=0;vl.has(u))),d=new Set([...i,...l]);return a.size/d.size}findBestCharacterMatch(t){let s=null,n=0;for(const r of this.availablePuzzleNames){const o=this.calculateCharacterFrequencyScore(t.toLowerCase(),r.toLowerCase());o>n&&o>.3&&(n=o,s=r)}return s}calculateCharacterFrequencyScore(t,s){const n=new Map,r=new Map;for(const a of t)n.set(a,(n.get(a)||0)+1);for(const a of s)r.set(a,(r.get(a)||0)+1);const o=new Set([...n.keys(),...r.keys()]);let i=0,l=0;for(const a of o){const d=n.get(a)||0,u=r.get(a)||0;i+=Math.min(d,u),l+=Math.max(d,u)}return l===0?0:i/l}findBestPuzzleMatchForced(t){if(!this.availablePuzzleNames.length||!t.trim())return null;const s=t.trim().toLowerCase();let n=this.availablePuzzleNames[0],r=0;for(const o of this.availablePuzzleNames){const i=[this.calculateLevenshteinSimilarity(s,o),this.calculateJaroWinklerSimilarity(s,o),this.calculateNGramSimilarity(s,o,2),this.calculateCharacterFrequencyScore(s,o.toLowerCase()),this.calculateLengthSimilarity(s,o.toLowerCase())],l=i[0]*.25+i[1]*.25+i[2]*.2+i[3]*.2+i[4]*.1;l>r&&(r=l,n=o)}return console.log(`Forced match for "${t}": "${n}" (score: ${r.toFixed(3)})`),n}calculateLengthSimilarity(t,s){const n=t.length,r=s.length,o=Math.max(n,r),i=Math.min(n,r);return o===0?1:i/o}async terminate(){this.worker&&(await this.worker.terminate(),this.worker=null)}static isValidOpusMagnumImage(t){return["image/jpeg","image/jpg","image/png","image/gif"].includes(t.type)}static drawDebugRegions(t){return new Promise((s,n)=>{const r=URL.createObjectURL(t),o=new Image;o.onload=()=>{const i=document.createElement("canvas"),l=i.getContext("2d");i.width=o.width,i.height=o.height,l.drawImage(o,0,0),l.strokeStyle="#00ff00",l.lineWidth=2;const a=new Xn;Object.values(a.regions).forEach(d=>{l.strokeRect(d.x,d.y,d.width,d.height)}),URL.revokeObjectURL(r),s(i.toDataURL())},o.onerror=()=>{URL.revokeObjectURL(r),n(new Error("Failed to load image for debug"))},o.src=r})}}const mn=new Xn;/*! * pinia v3.0.3 * (c) 2025 Eduardo San Martin Morote * @license MIT */let xi;const Ds=e=>xi=e,Si=Symbol();function Rn(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Qt;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Qt||(Qt={}));function su(){const e=wo(!0),t=e.run(()=>ue({}));let s=[],n=[];const r=Bn({install(o){Ds(r),r._a=o,o.provide(Si,r),o.config.globalProperties.$pinia=r,n.forEach(i=>s.push(i)),n=[]},use(o){return this._a?s.push(o):n.push(o),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return r}const zi=()=>{};function oo(e,t,s,n=zi){e.push(t);const r=()=>{const o=e.indexOf(t);o>-1&&(e.splice(o,1),n())};return!s&&xo()&&Fi(r),r}function Pt(e,...t){e.slice().forEach(s=>{s(...t)})}const nu=e=>e(),io=Symbol(),vn=Symbol();function Mn(e,t){e instanceof Map&&t instanceof Map?t.forEach((s,n)=>e.set(n,s)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],r=e[s];Rn(r)&&Rn(n)&&e.hasOwnProperty(s)&&!ge(n)&&!pt(n)?e[s]=Mn(r,n):e[s]=n}return e}const ru=Symbol();function ou(e){return!Rn(e)||!Object.prototype.hasOwnProperty.call(e,ru)}const{assign:at}=Object;function iu(e){return!!(ge(e)&&e.effect)}function lu(e,t,s,n){const{state:r,actions:o,getters:i}=t,l=s.state.value[e];let a;function d(){l||(s.state.value[e]=r?r():{});const u=cl(s.state.value[e]);return at(u,o,Object.keys(i||{}).reduce((p,w)=>(p[w]=Bn(je(()=>{Ds(s);const v=s._s.get(e);return i[w].call(v,v)})),p),{}))}return a=Ci(e,d,t,s,n,!0),a}function Ci(e,t,s={},n,r,o){let i;const l=at({actions:{}},s),a={deep:!0};let d,u,p=[],w=[],v;const g=n.state.value[e];!o&&!g&&(n.state.value[e]={}),ue({});let m;function T(U){let F;d=u=!1,typeof U=="function"?(U(n.state.value[e]),F={type:Qt.patchFunction,storeId:e,events:v}):(Mn(n.state.value[e],U),F={type:Qt.patchObject,payload:U,storeId:e,events:v});const ie=m=Symbol();kt().then(()=>{m===ie&&(d=!0)}),u=!0,Pt(p,F,n.state.value[e])}const N=o?function(){const{state:F}=s,ie=F?F():{};this.$patch(pe=>{at(pe,ie)})}:zi;function G(){i.stop(),p=[],w=[],n._s.delete(e)}const j=(U,F="")=>{if(io in U)return U[vn]=F,U;const ie=function(){Ds(n);const pe=Array.from(arguments),Ce=[],$e=[];function Qe(Y){Ce.push(Y)}function we(Y){$e.push(Y)}Pt(w,{args:pe,name:ie[vn],store:R,after:Qe,onError:we});let oe;try{oe=U.apply(this&&this.$id===e?this:R,pe)}catch(Y){throw Pt($e,Y),Y}return oe instanceof Promise?oe.then(Y=>(Pt(Ce,Y),Y)).catch(Y=>(Pt($e,Y),Promise.reject(Y))):(Pt(Ce,oe),oe)};return ie[io]=!0,ie[vn]=F,ie},k={_p:n,$id:e,$onAction:oo.bind(null,w),$patch:T,$reset:N,$subscribe(U,F={}){const ie=oo(p,U,F.detached,()=>pe()),pe=i.run(()=>gt(()=>n.state.value[e],Ce=>{(F.flush==="sync"?u:d)&&U({storeId:e,type:Qt.direct,events:v},Ce)},at({},a,F)));return ie},$dispose:G},R=$s(k);n._s.set(e,R);const M=(n._a&&n._a.runWithContext||nu)(()=>n._e.run(()=>(i=wo()).run(()=>t({action:j}))));for(const U in M){const F=M[U];if(ge(F)&&!iu(F)||pt(F))o||(g&&ou(F)&&(ge(F)?F.value=g[U]:Mn(F,g[U])),n.state.value[e][U]=F);else if(typeof F=="function"){const ie=j(F,U);M[U]=ie,l.actions[U]=F}}return at(R,M),at(te(R),M),Object.defineProperty(R,"$state",{get:()=>n.state.value[e],set:U=>{T(F=>{at(F,U)})}}),n._p.forEach(U=>{at(R,i.run(()=>U({store:R,app:n._a,pinia:n,options:l})))}),g&&o&&s.hydrate&&s.hydrate(R.$state,g),d=!0,u=!0,R}/*! #__NO_SIDE_EFFECTS__ */function Ei(e,t,s){let n;const r=typeof t=="function";n=r?s:t;function o(i,l){const a=Bl();return i=i||(a?Yt(Si,null):null),i&&Ds(i),i=xi,i._s.has(e)||(r?Ci(e,t,n,i):lu(e,n,i)),i._s.get(e)}return o.$id=e,o}const lo="/api";class au{async request(t,s={}){try{const n=await fetch(`${lo}${t}`,{headers:{"Content-Type":"application/json",...s.headers},...s}),r=await n.json();return n.ok?{data:r,status:n.status}:{error:r.detail||`HTTP ${n.status}`,status:n.status}}catch(n){return{error:n instanceof Error?n.message:"Network error",status:0}}}async uploadRequest(t,s){try{const n=await fetch(`${lo}${t}`,{method:"POST",body:s}),r=await n.json();return n.ok?{data:r,status:n.status}:{error:r.detail||`HTTP ${n.status}`,status:n.status}}catch(n){return{error:n instanceof Error?n.message:"Network error",status:0}}}async getPuzzles(){return this.request("/submissions/puzzles")}async getSubmissions(t=20,s=0){return this.request(`/submissions/submissions?limit=${t}&offset=${s}`)}async getSubmission(t){return this.request(`/submissions/submissions/${t}`)}async createSubmission(t,s){const n=new FormData;return n.append("data",JSON.stringify(t)),s.forEach(r=>{n.append("files",r)}),this.uploadRequest("/submissions/submissions",n)}async validateResponse(t,s){return this.request(`/submissions/responses/${t}/validate`,{method:"PUT",body:JSON.stringify(s)})}async getResponsesNeedingValidation(){return this.request("/submissions/responses/needs-validation")}async validateSubmission(t){return this.request(`/submissions/submissions/${t}/validate`,{method:"POST"})}async deleteSubmission(t){return this.request(`/submissions/submissions/${t}`,{method:"DELETE"})}async getStats(){return this.request("/submissions/stats")}async healthCheck(){return this.request("/health")}async getUserInfo(){return this.request("/user")}}const mt=new au,cu={async loadPuzzles(){const e=await mt.getPuzzles();return e.error?(console.error("Failed to load puzzles:",e.error),[]):e.data||[]},findPuzzleByName(e,t){if(!t)return null;let s=e.find(n=>n.title.toLowerCase()===t.toLowerCase());return s||(s=e.find(n=>n.title.toLowerCase().includes(t.toLowerCase())||t.toLowerCase().includes(n.title.toLowerCase()))),s||null}},ao={async createFromFiles(e,t,s,n){const r={};e.forEach(l=>{const a=l.manualPuzzleSelection||l.ocrData?.puzzle;a&&(r[a]||(r[a]={puzzle:cu.findPuzzleByName(t,a),files:[]}),r[a].files.push(l))});const o=Object.entries(r).filter(([l,a])=>a.puzzle).map(([l,a])=>{const d=a.files.find(p=>p.ocrData?.cost||p.ocrData?.cycles||p.ocrData?.area),u=!d?.ocrData||!d.ocrData.cost||!d.ocrData.cycles||!d.ocrData.area;return{puzzle_id:a.puzzle.id,puzzle_name:l,cost:d?.ocrData?.cost,cycles:d?.ocrData?.cycles,area:d?.ocrData?.area,needs_manual_validation:u,ocr_confidence_cost:d?.ocrData?.confidence?.cost||0,ocr_confidence_cycles:d?.ocrData?.confidence?.cycles||0,ocr_confidence_area:d?.ocrData?.confidence?.area||0}});if(o.length===0)return{error:"No valid puzzle responses found",status:400};const i=e.map(l=>l.file);return mt.createSubmission({notes:s,manual_validation_requested:n,responses:o},i)},async loadSubmissions(e=20,t=0){const s=await mt.getSubmissions(e,t);return s.error?(console.error("Failed to load submissions:",s.error),[]):s.data?.items||[]}},co={getErrorMessage(e){return typeof e=="string"?e:e instanceof Error?e.message:typeof e=="object"&&e!==null&&"detail"in e?String(e.detail):"An unknown error occurred"},isNetworkError(e){return typeof e=="string"&&e.includes("Network")},isValidationError(e){return e===400},isAuthError(e){return e===401||e===403}},er=Ei("puzzles",()=>{const e=ue([]),t=ue(!1),s=ue(""),n=je(()=>e.value.map(l=>l.title)),r=je(()=>l=>{if(!l)return null;const a=e.value.find(u=>u.title.toLowerCase()===l.toLowerCase());return a||e.value.find(u=>u.title.toLowerCase().includes(l.toLowerCase())||l.toLowerCase().includes(u.title.toLowerCase()))||null}),o=async()=>{if(!(e.value.length>0))try{t.value=!0,s.value="";const l=await mt.getPuzzles();if(l.error){s.value=l.error,console.error("Failed to load puzzles:",l.error);return}l.data&&(e.value=l.data)}catch(l){s.value="Failed to load puzzles",console.error("Error loading puzzles:",l)}finally{t.value=!1}};return{puzzles:e,isLoading:t,error:s,puzzleNames:n,findPuzzleByName:r,loadPuzzles:o,refreshPuzzles:async()=>{e.value=[],await o()}}}),uu={class:"form-control w-full"},fu={key:0,class:"space-y-4"},du={key:1,class:"space-y-4"},hu={class:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4"},pu={class:"aspect-square rounded-lg overflow-hidden bg-base-200"},gu=["src","alt"],mu={class:"absolute inset-0 bg-black/50 opacity-0 group-hover:opacity-100 transition-opacity duration-200 rounded-lg flex items-center justify-center"},vu=["onClick"],bu={class:"mt-2"},_u={class:"text-xs font-medium truncate"},yu={class:"text-xs text-base-content/60"},wu={key:0,class:"mt-1 flex items-center gap-1"},xu={key:1,class:"mt-1"},Su={class:"text-xs text-error"},zu={key:2,class:"mt-1 space-y-1"},Cu={class:"text-xs flex items-center justify-between"},Eu={class:"flex items-center gap-2"},Ou=["title"],Pu=["onClick"],Ru={class:"text-xs space-y-1 bg-base-200 p-2 rounded"},Mu={key:0},$u=["title"],Lu={key:1},Tu=["title"],ku={key:2},Au=["title"],Iu={key:3},Du=["title"],Nu={key:3,class:"mt-2"},Fu={class:"mt-2"},ju=["onUpdate:modelValue","onChange"],Uu=["value"],Vu={key:4,class:"mt-1"},qu=["onClick"],Bu={class:"flex justify-center"},Hu={key:0,class:"label"},Wu={class:"label-text-alt text-error"},Ku=as({__name:"FileUpload",props:{modelValue:{},puzzles:{}},emits:["update:modelValue"],setup(e,{emit:t}){const s=e,n=t,r=er(),o=ue(),i=ue(!1),l=ue(""),a=ue([]);gt(()=>s.modelValue,R=>{a.value=R},{immediate:!0}),gt(a,R=>{n("update:modelValue",R)},{deep:!0}),gt(()=>r.puzzles,R=>{R&&R.length>0&&mn.setAvailablePuzzleNames(r.puzzleNames)},{immediate:!0});const d=R=>{const $=R.target;$.files&&p(Array.from($.files))},u=R=>{R.preventDefault(),i.value=!1,R.dataTransfer?.files&&p(Array.from(R.dataTransfer.files))},p=async R=>{l.value="";for(const $ of R)if(w($))try{const M=await v($),U=$.type.startsWith("image/gif")?"gif":"image",F={file:$,preview:M,type:U,ocrProcessing:!1,ocrError:void 0,ocrData:void 0};a.value.push(F),T($)&&kt(()=>{N(F)})}catch{l.value=`Failed to process ${$.name}`}},w=R=>R.type.startsWith("image/")?R.size>256*1024*1024?(l.value=`${R.name} is too large (max 256MB)`,!1):!0:(l.value=`${R.name} is not a valid image file`,!1),v=R=>new Promise(($,M)=>{const U=new FileReader;U.onload=F=>$(F.target?.result),U.onerror=M,U.readAsDataURL(R)}),g=R=>{a.value.splice(R,1)},m=R=>{if(R===0)return"0 Bytes";const $=1024,M=["Bytes","KB","MB","GB"],U=Math.floor(Math.log(R)/Math.log($));return parseFloat((R/Math.pow($,U)).toFixed(2))+" "+M[U]},T=R=>R.type.startsWith("image/")&&R.size>5e4,N=async R=>{const $=a.value.findIndex(M=>M.file===R.file);if($!==-1){a.value[$].ocrProcessing=!0,a.value[$].ocrError=void 0,a.value[$].ocrData=void 0;try{console.log("Starting OCR processing for:",R.file.name),await mn.initialize();const M=await mn.extractOpusMagnumData(R.file);console.log("OCR completed:",M),await kt(),a.value[$].ocrData=M,M.confidence.puzzle<.8?(a.value[$].needsManualPuzzleSelection=!0,console.log(`Low puzzle confidence (${Math.round(M.confidence.puzzle*100)}%) for ${R.file.name}, requiring manual selection`)):a.value[$].needsManualPuzzleSelection=!1,await kt()}catch(M){console.error("OCR processing failed:",M),a.value[$].ocrError="Failed to extract puzzle data"}finally{a.value[$].ocrProcessing=!1}}},G=R=>{N(R)},j=R=>R>=.8?"badge-success":R>=.6?"badge-warning":"badge-error",k=R=>{const $=a.value.findIndex(M=>M.file===R.file);$!==-1&&a.value[$].manualPuzzleSelection&&(a.value[$].needsManualPuzzleSelection=!1,console.log(`Manual puzzle selection: ${R.file.name} -> ${a.value[$].manualPuzzleSelection}`))};return(R,$)=>(A(),D("div",uu,[$[19]||($[19]=f("label",{class:"label"},[f("span",{class:"label-text font-medium"},"Upload Solution Files"),f("span",{class:"label-text-alt text-xs"},"Images or GIFs only")],-1)),f("div",{class:ht(["border-2 border-dashed border-base-300 rounded-lg p-6 text-center hover:border-primary transition-colors duration-300",{"border-primary bg-primary/5":i.value}]),onDrop:u,onDragover:$[2]||($[2]=Pn(M=>i.value=!0,["prevent"])),onDragleave:$[3]||($[3]=M=>i.value=!1),onDragenter:$[4]||($[4]=Pn(()=>{},["prevent"]))},[f("input",{ref_key:"fileInput",ref:o,type:"file",multiple:"",accept:"image/*,.gif",class:"hidden",onChange:d},null,544),a.value.length===0?(A(),D("div",fu,[$[6]||($[6]=f("div",{class:"mx-auto w-12 h-12 text-base-content/40 flex items-center justify-center"},[f("i",{class:"mdi mdi-cloud-upload text-5xl"})],-1)),f("div",null,[$[5]||($[5]=f("p",{class:"text-base-content/70 mb-2"},"Drop your files here or",-1)),f("button",{type:"button",onClick:$[0]||($[0]=M=>o.value?.click()),class:"btn btn-primary btn-sm"}," Choose Files ")]),$[7]||($[7]=f("p",{class:"text-xs text-base-content/50"}," Supported formats: JPG, PNG, GIF (max 256MB each) ",-1))])):(A(),D("div",du,[f("div",hu,[(A(!0),D(ye,null,Ct(a.value,(M,U)=>(A(),D("div",{key:U,class:"relative group"},[f("div",pu,[f("img",{src:M.preview,alt:M.file.name,class:"w-full h-full object-cover"},null,8,gu)]),f("div",mu,[f("button",{onClick:F=>g(U),class:"btn btn-error btn-sm btn-circle"},[...$[8]||($[8]=[f("i",{class:"mdi mdi-close"},null,-1)])],8,vu)]),f("div",bu,[f("p",_u,H(M.file.name),1),f("p",yu,H(m(M.file.size))+" • "+H(M.type.toUpperCase()),1),M.ocrProcessing?(A(),D("div",wu,[...$[9]||($[9]=[f("span",{class:"loading loading-spinner loading-xs"},null,-1),f("span",{class:"text-xs text-info"},"Extracting puzzle data...",-1)])])):M.ocrError?(A(),D("div",xu,[f("p",Su,H(M.ocrError),1)])):M.ocrData?(A(),D("div",zu,[f("div",Cu,[f("div",Eu,[$[10]||($[10]=f("span",{class:"font-medium text-success"},"✓ OCR Complete",-1)),M.ocrData.confidence?(A(),D("span",{key:0,class:ht(["badge badge-xs",j(M.ocrData.confidence.overall)]),title:`Overall confidence: ${Math.round(M.ocrData.confidence.overall*100)}%`},H(Math.round(M.ocrData.confidence.overall*100))+"% ",11,Ou)):se("",!0)]),f("button",{onClick:F=>G(M),class:"btn btn-xs btn-ghost",title:"Retry OCR"},[...$[11]||($[11]=[f("i",{class:"mdi mdi-refresh"},null,-1)])],8,Pu)]),f("div",Ru,[M.ocrData.puzzle?(A(),D("div",Mu,[$[12]||($[12]=f("strong",null,"Puzzle:",-1)),Ae(" "+H(M.ocrData.puzzle)+" ",1),M.ocrData.confidence?.puzzle?(A(),D("span",{key:0,class:"ml-2 opacity-60",title:`Puzzle confidence: ${Math.round(M.ocrData.confidence.puzzle*100)}%`}," ("+H(Math.round(M.ocrData.confidence.puzzle*100))+"%) ",9,$u)):se("",!0)])):se("",!0),M.ocrData.cost?(A(),D("div",Lu,[$[13]||($[13]=f("strong",null,"Cost:",-1)),Ae(" "+H(M.ocrData.cost)+" ",1),M.ocrData.confidence?.cost?(A(),D("span",{key:0,class:"ml-2 opacity-60",title:`Cost confidence: ${Math.round(M.ocrData.confidence.cost*100)}%`}," ("+H(Math.round(M.ocrData.confidence.cost*100))+"%) ",9,Tu)):se("",!0)])):se("",!0),M.ocrData.cycles?(A(),D("div",ku,[$[14]||($[14]=f("strong",null,"Cycles:",-1)),Ae(" "+H(M.ocrData.cycles)+" ",1),M.ocrData.confidence?.cycles?(A(),D("span",{key:0,class:"ml-2 opacity-60",title:`Cycles confidence: ${Math.round(M.ocrData.confidence.cycles*100)}%`}," ("+H(Math.round(M.ocrData.confidence.cycles*100))+"%) ",9,Au)):se("",!0)])):se("",!0),M.ocrData.area?(A(),D("div",Iu,[$[15]||($[15]=f("strong",null,"Area:",-1)),Ae(" "+H(M.ocrData.area)+" ",1),M.ocrData.confidence?.area?(A(),D("span",{key:0,class:"ml-2 opacity-60",title:`Area confidence: ${Math.round(M.ocrData.confidence.area*100)}%`}," ("+H(Math.round(M.ocrData.confidence.area*100))+"%) ",9,Du)):se("",!0)])):se("",!0)])])):se("",!0),M.needsManualPuzzleSelection?(A(),D("div",Nu,[$[17]||($[17]=ga('
Low OCR Confidence
Please select the correct puzzle manually
',1)),f("div",Fu,[At(f("select",{"onUpdate:modelValue":F=>M.manualPuzzleSelection=F,class:"select select-bordered select-sm w-full",onChange:F=>k(M)},[$[16]||($[16]=f("option",{value:""},"Select puzzle...",-1)),(A(!0),D(ye,null,Ct(Mt(r).puzzles,F=>(A(),D("option",{key:F.id,value:F.title},H(F.title),9,Uu))),128))],40,ju),[[Ka,M.manualPuzzleSelection]])])])):!M.ocrProcessing&&!M.ocrError&&!M.ocrData?(A(),D("div",Vu,[f("button",{onClick:F=>N(M),class:"btn btn-xs btn-outline"},[...$[18]||($[18]=[f("i",{class:"mdi mdi-text-recognition"},null,-1),Ae(" Extract Puzzle Data ",-1)])],8,qu)])):se("",!0)])]))),128))]),f("div",Bu,[f("button",{type:"button",onClick:$[1]||($[1]=M=>o.value?.click()),class:"btn btn-outline btn-sm"}," Add More Files ")])]))],34),l.value?(A(),D("div",Hu,[f("span",Wu,H(l.value),1)])):se("",!0)]))}}),Gu={class:"card bg-base-100 shadow-xl"},Ju={class:"card-body"},Yu={key:0,class:"alert alert-info"},Zu={class:"flex-1"},Qu={class:"font-bold"},Xu={class:"text-sm space-y-1 mt-1"},ef={class:"badge badge-ghost badge-sm ml-2"},tf={key:1,class:"alert alert-warning"},sf={class:"flex-1"},nf={class:"text-sm"},rf={class:"form-control"},of={class:"flex-1"},lf={class:"flex label"},af={class:"label-text-alt"},cf={class:"form-control"},uf={class:"label cursor-pointer justify-start gap-3"},ff={class:"card-actions justify-end"},df=["disabled"],hf={key:0,class:"loading loading-spinner loading-sm"},pf={key:1},gf={key:2},mf={key:3},vf=as({__name:"SubmissionForm",props:{puzzles:{},findPuzzleByName:{type:Function}},emits:["submit"],setup(e,{emit:t}){const s=e,n=t,r=ue([]),o=ue(""),i=ue(!1),l=ue(!1),a=je(()=>o.value.length),d=je(()=>{const g=r.value.length>0,m=!r.value.some(T=>T.needsManualPuzzleSelection);return g&&!l.value&&m}),u=je(()=>{const g={};return r.value.forEach(m=>{const T=m.manualPuzzleSelection||m.ocrData?.puzzle;T&&(g[T]||(g[T]={puzzle:s.findPuzzleByName(T),files:[]}),g[T].files.push(m))}),g}),p=je(()=>r.value.filter(g=>g.needsManualPuzzleSelection)),w=je(()=>r.value.some(g=>g.ocrData?.confidence?g.ocrData.confidence.cost<.5||g.ocrData.confidence.cycles<.5||g.ocrData.confidence.area<.5:!1));gt(w,g=>{g&&!i.value&&(i.value=!0)},{immediate:!0});const v=async()=>{if(d.value){l.value=!0;try{n("submit",{files:r.value,notes:o.value.trim()||void 0,manualValidationRequested:i.value}),r.value=[],o.value="",i.value=!1}catch(g){console.error("Submission error:",g)}finally{l.value=!1}}};return(g,m)=>(A(),D("div",Gu,[f("div",Ju,[m[8]||(m[8]=f("h2",{class:"card-title text-xl mb-6"},[f("i",{class:"mdi mdi-check-circle text-2xl text-primary"}),Ae(" Submit Solution ")],-1)),f("form",{onSubmit:Pn(v,["prevent"]),class:"space-y-6"},[Object.keys(u.value).length>0?(A(),D("div",Yu,[m[3]||(m[3]=f("i",{class:"mdi mdi-information-outline text-xl"},null,-1)),f("div",Zu,[f("h4",Qu,"Detected Puzzles ("+H(Object.keys(u.value).length)+")",1),f("div",Xu,[(A(!0),D(ye,null,Ct(u.value,(T,N)=>(A(),D("div",{key:N,class:"flex justify-between"},[f("span",null,H(N),1),f("span",ef,H(T.files.length)+" file(s)",1)]))),128))])])])):se("",!0),De(Ku,{modelValue:r.value,"onUpdate:modelValue":m[0]||(m[0]=T=>r.value=T),puzzles:e.puzzles},null,8,["modelValue","puzzles"]),p.value.length>0?(A(),D("div",tf,[m[5]||(m[5]=f("i",{class:"mdi mdi-alert-circle text-xl"},null,-1)),f("div",sf,[m[4]||(m[4]=f("div",{class:"font-bold"},"Manual Puzzle Selection Required",-1)),f("div",nf,H(p.value.length)+" file(s) have low OCR confidence for puzzle names. Please select the correct puzzle for each file before submitting. ",1)])])):se("",!0),f("div",rf,[f("div",of,[f("label",lf,[m[6]||(m[6]=f("span",{class:"label-text font-medium"},"Notes (Optional)",-1)),f("span",af,H(a.value)+"/500",1)]),At(f("textarea",{"onUpdate:modelValue":m[1]||(m[1]=T=>o.value=T),class:"flex textarea textarea-bordered h-24 w-full resize-none",placeholder:"Add any notes about your solution, approach, or interesting findings...",maxlength:"500"},null,512),[[vs,o.value]])])]),f("div",cf,[f("label",uf,[At(f("input",{type:"checkbox","onUpdate:modelValue":m[2]||(m[2]=T=>i.value=T),class:"checkbox checkbox-primary"},null,512),[[Wa,i.value]]),m[7]||(m[7]=f("div",{class:"flex-1"},[f("span",{class:"label-text font-medium"},"Request manual validation"),f("div",{class:"label-text-alt text-xs opacity-70 mt-1"},[Ae(" Check this if you want an admin to manually review your submission, even if OCR confidence is high. "),f("br"),f("em",null,"Note: This will be automatically checked if any OCR confidence is below 50%.")])],-1))])]),f("div",ff,[f("button",{type:"submit",class:"btn btn-primary",disabled:!d.value},[l.value?(A(),D("span",hf)):se("",!0),l.value?(A(),D("span",pf,"Submitting...")):p.value.length>0?(A(),D("span",gf," Select Puzzles ("+H(p.value.length)+" remaining) ",1)):(A(),D("span",mf,"Submit Solution"))],8,df)])],32)])]))}}),bf={class:"card bg-base-100 shadow-xl"},_f={class:"card-body"},yf={class:"stats stats-vertical lg:stats-horizontal shadow mb-6"},wf={class:"stat"},xf={class:"stat-value text-primary"},Sf={class:"stat"},zf={class:"stat-value text-secondary"},Cf={class:"stat"},Ef={class:"stat-value text-warning"},Of={class:"stat"},Pf={class:"stat-value text-success"},Rf={key:0},Mf={class:"overflow-x-auto"},$f={class:"table table-zebra"},Lf={class:"font-bold"},Tf={class:"text-sm opacity-50"},kf={class:"text-sm space-y-1"},Af={class:"flex justify-between items-center"},If={class:"flex justify-between items-center"},Df={class:"flex justify-between items-center"},Nf={class:"badge badge-warning badge-sm"},Ff=["onClick"],jf={key:1,class:"text-center py-8"},Uf={key:0,class:"modal modal-open"},Vf={class:"modal-box"},qf={key:0,class:"space-y-4"},Bf={class:"alert alert-info"},Hf={class:"font-bold"},Wf={class:"grid grid-cols-3 gap-4"},Kf={class:"form-control"},Gf=["placeholder"],Jf={class:"form-control"},Yf=["placeholder"],Zf={class:"form-control"},Qf=["placeholder"],Xf={class:"modal-action"},ed=["disabled"],td={key:0,class:"loading loading-spinner loading-sm"},sd=as({__name:"AdminPanel",setup(e,{expose:t}){const s=ue({total_submissions:0,total_responses:0,needs_validation:0,validated_submissions:0,validation_rate:0}),n=ue([]),r=ue(!1),o=ue(!1),i=ue({show:!1,response:null,data:{validated_cost:"",validated_cycles:"",validated_area:""}}),l=async()=>{try{r.value=!0;try{const g=await mt.getStats();g.data&&(s.value=g.data)}catch(g){console.warn("Stats endpoint not available:",g),s.value={total_submissions:0,total_responses:0,needs_validation:0,validated_submissions:0,validation_rate:0}}const v=await mt.getResponsesNeedingValidation();v.data&&(n.value=v.data)}catch(v){console.error("Failed to load admin data:",v)}finally{r.value=!1}},a=v=>{i.value.response=v,i.value.data={validated_cost:v.cost||"",validated_cycles:v.cycles||"",validated_area:v.area||""},i.value.show=!0},d=()=>{i.value.show=!1,i.value.response=null,i.value.data={validated_cost:"",validated_cycles:"",validated_area:""}},u=async()=>{if(i.value.response?.id)try{o.value=!0;const v=await mt.validateResponse(i.value.response.id,i.value.data);if(v.error){alert(`Validation failed: ${v.error}`);return}n.value=n.value.filter(g=>g.id!==i.value.response?.id),s.value.needs_validation=Math.max(0,s.value.needs_validation-1),d()}catch(v){console.error("Validation error:",v),alert("Validation failed")}finally{o.value=!1}};Kn(()=>{l()});const p=v=>v>=.8?"badge-success":v>=.6?"badge-warning":"badge-error",w=v=>{const g=[v.ocr_confidence_cost,v.ocr_confidence_cycles,v.ocr_confidence_area].filter(T=>T!=null);if(g.length===0)return 0;const m=g.reduce((T,N)=>T+N,0)/g.length;return Math.round(m*100)};return t({refresh:l}),(v,g)=>(A(),D(ye,null,[f("div",bf,[f("div",_f,[g[11]||(g[11]=f("h2",{class:"card-title"},[f("i",{class:"mdi mdi-shield-account text-2xl text-warning"}),Ae(" Admin Panel ")],-1)),f("div",yf,[f("div",wf,[g[3]||(g[3]=f("div",{class:"stat-title"},"Total Submissions",-1)),f("div",xf,H(s.value.total_submissions),1)]),f("div",Sf,[g[4]||(g[4]=f("div",{class:"stat-title"},"Total Responses",-1)),f("div",zf,H(s.value.total_responses),1)]),f("div",Cf,[g[5]||(g[5]=f("div",{class:"stat-title"},"Need Validation",-1)),f("div",Ef,H(s.value.needs_validation),1)]),f("div",Of,[g[6]||(g[6]=f("div",{class:"stat-title"},"Validation Rate",-1)),f("div",Pf,H(Math.round(s.value.validation_rate*100))+"%",1)])]),n.value.length>0?(A(),D("div",Rf,[g[9]||(g[9]=f("h3",{class:"text-lg font-bold mb-4"},"Responses Needing Validation",-1)),f("div",Mf,[f("table",$f,[g[8]||(g[8]=f("thead",null,[f("tr",null,[f("th",null,"Puzzle"),f("th",null,"OCR Data"),f("th",null,"Confidence"),f("th",null,"Actions")])],-1)),f("tbody",null,[(A(!0),D(ye,null,Ct(n.value,m=>(A(),D("tr",{key:m.id},[f("td",null,[f("div",Lf,H(m.puzzle_name),1),f("div",Tf,"ID: "+H(m.id),1)]),f("td",null,[f("div",kf,[f("div",Af,[f("span",null,"Cost: "+H(m.cost||"-"),1),m.ocr_confidence_cost?(A(),D("span",{key:0,class:ht(["badge badge-xs",p(m.ocr_confidence_cost)])},H(Math.round(m.ocr_confidence_cost*100))+"% ",3)):se("",!0)]),f("div",If,[f("span",null,"Cycles: "+H(m.cycles||"-"),1),m.ocr_confidence_cycles?(A(),D("span",{key:0,class:ht(["badge badge-xs",p(m.ocr_confidence_cycles)])},H(Math.round(m.ocr_confidence_cycles*100))+"% ",3)):se("",!0)]),f("div",Df,[f("span",null,"Area: "+H(m.area||"-"),1),m.ocr_confidence_area?(A(),D("span",{key:0,class:ht(["badge badge-xs",p(m.ocr_confidence_area)])},H(Math.round(m.ocr_confidence_area*100))+"% ",3)):se("",!0)])])]),f("td",null,[f("div",Nf,H(w(m))+"% ",1)]),f("td",null,[f("button",{onClick:T=>a(m),class:"btn btn-sm btn-primary"},[...g[7]||(g[7]=[f("i",{class:"mdi mdi-check-circle mr-1"},null,-1),Ae(" Validate ",-1)])],8,Ff)])]))),128))])])])])):(A(),D("div",jf,[...g[10]||(g[10]=[f("i",{class:"mdi mdi-check-all text-6xl text-success opacity-50"},null,-1),f("p",{class:"text-lg font-medium mt-2"},"All responses validated!",-1),f("p",{class:"text-sm opacity-70"},"No responses currently need manual validation.",-1)])]))])]),i.value.show?(A(),D("div",Uf,[f("div",Vf,[g[17]||(g[17]=f("h3",{class:"font-bold text-lg mb-4"},"Validate Response",-1)),i.value.response?(A(),D("div",qf,[f("div",Bf,[g[13]||(g[13]=f("i",{class:"mdi mdi-information-outline"},null,-1)),f("div",null,[f("div",Hf,H(i.value.response.puzzle_name),1),g[12]||(g[12]=f("div",{class:"text-sm"},"Review and correct the OCR data below",-1))])]),f("div",Wf,[f("div",Kf,[g[14]||(g[14]=f("label",{class:"label"},[f("span",{class:"label-text"},"Cost")],-1)),At(f("input",{"onUpdate:modelValue":g[0]||(g[0]=m=>i.value.data.validated_cost=m),type:"text",class:"input input-bordered input-sm",placeholder:i.value.response.cost||"Enter cost"},null,8,Gf),[[vs,i.value.data.validated_cost]])]),f("div",Jf,[g[15]||(g[15]=f("label",{class:"label"},[f("span",{class:"label-text"},"Cycles")],-1)),At(f("input",{"onUpdate:modelValue":g[1]||(g[1]=m=>i.value.data.validated_cycles=m),type:"text",class:"input input-bordered input-sm",placeholder:i.value.response.cycles||"Enter cycles"},null,8,Yf),[[vs,i.value.data.validated_cycles]])]),f("div",Zf,[g[16]||(g[16]=f("label",{class:"label"},[f("span",{class:"label-text"},"Area")],-1)),At(f("input",{"onUpdate:modelValue":g[2]||(g[2]=m=>i.value.data.validated_area=m),type:"text",class:"input input-bordered input-sm",placeholder:i.value.response.area||"Enter area"},null,8,Qf),[[vs,i.value.data.validated_area]])])]),f("div",Xf,[f("button",{onClick:d,class:"btn btn-ghost"},"Cancel"),f("button",{onClick:u,class:"btn btn-primary",disabled:o.value},[o.value?(A(),D("span",td)):se("",!0),Ae(" "+H(o.value?"Validating...":"Validate"),1)],8,ed)])])):se("",!0)]),f("div",{class:"modal-backdrop",onClick:d})])):se("",!0)],64))}}),nd=Ei("submissions",()=>{const e=ue([]),t=ue(!1),s=ue(""),n=ue(!1),r=async(d=20,u=0)=>{try{t.value=!0,s.value="";const p=await ao.loadSubmissions(d,u);u===0?e.value=p:e.value.push(...p)}catch(p){s.value="Failed to load submissions",console.error("Error loading submissions:",p)}finally{t.value=!1}};return{submissions:e,isLoading:t,error:s,isSubmissionModalOpen:n,loadSubmissions:r,createSubmission:async(d,u,p)=>{try{t.value=!0,s.value="";const w=er(),v=await ao.createFromFiles(d,w.puzzles,u,p);if(v.error)throw s.value=v.error,new Error(v.error);return v.data?(e.value.unshift(v.data),v.data):void 0}catch(w){throw s.value=w instanceof Error?w.message:"Failed to create submission",w}finally{t.value=!1}},openSubmissionModal:()=>{n.value=!0},closeSubmissionModal:()=>{n.value=!1},refreshSubmissions:async()=>{e.value=[],await r()}}}),rd={class:"min-h-screen bg-base-200"},od={class:"navbar bg-base-100 shadow-lg"},id={class:"container mx-auto"},ld={class:"flex items-start justify-between"},ad={key:0,class:"flex items-center gap-2"},cd={class:"text-sm"},ud={class:"font-medium"},fd={key:0,class:"badge badge-warning badge-xs ml-1"},dd={key:1,class:"text-sm text-base-content/70"},hd={class:"container mx-auto px-4 py-8"},pd={key:0,class:"flex justify-center items-center min-h-[400px]"},gd={key:1,class:"alert alert-error max-w-2xl mx-auto"},md={class:"text-sm"},vd={key:2,class:"space-y-8"},bd={key:0,class:"mb-8"},_d={class:"card bg-base-100 shadow-lg"},yd={class:"card-body"},wd={class:"card-title text-2xl"},xd={class:"text-base-content/70"},Sd={key:1},zd={class:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6"},Cd={key:2,class:"text-center py-12"},Ed={key:0,class:"modal modal-open"},Od={class:"modal-box max-w-4xl"},Pd=as({__name:"App",setup(e){const t=er(),s=nd(),n=ue([]),r=ue(null),o=ue(!0),i=ue(""),l=je(()=>r.value?.is_superuser||!1),a=je(()=>{const g={};return s.submissions.forEach(m=>{m.responses.forEach(T=>{const N=typeof T.puzzle=="number"?T.puzzle:T.puzzle.id;g[N]||(g[N]=[]),g[N].push(T)})}),g});Kn(async()=>{try{o.value=!0,i.value="",console.log("Starting data load..."),console.log("Loading user info...");const g=await mt.getUserInfo();g.data?(r.value=g.data,console.log("User info loaded:",g.data)):g.error&&console.warn("User info error:",g.error),console.log("Loading puzzles..."),await t.loadPuzzles(),console.log("Puzzles loaded:",t.puzzles.length),t.puzzles.length>0&&(n.value=[{id:1,steam_id:"3479142989",title:"PolyLAN 41",description:"Puzzle collection for PolyLAN 41 fil rouge",author_name:"Flame Legrems",total_items:t.puzzles.length,unique_visitors:31,current_favorites:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}],console.log("Collection created")),console.log("Loading submissions..."),await s.loadSubmissions(),console.log("Submissions loaded:",s.submissions.length),console.log("Data load complete!")}catch(g){i.value=co.getErrorMessage(g),console.error("Failed to load data:",g)}finally{o.value=!1,console.log("Loading state set to false")}});const d=async g=>{try{o.value=!0,i.value="";const m=await s.createSubmission(g.files,g.notes,g.manualValidationRequested);if(m){const T=m.responses.map(N=>N.puzzle_name).join(", ");alert(`Solutions submitted successfully for puzzles: ${T}`)}else alert("Submission created successfully!");s.closeSubmissionModal()}catch(m){const T=co.getErrorMessage(m);i.value=T,alert(`Submission failed: ${T}`),console.error("Submission error:",m)}finally{o.value=!1}},u=()=>{s.openSubmissionModal()},p=()=>{s.closeSubmissionModal()},w=g=>t.findPuzzleByName(g),v=()=>{window.location.reload()};return(g,m)=>(A(),D("div",rd,[f("div",od,[f("div",id,[m[1]||(m[1]=f("div",{class:"flex-1"},[f("h1",{class:"text-xl font-bold"},"Opus Magnum Puzzle Submitter")],-1)),f("div",ld,[r.value?.is_authenticated?(A(),D("div",ad,[f("div",cd,[f("span",ud,H(r.value.username),1),r.value.is_superuser?(A(),D("span",fd,"Admin")):se("",!0)])])):(A(),D("div",dd," Not logged in ")),m[0]||(m[0]=f("div",{class:"flex flex-col items-end gap-2"},[f("a",{href:"/admin",class:"btn btn-xs btn-warning"}," Admin django ")],-1))])])]),f("div",hd,[o.value?(A(),D("div",pd,[...m[2]||(m[2]=[f("div",{class:"text-center"},[f("span",{class:"loading loading-spinner loading-lg"}),f("p",{class:"mt-4 text-base-content/70"},"Loading puzzles...")],-1)])])):i.value?(A(),D("div",gd,[m[5]||(m[5]=f("i",{class:"mdi mdi-alert-circle text-xl"},null,-1)),f("div",null,[m[3]||(m[3]=f("h3",{class:"font-bold"},"Error Loading Data",-1)),f("div",md,H(i.value),1)]),f("button",{onClick:v,class:"btn btn-sm btn-outline"},[...m[4]||(m[4]=[f("i",{class:"mdi mdi-refresh mr-1"},null,-1),Ae(" Retry ",-1)])])])):(A(),D("div",vd,[n.value.length>0?(A(),D("div",bd,[f("div",_d,[f("div",yd,[f("h2",wd,H(n.value[0].title),1),f("p",xd,H(n.value[0].description),1),f("div",{class:"flex flex-wrap gap-4 mt-4"},[f("button",{onClick:u,class:"btn btn-primary"},[...m[6]||(m[6]=[f("i",{class:"mdi mdi-plus mr-2"},null,-1),Ae(" Submit Solution ",-1)])])])])])])):se("",!0),l.value?(A(),D("div",Sd,[De(sd)])):se("",!0),f("div",zd,[(A(!0),D(ye,null,Ct(Mt(t).puzzles,T=>(A(),fi(Tc,{key:T.id,puzzle:T,responses:a.value[T.id]||[]},null,8,["puzzle","responses"]))),128))]),Mt(t).puzzles.length===0?(A(),D("div",Cd,[...m[7]||(m[7]=[f("div",{class:"text-6xl mb-4"},"🧩",-1),f("h3",{class:"text-xl font-bold mb-2"},"No Puzzles Available",-1),f("p",{class:"text-base-content/70"},"Check back later for new puzzle collections!",-1)])])):se("",!0)]))]),Mt(s).isSubmissionModalOpen?(A(),D("div",Ed,[f("div",Od,[f("div",{class:"flex justify-between items-center mb-4"},[m[9]||(m[9]=f("h3",{class:"font-bold text-lg"},"Submit Solution",-1)),f("button",{onClick:p,class:"btn btn-sm btn-circle btn-ghost"},[...m[8]||(m[8]=[f("i",{class:"mdi mdi-close"},null,-1)])])]),De(vf,{puzzles:Mt(t).puzzles,"find-puzzle-by-name":w,onSubmit:d},null,8,["puzzles"])]),f("div",{class:"modal-backdrop",onClick:p})])):se("",!0)]))}}),Rd=su(),Oi=Qa(Pd);Oi.use(Rd);Oi.mount("#app");