@nowcrew/daemon 0.6.11 → 0.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/README.md +6 -3
  2. package/dist/agent-ability/materializer.js +4 -3
  3. package/dist/agent-ability/resolver.js +13 -3
  4. package/dist/agent-ability/types.js +11 -7
  5. package/dist/config.js +4 -2
  6. package/dist/execution-runner.js +4 -1
  7. package/dist/host-execution-coordinator.js +3 -3
  8. package/dist/main.js +0 -0
  9. package/dist/memory-prune-diagnostics.js +6 -0
  10. package/dist/remote/claude-bridge.js +558 -0
  11. package/dist/remote/claude-channel.js +164 -0
  12. package/dist/remote/codex-client.js +451 -0
  13. package/dist/remote/codex-runtime.js +77 -0
  14. package/dist/remote/config.js +135 -0
  15. package/dist/remote/gateway.js +879 -0
  16. package/dist/remote/identity.js +39 -0
  17. package/dist/remote/owner.js +77 -0
  18. package/dist/remote/protocol.js +211 -0
  19. package/dist/remote/remote-cli.js +254 -0
  20. package/dist/remote/runtime-probe.js +182 -0
  21. package/dist/remote/session-discovery.js +249 -0
  22. package/dist/remote/wrapper.js +40 -0
  23. package/dist/remote-web/assets/index-B_6VM_tw.js +94 -0
  24. package/dist/remote-web/assets/index-L6EiQbJn.css +1 -0
  25. package/dist/remote-web/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  26. package/dist/remote-web/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  27. package/dist/remote-web/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  28. package/dist/remote-web/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  29. package/dist/remote-web/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  30. package/dist/remote-web/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  31. package/dist/remote-web/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  32. package/dist/remote-web/icons/nowwork-192.png +0 -0
  33. package/dist/remote-web/icons/nowwork-512.png +0 -0
  34. package/dist/remote-web/icons/nowwork.svg +7 -0
  35. package/dist/remote-web/index.html +20 -0
  36. package/dist/remote-web/manifest.webmanifest +13 -0
  37. package/dist/remote-web/sw.js +12 -0
  38. package/dist/serve.js +9 -3
  39. package/dist/shared-execution-slots.js +17 -9
  40. package/dist/slog.js +11 -0
  41. package/dist/workspace.js +18 -17
  42. package/package.json +9 -10
@@ -0,0 +1,94 @@
1
+ var Tr=Object.defineProperty;var Ir=(e,t,s)=>t in e?Tr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s;var Je=(e,t,s)=>Ir(e,typeof t!="symbol"?t+"":t,s);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))n(i);new MutationObserver(i=>{for(const r of i)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&n(o)}).observe(document,{childList:!0,subtree:!0});function s(i){const r={};return i.integrity&&(r.integrity=i.integrity),i.referrerPolicy&&(r.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?r.credentials="include":i.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function n(i){if(i.ep)return;i.ep=!0;const r=s(i);fetch(i.href,r)}})();/**
2
+ * @vue/shared v3.5.38
3
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
+ * @license MIT
5
+ **/function gn(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const te={},Et=[],Ve=()=>{},bi=()=>!1,Is=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Es=e=>e.startsWith("onUpdate:"),he=Object.assign,mn=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},Er=Object.prototype.hasOwnProperty,J=(e,t)=>Er.call(e,t),P=Array.isArray,Mt=e=>ss(e)==="[object Map]",$t=e=>ss(e)==="[object Set]",Dn=e=>ss(e)==="[object Date]",L=e=>typeof e=="function",le=e=>typeof e=="string",Be=e=>typeof e=="symbol",G=e=>e!==null&&typeof e=="object",wi=e=>(G(e)||L(e))&&L(e.then)&&L(e.catch),xi=Object.prototype.toString,ss=e=>xi.call(e),Mr=e=>ss(e).slice(8,-1),Si=e=>ss(e)==="[object Object]",vn=e=>le(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Vt=gn(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ms=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},Ar=/-\w/g,Oe=Ms(e=>e.replace(Ar,t=>t.slice(1).toUpperCase())),Or=/\B([A-Z])/g,at=Ms(e=>e.replace(Or,"-$1").toLowerCase()),Ci=Ms(e=>e.charAt(0).toUpperCase()+e.slice(1)),Ns=Ms(e=>e?`on${Ci(e)}`:""),Ue=(e,t)=>!Object.is(e,t),hs=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Ti=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},As=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let qn;const Os=()=>qn||(qn=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function yn(e){if(P(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],i=le(n)?$r(n):yn(n);if(i)for(const r in i)t[r]=i[r]}return t}else if(le(e)||G(e))return e}const Rr=/;(?![^(]*\))/g,Pr=/:([^]+)/,kr=/\/\*[^]*?\*\//g;function $r(e){const t={};return e.replace(kr,"").split(Rr).forEach(s=>{if(s){const n=s.split(Pr);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Se(e){let t="";if(le(e))t=e;else if(P(e))for(let s=0;s<e.length;s++){const n=Se(e[s]);n&&(t+=n+" ")}else if(G(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Fr="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Lr=gn(Fr);function Ii(e){return!!e||e===""}function Nr(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=ct(e[n],t[n]);return s}function ct(e,t){if(e===t)return!0;let s=Dn(e),n=Dn(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Be(e),n=Be(t),s||n)return e===t;if(s=P(e),n=P(t),s||n)return s&&n?Nr(e,t):!1;if(s=G(e),n=G(t),s||n){if(!s||!n)return!1;const i=Object.keys(e).length,r=Object.keys(t).length;if(i!==r)return!1;for(const o in e){const l=e.hasOwnProperty(o),u=t.hasOwnProperty(o);if(l&&!u||!l&&u||!ct(e[o],t[o]))return!1}}return String(e)===String(t)}function _n(e,t){return e.findIndex(s=>ct(s,t))}const Ei=e=>!!(e&&e.__v_isRef===!0),j=e=>le(e)?e:e==null?"":P(e)||G(e)&&(e.toString===xi||!L(e.toString))?Ei(e)?j(e.value):JSON.stringify(e,Mi,2):String(e),Mi=(e,t)=>Ei(t)?Mi(e,t.value):Mt(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,i],r)=>(s[Ds(n,r)+" =>"]=i,s),{})}:$t(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>Ds(s))}:Be(t)?Ds(t):G(t)&&!P(t)&&!Si(t)?String(t):t,Ds=(e,t="")=>{var s;return Be(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
+ * @vue/reactivity v3.5.38
7
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
+ * @license MIT
9
+ **/let de;class Dr{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&de&&(de.active?(this.parent=de,this.index=(de.scopes||(de.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].pause();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,s;if(this.scopes)for(t=0,s=this.scopes.length;t<s;t++)this.scopes[t].resume();for(t=0,s=this.effects.length;t<s;t++)this.effects[t].resume()}}run(t){if(this._active){const s=de;try{return de=this,t()}finally{de=s}}}on(){++this._on===1&&(this.prevScope=de,de=this)}off(){if(this._on>0&&--this._on===0){if(de===this)de=this.prevScope;else{let t=de;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let s,n;for(s=0,n=this.effects.length;s<n;s++)this.effects[s].stop();for(this.effects.length=0,s=0,n=this.cleanups.length;s<n;s++)this.cleanups[s]();if(this.cleanups.length=0,this.scopes){for(s=0,n=this.scopes.length;s<n;s++)this.scopes[s].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const i=this.parent.scopes.pop();i&&i!==this&&(this.parent.scopes[this.index]=i,i.index=this.index)}this.parent=void 0}}}function qr(){return de}let ne;const qs=new WeakSet;class Ai{constructor(t){this.fn=t,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,de&&(de.active?de.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,qs.has(this)&&(qs.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ri(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,jn(this),Pi(this);const t=ne,s=Re;ne=this,Re=!0;try{return this.fn()}finally{ki(this),ne=t,Re=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)xn(t);this.deps=this.depsTail=void 0,jn(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?qs.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){en(this)&&this.run()}get dirty(){return en(this)}}let Oi=0,Bt,Wt;function Ri(e,t=!1){if(e.flags|=8,t){e.next=Wt,Wt=e;return}e.next=Bt,Bt=e}function bn(){Oi++}function wn(){if(--Oi>0)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(;Bt;){let t=Bt;for(Bt=void 0;t;){const s=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(n){e||(e=n)}t=s}}if(e)throw e}function Pi(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function ki(e){let t,s=e.depsTail,n=s;for(;n;){const i=n.prevDep;n.version===-1?(n===s&&(s=i),xn(n),jr(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=i}e.deps=t,e.depsTail=s}function en(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&($i(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function $i(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Xt)||(e.globalVersion=Xt,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!en(e))))return;e.flags|=2;const t=e.dep,s=ne,n=Re;ne=e,Re=!0;try{Pi(e);const i=e.fn(e._value);(t.version===0||Ue(i,e._value))&&(e.flags|=128,e._value=i,t.version++)}catch(i){throw t.version++,i}finally{ne=s,Re=n,ki(e),e.flags&=-3}}function xn(e,t=!1){const{dep:s,prevSub:n,nextSub:i}=e;if(n&&(n.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let r=s.computed.deps;r;r=r.nextDep)xn(r,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function jr(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Re=!0;const Fi=[];function tt(){Fi.push(Re),Re=!1}function st(){const e=Fi.pop();Re=e===void 0?!0:e}function jn(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=ne;ne=void 0;try{t()}finally{ne=s}}}let Xt=0;class Hr{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 Sn{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(!ne||!Re||ne===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==ne)s=this.activeLink=new Hr(ne,this),ne.deps?(s.prevDep=ne.depsTail,ne.depsTail.nextDep=s,ne.depsTail=s):ne.deps=ne.depsTail=s,Li(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=ne.depsTail,s.nextDep=void 0,ne.depsTail.nextDep=s,ne.depsTail=s,ne.deps===s&&(ne.deps=n)}return s}trigger(t){this.version++,Xt++,this.notify(t)}notify(t){bn();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{wn()}}}function Li(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)Li(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const tn=new WeakMap,_t=Symbol(""),sn=Symbol(""),Zt=Symbol("");function pe(e,t,s){if(Re&&ne){let n=tn.get(e);n||tn.set(e,n=new Map);let i=n.get(s);i||(n.set(s,i=new Sn),i.map=n,i.key=s),i.track()}}function Ze(e,t,s,n,i,r){const o=tn.get(e);if(!o){Xt++;return}const l=u=>{u&&u.trigger()};if(bn(),t==="clear")o.forEach(l);else{const u=P(e),d=u&&vn(s);if(u&&s==="length"){const a=Number(n);o.forEach((p,S)=>{(S==="length"||S===Zt||!Be(S)&&S>=a)&&l(p)})}else switch((s!==void 0||o.has(void 0))&&l(o.get(s)),d&&l(o.get(Zt)),t){case"add":u?d&&l(o.get("length")):(l(o.get(_t)),Mt(e)&&l(o.get(sn)));break;case"delete":u||(l(o.get(_t)),Mt(e)&&l(o.get(sn)));break;case"set":Mt(e)&&l(o.get(_t));break}}wn()}function Ct(e){const t=z(e);return t===e?t:(pe(t,"iterate",Zt),Ee(e)?t:t.map(Pe))}function Rs(e){return pe(e=z(e),"iterate",Zt),e}function He(e,t){return nt(e)?Rt(bt(e)?Pe(t):t):Pe(t)}const Kr={__proto__:null,[Symbol.iterator](){return js(this,Symbol.iterator,e=>He(this,e))},concat(...e){return Ct(this).concat(...e.map(t=>P(t)?Ct(t):t))},entries(){return js(this,"entries",e=>(e[1]=He(this,e[1]),e))},every(e,t){return Ge(this,"every",e,t,void 0,arguments)},filter(e,t){return Ge(this,"filter",e,t,s=>s.map(n=>He(this,n)),arguments)},find(e,t){return Ge(this,"find",e,t,s=>He(this,s),arguments)},findIndex(e,t){return Ge(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ge(this,"findLast",e,t,s=>He(this,s),arguments)},findLastIndex(e,t){return Ge(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ge(this,"forEach",e,t,void 0,arguments)},includes(...e){return Hs(this,"includes",e)},indexOf(...e){return Hs(this,"indexOf",e)},join(e){return Ct(this).join(e)},lastIndexOf(...e){return Hs(this,"lastIndexOf",e)},map(e,t){return Ge(this,"map",e,t,void 0,arguments)},pop(){return Nt(this,"pop")},push(...e){return Nt(this,"push",e)},reduce(e,...t){return Hn(this,"reduce",e,t)},reduceRight(e,...t){return Hn(this,"reduceRight",e,t)},shift(){return Nt(this,"shift")},some(e,t){return Ge(this,"some",e,t,void 0,arguments)},splice(...e){return Nt(this,"splice",e)},toReversed(){return Ct(this).toReversed()},toSorted(e){return Ct(this).toSorted(e)},toSpliced(...e){return Ct(this).toSpliced(...e)},unshift(...e){return Nt(this,"unshift",e)},values(){return js(this,"values",e=>He(this,e))}};function js(e,t,s){const n=Rs(e),i=n[t]();return n!==e&&!Ee(e)&&(i._next=i.next,i.next=()=>{const r=i._next();return r.done||(r.value=s(r.value)),r}),i}const Ur=Array.prototype;function Ge(e,t,s,n,i,r){const o=Rs(e),l=o!==e&&!Ee(e),u=o[t];if(u!==Ur[t]){const p=u.apply(e,r);return l?Pe(p):p}let d=s;o!==e&&(l?d=function(p,S){return s.call(this,He(e,p),S,e)}:s.length>2&&(d=function(p,S){return s.call(this,p,S,e)}));const a=u.call(o,d,n);return l&&i?i(a):a}function Hn(e,t,s,n){const i=Rs(e),r=i!==e&&!Ee(e);let o=s,l=!1;i!==e&&(r?(l=n.length===0,o=function(d,a,p){return l&&(l=!1,d=He(e,d)),s.call(this,d,He(e,a),p,e)}):s.length>3&&(o=function(d,a,p){return s.call(this,d,a,p,e)}));const u=i[t](o,...n);return l?He(e,u):u}function Hs(e,t,s){const n=z(e);pe(n,"iterate",Zt);const i=n[t](...s);return(i===-1||i===!1)&&En(s[0])?(s[0]=z(s[0]),n[t](...s)):i}function Nt(e,t,s=[]){tt(),bn();const n=z(e)[t].apply(e,s);return wn(),st(),n}const Vr=gn("__proto__,__v_isRef,__isVue"),Ni=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Be));function Br(e){Be(e)||(e=String(e));const t=z(this);return pe(t,"has",e),t.hasOwnProperty(e)}class Di{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const i=this._isReadonly,r=this._isShallow;if(s==="__v_isReactive")return!i;if(s==="__v_isReadonly")return i;if(s==="__v_isShallow")return r;if(s==="__v_raw")return n===(i?r?to:Ki:r?Hi:ji).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const o=P(t);if(!i){let u;if(o&&(u=Kr[s]))return u;if(s==="hasOwnProperty")return Br}const l=Reflect.get(t,s,ge(t)?t:n);if((Be(s)?Ni.has(s):Vr(s))||(i||pe(t,"get",s),r))return l;if(ge(l)){const u=o&&vn(s)?l:l.value;return i&&G(u)?rn(u):u}return G(l)?i?rn(l):Tn(l):l}}class qi extends Di{constructor(t=!1){super(!1,t)}set(t,s,n,i){let r=t[s];const o=P(t)&&vn(s);if(!this._isShallow){const d=nt(r);if(!Ee(n)&&!nt(n)&&(r=z(r),n=z(n)),!o&&ge(r)&&!ge(n))return d||(r.value=n),!0}const l=o?Number(s)<t.length:J(t,s),u=Reflect.set(t,s,n,ge(t)?t:i);return t===z(i)&&(l?Ue(n,r)&&Ze(t,"set",s,n):Ze(t,"add",s,n)),u}deleteProperty(t,s){const n=J(t,s);t[s];const i=Reflect.deleteProperty(t,s);return i&&n&&Ze(t,"delete",s,void 0),i}has(t,s){const n=Reflect.has(t,s);return(!Be(s)||!Ni.has(s))&&pe(t,"has",s),n}ownKeys(t){return pe(t,"iterate",P(t)?"length":_t),Reflect.ownKeys(t)}}class Wr extends Di{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const zr=new qi,Jr=new Wr,Gr=new qi(!0);const nn=e=>e,os=e=>Reflect.getPrototypeOf(e);function Yr(e,t,s){return function(...n){const i=this.__v_raw,r=z(i),o=Mt(r),l=e==="entries"||e===Symbol.iterator&&o,u=e==="keys"&&o,d=i[e](...n),a=s?nn:t?Rt:Pe;return!t&&pe(r,"iterate",u?sn:_t),he(Object.create(d),{next(){const{value:p,done:S}=d.next();return S?{value:p,done:S}:{value:l?[a(p[0]),a(p[1])]:a(p),done:S}}})}}function ls(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Xr(e,t){const s={get(i){const r=this.__v_raw,o=z(r),l=z(i);e||(Ue(i,l)&&pe(o,"get",i),pe(o,"get",l));const{has:u}=os(o),d=t?nn:e?Rt:Pe;if(u.call(o,i))return d(r.get(i));if(u.call(o,l))return d(r.get(l));r!==o&&r.get(i)},get size(){const i=this.__v_raw;return!e&&pe(z(i),"iterate",_t),i.size},has(i){const r=this.__v_raw,o=z(r),l=z(i);return e||(Ue(i,l)&&pe(o,"has",i),pe(o,"has",l)),i===l?r.has(i):r.has(i)||r.has(l)},forEach(i,r){const o=this,l=o.__v_raw,u=z(l),d=t?nn:e?Rt:Pe;return!e&&pe(u,"iterate",_t),l.forEach((a,p)=>i.call(r,d(a),d(p),o))}};return he(s,e?{add:ls("add"),set:ls("set"),delete:ls("delete"),clear:ls("clear")}:{add(i){const r=z(this),o=os(r),l=z(i),u=!t&&!Ee(i)&&!nt(i)?l:i;return o.has.call(r,u)||Ue(i,u)&&o.has.call(r,i)||Ue(l,u)&&o.has.call(r,l)||(r.add(u),Ze(r,"add",u,u)),this},set(i,r){!t&&!Ee(r)&&!nt(r)&&(r=z(r));const o=z(this),{has:l,get:u}=os(o);let d=l.call(o,i);d||(i=z(i),d=l.call(o,i));const a=u.call(o,i);return o.set(i,r),d?Ue(r,a)&&Ze(o,"set",i,r):Ze(o,"add",i,r),this},delete(i){const r=z(this),{has:o,get:l}=os(r);let u=o.call(r,i);u||(i=z(i),u=o.call(r,i)),l&&l.call(r,i);const d=r.delete(i);return u&&Ze(r,"delete",i,void 0),d},clear(){const i=z(this),r=i.size!==0,o=i.clear();return r&&Ze(i,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(i=>{s[i]=Yr(i,e,t)}),s}function Cn(e,t){const s=Xr(e,t);return(n,i,r)=>i==="__v_isReactive"?!e:i==="__v_isReadonly"?e:i==="__v_raw"?n:Reflect.get(J(s,i)&&i in n?s:n,i,r)}const Zr={get:Cn(!1,!1)},Qr={get:Cn(!1,!0)},eo={get:Cn(!0,!1)};const ji=new WeakMap,Hi=new WeakMap,Ki=new WeakMap,to=new WeakMap;function so(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Tn(e){return nt(e)?e:In(e,!1,zr,Zr,ji)}function no(e){return In(e,!1,Gr,Qr,Hi)}function rn(e){return In(e,!0,Jr,eo,Ki)}function In(e,t,s,n,i){if(!G(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=i.get(e);if(r)return r;const o=so(Mr(e));if(o===0)return e;const l=new Proxy(e,o===2?n:s);return i.set(e,l),l}function bt(e){return nt(e)?bt(e.__v_raw):!!(e&&e.__v_isReactive)}function nt(e){return!!(e&&e.__v_isReadonly)}function Ee(e){return!!(e&&e.__v_isShallow)}function En(e){return e?!!e.__v_raw:!1}function z(e){const t=e&&e.__v_raw;return t?z(t):e}function io(e){return!J(e,"__v_skip")&&Object.isExtensible(e)&&Ti(e,"__v_skip",!0),e}const Pe=e=>G(e)?Tn(e):e,Rt=e=>G(e)?rn(e):e;function ge(e){return e?e.__v_isRef===!0:!1}function ae(e){return ro(e,!1)}function ro(e,t){return ge(e)?e:new oo(e,t)}class oo{constructor(t,s){this.dep=new Sn,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:z(t),this._value=s?t:Pe(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||Ee(t)||nt(t);t=n?t:z(t),Ue(t,s)&&(this._rawValue=t,this._value=n?t:Pe(t),this.dep.trigger())}}function F(e){return ge(e)?e.value:e}const lo={get:(e,t,s)=>t==="__v_raw"?e:F(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const i=e[t];return ge(i)&&!ge(s)?(i.value=s,!0):Reflect.set(e,t,s,n)}};function Ui(e){return bt(e)?e:new Proxy(e,lo)}class co{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new Sn(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)&&ne!==this)return Ri(this,!0),!0}get value(){const t=this.dep.track();return $i(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function uo(e,t,s=!1){let n,i;return L(e)?n=e:(n=e.get,i=e.set),new co(n,i,s)}const cs={},ms=new WeakMap;let yt;function fo(e,t=!1,s=yt){if(s){let n=ms.get(s);n||ms.set(s,n=[]),n.push(e)}}function ao(e,t,s=te){const{immediate:n,deep:i,once:r,scheduler:o,augmentJob:l,call:u}=s,d=A=>i?A:Ee(A)||i===!1||i===0?Qe(A,1):Qe(A);let a,p,S,E,U=!1,k=!1;if(ge(e)?(p=()=>e.value,U=Ee(e)):bt(e)?(p=()=>d(e),U=!0):P(e)?(k=!0,U=e.some(A=>bt(A)||Ee(A)),p=()=>e.map(A=>{if(ge(A))return A.value;if(bt(A))return d(A);if(L(A))return u?u(A,2):A()})):L(e)?t?p=u?()=>u(e,2):e:p=()=>{if(S){tt();try{S()}finally{st()}}const A=yt;yt=a;try{return u?u(e,3,[E]):e(E)}finally{yt=A}}:p=Ve,t&&i){const A=p,re=i===!0?1/0:i;p=()=>Qe(A(),re)}const ie=qr(),q=()=>{a.stop(),ie&&ie.active&&mn(ie.effects,a)};if(r&&t){const A=t;t=(...re)=>{const oe=A(...re);return q(),oe}}let N=k?new Array(e.length).fill(cs):cs;const Y=A=>{if(!(!(a.flags&1)||!a.dirty&&!A))if(t){const re=a.run();if(A||i||U||(k?re.some((oe,B)=>Ue(oe,N[B])):Ue(re,N))){S&&S();const oe=yt;yt=a;try{const B=[re,N===cs?void 0:k&&N[0]===cs?[]:N,E];N=re,u?u(t,3,B):t(...B)}finally{yt=oe}}}else a.run()};return l&&l(Y),a=new Ai(p),a.scheduler=o?()=>o(Y,!1):Y,E=A=>fo(A,!1,a),S=a.onStop=()=>{const A=ms.get(a);if(A){if(u)u(A,4);else for(const re of A)re();ms.delete(a)}},t?n?Y(!0):N=a.run():o?o(Y.bind(null,!0),!0):a.run(),q.pause=a.pause.bind(a),q.resume=a.resume.bind(a),q.stop=q,q}function Qe(e,t=1/0,s){if(t<=0||!G(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,ge(e))Qe(e.value,t,s);else if(P(e))for(let n=0;n<e.length;n++)Qe(e[n],t,s);else if($t(e)||Mt(e))e.forEach(n=>{Qe(n,t,s)});else if(Si(e)){for(const n in e)Qe(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Qe(e[n],t,s)}return e}/**
10
+ * @vue/runtime-core v3.5.38
11
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
+ * @license MIT
13
+ **/function ns(e,t,s,n){try{return n?e(...n):e()}catch(i){Ps(i,t,s)}}function ke(e,t,s,n){if(L(e)){const i=ns(e,t,s,n);return i&&wi(i)&&i.catch(r=>{Ps(r,t,s)}),i}if(P(e)){const i=[];for(let r=0;r<e.length;r++)i.push(ke(e[r],t,s,n));return i}}function Ps(e,t,s,n=!0){const i=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:o}=t&&t.appContext.config||te;if(t){let l=t.parent;const u=t.proxy,d=`https://vuejs.org/error-reference/#runtime-${s}`;for(;l;){const a=l.ec;if(a){for(let p=0;p<a.length;p++)if(a[p](e,u,d)===!1)return}l=l.parent}if(r){tt(),ns(r,null,10,[e,u,d]),st();return}}ho(e,s,i,n,o)}function ho(e,t,s,n=!0,i=!1){if(i)throw e;console.error(e)}const ve=[];let je=-1;const At=[];let lt=null,Tt=0;const Vi=Promise.resolve();let vs=null;function Mn(e){const t=vs||Vi;return e?t.then(this?e.bind(this):e):t}function po(e){let t=je+1,s=ve.length;for(;t<s;){const n=t+s>>>1,i=ve[n],r=Qt(i);r<e||r===e&&i.flags&2?t=n+1:s=n}return t}function An(e){if(!(e.flags&1)){const t=Qt(e),s=ve[ve.length-1];!s||!(e.flags&2)&&t>=Qt(s)?ve.push(e):ve.splice(po(t),0,e),e.flags|=1,Bi()}}function Bi(){vs||(vs=Vi.then(zi))}function go(e){P(e)?At.push(...e):lt&&e.id===-1?lt.splice(Tt+1,0,e):e.flags&1||(At.push(e),e.flags|=1),Bi()}function Kn(e,t,s=je+1){for(;s<ve.length;s++){const n=ve[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;ve.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Wi(e){if(At.length){const t=[...new Set(At)].sort((s,n)=>Qt(s)-Qt(n));if(At.length=0,lt){lt.push(...t);return}for(lt=t,Tt=0;Tt<lt.length;Tt++){const s=lt[Tt];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}lt=null,Tt=0}}const Qt=e=>e.id==null?e.flags&2?-1:1/0:e.id;function zi(e){try{for(je=0;je<ve.length;je++){const t=ve[je];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),ns(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;je<ve.length;je++){const t=ve[je];t&&(t.flags&=-2)}je=-1,ve.length=0,Wi(),vs=null,(ve.length||At.length)&&zi()}}let Ie=null,Ji=null;function ys(e){const t=Ie;return Ie=e,Ji=e&&e.type.__scopeId||null,t}function mo(e,t=Ie,s){if(!t||e._n)return e;const n=(...i)=>{n._d&&ws(-1);const r=ys(t);let o;try{o=e(...i)}finally{ys(r),n._d&&ws(1)}return o};return n._n=!0,n._c=!0,n._d=!0,n}function us(e,t){if(Ie===null)return e;const s=Ls(Ie),n=e.dirs||(e.dirs=[]);for(let i=0;i<t.length;i++){let[r,o,l,u=te]=t[i];r&&(L(r)&&(r={mounted:r,updated:r}),r.deep&&Qe(o),n.push({dir:r,instance:s,value:o,oldValue:void 0,arg:l,modifiers:u}))}return e}function mt(e,t,s,n){const i=e.dirs,r=t&&t.dirs;for(let o=0;o<i.length;o++){const l=i[o];r&&(l.oldValue=r[o].value);let u=l.dir[n];u&&(tt(),ke(u,s,8,[e.el,l,e,t]),st())}}function vo(e,t){if(_e){let s=_e.provides;const n=_e.parent&&_e.parent.provides;n===s&&(s=_e.provides=Object.create(n)),s[e]=t}}function ps(e,t,s=!1){const n=gl();if(n||Ot){let i=Ot?Ot._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return s&&L(t)?t.call(n&&n.proxy):t}}const yo=Symbol.for("v-scx"),_o=()=>ps(yo);function Ks(e,t,s){return Gi(e,t,s)}function Gi(e,t,s=te){const{immediate:n,deep:i,flush:r,once:o}=s,l=he({},s),u=t&&n||!t&&r!=="post";let d;if(ts){if(r==="sync"){const E=_o();d=E.__watcherHandles||(E.__watcherHandles=[])}else if(!u){const E=()=>{};return E.stop=Ve,E.resume=Ve,E.pause=Ve,E}}const a=_e;l.call=(E,U,k)=>ke(E,a,U,k);let p=!1;r==="post"?l.scheduler=E=>{we(E,a&&a.suspense)}:r!=="sync"&&(p=!0,l.scheduler=(E,U)=>{U?E():An(E)}),l.augmentJob=E=>{t&&(E.flags|=4),p&&(E.flags|=2,a&&(E.id=a.uid,E.i=a))};const S=ao(e,t,l);return ts&&(d?d.push(S):u&&S()),S}function bo(e,t,s){const n=this.proxy,i=le(e)?e.includes(".")?Yi(n,e):()=>n[e]:e.bind(n,n);let r;L(t)?r=t:(r=t.handler,s=t);const o=is(this),l=Gi(i,r.bind(n),s);return o(),l}function Yi(e,t){const s=t.split(".");return()=>{let n=e;for(let i=0;i<s.length&&n;i++)n=n[s[i]];return n}}const wo=Symbol("_vte"),xo=e=>e.__isTeleport,Us=Symbol("_leaveCb");function On(e,t){e.shapeFlag&6&&e.component?(e.transition=t,On(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 So(e,t){return L(e)?he({name:e.name},t,{setup:e}):e}function Xi(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Un(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const _s=new WeakMap;function zt(e,t,s,n,i=!1){if(P(e)){e.forEach((k,ie)=>zt(k,t&&(P(t)?t[ie]:t),s,n,i));return}if(Jt(n)&&!i){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&zt(e,t,s,n.component.subTree);return}const r=n.shapeFlag&4?Ls(n.component):n.el,o=i?null:r,{i:l,r:u}=e,d=t&&t.r,a=l.refs===te?l.refs={}:l.refs,p=l.setupState,S=z(p),E=p===te?bi:k=>Un(a,k)?!1:J(S,k),U=(k,ie)=>!(ie&&Un(a,ie));if(d!=null&&d!==u){if(Vn(t),le(d))a[d]=null,E(d)&&(p[d]=null);else if(ge(d)){const k=t;U(d,k.k)&&(d.value=null),k.k&&(a[k.k]=null)}}if(L(u))ns(u,l,12,[o,a]);else{const k=le(u),ie=ge(u);if(k||ie){const q=()=>{if(e.f){const N=k?E(u)?p[u]:a[u]:U()||!e.k?u.value:a[e.k];if(i)P(N)&&mn(N,r);else if(P(N))N.includes(r)||N.push(r);else if(k)a[u]=[r],E(u)&&(p[u]=a[u]);else{const Y=[r];U(u,e.k)&&(u.value=Y),e.k&&(a[e.k]=Y)}}else k?(a[u]=o,E(u)&&(p[u]=o)):ie&&(U(u,e.k)&&(u.value=o),e.k&&(a[e.k]=o))};if(o){const N=()=>{q(),_s.delete(e)};N.id=-1,_s.set(e,N),we(N,s)}else Vn(e),q()}}}function Vn(e){const t=_s.get(e);t&&(t.flags|=8,_s.delete(e))}Os().requestIdleCallback;Os().cancelIdleCallback;const Jt=e=>!!e.type.__asyncLoader,Zi=e=>e.type.__isKeepAlive;function Co(e,t){Qi(e,"a",t)}function To(e,t){Qi(e,"da",t)}function Qi(e,t,s=_e){const n=e.__wdc||(e.__wdc=()=>{let i=s;for(;i;){if(i.isDeactivated)return;i=i.parent}return e()});if(ks(t,n,s),s){let i=s.parent;for(;i&&i.parent;)Zi(i.parent.vnode)&&Io(n,t,s,i),i=i.parent}}function Io(e,t,s,n){const i=ks(t,e,n,!0);Rn(()=>{mn(n[t],i)},s)}function ks(e,t,s=_e,n=!1){if(s){const i=s[e]||(s[e]=[]),r=t.__weh||(t.__weh=(...o)=>{tt();const l=is(s),u=ke(t,s,e,o);return l(),st(),u});return n?i.unshift(r):i.push(r),r}}const it=e=>(t,s=_e)=>{(!ts||e==="sp")&&ks(e,(...n)=>t(...n),s)},Eo=it("bm"),er=it("m"),Mo=it("bu"),Ao=it("u"),Oo=it("bum"),Rn=it("um"),Ro=it("sp"),Po=it("rtg"),ko=it("rtc");function $o(e,t=_e){ks("ec",e,t)}const Fo=Symbol.for("v-ndc");function Dt(e,t,s,n){let i;const r=s,o=P(e);if(o||le(e)){const l=o&&bt(e);let u=!1,d=!1;l&&(u=!Ee(e),d=nt(e),e=Rs(e)),i=new Array(e.length);for(let a=0,p=e.length;a<p;a++)i[a]=t(u?d?Rt(Pe(e[a])):Pe(e[a]):e[a],a,void 0,r)}else if(typeof e=="number"){i=new Array(e);for(let l=0;l<e;l++)i[l]=t(l+1,l,void 0,r)}else if(G(e))if(e[Symbol.iterator])i=Array.from(e,(l,u)=>t(l,u,void 0,r));else{const l=Object.keys(e);i=new Array(l.length);for(let u=0,d=l.length;u<d;u++){const a=l[u];i[u]=t(e[a],a,u,r)}}else i=[];return i}const on=e=>e?br(e)?Ls(e):on(e.parent):null,Gt=he(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>on(e.parent),$root:e=>on(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>sr(e),$forceUpdate:e=>e.f||(e.f=()=>{An(e.update)}),$nextTick:e=>e.n||(e.n=Mn.bind(e.proxy)),$watch:e=>bo.bind(e)}),Vs=(e,t)=>e!==te&&!e.__isScriptSetup&&J(e,t),Lo={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:i,props:r,accessCache:o,type:l,appContext:u}=e;if(t[0]!=="$"){const S=o[t];if(S!==void 0)switch(S){case 1:return n[t];case 2:return i[t];case 4:return s[t];case 3:return r[t]}else{if(Vs(n,t))return o[t]=1,n[t];if(i!==te&&J(i,t))return o[t]=2,i[t];if(J(r,t))return o[t]=3,r[t];if(s!==te&&J(s,t))return o[t]=4,s[t];ln&&(o[t]=0)}}const d=Gt[t];let a,p;if(d)return t==="$attrs"&&pe(e.attrs,"get",""),d(e);if((a=l.__cssModules)&&(a=a[t]))return a;if(s!==te&&J(s,t))return o[t]=4,s[t];if(p=u.config.globalProperties,J(p,t))return p[t]},set({_:e},t,s){const{data:n,setupState:i,ctx:r}=e;return Vs(i,t)?(i[t]=s,!0):n!==te&&J(n,t)?(n[t]=s,!0):J(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:i,props:r,type:o}},l){let u;return!!(s[l]||e!==te&&l[0]!=="$"&&J(e,l)||Vs(t,l)||J(r,l)||J(n,l)||J(Gt,l)||J(i.config.globalProperties,l)||(u=o.__cssModules)&&u[l])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:J(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Bn(e){return P(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let ln=!0;function No(e){const t=sr(e),s=e.proxy,n=e.ctx;ln=!1,t.beforeCreate&&Wn(t.beforeCreate,e,"bc");const{data:i,computed:r,methods:o,watch:l,provide:u,inject:d,created:a,beforeMount:p,mounted:S,beforeUpdate:E,updated:U,activated:k,deactivated:ie,beforeDestroy:q,beforeUnmount:N,destroyed:Y,unmounted:A,render:re,renderTracked:oe,renderTriggered:B,errorCaptured:Ae,serverPrefetch:dt,expose:We,inheritAttrs:rt,components:ht,directives:Te,filters:wt}=t;if(d&&Do(d,n,null),o)for(const se in o){const X=o[se];L(X)&&(n[se]=X.bind(s))}if(i){const se=i.call(s,s);G(se)&&(e.data=Tn(se))}if(ln=!0,r)for(const se in r){const X=r[se],ze=L(X)?X.bind(s,s):L(X.get)?X.get.bind(s,s):Ve,xt=!L(X)&&L(X.set)?X.set.bind(s):Ve,Fe=an({get:ze,set:xt});Object.defineProperty(n,se,{enumerable:!0,configurable:!0,get:()=>Fe.value,set:be=>Fe.value=be})}if(l)for(const se in l)tr(l[se],n,s,se);if(u){const se=L(u)?u.call(s):u;Reflect.ownKeys(se).forEach(X=>{vo(X,se[X])})}a&&Wn(a,e,"c");function ue(se,X){P(X)?X.forEach(ze=>se(ze.bind(s))):X&&se(X.bind(s))}if(ue(Eo,p),ue(er,S),ue(Mo,E),ue(Ao,U),ue(Co,k),ue(To,ie),ue($o,Ae),ue(ko,oe),ue(Po,B),ue(Oo,N),ue(Rn,A),ue(Ro,dt),P(We))if(We.length){const se=e.exposed||(e.exposed={});We.forEach(X=>{Object.defineProperty(se,X,{get:()=>s[X],set:ze=>s[X]=ze,enumerable:!0})})}else e.exposed||(e.exposed={});re&&e.render===Ve&&(e.render=re),rt!=null&&(e.inheritAttrs=rt),ht&&(e.components=ht),Te&&(e.directives=Te),dt&&Xi(e)}function Do(e,t,s=Ve){P(e)&&(e=cn(e));for(const n in e){const i=e[n];let r;G(i)?"default"in i?r=ps(i.from||n,i.default,!0):r=ps(i.from||n):r=ps(i),ge(r)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>r.value,set:o=>r.value=o}):t[n]=r}}function Wn(e,t,s){ke(P(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function tr(e,t,s,n){let i=n.includes(".")?Yi(s,n):()=>s[n];if(le(e)){const r=t[e];L(r)&&Ks(i,r)}else if(L(e))Ks(i,e.bind(s));else if(G(e))if(P(e))e.forEach(r=>tr(r,t,s,n));else{const r=L(e.handler)?e.handler.bind(s):t[e.handler];L(r)&&Ks(i,r,e)}}function sr(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:i,optionsCache:r,config:{optionMergeStrategies:o}}=e.appContext,l=r.get(t);let u;return l?u=l:!i.length&&!s&&!n?u=t:(u={},i.length&&i.forEach(d=>bs(u,d,o,!0)),bs(u,t,o)),G(t)&&r.set(t,u),u}function bs(e,t,s,n=!1){const{mixins:i,extends:r}=t;r&&bs(e,r,s,!0),i&&i.forEach(o=>bs(e,o,s,!0));for(const o in t)if(!(n&&o==="expose")){const l=qo[o]||s&&s[o];e[o]=l?l(e[o],t[o]):t[o]}return e}const qo={data:zn,props:Jn,emits:Jn,methods:Ht,computed:Ht,beforeCreate:me,created:me,beforeMount:me,mounted:me,beforeUpdate:me,updated:me,beforeDestroy:me,beforeUnmount:me,destroyed:me,unmounted:me,activated:me,deactivated:me,errorCaptured:me,serverPrefetch:me,components:Ht,directives:Ht,watch:Ho,provide:zn,inject:jo};function zn(e,t){return t?e?function(){return he(L(e)?e.call(this,this):e,L(t)?t.call(this,this):t)}:t:e}function jo(e,t){return Ht(cn(e),cn(t))}function cn(e){if(P(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function me(e,t){return e?[...new Set([].concat(e,t))]:t}function Ht(e,t){return e?he(Object.create(null),e,t):t}function Jn(e,t){return e?P(e)&&P(t)?[...new Set([...e,...t])]:he(Object.create(null),Bn(e),Bn(t??{})):t}function Ho(e,t){if(!e)return t;if(!t)return e;const s=he(Object.create(null),e);for(const n in t)s[n]=me(e[n],t[n]);return s}function nr(){return{app:null,config:{isNativeTag:bi,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ko=0;function Uo(e,t){return function(n,i=null){L(n)||(n=he({},n)),i!=null&&!G(i)&&(i=null);const r=nr(),o=new WeakSet,l=[];let u=!1;const d=r.app={_uid:Ko++,_component:n,_props:i,_container:null,_context:r,_instance:null,version:wl,get config(){return r.config},set config(a){},use(a,...p){return o.has(a)||(a&&L(a.install)?(o.add(a),a.install(d,...p)):L(a)&&(o.add(a),a(d,...p))),d},mixin(a){return r.mixins.includes(a)||r.mixins.push(a),d},component(a,p){return p?(r.components[a]=p,d):r.components[a]},directive(a,p){return p?(r.directives[a]=p,d):r.directives[a]},mount(a,p,S){if(!u){const E=d._ceVNode||ee(n,i);return E.appContext=r,S===!0?S="svg":S===!1&&(S=void 0),e(E,a,S),u=!0,d._container=a,a.__vue_app__=d,Ls(E.component)}},onUnmount(a){l.push(a)},unmount(){u&&(ke(l,d._instance,16),e(null,d._container),delete d._container.__vue_app__)},provide(a,p){return r.provides[a]=p,d},runWithContext(a){const p=Ot;Ot=d;try{return a()}finally{Ot=p}}};return d}}let Ot=null;const Vo=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Oe(t)}Modifiers`]||e[`${at(t)}Modifiers`];function Bo(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||te;let i=s;const r=t.startsWith("update:"),o=r&&Vo(n,t.slice(7));o&&(o.trim&&(i=s.map(a=>le(a)?a.trim():a)),o.number&&(i=s.map(As)));let l,u=n[l=Ns(t)]||n[l=Ns(Oe(t))];!u&&r&&(u=n[l=Ns(at(t))]),u&&ke(u,e,6,i);const d=n[l+"Once"];if(d){if(!e.emitted)e.emitted={};else if(e.emitted[l])return;e.emitted[l]=!0,ke(d,e,6,i)}}const Wo=new WeakMap;function ir(e,t,s=!1){const n=s?Wo:t.emitsCache,i=n.get(e);if(i!==void 0)return i;const r=e.emits;let o={},l=!1;if(!L(e)){const u=d=>{const a=ir(d,t,!0);a&&(l=!0,he(o,a))};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}return!r&&!l?(G(e)&&n.set(e,null),null):(P(r)?r.forEach(u=>o[u]=null):he(o,r),G(e)&&n.set(e,o),o)}function $s(e,t){return!e||!Is(t)?!1:(t=t.slice(2).replace(/Once$/,""),J(e,t[0].toLowerCase()+t.slice(1))||J(e,at(t))||J(e,t))}function Gn(e){const{type:t,vnode:s,proxy:n,withProxy:i,propsOptions:[r],slots:o,attrs:l,emit:u,render:d,renderCache:a,props:p,data:S,setupState:E,ctx:U,inheritAttrs:k}=e,ie=ys(e);let q,N;try{if(s.shapeFlag&4){const A=i||n,re=A;q=Ke(d.call(re,A,a,p,E,S,U)),N=l}else{const A=t;q=Ke(A.length>1?A(p,{attrs:l,slots:o,emit:u}):A(p,null)),N=t.props?l:zo(l)}}catch(A){Yt.length=0,Ps(A,e,1),q=ee(ut)}let Y=q;if(N&&k!==!1){const A=Object.keys(N),{shapeFlag:re}=Y;A.length&&re&7&&(r&&A.some(Es)&&(N=Jo(N,r)),Y=Pt(Y,N,!1,!0))}return s.dirs&&(Y=Pt(Y,null,!1,!0),Y.dirs=Y.dirs?Y.dirs.concat(s.dirs):s.dirs),s.transition&&On(Y,s.transition),q=Y,ys(ie),q}const zo=e=>{let t;for(const s in e)(s==="class"||s==="style"||Is(s))&&((t||(t={}))[s]=e[s]);return t},Jo=(e,t)=>{const s={};for(const n in e)(!Es(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Go(e,t,s){const{props:n,children:i,component:r}=e,{props:o,children:l,patchFlag:u}=t,d=r.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&u>=0){if(u&1024)return!0;if(u&16)return n?Yn(n,o,d):!!o;if(u&8){const a=t.dynamicProps;for(let p=0;p<a.length;p++){const S=a[p];if(rr(o,n,S)&&!$s(d,S))return!0}}}else return(i||l)&&(!l||!l.$stable)?!0:n===o?!1:n?o?Yn(n,o,d):!0:!!o;return!1}function Yn(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let i=0;i<n.length;i++){const r=n[i];if(rr(t,e,r)&&!$s(s,r))return!0}return!1}function rr(e,t,s){const n=e[s],i=t[s];return s==="style"&&G(n)&&G(i)?!ct(n,i):n!==i}function Yo({vnode:e,parent:t,suspense:s},n){for(;t;){const i=t.subTree;if(i.suspense&&i.suspense.activeBranch===e&&(i.suspense.vnode.el=i.el=n,e=i),i===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const or={},lr=()=>Object.create(or),cr=e=>Object.getPrototypeOf(e)===or;function Xo(e,t,s,n=!1){const i={},r=lr();e.propsDefaults=Object.create(null),ur(e,t,i,r);for(const o in e.propsOptions[0])o in i||(i[o]=void 0);s?e.props=n?i:no(i):e.type.props?e.props=i:e.props=r,e.attrs=r}function Zo(e,t,s,n){const{props:i,attrs:r,vnode:{patchFlag:o}}=e,l=z(i),[u]=e.propsOptions;let d=!1;if((n||o>0)&&!(o&16)){if(o&8){const a=e.vnode.dynamicProps;for(let p=0;p<a.length;p++){let S=a[p];if($s(e.emitsOptions,S))continue;const E=t[S];if(u)if(J(r,S))E!==r[S]&&(r[S]=E,d=!0);else{const U=Oe(S);i[U]=un(u,l,U,E,e,!1)}else E!==r[S]&&(r[S]=E,d=!0)}}}else{ur(e,t,i,r)&&(d=!0);let a;for(const p in l)(!t||!J(t,p)&&((a=at(p))===p||!J(t,a)))&&(u?s&&(s[p]!==void 0||s[a]!==void 0)&&(i[p]=un(u,l,p,void 0,e,!0)):delete i[p]);if(r!==l)for(const p in r)(!t||!J(t,p))&&(delete r[p],d=!0)}d&&Ze(e.attrs,"set","")}function ur(e,t,s,n){const[i,r]=e.propsOptions;let o=!1,l;if(t)for(let u in t){if(Vt(u))continue;const d=t[u];let a;i&&J(i,a=Oe(u))?!r||!r.includes(a)?s[a]=d:(l||(l={}))[a]=d:$s(e.emitsOptions,u)||(!(u in n)||d!==n[u])&&(n[u]=d,o=!0)}if(r){const u=z(s),d=l||te;for(let a=0;a<r.length;a++){const p=r[a];s[p]=un(i,u,p,d[p],e,!J(d,p))}}return o}function un(e,t,s,n,i,r){const o=e[s];if(o!=null){const l=J(o,"default");if(l&&n===void 0){const u=o.default;if(o.type!==Function&&!o.skipFactory&&L(u)){const{propsDefaults:d}=i;if(s in d)n=d[s];else{const a=is(i);n=d[s]=u.call(null,t),a()}}else n=u;i.ce&&i.ce._setProp(s,n)}o[0]&&(r&&!l?n=!1:o[1]&&(n===""||n===at(s))&&(n=!0))}return n}const Qo=new WeakMap;function fr(e,t,s=!1){const n=s?Qo:t.propsCache,i=n.get(e);if(i)return i;const r=e.props,o={},l=[];let u=!1;if(!L(e)){const a=p=>{u=!0;const[S,E]=fr(p,t,!0);he(o,S),E&&l.push(...E)};!s&&t.mixins.length&&t.mixins.forEach(a),e.extends&&a(e.extends),e.mixins&&e.mixins.forEach(a)}if(!r&&!u)return G(e)&&n.set(e,Et),Et;if(P(r))for(let a=0;a<r.length;a++){const p=Oe(r[a]);Xn(p)&&(o[p]=te)}else if(r)for(const a in r){const p=Oe(a);if(Xn(p)){const S=r[a],E=o[p]=P(S)||L(S)?{type:S}:he({},S),U=E.type;let k=!1,ie=!0;if(P(U))for(let q=0;q<U.length;++q){const N=U[q],Y=L(N)&&N.name;if(Y==="Boolean"){k=!0;break}else Y==="String"&&(ie=!1)}else k=L(U)&&U.name==="Boolean";E[0]=k,E[1]=ie,(k||J(E,"default"))&&l.push(p)}}const d=[o,l];return G(e)&&n.set(e,d),d}function Xn(e){return e[0]!=="$"&&!Vt(e)}const Pn=e=>e==="_"||e==="_ctx"||e==="$stable",kn=e=>P(e)?e.map(Ke):[Ke(e)],el=(e,t,s)=>{if(t._n)return t;const n=mo((...i)=>kn(t(...i)),s);return n._c=!1,n},ar=(e,t,s)=>{const n=e._ctx;for(const i in e){if(Pn(i))continue;const r=e[i];if(L(r))t[i]=el(i,r,n);else if(r!=null){const o=kn(r);t[i]=()=>o}}},dr=(e,t)=>{const s=kn(t);e.slots.default=()=>s},hr=(e,t,s)=>{for(const n in t)(s||!Pn(n))&&(e[n]=t[n])},tl=(e,t,s)=>{const n=e.slots=lr();if(e.vnode.shapeFlag&32){const i=t._;i?(hr(n,t,s),s&&Ti(n,"_",i,!0)):ar(t,n)}else t&&dr(e,t)},sl=(e,t,s)=>{const{vnode:n,slots:i}=e;let r=!0,o=te;if(n.shapeFlag&32){const l=t._;l?s&&l===1?r=!1:hr(i,t,s):(r=!t.$stable,ar(t,i)),o=t}else t&&(dr(e,t),o={default:1});if(r)for(const l in i)!Pn(l)&&o[l]==null&&delete i[l]},we=ll;function nl(e){return il(e)}function il(e,t){const s=Os();s.__VUE__=!0;const{insert:n,remove:i,patchProp:r,createElement:o,createText:l,createComment:u,setText:d,setElementText:a,parentNode:p,nextSibling:S,setScopeId:E=Ve,insertStaticContent:U}=e,k=(c,f,h,y=null,m=null,g=null,C=void 0,x=null,w=!!f.dynamicChildren)=>{if(c===f)return;c&&!qt(c,f)&&(y=St(c),be(c,m,g,!0),c=null),f.patchFlag===-2&&(w=!1,f.dynamicChildren=null);const{type:v,ref:R,shapeFlag:T}=f;switch(v){case Fs:ie(c,f,h,y);break;case ut:q(c,f,h,y);break;case Ws:c==null&&N(f,h,y,C);break;case ye:ht(c,f,h,y,m,g,C,x,w);break;default:T&1?re(c,f,h,y,m,g,C,x,w):T&6?Te(c,f,h,y,m,g,C,x,w):(T&64||T&128)&&v.process(c,f,h,y,m,g,C,x,w,b)}R!=null&&m?zt(R,c&&c.ref,g,f||c,!f):R==null&&c&&c.ref!=null&&zt(c.ref,null,g,c,!0)},ie=(c,f,h,y)=>{if(c==null)n(f.el=l(f.children),h,y);else{const m=f.el=c.el;f.children!==c.children&&d(m,f.children)}},q=(c,f,h,y)=>{c==null?n(f.el=u(f.children||""),h,y):f.el=c.el},N=(c,f,h,y)=>{[c.el,c.anchor]=U(c.children,f,h,y,c.el,c.anchor)},Y=({el:c,anchor:f},h,y)=>{let m;for(;c&&c!==f;)m=S(c),n(c,h,y),c=m;n(f,h,y)},A=({el:c,anchor:f})=>{let h;for(;c&&c!==f;)h=S(c),i(c),c=h;i(f)},re=(c,f,h,y,m,g,C,x,w)=>{if(f.type==="svg"?C="svg":f.type==="math"&&(C="mathml"),c==null)oe(f,h,y,m,g,C,x,w);else{const v=c.el&&c.el._isVueCE?c.el:null;try{v&&v._beginPatch(),dt(c,f,m,g,C,x,w)}finally{v&&v._endPatch()}}},oe=(c,f,h,y,m,g,C,x)=>{let w,v;const{props:R,shapeFlag:T,transition:M,dirs:$}=c;if(w=c.el=o(c.type,g,R&&R.is,R),T&8?a(w,c.children):T&16&&Ae(c.children,w,null,y,m,Bs(c,g),C,x),$&&mt(c,null,y,"created"),B(w,c,c.scopeId,C,y),R){for(const Q in R)Q!=="value"&&!Vt(Q)&&r(w,Q,null,R[Q],g,y);"value"in R&&r(w,"value",null,R.value,g),(v=R.onVnodeBeforeMount)&&qe(v,y,c)}$&&mt(c,null,y,"beforeMount");const K=rl(m,M);K&&M.beforeEnter(w),n(w,f,h),((v=R&&R.onVnodeMounted)||K||$)&&we(()=>{try{v&&qe(v,y,c),K&&M.enter(w),$&&mt(c,null,y,"mounted")}finally{}},m)},B=(c,f,h,y,m)=>{if(h&&E(c,h),y)for(let g=0;g<y.length;g++)E(c,y[g]);if(m){let g=m.subTree;if(f===g||vr(g.type)&&(g.ssContent===f||g.ssFallback===f)){const C=m.vnode;B(c,C,C.scopeId,C.slotScopeIds,m.parent)}}},Ae=(c,f,h,y,m,g,C,x,w=0)=>{for(let v=w;v<c.length;v++){const R=c[v]=x?Xe(c[v]):Ke(c[v]);k(null,R,f,h,y,m,g,C,x)}},dt=(c,f,h,y,m,g,C)=>{const x=f.el=c.el;let{patchFlag:w,dynamicChildren:v,dirs:R}=f;w|=c.patchFlag&16;const T=c.props||te,M=f.props||te;let $;if(h&&vt(h,!1),($=M.onVnodeBeforeUpdate)&&qe($,h,f,c),R&&mt(f,c,h,"beforeUpdate"),h&&vt(h,!0),(T.innerHTML&&M.innerHTML==null||T.textContent&&M.textContent==null)&&a(x,""),v?We(c.dynamicChildren,v,x,h,y,Bs(f,m),g):C||X(c,f,x,null,h,y,Bs(f,m),g,!1),w>0){if(w&16)rt(x,T,M,h,m);else if(w&2&&T.class!==M.class&&r(x,"class",null,M.class,m),w&4&&r(x,"style",T.style,M.style,m),w&8){const K=f.dynamicProps;for(let Q=0;Q<K.length;Q++){const Z=K[Q],ce=T[Z],fe=M[Z];(fe!==ce||Z==="value")&&r(x,Z,ce,fe,m,h)}}w&1&&c.children!==f.children&&a(x,f.children)}else!C&&v==null&&rt(x,T,M,h,m);(($=M.onVnodeUpdated)||R)&&we(()=>{$&&qe($,h,f,c),R&&mt(f,c,h,"updated")},y)},We=(c,f,h,y,m,g,C)=>{for(let x=0;x<f.length;x++){const w=c[x],v=f[x],R=w.el&&(w.type===ye||!qt(w,v)||w.shapeFlag&198)?p(w.el):h;k(w,v,R,null,y,m,g,C,!0)}},rt=(c,f,h,y,m)=>{if(f!==h){if(f!==te)for(const g in f)!Vt(g)&&!(g in h)&&r(c,g,f[g],null,m,y);for(const g in h){if(Vt(g))continue;const C=h[g],x=f[g];C!==x&&g!=="value"&&r(c,g,x,C,m,y)}"value"in h&&r(c,"value",f.value,h.value,m)}},ht=(c,f,h,y,m,g,C,x,w)=>{const v=f.el=c?c.el:l(""),R=f.anchor=c?c.anchor:l("");let{patchFlag:T,dynamicChildren:M,slotScopeIds:$}=f;$&&(x=x?x.concat($):$),c==null?(n(v,h,y),n(R,h,y),Ae(f.children||[],h,R,m,g,C,x,w)):T>0&&T&64&&M&&c.dynamicChildren&&c.dynamicChildren.length===M.length?(We(c.dynamicChildren,M,h,m,g,C,x),(f.key!=null||m&&f===m.subTree)&&pr(c,f,!0)):X(c,f,h,R,m,g,C,x,w)},Te=(c,f,h,y,m,g,C,x,w)=>{f.slotScopeIds=x,c==null?f.shapeFlag&512?m.ctx.activate(f,h,y,C,w):wt(f,h,y,m,g,C,w):pt(c,f,w)},wt=(c,f,h,y,m,g,C)=>{const x=c.component=pl(c,y,m);if(Zi(c)&&(x.ctx.renderer=b),ml(x,!1,C),x.asyncDep){if(m&&m.registerDep(x,ue,C),!c.el){const w=x.subTree=ee(ut);q(null,w,f,h),c.placeholder=w.el}}else ue(x,c,f,h,m,g,C)},pt=(c,f,h)=>{const y=f.component=c.component;if(Go(c,f,h))if(y.asyncDep&&!y.asyncResolved){se(y,f,h);return}else y.next=f,y.update();else f.el=c.el,y.vnode=f},ue=(c,f,h,y,m,g,C)=>{const x=()=>{if(c.isMounted){let{next:T,bu:M,u:$,parent:K,vnode:Q}=c;{const Ne=gr(c);if(Ne){T&&(T.el=Q.el,se(c,T,C)),Ne.asyncDep.then(()=>{we(()=>{c.isUnmounted||v()},m)});return}}let Z=T,ce;vt(c,!1),T?(T.el=Q.el,se(c,T,C)):T=Q,M&&hs(M),(ce=T.props&&T.props.onVnodeBeforeUpdate)&&qe(ce,K,T,Q),vt(c,!0);const fe=Gn(c),Le=c.subTree;c.subTree=fe,k(Le,fe,p(Le.el),St(Le),c,m,g),T.el=fe.el,Z===null&&Yo(c,fe.el),$&&we($,m),(ce=T.props&&T.props.onVnodeUpdated)&&we(()=>qe(ce,K,T,Q),m)}else{let T;const{el:M,props:$}=f,{bm:K,m:Q,parent:Z,root:ce,type:fe}=c,Le=Jt(f);vt(c,!1),K&&hs(K),!Le&&(T=$&&$.onVnodeBeforeMount)&&qe(T,Z,f),vt(c,!0);{ce.ce&&ce.ce._hasShadowRoot()&&ce.ce._injectChildStyle(fe,c.parent?c.parent.type:void 0);const Ne=c.subTree=Gn(c);k(null,Ne,h,y,c,m,g),f.el=Ne.el}if(Q&&we(Q,m),!Le&&(T=$&&$.onVnodeMounted)){const Ne=f;we(()=>qe(T,Z,Ne),m)}(f.shapeFlag&256||Z&&Jt(Z.vnode)&&Z.vnode.shapeFlag&256)&&c.a&&we(c.a,m),c.isMounted=!0,f=h=y=null}};c.scope.on();const w=c.effect=new Ai(x);c.scope.off();const v=c.update=w.run.bind(w),R=c.job=w.runIfDirty.bind(w);R.i=c,R.id=c.uid,w.scheduler=()=>An(R),vt(c,!0),v()},se=(c,f,h)=>{f.component=c;const y=c.vnode.props;c.vnode=f,c.next=null,Zo(c,f.props,y,h),sl(c,f.children,h),tt(),Kn(c),st()},X=(c,f,h,y,m,g,C,x,w=!1)=>{const v=c&&c.children,R=c?c.shapeFlag:0,T=f.children,{patchFlag:M,shapeFlag:$}=f;if(M>0){if(M&128){xt(v,T,h,y,m,g,C,x,w);return}else if(M&256){ze(v,T,h,y,m,g,C,x,w);return}}$&8?(R&16&&gt(v,m,g),T!==v&&a(h,T)):R&16?$&16?xt(v,T,h,y,m,g,C,x,w):gt(v,m,g,!0):(R&8&&a(h,""),$&16&&Ae(T,h,y,m,g,C,x,w))},ze=(c,f,h,y,m,g,C,x,w)=>{c=c||Et,f=f||Et;const v=c.length,R=f.length,T=Math.min(v,R);let M;for(M=0;M<T;M++){const $=f[M]=w?Xe(f[M]):Ke(f[M]);k(c[M],$,h,null,m,g,C,x,w)}v>R?gt(c,m,g,!0,!1,T):Ae(f,h,y,m,g,C,x,w,T)},xt=(c,f,h,y,m,g,C,x,w)=>{let v=0;const R=f.length;let T=c.length-1,M=R-1;for(;v<=T&&v<=M;){const $=c[v],K=f[v]=w?Xe(f[v]):Ke(f[v]);if(qt($,K))k($,K,h,null,m,g,C,x,w);else break;v++}for(;v<=T&&v<=M;){const $=c[T],K=f[M]=w?Xe(f[M]):Ke(f[M]);if(qt($,K))k($,K,h,null,m,g,C,x,w);else break;T--,M--}if(v>T){if(v<=M){const $=M+1,K=$<R?f[$].el:y;for(;v<=M;)k(null,f[v]=w?Xe(f[v]):Ke(f[v]),h,K,m,g,C,x,w),v++}}else if(v>M)for(;v<=T;)be(c[v],m,g,!0),v++;else{const $=v,K=v,Q=new Map;for(v=K;v<=M;v++){const xe=f[v]=w?Xe(f[v]):Ke(f[v]);xe.key!=null&&Q.set(xe.key,v)}let Z,ce=0;const fe=M-K+1;let Le=!1,Ne=0;const Lt=new Array(fe);for(v=0;v<fe;v++)Lt[v]=0;for(v=$;v<=T;v++){const xe=c[v];if(ce>=fe){be(xe,m,g,!0);continue}let De;if(xe.key!=null)De=Q.get(xe.key);else for(Z=K;Z<=M;Z++)if(Lt[Z-K]===0&&qt(xe,f[Z])){De=Z;break}De===void 0?be(xe,m,g,!0):(Lt[De-K]=v+1,De>=Ne?Ne=De:Le=!0,k(xe,f[De],h,null,m,g,C,x,w),ce++)}const Fn=Le?ol(Lt):Et;for(Z=Fn.length-1,v=fe-1;v>=0;v--){const xe=K+v,De=f[xe],Ln=f[xe+1],Nn=xe+1<R?Ln.el||mr(Ln):y;Lt[v]===0?k(null,De,h,Nn,m,g,C,x,w):Le&&(Z<0||v!==Fn[Z]?Fe(De,h,Nn,2):Z--)}}},Fe=(c,f,h,y,m=null)=>{const{el:g,type:C,transition:x,children:w,shapeFlag:v}=c;if(v&6){Fe(c.component.subTree,f,h,y);return}if(v&128){c.suspense.move(f,h,y);return}if(v&64){C.move(c,f,h,b);return}if(C===ye){n(g,f,h);for(let T=0;T<w.length;T++)Fe(w[T],f,h,y);n(c.anchor,f,h);return}if(C===Ws){Y(c,f,h);return}if(y!==2&&v&1&&x)if(y===0)x.persisted&&!g[Us]?n(g,f,h):(x.beforeEnter(g),n(g,f,h),we(()=>x.enter(g),m));else{const{leave:T,delayLeave:M,afterLeave:$}=x,K=()=>{c.ctx.isUnmounted?i(g):n(g,f,h)},Q=()=>{const Z=g._isLeaving||!!g[Us];g._isLeaving&&g[Us](!0),x.persisted&&!Z?K():T(g,()=>{K(),$&&$()})};M?M(g,K,Q):Q()}else n(g,f,h)},be=(c,f,h,y=!1,m=!1)=>{const{type:g,props:C,ref:x,children:w,dynamicChildren:v,shapeFlag:R,patchFlag:T,dirs:M,cacheIndex:$,memo:K}=c;if(T===-2&&(m=!1),x!=null&&(tt(),zt(x,null,h,c,!0),st()),$!=null&&(f.renderCache[$]=void 0),R&256){f.ctx.deactivate(c);return}const Q=R&1&&M,Z=!Jt(c);let ce;if(Z&&(ce=C&&C.onVnodeBeforeUnmount)&&qe(ce,f,c),R&6)rs(c.component,h,y);else{if(R&128){c.suspense.unmount(h,y);return}Q&&mt(c,null,f,"beforeUnmount"),R&64?c.type.remove(c,f,h,b,y):v&&!v.hasOnce&&(g!==ye||T>0&&T&64)?gt(v,f,h,!1,!0):(g===ye&&T&384||!m&&R&16)&&gt(w,f,h),y&&Ft(c)}const fe=K!=null&&$==null;(Z&&(ce=C&&C.onVnodeUnmounted)||Q||fe)&&we(()=>{ce&&qe(ce,f,c),Q&&mt(c,null,f,"unmounted"),fe&&(c.el=null)},h)},Ft=c=>{const{type:f,el:h,anchor:y,transition:m}=c;if(f===ye){ot(h,y);return}if(f===Ws){A(c);return}const g=()=>{i(h),m&&!m.persisted&&m.afterLeave&&m.afterLeave()};if(c.shapeFlag&1&&m&&!m.persisted){const{leave:C,delayLeave:x}=m,w=()=>C(h,g);x?x(c.el,g,w):w()}else g()},ot=(c,f)=>{let h;for(;c!==f;)h=S(c),i(c),c=h;i(f)},rs=(c,f,h)=>{const{bum:y,scope:m,job:g,subTree:C,um:x,m:w,a:v}=c;Zn(w),Zn(v),y&&hs(y),m.stop(),g&&(g.flags|=8,be(C,c,f,h)),x&&we(x,f),we(()=>{c.isUnmounted=!0},f)},gt=(c,f,h,y=!1,m=!1,g=0)=>{for(let C=g;C<c.length;C++)be(c[C],f,h,y,m)},St=c=>{if(c.shapeFlag&6)return St(c.component.subTree);if(c.shapeFlag&128)return c.suspense.next();const f=S(c.anchor||c.el),h=f&&f[wo];return h?S(h):f};let _=!1;const O=(c,f,h)=>{let y;c==null?f._vnode&&(be(f._vnode,null,null,!0),y=f._vnode.component):k(f._vnode||null,c,f,null,null,null,h),f._vnode=c,_||(_=!0,Kn(y),Wi(),_=!1)},b={p:k,um:be,m:Fe,r:Ft,mt:wt,mc:Ae,pc:X,pbc:We,n:St,o:e};return{render:O,hydrate:void 0,createApp:Uo(O)}}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 vt({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function rl(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function pr(e,t,s=!1){const n=e.children,i=t.children;if(P(n)&&P(i))for(let r=0;r<n.length;r++){const o=n[r];let l=i[r];l.shapeFlag&1&&!l.dynamicChildren&&((l.patchFlag<=0||l.patchFlag===32)&&(l=i[r]=Xe(i[r]),l.el=o.el),!s&&l.patchFlag!==-2&&pr(o,l)),l.type===Fs&&(l.patchFlag===-1&&(l=i[r]=Xe(l)),l.el=o.el),l.type===ut&&!l.el&&(l.el=o.el)}}function ol(e){const t=e.slice(),s=[0];let n,i,r,o,l;const u=e.length;for(n=0;n<u;n++){const d=e[n];if(d!==0){if(i=s[s.length-1],e[i]<d){t[n]=i,s.push(n);continue}for(r=0,o=s.length-1;r<o;)l=r+o>>1,e[s[l]]<d?r=l+1:o=l;d<e[s[r]]&&(r>0&&(t[n]=s[r-1]),s[r]=n)}}for(r=s.length,o=s[r-1];r-- >0;)s[r]=o,o=t[o];return s}function gr(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:gr(t)}function Zn(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function mr(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?mr(t.subTree):null}const vr=e=>e.__isSuspense;function ll(e,t){t&&t.pendingBranch?P(e)?t.effects.push(...e):t.effects.push(e):go(e)}const ye=Symbol.for("v-fgt"),Fs=Symbol.for("v-txt"),ut=Symbol.for("v-cmt"),Ws=Symbol.for("v-stc"),Yt=[];let Ce=null;function H(e=!1){Yt.push(Ce=e?null:[])}function cl(){Yt.pop(),Ce=Yt[Yt.length-1]||null}let es=1;function ws(e,t=!1){es+=e,e<0&&Ce&&t&&(Ce.hasOnce=!0)}function yr(e){return e.dynamicChildren=es>0?Ce||Et:null,cl(),es>0&&Ce&&Ce.push(e),e}function W(e,t,s,n,i,r){return yr(I(e,t,s,n,i,r,!0))}function Kt(e,t,s,n,i){return yr(ee(e,t,s,n,i,!0))}function xs(e){return e?e.__v_isVNode===!0:!1}function qt(e,t){return e.type===t.type&&e.key===t.key}const _r=({key:e})=>e??null,gs=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?le(e)||ge(e)||L(e)?{i:Ie,r:e,k:t,f:!!s}:e:null);function I(e,t=null,s=null,n=0,i=null,r=e===ye?0:1,o=!1,l=!1){const u={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&_r(t),ref:t&&gs(t),scopeId:Ji,slotScopeIds:null,children:s,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:n,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Ie};return l?($n(u,s),r&128&&e.normalize(u)):s&&(u.shapeFlag|=le(s)?8:16),es>0&&!o&&Ce&&(u.patchFlag>0||r&6)&&u.patchFlag!==32&&Ce.push(u),u}const ee=ul;function ul(e,t=null,s=null,n=0,i=null,r=!1){if((!e||e===Fo)&&(e=ut),xs(e)){const l=Pt(e,t,!0);return s&&$n(l,s),es>0&&!r&&Ce&&(l.shapeFlag&6?Ce[Ce.indexOf(e)]=l:Ce.push(l)),l.patchFlag=-2,l}if(bl(e)&&(e=e.__vccOpts),t){t=fl(t);let{class:l,style:u}=t;l&&!le(l)&&(t.class=Se(l)),G(u)&&(En(u)&&!P(u)&&(u=he({},u)),t.style=yn(u))}const o=le(e)?1:vr(e)?128:xo(e)?64:G(e)?4:L(e)?2:0;return I(e,t,s,n,i,o,r,!0)}function fl(e){return e?En(e)||cr(e)?he({},e):e:null}function Pt(e,t,s=!1,n=!1){const{props:i,ref:r,patchFlag:o,children:l,transition:u}=e,d=t?al(i||{},t):i,a={__v_isVNode:!0,__v_skip:!0,type:e.type,props:d,key:d&&_r(d),ref:t&&t.ref?s&&r?P(r)?r.concat(gs(t)):[r,gs(t)]:gs(t):r,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?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:u,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Pt(e.ssContent),ssFallback:e.ssFallback&&Pt(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return u&&n&&On(a,u.clone(a)),a}function It(e=" ",t=0){return ee(Fs,null,e,t)}function jt(e="",t=!1){return t?(H(),Kt(ut,null,e)):ee(ut,null,e)}function Ke(e){return e==null||typeof e=="boolean"?ee(ut):P(e)?ee(ye,null,e.slice()):xs(e)?Xe(e):ee(Fs,null,String(e))}function Xe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Pt(e)}function $n(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(P(t))s=16;else if(typeof t=="object")if(n&65){const i=t.default;i&&(i._c&&(i._d=!1),$n(e,i()),i._c&&(i._d=!0));return}else{s=32;const i=t._;!i&&!cr(t)?t._ctx=Ie:i===3&&Ie&&(Ie.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else L(t)?(t={default:t,_ctx:Ie},s=32):(t=String(t),n&64?(s=16,t=[It(t)]):s=8);e.children=t,e.shapeFlag|=s}function al(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const i in n)if(i==="class")t.class!==n.class&&(t.class=Se([t.class,n.class]));else if(i==="style")t.style=yn([t.style,n.style]);else if(Is(i)){const r=t[i],o=n[i];o&&r!==o&&!(P(r)&&r.includes(o))?t[i]=r?[].concat(r,o):o:o==null&&r==null&&!Es(i)&&(t[i]=o)}else i!==""&&(t[i]=n[i])}return t}function qe(e,t,s,n=null){ke(e,t,7,[s,n])}const dl=nr();let hl=0;function pl(e,t,s){const n=e.type,i=(t?t.appContext:e.appContext)||dl,r={uid:hl++,vnode:e,type:n,parent:t,appContext:i,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Dr(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(i.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:fr(n,i),emitsOptions:ir(n,i),emit:null,emitted:null,propsDefaults:te,inheritAttrs:n.inheritAttrs,ctx:te,data:te,props:te,attrs:te,slots:te,refs:te,setupState:te,setupContext:null,suspense:s,suspenseId:s?s.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=Bo.bind(null,r),e.ce&&e.ce(r),r}let _e=null;const gl=()=>_e||Ie;let Ss,fn;{const e=Os(),t=(s,n)=>{let i;return(i=e[s])||(i=e[s]=[]),i.push(n),r=>{i.length>1?i.forEach(o=>o(r)):i[0](r)}};Ss=t("__VUE_INSTANCE_SETTERS__",s=>_e=s),fn=t("__VUE_SSR_SETTERS__",s=>ts=s)}const is=e=>{const t=_e;return Ss(e),e.scope.on(),()=>{e.scope.off(),Ss(t)}},Qn=()=>{_e&&_e.scope.off(),Ss(null)};function br(e){return e.vnode.shapeFlag&4}let ts=!1;function ml(e,t=!1,s=!1){t&&fn(t);const{props:n,children:i}=e.vnode,r=br(e);Xo(e,n,r,t),tl(e,i,s||t);const o=r?vl(e,t):void 0;return t&&fn(!1),o}function vl(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Lo);const{setup:n}=s;if(n){tt();const i=e.setupContext=n.length>1?_l(e):null,r=is(e),o=ns(n,e,0,[e.props,i]),l=wi(o);if(st(),r(),(l||e.sp)&&!Jt(e)&&Xi(e),l){if(o.then(Qn,Qn),t)return o.then(u=>{ei(e,u)}).catch(u=>{Ps(u,e,0)});e.asyncDep=o}else ei(e,o)}else wr(e)}function ei(e,t,s){L(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G(t)&&(e.setupState=Ui(t)),wr(e)}function wr(e,t,s){const n=e.type;e.render||(e.render=n.render||Ve);{const i=is(e);tt();try{No(e)}finally{st(),i()}}}const yl={get(e,t){return pe(e,"get",""),e[t]}};function _l(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,yl),slots:e.slots,emit:e.emit,expose:t}}function Ls(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Ui(io(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Gt)return Gt[s](e)},has(t,s){return s in t||s in Gt}})):e.proxy}function bl(e){return L(e)&&"__vccOpts"in e}const an=(e,t)=>uo(e,t,ts);function dn(e,t,s){try{ws(-1);const n=arguments.length;return n===2?G(t)&&!P(t)?xs(t)?ee(e,null,[t]):ee(e,t):ee(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&xs(s)&&(s=[s]),ee(e,t,s))}finally{ws(1)}}const wl="3.5.38";/**
14
+ * @vue/runtime-dom v3.5.38
15
+ * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
+ * @license MIT
17
+ **/let hn;const ti=typeof window<"u"&&window.trustedTypes;if(ti)try{hn=ti.createPolicy("vue",{createHTML:e=>e})}catch{}const xr=hn?e=>hn.createHTML(e):e=>e,xl="http://www.w3.org/2000/svg",Sl="http://www.w3.org/1998/Math/MathML",Ye=typeof document<"u"?document:null,si=Ye&&Ye.createElement("template"),Cl={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const i=t==="svg"?Ye.createElementNS(xl,e):t==="mathml"?Ye.createElementNS(Sl,e):s?Ye.createElement(e,{is:s}):Ye.createElement(e);return e==="select"&&n&&n.multiple!=null&&i.setAttribute("multiple",n.multiple),i},createText:e=>Ye.createTextNode(e),createComment:e=>Ye.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Ye.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,i,r){const o=s?s.previousSibling:t.lastChild;if(i&&(i===r||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),s),!(i===r||!(i=i.nextSibling)););else{si.innerHTML=xr(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const l=si.content;if(n==="svg"||n==="mathml"){const u=l.firstChild;for(;u.firstChild;)l.appendChild(u.firstChild);l.removeChild(u)}t.insertBefore(l,s)}return[o?o.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},Tl=Symbol("_vtc");function Il(e,t,s){const n=e[Tl];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const ni=Symbol("_vod"),El=Symbol("_vsh"),Ml=Symbol(""),Al=/(?:^|;)\s*display\s*:/;function Ol(e,t,s){const n=e.style,i=le(s);let r=!1;if(s&&!i){if(t)if(le(t))for(const o of t.split(";")){const l=o.slice(0,o.indexOf(":")).trim();s[l]==null&&Ut(n,l,"")}else for(const o in t)s[o]==null&&Ut(n,o,"");for(const o in s){o==="display"&&(r=!0);const l=s[o];l!=null?Pl(e,o,!le(t)&&t?t[o]:void 0,l)||Ut(n,o,l):Ut(n,o,"")}}else if(i){if(t!==s){const o=n[Ml];o&&(s+=";"+o),n.cssText=s,r=Al.test(s)}}else t&&e.removeAttribute("style");ni in e&&(e[ni]=r?n.display:"",e[El]&&(n.display="none"))}const ii=/\s*!important$/;function Ut(e,t,s){if(P(s))s.forEach(n=>Ut(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Rl(e,t);ii.test(s)?e.setProperty(at(n),s.replace(ii,""),"important"):e[n]=s}}const ri=["Webkit","Moz","ms"],zs={};function Rl(e,t){const s=zs[t];if(s)return s;let n=Oe(t);if(n!=="filter"&&n in e)return zs[t]=n;n=Ci(n);for(let i=0;i<ri.length;i++){const r=ri[i]+n;if(r in e)return zs[t]=r}return t}function Pl(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&le(n)&&s===n}const oi="http://www.w3.org/1999/xlink";function li(e,t,s,n,i,r=Lr(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(oi,t.slice(6,t.length)):e.setAttributeNS(oi,t,s):s==null||r&&!Ii(s)?e.removeAttribute(t):e.setAttribute(t,r?"":Be(s)?String(s):s)}function ci(e,t,s,n,i){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?xr(s):s);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const l=r==="OPTION"?e.getAttribute("value")||"":e.value,u=s==null?e.type==="checkbox"?"on":"":String(s);(l!==u||!("_value"in e))&&(e.value=u),s==null&&e.removeAttribute(t),e._value=s;return}let o=!1;if(s===""||s==null){const l=typeof e[t];l==="boolean"?s=Ii(s):s==null&&l==="string"?(s="",o=!0):l==="number"&&(s=0,o=!0)}try{e[t]=s}catch{}o&&e.removeAttribute(i||t)}function et(e,t,s,n){e.addEventListener(t,s,n)}function kl(e,t,s,n){e.removeEventListener(t,s,n)}const ui=Symbol("_vei");function $l(e,t,s,n,i=null){const r=e[ui]||(e[ui]={}),o=r[t];if(n&&o)o.value=n;else{const[l,u]=Fl(t);if(n){const d=r[t]=Dl(n,i);et(e,l,d,u)}else o&&(kl(e,l,o,u),r[t]=void 0)}}const fi=/(?:Once|Passive|Capture)$/;function Fl(e){let t;if(fi.test(e)){t={};let n;for(;n=e.match(fi);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):at(e.slice(2)),t]}let Js=0;const Ll=Promise.resolve(),Nl=()=>Js||(Ll.then(()=>Js=0),Js=Date.now());function Dl(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;const i=s.value;if(P(i)){const r=n.stopImmediatePropagation;n.stopImmediatePropagation=()=>{r.call(n),n._stopped=!0};const o=i.slice(),l=[n];for(let u=0;u<o.length&&!n._stopped;u++){const d=o[u];d&&ke(d,t,5,l)}}else ke(i,t,5,[n])};return s.value=e,s.attached=Nl(),s}const ai=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,ql=(e,t,s,n,i,r)=>{const o=i==="svg";t==="class"?Il(e,n,o):t==="style"?Ol(e,s,n):Is(t)?Es(t)||$l(e,t,s,n,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):jl(e,t,n,o))?(ci(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&li(e,t,n,o,r,t!=="value")):e._isVueCE&&(Hl(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!le(n)))?ci(e,Oe(t),n,r,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),li(e,t,n,o))};function jl(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&ai(t)&&L(s));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const i=e.tagName;if(i==="IMG"||i==="VIDEO"||i==="CANVAS"||i==="SOURCE")return!1}return ai(t)&&le(s)?!1:t in e}function Hl(e,t){const s=e._def.props;if(!s)return!1;const n=Oe(t);return Array.isArray(s)?s.some(i=>Oe(i)===n):Object.keys(s).some(i=>Oe(i)===n)}const ft=e=>{const t=e.props["onUpdate:modelValue"]||!1;return P(t)?s=>hs(t,s):t};function Kl(e){e.target.composing=!0}function di(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Me=Symbol("_assign");function hi(e,t,s){return t&&(e=e.trim()),s&&(e=As(e)),e}const Cs={created(e,{modifiers:{lazy:t,trim:s,number:n}},i){e[Me]=ft(i);const r=n||i.props&&i.props.type==="number";et(e,t?"change":"input",o=>{o.target.composing||e[Me](hi(e.value,s,r))}),(s||r)&&et(e,"change",()=>{e.value=hi(e.value,s,r)}),t||(et(e,"compositionstart",Kl),et(e,"compositionend",di),et(e,"change",di))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:i,number:r}},o){if(e[Me]=ft(o),e.composing)return;const l=(r||e.type==="number")&&!/^0\d/.test(e.value)?As(e.value):e.value,u=t??"";if(l===u)return;const d=e.getRootNode();(d instanceof Document||d instanceof ShadowRoot)&&d.activeElement===e&&e.type!=="range"&&(n&&t===s||i&&e.value.trim()===u)||(e.value=u)}},Ul={deep:!0,created(e,t,s){e[Me]=ft(s),et(e,"change",()=>{const n=e._modelValue,i=kt(e),r=e.checked,o=e[Me];if(P(n)){const l=_n(n,i),u=l!==-1;if(r&&!u)o(n.concat(i));else if(!r&&u){const d=[...n];d.splice(l,1),o(d)}}else if($t(n)){const l=new Set(n);r?l.add(i):l.delete(i),o(l)}else o(Cr(e,r))})},mounted:pi,beforeUpdate(e,t,s){e[Me]=ft(s),pi(e,t,s)}};function pi(e,{value:t,oldValue:s},n){e._modelValue=t;let i;if(P(t))i=_n(t,n.props.value)>-1;else if($t(t))i=t.has(n.props.value);else{if(t===s)return;i=ct(t,Cr(e,!0))}e.checked!==i&&(e.checked=i)}const Vl={created(e,{value:t},s){e.checked=ct(t,s.props.value),e[Me]=ft(s),et(e,"change",()=>{e[Me](kt(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[Me]=ft(n),t!==s&&(e.checked=ct(t,n.props.value))}},Sr={deep:!0,created(e,{value:t,modifiers:{number:s}},n){const i=$t(t);et(e,"change",()=>{const r=Array.prototype.filter.call(e.options,o=>o.selected).map(o=>s?As(kt(o)):kt(o));e[Me](e.multiple?i?new Set(r):r:r[0]),e._assigning=!0,Mn(()=>{e._assigning=!1})}),e[Me]=ft(n)},mounted(e,{value:t}){gi(e,t)},beforeUpdate(e,t,s){e[Me]=ft(s)},updated(e,{value:t}){e._assigning||gi(e,t)}};function gi(e,t){const s=e.multiple,n=P(t);if(!(s&&!n&&!$t(t))){for(let i=0,r=e.options.length;i<r;i++){const o=e.options[i],l=kt(o);if(s)if(n){const u=typeof l;u==="string"||u==="number"?o.selected=t.some(d=>String(d)===String(l)):o.selected=_n(t,l)>-1}else o.selected=t.has(l);else if(ct(kt(o),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function kt(e){return"_value"in e?e._value:e.value}function Cr(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Bl={created(e,t,s){fs(e,t,s,null,"created")},mounted(e,t,s){fs(e,t,s,null,"mounted")},beforeUpdate(e,t,s,n){fs(e,t,s,n,"beforeUpdate")},updated(e,t,s,n){fs(e,t,s,n,"updated")}};function Wl(e,t){switch(e){case"SELECT":return Sr;case"TEXTAREA":return Cs;default:switch(t){case"checkbox":return Ul;case"radio":return Vl;default:return Cs}}}function fs(e,t,s,n,i){const o=Wl(e.tagName,s.props&&s.props.type)[i];o&&o(e,t,s,n)}const zl=["ctrl","shift","alt","meta"],Jl={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>zl.some(s=>e[`${s}Key`]&&!t.includes(s))},Gs=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(i,...r)=>{for(let o=0;o<t.length;o++){const l=Jl[t[o]];if(l&&l(i,t))return}return e(i,...r)})},Gl={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},mi=(e,t)=>{const s=e._withKeys||(e._withKeys={}),n=t.join(".");return s[n]||(s[n]=i=>{if(!("key"in i))return;const r=at(i.key);if(t.some(o=>o===r||Gl[o]===r))return e(i)})},Yl=he({patchProp:ql},Cl);let vi;function Xl(){return vi||(vi=nl(Yl))}const Zl=(...e)=>{const t=Xl().createApp(...e),{mount:s}=t;return t.mount=n=>{const i=ec(n);if(!i)return;const r=t._component;!L(r)&&!r.render&&!r.template&&(r.template=i.innerHTML),i.nodeType===1&&(i.textContent="");const o=s(i,!1,Ql(i));return i instanceof Element&&(i.removeAttribute("v-cloak"),i.setAttribute("data-v-app","")),o},t};function Ql(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function ec(e){return le(e)?document.querySelector(e):e}const Ys="/icons/nowwork.svg";/**
18
+ * @license lucide-vue-next v0.460.0 - ISC
19
+ *
20
+ * This source code is licensed under the ISC license.
21
+ * See the LICENSE file in the root directory of this source tree.
22
+ */const tc=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/**
23
+ * @license lucide-vue-next v0.460.0 - ISC
24
+ *
25
+ * This source code is licensed under the ISC license.
26
+ * See the LICENSE file in the root directory of this source tree.
27
+ */var as={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"};/**
28
+ * @license lucide-vue-next v0.460.0 - ISC
29
+ *
30
+ * This source code is licensed under the ISC license.
31
+ * See the LICENSE file in the root directory of this source tree.
32
+ */const sc=({size:e,strokeWidth:t=2,absoluteStrokeWidth:s,color:n,iconNode:i,name:r,class:o,...l},{slots:u})=>dn("svg",{...as,width:e||as.width,height:e||as.height,stroke:n||as.stroke,"stroke-width":s?Number(t)*24/Number(e):t,class:["lucide",`lucide-${tc(r??"icon")}`],...l},[...i.map(d=>dn(...d)),...u.default?[u.default()]:[]]);/**
33
+ * @license lucide-vue-next v0.460.0 - ISC
34
+ *
35
+ * This source code is licensed under the ISC license.
36
+ * See the LICENSE file in the root directory of this source tree.
37
+ */const $e=(e,t)=>(s,{slots:n})=>dn(sc,{...s,iconNode:t,name:e},n);/**
38
+ * @license lucide-vue-next v0.460.0 - ISC
39
+ *
40
+ * This source code is licensed under the ISC license.
41
+ * See the LICENSE file in the root directory of this source tree.
42
+ */const nc=$e("ArrowLeftIcon",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/**
43
+ * @license lucide-vue-next v0.460.0 - ISC
44
+ *
45
+ * This source code is licensed under the ISC license.
46
+ * See the LICENSE file in the root directory of this source tree.
47
+ */const Xs=$e("BotIcon",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);/**
48
+ * @license lucide-vue-next v0.460.0 - ISC
49
+ *
50
+ * This source code is licensed under the ISC license.
51
+ * See the LICENSE file in the root directory of this source tree.
52
+ */const Zs=$e("CheckIcon",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/**
53
+ * @license lucide-vue-next v0.460.0 - ISC
54
+ *
55
+ * This source code is licensed under the ISC license.
56
+ * See the LICENSE file in the root directory of this source tree.
57
+ */const ic=$e("ChevronRightIcon",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/**
58
+ * @license lucide-vue-next v0.460.0 - ISC
59
+ *
60
+ * This source code is licensed under the ISC license.
61
+ * See the LICENSE file in the root directory of this source tree.
62
+ */const rc=$e("CircleIcon",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/**
63
+ * @license lucide-vue-next v0.460.0 - ISC
64
+ *
65
+ * This source code is licensed under the ISC license.
66
+ * See the LICENSE file in the root directory of this source tree.
67
+ */const oc=$e("RefreshCwIcon",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/**
68
+ * @license lucide-vue-next v0.460.0 - ISC
69
+ *
70
+ * This source code is licensed under the ISC license.
71
+ * See the LICENSE file in the root directory of this source tree.
72
+ */const lc=$e("SearchIcon",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]]);/**
73
+ * @license lucide-vue-next v0.460.0 - ISC
74
+ *
75
+ * This source code is licensed under the ISC license.
76
+ * See the LICENSE file in the root directory of this source tree.
77
+ */const cc=$e("SendIcon",[["path",{d:"M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z",key:"1ffxy3"}],["path",{d:"m21.854 2.147-10.94 10.939",key:"12cjpa"}]]);/**
78
+ * @license lucide-vue-next v0.460.0 - ISC
79
+ *
80
+ * This source code is licensed under the ISC license.
81
+ * See the LICENSE file in the root directory of this source tree.
82
+ */const Qs=$e("SquareTerminalIcon",[["path",{d:"m7 11 2-2-2-2",key:"1lz0vl"}],["path",{d:"M11 13h4",key:"1p7l4v"}],["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}]]);/**
83
+ * @license lucide-vue-next v0.460.0 - ISC
84
+ *
85
+ * This source code is licensed under the ISC license.
86
+ * See the LICENSE file in the root directory of this source tree.
87
+ */const uc=$e("WrenchIcon",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z",key:"cbrjhi"}]]);/**
88
+ * @license lucide-vue-next v0.460.0 - ISC
89
+ *
90
+ * This source code is licensed under the ISC license.
91
+ * See the LICENSE file in the root directory of this source tree.
92
+ */const yi=$e("XIcon",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),_i="nowcrew.remote.token";function fc(){var s;const t=(s=new URLSearchParams(window.location.hash.slice(1)).get("token"))==null?void 0:s.trim();return t&&/^[A-Za-z0-9_-]{43}$/.test(t)?(localStorage.setItem(_i,t),history.replaceState(null,"",`${location.pathname}${location.search}`),t):localStorage.getItem(_i)??""}class ac{constructor(t){Je(this,"pendingSubmission",null);this.token=t}async sessions(){return(await this.request("/api/v1/sessions")).sessions}async timeline(t,s){return(await this.request(`/api/v1/sessions/${t}/${s}/timeline`)).items}async submit(t,s,n){var o;const i=`${t}:${s}`,r=((o=this.pendingSubmission)==null?void 0:o.target)===i&&this.pendingSubmission.text===n?this.pendingSubmission:{target:i,text:n,idempotencyKey:crypto.randomUUID()};this.pendingSubmission=r,await this.request(`/api/v1/sessions/${t}/${s}/input`,{method:"POST",body:JSON.stringify({text:n,idempotencyKey:r.idempotencyKey})}),this.pendingSubmission===r&&(this.pendingSubmission=null)}async approval(t,s,n,i){await this.request(`/api/v1/sessions/${t}/${s}/approvals/${n}`,{method:"POST",body:JSON.stringify({decision:i})})}async question(t,s,n,i){await this.request(`/api/v1/sessions/${t}/${s}/questions/${n}`,{method:"POST",body:JSON.stringify({answers:i})})}connect(t,s){let n=!1,i=null,r;const o=()=>{if(n)return;const l=new URL("/ws/client",location.href);l.protocol=l.protocol==="https:"?"wss:":"ws:";const u=new WebSocket(l,["nowcrew.remote.v2",`auth.${dc(this.token)}`]);i=u,u.addEventListener("open",()=>{i===u&&s(!0)}),u.addEventListener("message",d=>{if(i===u)try{t(JSON.parse(String(d.data)))}catch{}}),u.addEventListener("close",()=>{i===u&&(i=null,s(!1),n||(r=window.setTimeout(()=>{r=void 0,o()},1e3)))}),u.addEventListener("error",()=>u.close())};return o(),()=>{n=!0,r!==void 0&&clearTimeout(r);const l=i;i=null,l==null||l.close()}}async request(t,s={}){const n=await fetch(t,{...s,headers:{authorization:`Bearer ${this.token}`,"content-type":"application/json",...s.headers}});if(!n.ok){const i=await n.json().catch(()=>({}));throw new Error(i.error??`HTTP ${n.status}`)}return await n.json()}}function dc(e){const t=new TextEncoder().encode(e);let s="";for(const n of t)s+=String.fromCharCode(n);return btoa(s).replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}const Ts=ae(localStorage.getItem("nowcrew.remote.lang")??(navigator.language.toLowerCase().startsWith("zh")?"zh":"en")),hc={en:{sessions:"Sessions",all:"All",live:"Live",history:"History",connected:"Connected",reconnecting:"Reconnecting",unavailable:"Unavailable",offline:"Offline",unsupported:"Unsupported",noSessions:"No sessions found",noMessages:"No messages yet",readOnly:"This session is history only",send:"Send",runtimeOffline:"This runtime is not available on the computer",runtimeUnsupported:"The installed runtime version is not supported",message:"Message",approve:"Allow",deny:"Deny",command:"Command",answer:"Answer",refresh:"Refresh",back:"Sessions",working:"Working",ready:"Ready",tokenMissing:"Pairing link required",tokenMissingBody:"Open the private link generated on your computer.",retry:"Retry",question:"Input needed",resolved:"Resolved",failed:"Request failed",claude:"Claude Code",codex:"Codex",search:"Search sessions"},zh:{sessions:"会话",all:"全部",live:"在线",history:"历史",connected:"已连接",reconnecting:"正在重连",unavailable:"不可用",offline:"离线",unsupported:"不支持",noSessions:"暂无会话",noMessages:"暂无消息",readOnly:"该会话仅可查看历史",send:"发送",runtimeOffline:"电脑上的运行时当前不可用",runtimeUnsupported:"电脑上安装的运行时版本暂不支持",message:"输入任务",approve:"允许",deny:"拒绝",command:"命令",answer:"提交",refresh:"刷新",back:"会话",working:"执行中",ready:"就绪",tokenMissing:"需要配对链接",tokenMissingBody:"请打开电脑生成的私密链接。",retry:"重试",question:"需要输入",resolved:"已处理",failed:"请求失败",claude:"Claude Code",codex:"Codex",search:"搜索会话"}};function D(e){return hc[Ts.value][e]}function pc(e){Ts.value=e,localStorage.setItem("nowcrew.remote.lang",e)}const pn=400;function ds(e,t){return`${e}:${t}`}function gc(e){const t=new Map;for(const s of e)t.delete(s.id),t.set(s.id,s);return[...t.values()].slice(-pn)}class mc{constructor(){Je(this,"key",null);Je(this,"request",0);Je(this,"revision",0);Je(this,"snapshotRequest",null);Je(this,"mutations",[]);Je(this,"currentItems",[]);Je(this,"currentResolved",new Set)}get items(){return this.currentItems}get resolved(){return this.currentResolved}select(t,s){this.key=ds(t,s),this.request+=1,this.revision=0,this.snapshotRequest=null,this.mutations=[],this.currentItems=[],this.currentResolved=new Set}clear(){this.key=null,this.request+=1,this.revision=0,this.snapshotRequest=null,this.mutations=[],this.currentItems=[],this.currentResolved=new Set}beginSnapshot(t,s){const n=ds(t,s);return this.key!==n?null:(this.request+=1,this.snapshotRequest=this.request,this.mutations=[],{key:n,request:this.request,revision:this.revision})}isCurrent(t){return this.key===t.key&&this.request===t.request}commitSnapshot(t,s){if(!this.isCurrent(t))return!1;this.currentItems=gc(s),this.currentResolved=new Set;for(const n of this.mutations)n.revision<=t.revision||this.applyMutation(n);return this.snapshotRequest=null,this.mutations=[],!0}finishSnapshot(t){!this.isCurrent(t)||this.snapshotRequest!==t.request||(this.snapshotRequest=null,this.mutations=[])}append(t,s,n){if(this.key!==ds(t,s))return!1;const i={revision:++this.revision,type:"append",item:n};return this.snapshotRequest!==null&&this.mutations.push(i),this.applyMutation(i),!0}resolve(t,s,n){if(this.key!==ds(t,s))return!1;const i={revision:++this.revision,type:"resolve",requestId:n};return this.snapshotRequest!==null&&this.mutations.push(i),this.applyMutation(i),!0}applyMutation(t){if(t.type==="resolve"){t.requestId&&this.currentResolved.add(t.requestId);return}if(!t.item)return;const s=this.currentItems.findIndex(n=>n.id===t.item.id);s>=0&&this.currentItems.splice(s,1),this.currentItems.push(t.item),this.currentItems.length>pn&&this.currentItems.splice(0,this.currentItems.length-pn),(t.item.kind==="approval"||t.item.kind==="question")&&this.currentResolved.delete(t.item.requestId)}}const vc={key:0,class:"pairing-state"},yc={class:"session-pane"},_c={class:"brand-bar"},bc={class:"header-actions"},wc=["title"],xc=["value"],Sc=["title","aria-label"],Cc={class:"session-heading"},Tc={class:"segments",role:"tablist"},Ic=["onClick"],Ec={class:"session-search"},Mc=["placeholder"],Ac={key:0,class:"list-error"},Oc={class:"session-list"},Rc=["onClick"],Pc={class:"session-copy"},kc=["title"],$c={key:0,class:"empty"},Fc={key:0,class:"conversation"},Lc={class:"conversation-header"},Nc=["title","aria-label"],Dc={class:"conversation-title"},qc={key:0,class:"loading-line"},jc={key:1,class:"empty conversation-empty"},Hc={class:"message-meta"},Kc={key:1,class:"tool-row"},Uc={key:2,class:"interaction-card approval-card"},Vc={class:"interaction-title"},Bc={key:0,class:"resolved"},Wc={key:1,class:"interaction-actions"},zc=["disabled","onClick"],Jc=["disabled","onClick"],Gc={key:3,class:"interaction-card question-card"},Yc={class:"interaction-title"},Xc=["onUpdate:modelValue"],Zc=["value"],Qc=["onUpdate:modelValue","type"],eu={key:0,class:"resolved"},tu=["disabled","onClick"],su={key:4,class:"status-row"},nu={class:"composer-wrap"},iu={key:0,class:"error-banner"},ru={key:1,class:"readonly-banner"},ou=["placeholder","disabled","onKeydown"],lu=["disabled","title","aria-label"],cu={key:1,class:"desktop-empty"},uu=So({__name:"App",setup(e){const t=fc(),s=t?new ac(t):null,n=ae([]),i=ae(null),r=ae(null),o=ae([]),l=ae("all"),u=ae(!1),d=ae(!1),a=ae(!1),p=ae(!1),S=ae(""),E=ae(""),U=ae(""),k=ae(null),ie=ae(new Set),q=ae(new Set),N=ae({});let Y=()=>{},A,re=0;const oe=new mc,B=an(()=>n.value.find(_=>_.id===i.value&&_.runtime===r.value)??null),Ae=an(()=>n.value.filter(_=>l.value==="live"?_.controlState==="live":l.value==="history"?_.controlState!=="live":!0).filter(_=>{const O=U.value.trim().toLocaleLowerCase();return O?`${_.title}
93
+ ${_.cwd}
94
+ ${_.runtime}`.toLocaleLowerCase().includes(O):!0}));function dt(_){return D(_)}function We(_){return D(_==="live"?"ready":_==="offline"?"offline":_==="unsupported"?"unsupported":"history")}function rt(_){return D(_==="offline"?"runtimeOffline":_==="unsupported"?"runtimeUnsupported":_==="live"?"ready":"readOnly")}function ht(_){return new Intl.DateTimeFormat(Ts.value==="zh"?"zh-CN":"en",{hour:"2-digit",minute:"2-digit",month:"short",day:"numeric"}).format(new Date(_))}function Te(){o.value=[...oe.items],ie.value=new Set(oe.resolved)}function wt(){i.value=null,r.value=null,oe.clear(),Te(),a.value=!1,N.value={}}async function pt(){if(!s)return;const _=++re;d.value=!0;try{const O=await s.sessions();if(_!==re)return;n.value=O,S.value="",i.value&&!n.value.some(b=>b.id===i.value&&b.runtime===r.value)&&wt()}catch(O){_===re&&(S.value=O instanceof Error?O.message:D("failed"))}finally{_===re&&(d.value=!1)}}async function ue(_,O){if(s){a.value=!0;try{const b=await s.timeline(_.runtime,_.id);if(!oe.commitSnapshot(O,b))return;Te(),S.value="",await Fe()}catch(b){oe.isCurrent(O)&&(S.value=b instanceof Error?b.message:D("failed"))}finally{oe.isCurrent(O)&&(a.value=!1),oe.finishSnapshot(O)}}}function se(_){const O=oe.beginSnapshot(_.runtime,_.id);return O?ue(_,O):Promise.resolve()}async function X(_){i.value=_.id,r.value=_.runtime,oe.select(_.runtime,_.id),Te(),N.value={},await se(_)}async function ze(){const _=B.value;await Promise.all([pt(),_?se(_):Promise.resolve()])}function xt(_){if(_.type==="sessions.changed"){A!==void 0&&clearTimeout(A),A=window.setTimeout(()=>void pt(),120);return}if(_.type==="interaction.resolved"){oe.resolve(_.runtime,_.sessionId,_.requestId)&&Te();return}oe.append(_.runtime,_.sessionId,_.item)&&(Te(),Fe())}async function Fe(){var _;await Mn(),(_=k.value)==null||_.scrollTo({top:k.value.scrollHeight,behavior:"smooth"})}async function be(){const _=B.value,O=E.value.trim();if(!(!s||!_||_.controlState!=="live"||!O||p.value)){p.value=!0;try{await s.submit(_.runtime,_.id,O),E.value="",S.value=""}catch(b){S.value=b instanceof Error?b.message:D("failed")}finally{p.value=!1}}}async function Ft(_,O){const b=B.value;if(!(!s||!b||q.value.has(_.requestId))){q.value=new Set([...q.value,_.requestId]);try{await s.approval(b.runtime,b.id,_.requestId,O),oe.resolve(b.runtime,b.id,_.requestId)&&Te(),S.value=""}catch(V){S.value=V instanceof Error?V.message:D("failed")}finally{const V=new Set(q.value);V.delete(_.requestId),q.value=V}}}function ot(_,O){return`${_}:${O}`}function rs(_){return _.questions.every(O=>{var b;return!!((b=N.value[ot(_.requestId,O.id)])!=null&&b.trim())})}async function gt(_){const O=B.value;if(!s||!O||q.value.has(_.requestId)||!rs(_))return;const b=Object.fromEntries(_.questions.map(V=>{var c;return[V.id,[((c=N.value[ot(_.requestId,V.id)])==null?void 0:c.trim())??""]]}));q.value=new Set([...q.value,_.requestId]);try{await s.question(O.runtime,O.id,_.requestId,b),oe.resolve(O.runtime,O.id,_.requestId)&&Te(),S.value=""}catch(V){S.value=V instanceof Error?V.message:D("failed")}finally{const V=new Set(q.value);V.delete(_.requestId),q.value=V}}function St(_){pc(_.target.value)}return er(()=>{s&&(pt(),Y=s.connect(xt,_=>{u.value=_,_&&ze()}))}),Rn(()=>{Y(),A!==void 0&&clearTimeout(A)}),(_,O)=>F(t)?(H(),W("main",{key:1,class:Se(["shell",{"has-selection":B.value}])},[I("aside",yc,[I("header",_c,[O[5]||(O[5]=I("div",{class:"brand"},[I("img",{src:Ys,alt:"",width:"30",height:"30"}),I("div",null,[I("strong",null,"NowCrew"),I("span",null,"Remote")])],-1)),I("div",bc,[I("span",{class:Se(["connection",{online:u.value}]),title:u.value?F(D)("connected"):F(D)("reconnecting")},[ee(F(rc),{size:10,fill:"currentColor"})],10,wc),I("select",{class:"language",value:F(Ts),"aria-label":"Language",onChange:St},[...O[4]||(O[4]=[I("option",{value:"en"},"EN",-1),I("option",{value:"zh"},"中",-1)])],40,xc),I("button",{class:"icon-button",title:F(D)("refresh"),"aria-label":F(D)("refresh"),onClick:pt},[ee(F(oc),{size:18,class:Se({spinning:d.value})},null,8,["class"])],8,Sc)])]),I("div",Cc,[I("h1",null,j(F(D)("sessions")),1),I("span",null,j(n.value.length),1)]),I("div",Tc,[(H(),W(ye,null,Dt(["all","live","history"],b=>I("button",{key:b,class:Se({active:l.value===b}),onClick:V=>l.value=b},j(F(D)(b)),11,Ic)),64))]),I("label",Ec,[ee(F(lc),{size:15}),us(I("input",{"onUpdate:modelValue":O[0]||(O[0]=b=>U.value=b),type:"search",placeholder:F(D)("search")},null,8,Mc),[[Cs,U.value]])]),S.value&&!B.value?(H(),W("div",Ac,j(S.value),1)):jt("",!0),I("div",Oc,[(H(!0),W(ye,null,Dt(Ae.value,b=>(H(),W("button",{key:`${b.runtime}:${b.id}`,class:Se(["session-row",{selected:i.value===b.id&&r.value===b.runtime}]),onClick:V=>X(b)},[I("span",{class:Se(["runtime-icon",b.runtime])},[b.runtime==="claude"?(H(),Kt(F(Xs),{key:0,size:18})):(H(),Kt(F(Qs),{key:1,size:18}))],2),I("span",Pc,[I("strong",null,j(b.title),1),I("span",null,j(dt(b.runtime))+" · "+j(ht(b.updatedAt)),1),I("small",null,j(b.cwd),1)]),I("span",{class:Se(["state-dot",{live:b.controlState==="live",busy:b.busy}]),title:b.busy?F(D)("working"):rt(b.controlState)},null,10,kc)],10,Rc))),128)),!d.value&&Ae.value.length===0?(H(),W("div",$c,j(F(D)("noSessions")),1)):jt("",!0)])]),B.value?(H(),W("section",Fc,[I("header",Lc,[I("button",{class:"icon-button mobile-back",title:F(D)("back"),"aria-label":F(D)("back"),onClick:wt},[ee(F(nc),{size:20})],8,Nc),I("span",{class:Se(["runtime-icon",B.value.runtime])},[B.value.runtime==="claude"?(H(),Kt(F(Xs),{key:0,size:18})):(H(),Kt(F(Qs),{key:1,size:18}))],2),I("div",Dc,[I("strong",null,j(B.value.title),1),I("span",null,j(B.value.cwd),1)]),I("span",{class:Se(["activity-label",{busy:B.value.busy}])},j(B.value.busy?F(D)("working"):We(B.value.controlState)),3)]),I("div",{ref_key:"scroller",ref:k,class:"timeline"},[a.value?(H(),W("div",qc)):o.value.length===0?(H(),W("div",jc,j(F(D)("noMessages")),1)):jt("",!0),(H(!0),W(ye,null,Dt(o.value,b=>(H(),W(ye,{key:b.id},[b.kind==="message"?(H(),W("article",{key:0,class:Se(["message",b.role])},[I("div",Hc,[I("span",null,j(b.role==="user"?"You":dt(B.value.runtime)),1),I("time",null,j(ht(b.createdAt)),1)]),I("p",null,j(b.text),1)],2)):b.kind==="tool"?(H(),W("details",Kc,[I("summary",null,[ee(F(uc),{size:15}),I("strong",null,j(b.name),1),I("span",null,j(b.status),1),ee(F(ic),{size:15})]),I("pre",null,j(b.summary),1)])):b.kind==="approval"?(H(),W("article",Uc,[I("div",Vc,[ee(F(Qs),{size:17}),I("strong",null,j(b.tool),1),I("span",null,j(F(D)("command")),1)]),I("pre",null,j(b.preview),1),ie.value.has(b.requestId)?(H(),W("div",Bc,[ee(F(Zs),{size:16}),It(j(F(D)("resolved")),1)])):(H(),W("div",Wc,[I("button",{class:"deny",disabled:q.value.has(b.requestId),onClick:V=>Ft(b,"deny")},[ee(F(yi),{size:17}),It(j(F(D)("deny")),1)],8,zc),I("button",{class:"allow",disabled:q.value.has(b.requestId),onClick:V=>Ft(b,"allow")},[ee(F(Zs),{size:17}),It(j(F(D)("approve")),1)],8,Jc)]))])):b.kind==="question"?(H(),W("article",Gc,[I("div",Yc,[ee(F(Xs),{size:17}),I("strong",null,j(F(D)("question")),1)]),(H(!0),W(ye,null,Dt(b.questions,V=>(H(),W("label",{key:V.id,class:"question-field"},[I("span",null,j(V.header),1),I("strong",null,j(V.question),1),V.options?us((H(),W("select",{key:0,"onUpdate:modelValue":c=>N.value[ot(b.requestId,V.id)]=c},[O[6]||(O[6]=I("option",{value:"",disabled:""},"—",-1)),(H(!0),W(ye,null,Dt(V.options,c=>(H(),W("option",{key:c.label,value:c.label},j(c.label),9,Zc))),128))],8,Xc)),[[Sr,N.value[ot(b.requestId,V.id)]]]):us((H(),W("input",{key:1,"onUpdate:modelValue":c=>N.value[ot(b.requestId,V.id)]=c,type:V.isSecret?"password":"text"},null,8,Qc)),[[Bl,N.value[ot(b.requestId,V.id)]]])]))),128)),ie.value.has(b.requestId)?(H(),W("div",eu,[ee(F(Zs),{size:16}),It(j(F(D)("resolved")),1)])):(H(),W("button",{key:1,class:"allow answer-button",disabled:q.value.has(b.requestId)||!rs(b),onClick:V=>gt(b)},j(F(D)("answer")),9,tu))])):(H(),W("div",su,j(b.text),1))],64))),128))],512),I("footer",nu,[S.value?(H(),W("div",iu,[It(j(S.value),1),I("button",{onClick:O[1]||(O[1]=b=>S.value="")},[ee(F(yi),{size:15})])])):jt("",!0),B.value.controlState!=="live"?(H(),W("div",ru,j(rt(B.value.controlState)),1)):jt("",!0),I("form",{class:"composer",onSubmit:Gs(be,["prevent"])},[us(I("textarea",{"onUpdate:modelValue":O[2]||(O[2]=b=>E.value=b),rows:"1",placeholder:F(D)("message"),disabled:B.value.controlState!=="live",onKeydown:[mi(Gs(be,["meta","prevent"]),["enter"]),mi(Gs(be,["ctrl","prevent"]),["enter"])]},null,40,ou),[[Cs,E.value]]),I("button",{class:"send-button",type:"submit",disabled:!E.value.trim()||p.value||B.value.controlState!=="live",title:F(D)("send"),"aria-label":F(D)("send")},[ee(F(cc),{size:19})],8,lu)],32)])])):(H(),W("section",cu,[...O[7]||(O[7]=[I("img",{src:Ys,alt:"",width:"42",height:"42"},null,-1),I("span",null,"NowCrew Remote",-1)])]))],2)):(H(),W("main",vc,[O[3]||(O[3]=I("img",{src:Ys,alt:"NowCrew",width:"52",height:"52"},null,-1)),I("h1",null,j(F(D)("tokenMissing")),1),I("p",null,j(F(D)("tokenMissingBody")),1)]))}});Zl(uu).mount("#app");"serviceWorker"in navigator&&window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js")});
@@ -0,0 +1 @@
1
+ @font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light dark;font-family:Inter Variable,Inter,system-ui,sans-serif;font-synthesis:none;letter-spacing:0;--bg: #f6f7f8;--surface: #ffffff;--surface-2: #f0f2f3;--border: #dfe3e6;--text: #171a1c;--muted: #6b747a;--green: #237a57;--green-soft: #e6f3ed;--rust: #a54a2a;--rust-soft: #f7ebe6;--blue: #326f9c;--focus: #2776b8}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text)}button,textarea,input,select{color:inherit;font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:default;opacity:.45}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);width:100%;height:100dvh}.session-pane{min-width:0;display:flex;flex-direction:column;background:var(--surface);border-right:1px solid var(--border)}.brand-bar,.conversation-header{min-height:58px;padding:10px 14px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:9px;min-width:0}.brand img{border-radius:6px}.brand div{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:15px}.brand span{color:var(--muted);font-size:11px;margin-top:3px}.header-actions{margin-left:auto;display:flex;align-items:center;gap:5px}.connection{color:#9ca3a8;display:grid;place-items:center;width:22px;height:32px}.connection.online{color:var(--green)}.language{height:32px;border:0;background:transparent;color:var(--muted);font-size:12px}.icon-button{width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:6px;background:transparent}.icon-button:hover{background:var(--surface-2)}.spinning{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.session-heading{padding:18px 16px 10px;display:flex;align-items:baseline;gap:7px}.session-heading h1{margin:0;font-size:18px;line-height:1.25}.session-heading span{color:var(--muted);font-size:12px}.segments{margin:0 12px 9px;display:grid;grid-template-columns:repeat(3,1fr);padding:3px;border-radius:6px;background:var(--surface-2)}.segments button{height:30px;border:0;border-radius:4px;background:transparent;color:var(--muted);font-size:12px;font-weight:600}.segments button.active{background:var(--surface);color:var(--text);box-shadow:0 1px 2px #00000017}.session-search{height:36px;margin:0 12px 9px;display:flex;align-items:center;gap:7px;padding:0 10px;border:1px solid var(--border);border-radius:6px;color:var(--muted);background:var(--surface)}.session-search:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.session-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:12px}.list-error{margin:0 12px 9px;padding:8px 10px;border-radius:5px;color:var(--rust);background:var(--rust-soft);font-size:11px;overflow-wrap:anywhere}.session-list{flex:1;overflow:auto;padding:0 8px 20px}.session-row{width:100%;min-height:82px;display:grid;grid-template-columns:34px minmax(0,1fr) 10px;align-items:start;gap:9px;padding:12px 8px;text-align:left;border:0;border-bottom:1px solid var(--border);background:transparent}.session-row:hover,.session-row.selected{background:var(--surface-2)}.session-row.selected{border-radius:6px;border-color:transparent}.runtime-icon{width:32px;height:32px;display:grid;place-items:center;border-radius:6px;color:var(--green);background:var(--green-soft);flex:0 0 auto}.runtime-icon.codex{color:var(--rust);background:var(--rust-soft)}.session-copy{min-width:0;display:flex;flex-direction:column;gap:4px}.session-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.3}.session-copy span{color:var(--muted);font-size:11px}.session-copy small{color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.state-dot{width:7px;height:7px;margin-top:12px;border-radius:50%;background:#b7bdc0}.state-dot.live{background:var(--green)}.state-dot.busy{background:var(--rust);box-shadow:0 0 0 3px var(--rust-soft)}.conversation{min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--bg)}.conversation-header{background:color-mix(in srgb,var(--surface) 94%,transparent)}.mobile-back{display:none}.conversation-title{min-width:0;display:flex;flex-direction:column;gap:3px}.conversation-title strong{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversation-title span{max-width:65vw;color:var(--muted);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-label{margin-left:auto;flex:0 0 auto;padding:4px 7px;border-radius:4px;color:var(--green);background:var(--green-soft);font-size:10px;font-weight:700}.activity-label.busy{color:var(--rust);background:var(--rust-soft)}.timeline{overflow:auto;padding:24px max(18px,calc((100% - 780px)/2)) 30px;scroll-behavior:smooth}.message{margin:0 0 22px}.message.user{margin-left:max(40px,12%);padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:7px;color:var(--muted);font-size:10px;font-weight:600}.message-meta time{margin-left:auto;font-weight:450}.message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.62}.message.assistant p{font-size:14px}.tool-row{margin:0 0 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent)}.tool-row summary{min-height:42px;display:grid;grid-template-columns:18px auto 1fr 16px;align-items:center;gap:7px;padding:6px 9px;list-style:none;color:var(--muted);font-size:11px}.tool-row summary::-webkit-details-marker{display:none}.tool-row summary strong{color:var(--text);font-size:12px}.tool-row summary span{text-align:right}.tool-row[open] summary svg:last-child{transform:rotate(90deg)}.tool-row pre,.interaction-card pre{margin:0;padding:10px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--surface-2)}.interaction-card{margin:16px 0;padding:13px;border:1px solid var(--border);border-left:3px solid var(--rust);border-radius:6px;background:var(--surface)}.question-card{border-left-color:var(--blue)}.interaction-title{display:flex;align-items:center;gap:7px;margin-bottom:10px;font-size:12px}.interaction-title span{margin-left:auto;color:var(--muted);font-size:10px}.interaction-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.interaction-actions button,.answer-button{min-height:36px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:5px;font-size:12px;font-weight:650}.deny{border:1px solid var(--border);background:var(--surface)}.allow{border:1px solid var(--green);background:var(--green);color:#fff}.answer-button{width:100%;margin-top:12px}.resolved{min-height:36px;display:flex;align-items:center;justify-content:flex-end;gap:6px;color:var(--green);font-size:12px;font-weight:650}.question-field{display:flex;flex-direction:column;gap:5px;padding:10px 0;border-top:1px solid var(--border)}.question-field>span{color:var(--muted);font-size:10px}.question-field>strong{font-size:12px;line-height:1.4}.question-field input,.question-field select{width:100%;min-height:38px;padding:7px 9px;border:1px solid var(--border);border-radius:5px;background:var(--bg);font-size:13px}.status-row{margin:10px 0;color:var(--muted);text-align:center;font-size:11px}.composer-wrap{padding:8px max(14px,calc((100% - 780px)/2)) calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);border-top:1px solid var(--border)}.composer{min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:7px;padding:6px;border:1px solid var(--border);border-radius:7px;background:var(--surface);box-shadow:0 3px 14px #0000000d}.composer textarea{width:100%;max-height:130px;min-height:32px;resize:vertical;padding:7px 8px;border:0;outline:0;background:transparent;font-size:14px;line-height:1.4}.send-button{width:38px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:5px;background:var(--green);color:#fff}.error-banner,.readonly-banner{min-height:32px;display:flex;align-items:center;padding:6px 9px;margin-bottom:7px;border-radius:5px;background:var(--rust-soft);color:var(--rust);font-size:11px;overflow-wrap:anywhere}.error-banner button{display:grid;place-items:center;margin-left:auto;border:0;background:transparent;color:inherit}.readonly-banner{background:var(--surface-2);color:var(--muted)}.desktop-empty,.pairing-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--muted)}.desktop-empty img,.pairing-state img{border-radius:8px;filter:grayscale(.15)}.desktop-empty span{font-size:12px;font-weight:600}.empty{padding:40px 16px;text-align:center;color:var(--muted);font-size:12px}.conversation-empty{padding-top:22vh}.pairing-state{width:100%;height:100dvh;padding:24px;text-align:center;background:var(--surface)}.pairing-state h1{margin:8px 0 0;color:var(--text);font-size:18px}.pairing-state p{max-width:320px;margin:0;font-size:13px;line-height:1.5}.loading-line{height:2px;background:var(--green);animation:loading 1s ease-in-out infinite alternate}@keyframes loading{0%{transform:scaleX(.1);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@media (max-width: 720px){.shell{display:block;height:100dvh}.session-pane,.conversation{width:100%;height:100%}.shell.has-selection .session-pane{display:none}.shell:not(.has-selection) .desktop-empty{display:none}.session-pane{border-right:0}.brand-bar{padding-top:calc(10px + env(safe-area-inset-top));min-height:calc(58px + env(safe-area-inset-top))}.conversation{grid-template-rows:auto minmax(0,1fr) auto}.conversation-header{padding-top:calc(8px + env(safe-area-inset-top));min-height:calc(58px + env(safe-area-inset-top))}.mobile-back{display:grid;margin-left:-5px}.timeline{padding:18px 14px 24px}.message.user{margin-left:28px}.message p,.message.assistant p{font-size:14px}.composer-wrap{padding-left:10px;padding-right:10px}.conversation-title span{max-width:48vw}}@media (prefers-color-scheme: dark){:root{--bg: #151719;--surface: #1d2022;--surface-2: #282c2f;--border: #343a3e;--text: #edf0f1;--muted: #9aa3a8;--green: #56b88a;--green-soft: #173b2c;--rust: #e58a69;--rust-soft: #43251c;--blue: #6aa9d7;--focus: #62aee8}.allow,.send-button{color:#102319}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
@@ -0,0 +1,7 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" role="img" aria-label="NowWork">
2
+ <rect width="512" height="512" rx="112" fill="#1b1b23"/>
3
+ <path d="M112 176c0-35.3 28.7-64 64-64h160c35.3 0 64 28.7 64 64v160c0 35.3-28.7 64-64 64H176c-35.3 0-64-28.7-64-64V176Z" fill="#6366f1"/>
4
+ <path d="M160 190c0-16.6 13.4-30 30-30h132c16.6 0 30 13.4 30 30v132c0 16.6-13.4 30-30 30H190c-16.6 0-30-13.4-30-30V190Z" fill="#fff"/>
5
+ <path d="M198 308V204h28l60 59v-59h28v104h-28l-60-59v59h-28Z" fill="#1b1b23"/>
6
+ <circle cx="362" cy="150" r="28" fill="#16a34a"/>
7
+ </svg>
@@ -0,0 +1,20 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
6
+ <meta name="theme-color" content="#f6f7f8" />
7
+ <meta name="apple-mobile-web-app-capable" content="yes" />
8
+ <meta name="apple-mobile-web-app-status-bar-style" content="default" />
9
+ <meta name="apple-mobile-web-app-title" content="NowCrew" />
10
+ <link rel="manifest" href="/manifest.webmanifest" />
11
+ <link rel="icon" href="/icons/nowwork.svg" type="image/svg+xml" />
12
+ <link rel="apple-touch-icon" href="/icons/nowwork-192.png" />
13
+ <title>NowCrew Remote</title>
14
+ <script type="module" crossorigin src="/assets/index-B_6VM_tw.js"></script>
15
+ <link rel="stylesheet" crossorigin href="/assets/index-L6EiQbJn.css">
16
+ </head>
17
+ <body>
18
+ <div id="app"></div>
19
+ </body>
20
+ </html>
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "NowCrew Remote",
3
+ "short_name": "NowCrew",
4
+ "description": "Private mobile control for local coding sessions",
5
+ "start_url": "/",
6
+ "display": "standalone",
7
+ "background_color": "#f6f7f8",
8
+ "theme_color": "#f6f7f8",
9
+ "icons": [
10
+ { "src": "/icons/nowwork-192.png", "sizes": "192x192", "type": "image/png" },
11
+ { "src": "/icons/nowwork-512.png", "sizes": "512x512", "type": "image/png" }
12
+ ]
13
+ }
@@ -0,0 +1,12 @@
1
+ const CACHE = "nowcrew-remote-v1";
2
+ self.addEventListener("install", (event) => event.waitUntil(caches.open(CACHE).then((cache) => cache.addAll(["/"]))));
3
+ self.addEventListener("activate", (event) => event.waitUntil(self.clients.claim()));
4
+ self.addEventListener("fetch", (event) => {
5
+ const url = new URL(event.request.url);
6
+ if (event.request.method !== "GET" || url.pathname.startsWith("/api/") || url.pathname.startsWith("/ws/")) return;
7
+ event.respondWith(fetch(event.request).then((response) => {
8
+ const copy = response.clone();
9
+ void caches.open(CACHE).then((cache) => cache.put(event.request, copy));
10
+ return response;
11
+ }).catch(() => caches.match(event.request)));
12
+ });
package/dist/serve.js CHANGED
@@ -71,7 +71,8 @@ export function serve(config, opts = {}) {
71
71
  let detectedExecutionRuntimes = [];
72
72
  let runtimeFacts = null;
73
73
  const runtimeProbe = createRuntimeProbeCoordinator();
74
- const hostCoordinator = opts.execution?.hostCoordinator ?? createHostExecutionCoordinator();
74
+ const hostCoordinator = opts.execution?.hostCoordinator
75
+ ?? createHostExecutionCoordinator({ executionSlots: config.executionLimits.maxParallelTotal });
75
76
  const localSlots = createSharedSlotManager(config.executionLimits);
76
77
  const sharedSlots = hostCoordinatedSlotManager(localSlots, hostCoordinator);
77
78
  const runtimeStartupGate = hostCoordinatedStartupGate(createRuntimeStartupGate(config.executionLimits), hostCoordinator);
@@ -496,12 +497,14 @@ export function serve(config, opts = {}) {
496
497
  task_key: spec.workspace.taskKey,
497
498
  });
498
499
  }
499
- const reservation = sharedSlots.reserve(spec.agent.handle, "execution");
500
+ const executionClass = spec.context.scheduledRunId === undefined ? "normal" : "scheduled";
501
+ const reservation = sharedSlots.reserve(spec.agent.handle, "execution", executionClass);
500
502
  if (!reservation.accepted) {
501
503
  dslog("execution.machine_queue_rejected", "机器执行队列已满", {
502
504
  level: "WARN",
503
505
  execution_id: spec.executionId,
504
506
  agent_handle: spec.agent.handle,
507
+ execution_class: executionClass,
505
508
  ...reservation.facts,
506
509
  });
507
510
  safeExecutionSend(ExecutionRejectedSchema.parse({
@@ -517,6 +520,7 @@ export function serve(config, opts = {}) {
517
520
  dslog("execution.machine_queued", "execution 已进入机器队列", {
518
521
  execution_id: spec.executionId,
519
522
  agent_handle: spec.agent.handle,
523
+ execution_class: executionClass,
520
524
  ...reservation.facts,
521
525
  });
522
526
  }
@@ -534,6 +538,7 @@ export function serve(config, opts = {}) {
534
538
  ...(activeSameTask > 1 ? { level: "WARN" } : {}),
535
539
  execution_id: spec.executionId,
536
540
  agent_handle: spec.agent.handle,
541
+ execution_class: executionClass,
537
542
  task_key: spec.workspace.taskKey,
538
543
  active_same_task: activeSameTask,
539
544
  ...reservation.facts,
@@ -602,6 +607,7 @@ export function serve(config, opts = {}) {
602
607
  dslog("execution.machine_slot_ready", "execution 获得机器执行名额", {
603
608
  execution_id: spec.executionId,
604
609
  agent_handle: spec.agent.handle,
610
+ execution_class: executionClass,
605
611
  queue_ms: Date.now() - machineQueueEnteredAt,
606
612
  active_total: snapshot.activeTotal,
607
613
  queued_total: snapshot.queuedTotal,
@@ -824,7 +830,7 @@ export function serve(config, opts = {}) {
824
830
  }
825
831
  }
826
832
  running.add(key);
827
- legacyReservation = sharedSlots.reserve(msg.agentHandle, "legacy");
833
+ legacyReservation = sharedSlots.reserve(msg.agentHandle, "legacy", scheduled === null ? "normal" : "scheduled");
828
834
  if (legacyReservation.isQueued()) {
829
835
  const snapshot = sharedSlots.snapshot();
830
836
  dslog("run.machine_queued", "legacy run 已进入机器队列", {
@@ -1,13 +1,18 @@
1
1
  export function createSharedSlotManager(limits) {
2
- const activeByHandle = new Map();
2
+ const activeByHandleAndClass = new Map();
3
3
  const queue = [];
4
4
  let activeTotal = 0;
5
5
  let exclusive = false;
6
6
  const queuedFor = (handle) => queue.filter((entry) => !entry.released && entry.handle === handle).length;
7
+ const activeKey = (handle, executionClass) => `${handle}:${executionClass}`;
8
+ const maxParallelFor = (executionClass) => executionClass === "scheduled"
9
+ ? limits.maxParallelScheduledPerAgent
10
+ : limits.maxParallelPerAgent;
7
11
  const promote = () => {
8
12
  while (activeTotal < limits.maxParallelTotal) {
9
13
  const index = queue.findIndex((entry) => !entry.released
10
- && (activeByHandle.get(entry.handle) ?? 0) < limits.maxParallelPerAgent);
14
+ && (activeByHandleAndClass.get(activeKey(entry.handle, entry.executionClass)) ?? 0)
15
+ < maxParallelFor(entry.executionClass));
11
16
  if (index < 0)
12
17
  return;
13
18
  const [next] = queue.splice(index, 1);
@@ -15,13 +20,15 @@ export function createSharedSlotManager(limits) {
15
20
  continue;
16
21
  next.promoted = true;
17
22
  activeTotal += 1;
18
- activeByHandle.set(next.handle, (activeByHandle.get(next.handle) ?? 0) + 1);
23
+ const key = activeKey(next.handle, next.executionClass);
24
+ activeByHandleAndClass.set(key, (activeByHandleAndClass.get(key) ?? 0) + 1);
19
25
  next.resolve();
20
26
  }
21
27
  };
22
28
  return {
23
- reserve: (handle, kind) => {
24
- const activeForAgent = activeByHandle.get(handle) ?? 0;
29
+ reserve: (handle, kind, executionClass = "normal") => {
30
+ const key = activeKey(handle, executionClass);
31
+ const activeForAgent = activeByHandleAndClass.get(key) ?? 0;
25
32
  const queuedForAgent = queuedFor(handle);
26
33
  const facts = {
27
34
  activeForAgent,
@@ -39,7 +46,7 @@ export function createSharedSlotManager(limits) {
39
46
  };
40
47
  }
41
48
  const canStartImmediately = activeTotal < limits.maxParallelTotal
42
- && activeForAgent < limits.maxParallelPerAgent
49
+ && activeForAgent < maxParallelFor(executionClass)
43
50
  && queue.length === 0;
44
51
  if (kind === "execution" && !canStartImmediately && (queuedForAgent >= limits.maxQueuedPerAgent
45
52
  || queue.length >= limits.maxQueuedTotal)) {
@@ -55,6 +62,7 @@ export function createSharedSlotManager(limits) {
55
62
  const ready = new Promise((resolve) => { resolveReady = resolve; });
56
63
  const entry = {
57
64
  handle,
65
+ executionClass,
58
66
  released: false,
59
67
  promoted: false,
60
68
  resolve: resolveReady,
@@ -73,11 +81,11 @@ export function createSharedSlotManager(limits) {
73
81
  entry.released = true;
74
82
  if (entry.promoted) {
75
83
  activeTotal = Math.max(0, activeTotal - 1);
76
- const nextForAgent = Math.max(0, (activeByHandle.get(handle) ?? 1) - 1);
84
+ const nextForAgent = Math.max(0, (activeByHandleAndClass.get(key) ?? 1) - 1);
77
85
  if (nextForAgent === 0)
78
- activeByHandle.delete(handle);
86
+ activeByHandleAndClass.delete(key);
79
87
  else
80
- activeByHandle.set(handle, nextForAgent);
88
+ activeByHandleAndClass.set(key, nextForAgent);
81
89
  }
82
90
  else {
83
91
  const index = queue.indexOf(entry);
package/dist/slog.js CHANGED
@@ -27,6 +27,16 @@ let flushPromise = null;
27
27
  let inFlightBatch = [];
28
28
  let lastErrorAt = 0;
29
29
  let exitHookInstalled = false;
30
+ function deploymentEnvironment(serverHost) {
31
+ if (serverHost === "nowwork-in.nowcoder.com")
32
+ return "prod";
33
+ if (serverHost === "nowwork-dev.nowcoder.com")
34
+ return "dev";
35
+ if (serverHost === "localhost" || serverHost === "127.0.0.1"
36
+ || serverHost === "::1" || serverHost === "[::1]")
37
+ return "local";
38
+ return undefined;
39
+ }
30
40
  function spoolDir() {
31
41
  return process.env.CREW_SLS_SPOOL_DIR ?? join(homedir(), ".crew", "logs", "sls-spool");
32
42
  }
@@ -49,6 +59,7 @@ export function initSlog(serverUrl, machineToken, identity = {}) {
49
59
  cli_version: identity.cliVersion,
50
60
  daemon_profile: identity.profileName,
51
61
  server_host: serverHost,
62
+ env: deploymentEnvironment(serverHost),
52
63
  agents_root_fingerprint: identity.agentsRoot === undefined
53
64
  ? undefined
54
65
  : createHash("sha256").update(resolve(identity.agentsRoot), "utf8").digest("hex"),