heyio 0.35.0 → 0.37.0

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.
@@ -1,88 +0,0 @@
1
- (function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function s(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=s(r);fetch(r.href,i)}})();/**
2
- * @vue/shared v3.5.34
3
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
- * @license MIT
5
- **/function da(e){const t=Object.create(null);for(const s of e.split(","))t[s]=1;return s=>s in t}const je={},sn=[],qt=()=>{},Pl=()=>!1,Br=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Hr=e=>e.startsWith("onUpdate:"),Qe=Object.assign,ha=(e,t)=>{const s=e.indexOf(t);s>-1&&e.splice(s,1)},bd=Object.prototype.hasOwnProperty,Ne=(e,t)=>bd.call(e,t),ve=Array.isArray,nn=e=>Qn(e)==="[object Map]",Fr=e=>Qn(e)==="[object Set]",Fa=e=>Qn(e)==="[object Date]",Se=e=>typeof e=="function",He=e=>typeof e=="string",Et=e=>typeof e=="symbol",Le=e=>e!==null&&typeof e=="object",Ll=e=>(Le(e)||Se(e))&&Se(e.then)&&Se(e.catch),Ml=Object.prototype.toString,Qn=e=>Ml.call(e),vd=e=>Qn(e).slice(8,-1),jl=e=>Qn(e)==="[object Object]",Vr=e=>He(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,En=da(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),qr=e=>{const t=Object.create(null);return s=>t[s]||(t[s]=e(s))},yd=/-\w/g,dt=qr(e=>e.replace(yd,t=>t.slice(1).toUpperCase())),_d=/\B([A-Z])/g,js=qr(e=>e.replace(_d,"-$1").toLowerCase()),zr=qr(e=>e.charAt(0).toUpperCase()+e.slice(1)),di=qr(e=>e?`on${zr(e)}`:""),Vt=(e,t)=>!Object.is(e,t),vr=(e,...t)=>{for(let s=0;s<e.length;s++)e[s](...t)},Dl=(e,t,s,n=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:s})},fa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},xd=e=>{const t=He(e)?Number(e):NaN;return isNaN(t)?e:t};let Va;const Kr=()=>Va||(Va=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function pa(e){if(ve(e)){const t={};for(let s=0;s<e.length;s++){const n=e[s],r=He(n)?Sd(n):pa(n);if(r)for(const i in r)t[i]=r[i]}return t}else if(He(e)||Le(e))return e}const wd=/;(?![^(]*\))/g,kd=/:([^]+)/,Ed=/\/\*[^]*?\*\//g;function Sd(e){const t={};return e.replace(Ed,"").split(wd).forEach(s=>{if(s){const n=s.split(kd);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function he(e){let t="";if(He(e))t=e;else if(ve(e))for(let s=0;s<e.length;s++){const n=he(e[s]);n&&(t+=n+" ")}else if(Le(e))for(const s in e)e[s]&&(t+=s+" ");return t.trim()}const Td="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",Ad=da(Td);function Ul(e){return!!e||e===""}function Rd(e,t){if(e.length!==t.length)return!1;let s=!0;for(let n=0;s&&n<e.length;n++)s=Ms(e[n],t[n]);return s}function Ms(e,t){if(e===t)return!0;let s=Fa(e),n=Fa(t);if(s||n)return s&&n?e.getTime()===t.getTime():!1;if(s=Et(e),n=Et(t),s||n)return e===t;if(s=ve(e),n=ve(t),s||n)return s&&n?Rd(e,t):!1;if(s=Le(e),n=Le(t),s||n){if(!s||!n)return!1;const r=Object.keys(e).length,i=Object.keys(t).length;if(r!==i)return!1;for(const a in e){const o=e.hasOwnProperty(a),l=t.hasOwnProperty(a);if(o&&!l||!o&&l||!Ms(e[a],t[a]))return!1}}return String(e)===String(t)}function Bl(e,t){return e.findIndex(s=>Ms(s,t))}const Hl=e=>!!(e&&e.__v_isRef===!0),C=e=>He(e)?e:e==null?"":ve(e)||Le(e)&&(e.toString===Ml||!Se(e.toString))?Hl(e)?C(e.value):JSON.stringify(e,Fl,2):String(e),Fl=(e,t)=>Hl(t)?Fl(e,t.value):nn(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((s,[n,r],i)=>(s[hi(n,i)+" =>"]=r,s),{})}:Fr(t)?{[`Set(${t.size})`]:[...t.values()].map(s=>hi(s))}:Et(t)?hi(t):Le(t)&&!ve(t)&&!jl(t)?String(t):t,hi=(e,t="")=>{var s;return Et(e)?`Symbol(${(s=e.description)!=null?s:t})`:e};/**
6
- * @vue/reactivity v3.5.34
7
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
8
- * @license MIT
9
- **/let Xe;class Vl{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&&Xe&&(Xe.active?(this.parent=Xe,this.index=(Xe.scopes||(Xe.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=Xe;try{return Xe=this,t()}finally{Xe=s}}}on(){++this._on===1&&(this.prevScope=Xe,Xe=this)}off(){if(this._on>0&&--this._on===0){if(Xe===this)Xe=this.prevScope;else{let t=Xe;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 r=this.parent.scopes.pop();r&&r!==this&&(this.parent.scopes[this.index]=r,r.index=this.index)}this.parent=void 0}}}function ql(e){return new Vl(e)}function zl(){return Xe}function Cd(e,t=!1){Xe&&Xe.cleanups.push(e)}let Ue;const fi=new WeakSet;class Kl{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,Xe&&(Xe.active?Xe.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,fi.has(this)&&(fi.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Gl(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,qa(this),Zl(this);const t=Ue,s=Ot;Ue=this,Ot=!0;try{return this.fn()}finally{Jl(this),Ue=t,Ot=s,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)ba(t);this.deps=this.depsTail=void 0,qa(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?fi.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Pi(this)&&this.run()}get dirty(){return Pi(this)}}let Wl=0,Sn,Tn;function Gl(e,t=!1){if(e.flags|=8,t){e.next=Tn,Tn=e;return}e.next=Sn,Sn=e}function ga(){Wl++}function ma(){if(--Wl>0)return;if(Tn){let t=Tn;for(Tn=void 0;t;){const s=t.next;t.next=void 0,t.flags&=-9,t=s}}let e;for(;Sn;){let t=Sn;for(Sn=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 Zl(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Jl(e){let t,s=e.depsTail,n=s;for(;n;){const r=n.prevDep;n.version===-1?(n===s&&(s=r),ba(n),Od(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=r}e.deps=t,e.depsTail=s}function Pi(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Yl(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Yl(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mn)||(e.globalVersion=Mn,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Pi(e))))return;e.flags|=2;const t=e.dep,s=Ue,n=Ot;Ue=e,Ot=!0;try{Zl(e);const r=e.fn(e._value);(t.version===0||Vt(r,e._value))&&(e.flags|=128,e._value=r,t.version++)}catch(r){throw t.version++,r}finally{Ue=s,Ot=n,Jl(e),e.flags&=-3}}function ba(e,t=!1){const{dep:s,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),s.subs===e&&(s.subs=n,!n&&s.computed)){s.computed.flags&=-5;for(let i=s.computed.deps;i;i=i.nextDep)ba(i,!0)}!t&&!--s.sc&&s.map&&s.map.delete(s.key)}function Od(e){const{prevDep:t,nextDep:s}=e;t&&(t.nextDep=s,e.prevDep=void 0),s&&(s.prevDep=t,e.nextDep=void 0)}let Ot=!0;const Xl=[];function is(){Xl.push(Ot),Ot=!1}function as(){const e=Xl.pop();Ot=e===void 0?!0:e}function qa(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const s=Ue;Ue=void 0;try{t()}finally{Ue=s}}}let Mn=0;class $d{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 va{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(!Ue||!Ot||Ue===this.computed)return;let s=this.activeLink;if(s===void 0||s.sub!==Ue)s=this.activeLink=new $d(Ue,this),Ue.deps?(s.prevDep=Ue.depsTail,Ue.depsTail.nextDep=s,Ue.depsTail=s):Ue.deps=Ue.depsTail=s,Ql(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=Ue.depsTail,s.nextDep=void 0,Ue.depsTail.nextDep=s,Ue.depsTail=s,Ue.deps===s&&(Ue.deps=n)}return s}trigger(t){this.version++,Mn++,this.notify(t)}notify(t){ga();try{for(let s=this.subs;s;s=s.prevSub)s.sub.notify()&&s.sub.dep.notify()}finally{ma()}}}function Ql(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)Ql(n)}const s=e.dep.subs;s!==e&&(e.prevSub=s,s&&(s.nextSub=e)),e.dep.subs=e}}const kr=new WeakMap,Is=Symbol(""),Li=Symbol(""),jn=Symbol("");function nt(e,t,s){if(Ot&&Ue){let n=kr.get(e);n||kr.set(e,n=new Map);let r=n.get(s);r||(n.set(s,r=new va),r.map=n,r.key=s),r.track()}}function ts(e,t,s,n,r,i){const a=kr.get(e);if(!a){Mn++;return}const o=l=>{l&&l.trigger()};if(ga(),t==="clear")a.forEach(o);else{const l=ve(e),c=l&&Vr(s);if(l&&s==="length"){const u=Number(n);a.forEach((d,f)=>{(f==="length"||f===jn||!Et(f)&&f>=u)&&o(d)})}else switch((s!==void 0||a.has(void 0))&&o(a.get(s)),c&&o(a.get(jn)),t){case"add":l?c&&o(a.get("length")):(o(a.get(Is)),nn(e)&&o(a.get(Li)));break;case"delete":l||(o(a.get(Is)),nn(e)&&o(a.get(Li)));break;case"set":nn(e)&&o(a.get(Is));break}}ma()}function Nd(e,t){const s=kr.get(e);return s&&s.get(t)}function Bs(e){const t=Oe(e);return t===e?t:(nt(t,"iterate",jn),vt(e)?t:t.map($t))}function Wr(e){return nt(e=Oe(e),"iterate",jn),e}function Bt(e,t){return os(e)?ln(ns(e)?$t(t):t):$t(t)}const Id={__proto__:null,[Symbol.iterator](){return pi(this,Symbol.iterator,e=>Bt(this,e))},concat(...e){return Bs(this).concat(...e.map(t=>ve(t)?Bs(t):t))},entries(){return pi(this,"entries",e=>(e[1]=Bt(this,e[1]),e))},every(e,t){return Wt(this,"every",e,t,void 0,arguments)},filter(e,t){return Wt(this,"filter",e,t,s=>s.map(n=>Bt(this,n)),arguments)},find(e,t){return Wt(this,"find",e,t,s=>Bt(this,s),arguments)},findIndex(e,t){return Wt(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Wt(this,"findLast",e,t,s=>Bt(this,s),arguments)},findLastIndex(e,t){return Wt(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Wt(this,"forEach",e,t,void 0,arguments)},includes(...e){return gi(this,"includes",e)},indexOf(...e){return gi(this,"indexOf",e)},join(e){return Bs(this).join(e)},lastIndexOf(...e){return gi(this,"lastIndexOf",e)},map(e,t){return Wt(this,"map",e,t,void 0,arguments)},pop(){return gn(this,"pop")},push(...e){return gn(this,"push",e)},reduce(e,...t){return za(this,"reduce",e,t)},reduceRight(e,...t){return za(this,"reduceRight",e,t)},shift(){return gn(this,"shift")},some(e,t){return Wt(this,"some",e,t,void 0,arguments)},splice(...e){return gn(this,"splice",e)},toReversed(){return Bs(this).toReversed()},toSorted(e){return Bs(this).toSorted(e)},toSpliced(...e){return Bs(this).toSpliced(...e)},unshift(...e){return gn(this,"unshift",e)},values(){return pi(this,"values",e=>Bt(this,e))}};function pi(e,t,s){const n=Wr(e),r=n[t]();return n!==e&&!vt(e)&&(r._next=r.next,r.next=()=>{const i=r._next();return i.done||(i.value=s(i.value)),i}),r}const Pd=Array.prototype;function Wt(e,t,s,n,r,i){const a=Wr(e),o=a!==e&&!vt(e),l=a[t];if(l!==Pd[t]){const d=l.apply(e,i);return o?$t(d):d}let c=s;a!==e&&(o?c=function(d,f){return s.call(this,Bt(e,d),f,e)}:s.length>2&&(c=function(d,f){return s.call(this,d,f,e)}));const u=l.call(a,c,n);return o&&r?r(u):u}function za(e,t,s,n){const r=Wr(e),i=r!==e&&!vt(e);let a=s,o=!1;r!==e&&(i?(o=n.length===0,a=function(c,u,d){return o&&(o=!1,c=Bt(e,c)),s.call(this,c,Bt(e,u),d,e)}):s.length>3&&(a=function(c,u,d){return s.call(this,c,u,d,e)}));const l=r[t](a,...n);return o?Bt(e,l):l}function gi(e,t,s){const n=Oe(e);nt(n,"iterate",jn);const r=n[t](...s);return(r===-1||r===!1)&&Gr(s[0])?(s[0]=Oe(s[0]),n[t](...s)):r}function gn(e,t,s=[]){is(),ga();const n=Oe(e)[t].apply(e,s);return ma(),as(),n}const Ld=da("__proto__,__v_isRef,__isVue"),ec=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Et));function Md(e){Et(e)||(e=String(e));const t=Oe(this);return nt(t,"has",e),t.hasOwnProperty(e)}class tc{constructor(t=!1,s=!1){this._isReadonly=t,this._isShallow=s}get(t,s,n){if(s==="__v_skip")return t.__v_skip;const r=this._isReadonly,i=this._isShallow;if(s==="__v_isReactive")return!r;if(s==="__v_isReadonly")return r;if(s==="__v_isShallow")return i;if(s==="__v_raw")return n===(r?i?Kd:ic:i?rc:nc).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(n)?t:void 0;const a=ve(t);if(!r){let l;if(a&&(l=Id[s]))return l;if(s==="hasOwnProperty")return Md}const o=Reflect.get(t,s,qe(t)?t:n);if((Et(s)?ec.has(s):Ld(s))||(r||nt(t,"get",s),i))return o;if(qe(o)){const l=a&&Vr(s)?o:o.value;return r&&Le(l)?ji(l):l}return Le(o)?r?ji(o):ct(o):o}}class sc extends tc{constructor(t=!1){super(!1,t)}set(t,s,n,r){let i=t[s];const a=ve(t)&&Vr(s);if(!this._isShallow){const c=os(i);if(!vt(n)&&!os(n)&&(i=Oe(i),n=Oe(n)),!a&&qe(i)&&!qe(n))return c||(i.value=n),!0}const o=a?Number(s)<t.length:Ne(t,s),l=Reflect.set(t,s,n,qe(t)?t:r);return t===Oe(r)&&(o?Vt(n,i)&&ts(t,"set",s,n):ts(t,"add",s,n)),l}deleteProperty(t,s){const n=Ne(t,s);t[s];const r=Reflect.deleteProperty(t,s);return r&&n&&ts(t,"delete",s,void 0),r}has(t,s){const n=Reflect.has(t,s);return(!Et(s)||!ec.has(s))&&nt(t,"has",s),n}ownKeys(t){return nt(t,"iterate",ve(t)?"length":Is),Reflect.ownKeys(t)}}class jd extends tc{constructor(t=!1){super(!0,t)}set(t,s){return!0}deleteProperty(t,s){return!0}}const Dd=new sc,Ud=new jd,Bd=new sc(!0);const Mi=e=>e,rr=e=>Reflect.getPrototypeOf(e);function Hd(e,t,s){return function(...n){const r=this.__v_raw,i=Oe(r),a=nn(i),o=e==="entries"||e===Symbol.iterator&&a,l=e==="keys"&&a,c=r[e](...n),u=s?Mi:t?ln:$t;return!t&&nt(i,"iterate",l?Li:Is),Qe(Object.create(c),{next(){const{value:d,done:f}=c.next();return f?{value:d,done:f}:{value:o?[u(d[0]),u(d[1])]:u(d),done:f}}})}}function ir(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Fd(e,t){const s={get(r){const i=this.__v_raw,a=Oe(i),o=Oe(r);e||(Vt(r,o)&&nt(a,"get",r),nt(a,"get",o));const{has:l}=rr(a),c=t?Mi:e?ln:$t;if(l.call(a,r))return c(i.get(r));if(l.call(a,o))return c(i.get(o));i!==a&&i.get(r)},get size(){const r=this.__v_raw;return!e&&nt(Oe(r),"iterate",Is),r.size},has(r){const i=this.__v_raw,a=Oe(i),o=Oe(r);return e||(Vt(r,o)&&nt(a,"has",r),nt(a,"has",o)),r===o?i.has(r):i.has(r)||i.has(o)},forEach(r,i){const a=this,o=a.__v_raw,l=Oe(o),c=t?Mi:e?ln:$t;return!e&&nt(l,"iterate",Is),o.forEach((u,d)=>r.call(i,c(u),c(d),a))}};return Qe(s,e?{add:ir("add"),set:ir("set"),delete:ir("delete"),clear:ir("clear")}:{add(r){const i=Oe(this),a=rr(i),o=Oe(r),l=!t&&!vt(r)&&!os(r)?o:r;return a.has.call(i,l)||Vt(r,l)&&a.has.call(i,r)||Vt(o,l)&&a.has.call(i,o)||(i.add(l),ts(i,"add",l,l)),this},set(r,i){!t&&!vt(i)&&!os(i)&&(i=Oe(i));const a=Oe(this),{has:o,get:l}=rr(a);let c=o.call(a,r);c||(r=Oe(r),c=o.call(a,r));const u=l.call(a,r);return a.set(r,i),c?Vt(i,u)&&ts(a,"set",r,i):ts(a,"add",r,i),this},delete(r){const i=Oe(this),{has:a,get:o}=rr(i);let l=a.call(i,r);l||(r=Oe(r),l=a.call(i,r)),o&&o.call(i,r);const c=i.delete(r);return l&&ts(i,"delete",r,void 0),c},clear(){const r=Oe(this),i=r.size!==0,a=r.clear();return i&&ts(r,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(r=>{s[r]=Hd(r,e,t)}),s}function ya(e,t){const s=Fd(e,t);return(n,r,i)=>r==="__v_isReactive"?!e:r==="__v_isReadonly"?e:r==="__v_raw"?n:Reflect.get(Ne(s,r)&&r in n?s:n,r,i)}const Vd={get:ya(!1,!1)},qd={get:ya(!1,!0)},zd={get:ya(!0,!1)};const nc=new WeakMap,rc=new WeakMap,ic=new WeakMap,Kd=new WeakMap;function Wd(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Gd(e){return e.__v_skip||!Object.isExtensible(e)?0:Wd(vd(e))}function ct(e){return os(e)?e:_a(e,!1,Dd,Vd,nc)}function ac(e){return _a(e,!1,Bd,qd,rc)}function ji(e){return _a(e,!0,Ud,zd,ic)}function _a(e,t,s,n,r){if(!Le(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const i=Gd(e);if(i===0)return e;const a=r.get(e);if(a)return a;const o=new Proxy(e,i===2?n:s);return r.set(e,o),o}function ns(e){return os(e)?ns(e.__v_raw):!!(e&&e.__v_isReactive)}function os(e){return!!(e&&e.__v_isReadonly)}function vt(e){return!!(e&&e.__v_isShallow)}function Gr(e){return e?!!e.__v_raw:!1}function Oe(e){const t=e&&e.__v_raw;return t?Oe(t):e}function xa(e){return!Ne(e,"__v_skip")&&Object.isExtensible(e)&&Dl(e,"__v_skip",!0),e}const $t=e=>Le(e)?ct(e):e,ln=e=>Le(e)?ji(e):e;function qe(e){return e?e.__v_isRef===!0:!1}function B(e){return oc(e,!1)}function Zd(e){return oc(e,!0)}function oc(e,t){return qe(e)?e:new Jd(e,t)}class Jd{constructor(t,s){this.dep=new va,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=s?t:Oe(t),this._value=s?t:$t(t),this.__v_isShallow=s}get value(){return this.dep.track(),this._value}set value(t){const s=this._rawValue,n=this.__v_isShallow||vt(t)||os(t);t=n?t:Oe(t),Vt(t,s)&&(this._rawValue=t,this._value=n?t:$t(t),this.dep.trigger())}}function Ie(e){return qe(e)?e.value:e}const Yd={get:(e,t,s)=>t==="__v_raw"?e:Ie(Reflect.get(e,t,s)),set:(e,t,s,n)=>{const r=e[t];return qe(r)&&!qe(s)?(r.value=s,!0):Reflect.set(e,t,s,n)}};function lc(e){return ns(e)?e:new Proxy(e,Yd)}function Xd(e){const t=ve(e)?new Array(e.length):{};for(const s in e)t[s]=eh(e,s);return t}class Qd{constructor(t,s,n){this._object=t,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=Et(s)?s:String(s),this._raw=Oe(t);let r=!0,i=t;if(!ve(t)||Et(this._key)||!Vr(this._key))do r=!Gr(i)||vt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let t=this._object[this._key];return this._shallow&&(t=Ie(t)),this._value=t===void 0?this._defaultValue:t}set value(t){if(this._shallow&&qe(this._raw[this._key])){const s=this._object[this._key];if(qe(s)){s.value=t;return}}this._object[this._key]=t}get dep(){return Nd(this._raw,this._key)}}function eh(e,t,s){return new Qd(e,t,s)}class th{constructor(t,s,n){this.fn=t,this.setter=s,this._value=void 0,this.dep=new va(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mn-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!s,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&Ue!==this)return Gl(this,!0),!0}get value(){const t=this.dep.track();return Yl(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function sh(e,t,s=!1){let n,r;return Se(e)?n=e:(n=e.get,r=e.set),new th(n,r,s)}const ar={},Er=new WeakMap;let Rs;function nh(e,t=!1,s=Rs){if(s){let n=Er.get(s);n||Er.set(s,n=[]),n.push(e)}}function rh(e,t,s=je){const{immediate:n,deep:r,once:i,scheduler:a,augmentJob:o,call:l}=s,c=A=>r?A:vt(A)||r===!1||r===0?ss(A,1):ss(A);let u,d,f,p,m=!1,_=!1;if(qe(e)?(d=()=>e.value,m=vt(e)):ns(e)?(d=()=>c(e),m=!0):ve(e)?(_=!0,m=e.some(A=>ns(A)||vt(A)),d=()=>e.map(A=>{if(qe(A))return A.value;if(ns(A))return c(A);if(Se(A))return l?l(A,2):A()})):Se(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){is();try{f()}finally{as()}}const A=Rs;Rs=u;try{return l?l(e,3,[p]):e(p)}finally{Rs=A}}:d=qt,t&&r){const A=d,L=r===!0?1/0:r;d=()=>ss(A(),L)}const T=zl(),E=()=>{u.stop(),T&&T.active&&ha(T.effects,u)};if(i&&t){const A=t;t=(...L)=>{A(...L),E()}}let w=_?new Array(e.length).fill(ar):ar;const x=A=>{if(!(!(u.flags&1)||!u.dirty&&!A))if(t){const L=u.run();if(r||m||(_?L.some((D,O)=>Vt(D,w[O])):Vt(L,w))){f&&f();const D=Rs;Rs=u;try{const O=[L,w===ar?void 0:_&&w[0]===ar?[]:w,p];w=L,l?l(t,3,O):t(...O)}finally{Rs=D}}}else u.run()};return o&&o(x),u=new Kl(d),u.scheduler=a?()=>a(x,!1):x,p=A=>nh(A,!1,u),f=u.onStop=()=>{const A=Er.get(u);if(A){if(l)l(A,4);else for(const L of A)L();Er.delete(u)}},t?n?x(!0):w=u.run():a?a(x.bind(null,!0),!0):u.run(),E.pause=u.pause.bind(u),E.resume=u.resume.bind(u),E.stop=E,E}function ss(e,t=1/0,s){if(t<=0||!Le(e)||e.__v_skip||(s=s||new Map,(s.get(e)||0)>=t))return e;if(s.set(e,t),t--,qe(e))ss(e.value,t,s);else if(ve(e))for(let n=0;n<e.length;n++)ss(e[n],t,s);else if(Fr(e)||nn(e))e.forEach(n=>{ss(n,t,s)});else if(jl(e)){for(const n in e)ss(e[n],t,s);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&ss(e[n],t,s)}return e}/**
10
- * @vue/runtime-core v3.5.34
11
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
12
- * @license MIT
13
- **/function er(e,t,s,n){try{return n?e(...n):e()}catch(r){Zr(r,t,s)}}function Nt(e,t,s,n){if(Se(e)){const r=er(e,t,s,n);return r&&Ll(r)&&r.catch(i=>{Zr(i,t,s)}),r}if(ve(e)){const r=[];for(let i=0;i<e.length;i++)r.push(Nt(e[i],t,s,n));return r}}function Zr(e,t,s,n=!0){const r=t?t.vnode:null,{errorHandler:i,throwUnhandledErrorInProduction:a}=t&&t.appContext.config||je;if(t){let o=t.parent;const l=t.proxy,c=`https://vuejs.org/error-reference/#runtime-${s}`;for(;o;){const u=o.ec;if(u){for(let d=0;d<u.length;d++)if(u[d](e,l,c)===!1)return}o=o.parent}if(i){is(),er(i,null,10,[e,l,c]),as();return}}ih(e,s,r,n,a)}function ih(e,t,s,n=!0,r=!1){if(r)throw e;console.error(e)}const lt=[];let jt=-1;const rn=[];let ps=null,Gs=0;const cc=Promise.resolve();let Sr=null;function zt(e){const t=Sr||cc;return e?t.then(this?e.bind(this):e):t}function ah(e){let t=jt+1,s=lt.length;for(;t<s;){const n=t+s>>>1,r=lt[n],i=Dn(r);i<e||i===e&&r.flags&2?t=n+1:s=n}return t}function wa(e){if(!(e.flags&1)){const t=Dn(e),s=lt[lt.length-1];!s||!(e.flags&2)&&t>=Dn(s)?lt.push(e):lt.splice(ah(t),0,e),e.flags|=1,uc()}}function uc(){Sr||(Sr=cc.then(hc))}function oh(e){ve(e)?rn.push(...e):ps&&e.id===-1?ps.splice(Gs+1,0,e):e.flags&1||(rn.push(e),e.flags|=1),uc()}function Ka(e,t,s=jt+1){for(;s<lt.length;s++){const n=lt[s];if(n&&n.flags&2){if(e&&n.id!==e.uid)continue;lt.splice(s,1),s--,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function dc(e){if(rn.length){const t=[...new Set(rn)].sort((s,n)=>Dn(s)-Dn(n));if(rn.length=0,ps){ps.push(...t);return}for(ps=t,Gs=0;Gs<ps.length;Gs++){const s=ps[Gs];s.flags&4&&(s.flags&=-2),s.flags&8||s(),s.flags&=-2}ps=null,Gs=0}}const Dn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function hc(e){try{for(jt=0;jt<lt.length;jt++){const t=lt[jt];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),er(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;jt<lt.length;jt++){const t=lt[jt];t&&(t.flags&=-2)}jt=-1,lt.length=0,dc(),Sr=null,(lt.length||rn.length)&&hc()}}let mt=null,fc=null;function Tr(e){const t=mt;return mt=e,fc=e&&e.type.__scopeId||null,t}function Kt(e,t=mt,s){if(!t||e._n)return e;const n=(...r)=>{n._d&&Cr(-1);const i=Tr(t);let a;try{a=e(...r)}finally{Tr(i),n._d&&Cr(1)}return a};return n._n=!0,n._c=!0,n._d=!0,n}function Be(e,t){if(mt===null)return e;const s=ti(mt),n=e.dirs||(e.dirs=[]);for(let r=0;r<t.length;r++){let[i,a,o,l=je]=t[r];i&&(Se(i)&&(i={mounted:i,updated:i}),i.deep&&ss(a),n.push({dir:i,instance:s,value:a,oldValue:void 0,arg:o,modifiers:l}))}return e}function ws(e,t,s,n){const r=e.dirs,i=t&&t.dirs;for(let a=0;a<r.length;a++){const o=r[a];i&&(o.oldValue=i[a].value);let l=o.dir[n];l&&(is(),Nt(l,s,8,[e.el,o,e,t]),as())}}function yr(e,t){if(rt){let s=rt.provides;const n=rt.parent&&rt.parent.provides;n===s&&(s=rt.provides=Object.create(n)),s[e]=t}}function kt(e,t,s=!1){const n=Aa();if(n||Ps){let r=Ps?Ps._context.provides:n?n.parent==null||n.ce?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(r&&e in r)return r[e];if(arguments.length>1)return s&&Se(t)?t.call(n&&n.proxy):t}}function lh(){return!!(Aa()||Ps)}const ch=Symbol.for("v-scx"),uh=()=>kt(ch);function yt(e,t,s){return pc(e,t,s)}function pc(e,t,s=je){const{immediate:n,deep:r,flush:i,once:a}=s,o=Qe({},s),l=t&&n||!t&&i!=="post";let c;if(Hn){if(i==="sync"){const p=uh();c=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=qt,p.resume=qt,p.pause=qt,p}}const u=rt;o.call=(p,m,_)=>Nt(p,u,m,_);let d=!1;i==="post"?o.scheduler=p=>{ft(p,u&&u.suspense)}:i!=="sync"&&(d=!0,o.scheduler=(p,m)=>{m?p():wa(p)}),o.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,u&&(p.id=u.uid,p.i=u))};const f=rh(e,t,o);return Hn&&(c?c.push(f):l&&f()),f}function dh(e,t,s){const n=this.proxy,r=He(e)?e.includes(".")?gc(n,e):()=>n[e]:e.bind(n,n);let i;Se(t)?i=t:(i=t.handler,s=t);const a=tr(this),o=pc(r,i.bind(n),s);return a(),o}function gc(e,t){const s=t.split(".");return()=>{let n=e;for(let r=0;r<s.length&&n;r++)n=n[s[r]];return n}}const hh=Symbol("_vte"),mc=e=>e.__isTeleport,Dt=Symbol("_leaveCb"),mn=Symbol("_enterCb");function fh(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return it(()=>{e.isMounted=!0}),ka(()=>{e.isUnmounting=!0}),e}const xt=[Function,Array],bc={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:xt,onEnter:xt,onAfterEnter:xt,onEnterCancelled:xt,onBeforeLeave:xt,onLeave:xt,onAfterLeave:xt,onLeaveCancelled:xt,onBeforeAppear:xt,onAppear:xt,onAfterAppear:xt,onAppearCancelled:xt},vc=e=>{const t=e.subTree;return t.component?vc(t.component):t},ph={name:"BaseTransition",props:bc,setup(e,{slots:t}){const s=Aa(),n=fh();return()=>{const r=t.default&&xc(t.default(),!0),i=r&&r.length?yc(r):s.subTree?q():void 0;if(!i)return;const a=Oe(e),{mode:o}=a;if(n.isLeaving)return mi(i);const l=Wa(i);if(!l)return mi(i);let c=Di(l,a,n,s,d=>c=d);l.type!==ut&&Un(l,c);let u=s.subTree&&Wa(s.subTree);if(u&&u.type!==ut&&!Os(u,l)&&vc(s).type!==ut){let d=Di(u,a,n,s);if(Un(u,d),o==="out-in"&&l.type!==ut)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,s.job.flags&8||s.update(),delete d.afterLeave,u=void 0},mi(i);o==="in-out"&&l.type!==ut?d.delayLeave=(f,p,m)=>{const _=_c(n,u);_[String(u.key)]=u,f[Dt]=()=>{p(),f[Dt]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{m(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return i}}};function yc(e){let t=e[0];if(e.length>1){for(const s of e)if(s.type!==ut){t=s;break}}return t}const gh=ph;function _c(e,t){const{leavingVNodes:s}=e;let n=s.get(t.type);return n||(n=Object.create(null),s.set(t.type,n)),n}function Di(e,t,s,n,r){const{appear:i,mode:a,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:m,onLeaveCancelled:_,onBeforeAppear:T,onAppear:E,onAfterAppear:w,onAppearCancelled:x}=t,A=String(e.key),L=_c(s,e),D=(j,W)=>{j&&Nt(j,n,9,W)},O=(j,W)=>{const ne=W[1];D(j,W),ve(j)?j.every(ee=>ee.length<=1)&&ne():j.length<=1&&ne()},I={mode:a,persisted:o,beforeEnter(j){let W=l;if(!s.isMounted)if(i)W=T||l;else return;j[Dt]&&j[Dt](!0);const ne=L[A];ne&&Os(e,ne)&&ne.el[Dt]&&ne.el[Dt](),D(W,[j])},enter(j){if(L[A]===e)return;let W=c,ne=u,ee=d;if(!s.isMounted)if(i)W=E||c,ne=w||u,ee=x||d;else return;let X=!1;j[mn]=R=>{X||(X=!0,R?D(ee,[j]):D(ne,[j]),I.delayedLeave&&I.delayedLeave(),j[mn]=void 0)};const $=j[mn].bind(null,!1);W?O(W,[j,$]):$()},leave(j,W){const ne=String(e.key);if(j[mn]&&j[mn](!0),s.isUnmounting)return W();D(f,[j]);let ee=!1;j[Dt]=$=>{ee||(ee=!0,W(),$?D(_,[j]):D(m,[j]),j[Dt]=void 0,L[ne]===e&&delete L[ne])};const X=j[Dt].bind(null,!1);L[ne]=e,p?O(p,[j,X]):X()},clone(j){const W=Di(j,t,s,n,r);return r&&r(W),W}};return I}function mi(e){if(Jr(e))return e=_s(e),e.children=null,e}function Wa(e){if(!Jr(e))return mc(e.type)&&e.children?yc(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:s}=e;if(s){if(t&16)return s[0];if(t&32&&Se(s.default))return s.default()}}function Un(e,t){e.shapeFlag&6&&e.component?(e.transition=t,Un(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 xc(e,t=!1,s){let n=[],r=0;for(let i=0;i<e.length;i++){let a=e[i];const o=s==null?a.key:String(s)+String(a.key!=null?a.key:i);a.type===Ee?(a.patchFlag&128&&r++,n=n.concat(xc(a.children,t,o))):(t||a.type!==ut)&&n.push(o!=null?_s(a,{key:o}):a)}if(r>1)for(let i=0;i<n.length;i++)n[i].patchFlag=-2;return n}function Je(e,t){return Se(e)?Qe({name:e.name},t,{setup:e}):e}function wc(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ga(e,t){let s;return!!((s=Object.getOwnPropertyDescriptor(e,t))&&!s.configurable)}const Ar=new WeakMap;function An(e,t,s,n,r=!1){if(ve(e)){e.forEach((_,T)=>An(_,t&&(ve(t)?t[T]:t),s,n,r));return}if(Rn(n)&&!r){n.shapeFlag&512&&n.type.__asyncResolved&&n.component.subTree.component&&An(e,t,s,n.component.subTree);return}const i=n.shapeFlag&4?ti(n.component):n.el,a=r?null:i,{i:o,r:l}=e,c=t&&t.r,u=o.refs===je?o.refs={}:o.refs,d=o.setupState,f=Oe(d),p=d===je?Pl:_=>Ga(u,_)?!1:Ne(f,_),m=(_,T)=>!(T&&Ga(u,T));if(c!=null&&c!==l){if(Za(t),He(c))u[c]=null,p(c)&&(d[c]=null);else if(qe(c)){const _=t;m(c,_.k)&&(c.value=null),_.k&&(u[_.k]=null)}}if(Se(l))er(l,o,12,[a,u]);else{const _=He(l),T=qe(l);if(_||T){const E=()=>{if(e.f){const w=_?p(l)?d[l]:u[l]:m()||!e.k?l.value:u[e.k];if(r)ve(w)&&ha(w,i);else if(ve(w))w.includes(i)||w.push(i);else if(_)u[l]=[i],p(l)&&(d[l]=u[l]);else{const x=[i];m(l,e.k)&&(l.value=x),e.k&&(u[e.k]=x)}}else _?(u[l]=a,p(l)&&(d[l]=a)):T&&(m(l,e.k)&&(l.value=a),e.k&&(u[e.k]=a))};if(a){const w=()=>{E(),Ar.delete(e)};w.id=-1,Ar.set(e,w),ft(w,s)}else Za(e),E()}}}function Za(e){const t=Ar.get(e);t&&(t.flags|=8,Ar.delete(e))}Kr().requestIdleCallback;Kr().cancelIdleCallback;const Rn=e=>!!e.type.__asyncLoader,Jr=e=>e.type.__isKeepAlive;function mh(e,t){kc(e,"a",t)}function bh(e,t){kc(e,"da",t)}function kc(e,t,s=rt){const n=e.__wdc||(e.__wdc=()=>{let r=s;for(;r;){if(r.isDeactivated)return;r=r.parent}return e()});if(Yr(t,n,s),s){let r=s.parent;for(;r&&r.parent;)Jr(r.parent.vnode)&&vh(n,t,s,r),r=r.parent}}function vh(e,t,s,n){const r=Yr(t,e,n,!0);fn(()=>{ha(n[t],r)},s)}function Yr(e,t,s=rt,n=!1){if(s){const r=s[e]||(s[e]=[]),i=t.__weh||(t.__weh=(...a)=>{is();const o=tr(s),l=Nt(t,s,e,a);return o(),as(),l});return n?r.unshift(i):r.push(i),i}}const cs=e=>(t,s=rt)=>{(!Hn||e==="sp")&&Yr(e,(...n)=>t(...n),s)},yh=cs("bm"),it=cs("m"),_h=cs("bu"),xh=cs("u"),ka=cs("bum"),fn=cs("um"),wh=cs("sp"),kh=cs("rtg"),Eh=cs("rtc");function Sh(e,t=rt){Yr("ec",e,t)}const Ec="components";function Sc(e,t){return Ac(Ec,e,!0,t)||e}const Tc=Symbol.for("v-ndc");function Th(e){return He(e)?Ac(Ec,e,!1)||e:e||Tc}function Ac(e,t,s=!0,n=!1){const r=mt||rt;if(r){const i=r.type;{const o=df(i,!1);if(o&&(o===t||o===dt(t)||o===zr(dt(t))))return i}const a=Ja(r[e]||i[e],t)||Ja(r.appContext[e],t);return!a&&n?i:a}}function Ja(e,t){return e&&(e[t]||e[dt(t)]||e[zr(dt(t))])}function Me(e,t,s,n){let r;const i=s,a=ve(e);if(a||He(e)){const o=a&&ns(e);let l=!1,c=!1;o&&(l=!vt(e),c=os(e),e=Wr(e)),r=new Array(e.length);for(let u=0,d=e.length;u<d;u++)r[u]=t(l?c?ln($t(e[u])):$t(e[u]):e[u],u,void 0,i)}else if(typeof e=="number"){r=new Array(e);for(let o=0;o<e;o++)r[o]=t(o+1,o,void 0,i)}else if(Le(e))if(e[Symbol.iterator])r=Array.from(e,(o,l)=>t(o,l,void 0,i));else{const o=Object.keys(e);r=new Array(o.length);for(let l=0,c=o.length;l<c;l++){const u=o[l];r[l]=t(e[u],u,l,i)}}else r=[];return r}const Ui=e=>e?Wc(e)?ti(e):Ui(e.parent):null,Cn=Qe(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=>Ui(e.parent),$root:e=>Ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Cc(e),$forceUpdate:e=>e.f||(e.f=()=>{wa(e.update)}),$nextTick:e=>e.n||(e.n=zt.bind(e.proxy)),$watch:e=>dh.bind(e)}),bi=(e,t)=>e!==je&&!e.__isScriptSetup&&Ne(e,t),Ah={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:s,setupState:n,data:r,props:i,accessCache:a,type:o,appContext:l}=e;if(t[0]!=="$"){const f=a[t];if(f!==void 0)switch(f){case 1:return n[t];case 2:return r[t];case 4:return s[t];case 3:return i[t]}else{if(bi(n,t))return a[t]=1,n[t];if(r!==je&&Ne(r,t))return a[t]=2,r[t];if(Ne(i,t))return a[t]=3,i[t];if(s!==je&&Ne(s,t))return a[t]=4,s[t];Bi&&(a[t]=0)}}const c=Cn[t];let u,d;if(c)return t==="$attrs"&&nt(e.attrs,"get",""),c(e);if((u=o.__cssModules)&&(u=u[t]))return u;if(s!==je&&Ne(s,t))return a[t]=4,s[t];if(d=l.config.globalProperties,Ne(d,t))return d[t]},set({_:e},t,s){const{data:n,setupState:r,ctx:i}=e;return bi(r,t)?(r[t]=s,!0):n!==je&&Ne(n,t)?(n[t]=s,!0):Ne(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(i[t]=s,!0)},has({_:{data:e,setupState:t,accessCache:s,ctx:n,appContext:r,props:i,type:a}},o){let l;return!!(s[o]||e!==je&&o[0]!=="$"&&Ne(e,o)||bi(t,o)||Ne(i,o)||Ne(n,o)||Ne(Cn,o)||Ne(r.config.globalProperties,o)||(l=a.__cssModules)&&l[o])},defineProperty(e,t,s){return s.get!=null?e._.accessCache[t]=0:Ne(s,"value")&&this.set(e,t,s.value,null),Reflect.defineProperty(e,t,s)}};function Ya(e){return ve(e)?e.reduce((t,s)=>(t[s]=null,t),{}):e}let Bi=!0;function Rh(e){const t=Cc(e),s=e.proxy,n=e.ctx;Bi=!1,t.beforeCreate&&Xa(t.beforeCreate,e,"bc");const{data:r,computed:i,methods:a,watch:o,provide:l,inject:c,created:u,beforeMount:d,mounted:f,beforeUpdate:p,updated:m,activated:_,deactivated:T,beforeDestroy:E,beforeUnmount:w,destroyed:x,unmounted:A,render:L,renderTracked:D,renderTriggered:O,errorCaptured:I,serverPrefetch:j,expose:W,inheritAttrs:ne,components:ee,directives:X,filters:$}=t;if(c&&Ch(c,n,null),a)for(const S in a){const H=a[S];Se(H)&&(n[S]=H.bind(s))}if(r){const S=r.call(s,s);Le(S)&&(e.data=ct(S))}if(Bi=!0,i)for(const S in i){const H=i[S],ie=Se(H)?H.bind(s,s):Se(H.get)?H.get.bind(s,s):qt,ge=!Se(H)&&Se(H.set)?H.set.bind(s):qt,we=Pe({get:ie,set:ge});Object.defineProperty(n,S,{enumerable:!0,configurable:!0,get:()=>we.value,set:Te=>we.value=Te})}if(o)for(const S in o)Rc(o[S],n,s,S);if(l){const S=Se(l)?l.call(s):l;Reflect.ownKeys(S).forEach(H=>{yr(H,S[H])})}u&&Xa(u,e,"c");function v(S,H){ve(H)?H.forEach(ie=>S(ie.bind(s))):H&&S(H.bind(s))}if(v(yh,d),v(it,f),v(_h,p),v(xh,m),v(mh,_),v(bh,T),v(Sh,I),v(Eh,D),v(kh,O),v(ka,w),v(fn,A),v(wh,j),ve(W))if(W.length){const S=e.exposed||(e.exposed={});W.forEach(H=>{Object.defineProperty(S,H,{get:()=>s[H],set:ie=>s[H]=ie,enumerable:!0})})}else e.exposed||(e.exposed={});L&&e.render===qt&&(e.render=L),ne!=null&&(e.inheritAttrs=ne),ee&&(e.components=ee),X&&(e.directives=X),j&&wc(e)}function Ch(e,t,s=qt){ve(e)&&(e=Hi(e));for(const n in e){const r=e[n];let i;Le(r)?"default"in r?i=kt(r.from||n,r.default,!0):i=kt(r.from||n):i=kt(r),qe(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:a=>i.value=a}):t[n]=i}}function Xa(e,t,s){Nt(ve(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,s)}function Rc(e,t,s,n){let r=n.includes(".")?gc(s,n):()=>s[n];if(He(e)){const i=t[e];Se(i)&&yt(r,i)}else if(Se(e))yt(r,e.bind(s));else if(Le(e))if(ve(e))e.forEach(i=>Rc(i,t,s,n));else{const i=Se(e.handler)?e.handler.bind(s):t[e.handler];Se(i)&&yt(r,i,e)}}function Cc(e){const t=e.type,{mixins:s,extends:n}=t,{mixins:r,optionsCache:i,config:{optionMergeStrategies:a}}=e.appContext,o=i.get(t);let l;return o?l=o:!r.length&&!s&&!n?l=t:(l={},r.length&&r.forEach(c=>Rr(l,c,a,!0)),Rr(l,t,a)),Le(t)&&i.set(t,l),l}function Rr(e,t,s,n=!1){const{mixins:r,extends:i}=t;i&&Rr(e,i,s,!0),r&&r.forEach(a=>Rr(e,a,s,!0));for(const a in t)if(!(n&&a==="expose")){const o=Oh[a]||s&&s[a];e[a]=o?o(e[a],t[a]):t[a]}return e}const Oh={data:Qa,props:eo,emits:eo,methods:_n,computed:_n,beforeCreate:at,created:at,beforeMount:at,mounted:at,beforeUpdate:at,updated:at,beforeDestroy:at,beforeUnmount:at,destroyed:at,unmounted:at,activated:at,deactivated:at,errorCaptured:at,serverPrefetch:at,components:_n,directives:_n,watch:Nh,provide:Qa,inject:$h};function Qa(e,t){return t?e?function(){return Qe(Se(e)?e.call(this,this):e,Se(t)?t.call(this,this):t)}:t:e}function $h(e,t){return _n(Hi(e),Hi(t))}function Hi(e){if(ve(e)){const t={};for(let s=0;s<e.length;s++)t[e[s]]=e[s];return t}return e}function at(e,t){return e?[...new Set([].concat(e,t))]:t}function _n(e,t){return e?Qe(Object.create(null),e,t):t}function eo(e,t){return e?ve(e)&&ve(t)?[...new Set([...e,...t])]:Qe(Object.create(null),Ya(e),Ya(t??{})):t}function Nh(e,t){if(!e)return t;if(!t)return e;const s=Qe(Object.create(null),e);for(const n in t)s[n]=at(e[n],t[n]);return s}function Oc(){return{app:null,config:{isNativeTag:Pl,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 Ih=0;function Ph(e,t){return function(n,r=null){Se(n)||(n=Qe({},n)),r!=null&&!Le(r)&&(r=null);const i=Oc(),a=new WeakSet,o=[];let l=!1;const c=i.app={_uid:Ih++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:ff,get config(){return i.config},set config(u){},use(u,...d){return a.has(u)||(u&&Se(u.install)?(a.add(u),u.install(c,...d)):Se(u)&&(a.add(u),u(c,...d))),c},mixin(u){return i.mixins.includes(u)||i.mixins.push(u),c},component(u,d){return d?(i.components[u]=d,c):i.components[u]},directive(u,d){return d?(i.directives[u]=d,c):i.directives[u]},mount(u,d,f){if(!l){const p=c._ceVNode||fe(n,r);return p.appContext=i,f===!0?f="svg":f===!1&&(f=void 0),e(p,u,f),l=!0,c._container=u,u.__vue_app__=c,ti(p.component)}},onUnmount(u){o.push(u)},unmount(){l&&(Nt(o,c._instance,16),e(null,c._container),delete c._container.__vue_app__)},provide(u,d){return i.provides[u]=d,c},runWithContext(u){const d=Ps;Ps=c;try{return u()}finally{Ps=d}}};return c}}let Ps=null;const Lh=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${dt(t)}Modifiers`]||e[`${js(t)}Modifiers`];function Mh(e,t,...s){if(e.isUnmounted)return;const n=e.vnode.props||je;let r=s;const i=t.startsWith("update:"),a=i&&Lh(n,t.slice(7));a&&(a.trim&&(r=s.map(u=>He(u)?u.trim():u)),a.number&&(r=s.map(fa)));let o,l=n[o=di(t)]||n[o=di(dt(t))];!l&&i&&(l=n[o=di(js(t))]),l&&Nt(l,e,6,r);const c=n[o+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[o])return;e.emitted[o]=!0,Nt(c,e,6,r)}}const jh=new WeakMap;function $c(e,t,s=!1){const n=s?jh:t.emitsCache,r=n.get(e);if(r!==void 0)return r;const i=e.emits;let a={},o=!1;if(!Se(e)){const l=c=>{const u=$c(c,t,!0);u&&(o=!0,Qe(a,u))};!s&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!i&&!o?(Le(e)&&n.set(e,null),null):(ve(i)?i.forEach(l=>a[l]=null):Qe(a,i),Le(e)&&n.set(e,a),a)}function Xr(e,t){return!e||!Br(t)?!1:(t=t.slice(2).replace(/Once$/,""),Ne(e,t[0].toLowerCase()+t.slice(1))||Ne(e,js(t))||Ne(e,t))}function to(e){const{type:t,vnode:s,proxy:n,withProxy:r,propsOptions:[i],slots:a,attrs:o,emit:l,render:c,renderCache:u,props:d,data:f,setupState:p,ctx:m,inheritAttrs:_}=e,T=Tr(e);let E,w;try{if(s.shapeFlag&4){const A=r||n,L=A;E=Ht(c.call(L,A,u,d,p,f,m)),w=o}else{const A=t;E=Ht(A.length>1?A(d,{attrs:o,slots:a,emit:l}):A(d,null)),w=t.props?o:Dh(o)}}catch(A){On.length=0,Zr(A,e,1),E=fe(ut)}let x=E;if(w&&_!==!1){const A=Object.keys(w),{shapeFlag:L}=x;A.length&&L&7&&(i&&A.some(Hr)&&(w=Uh(w,i)),x=_s(x,w,!1,!0))}return s.dirs&&(x=_s(x,null,!1,!0),x.dirs=x.dirs?x.dirs.concat(s.dirs):s.dirs),s.transition&&Un(x,s.transition),E=x,Tr(T),E}const Dh=e=>{let t;for(const s in e)(s==="class"||s==="style"||Br(s))&&((t||(t={}))[s]=e[s]);return t},Uh=(e,t)=>{const s={};for(const n in e)(!Hr(n)||!(n.slice(9)in t))&&(s[n]=e[n]);return s};function Bh(e,t,s){const{props:n,children:r,component:i}=e,{props:a,children:o,patchFlag:l}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(s&&l>=0){if(l&1024)return!0;if(l&16)return n?so(n,a,c):!!a;if(l&8){const u=t.dynamicProps;for(let d=0;d<u.length;d++){const f=u[d];if(Nc(a,n,f)&&!Xr(c,f))return!0}}}else return(r||o)&&(!o||!o.$stable)?!0:n===a?!1:n?a?so(n,a,c):!0:!!a;return!1}function so(e,t,s){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;r<n.length;r++){const i=n[r];if(Nc(t,e,i)&&!Xr(s,i))return!0}return!1}function Nc(e,t,s){const n=e[s],r=t[s];return s==="style"&&Le(n)&&Le(r)?!Ms(n,r):n!==r}function Hh({vnode:e,parent:t,suspense:s},n){for(;t;){const r=t.subTree;if(r.suspense&&r.suspense.activeBranch===e&&(r.suspense.vnode.el=r.el=n,e=r),r===e)(e=t.vnode).el=n,t=t.parent;else break}s&&s.activeBranch===e&&(s.vnode.el=n)}const Ic={},Pc=()=>Object.create(Ic),Lc=e=>Object.getPrototypeOf(e)===Ic;function Fh(e,t,s,n=!1){const r={},i=Pc();e.propsDefaults=Object.create(null),Mc(e,t,r,i);for(const a in e.propsOptions[0])a in r||(r[a]=void 0);s?e.props=n?r:ac(r):e.type.props?e.props=r:e.props=i,e.attrs=i}function Vh(e,t,s,n){const{props:r,attrs:i,vnode:{patchFlag:a}}=e,o=Oe(r),[l]=e.propsOptions;let c=!1;if((n||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let d=0;d<u.length;d++){let f=u[d];if(Xr(e.emitsOptions,f))continue;const p=t[f];if(l)if(Ne(i,f))p!==i[f]&&(i[f]=p,c=!0);else{const m=dt(f);r[m]=Fi(l,o,m,p,e,!1)}else p!==i[f]&&(i[f]=p,c=!0)}}}else{Mc(e,t,r,i)&&(c=!0);let u;for(const d in o)(!t||!Ne(t,d)&&((u=js(d))===d||!Ne(t,u)))&&(l?s&&(s[d]!==void 0||s[u]!==void 0)&&(r[d]=Fi(l,o,d,void 0,e,!0)):delete r[d]);if(i!==o)for(const d in i)(!t||!Ne(t,d))&&(delete i[d],c=!0)}c&&ts(e.attrs,"set","")}function Mc(e,t,s,n){const[r,i]=e.propsOptions;let a=!1,o;if(t)for(let l in t){if(En(l))continue;const c=t[l];let u;r&&Ne(r,u=dt(l))?!i||!i.includes(u)?s[u]=c:(o||(o={}))[u]=c:Xr(e.emitsOptions,l)||(!(l in n)||c!==n[l])&&(n[l]=c,a=!0)}if(i){const l=Oe(s),c=o||je;for(let u=0;u<i.length;u++){const d=i[u];s[d]=Fi(r,l,d,c[d],e,!Ne(c,d))}}return a}function Fi(e,t,s,n,r,i){const a=e[s];if(a!=null){const o=Ne(a,"default");if(o&&n===void 0){const l=a.default;if(a.type!==Function&&!a.skipFactory&&Se(l)){const{propsDefaults:c}=r;if(s in c)n=c[s];else{const u=tr(r);n=c[s]=l.call(null,t),u()}}else n=l;r.ce&&r.ce._setProp(s,n)}a[0]&&(i&&!o?n=!1:a[1]&&(n===""||n===js(s))&&(n=!0))}return n}const qh=new WeakMap;function jc(e,t,s=!1){const n=s?qh:t.propsCache,r=n.get(e);if(r)return r;const i=e.props,a={},o=[];let l=!1;if(!Se(e)){const u=d=>{l=!0;const[f,p]=jc(d,t,!0);Qe(a,f),p&&o.push(...p)};!s&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!i&&!l)return Le(e)&&n.set(e,sn),sn;if(ve(i))for(let u=0;u<i.length;u++){const d=dt(i[u]);no(d)&&(a[d]=je)}else if(i)for(const u in i){const d=dt(u);if(no(d)){const f=i[u],p=a[d]=ve(f)||Se(f)?{type:f}:Qe({},f),m=p.type;let _=!1,T=!0;if(ve(m))for(let E=0;E<m.length;++E){const w=m[E],x=Se(w)&&w.name;if(x==="Boolean"){_=!0;break}else x==="String"&&(T=!1)}else _=Se(m)&&m.name==="Boolean";p[0]=_,p[1]=T,(_||Ne(p,"default"))&&o.push(d)}}const c=[a,o];return Le(e)&&n.set(e,c),c}function no(e){return e[0]!=="$"&&!En(e)}const Ea=e=>e==="_"||e==="_ctx"||e==="$stable",Sa=e=>ve(e)?e.map(Ht):[Ht(e)],zh=(e,t,s)=>{if(t._n)return t;const n=Kt((...r)=>Sa(t(...r)),s);return n._c=!1,n},Dc=(e,t,s)=>{const n=e._ctx;for(const r in e){if(Ea(r))continue;const i=e[r];if(Se(i))t[r]=zh(r,i,n);else if(i!=null){const a=Sa(i);t[r]=()=>a}}},Uc=(e,t)=>{const s=Sa(t);e.slots.default=()=>s},Bc=(e,t,s)=>{for(const n in t)(s||!Ea(n))&&(e[n]=t[n])},Kh=(e,t,s)=>{const n=e.slots=Pc();if(e.vnode.shapeFlag&32){const r=t._;r?(Bc(n,t,s),s&&Dl(n,"_",r,!0)):Dc(t,n)}else t&&Uc(e,t)},Wh=(e,t,s)=>{const{vnode:n,slots:r}=e;let i=!0,a=je;if(n.shapeFlag&32){const o=t._;o?s&&o===1?i=!1:Bc(r,t,s):(i=!t.$stable,Dc(t,r)),a=t}else t&&(Uc(e,t),a={default:1});if(i)for(const o in r)!Ea(o)&&a[o]==null&&delete r[o]},ft=Xh;function Gh(e){return Zh(e)}function Zh(e,t){const s=Kr();s.__VUE__=!0;const{insert:n,remove:r,patchProp:i,createElement:a,createText:o,createComment:l,setText:c,setElementText:u,parentNode:d,nextSibling:f,setScopeId:p=qt,insertStaticContent:m}=e,_=(y,k,N,F=null,G=null,z=null,K=void 0,se=null,Y=!!k.dynamicChildren)=>{if(y===k)return;y&&!Os(y,k)&&(F=M(y),Te(y,G,z,!0),y=null),k.patchFlag===-2&&(Y=!1,k.dynamicChildren=null);const{type:V,ref:be,shapeFlag:re}=k;switch(V){case Qr:T(y,k,N,F);break;case ut:E(y,k,N,F);break;case _r:y==null&&w(k,N,F,K);break;case Ee:ee(y,k,N,F,G,z,K,se,Y);break;default:re&1?L(y,k,N,F,G,z,K,se,Y):re&6?X(y,k,N,F,G,z,K,se,Y):(re&64||re&128)&&V.process(y,k,N,F,G,z,K,se,Y,me)}be!=null&&G?An(be,y&&y.ref,z,k||y,!k):be==null&&y&&y.ref!=null&&An(y.ref,null,z,y,!0)},T=(y,k,N,F)=>{if(y==null)n(k.el=o(k.children),N,F);else{const G=k.el=y.el;k.children!==y.children&&c(G,k.children)}},E=(y,k,N,F)=>{y==null?n(k.el=l(k.children||""),N,F):k.el=y.el},w=(y,k,N,F)=>{[y.el,y.anchor]=m(y.children,k,N,F,y.el,y.anchor)},x=({el:y,anchor:k},N,F)=>{let G;for(;y&&y!==k;)G=f(y),n(y,N,F),y=G;n(k,N,F)},A=({el:y,anchor:k})=>{let N;for(;y&&y!==k;)N=f(y),r(y),y=N;r(k)},L=(y,k,N,F,G,z,K,se,Y)=>{if(k.type==="svg"?K="svg":k.type==="math"&&(K="mathml"),y==null)D(k,N,F,G,z,K,se,Y);else{const V=y.el&&y.el._isVueCE?y.el:null;try{V&&V._beginPatch(),j(y,k,G,z,K,se,Y)}finally{V&&V._endPatch()}}},D=(y,k,N,F,G,z,K,se)=>{let Y,V;const{props:be,shapeFlag:re,transition:pe,dirs:ye}=y;if(Y=y.el=a(y.type,z,be&&be.is,be),re&8?u(Y,y.children):re&16&&I(y.children,Y,null,F,G,vi(y,z),K,se),ye&&ws(y,null,F,"created"),O(Y,y,y.scopeId,K,F),be){for(const te in be)te!=="value"&&!En(te)&&i(Y,te,null,be[te],z,F);"value"in be&&i(Y,"value",null,be.value,z),(V=be.onVnodeBeforeMount)&&Lt(V,F,y)}ye&&ws(y,null,F,"beforeMount");const Z=Jh(G,pe);Z&&pe.beforeEnter(Y),n(Y,k,N),((V=be&&be.onVnodeMounted)||Z||ye)&&ft(()=>{try{V&&Lt(V,F,y),Z&&pe.enter(Y),ye&&ws(y,null,F,"mounted")}finally{}},G)},O=(y,k,N,F,G)=>{if(N&&p(y,N),F)for(let z=0;z<F.length;z++)p(y,F[z]);if(G){let z=G.subTree;if(k===z||qc(z.type)&&(z.ssContent===k||z.ssFallback===k)){const K=G.vnode;O(y,K,K.scopeId,K.slotScopeIds,G.parent)}}},I=(y,k,N,F,G,z,K,se,Y=0)=>{for(let V=Y;V<y.length;V++){const be=y[V]=se?es(y[V]):Ht(y[V]);_(null,be,k,N,F,G,z,K,se)}},j=(y,k,N,F,G,z,K)=>{const se=k.el=y.el;let{patchFlag:Y,dynamicChildren:V,dirs:be}=k;Y|=y.patchFlag&16;const re=y.props||je,pe=k.props||je;let ye;if(N&&ks(N,!1),(ye=pe.onVnodeBeforeUpdate)&&Lt(ye,N,k,y),be&&ws(k,y,N,"beforeUpdate"),N&&ks(N,!0),(re.innerHTML&&pe.innerHTML==null||re.textContent&&pe.textContent==null)&&u(se,""),V?W(y.dynamicChildren,V,se,N,F,vi(k,G),z):K||H(y,k,se,null,N,F,vi(k,G),z,!1),Y>0){if(Y&16)ne(se,re,pe,N,G);else if(Y&2&&re.class!==pe.class&&i(se,"class",null,pe.class,G),Y&4&&i(se,"style",re.style,pe.style,G),Y&8){const Z=k.dynamicProps;for(let te=0;te<Z.length;te++){const ce=Z[te],_e=re[ce],Ce=pe[ce];(Ce!==_e||ce==="value")&&i(se,ce,_e,Ce,G,N)}}Y&1&&y.children!==k.children&&u(se,k.children)}else!K&&V==null&&ne(se,re,pe,N,G);((ye=pe.onVnodeUpdated)||be)&&ft(()=>{ye&&Lt(ye,N,k,y),be&&ws(k,y,N,"updated")},F)},W=(y,k,N,F,G,z,K)=>{for(let se=0;se<k.length;se++){const Y=y[se],V=k[se],be=Y.el&&(Y.type===Ee||!Os(Y,V)||Y.shapeFlag&198)?d(Y.el):N;_(Y,V,be,null,F,G,z,K,!0)}},ne=(y,k,N,F,G)=>{if(k!==N){if(k!==je)for(const z in k)!En(z)&&!(z in N)&&i(y,z,k[z],null,G,F);for(const z in N){if(En(z))continue;const K=N[z],se=k[z];K!==se&&z!=="value"&&i(y,z,se,K,G,F)}"value"in N&&i(y,"value",k.value,N.value,G)}},ee=(y,k,N,F,G,z,K,se,Y)=>{const V=k.el=y?y.el:o(""),be=k.anchor=y?y.anchor:o("");let{patchFlag:re,dynamicChildren:pe,slotScopeIds:ye}=k;ye&&(se=se?se.concat(ye):ye),y==null?(n(V,N,F),n(be,N,F),I(k.children||[],N,be,G,z,K,se,Y)):re>0&&re&64&&pe&&y.dynamicChildren&&y.dynamicChildren.length===pe.length?(W(y.dynamicChildren,pe,N,G,z,K,se),(k.key!=null||G&&k===G.subTree)&&Hc(y,k,!0)):H(y,k,N,be,G,z,K,se,Y)},X=(y,k,N,F,G,z,K,se,Y)=>{k.slotScopeIds=se,y==null?k.shapeFlag&512?G.ctx.activate(k,N,F,K,Y):$(k,N,F,G,z,K,Y):R(y,k,Y)},$=(y,k,N,F,G,z,K)=>{const se=y.component=af(y,F,G);if(Jr(y)&&(se.ctx.renderer=me),of(se,!1,K),se.asyncDep){if(G&&G.registerDep(se,v,K),!y.el){const Y=se.subTree=fe(ut);E(null,Y,k,N),y.placeholder=Y.el}}else v(se,y,k,N,G,z,K)},R=(y,k,N)=>{const F=k.component=y.component;if(Bh(y,k,N))if(F.asyncDep&&!F.asyncResolved){S(F,k,N);return}else F.next=k,F.update();else k.el=y.el,F.vnode=k},v=(y,k,N,F,G,z,K)=>{const se=()=>{if(y.isMounted){let{next:re,bu:pe,u:ye,parent:Z,vnode:te}=y;{const _t=Fc(y);if(_t){re&&(re.el=te.el,S(y,re,K)),_t.asyncDep.then(()=>{ft(()=>{y.isUnmounted||V()},G)});return}}let ce=re,_e;ks(y,!1),re?(re.el=te.el,S(y,re,K)):re=te,pe&&vr(pe),(_e=re.props&&re.props.onVnodeBeforeUpdate)&&Lt(_e,Z,re,te),ks(y,!0);const Ce=to(y),Ke=y.subTree;y.subTree=Ce,_(Ke,Ce,d(Ke.el),M(Ke),y,G,z),re.el=Ce.el,ce===null&&Hh(y,Ce.el),ye&&ft(ye,G),(_e=re.props&&re.props.onVnodeUpdated)&&ft(()=>Lt(_e,Z,re,te),G)}else{let re;const{el:pe,props:ye}=k,{bm:Z,m:te,parent:ce,root:_e,type:Ce}=y,Ke=Rn(k);ks(y,!1),Z&&vr(Z),!Ke&&(re=ye&&ye.onVnodeBeforeMount)&&Lt(re,ce,k),ks(y,!0);{_e.ce&&_e.ce._hasShadowRoot()&&_e.ce._injectChildStyle(Ce,y.parent?y.parent.type:void 0);const _t=y.subTree=to(y);_(null,_t,N,F,y,G,z),k.el=_t.el}if(te&&ft(te,G),!Ke&&(re=ye&&ye.onVnodeMounted)){const _t=k;ft(()=>Lt(re,ce,_t),G)}(k.shapeFlag&256||ce&&Rn(ce.vnode)&&ce.vnode.shapeFlag&256)&&y.a&&ft(y.a,G),y.isMounted=!0,k=N=F=null}};y.scope.on();const Y=y.effect=new Kl(se);y.scope.off();const V=y.update=Y.run.bind(Y),be=y.job=Y.runIfDirty.bind(Y);be.i=y,be.id=y.uid,Y.scheduler=()=>wa(be),ks(y,!0),V()},S=(y,k,N)=>{k.component=y;const F=y.vnode.props;y.vnode=k,y.next=null,Vh(y,k.props,F,N),Wh(y,k.children,N),is(),Ka(y),as()},H=(y,k,N,F,G,z,K,se,Y=!1)=>{const V=y&&y.children,be=y?y.shapeFlag:0,re=k.children,{patchFlag:pe,shapeFlag:ye}=k;if(pe>0){if(pe&128){ge(V,re,N,F,G,z,K,se,Y);return}else if(pe&256){ie(V,re,N,F,G,z,K,se,Y);return}}ye&8?(be&16&&Q(V,G,z),re!==V&&u(N,re)):be&16?ye&16?ge(V,re,N,F,G,z,K,se,Y):Q(V,G,z,!0):(be&8&&u(N,""),ye&16&&I(re,N,F,G,z,K,se,Y))},ie=(y,k,N,F,G,z,K,se,Y)=>{y=y||sn,k=k||sn;const V=y.length,be=k.length,re=Math.min(V,be);let pe;for(pe=0;pe<re;pe++){const ye=k[pe]=Y?es(k[pe]):Ht(k[pe]);_(y[pe],ye,N,null,G,z,K,se,Y)}V>be?Q(y,G,z,!0,!1,re):I(k,N,F,G,z,K,se,Y,re)},ge=(y,k,N,F,G,z,K,se,Y)=>{let V=0;const be=k.length;let re=y.length-1,pe=be-1;for(;V<=re&&V<=pe;){const ye=y[V],Z=k[V]=Y?es(k[V]):Ht(k[V]);if(Os(ye,Z))_(ye,Z,N,null,G,z,K,se,Y);else break;V++}for(;V<=re&&V<=pe;){const ye=y[re],Z=k[pe]=Y?es(k[pe]):Ht(k[pe]);if(Os(ye,Z))_(ye,Z,N,null,G,z,K,se,Y);else break;re--,pe--}if(V>re){if(V<=pe){const ye=pe+1,Z=ye<be?k[ye].el:F;for(;V<=pe;)_(null,k[V]=Y?es(k[V]):Ht(k[V]),N,Z,G,z,K,se,Y),V++}}else if(V>pe)for(;V<=re;)Te(y[V],G,z,!0),V++;else{const ye=V,Z=V,te=new Map;for(V=Z;V<=pe;V++){const pt=k[V]=Y?es(k[V]):Ht(k[V]);pt.key!=null&&te.set(pt.key,V)}let ce,_e=0;const Ce=pe-Z+1;let Ke=!1,_t=0;const xs=new Array(Ce);for(V=0;V<Ce;V++)xs[V]=0;for(V=ye;V<=re;V++){const pt=y[V];if(_e>=Ce){Te(pt,G,z,!0);continue}let Pt;if(pt.key!=null)Pt=te.get(pt.key);else for(ce=Z;ce<=pe;ce++)if(xs[ce-Z]===0&&Os(pt,k[ce])){Pt=ce;break}Pt===void 0?Te(pt,G,z,!0):(xs[Pt-Z]=V+1,Pt>=_t?_t=Pt:Ke=!0,_(pt,k[Pt],N,null,G,z,K,se,Y),_e++)}const Ua=Ke?Yh(xs):sn;for(ce=Ua.length-1,V=Ce-1;V>=0;V--){const pt=Z+V,Pt=k[pt],Ba=k[pt+1],Ha=pt+1<be?Ba.el||Vc(Ba):F;xs[V]===0?_(null,Pt,N,Ha,G,z,K,se,Y):Ke&&(ce<0||V!==Ua[ce]?we(Pt,N,Ha,2):ce--)}}},we=(y,k,N,F,G=null)=>{const{el:z,type:K,transition:se,children:Y,shapeFlag:V}=y;if(V&6){we(y.component.subTree,k,N,F);return}if(V&128){y.suspense.move(k,N,F);return}if(V&64){K.move(y,k,N,me);return}if(K===Ee){n(z,k,N);for(let re=0;re<Y.length;re++)we(Y[re],k,N,F);n(y.anchor,k,N);return}if(K===_r){x(y,k,N);return}if(F!==2&&V&1&&se)if(F===0)se.beforeEnter(z),n(z,k,N),ft(()=>se.enter(z),G);else{const{leave:re,delayLeave:pe,afterLeave:ye}=se,Z=()=>{y.ctx.isUnmounted?r(z):n(z,k,N)},te=()=>{z._isLeaving&&z[Dt](!0),re(z,()=>{Z(),ye&&ye()})};pe?pe(z,Z,te):te()}else n(z,k,N)},Te=(y,k,N,F=!1,G=!1)=>{const{type:z,props:K,ref:se,children:Y,dynamicChildren:V,shapeFlag:be,patchFlag:re,dirs:pe,cacheIndex:ye,memo:Z}=y;if(re===-2&&(G=!1),se!=null&&(is(),An(se,null,N,y,!0),as()),ye!=null&&(k.renderCache[ye]=void 0),be&256){k.ctx.deactivate(y);return}const te=be&1&&pe,ce=!Rn(y);let _e;if(ce&&(_e=K&&K.onVnodeBeforeUnmount)&&Lt(_e,k,y),be&6)U(y.component,N,F);else{if(be&128){y.suspense.unmount(N,F);return}te&&ws(y,null,k,"beforeUnmount"),be&64?y.type.remove(y,k,N,me,F):V&&!V.hasOnce&&(z!==Ee||re>0&&re&64)?Q(V,k,N,!1,!0):(z===Ee&&re&384||!G&&be&16)&&Q(Y,k,N),F&&J(y)}const Ce=Z!=null&&ye==null;(ce&&(_e=K&&K.onVnodeUnmounted)||te||Ce)&&ft(()=>{_e&&Lt(_e,k,y),te&&ws(y,null,k,"unmounted"),Ce&&(y.el=null)},N)},J=y=>{const{type:k,el:N,anchor:F,transition:G}=y;if(k===Ee){P(N,F);return}if(k===_r){A(y);return}const z=()=>{r(N),G&&!G.persisted&&G.afterLeave&&G.afterLeave()};if(y.shapeFlag&1&&G&&!G.persisted){const{leave:K,delayLeave:se}=G,Y=()=>K(N,z);se?se(y.el,z,Y):Y()}else z()},P=(y,k)=>{let N;for(;y!==k;)N=f(y),r(y),y=N;r(k)},U=(y,k,N)=>{const{bum:F,scope:G,job:z,subTree:K,um:se,m:Y,a:V}=y;ro(Y),ro(V),F&&vr(F),G.stop(),z&&(z.flags|=8,Te(K,y,k,N)),se&&ft(se,k),ft(()=>{y.isUnmounted=!0},k)},Q=(y,k,N,F=!1,G=!1,z=0)=>{for(let K=z;K<y.length;K++)Te(y[K],k,N,F,G)},M=y=>{if(y.shapeFlag&6)return M(y.component.subTree);if(y.shapeFlag&128)return y.suspense.next();const k=f(y.anchor||y.el),N=k&&k[hh];return N?f(N):k};let ae=!1;const oe=(y,k,N)=>{let F;y==null?k._vnode&&(Te(k._vnode,null,null,!0),F=k._vnode.component):_(k._vnode||null,y,k,null,null,null,N),k._vnode=y,ae||(ae=!0,Ka(F),dc(),ae=!1)},me={p:_,um:Te,m:we,r:J,mt:$,mc:I,pc:H,pbc:W,n:M,o:e};return{render:oe,hydrate:void 0,createApp:Ph(oe)}}function vi({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 ks({effect:e,job:t},s){s?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Jh(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Hc(e,t,s=!1){const n=e.children,r=t.children;if(ve(n)&&ve(r))for(let i=0;i<n.length;i++){const a=n[i];let o=r[i];o.shapeFlag&1&&!o.dynamicChildren&&((o.patchFlag<=0||o.patchFlag===32)&&(o=r[i]=es(r[i]),o.el=a.el),!s&&o.patchFlag!==-2&&Hc(a,o)),o.type===Qr&&(o.patchFlag===-1&&(o=r[i]=es(o)),o.el=a.el),o.type===ut&&!o.el&&(o.el=a.el)}}function Yh(e){const t=e.slice(),s=[0];let n,r,i,a,o;const l=e.length;for(n=0;n<l;n++){const c=e[n];if(c!==0){if(r=s[s.length-1],e[r]<c){t[n]=r,s.push(n);continue}for(i=0,a=s.length-1;i<a;)o=i+a>>1,e[s[o]]<c?i=o+1:a=o;c<e[s[i]]&&(i>0&&(t[n]=s[i-1]),s[i]=n)}}for(i=s.length,a=s[i-1];i-- >0;)s[i]=a,a=t[a];return s}function Fc(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Fc(t)}function ro(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Vc(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Vc(t.subTree):null}const qc=e=>e.__isSuspense;function Xh(e,t){t&&t.pendingBranch?ve(e)?t.effects.push(...e):t.effects.push(e):oh(e)}const Ee=Symbol.for("v-fgt"),Qr=Symbol.for("v-txt"),ut=Symbol.for("v-cmt"),_r=Symbol.for("v-stc"),On=[];let bt=null;function g(e=!1){On.push(bt=e?null:[])}function Qh(){On.pop(),bt=On[On.length-1]||null}let Bn=1;function Cr(e,t=!1){Bn+=e,e<0&&bt&&t&&(bt.hasOnce=!0)}function zc(e){return e.dynamicChildren=Bn>0?bt||sn:null,Qh(),Bn>0&&bt&&bt.push(e),e}function b(e,t,s,n,r,i){return zc(h(e,t,s,n,r,i,!0))}function Rt(e,t,s,n,r){return zc(fe(e,t,s,n,r,!0))}function Or(e){return e?e.__v_isVNode===!0:!1}function Os(e,t){return e.type===t.type&&e.key===t.key}const Kc=({key:e})=>e??null,xr=({ref:e,ref_key:t,ref_for:s})=>(typeof e=="number"&&(e=""+e),e!=null?He(e)||qe(e)||Se(e)?{i:mt,r:e,k:t,f:!!s}:e:null);function h(e,t=null,s=null,n=0,r=null,i=e===Ee?0:1,a=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Kc(t),ref:t&&xr(t),scopeId:fc,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:i,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:mt};return o?(Ta(l,s),i&128&&e.normalize(l)):s&&(l.shapeFlag|=He(s)?8:16),Bn>0&&!a&&bt&&(l.patchFlag>0||i&6)&&l.patchFlag!==32&&bt.push(l),l}const fe=ef;function ef(e,t=null,s=null,n=0,r=null,i=!1){if((!e||e===Tc)&&(e=ut),Or(e)){const o=_s(e,t,!0);return s&&Ta(o,s),Bn>0&&!i&&bt&&(o.shapeFlag&6?bt[bt.indexOf(e)]=o:bt.push(o)),o.patchFlag=-2,o}if(hf(e)&&(e=e.__vccOpts),t){t=tf(t);let{class:o,style:l}=t;o&&!He(o)&&(t.class=he(o)),Le(l)&&(Gr(l)&&!ve(l)&&(l=Qe({},l)),t.style=pa(l))}const a=He(e)?1:qc(e)?128:mc(e)?64:Le(e)?4:Se(e)?2:0;return h(e,t,s,n,r,a,i,!0)}function tf(e){return e?Gr(e)||Lc(e)?Qe({},e):e:null}function _s(e,t,s=!1,n=!1){const{props:r,ref:i,patchFlag:a,children:o,transition:l}=e,c=t?sf(r||{},t):r,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Kc(c),ref:t&&t.ref?s&&i?ve(i)?i.concat(xr(t)):[i,xr(t)]:xr(t):i,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:o,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==Ee?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&_s(e.ssContent),ssFallback:e.ssFallback&&_s(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&n&&Un(u,l.clone(u)),u}function de(e=" ",t=0){return fe(Qr,null,e,t)}function ei(e,t){const s=fe(_r,null,e);return s.staticCount=t,s}function q(e="",t=!1){return t?(g(),Rt(ut,null,e)):fe(ut,null,e)}function Ht(e){return e==null||typeof e=="boolean"?fe(ut):ve(e)?fe(Ee,null,e.slice()):Or(e)?es(e):fe(Qr,null,String(e))}function es(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:_s(e)}function Ta(e,t){let s=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(ve(t))s=16;else if(typeof t=="object")if(n&65){const r=t.default;r&&(r._c&&(r._d=!1),Ta(e,r()),r._c&&(r._d=!0));return}else{s=32;const r=t._;!r&&!Lc(t)?t._ctx=mt:r===3&&mt&&(mt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Se(t)?(t={default:t,_ctx:mt},s=32):(t=String(t),n&64?(s=16,t=[de(t)]):s=8);e.children=t,e.shapeFlag|=s}function sf(...e){const t={};for(let s=0;s<e.length;s++){const n=e[s];for(const r in n)if(r==="class")t.class!==n.class&&(t.class=he([t.class,n.class]));else if(r==="style")t.style=pa([t.style,n.style]);else if(Br(r)){const i=t[r],a=n[r];a&&i!==a&&!(ve(i)&&i.includes(a))?t[r]=i?[].concat(i,a):a:a==null&&i==null&&!Hr(r)&&(t[r]=a)}else r!==""&&(t[r]=n[r])}return t}function Lt(e,t,s,n=null){Nt(e,t,7,[s,n])}const nf=Oc();let rf=0;function af(e,t,s){const n=e.type,r=(t?t.appContext:e.appContext)||nf,i={uid:rf++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Vl(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:jc(n,r),emitsOptions:$c(n,r),emit:null,emitted:null,propsDefaults:je,inheritAttrs:n.inheritAttrs,ctx:je,data:je,props:je,attrs:je,slots:je,refs:je,setupState:je,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 i.ctx={_:i},i.root=t?t.root:i,i.emit=Mh.bind(null,i),e.ce&&e.ce(i),i}let rt=null;const Aa=()=>rt||mt;let $r,Vi;{const e=Kr(),t=(s,n)=>{let r;return(r=e[s])||(r=e[s]=[]),r.push(n),i=>{r.length>1?r.forEach(a=>a(i)):r[0](i)}};$r=t("__VUE_INSTANCE_SETTERS__",s=>rt=s),Vi=t("__VUE_SSR_SETTERS__",s=>Hn=s)}const tr=e=>{const t=rt;return $r(e),e.scope.on(),()=>{e.scope.off(),$r(t)}},io=()=>{rt&&rt.scope.off(),$r(null)};function Wc(e){return e.vnode.shapeFlag&4}let Hn=!1;function of(e,t=!1,s=!1){t&&Vi(t);const{props:n,children:r}=e.vnode,i=Wc(e);Fh(e,n,i,t),Kh(e,r,s||t);const a=i?lf(e,t):void 0;return t&&Vi(!1),a}function lf(e,t){const s=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ah);const{setup:n}=s;if(n){is();const r=e.setupContext=n.length>1?uf(e):null,i=tr(e),a=er(n,e,0,[e.props,r]),o=Ll(a);if(as(),i(),(o||e.sp)&&!Rn(e)&&wc(e),o){if(a.then(io,io),t)return a.then(l=>{ao(e,l)}).catch(l=>{Zr(l,e,0)});e.asyncDep=a}else ao(e,a)}else Gc(e)}function ao(e,t,s){Se(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:Le(t)&&(e.setupState=lc(t)),Gc(e)}function Gc(e,t,s){const n=e.type;e.render||(e.render=n.render||qt);{const r=tr(e);is();try{Rh(e)}finally{as(),r()}}}const cf={get(e,t){return nt(e,"get",""),e[t]}};function uf(e){const t=s=>{e.exposed=s||{}};return{attrs:new Proxy(e.attrs,cf),slots:e.slots,emit:e.emit,expose:t}}function ti(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(lc(xa(e.exposed)),{get(t,s){if(s in t)return t[s];if(s in Cn)return Cn[s](e)},has(t,s){return s in t||s in Cn}})):e.proxy}function df(e,t=!0){return Se(e)?e.displayName||e.name:e.name||t&&e.__name}function hf(e){return Se(e)&&"__vccOpts"in e}const Pe=(e,t)=>sh(e,t,Hn);function Ra(e,t,s){try{Cr(-1);const n=arguments.length;return n===2?Le(t)&&!ve(t)?Or(t)?fe(e,null,[t]):fe(e,t):fe(e,null,t):(n>3?s=Array.prototype.slice.call(arguments,2):n===3&&Or(s)&&(s=[s]),fe(e,t,s))}finally{Cr(1)}}const ff="3.5.34";/**
14
- * @vue/runtime-dom v3.5.34
15
- * (c) 2018-present Yuxi (Evan) You and Vue contributors
16
- * @license MIT
17
- **/let qi;const oo=typeof window<"u"&&window.trustedTypes;if(oo)try{qi=oo.createPolicy("vue",{createHTML:e=>e})}catch{}const Zc=qi?e=>qi.createHTML(e):e=>e,pf="http://www.w3.org/2000/svg",gf="http://www.w3.org/1998/Math/MathML",Yt=typeof document<"u"?document:null,lo=Yt&&Yt.createElement("template"),mf={insert:(e,t,s)=>{t.insertBefore(e,s||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,s,n)=>{const r=t==="svg"?Yt.createElementNS(pf,e):t==="mathml"?Yt.createElementNS(gf,e):s?Yt.createElement(e,{is:s}):Yt.createElement(e);return e==="select"&&n&&n.multiple!=null&&r.setAttribute("multiple",n.multiple),r},createText:e=>Yt.createTextNode(e),createComment:e=>Yt.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Yt.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,s,n,r,i){const a=s?s.previousSibling:t.lastChild;if(r&&(r===i||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),s),!(r===i||!(r=r.nextSibling)););else{lo.innerHTML=Zc(n==="svg"?`<svg>${e}</svg>`:n==="mathml"?`<math>${e}</math>`:e);const o=lo.content;if(n==="svg"||n==="mathml"){const l=o.firstChild;for(;l.firstChild;)o.appendChild(l.firstChild);o.removeChild(l)}t.insertBefore(o,s)}return[a?a.nextSibling:t.firstChild,s?s.previousSibling:t.lastChild]}},ds="transition",bn="animation",Fn=Symbol("_vtc"),Jc={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},bf=Qe({},bc,Jc),vf=e=>(e.displayName="Transition",e.props=bf,e),an=vf((e,{slots:t})=>Ra(gh,yf(e),t)),Es=(e,t=[])=>{ve(e)?e.forEach(s=>s(...t)):e&&e(...t)},co=e=>e?ve(e)?e.some(t=>t.length>1):e.length>1:!1;function yf(e){const t={};for(const ee in e)ee in Jc||(t[ee]=e[ee]);if(e.css===!1)return t;const{name:s="v",type:n,duration:r,enterFromClass:i=`${s}-enter-from`,enterActiveClass:a=`${s}-enter-active`,enterToClass:o=`${s}-enter-to`,appearFromClass:l=i,appearActiveClass:c=a,appearToClass:u=o,leaveFromClass:d=`${s}-leave-from`,leaveActiveClass:f=`${s}-leave-active`,leaveToClass:p=`${s}-leave-to`}=e,m=_f(r),_=m&&m[0],T=m&&m[1],{onBeforeEnter:E,onEnter:w,onEnterCancelled:x,onLeave:A,onLeaveCancelled:L,onBeforeAppear:D=E,onAppear:O=w,onAppearCancelled:I=x}=t,j=(ee,X,$,R)=>{ee._enterCancelled=R,Ss(ee,X?u:o),Ss(ee,X?c:a),$&&$()},W=(ee,X)=>{ee._isLeaving=!1,Ss(ee,d),Ss(ee,p),Ss(ee,f),X&&X()},ne=ee=>(X,$)=>{const R=ee?O:w,v=()=>j(X,ee,$);Es(R,[X,v]),uo(()=>{Ss(X,ee?l:i),Gt(X,ee?u:o),co(R)||ho(X,n,_,v)})};return Qe(t,{onBeforeEnter(ee){Es(E,[ee]),Gt(ee,i),Gt(ee,a)},onBeforeAppear(ee){Es(D,[ee]),Gt(ee,l),Gt(ee,c)},onEnter:ne(!1),onAppear:ne(!0),onLeave(ee,X){ee._isLeaving=!0;const $=()=>W(ee,X);Gt(ee,d),ee._enterCancelled?(Gt(ee,f),go(ee)):(go(ee),Gt(ee,f)),uo(()=>{ee._isLeaving&&(Ss(ee,d),Gt(ee,p),co(A)||ho(ee,n,T,$))}),Es(A,[ee,$])},onEnterCancelled(ee){j(ee,!1,void 0,!0),Es(x,[ee])},onAppearCancelled(ee){j(ee,!0,void 0,!0),Es(I,[ee])},onLeaveCancelled(ee){W(ee),Es(L,[ee])}})}function _f(e){if(e==null)return null;if(Le(e))return[yi(e.enter),yi(e.leave)];{const t=yi(e);return[t,t]}}function yi(e){return xd(e)}function Gt(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.add(s)),(e[Fn]||(e[Fn]=new Set)).add(t)}function Ss(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.remove(n));const s=e[Fn];s&&(s.delete(t),s.size||(e[Fn]=void 0))}function uo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let xf=0;function ho(e,t,s,n){const r=e._endId=++xf,i=()=>{r===e._endId&&n()};if(s!=null)return setTimeout(i,s);const{type:a,timeout:o,propCount:l}=wf(e,t);if(!a)return n();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,f),i()},f=p=>{p.target===e&&++u>=l&&d()};setTimeout(()=>{u<l&&d()},o+1),e.addEventListener(c,f)}function wf(e,t){const s=window.getComputedStyle(e),n=m=>(s[m]||"").split(", "),r=n(`${ds}Delay`),i=n(`${ds}Duration`),a=fo(r,i),o=n(`${bn}Delay`),l=n(`${bn}Duration`),c=fo(o,l);let u=null,d=0,f=0;t===ds?a>0&&(u=ds,d=a,f=i.length):t===bn?c>0&&(u=bn,d=c,f=l.length):(d=Math.max(a,c),u=d>0?a>c?ds:bn:null,f=u?u===ds?i.length:l.length:0);const p=u===ds&&/\b(?:transform|all)(?:,|$)/.test(n(`${ds}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function fo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((s,n)=>po(s)+po(e[n])))}function po(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function go(e){return(e?e.ownerDocument:document).body.offsetHeight}function kf(e,t,s){const n=e[Fn];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):s?e.setAttribute("class",t):e.className=t}const mo=Symbol("_vod"),Ef=Symbol("_vsh"),Sf=Symbol(""),Tf=/(?:^|;)\s*display\s*:/;function Af(e,t,s){const n=e.style,r=He(s);let i=!1;if(s&&!r){if(t)if(He(t))for(const a of t.split(";")){const o=a.slice(0,a.indexOf(":")).trim();s[o]==null&&xn(n,o,"")}else for(const a in t)s[a]==null&&xn(n,a,"");for(const a in s){a==="display"&&(i=!0);const o=s[a];o!=null?Cf(e,a,!He(t)&&t?t[a]:void 0,o)||xn(n,a,o):xn(n,a,"")}}else if(r){if(t!==s){const a=n[Sf];a&&(s+=";"+a),n.cssText=s,i=Tf.test(s)}}else t&&e.removeAttribute("style");mo in e&&(e[mo]=i?n.display:"",e[Ef]&&(n.display="none"))}const bo=/\s*!important$/;function xn(e,t,s){if(ve(s))s.forEach(n=>xn(e,t,n));else if(s==null&&(s=""),t.startsWith("--"))e.setProperty(t,s);else{const n=Rf(e,t);bo.test(s)?e.setProperty(js(n),s.replace(bo,""),"important"):e[n]=s}}const vo=["Webkit","Moz","ms"],_i={};function Rf(e,t){const s=_i[t];if(s)return s;let n=dt(t);if(n!=="filter"&&n in e)return _i[t]=n;n=zr(n);for(let r=0;r<vo.length;r++){const i=vo[r]+n;if(i in e)return _i[t]=i}return t}function Cf(e,t,s,n){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&He(n)&&s===n}const yo="http://www.w3.org/1999/xlink";function _o(e,t,s,n,r,i=Ad(t)){n&&t.startsWith("xlink:")?s==null?e.removeAttributeNS(yo,t.slice(6,t.length)):e.setAttributeNS(yo,t,s):s==null||i&&!Ul(s)?e.removeAttribute(t):e.setAttribute(t,i?"":Et(s)?String(s):s)}function xo(e,t,s,n,r){if(t==="innerHTML"||t==="textContent"){s!=null&&(e[t]=t==="innerHTML"?Zc(s):s);return}const i=e.tagName;if(t==="value"&&i!=="PROGRESS"&&!i.includes("-")){const o=i==="OPTION"?e.getAttribute("value")||"":e.value,l=s==null?e.type==="checkbox"?"on":"":String(s);(o!==l||!("_value"in e))&&(e.value=l),s==null&&e.removeAttribute(t),e._value=s;return}let a=!1;if(s===""||s==null){const o=typeof e[t];o==="boolean"?s=Ul(s):s==null&&o==="string"?(s="",a=!0):o==="number"&&(s=0,a=!0)}try{e[t]=s}catch{}a&&e.removeAttribute(r||t)}function ms(e,t,s,n){e.addEventListener(t,s,n)}function Of(e,t,s,n){e.removeEventListener(t,s,n)}const wo=Symbol("_vei");function $f(e,t,s,n,r=null){const i=e[wo]||(e[wo]={}),a=i[t];if(n&&a)a.value=n;else{const[o,l]=Nf(t);if(n){const c=i[t]=Lf(n,r);ms(e,o,c,l)}else a&&(Of(e,o,a,l),i[t]=void 0)}}const ko=/(?:Once|Passive|Capture)$/;function Nf(e){let t;if(ko.test(e)){t={};let n;for(;n=e.match(ko);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[e[2]===":"?e.slice(3):js(e.slice(2)),t]}let xi=0;const If=Promise.resolve(),Pf=()=>xi||(If.then(()=>xi=0),xi=Date.now());function Lf(e,t){const s=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=s.attached)return;Nt(Mf(n,s.value),t,5,[n])};return s.value=e,s.attached=Pf(),s}function Mf(e,t){if(ve(t)){const s=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{s.call(e),e._stopped=!0},t.map(n=>r=>!r._stopped&&n&&n(r))}else return t}const Eo=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,jf=(e,t,s,n,r,i)=>{const a=r==="svg";t==="class"?kf(e,n,a):t==="style"?Af(e,s,n):Br(t)?Hr(t)||$f(e,t,s,n,i):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Df(e,t,n,a))?(xo(e,t,n),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&_o(e,t,n,a,i,t!=="value")):e._isVueCE&&(Uf(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!He(n)))?xo(e,dt(t),n,i,t):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),_o(e,t,n,a))};function Df(e,t,s,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Eo(t)&&Se(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 r=e.tagName;if(r==="IMG"||r==="VIDEO"||r==="CANVAS"||r==="SOURCE")return!1}return Eo(t)&&He(s)?!1:t in e}function Uf(e,t){const s=e._def.props;if(!s)return!1;const n=dt(t);return Array.isArray(s)?s.some(r=>dt(r)===n):Object.keys(s).some(r=>dt(r)===n)}const cn=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ve(t)?s=>vr(t,s):t};function Bf(e){e.target.composing=!0}function So(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const rs=Symbol("_assign");function To(e,t,s){return t&&(e=e.trim()),s&&(e=fa(e)),e}const ze={created(e,{modifiers:{lazy:t,trim:s,number:n}},r){e[rs]=cn(r);const i=n||r.props&&r.props.type==="number";ms(e,t?"change":"input",a=>{a.target.composing||e[rs](To(e.value,s,i))}),(s||i)&&ms(e,"change",()=>{e.value=To(e.value,s,i)}),t||(ms(e,"compositionstart",Bf),ms(e,"compositionend",So),ms(e,"change",So))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:s,modifiers:{lazy:n,trim:r,number:i}},a){if(e[rs]=cn(a),e.composing)return;const o=(i||e.type==="number")&&!/^0\d/.test(e.value)?fa(e.value):e.value,l=t??"";if(o===l)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(n&&t===s||r&&e.value.trim()===l)||(e.value=l)}},Yc={deep:!0,created(e,t,s){e[rs]=cn(s),ms(e,"change",()=>{const n=e._modelValue,r=Xc(e),i=e.checked,a=e[rs];if(ve(n)){const o=Bl(n,r),l=o!==-1;if(i&&!l)a(n.concat(r));else if(!i&&l){const c=[...n];c.splice(o,1),a(c)}}else if(Fr(n)){const o=new Set(n);i?o.add(r):o.delete(r),a(o)}else a(Qc(e,i))})},mounted:Ao,beforeUpdate(e,t,s){e[rs]=cn(s),Ao(e,t,s)}};function Ao(e,{value:t,oldValue:s},n){e._modelValue=t;let r;if(ve(t))r=Bl(t,n.props.value)>-1;else if(Fr(t))r=t.has(n.props.value);else{if(t===s)return;r=Ms(t,Qc(e,!0))}e.checked!==r&&(e.checked=r)}const Ro={created(e,{value:t},s){e.checked=Ms(t,s.props.value),e[rs]=cn(s),ms(e,"change",()=>{e[rs](Xc(e))})},beforeUpdate(e,{value:t,oldValue:s},n){e[rs]=cn(n),t!==s&&(e.checked=Ms(t,n.props.value))}};function Xc(e){return"_value"in e?e._value:e.value}function Qc(e,t){const s=t?"_trueValue":"_falseValue";return s in e?e[s]:t}const Hf=["ctrl","shift","alt","meta"],Ff={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)=>Hf.some(s=>e[`${s}Key`]&&!t.includes(s))},Ge=(e,t)=>{if(!e)return e;const s=e._withMods||(e._withMods={}),n=t.join(".");return s[n]||(s[n]=(r,...i)=>{for(let a=0;a<t.length;a++){const o=Ff[t[a]];if(o&&o(r,t))return}return e(r,...i)})},Vf=Qe({patchProp:jf},mf);let Co;function qf(){return Co||(Co=Gh(Vf))}const zf=(...e)=>{const t=qf().createApp(...e),{mount:s}=t;return t.mount=n=>{const r=Wf(n);if(!r)return;const i=t._component;!Se(i)&&!i.render&&!i.template&&(i.template=r.innerHTML),r.nodeType===1&&(r.textContent="");const a=s(r,!1,Kf(r));return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),a},t};function Kf(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Wf(e){return He(e)?document.querySelector(e):e}/*!
18
- * pinia v2.3.1
19
- * (c) 2025 Eduardo San Martin Morote
20
- * @license MIT
21
- */let eu;const si=e=>eu=e,tu=Symbol();function zi(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var $n;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})($n||($n={}));function Gf(){const e=ql(!0),t=e.run(()=>B({}));let s=[],n=[];const r=xa({install(i){si(r),r._a=i,i.provide(tu,r),i.config.globalProperties.$pinia=r,n.forEach(a=>s.push(a)),n=[]},use(i){return this._a?s.push(i):n.push(i),this},_p:s,_a:null,_e:e,_s:new Map,state:t});return r}const su=()=>{};function Oo(e,t,s,n=su){e.push(t);const r=()=>{const i=e.indexOf(t);i>-1&&(e.splice(i,1),n())};return!s&&zl()&&Cd(r),r}function Hs(e,...t){e.slice().forEach(s=>{s(...t)})}const Zf=e=>e(),$o=Symbol(),wi=Symbol();function Ki(e,t){e instanceof Map&&t instanceof Map?t.forEach((s,n)=>e.set(n,s)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const s in t){if(!t.hasOwnProperty(s))continue;const n=t[s],r=e[s];zi(r)&&zi(n)&&e.hasOwnProperty(s)&&!qe(n)&&!ns(n)?e[s]=Ki(r,n):e[s]=n}return e}const Jf=Symbol();function Yf(e){return!zi(e)||!e.hasOwnProperty(Jf)}const{assign:fs}=Object;function Xf(e){return!!(qe(e)&&e.effect)}function Qf(e,t,s,n){const{state:r,actions:i,getters:a}=t,o=s.state.value[e];let l;function c(){o||(s.state.value[e]=r?r():{});const u=Xd(s.state.value[e]);return fs(u,i,Object.keys(a||{}).reduce((d,f)=>(d[f]=xa(Pe(()=>{si(s);const p=s._s.get(e);return a[f].call(p,p)})),d),{}))}return l=nu(e,c,t,s,n,!0),l}function nu(e,t,s={},n,r,i){let a;const o=fs({actions:{}},s),l={deep:!0};let c,u,d=[],f=[],p;const m=n.state.value[e];!i&&!m&&(n.state.value[e]={});let _;function T(I){let j;c=u=!1,typeof I=="function"?(I(n.state.value[e]),j={type:$n.patchFunction,storeId:e,events:p}):(Ki(n.state.value[e],I),j={type:$n.patchObject,payload:I,storeId:e,events:p});const W=_=Symbol();zt().then(()=>{_===W&&(c=!0)}),u=!0,Hs(d,j,n.state.value[e])}const E=i?function(){const{state:j}=s,W=j?j():{};this.$patch(ne=>{fs(ne,W)})}:su;function w(){a.stop(),d=[],f=[],n._s.delete(e)}const x=(I,j="")=>{if($o in I)return I[wi]=j,I;const W=function(){si(n);const ne=Array.from(arguments),ee=[],X=[];function $(S){ee.push(S)}function R(S){X.push(S)}Hs(f,{args:ne,name:W[wi],store:L,after:$,onError:R});let v;try{v=I.apply(this&&this.$id===e?this:L,ne)}catch(S){throw Hs(X,S),S}return v instanceof Promise?v.then(S=>(Hs(ee,S),S)).catch(S=>(Hs(X,S),Promise.reject(S))):(Hs(ee,v),v)};return W[$o]=!0,W[wi]=j,W},A={_p:n,$id:e,$onAction:Oo.bind(null,f),$patch:T,$reset:E,$subscribe(I,j={}){const W=Oo(d,I,j.detached,()=>ne()),ne=a.run(()=>yt(()=>n.state.value[e],ee=>{(j.flush==="sync"?u:c)&&I({storeId:e,type:$n.direct,events:p},ee)},fs({},l,j)));return W},$dispose:w},L=ct(A);n._s.set(e,L);const O=(n._a&&n._a.runWithContext||Zf)(()=>n._e.run(()=>(a=ql()).run(()=>t({action:x}))));for(const I in O){const j=O[I];if(qe(j)&&!Xf(j)||ns(j))i||(m&&Yf(j)&&(qe(j)?j.value=m[I]:Ki(j,m[I])),n.state.value[e][I]=j);else if(typeof j=="function"){const W=x(j,I);O[I]=W,o.actions[I]=j}}return fs(L,O),fs(Oe(L),O),Object.defineProperty(L,"$state",{get:()=>n.state.value[e],set:I=>{T(j=>{fs(j,I)})}}),n._p.forEach(I=>{fs(L,a.run(()=>I({store:L,app:n._a,pinia:n,options:o})))}),m&&i&&s.hydrate&&s.hydrate(L.$state,m),c=!0,u=!0,L}/*! #__NO_SIDE_EFFECTS__ */function ru(e,t,s){let n,r;const i=typeof t=="function";typeof e=="string"?(n=e,r=i?s:t):(r=e,n=e.id);function a(o,l){const c=lh();return o=o||(c?kt(tu,null):null),o&&si(o),o=eu,o._s.has(n)||(i?nu(n,t,r,o):Qf(n,r,o)),o._s.get(n)}return a.$id=n,a}/*!
22
- * vue-router v4.6.4
23
- * (c) 2025 Eduardo San Martin Morote
24
- * @license MIT
25
- */const Zs=typeof document<"u";function iu(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ep(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&iu(e.default)}const $e=Object.assign;function ki(e,t){const s={};for(const n in t){const r=t[n];s[n]=It(r)?r.map(e):e(r)}return s}const Nn=()=>{},It=Array.isArray;function No(e,t){const s={};for(const n in e)s[n]=n in t?t[n]:e[n];return s}const au=/#/g,tp=/&/g,sp=/\//g,np=/=/g,rp=/\?/g,ou=/\+/g,ip=/%5B/g,ap=/%5D/g,lu=/%5E/g,op=/%60/g,cu=/%7B/g,lp=/%7C/g,uu=/%7D/g,cp=/%20/g;function Ca(e){return e==null?"":encodeURI(""+e).replace(lp,"|").replace(ip,"[").replace(ap,"]")}function up(e){return Ca(e).replace(cu,"{").replace(uu,"}").replace(lu,"^")}function Wi(e){return Ca(e).replace(ou,"%2B").replace(cp,"+").replace(au,"%23").replace(tp,"%26").replace(op,"`").replace(cu,"{").replace(uu,"}").replace(lu,"^")}function dp(e){return Wi(e).replace(np,"%3D")}function hp(e){return Ca(e).replace(au,"%23").replace(rp,"%3F")}function fp(e){return hp(e).replace(sp,"%2F")}function Vn(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const pp=/\/$/,gp=e=>e.replace(pp,"");function Ei(e,t,s="/"){let n,r={},i="",a="";const o=t.indexOf("#");let l=t.indexOf("?");return l=o>=0&&l>o?-1:l,l>=0&&(n=t.slice(0,l),i=t.slice(l,o>0?o:t.length),r=e(i.slice(1))),o>=0&&(n=n||t.slice(0,o),a=t.slice(o,t.length)),n=yp(n??t,s),{fullPath:n+i+a,path:n,query:r,hash:Vn(a)}}function mp(e,t){const s=t.query?e(t.query):"";return t.path+(s&&"?")+s+(t.hash||"")}function Io(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function bp(e,t,s){const n=t.matched.length-1,r=s.matched.length-1;return n>-1&&n===r&&un(t.matched[n],s.matched[r])&&du(t.params,s.params)&&e(t.query)===e(s.query)&&t.hash===s.hash}function un(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function du(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var s in e)if(!vp(e[s],t[s]))return!1;return!0}function vp(e,t){return It(e)?Po(e,t):It(t)?Po(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function Po(e,t){return It(t)?e.length===t.length&&e.every((s,n)=>s===t[n]):e.length===1&&e[0]===t}function yp(e,t){if(e.startsWith("/"))return e;if(!e)return t;const s=t.split("/"),n=e.split("/"),r=n[n.length-1];(r===".."||r===".")&&n.push("");let i=s.length-1,a,o;for(a=0;a<n.length;a++)if(o=n[a],o!==".")if(o==="..")i>1&&i--;else break;return s.slice(0,i).join("/")+"/"+n.slice(a).join("/")}const hs={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let Gi=function(e){return e.pop="pop",e.push="push",e}({}),Si=function(e){return e.back="back",e.forward="forward",e.unknown="",e}({});function _p(e){if(!e)if(Zs){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),gp(e)}const xp=/^[^#]+#/;function wp(e,t){return e.replace(xp,"#")+t}function kp(e,t){const s=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-s.left-(t.left||0),top:n.top-s.top-(t.top||0)}}const ni=()=>({left:window.scrollX,top:window.scrollY});function Ep(e){let t;if("el"in e){const s=e.el,n=typeof s=="string"&&s.startsWith("#"),r=typeof s=="string"?n?document.getElementById(s.slice(1)):document.querySelector(s):s;if(!r)return;t=kp(r,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function Lo(e,t){return(history.state?history.state.position-t:-1)+e}const Zi=new Map;function Sp(e,t){Zi.set(e,t)}function Tp(e){const t=Zi.get(e);return Zi.delete(e),t}function Ap(e){return typeof e=="string"||e&&typeof e=="object"}function hu(e){return typeof e=="string"||typeof e=="symbol"}let Fe=function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e}({});const fu=Symbol("");Fe.MATCHER_NOT_FOUND+"",Fe.NAVIGATION_GUARD_REDIRECT+"",Fe.NAVIGATION_ABORTED+"",Fe.NAVIGATION_CANCELLED+"",Fe.NAVIGATION_DUPLICATED+"";function dn(e,t){return $e(new Error,{type:e,[fu]:!0},t)}function Zt(e,t){return e instanceof Error&&fu in e&&(t==null||!!(e.type&t))}const Rp=["params","query","hash"];function Cp(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const s of Rp)s in e&&(t[s]=e[s]);return JSON.stringify(t,null,2)}function Op(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let n=0;n<s.length;++n){const r=s[n].replace(ou," "),i=r.indexOf("="),a=Vn(i<0?r:r.slice(0,i)),o=i<0?null:Vn(r.slice(i+1));if(a in t){let l=t[a];It(l)||(l=t[a]=[l]),l.push(o)}else t[a]=o}return t}function Mo(e){let t="";for(let s in e){const n=e[s];if(s=dp(s),n==null){n!==void 0&&(t+=(t.length?"&":"")+s);continue}(It(n)?n.map(r=>r&&Wi(r)):[n&&Wi(n)]).forEach(r=>{r!==void 0&&(t+=(t.length?"&":"")+s,r!=null&&(t+="="+r))})}return t}function $p(e){const t={};for(const s in e){const n=e[s];n!==void 0&&(t[s]=It(n)?n.map(r=>r==null?null:""+r):n==null?n:""+n)}return t}const Np=Symbol(""),jo=Symbol(""),ri=Symbol(""),Oa=Symbol(""),Ji=Symbol("");function vn(){let e=[];function t(n){return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)}}function s(){e=[]}return{add:t,list:()=>e.slice(),reset:s}}function gs(e,t,s,n,r,i=a=>a()){const a=n&&(n.enterCallbacks[r]=n.enterCallbacks[r]||[]);return()=>new Promise((o,l)=>{const c=f=>{f===!1?l(dn(Fe.NAVIGATION_ABORTED,{from:s,to:t})):f instanceof Error?l(f):Ap(f)?l(dn(Fe.NAVIGATION_GUARD_REDIRECT,{from:t,to:f})):(a&&n.enterCallbacks[r]===a&&typeof f=="function"&&a.push(f),o())},u=i(()=>e.call(n&&n.instances[r],t,s,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(f=>l(f))})}function Ti(e,t,s,n,r=i=>i()){const i=[];for(const a of e)for(const o in a.components){let l=a.components[o];if(!(t!=="beforeRouteEnter"&&!a.instances[o]))if(iu(l)){const c=(l.__vccOpts||l)[t];c&&i.push(gs(c,s,n,a,o,r))}else{let c=l();i.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${o}" at "${a.path}"`);const d=ep(u)?u.default:u;a.mods[o]=u,a.components[o]=d;const f=(d.__vccOpts||d)[t];return f&&gs(f,s,n,a,o,r)()}))}}return i}function Ip(e,t){const s=[],n=[],r=[],i=Math.max(t.matched.length,e.matched.length);for(let a=0;a<i;a++){const o=t.matched[a];o&&(e.matched.find(c=>un(c,o))?n.push(o):s.push(o));const l=e.matched[a];l&&(t.matched.find(c=>un(c,l))||r.push(l))}return[s,n,r]}/*!
26
- * vue-router v4.6.4
27
- * (c) 2025 Eduardo San Martin Morote
28
- * @license MIT
29
- */let Pp=()=>location.protocol+"//"+location.host;function pu(e,t){const{pathname:s,search:n,hash:r}=t,i=e.indexOf("#");if(i>-1){let a=r.includes(e.slice(i))?e.slice(i).length:1,o=r.slice(a);return o[0]!=="/"&&(o="/"+o),Io(o,"")}return Io(s,e)+n+r}function Lp(e,t,s,n){let r=[],i=[],a=null;const o=({state:f})=>{const p=pu(e,location),m=s.value,_=t.value;let T=0;if(f){if(s.value=p,t.value=f,a&&a===m){a=null;return}T=_?f.position-_.position:0}else n(p);r.forEach(E=>{E(s.value,m,{delta:T,type:Gi.pop,direction:T?T>0?Si.forward:Si.back:Si.unknown})})};function l(){a=s.value}function c(f){r.push(f);const p=()=>{const m=r.indexOf(f);m>-1&&r.splice(m,1)};return i.push(p),p}function u(){if(document.visibilityState==="hidden"){const{history:f}=window;if(!f.state)return;f.replaceState($e({},f.state,{scroll:ni()}),"")}}function d(){for(const f of i)f();i=[],window.removeEventListener("popstate",o),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",o),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:l,listen:c,destroy:d}}function Do(e,t,s,n=!1,r=!1){return{back:e,current:t,forward:s,replaced:n,position:window.history.length,scroll:r?ni():null}}function Mp(e){const{history:t,location:s}=window,n={value:pu(e,s)},r={value:t.state};r.value||i(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function i(l,c,u){const d=e.indexOf("#"),f=d>-1?(s.host&&document.querySelector("base")?e:e.slice(d))+l:Pp()+e+l;try{t[u?"replaceState":"pushState"](c,"",f),r.value=c}catch(p){console.error(p),s[u?"replace":"assign"](f)}}function a(l,c){i(l,$e({},t.state,Do(r.value.back,l,r.value.forward,!0),c,{position:r.value.position}),!0),n.value=l}function o(l,c){const u=$e({},r.value,t.state,{forward:l,scroll:ni()});i(u.current,u,!0),i(l,$e({},Do(n.value,l,null),{position:u.position+1},c),!1),n.value=l}return{location:n,state:r,push:o,replace:a}}function jp(e){e=_p(e);const t=Mp(e),s=Lp(e,t.state,t.location,t.replace);function n(i,a=!0){a||s.pauseListeners(),history.go(i)}const r=$e({location:"",base:e,go:n,createHref:wp.bind(null,e)},t,s);return Object.defineProperty(r,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(r,"state",{enumerable:!0,get:()=>t.state.value}),r}let $s=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e}({});var Ye=function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e}(Ye||{});const Dp={type:$s.Static,value:""},Up=/[a-zA-Z0-9_]/;function Bp(e){if(!e)return[[]];if(e==="/")return[[Dp]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(p){throw new Error(`ERR (${s})/"${c}": ${p}`)}let s=Ye.Static,n=s;const r=[];let i;function a(){i&&r.push(i),i=[]}let o=0,l,c="",u="";function d(){c&&(s===Ye.Static?i.push({type:$s.Static,value:c}):s===Ye.Param||s===Ye.ParamRegExp||s===Ye.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),i.push({type:$s.Param,value:c,regexp:u,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),c="")}function f(){c+=l}for(;o<e.length;){if(l=e[o++],l==="\\"&&s!==Ye.ParamRegExp){n=s,s=Ye.EscapeNext;continue}switch(s){case Ye.Static:l==="/"?(c&&d(),a()):l===":"?(d(),s=Ye.Param):f();break;case Ye.EscapeNext:f(),s=n;break;case Ye.Param:l==="("?s=Ye.ParamRegExp:Up.test(l)?f():(d(),s=Ye.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--);break;case Ye.ParamRegExp:l===")"?u[u.length-1]=="\\"?u=u.slice(0,-1)+l:s=Ye.ParamRegExpEnd:u+=l;break;case Ye.ParamRegExpEnd:d(),s=Ye.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--,u="";break;default:t("Unknown state");break}}return s===Ye.ParamRegExp&&t(`Unfinished custom RegExp for param "${c}"`),d(),a(),r}const Uo="[^/]+?",Hp={sensitive:!1,strict:!1,start:!0,end:!0};var ot=function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e}(ot||{});const Fp=/[.+*?^${}()[\]/\\]/g;function Vp(e,t){const s=$e({},Hp,t),n=[];let r=s.start?"^":"";const i=[];for(const c of e){const u=c.length?[]:[ot.Root];s.strict&&!c.length&&(r+="/");for(let d=0;d<c.length;d++){const f=c[d];let p=ot.Segment+(s.sensitive?ot.BonusCaseSensitive:0);if(f.type===$s.Static)d||(r+="/"),r+=f.value.replace(Fp,"\\$&"),p+=ot.Static;else if(f.type===$s.Param){const{value:m,repeatable:_,optional:T,regexp:E}=f;i.push({name:m,repeatable:_,optional:T});const w=E||Uo;if(w!==Uo){p+=ot.BonusCustomRegExp;try{`${w}`}catch(A){throw new Error(`Invalid custom RegExp for param "${m}" (${w}): `+A.message)}}let x=_?`((?:${w})(?:/(?:${w}))*)`:`(${w})`;d||(x=T&&c.length<2?`(?:/${x})`:"/"+x),T&&(x+="?"),r+=x,p+=ot.Dynamic,T&&(p+=ot.BonusOptional),_&&(p+=ot.BonusRepeatable),w===".*"&&(p+=ot.BonusWildcard)}u.push(p)}n.push(u)}if(s.strict&&s.end){const c=n.length-1;n[c][n[c].length-1]+=ot.BonusStrict}s.strict||(r+="/?"),s.end?r+="$":s.strict&&!r.endsWith("/")&&(r+="(?:/|$)");const a=new RegExp(r,s.sensitive?"":"i");function o(c){const u=c.match(a),d={};if(!u)return null;for(let f=1;f<u.length;f++){const p=u[f]||"",m=i[f-1];d[m.name]=p&&m.repeatable?p.split("/"):p}return d}function l(c){let u="",d=!1;for(const f of e){(!d||!u.endsWith("/"))&&(u+="/"),d=!1;for(const p of f)if(p.type===$s.Static)u+=p.value;else if(p.type===$s.Param){const{value:m,repeatable:_,optional:T}=p,E=m in c?c[m]:"";if(It(E)&&!_)throw new Error(`Provided param "${m}" is an array but it is not repeatable (* or + modifiers)`);const w=It(E)?E.join("/"):E;if(!w)if(T)f.length<2&&(u.endsWith("/")?u=u.slice(0,-1):d=!0);else throw new Error(`Missing required param "${m}"`);u+=w}}return u||"/"}return{re:a,score:n,keys:i,parse:o,stringify:l}}function qp(e,t){let s=0;for(;s<e.length&&s<t.length;){const n=t[s]-e[s];if(n)return n;s++}return e.length<t.length?e.length===1&&e[0]===ot.Static+ot.Segment?-1:1:e.length>t.length?t.length===1&&t[0]===ot.Static+ot.Segment?1:-1:0}function gu(e,t){let s=0;const n=e.score,r=t.score;for(;s<n.length&&s<r.length;){const i=qp(n[s],r[s]);if(i)return i;s++}if(Math.abs(r.length-n.length)===1){if(Bo(n))return 1;if(Bo(r))return-1}return r.length-n.length}function Bo(e){const t=e[e.length-1];return e.length>0&&t[t.length-1]<0}const zp={strict:!1,end:!0,sensitive:!1};function Kp(e,t,s){const n=Vp(Bp(e.path),s),r=$e(n,{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Wp(e,t){const s=[],n=new Map;t=No(zp,t);function r(d){return n.get(d)}function i(d,f,p){const m=!p,_=Fo(d);_.aliasOf=p&&p.record;const T=No(t,d),E=[_];if("alias"in d){const A=typeof d.alias=="string"?[d.alias]:d.alias;for(const L of A)E.push(Fo($e({},_,{components:p?p.record.components:_.components,path:L,aliasOf:p?p.record:_})))}let w,x;for(const A of E){const{path:L}=A;if(f&&L[0]!=="/"){const D=f.record.path,O=D[D.length-1]==="/"?"":"/";A.path=f.record.path+(L&&O+L)}if(w=Kp(A,f,T),p?p.alias.push(w):(x=x||w,x!==w&&x.alias.push(w),m&&d.name&&!Vo(w)&&a(d.name)),mu(w)&&l(w),_.children){const D=_.children;for(let O=0;O<D.length;O++)i(D[O],w,p&&p.children[O])}p=p||w}return x?()=>{a(x)}:Nn}function a(d){if(hu(d)){const f=n.get(d);f&&(n.delete(d),s.splice(s.indexOf(f),1),f.children.forEach(a),f.alias.forEach(a))}else{const f=s.indexOf(d);f>-1&&(s.splice(f,1),d.record.name&&n.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function o(){return s}function l(d){const f=Jp(d,s);s.splice(f,0,d),d.record.name&&!Vo(d)&&n.set(d.record.name,d)}function c(d,f){let p,m={},_,T;if("name"in d&&d.name){if(p=n.get(d.name),!p)throw dn(Fe.MATCHER_NOT_FOUND,{location:d});T=p.record.name,m=$e(Ho(f.params,p.keys.filter(x=>!x.optional).concat(p.parent?p.parent.keys.filter(x=>x.optional):[]).map(x=>x.name)),d.params&&Ho(d.params,p.keys.map(x=>x.name))),_=p.stringify(m)}else if(d.path!=null)_=d.path,p=s.find(x=>x.re.test(_)),p&&(m=p.parse(_),T=p.record.name);else{if(p=f.name?n.get(f.name):s.find(x=>x.re.test(f.path)),!p)throw dn(Fe.MATCHER_NOT_FOUND,{location:d,currentLocation:f});T=p.record.name,m=$e({},f.params,d.params),_=p.stringify(m)}const E=[];let w=p;for(;w;)E.unshift(w.record),w=w.parent;return{name:T,path:_,params:m,matched:E,meta:Zp(E)}}e.forEach(d=>i(d));function u(){s.length=0,n.clear()}return{addRoute:i,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:o,getRecordMatcher:r}}function Ho(e,t){const s={};for(const n of t)n in e&&(s[n]=e[n]);return s}function Fo(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Gp(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Gp(e){const t={},s=e.props||!1;if("component"in e)t.default=s;else for(const n in e.components)t[n]=typeof s=="object"?s[n]:s;return t}function Vo(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Zp(e){return e.reduce((t,s)=>$e(t,s.meta),{})}function Jp(e,t){let s=0,n=t.length;for(;s!==n;){const i=s+n>>1;gu(e,t[i])<0?n=i:s=i+1}const r=Yp(e);return r&&(n=t.lastIndexOf(r,n-1)),n}function Yp(e){let t=e;for(;t=t.parent;)if(mu(t)&&gu(e,t)===0)return t}function mu({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function qo(e){const t=kt(ri),s=kt(Oa),n=Pe(()=>{const l=Ie(e.to);return t.resolve(l)}),r=Pe(()=>{const{matched:l}=n.value,{length:c}=l,u=l[c-1],d=s.matched;if(!u||!d.length)return-1;const f=d.findIndex(un.bind(null,u));if(f>-1)return f;const p=zo(l[c-2]);return c>1&&zo(u)===p&&d[d.length-1].path!==p?d.findIndex(un.bind(null,l[c-2])):f}),i=Pe(()=>r.value>-1&&sg(s.params,n.value.params)),a=Pe(()=>r.value>-1&&r.value===s.matched.length-1&&du(s.params,n.value.params));function o(l={}){if(tg(l)){const c=t[Ie(e.replace)?"replace":"push"](Ie(e.to)).catch(Nn);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:n,href:Pe(()=>n.value.href),isActive:i,isExactActive:a,navigate:o}}function Xp(e){return e.length===1?e[0]:e}const Qp=Je({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:qo,setup(e,{slots:t}){const s=ct(qo(e)),{options:n}=kt(ri),r=Pe(()=>({[Ko(e.activeClass,n.linkActiveClass,"router-link-active")]:s.isActive,[Ko(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:s.isExactActive}));return()=>{const i=t.default&&Xp(t.default(s));return e.custom?i:Ra("a",{"aria-current":s.isExactActive?e.ariaCurrentValue:null,href:s.href,onClick:s.navigate,class:r.value},i)}}}),eg=Qp;function tg(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function sg(e,t){for(const s in t){const n=t[s],r=e[s];if(typeof n=="string"){if(n!==r)return!1}else if(!It(r)||r.length!==n.length||n.some((i,a)=>i.valueOf()!==r[a].valueOf()))return!1}return!0}function zo(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Ko=(e,t,s)=>e??t??s,ng=Je({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:s}){const n=kt(Ji),r=Pe(()=>e.route||n.value),i=kt(jo,0),a=Pe(()=>{let c=Ie(i);const{matched:u}=r.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),o=Pe(()=>r.value.matched[a.value]);yr(jo,Pe(()=>a.value+1)),yr(Np,o),yr(Ji,r);const l=B();return yt(()=>[l.value,o.value,e.name],([c,u,d],[f,p,m])=>{u&&(u.instances[d]=c,p&&p!==u&&c&&c===f&&(u.leaveGuards.size||(u.leaveGuards=p.leaveGuards),u.updateGuards.size||(u.updateGuards=p.updateGuards))),c&&u&&(!p||!un(u,p)||!f)&&(u.enterCallbacks[d]||[]).forEach(_=>_(c))},{flush:"post"}),()=>{const c=r.value,u=e.name,d=o.value,f=d&&d.components[u];if(!f)return Wo(s.default,{Component:f,route:c});const p=d.props[u],m=p?p===!0?c.params:typeof p=="function"?p(c):p:null,T=Ra(f,$e({},m,t,{onVnodeUnmounted:E=>{E.component.isUnmounted&&(d.instances[u]=null)},ref:l}));return Wo(s.default,{Component:T,route:c})||T}}});function Wo(e,t){if(!e)return null;const s=e(t);return s.length===1?s[0]:s}const Yi=ng;function rg(e){const t=Wp(e.routes,e),s=e.parseQuery||Op,n=e.stringifyQuery||Mo,r=e.history,i=vn(),a=vn(),o=vn(),l=Zd(hs);let c=hs;Zs&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=ki.bind(null,M=>""+M),d=ki.bind(null,fp),f=ki.bind(null,Vn);function p(M,ae){let oe,me;return hu(M)?(oe=t.getRecordMatcher(M),me=ae):me=M,t.addRoute(me,oe)}function m(M){const ae=t.getRecordMatcher(M);ae&&t.removeRoute(ae)}function _(){return t.getRoutes().map(M=>M.record)}function T(M){return!!t.getRecordMatcher(M)}function E(M,ae){if(ae=$e({},ae||l.value),typeof M=="string"){const N=Ei(s,M,ae.path),F=t.resolve({path:N.path},ae),G=r.createHref(N.fullPath);return $e(N,F,{params:f(F.params),hash:Vn(N.hash),redirectedFrom:void 0,href:G})}let oe;if(M.path!=null)oe=$e({},M,{path:Ei(s,M.path,ae.path).path});else{const N=$e({},M.params);for(const F in N)N[F]==null&&delete N[F];oe=$e({},M,{params:d(N)}),ae.params=d(ae.params)}const me=t.resolve(oe,ae),Re=M.hash||"";me.params=u(f(me.params));const y=mp(n,$e({},M,{hash:up(Re),path:me.path})),k=r.createHref(y);return $e({fullPath:y,hash:Re,query:n===Mo?$p(M.query):M.query||{}},me,{redirectedFrom:void 0,href:k})}function w(M){return typeof M=="string"?Ei(s,M,l.value.path):$e({},M)}function x(M,ae){if(c!==M)return dn(Fe.NAVIGATION_CANCELLED,{from:ae,to:M})}function A(M){return O(M)}function L(M){return A($e(w(M),{replace:!0}))}function D(M,ae){const oe=M.matched[M.matched.length-1];if(oe&&oe.redirect){const{redirect:me}=oe;let Re=typeof me=="function"?me(M,ae):me;return typeof Re=="string"&&(Re=Re.includes("?")||Re.includes("#")?Re=w(Re):{path:Re},Re.params={}),$e({query:M.query,hash:M.hash,params:Re.path!=null?{}:M.params},Re)}}function O(M,ae){const oe=c=E(M),me=l.value,Re=M.state,y=M.force,k=M.replace===!0,N=D(oe,me);if(N)return O($e(w(N),{state:typeof N=="object"?$e({},Re,N.state):Re,force:y,replace:k}),ae||oe);const F=oe;F.redirectedFrom=ae;let G;return!y&&bp(n,me,oe)&&(G=dn(Fe.NAVIGATION_DUPLICATED,{to:F,from:me}),we(me,me,!0,!1)),(G?Promise.resolve(G):W(F,me)).catch(z=>Zt(z)?Zt(z,Fe.NAVIGATION_GUARD_REDIRECT)?z:ge(z):H(z,F,me)).then(z=>{if(z){if(Zt(z,Fe.NAVIGATION_GUARD_REDIRECT))return O($e({replace:k},w(z.to),{state:typeof z.to=="object"?$e({},Re,z.to.state):Re,force:y}),ae||F)}else z=ee(F,me,!0,k,Re);return ne(F,me,z),z})}function I(M,ae){const oe=x(M,ae);return oe?Promise.reject(oe):Promise.resolve()}function j(M){const ae=P.values().next().value;return ae&&typeof ae.runWithContext=="function"?ae.runWithContext(M):M()}function W(M,ae){let oe;const[me,Re,y]=Ip(M,ae);oe=Ti(me.reverse(),"beforeRouteLeave",M,ae);for(const N of me)N.leaveGuards.forEach(F=>{oe.push(gs(F,M,ae))});const k=I.bind(null,M,ae);return oe.push(k),Q(oe).then(()=>{oe=[];for(const N of i.list())oe.push(gs(N,M,ae));return oe.push(k),Q(oe)}).then(()=>{oe=Ti(Re,"beforeRouteUpdate",M,ae);for(const N of Re)N.updateGuards.forEach(F=>{oe.push(gs(F,M,ae))});return oe.push(k),Q(oe)}).then(()=>{oe=[];for(const N of y)if(N.beforeEnter)if(It(N.beforeEnter))for(const F of N.beforeEnter)oe.push(gs(F,M,ae));else oe.push(gs(N.beforeEnter,M,ae));return oe.push(k),Q(oe)}).then(()=>(M.matched.forEach(N=>N.enterCallbacks={}),oe=Ti(y,"beforeRouteEnter",M,ae,j),oe.push(k),Q(oe))).then(()=>{oe=[];for(const N of a.list())oe.push(gs(N,M,ae));return oe.push(k),Q(oe)}).catch(N=>Zt(N,Fe.NAVIGATION_CANCELLED)?N:Promise.reject(N))}function ne(M,ae,oe){o.list().forEach(me=>j(()=>me(M,ae,oe)))}function ee(M,ae,oe,me,Re){const y=x(M,ae);if(y)return y;const k=ae===hs,N=Zs?history.state:{};oe&&(me||k?r.replace(M.fullPath,$e({scroll:k&&N&&N.scroll},Re)):r.push(M.fullPath,Re)),l.value=M,we(M,ae,oe,k),ge()}let X;function $(){X||(X=r.listen((M,ae,oe)=>{if(!U.listening)return;const me=E(M),Re=D(me,U.currentRoute.value);if(Re){O($e(Re,{replace:!0,force:!0}),me).catch(Nn);return}c=me;const y=l.value;Zs&&Sp(Lo(y.fullPath,oe.delta),ni()),W(me,y).catch(k=>Zt(k,Fe.NAVIGATION_ABORTED|Fe.NAVIGATION_CANCELLED)?k:Zt(k,Fe.NAVIGATION_GUARD_REDIRECT)?(O($e(w(k.to),{force:!0}),me).then(N=>{Zt(N,Fe.NAVIGATION_ABORTED|Fe.NAVIGATION_DUPLICATED)&&!oe.delta&&oe.type===Gi.pop&&r.go(-1,!1)}).catch(Nn),Promise.reject()):(oe.delta&&r.go(-oe.delta,!1),H(k,me,y))).then(k=>{k=k||ee(me,y,!1),k&&(oe.delta&&!Zt(k,Fe.NAVIGATION_CANCELLED)?r.go(-oe.delta,!1):oe.type===Gi.pop&&Zt(k,Fe.NAVIGATION_ABORTED|Fe.NAVIGATION_DUPLICATED)&&r.go(-1,!1)),ne(me,y,k)}).catch(Nn)}))}let R=vn(),v=vn(),S;function H(M,ae,oe){ge(M);const me=v.list();return me.length?me.forEach(Re=>Re(M,ae,oe)):console.error(M),Promise.reject(M)}function ie(){return S&&l.value!==hs?Promise.resolve():new Promise((M,ae)=>{R.add([M,ae])})}function ge(M){return S||(S=!M,$(),R.list().forEach(([ae,oe])=>M?oe(M):ae()),R.reset()),M}function we(M,ae,oe,me){const{scrollBehavior:Re}=e;if(!Zs||!Re)return Promise.resolve();const y=!oe&&Tp(Lo(M.fullPath,0))||(me||!oe)&&history.state&&history.state.scroll||null;return zt().then(()=>Re(M,ae,y)).then(k=>k&&Ep(k)).catch(k=>H(k,M,ae))}const Te=M=>r.go(M);let J;const P=new Set,U={currentRoute:l,listening:!0,addRoute:p,removeRoute:m,clearRoutes:t.clearRoutes,hasRoute:T,getRoutes:_,resolve:E,options:e,push:A,replace:L,go:Te,back:()=>Te(-1),forward:()=>Te(1),beforeEach:i.add,beforeResolve:a.add,afterEach:o.add,onError:v.add,isReady:ie,install(M){M.component("RouterLink",eg),M.component("RouterView",Yi),M.config.globalProperties.$router=U,Object.defineProperty(M.config.globalProperties,"$route",{enumerable:!0,get:()=>Ie(l)}),Zs&&!J&&l.value===hs&&(J=!0,A(r.location).catch(me=>{}));const ae={};for(const me in hs)Object.defineProperty(ae,me,{get:()=>l.value[me],enumerable:!0});M.provide(ri,U),M.provide(Oa,ac(ae)),M.provide(Ji,l);const oe=M.unmount;P.add(M),M.unmount=function(){P.delete(M),P.size<1&&(c=hs,X&&X(),X=null,l.value=hs,J=!1,S=!1),oe()}}};function Q(M){return M.reduce((ae,oe)=>ae.then(()=>j(oe)),Promise.resolve())}return U}function ig(){return kt(ri)}function $a(e){return kt(Oa)}function ii(e,t){var s={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(s[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var r=0,n=Object.getOwnPropertySymbols(e);r<n.length;r++)t.indexOf(n[r])<0&&Object.prototype.propertyIsEnumerable.call(e,n[r])&&(s[n[r]]=e[n[r]]);return s}function ag(e,t,s,n){function r(i){return i instanceof s?i:new s(function(a){a(i)})}return new(s||(s=Promise))(function(i,a){function o(u){try{c(n.next(u))}catch(d){a(d)}}function l(u){try{c(n.throw(u))}catch(d){a(d)}}function c(u){u.done?i(u.value):r(u.value).then(o,l)}c((n=n.apply(e,t||[])).next())})}const og=e=>e?(...t)=>e(...t):(...t)=>fetch(...t);class Na extends Error{constructor(t,s="FunctionsError",n){super(t),this.name=s,this.context=n}toJSON(){return{name:this.name,message:this.message,context:this.context}}}class lg extends Na{constructor(t){super("Failed to send a request to the Edge Function","FunctionsFetchError",t)}}class Go extends Na{constructor(t){super("Relay Error invoking the Edge Function","FunctionsRelayError",t)}}class Zo extends Na{constructor(t){super("Edge Function returned a non-2xx status code","FunctionsHttpError",t)}}var Xi;(function(e){e.Any="any",e.ApNortheast1="ap-northeast-1",e.ApNortheast2="ap-northeast-2",e.ApSouth1="ap-south-1",e.ApSoutheast1="ap-southeast-1",e.ApSoutheast2="ap-southeast-2",e.CaCentral1="ca-central-1",e.EuCentral1="eu-central-1",e.EuWest1="eu-west-1",e.EuWest2="eu-west-2",e.EuWest3="eu-west-3",e.SaEast1="sa-east-1",e.UsEast1="us-east-1",e.UsWest1="us-west-1",e.UsWest2="us-west-2"})(Xi||(Xi={}));class cg{constructor(t,{headers:s={},customFetch:n,region:r=Xi.Any}={}){this.url=t,this.headers=s,this.region=r,this.fetch=og(n)}setAuth(t){this.headers.Authorization=`Bearer ${t}`}invoke(t){return ag(this,arguments,void 0,function*(s,n={}){var r;let i,a;try{const{headers:o,method:l,body:c,signal:u,timeout:d}=n;let f={},{region:p}=n;p||(p=this.region);const m=new URL(`${this.url}/${s}`);p&&p!=="any"&&(f["x-region"]=p,m.searchParams.set("forceFunctionRegion",p));let _;c&&(o&&!Object.prototype.hasOwnProperty.call(o,"Content-Type")||!o)?typeof Blob<"u"&&c instanceof Blob||c instanceof ArrayBuffer?(f["Content-Type"]="application/octet-stream",_=c):typeof c=="string"?(f["Content-Type"]="text/plain",_=c):typeof FormData<"u"&&c instanceof FormData?_=c:(f["Content-Type"]="application/json",_=JSON.stringify(c)):c&&typeof c!="string"&&!(typeof Blob<"u"&&c instanceof Blob)&&!(c instanceof ArrayBuffer)&&!(typeof FormData<"u"&&c instanceof FormData)?_=JSON.stringify(c):_=c;let T=u;d&&(a=new AbortController,i=setTimeout(()=>a.abort(),d),u?(T=a.signal,u.addEventListener("abort",()=>a.abort())):T=a.signal);const E=yield this.fetch(m.toString(),{method:l||"POST",headers:Object.assign(Object.assign(Object.assign({},f),this.headers),o),body:_,signal:T}).catch(L=>{throw new lg(L)}),w=E.headers.get("x-relay-error");if(w&&w==="true")throw new Go(E);if(!E.ok)throw new Zo(E);let x=((r=E.headers.get("Content-Type"))!==null&&r!==void 0?r:"text/plain").split(";")[0].trim(),A;return x==="application/json"?A=yield E.json():x==="application/octet-stream"||x==="application/pdf"?A=yield E.blob():x==="text/event-stream"?A=E:x==="multipart/form-data"?A=yield E.formData():A=yield E.text(),{data:A,error:null,response:E}}catch(o){return{data:null,error:o,response:o instanceof Zo||o instanceof Go?o.context:void 0}}finally{i&&clearTimeout(i)}})}}const bu=3,Jo=e=>Math.min(1e3*2**e,3e4),ug=[520,503],vu=["GET","HEAD","OPTIONS"];var dg=class extends Error{constructor(e){super(e.message),this.name="PostgrestError",this.details=e.details,this.hint=e.hint,this.code=e.code}toJSON(){return{name:this.name,message:this.message,details:this.details,hint:this.hint,code:this.code}}};function Yo(e,t){return new Promise(s=>{if(t!=null&&t.aborted){s();return}const n=setTimeout(()=>{t==null||t.removeEventListener("abort",r),s()},e);function r(){clearTimeout(n),s()}t==null||t.addEventListener("abort",r)})}function hg(e,t,s,n){return!(!n||s>=bu||!vu.includes(e)||!ug.includes(t))}var fg=class{constructor(e){var t,s,n,r,i;this.shouldThrowOnError=!1,this.retryEnabled=!0,this.method=e.method,this.url=e.url,this.headers=new Headers(e.headers),this.schema=e.schema,this.body=e.body,this.shouldThrowOnError=(t=e.shouldThrowOnError)!==null&&t!==void 0?t:!1,this.signal=e.signal,this.isMaybeSingle=(s=e.isMaybeSingle)!==null&&s!==void 0?s:!1,this.shouldStripNulls=(n=e.shouldStripNulls)!==null&&n!==void 0?n:!1,this.urlLengthLimit=(r=e.urlLengthLimit)!==null&&r!==void 0?r:8e3,this.retryEnabled=(i=e.retry)!==null&&i!==void 0?i:!0,e.fetch?this.fetch=e.fetch:this.fetch=fetch}throwOnError(){return this.shouldThrowOnError=!0,this}stripNulls(){if(this.headers.get("Accept")==="text/csv")throw new Error("stripNulls() cannot be used with csv()");return this.shouldStripNulls=!0,this}setHeader(e,t){return this.headers=new Headers(this.headers),this.headers.set(e,t),this}retry(e){return this.retryEnabled=e,this}then(e,t){var s=this;if(this.schema===void 0||(["GET","HEAD"].includes(this.method)?this.headers.set("Accept-Profile",this.schema):this.headers.set("Content-Profile",this.schema)),this.method!=="GET"&&this.method!=="HEAD"&&this.headers.set("Content-Type","application/json"),this.shouldStripNulls){const a=this.headers.get("Accept");a==="application/vnd.pgrst.object+json"?this.headers.set("Accept","application/vnd.pgrst.object+json;nulls=stripped"):(!a||a==="application/json")&&this.headers.set("Accept","application/vnd.pgrst.array+json;nulls=stripped")}const n=this.fetch;let i=(async()=>{let a=0;for(;;){const c=new Headers(s.headers);a>0&&c.set("X-Retry-Count",String(a));let u;try{u=await n(s.url.toString(),{method:s.method,headers:c,body:JSON.stringify(s.body,(d,f)=>typeof f=="bigint"?f.toString():f),signal:s.signal})}catch(d){if((d==null?void 0:d.name)==="AbortError"||(d==null?void 0:d.code)==="ABORT_ERR"||!vu.includes(s.method))throw d;if(s.retryEnabled&&a<bu){const f=Jo(a);a++,await Yo(f,s.signal);continue}throw d}if(hg(s.method,u.status,a,s.retryEnabled)){var o,l;const d=(o=(l=u.headers)===null||l===void 0?void 0:l.get("Retry-After"))!==null&&o!==void 0?o:null,f=d!==null?Math.max(0,parseInt(d,10)||0)*1e3:Jo(a);await u.text(),a++,await Yo(f,s.signal);continue}return await s.processResponse(u)}})();return this.shouldThrowOnError||(i=i.catch(a=>{var o;let l="",c="",u="";const d=a==null?void 0:a.cause;if(d){var f,p,m,_;const w=(f=d==null?void 0:d.message)!==null&&f!==void 0?f:"",x=(p=d==null?void 0:d.code)!==null&&p!==void 0?p:"";l=`${(m=a==null?void 0:a.name)!==null&&m!==void 0?m:"FetchError"}: ${a==null?void 0:a.message}`,l+=`
30
-
31
- Caused by: ${(_=d==null?void 0:d.name)!==null&&_!==void 0?_:"Error"}: ${w}`,x&&(l+=` (${x})`),d!=null&&d.stack&&(l+=`
32
- ${d.stack}`)}else{var T;l=(T=a==null?void 0:a.stack)!==null&&T!==void 0?T:""}const E=this.url.toString().length;return(a==null?void 0:a.name)==="AbortError"||(a==null?void 0:a.code)==="ABORT_ERR"?(u="",c="Request was aborted (timeout or manual cancellation)",E>this.urlLengthLimit&&(c+=`. Note: Your request URL is ${E} characters, which may exceed server limits. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [many IDs])), consider using an RPC function to pass values server-side.`)):((d==null?void 0:d.name)==="HeadersOverflowError"||(d==null?void 0:d.code)==="UND_ERR_HEADERS_OVERFLOW")&&(u="",c="HTTP headers exceeded server limits (typically 16KB)",E>this.urlLengthLimit&&(c+=`. Your request URL is ${E} characters. If selecting many fields, consider using views. If filtering with large arrays (e.g., .in('id', [200+ IDs])), consider using an RPC function instead.`)),{success:!1,error:{message:`${(o=a==null?void 0:a.name)!==null&&o!==void 0?o:"FetchError"}: ${a==null?void 0:a.message}`,details:l,hint:c,code:u},data:null,count:null,status:0,statusText:""}})),i.then(e,t)}async processResponse(e){var t=this;let s=null,n=null,r=null,i=e.status,a=e.statusText;if(e.ok){var o,l;if(t.method!=="HEAD"){var c;const f=await e.text();f===""||(t.headers.get("Accept")==="text/csv"||t.headers.get("Accept")&&(!((c=t.headers.get("Accept"))===null||c===void 0)&&c.includes("application/vnd.pgrst.plan+text"))?n=f:n=JSON.parse(f))}const u=(o=t.headers.get("Prefer"))===null||o===void 0?void 0:o.match(/count=(exact|planned|estimated)/),d=(l=e.headers.get("content-range"))===null||l===void 0?void 0:l.split("/");u&&d&&d.length>1&&(r=parseInt(d[1])),t.isMaybeSingle&&Array.isArray(n)&&(n.length>1?(s={code:"PGRST116",details:`Results contain ${n.length} rows, application/vnd.pgrst.object+json requires 1 row`,hint:null,message:"JSON object requested, multiple (or no) rows returned"},n=null,r=null,i=406,a="Not Acceptable"):n.length===1?n=n[0]:n=null)}else{const u=await e.text();try{s=JSON.parse(u),Array.isArray(s)&&e.status===404&&(n=[],s=null,i=200,a="OK")}catch{e.status===404&&u===""?(i=204,a="No Content"):s={message:u}}if(s&&t.shouldThrowOnError)throw new dg(s)}return{success:s===null,error:s,data:n,count:r,status:i,statusText:a}}returns(){return this}overrideTypes(){return this}},pg=class extends fg{select(e){let t=!1;const s=(e??"*").split("").map(n=>/\s/.test(n)&&!t?"":(n==='"'&&(t=!t),n)).join("");return this.url.searchParams.set("select",s),this.headers.append("Prefer","return=representation"),this}order(e,{ascending:t=!0,nullsFirst:s,foreignTable:n,referencedTable:r=n}={}){const i=r?`${r}.order`:"order",a=this.url.searchParams.get(i);return this.url.searchParams.set(i,`${a?`${a},`:""}${e}.${t?"asc":"desc"}${s===void 0?"":s?".nullsfirst":".nullslast"}`),this}limit(e,{foreignTable:t,referencedTable:s=t}={}){const n=typeof s>"u"?"limit":`${s}.limit`;return this.url.searchParams.set(n,`${e}`),this}range(e,t,{foreignTable:s,referencedTable:n=s}={}){const r=typeof n>"u"?"offset":`${n}.offset`,i=typeof n>"u"?"limit":`${n}.limit`;return this.url.searchParams.set(r,`${e}`),this.url.searchParams.set(i,`${t-e+1}`),this}abortSignal(e){return this.signal=e,this}single(){return this.headers.set("Accept","application/vnd.pgrst.object+json"),this}maybeSingle(){return this.isMaybeSingle=!0,this}csv(){return this.headers.set("Accept","text/csv"),this}geojson(){return this.headers.set("Accept","application/geo+json"),this}explain({analyze:e=!1,verbose:t=!1,settings:s=!1,buffers:n=!1,wal:r=!1,format:i="text"}={}){var a;const o=[e?"analyze":null,t?"verbose":null,s?"settings":null,n?"buffers":null,r?"wal":null].filter(Boolean).join("|"),l=(a=this.headers.get("Accept"))!==null&&a!==void 0?a:"application/json";return this.headers.set("Accept",`application/vnd.pgrst.plan+${i}; for="${l}"; options=${o};`),i==="json"?this:this}rollback(){return this.headers.append("Prefer","tx=rollback"),this}returns(){return this}maxAffected(e){return this.headers.append("Prefer","handling=strict"),this.headers.append("Prefer",`max-affected=${e}`),this}};const Xo=new RegExp("[,()]");var Js=class extends pg{eq(e,t){return this.url.searchParams.append(e,`eq.${t}`),this}neq(e,t){return this.url.searchParams.append(e,`neq.${t}`),this}gt(e,t){return this.url.searchParams.append(e,`gt.${t}`),this}gte(e,t){return this.url.searchParams.append(e,`gte.${t}`),this}lt(e,t){return this.url.searchParams.append(e,`lt.${t}`),this}lte(e,t){return this.url.searchParams.append(e,`lte.${t}`),this}like(e,t){return this.url.searchParams.append(e,`like.${t}`),this}likeAllOf(e,t){return this.url.searchParams.append(e,`like(all).{${t.join(",")}}`),this}likeAnyOf(e,t){return this.url.searchParams.append(e,`like(any).{${t.join(",")}}`),this}ilike(e,t){return this.url.searchParams.append(e,`ilike.${t}`),this}ilikeAllOf(e,t){return this.url.searchParams.append(e,`ilike(all).{${t.join(",")}}`),this}ilikeAnyOf(e,t){return this.url.searchParams.append(e,`ilike(any).{${t.join(",")}}`),this}regexMatch(e,t){return this.url.searchParams.append(e,`match.${t}`),this}regexIMatch(e,t){return this.url.searchParams.append(e,`imatch.${t}`),this}is(e,t){return this.url.searchParams.append(e,`is.${t}`),this}isDistinct(e,t){return this.url.searchParams.append(e,`isdistinct.${t}`),this}in(e,t){const s=Array.from(new Set(t)).map(n=>typeof n=="string"&&Xo.test(n)?`"${n}"`:`${n}`).join(",");return this.url.searchParams.append(e,`in.(${s})`),this}notIn(e,t){const s=Array.from(new Set(t)).map(n=>typeof n=="string"&&Xo.test(n)?`"${n}"`:`${n}`).join(",");return this.url.searchParams.append(e,`not.in.(${s})`),this}contains(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cs.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cs.{${t.join(",")}}`):this.url.searchParams.append(e,`cs.${JSON.stringify(t)}`),this}containedBy(e,t){return typeof t=="string"?this.url.searchParams.append(e,`cd.${t}`):Array.isArray(t)?this.url.searchParams.append(e,`cd.{${t.join(",")}}`):this.url.searchParams.append(e,`cd.${JSON.stringify(t)}`),this}rangeGt(e,t){return this.url.searchParams.append(e,`sr.${t}`),this}rangeGte(e,t){return this.url.searchParams.append(e,`nxl.${t}`),this}rangeLt(e,t){return this.url.searchParams.append(e,`sl.${t}`),this}rangeLte(e,t){return this.url.searchParams.append(e,`nxr.${t}`),this}rangeAdjacent(e,t){return this.url.searchParams.append(e,`adj.${t}`),this}overlaps(e,t){return typeof t=="string"?this.url.searchParams.append(e,`ov.${t}`):this.url.searchParams.append(e,`ov.{${t.join(",")}}`),this}textSearch(e,t,{config:s,type:n}={}){let r="";n==="plain"?r="pl":n==="phrase"?r="ph":n==="websearch"&&(r="w");const i=s===void 0?"":`(${s})`;return this.url.searchParams.append(e,`${r}fts${i}.${t}`),this}match(e){return Object.entries(e).filter(([t,s])=>s!==void 0).forEach(([t,s])=>{this.url.searchParams.append(t,`eq.${s}`)}),this}not(e,t,s){return this.url.searchParams.append(e,`not.${t}.${s}`),this}or(e,{foreignTable:t,referencedTable:s=t}={}){const n=s?`${s}.or`:"or";return this.url.searchParams.append(n,`(${e})`),this}filter(e,t,s){return this.url.searchParams.append(e,`${t}.${s}`),this}},gg=class{constructor(e,{headers:t={},schema:s,fetch:n,urlLengthLimit:r=8e3,retry:i}){this.url=e,this.headers=new Headers(t),this.schema=s,this.fetch=n,this.urlLengthLimit=r,this.retry=i}cloneRequestState(){return{url:new URL(this.url.toString()),headers:new Headers(this.headers)}}select(e,t){const{head:s=!1,count:n}=t??{},r=s?"HEAD":"GET";let i=!1;const a=(e??"*").split("").map(c=>/\s/.test(c)&&!i?"":(c==='"'&&(i=!i),c)).join(""),{url:o,headers:l}=this.cloneRequestState();return o.searchParams.set("select",a),n&&l.append("Prefer",`count=${n}`),new Js({method:r,url:o,headers:l,schema:this.schema,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}insert(e,{count:t,defaultToNull:s=!0}={}){var n;const r="POST",{url:i,headers:a}=this.cloneRequestState();if(t&&a.append("Prefer",`count=${t}`),s||a.append("Prefer","missing=default"),Array.isArray(e)){const o=e.reduce((l,c)=>l.concat(Object.keys(c)),[]);if(o.length>0){const l=[...new Set(o)].map(c=>`"${c}"`);i.searchParams.set("columns",l.join(","))}}return new Js({method:r,url:i,headers:a,schema:this.schema,body:e,fetch:(n=this.fetch)!==null&&n!==void 0?n:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}upsert(e,{onConflict:t,ignoreDuplicates:s=!1,count:n,defaultToNull:r=!0}={}){var i;const a="POST",{url:o,headers:l}=this.cloneRequestState();if(l.append("Prefer",`resolution=${s?"ignore":"merge"}-duplicates`),t!==void 0&&o.searchParams.set("on_conflict",t),n&&l.append("Prefer",`count=${n}`),r||l.append("Prefer","missing=default"),Array.isArray(e)){const c=e.reduce((u,d)=>u.concat(Object.keys(d)),[]);if(c.length>0){const u=[...new Set(c)].map(d=>`"${d}"`);o.searchParams.set("columns",u.join(","))}}return new Js({method:a,url:o,headers:l,schema:this.schema,body:e,fetch:(i=this.fetch)!==null&&i!==void 0?i:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}update(e,{count:t}={}){var s;const n="PATCH",{url:r,headers:i}=this.cloneRequestState();return t&&i.append("Prefer",`count=${t}`),new Js({method:n,url:r,headers:i,schema:this.schema,body:e,fetch:(s=this.fetch)!==null&&s!==void 0?s:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}delete({count:e}={}){var t;const s="DELETE",{url:n,headers:r}=this.cloneRequestState();return e&&r.append("Prefer",`count=${e}`),new Js({method:s,url:n,headers:r,schema:this.schema,fetch:(t=this.fetch)!==null&&t!==void 0?t:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};function qn(e){"@babel/helpers - typeof";return qn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},qn(e)}function mg(e,t){if(qn(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var n=s.call(e,t);if(qn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function bg(e){var t=mg(e,"string");return qn(t)=="symbol"?t:t+""}function vg(e,t,s){return(t=bg(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function Qo(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,n)}return s}function or(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?Qo(Object(s),!0).forEach(function(n){vg(e,n,s[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):Qo(Object(s)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(s,n))})}return e}var yg=class yu{constructor(t,{headers:s={},schema:n,fetch:r,timeout:i,urlLengthLimit:a=8e3,retry:o}={}){this.url=t,this.headers=new Headers(s),this.schemaName=n,this.urlLengthLimit=a;const l=r??globalThis.fetch;i!==void 0&&i>0?this.fetch=(c,u)=>{const d=new AbortController,f=setTimeout(()=>d.abort(),i),p=u==null?void 0:u.signal;if(p){if(p.aborted)return clearTimeout(f),l(c,u);const m=()=>{clearTimeout(f),d.abort()};return p.addEventListener("abort",m,{once:!0}),l(c,or(or({},u),{},{signal:d.signal})).finally(()=>{clearTimeout(f),p.removeEventListener("abort",m)})}return l(c,or(or({},u),{},{signal:d.signal})).finally(()=>clearTimeout(f))}:this.fetch=l,this.retry=o}from(t){if(!t||typeof t!="string"||t.trim()==="")throw new Error("Invalid relation name: relation must be a non-empty string.");return new gg(new URL(`${this.url}/${t}`),{headers:new Headers(this.headers),schema:this.schemaName,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}schema(t){return new yu(this.url,{headers:this.headers,schema:t,fetch:this.fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}rpc(t,s={},{head:n=!1,get:r=!1,count:i}={}){var a;let o;const l=new URL(`${this.url}/rpc/${t}`);let c;const u=p=>p!==null&&typeof p=="object"&&(!Array.isArray(p)||p.some(u)),d=n&&Object.values(s).some(u);d?(o="POST",c=s):n||r?(o=n?"HEAD":"GET",Object.entries(s).filter(([p,m])=>m!==void 0).map(([p,m])=>[p,Array.isArray(m)?`{${m.join(",")}}`:`${m}`]).forEach(([p,m])=>{l.searchParams.append(p,m)})):(o="POST",c=s);const f=new Headers(this.headers);return d?f.set("Prefer",i?`count=${i},return=minimal`:"return=minimal"):i&&f.set("Prefer",`count=${i}`),new Js({method:o,url:l,headers:f,schema:this.schemaName,body:c,fetch:(a=this.fetch)!==null&&a!==void 0?a:fetch,urlLengthLimit:this.urlLengthLimit,retry:this.retry})}};class _g{constructor(){}static detectEnvironment(){var t;if(typeof WebSocket<"u")return{type:"native",wsConstructor:WebSocket};const s=globalThis;if(typeof globalThis<"u"&&typeof s.WebSocket<"u")return{type:"native",wsConstructor:s.WebSocket};const n=typeof global<"u"?global:void 0;if(n&&typeof n.WebSocket<"u")return{type:"native",wsConstructor:n.WebSocket};if(typeof globalThis<"u"&&typeof s.WebSocketPair<"u"&&typeof globalThis.WebSocket>"u")return{type:"cloudflare",error:"Cloudflare Workers detected. WebSocket clients are not supported in Cloudflare Workers.",workaround:"Use Cloudflare Workers WebSocket API for server-side WebSocket handling, or deploy to a different runtime."};if(typeof globalThis<"u"&&s.EdgeRuntime||typeof navigator<"u"&&(!((t=navigator.userAgent)===null||t===void 0)&&t.includes("Vercel-Edge")))return{type:"unsupported",error:"Edge runtime detected (Vercel Edge/Netlify Edge). WebSockets are not supported in edge functions.",workaround:"Use serverless functions or a different deployment target for WebSocket functionality."};const r=globalThis.process;if(r){const i=r.versions;if(i&&i.node){const a=i.node,o=parseInt(a.replace(/^v/,"").split(".")[0]);return o>=22?typeof globalThis.WebSocket<"u"?{type:"native",wsConstructor:globalThis.WebSocket}:{type:"unsupported",error:`Node.js ${o} detected but native WebSocket not found.`,workaround:"Provide a WebSocket implementation via the transport option."}:{type:"unsupported",error:`Node.js ${o} detected without native WebSocket support.`,workaround:`For Node.js < 22, install "ws" package and provide it via the transport option:
33
- import ws from "ws"
34
- new RealtimeClient(url, { transport: ws })`}}}return{type:"unsupported",error:"Unknown JavaScript runtime without WebSocket support.",workaround:"Ensure you're running in a supported environment (browser, Node.js, Deno) or provide a custom WebSocket implementation."}}static getWebSocketConstructor(){const t=this.detectEnvironment();if(t.wsConstructor)return t.wsConstructor;let s=t.error||"WebSocket not supported in this environment.";throw t.workaround&&(s+=`
35
-
36
- Suggested solution: ${t.workaround}`),new Error(s)}static isWebSocketSupported(){try{const t=this.detectEnvironment();return t.type==="native"||t.type==="ws"}catch{return!1}}}const xg="2.105.4",wg=`realtime-js/${xg}`,kg="1.0.0",_u="2.0.0",Eg=_u,Sg=1e4,Tg=100,bs={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},xu={close:"phx_close",error:"phx_error",join:"phx_join",leave:"phx_leave",access_token:"access_token"},Qi={connecting:"connecting",closing:"closing",closed:"closed"};class Ag{constructor(t){this.HEADER_LENGTH=1,this.USER_BROADCAST_PUSH_META_LENGTH=6,this.KINDS={userBroadcastPush:3,userBroadcast:4},this.BINARY_ENCODING=0,this.JSON_ENCODING=1,this.BROADCAST_EVENT="broadcast",this.allowedMetadataKeys=[],this.allowedMetadataKeys=t??[]}encode(t,s){if(t.event===this.BROADCAST_EVENT&&!(t.payload instanceof ArrayBuffer)&&typeof t.payload.event=="string")return s(this._binaryEncodeUserBroadcastPush(t));let n=[t.join_ref,t.ref,t.topic,t.event,t.payload];return s(JSON.stringify(n))}_binaryEncodeUserBroadcastPush(t){var s;return this._isArrayBuffer((s=t.payload)===null||s===void 0?void 0:s.payload)?this._encodeBinaryUserBroadcastPush(t):this._encodeJsonUserBroadcastPush(t)}_encodeBinaryUserBroadcastPush(t){var s,n;const r=(n=(s=t.payload)===null||s===void 0?void 0:s.payload)!==null&&n!==void 0?n:new ArrayBuffer(0);return this._encodeUserBroadcastPush(t,this.BINARY_ENCODING,r)}_encodeJsonUserBroadcastPush(t){var s,n;const r=(n=(s=t.payload)===null||s===void 0?void 0:s.payload)!==null&&n!==void 0?n:{},a=new TextEncoder().encode(JSON.stringify(r)).buffer;return this._encodeUserBroadcastPush(t,this.JSON_ENCODING,a)}_encodeUserBroadcastPush(t,s,n){var r,i;const a=t.topic,o=(r=t.ref)!==null&&r!==void 0?r:"",l=(i=t.join_ref)!==null&&i!==void 0?i:"",c=t.payload.event,u=this.allowedMetadataKeys?this._pick(t.payload,this.allowedMetadataKeys):{},d=Object.keys(u).length===0?"":JSON.stringify(u);if(l.length>255)throw new Error(`joinRef length ${l.length} exceeds maximum of 255`);if(o.length>255)throw new Error(`ref length ${o.length} exceeds maximum of 255`);if(a.length>255)throw new Error(`topic length ${a.length} exceeds maximum of 255`);if(c.length>255)throw new Error(`userEvent length ${c.length} exceeds maximum of 255`);if(d.length>255)throw new Error(`metadata length ${d.length} exceeds maximum of 255`);const f=this.USER_BROADCAST_PUSH_META_LENGTH+l.length+o.length+a.length+c.length+d.length,p=new ArrayBuffer(this.HEADER_LENGTH+f);let m=new DataView(p),_=0;m.setUint8(_++,this.KINDS.userBroadcastPush),m.setUint8(_++,l.length),m.setUint8(_++,o.length),m.setUint8(_++,a.length),m.setUint8(_++,c.length),m.setUint8(_++,d.length),m.setUint8(_++,s),Array.from(l,E=>m.setUint8(_++,E.charCodeAt(0))),Array.from(o,E=>m.setUint8(_++,E.charCodeAt(0))),Array.from(a,E=>m.setUint8(_++,E.charCodeAt(0))),Array.from(c,E=>m.setUint8(_++,E.charCodeAt(0))),Array.from(d,E=>m.setUint8(_++,E.charCodeAt(0)));var T=new Uint8Array(p.byteLength+n.byteLength);return T.set(new Uint8Array(p),0),T.set(new Uint8Array(n),p.byteLength),T.buffer}decode(t,s){if(this._isArrayBuffer(t)){let n=this._binaryDecode(t);return s(n)}if(typeof t=="string"){const n=JSON.parse(t),[r,i,a,o,l]=n;return s({join_ref:r,ref:i,topic:a,event:o,payload:l})}return s({})}_binaryDecode(t){const s=new DataView(t),n=s.getUint8(0),r=new TextDecoder;switch(n){case this.KINDS.userBroadcast:return this._decodeUserBroadcast(t,s,r)}}_decodeUserBroadcast(t,s,n){const r=s.getUint8(1),i=s.getUint8(2),a=s.getUint8(3),o=s.getUint8(4);let l=this.HEADER_LENGTH+4;const c=n.decode(t.slice(l,l+r));l=l+r;const u=n.decode(t.slice(l,l+i));l=l+i;const d=n.decode(t.slice(l,l+a));l=l+a;const f=t.slice(l,t.byteLength),p=o===this.JSON_ENCODING?JSON.parse(n.decode(f)):f,m={type:this.BROADCAST_EVENT,event:u,payload:p};return a>0&&(m.meta=JSON.parse(d)),{join_ref:null,ref:null,topic:c,event:this.BROADCAST_EVENT,payload:m}}_isArrayBuffer(t){var s;return t instanceof ArrayBuffer||((s=t==null?void 0:t.constructor)===null||s===void 0?void 0:s.name)==="ArrayBuffer"}_pick(t,s){return!t||typeof t!="object"?{}:Object.fromEntries(Object.entries(t).filter(([n])=>s.includes(n)))}}var De;(function(e){e.abstime="abstime",e.bool="bool",e.date="date",e.daterange="daterange",e.float4="float4",e.float8="float8",e.int2="int2",e.int4="int4",e.int4range="int4range",e.int8="int8",e.int8range="int8range",e.json="json",e.jsonb="jsonb",e.money="money",e.numeric="numeric",e.oid="oid",e.reltime="reltime",e.text="text",e.time="time",e.timestamp="timestamp",e.timestamptz="timestamptz",e.timetz="timetz",e.tsrange="tsrange",e.tstzrange="tstzrange"})(De||(De={}));const el=(e,t,s={})=>{var n;const r=(n=s.skipTypes)!==null&&n!==void 0?n:[];return t?Object.keys(t).reduce((i,a)=>(i[a]=Rg(a,e,t,r),i),{}):{}},Rg=(e,t,s,n)=>{const r=t.find(o=>o.name===e),i=r==null?void 0:r.type,a=s[e];return i&&!n.includes(i)?wu(i,a):ea(a)},wu=(e,t)=>{if(e.charAt(0)==="_"){const s=e.slice(1,e.length);return Ng(t,s)}switch(e){case De.bool:return Cg(t);case De.float4:case De.float8:case De.int2:case De.int4:case De.int8:case De.numeric:case De.oid:return Og(t);case De.json:case De.jsonb:return $g(t);case De.timestamp:return Ig(t);case De.abstime:case De.date:case De.daterange:case De.int4range:case De.int8range:case De.money:case De.reltime:case De.text:case De.time:case De.timestamptz:case De.timetz:case De.tsrange:case De.tstzrange:return ea(t);default:return ea(t)}},ea=e=>e,Cg=e=>{switch(e){case"t":return!0;case"f":return!1;default:return e}},Og=e=>{if(typeof e=="string"){const t=parseFloat(e);if(!Number.isNaN(t))return t}return e},$g=e=>{if(typeof e=="string")try{return JSON.parse(e)}catch{return e}return e},Ng=(e,t)=>{if(typeof e!="string")return e;const s=e.length-1,n=e[s];if(e[0]==="{"&&n==="}"){let i;const a=e.slice(1,s);try{i=JSON.parse("["+a+"]")}catch{i=a?a.split(","):[]}return i.map(o=>wu(t,o))}return e},Ig=e=>typeof e=="string"?e.replace(" ","T"):e,ku=e=>{const t=new URL(e);return t.protocol=t.protocol.replace(/^ws/i,"http"),t.pathname=t.pathname.replace(/\/+$/,"").replace(/\/socket\/websocket$/i,"").replace(/\/socket$/i,"").replace(/\/websocket$/i,""),t.pathname===""||t.pathname==="/"?t.pathname="/api/broadcast":t.pathname=t.pathname+"/api/broadcast",t.href};var In=e=>typeof e=="function"?e:function(){return e},Pg=typeof self<"u"?self:null,Ys=typeof window<"u"?window:null,Ut=Pg||Ys||globalThis,Lg="2.0.0",Mg=1e4,jg=1e3,Ft={connecting:0,open:1,closing:2,closed:3},ht={closed:"closed",errored:"errored",joined:"joined",joining:"joining",leaving:"leaving"},Xt={close:"phx_close",error:"phx_error",join:"phx_join",reply:"phx_reply",leave:"phx_leave"},ta={longpoll:"longpoll",websocket:"websocket"},Dg={complete:4},sa="base64url.bearer.phx.",lr=class{constructor(e,t,s,n){this.channel=e,this.event=t,this.payload=s||function(){return{}},this.receivedResp=null,this.timeout=n,this.timeoutTimer=null,this.recHooks=[],this.sent=!1,this.ref=void 0}resend(e){this.timeout=e,this.reset(),this.send()}send(){this.hasReceived("timeout")||(this.startTimeout(),this.sent=!0,this.channel.socket.push({topic:this.channel.topic,event:this.event,payload:this.payload(),ref:this.ref,join_ref:this.channel.joinRef()}))}receive(e,t){return this.hasReceived(e)&&t(this.receivedResp.response),this.recHooks.push({status:e,callback:t}),this}reset(){this.cancelRefEvent(),this.ref=null,this.refEvent=null,this.receivedResp=null,this.sent=!1}destroy(){this.cancelRefEvent(),this.cancelTimeout()}matchReceive({status:e,response:t,_ref:s}){this.recHooks.filter(n=>n.status===e).forEach(n=>n.callback(t))}cancelRefEvent(){this.refEvent&&this.channel.off(this.refEvent)}cancelTimeout(){clearTimeout(this.timeoutTimer),this.timeoutTimer=null}startTimeout(){this.timeoutTimer&&this.cancelTimeout(),this.ref=this.channel.socket.makeRef(),this.refEvent=this.channel.replyEventName(this.ref),this.channel.on(this.refEvent,e=>{this.cancelRefEvent(),this.cancelTimeout(),this.receivedResp=e,this.matchReceive(e)}),this.timeoutTimer=setTimeout(()=>{this.trigger("timeout",{})},this.timeout)}hasReceived(e){return this.receivedResp&&this.receivedResp.status===e}trigger(e,t){this.channel.trigger(this.refEvent,{status:e,response:t})}},Eu=class{constructor(e,t){this.callback=e,this.timerCalc=t,this.timer=void 0,this.tries=0}reset(){this.tries=0,clearTimeout(this.timer)}scheduleTimeout(){clearTimeout(this.timer),this.timer=setTimeout(()=>{this.tries=this.tries+1,this.callback()},this.timerCalc(this.tries+1))}},Ug=class{constructor(e,t,s){this.state=ht.closed,this.topic=e,this.params=In(t||{}),this.socket=s,this.bindings=[],this.bindingRef=0,this.timeout=this.socket.timeout,this.joinedOnce=!1,this.joinPush=new lr(this,Xt.join,this.params,this.timeout),this.pushBuffer=[],this.stateChangeRefs=[],this.rejoinTimer=new Eu(()=>{this.socket.isConnected()&&this.rejoin()},this.socket.rejoinAfterMs),this.stateChangeRefs.push(this.socket.onError(()=>this.rejoinTimer.reset())),this.stateChangeRefs.push(this.socket.onOpen(()=>{this.rejoinTimer.reset(),this.isErrored()&&this.rejoin()})),this.joinPush.receive("ok",()=>{this.state=ht.joined,this.rejoinTimer.reset(),this.pushBuffer.forEach(n=>n.send()),this.pushBuffer=[]}),this.joinPush.receive("error",n=>{this.state=ht.errored,this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,n),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.onClose(()=>{this.rejoinTimer.reset(),this.socket.hasLogger()&&this.socket.log("channel",`close ${this.topic}`),this.state=ht.closed,this.socket.remove(this)}),this.onError(n=>{this.socket.hasLogger()&&this.socket.log("channel",`error ${this.topic}`,n),this.isJoining()&&this.joinPush.reset(),this.state=ht.errored,this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.joinPush.receive("timeout",()=>{this.socket.hasLogger()&&this.socket.log("channel",`timeout ${this.topic}`,this.joinPush.timeout),new lr(this,Xt.leave,In({}),this.timeout).send(),this.state=ht.errored,this.joinPush.reset(),this.socket.isConnected()&&this.rejoinTimer.scheduleTimeout()}),this.on(Xt.reply,(n,r)=>{this.trigger(this.replyEventName(r),n)})}join(e=this.timeout){if(this.joinedOnce)throw new Error("tried to join multiple times. 'join' can only be called a single time per channel instance");return this.timeout=e,this.joinedOnce=!0,this.rejoin(),this.joinPush}teardown(){this.pushBuffer.forEach(e=>e.destroy()),this.pushBuffer=[],this.rejoinTimer.reset(),this.joinPush.destroy(),this.state=ht.closed,this.bindings=[]}onClose(e){this.on(Xt.close,e)}onError(e){return this.on(Xt.error,t=>e(t))}on(e,t){let s=this.bindingRef++;return this.bindings.push({event:e,ref:s,callback:t}),s}off(e,t){this.bindings=this.bindings.filter(s=>!(s.event===e&&(typeof t>"u"||t===s.ref)))}canPush(){return this.socket.isConnected()&&this.isJoined()}push(e,t,s=this.timeout){if(t=t||{},!this.joinedOnce)throw new Error(`tried to push '${e}' to '${this.topic}' before joining. Use channel.join() before pushing events`);let n=new lr(this,e,function(){return t},s);return this.canPush()?n.send():(n.startTimeout(),this.pushBuffer.push(n)),n}leave(e=this.timeout){this.rejoinTimer.reset(),this.joinPush.cancelTimeout(),this.state=ht.leaving;let t=()=>{this.socket.hasLogger()&&this.socket.log("channel",`leave ${this.topic}`),this.trigger(Xt.close,"leave")},s=new lr(this,Xt.leave,In({}),e);return s.receive("ok",()=>t()).receive("timeout",()=>t()),s.send(),this.canPush()||s.trigger("ok",{}),s}onMessage(e,t,s){return t}filterBindings(e,t,s){return!0}isMember(e,t,s,n){return this.topic!==e?!1:n&&n!==this.joinRef()?(this.socket.hasLogger()&&this.socket.log("channel","dropping outdated message",{topic:e,event:t,payload:s,joinRef:n}),!1):!0}joinRef(){return this.joinPush.ref}rejoin(e=this.timeout){this.isLeaving()||(this.socket.leaveOpenTopic(this.topic),this.state=ht.joining,this.joinPush.resend(e))}trigger(e,t,s,n){let r=this.onMessage(e,t,s,n);if(t&&!r)throw new Error("channel onMessage callbacks must return the payload, modified or unmodified");let i=this.bindings.filter(a=>a.event===e&&this.filterBindings(a,t,s));for(let a=0;a<i.length;a++)i[a].callback(r,s,n||this.joinRef())}replyEventName(e){return`chan_reply_${e}`}isClosed(){return this.state===ht.closed}isErrored(){return this.state===ht.errored}isJoined(){return this.state===ht.joined}isJoining(){return this.state===ht.joining}isLeaving(){return this.state===ht.leaving}},Nr=class{static request(e,t,s,n,r,i,a){if(Ut.XDomainRequest){let o=new Ut.XDomainRequest;return this.xdomainRequest(o,e,t,n,r,i,a)}else if(Ut.XMLHttpRequest){let o=new Ut.XMLHttpRequest;return this.xhrRequest(o,e,t,s,n,r,i,a)}else{if(Ut.fetch&&Ut.AbortController)return this.fetchRequest(e,t,s,n,r,i,a);throw new Error("No suitable XMLHttpRequest implementation found")}}static fetchRequest(e,t,s,n,r,i,a){let o={method:e,headers:s,body:n},l=null;return r&&(l=new AbortController,setTimeout(()=>l.abort(),r),o.signal=l.signal),Ut.fetch(t,o).then(c=>c.text()).then(c=>this.parseJSON(c)).then(c=>a&&a(c)).catch(c=>{c.name==="AbortError"&&i?i():a&&a(null)}),l}static xdomainRequest(e,t,s,n,r,i,a){return e.timeout=r,e.open(t,s),e.onload=()=>{let o=this.parseJSON(e.responseText);a&&a(o)},i&&(e.ontimeout=i),e.onprogress=()=>{},e.send(n),e}static xhrRequest(e,t,s,n,r,i,a,o){e.open(t,s,!0),e.timeout=i;for(let[l,c]of Object.entries(n))e.setRequestHeader(l,c);return e.onerror=()=>o&&o(null),e.onreadystatechange=()=>{if(e.readyState===Dg.complete&&o){let l=this.parseJSON(e.responseText);o(l)}},a&&(e.ontimeout=a),e.send(r),e}static parseJSON(e){if(!e||e==="")return null;try{return JSON.parse(e)}catch{return console&&console.log("failed to parse JSON response",e),null}}static serialize(e,t){let s=[];for(var n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let r=t?`${t}[${n}]`:n,i=e[n];typeof i=="object"?s.push(this.serialize(i,r)):s.push(encodeURIComponent(r)+"="+encodeURIComponent(i))}return s.join("&")}static appendParams(e,t){if(Object.keys(t).length===0)return e;let s=e.match(/\?/)?"&":"?";return`${e}${s}${this.serialize(t)}`}},Bg=e=>{let t="",s=new Uint8Array(e),n=s.byteLength;for(let r=0;r<n;r++)t+=String.fromCharCode(s[r]);return btoa(t)},Fs=class{constructor(e,t){t&&t.length===2&&t[1].startsWith(sa)&&(this.authToken=atob(t[1].slice(sa.length))),this.endPoint=null,this.token=null,this.skipHeartbeat=!0,this.reqs=new Set,this.awaitingBatchAck=!1,this.currentBatch=null,this.currentBatchTimer=null,this.batchBuffer=[],this.onopen=function(){},this.onerror=function(){},this.onmessage=function(){},this.onclose=function(){},this.pollEndpoint=this.normalizeEndpoint(e),this.readyState=Ft.connecting,setTimeout(()=>this.poll(),0)}normalizeEndpoint(e){return e.replace("ws://","http://").replace("wss://","https://").replace(new RegExp("(.*)/"+ta.websocket),"$1/"+ta.longpoll)}endpointURL(){return Nr.appendParams(this.pollEndpoint,{token:this.token})}closeAndRetry(e,t,s){this.close(e,t,s),this.readyState=Ft.connecting}ontimeout(){this.onerror("timeout"),this.closeAndRetry(1005,"timeout",!1)}isActive(){return this.readyState===Ft.open||this.readyState===Ft.connecting}poll(){const e={Accept:"application/json"};this.authToken&&(e["X-Phoenix-AuthToken"]=this.authToken),this.ajax("GET",e,null,()=>this.ontimeout(),t=>{if(t){var{status:s,token:n,messages:r}=t;if(s===410&&this.token!==null){this.onerror(410),this.closeAndRetry(3410,"session_gone",!1);return}this.token=n}else s=0;switch(s){case 200:r.forEach(i=>{setTimeout(()=>this.onmessage({data:i}),0)}),this.poll();break;case 204:this.poll();break;case 410:this.readyState=Ft.open,this.onopen({}),this.poll();break;case 403:this.onerror(403),this.close(1008,"forbidden",!1);break;case 0:case 500:this.onerror(500),this.closeAndRetry(1011,"internal server error",500);break;default:throw new Error(`unhandled poll status ${s}`)}})}send(e){typeof e!="string"&&(e=Bg(e)),this.currentBatch?this.currentBatch.push(e):this.awaitingBatchAck?this.batchBuffer.push(e):(this.currentBatch=[e],this.currentBatchTimer=setTimeout(()=>{this.batchSend(this.currentBatch),this.currentBatch=null},0))}batchSend(e){this.awaitingBatchAck=!0,this.ajax("POST",{"Content-Type":"application/x-ndjson"},e.join(`
37
- `),()=>this.onerror("timeout"),t=>{this.awaitingBatchAck=!1,!t||t.status!==200?(this.onerror(t&&t.status),this.closeAndRetry(1011,"internal server error",!1)):this.batchBuffer.length>0&&(this.batchSend(this.batchBuffer),this.batchBuffer=[])})}close(e,t,s){for(let r of this.reqs)r.abort();this.readyState=Ft.closed;let n=Object.assign({code:1e3,reason:void 0,wasClean:!0},{code:e,reason:t,wasClean:s});this.batchBuffer=[],clearTimeout(this.currentBatchTimer),this.currentBatchTimer=null,typeof CloseEvent<"u"?this.onclose(new CloseEvent("close",n)):this.onclose(n)}ajax(e,t,s,n,r){let i,a=()=>{this.reqs.delete(i),n()};i=Nr.request(e,this.endpointURL(),t,s,this.timeout,a,o=>{this.reqs.delete(i),this.isActive()&&r(o)}),this.reqs.add(i)}},Hg=class wn{constructor(t,s={}){let n=s.events||{state:"presence_state",diff:"presence_diff"};this.state={},this.pendingDiffs=[],this.channel=t,this.joinRef=null,this.caller={onJoin:function(){},onLeave:function(){},onSync:function(){}},this.channel.on(n.state,r=>{let{onJoin:i,onLeave:a,onSync:o}=this.caller;this.joinRef=this.channel.joinRef(),this.state=wn.syncState(this.state,r,i,a),this.pendingDiffs.forEach(l=>{this.state=wn.syncDiff(this.state,l,i,a)}),this.pendingDiffs=[],o()}),this.channel.on(n.diff,r=>{let{onJoin:i,onLeave:a,onSync:o}=this.caller;this.inPendingSyncState()?this.pendingDiffs.push(r):(this.state=wn.syncDiff(this.state,r,i,a),o())})}onJoin(t){this.caller.onJoin=t}onLeave(t){this.caller.onLeave=t}onSync(t){this.caller.onSync=t}list(t){return wn.list(this.state,t)}inPendingSyncState(){return!this.joinRef||this.joinRef!==this.channel.joinRef()}static syncState(t,s,n,r){let i=this.clone(t),a={},o={};return this.map(i,(l,c)=>{s[l]||(o[l]=c)}),this.map(s,(l,c)=>{let u=i[l];if(u){let d=c.metas.map(_=>_.phx_ref),f=u.metas.map(_=>_.phx_ref),p=c.metas.filter(_=>f.indexOf(_.phx_ref)<0),m=u.metas.filter(_=>d.indexOf(_.phx_ref)<0);p.length>0&&(a[l]=c,a[l].metas=p),m.length>0&&(o[l]=this.clone(u),o[l].metas=m)}else a[l]=c}),this.syncDiff(i,{joins:a,leaves:o},n,r)}static syncDiff(t,s,n,r){let{joins:i,leaves:a}=this.clone(s);return n||(n=function(){}),r||(r=function(){}),this.map(i,(o,l)=>{let c=t[o];if(t[o]=this.clone(l),c){let u=t[o].metas.map(f=>f.phx_ref),d=c.metas.filter(f=>u.indexOf(f.phx_ref)<0);t[o].metas.unshift(...d)}n(o,c,l)}),this.map(a,(o,l)=>{let c=t[o];if(!c)return;let u=l.metas.map(d=>d.phx_ref);c.metas=c.metas.filter(d=>u.indexOf(d.phx_ref)<0),r(o,c,l),c.metas.length===0&&delete t[o]}),t}static list(t,s){return s||(s=function(n,r){return r}),this.map(t,(n,r)=>s(n,r))}static map(t,s){return Object.getOwnPropertyNames(t).map(n=>s(n,t[n]))}static clone(t){return JSON.parse(JSON.stringify(t))}},cr={HEADER_LENGTH:1,META_LENGTH:4,KINDS:{push:0,reply:1,broadcast:2},encode(e,t){if(e.payload.constructor===ArrayBuffer)return t(this.binaryEncode(e));{let s=[e.join_ref,e.ref,e.topic,e.event,e.payload];return t(JSON.stringify(s))}},decode(e,t){if(e.constructor===ArrayBuffer)return t(this.binaryDecode(e));{let[s,n,r,i,a]=JSON.parse(e);return t({join_ref:s,ref:n,topic:r,event:i,payload:a})}},binaryEncode(e){let{join_ref:t,ref:s,event:n,topic:r,payload:i}=e,a=this.META_LENGTH+t.length+s.length+r.length+n.length,o=new ArrayBuffer(this.HEADER_LENGTH+a),l=new DataView(o),c=0;l.setUint8(c++,this.KINDS.push),l.setUint8(c++,t.length),l.setUint8(c++,s.length),l.setUint8(c++,r.length),l.setUint8(c++,n.length),Array.from(t,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(s,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(r,d=>l.setUint8(c++,d.charCodeAt(0))),Array.from(n,d=>l.setUint8(c++,d.charCodeAt(0)));var u=new Uint8Array(o.byteLength+i.byteLength);return u.set(new Uint8Array(o),0),u.set(new Uint8Array(i),o.byteLength),u.buffer},binaryDecode(e){let t=new DataView(e),s=t.getUint8(0),n=new TextDecoder;switch(s){case this.KINDS.push:return this.decodePush(e,t,n);case this.KINDS.reply:return this.decodeReply(e,t,n);case this.KINDS.broadcast:return this.decodeBroadcast(e,t,n)}},decodePush(e,t,s){let n=t.getUint8(1),r=t.getUint8(2),i=t.getUint8(3),a=this.HEADER_LENGTH+this.META_LENGTH-1,o=s.decode(e.slice(a,a+n));a=a+n;let l=s.decode(e.slice(a,a+r));a=a+r;let c=s.decode(e.slice(a,a+i));a=a+i;let u=e.slice(a,e.byteLength);return{join_ref:o,ref:null,topic:l,event:c,payload:u}},decodeReply(e,t,s){let n=t.getUint8(1),r=t.getUint8(2),i=t.getUint8(3),a=t.getUint8(4),o=this.HEADER_LENGTH+this.META_LENGTH,l=s.decode(e.slice(o,o+n));o=o+n;let c=s.decode(e.slice(o,o+r));o=o+r;let u=s.decode(e.slice(o,o+i));o=o+i;let d=s.decode(e.slice(o,o+a));o=o+a;let f=e.slice(o,e.byteLength),p={status:d,response:f};return{join_ref:l,ref:c,topic:u,event:Xt.reply,payload:p}},decodeBroadcast(e,t,s){let n=t.getUint8(1),r=t.getUint8(2),i=this.HEADER_LENGTH+2,a=s.decode(e.slice(i,i+n));i=i+n;let o=s.decode(e.slice(i,i+r));i=i+r;let l=e.slice(i,e.byteLength);return{join_ref:null,ref:null,topic:a,event:o,payload:l}}},Fg=class{constructor(e,t={}){this.stateChangeCallbacks={open:[],close:[],error:[],message:[]},this.channels=[],this.sendBuffer=[],this.ref=0,this.fallbackRef=null,this.timeout=t.timeout||Mg,this.transport=t.transport||Ut.WebSocket||Fs,this.conn=void 0,this.primaryPassedHealthCheck=!1,this.longPollFallbackMs=t.longPollFallbackMs,this.fallbackTimer=null;let s=null;try{s=Ut&&Ut.sessionStorage}catch{}this.sessionStore=t.sessionStorage||s,this.establishedConnections=0,this.defaultEncoder=cr.encode.bind(cr),this.defaultDecoder=cr.decode.bind(cr),this.closeWasClean=!0,this.disconnecting=!1,this.binaryType=t.binaryType||"arraybuffer",this.connectClock=1,this.pageHidden=!1,this.encode=void 0,this.decode=void 0,this.transport!==Fs?(this.encode=t.encode||this.defaultEncoder,this.decode=t.decode||this.defaultDecoder):(this.encode=this.defaultEncoder,this.decode=this.defaultDecoder);let n=null;Ys&&Ys.addEventListener&&(Ys.addEventListener("pagehide",r=>{this.conn&&(this.disconnect(),n=this.connectClock)}),Ys.addEventListener("pageshow",r=>{n===this.connectClock&&(n=null,this.connect())}),Ys.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?this.pageHidden=!0:(this.pageHidden=!1,!this.isConnected()&&!this.closeWasClean&&this.teardown(()=>this.connect()))})),this.heartbeatIntervalMs=t.heartbeatIntervalMs||3e4,this.autoSendHeartbeat=t.autoSendHeartbeat??!0,this.heartbeatCallback=t.heartbeatCallback??(()=>{}),this.rejoinAfterMs=r=>t.rejoinAfterMs?t.rejoinAfterMs(r):[1e3,2e3,5e3][r-1]||1e4,this.reconnectAfterMs=r=>t.reconnectAfterMs?t.reconnectAfterMs(r):[10,50,100,150,200,250,500,1e3,2e3][r-1]||5e3,this.logger=t.logger||null,!this.logger&&t.debug&&(this.logger=(r,i,a)=>{console.log(`${r}: ${i}`,a)}),this.longpollerTimeout=t.longpollerTimeout||2e4,this.params=In(t.params||{}),this.endPoint=`${e}/${ta.websocket}`,this.vsn=t.vsn||Lg,this.heartbeatTimeoutTimer=null,this.heartbeatTimer=null,this.heartbeatSentAt=null,this.pendingHeartbeatRef=null,this.reconnectTimer=new Eu(()=>{if(this.pageHidden){this.log("Not reconnecting as page is hidden!"),this.teardown();return}this.teardown(async()=>{t.beforeReconnect&&await t.beforeReconnect(),this.connect()})},this.reconnectAfterMs),this.authToken=t.authToken}getLongPollTransport(){return Fs}replaceTransport(e){this.connectClock++,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.conn&&(this.conn.close(),this.conn=null),this.transport=e}protocol(){return location.protocol.match(/^https/)?"wss":"ws"}endPointURL(){let e=Nr.appendParams(Nr.appendParams(this.endPoint,this.params()),{vsn:this.vsn});return e.charAt(0)!=="/"?e:e.charAt(1)==="/"?`${this.protocol()}:${e}`:`${this.protocol()}://${location.host}${e}`}disconnect(e,t,s){this.connectClock++,this.disconnecting=!0,this.closeWasClean=!0,clearTimeout(this.fallbackTimer),this.reconnectTimer.reset(),this.teardown(()=>{this.disconnecting=!1,e&&e()},t,s)}connect(e){e&&(console&&console.log("passing params to connect is deprecated. Instead pass :params to the Socket constructor"),this.params=In(e)),!(this.conn&&!this.disconnecting)&&(this.longPollFallbackMs&&this.transport!==Fs?this.connectWithFallback(Fs,this.longPollFallbackMs):this.transportConnect())}log(e,t,s){this.logger&&this.logger(e,t,s)}hasLogger(){return this.logger!==null}onOpen(e){let t=this.makeRef();return this.stateChangeCallbacks.open.push([t,e]),t}onClose(e){let t=this.makeRef();return this.stateChangeCallbacks.close.push([t,e]),t}onError(e){let t=this.makeRef();return this.stateChangeCallbacks.error.push([t,e]),t}onMessage(e){let t=this.makeRef();return this.stateChangeCallbacks.message.push([t,e]),t}onHeartbeat(e){this.heartbeatCallback=e}ping(e){if(!this.isConnected())return!1;let t=this.makeRef(),s=Date.now();this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:t});let n=this.onMessage(r=>{r.ref===t&&(this.off([n]),e(Date.now()-s))});return!0}transportName(e){switch(e){case Fs:return"LongPoll";default:return e.name}}transportConnect(){this.connectClock++,this.closeWasClean=!1;let e;this.authToken&&(e=["phoenix",`${sa}${btoa(this.authToken).replace(/=/g,"")}`]),this.conn=new this.transport(this.endPointURL(),e),this.conn.binaryType=this.binaryType,this.conn.timeout=this.longpollerTimeout,this.conn.onopen=()=>this.onConnOpen(),this.conn.onerror=t=>this.onConnError(t),this.conn.onmessage=t=>this.onConnMessage(t),this.conn.onclose=t=>this.onConnClose(t)}getSession(e){return this.sessionStore&&this.sessionStore.getItem(e)}storeSession(e,t){this.sessionStore&&this.sessionStore.setItem(e,t)}connectWithFallback(e,t=2500){clearTimeout(this.fallbackTimer);let s=!1,n=!0,r,i,a=this.transportName(e),o=l=>{this.log("transport",`falling back to ${a}...`,l),this.off([r,i]),n=!1,this.replaceTransport(e),this.transportConnect()};if(this.getSession(`phx:fallback:${a}`))return o("memorized");this.fallbackTimer=setTimeout(o,t),i=this.onError(l=>{this.log("transport","error",l),n&&!s&&(clearTimeout(this.fallbackTimer),o(l))}),this.fallbackRef&&this.off([this.fallbackRef]),this.fallbackRef=this.onOpen(()=>{if(s=!0,!n){let l=this.transportName(e);return this.primaryPassedHealthCheck||this.storeSession(`phx:fallback:${l}`,"true"),this.log("transport",`established ${l} fallback`)}clearTimeout(this.fallbackTimer),this.fallbackTimer=setTimeout(o,t),this.ping(l=>{this.log("transport","connected to primary after",l),this.primaryPassedHealthCheck=!0,clearTimeout(this.fallbackTimer)})}),this.transportConnect()}clearHeartbeats(){clearTimeout(this.heartbeatTimer),clearTimeout(this.heartbeatTimeoutTimer)}onConnOpen(){this.hasLogger()&&this.log("transport",`connected to ${this.endPointURL()}`),this.closeWasClean=!1,this.disconnecting=!1,this.establishedConnections++,this.flushSendBuffer(),this.reconnectTimer.reset(),this.autoSendHeartbeat&&this.resetHeartbeat(),this.triggerStateCallbacks("open")}heartbeatTimeout(){if(this.pendingHeartbeatRef){this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.hasLogger()&&this.log("transport","heartbeat timeout. Attempting to re-establish connection");try{this.heartbeatCallback("timeout")}catch(e){this.log("error","error in heartbeat callback",e)}this.triggerChanError(new Error("heartbeat timeout")),this.closeWasClean=!1,this.teardown(()=>this.reconnectTimer.scheduleTimeout(),jg,"heartbeat timeout")}}resetHeartbeat(){this.conn&&this.conn.skipHeartbeat||(this.pendingHeartbeatRef=null,this.clearHeartbeats(),this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}teardown(e,t,s){if(!this.conn)return e&&e();const n=this.conn;this.waitForBufferDone(n,()=>{t?n.close(t,s||""):n.close(),this.waitForSocketClosed(n,()=>{this.conn===n&&(this.conn.onopen=function(){},this.conn.onerror=function(){},this.conn.onmessage=function(){},this.conn.onclose=function(){},this.conn=null),e&&e()})})}waitForBufferDone(e,t,s=1){if(s===5||!e.bufferedAmount){t();return}setTimeout(()=>{this.waitForBufferDone(e,t,s+1)},150*s)}waitForSocketClosed(e,t,s=1){if(s===5||e.readyState===Ft.closed){t();return}setTimeout(()=>{this.waitForSocketClosed(e,t,s+1)},150*s)}onConnClose(e){this.conn&&(this.conn.onclose=()=>{}),this.hasLogger()&&this.log("transport","close",e),this.triggerChanError(e),this.clearHeartbeats(),this.closeWasClean||this.reconnectTimer.scheduleTimeout(),this.triggerStateCallbacks("close",e)}onConnError(e){this.hasLogger()&&this.log("transport","error",e);let t=this.transport,s=this.establishedConnections;this.triggerStateCallbacks("error",e,t,s),(t===this.transport||s>0)&&this.triggerChanError(e)}triggerChanError(e){this.channels.forEach(t=>{t.isErrored()||t.isLeaving()||t.isClosed()||t.trigger(Xt.error,e)})}connectionState(){switch(this.conn&&this.conn.readyState){case Ft.connecting:return"connecting";case Ft.open:return"open";case Ft.closing:return"closing";default:return"closed"}}isConnected(){return this.connectionState()==="open"}remove(e){this.off(e.stateChangeRefs),this.channels=this.channels.filter(t=>t!==e)}off(e){for(let t in this.stateChangeCallbacks)this.stateChangeCallbacks[t]=this.stateChangeCallbacks[t].filter(([s])=>e.indexOf(s)===-1)}channel(e,t={}){let s=new Ug(e,t,this);return this.channels.push(s),s}push(e){if(this.hasLogger()){let{topic:t,event:s,payload:n,ref:r,join_ref:i}=e;this.log("push",`${t} ${s} (${i}, ${r})`,n)}this.isConnected()?this.encode(e,t=>this.conn.send(t)):this.sendBuffer.push(()=>this.encode(e,t=>this.conn.send(t)))}makeRef(){let e=this.ref+1;return e===this.ref?this.ref=0:this.ref=e,this.ref.toString()}sendHeartbeat(){if(!this.isConnected()){try{this.heartbeatCallback("disconnected")}catch(e){this.log("error","error in heartbeat callback",e)}return}if(this.pendingHeartbeatRef){this.heartbeatTimeout();return}this.pendingHeartbeatRef=this.makeRef(),this.heartbeatSentAt=Date.now(),this.push({topic:"phoenix",event:"heartbeat",payload:{},ref:this.pendingHeartbeatRef});try{this.heartbeatCallback("sent")}catch(e){this.log("error","error in heartbeat callback",e)}this.heartbeatTimeoutTimer=setTimeout(()=>this.heartbeatTimeout(),this.heartbeatIntervalMs)}flushSendBuffer(){this.isConnected()&&this.sendBuffer.length>0&&(this.sendBuffer.forEach(e=>e()),this.sendBuffer=[])}onConnMessage(e){this.decode(e.data,t=>{let{topic:s,event:n,payload:r,ref:i,join_ref:a}=t;if(i&&i===this.pendingHeartbeatRef){const o=this.heartbeatSentAt?Date.now()-this.heartbeatSentAt:void 0;this.clearHeartbeats();try{this.heartbeatCallback(r.status==="ok"?"ok":"error",o)}catch(l){this.log("error","error in heartbeat callback",l)}this.pendingHeartbeatRef=null,this.heartbeatSentAt=null,this.autoSendHeartbeat&&(this.heartbeatTimer=setTimeout(()=>this.sendHeartbeat(),this.heartbeatIntervalMs))}this.hasLogger()&&this.log("receive",`${r.status||""} ${s} ${n} ${i&&"("+i+")"||""}`.trim(),r);for(let o=0;o<this.channels.length;o++){const l=this.channels[o];l.isMember(s,n,r,a)&&l.trigger(n,r,i,a)}this.triggerStateCallbacks("message",t)})}triggerStateCallbacks(e,...t){try{this.stateChangeCallbacks[e].forEach(([s,n])=>{try{n(...t)}catch(r){this.log("error",`error in ${e} callback`,r)}})}catch(s){this.log("error",`error triggering ${e} callbacks`,s)}}leaveOpenTopic(e){let t=this.channels.find(s=>s.topic===e&&(s.isJoined()||s.isJoining()));t&&(this.hasLogger()&&this.log("transport",`leaving duplicate topic "${e}"`),t.leave())}};class Pn{constructor(t,s){const n=qg(s);this.presence=new Hg(t.getChannel(),n),this.presence.onJoin((r,i,a)=>{const o=Pn.onJoinPayload(r,i,a);t.getChannel().trigger("presence",o)}),this.presence.onLeave((r,i,a)=>{const o=Pn.onLeavePayload(r,i,a);t.getChannel().trigger("presence",o)}),this.presence.onSync(()=>{t.getChannel().trigger("presence",{event:"sync"})})}get state(){return Pn.transformState(this.presence.state)}static transformState(t){return t=Vg(t),Object.getOwnPropertyNames(t).reduce((s,n)=>{const r=t[n];return s[n]=wr(r),s},{})}static onJoinPayload(t,s,n){const r=tl(s),i=wr(n);return{event:"join",key:t,currentPresences:r,newPresences:i}}static onLeavePayload(t,s,n){const r=tl(s),i=wr(n);return{event:"leave",key:t,currentPresences:r,leftPresences:i}}}function wr(e){return e.metas.map(t=>(t.presence_ref=t.phx_ref,delete t.phx_ref,delete t.phx_ref_prev,t))}function Vg(e){return JSON.parse(JSON.stringify(e))}function qg(e){return(e==null?void 0:e.events)&&{events:e.events}}function tl(e){return e!=null&&e.metas?wr(e):[]}var sl;(function(e){e.SYNC="sync",e.JOIN="join",e.LEAVE="leave"})(sl||(sl={}));class zg{get state(){return this.presenceAdapter.state}constructor(t,s){this.channel=t,this.presenceAdapter=new Pn(this.channel.channelAdapter,s)}}function Kg(e){if(e instanceof Error)return e;if(typeof e=="string")return new Error(e);if(e&&typeof e=="object"){const t=e;if(typeof t.code=="number"){const s=typeof t.reason=="string"&&t.reason?` (${t.reason})`:"";return new Error(`socket closed: ${t.code}${s}`,{cause:e})}return new Error("channel error: transport failure",{cause:e})}return new Error("channel error: connection lost")}class Wg{constructor(t,s,n){const r=Gg(n);this.channel=t.getSocket().channel(s,r),this.socket=t}get state(){return this.channel.state}set state(t){this.channel.state=t}get joinedOnce(){return this.channel.joinedOnce}get joinPush(){return this.channel.joinPush}get rejoinTimer(){return this.channel.rejoinTimer}on(t,s){return this.channel.on(t,s)}off(t,s){this.channel.off(t,s)}subscribe(t){return this.channel.join(t)}unsubscribe(t){return this.channel.leave(t)}teardown(){this.channel.teardown()}onClose(t){this.channel.onClose(t)}onError(t){return this.channel.onError(t)}push(t,s,n){let r;try{r=this.channel.push(t,s,n)}catch{throw new Error(`tried to push '${t}' to '${this.channel.topic}' before joining. Use channel.subscribe() before pushing events`)}if(this.channel.pushBuffer.length>Tg){const i=this.channel.pushBuffer.shift();i.cancelTimeout(),this.socket.log("channel",`discarded push due to buffer overflow: ${i.event}`,i.payload())}return r}updateJoinPayload(t){const s=this.channel.joinPush.payload();this.channel.joinPush.payload=()=>Object.assign(Object.assign({},s),t)}canPush(){return this.socket.isConnected()&&this.state===bs.joined}isJoined(){return this.state===bs.joined}isJoining(){return this.state===bs.joining}isClosed(){return this.state===bs.closed}isLeaving(){return this.state===bs.leaving}updateFilterBindings(t){this.channel.filterBindings=t}updatePayloadTransform(t){this.channel.onMessage=t}getChannel(){return this.channel}}function Gg(e){return{config:Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},e.config)}}var nl;(function(e){e.ALL="*",e.INSERT="INSERT",e.UPDATE="UPDATE",e.DELETE="DELETE"})(nl||(nl={}));var tn;(function(e){e.BROADCAST="broadcast",e.PRESENCE="presence",e.POSTGRES_CHANGES="postgres_changes",e.SYSTEM="system"})(tn||(tn={}));var Qt;(function(e){e.SUBSCRIBED="SUBSCRIBED",e.TIMED_OUT="TIMED_OUT",e.CLOSED="CLOSED",e.CHANNEL_ERROR="CHANNEL_ERROR"})(Qt||(Qt={}));class Ln{get state(){return this.channelAdapter.state}set state(t){this.channelAdapter.state=t}get joinedOnce(){return this.channelAdapter.joinedOnce}get timeout(){return this.socket.timeout}get joinPush(){return this.channelAdapter.joinPush}get rejoinTimer(){return this.channelAdapter.rejoinTimer}constructor(t,s={config:{}},n){var r,i;if(this.topic=t,this.params=s,this.socket=n,this.bindings={},this.subTopic=t.replace(/^realtime:/i,""),this.params.config=Object.assign({broadcast:{ack:!1,self:!1},presence:{key:"",enabled:!1},private:!1},s.config),this.channelAdapter=new Wg(this.socket.socketAdapter,t,this.params),this.presence=new zg(this),this._onClose(()=>{this.socket._remove(this)}),this._updateFilterTransform(),this.broadcastEndpointURL=ku(this.socket.socketAdapter.endPointURL()),this.private=this.params.config.private||!1,!this.private&&(!((i=(r=this.params.config)===null||r===void 0?void 0:r.broadcast)===null||i===void 0)&&i.replay))throw new Error(`tried to use replay on public channel '${this.topic}'. It must be a private channel.`)}subscribe(t,s=this.timeout){var n,r,i;if(this.socket.isConnected()||this.socket.connect(),this.channelAdapter.isClosed()){const{config:{broadcast:a,presence:o,private:l}}=this.params,c=(r=(n=this.bindings.postgres_changes)===null||n===void 0?void 0:n.map(p=>p.filter))!==null&&r!==void 0?r:[],u=!!this.bindings[tn.PRESENCE]&&this.bindings[tn.PRESENCE].length>0||((i=this.params.config.presence)===null||i===void 0?void 0:i.enabled)===!0,d={},f={broadcast:a,presence:Object.assign(Object.assign({},o),{enabled:u}),postgres_changes:c,private:l};this.socket.accessTokenValue&&(d.access_token=this.socket.accessTokenValue),this._onError(p=>{t==null||t(Qt.CHANNEL_ERROR,Kg(p))}),this._onClose(()=>t==null?void 0:t(Qt.CLOSED)),this.updateJoinPayload(Object.assign({config:f},d)),this._updateFilterMessage(),this.channelAdapter.subscribe(s).receive("ok",async({postgres_changes:p})=>{if(this.socket._isManualToken()||this.socket.setAuth(),p===void 0){t==null||t(Qt.SUBSCRIBED);return}this._updatePostgresBindings(p,t)}).receive("error",p=>{this.state=bs.errored;const m=Object.values(p).join(", ")||"error";t==null||t(Qt.CHANNEL_ERROR,new Error(m,{cause:p}))}).receive("timeout",()=>{t==null||t(Qt.TIMED_OUT)})}return this}_updatePostgresBindings(t,s){var n;const r=this.bindings.postgres_changes,i=(n=r==null?void 0:r.length)!==null&&n!==void 0?n:0,a=[];for(let o=0;o<i;o++){const l=r[o],{filter:{event:c,schema:u,table:d,filter:f}}=l,p=t&&t[o];if(p&&p.event===c&&Ln.isFilterValueEqual(p.schema,u)&&Ln.isFilterValueEqual(p.table,d)&&Ln.isFilterValueEqual(p.filter,f))a.push(Object.assign(Object.assign({},l),{id:p.id}));else{this.unsubscribe(),this.state=bs.errored,s==null||s(Qt.CHANNEL_ERROR,new Error("mismatch between server and client bindings for postgres changes"));return}}this.bindings.postgres_changes=a,this.state!=bs.errored&&s&&s(Qt.SUBSCRIBED)}presenceState(){return this.presence.state}async track(t,s={}){return await this.send({type:"presence",event:"track",payload:t},s.timeout||this.timeout)}async untrack(t={}){return await this.send({type:"presence",event:"untrack"},t)}on(t,s,n){const r=this.channelAdapter.isJoined()||this.channelAdapter.isJoining(),i=t===tn.PRESENCE||t===tn.POSTGRES_CHANGES;if(r&&i)throw this.socket.log("channel",`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`),new Error(`cannot add \`${t}\` callbacks for ${this.topic} after \`subscribe()\`.`);return this._on(t,s,n)}async httpSend(t,s,n={}){var r;if(s==null)return Promise.reject(new Error("Payload is required for httpSend()"));const i={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(i.Authorization=`Bearer ${this.socket.accessTokenValue}`);const a={method:"POST",headers:i,body:JSON.stringify({messages:[{topic:this.subTopic,event:t,payload:s,private:this.private}]})},o=await this._fetchWithTimeout(this.broadcastEndpointURL,a,(r=n.timeout)!==null&&r!==void 0?r:this.timeout);if(o.status===202)return{success:!0};let l=o.statusText;try{const c=await o.json();l=c.error||c.message||l}catch{}return Promise.reject(new Error(l))}async send(t,s={}){var n,r;if(!this.channelAdapter.canPush()&&t.type==="broadcast"){console.warn("Realtime send() is automatically falling back to REST API. This behavior will be deprecated in the future. Please use httpSend() explicitly for REST delivery.");const{event:i,payload:a}=t,o={apikey:this.socket.apiKey?this.socket.apiKey:"","Content-Type":"application/json"};this.socket.accessTokenValue&&(o.Authorization=`Bearer ${this.socket.accessTokenValue}`);const l={method:"POST",headers:o,body:JSON.stringify({messages:[{topic:this.subTopic,event:i,payload:a,private:this.private}]})};try{const c=await this._fetchWithTimeout(this.broadcastEndpointURL,l,(n=s.timeout)!==null&&n!==void 0?n:this.timeout);return await((r=c.body)===null||r===void 0?void 0:r.cancel()),c.ok?"ok":"error"}catch(c){return c instanceof Error&&c.name==="AbortError"?"timed out":"error"}}else return new Promise(i=>{var a,o,l;const c=this.channelAdapter.push(t.type,t,s.timeout||this.timeout);t.type==="broadcast"&&!(!((l=(o=(a=this.params)===null||a===void 0?void 0:a.config)===null||o===void 0?void 0:o.broadcast)===null||l===void 0)&&l.ack)&&i("ok"),c.receive("ok",()=>i("ok")),c.receive("error",()=>i("error")),c.receive("timeout",()=>i("timed out"))})}updateJoinPayload(t){this.channelAdapter.updateJoinPayload(t)}async unsubscribe(t=this.timeout){return new Promise(s=>{this.channelAdapter.unsubscribe(t).receive("ok",()=>s("ok")).receive("timeout",()=>s("timed out")).receive("error",()=>s("error"))})}teardown(){this.channelAdapter.teardown()}async _fetchWithTimeout(t,s,n){const r=new AbortController,i=setTimeout(()=>r.abort(),n),a=await this.socket.fetch(t,Object.assign(Object.assign({},s),{signal:r.signal}));return clearTimeout(i),a}_on(t,s,n){const r=t.toLocaleLowerCase(),i=this.channelAdapter.on(t,n),a={type:r,filter:s,callback:n,ref:i};return this.bindings[r]?this.bindings[r].push(a):this.bindings[r]=[a],this._updateFilterMessage(),this}_onClose(t){this.channelAdapter.onClose(t)}_onError(t){this.channelAdapter.onError(t)}_updateFilterMessage(){this.channelAdapter.updateFilterBindings((t,s,n)=>{var r,i,a,o,l,c,u;const d=t.event.toLocaleLowerCase();if(this._notThisChannelEvent(d,n))return!1;const f=(r=this.bindings[d])===null||r===void 0?void 0:r.find(p=>p.ref===t.ref);if(!f)return!0;if(["broadcast","presence","postgres_changes"].includes(d))if("id"in f){const p=f.id,m=(i=f.filter)===null||i===void 0?void 0:i.event;return p&&((a=s.ids)===null||a===void 0?void 0:a.includes(p))&&(m==="*"||(m==null?void 0:m.toLocaleLowerCase())===((o=s.data)===null||o===void 0?void 0:o.type.toLocaleLowerCase()))}else{const p=(c=(l=f==null?void 0:f.filter)===null||l===void 0?void 0:l.event)===null||c===void 0?void 0:c.toLocaleLowerCase();return p==="*"||p===((u=s==null?void 0:s.event)===null||u===void 0?void 0:u.toLocaleLowerCase())}else return f.type.toLocaleLowerCase()===d})}_notThisChannelEvent(t,s){const{close:n,error:r,leave:i,join:a}=xu;return s&&[n,r,i,a].includes(t)&&s!==this.joinPush.ref}_updateFilterTransform(){this.channelAdapter.updatePayloadTransform((t,s,n)=>{if(typeof s=="object"&&"ids"in s){const r=s.data,{schema:i,table:a,commit_timestamp:o,type:l,errors:c}=r;return Object.assign(Object.assign({},{schema:i,table:a,commit_timestamp:o,eventType:l,new:{},old:{},errors:c}),this._getPayloadRecords(r))}return s})}copyBindings(t){if(this.joinedOnce)throw new Error("cannot copy bindings into joined channel");for(const s in t.bindings)for(const n of t.bindings[s])this._on(n.type,n.filter,n.callback)}static isFilterValueEqual(t,s){return(t??void 0)===(s??void 0)}_getPayloadRecords(t){const s={new:{},old:{}};return(t.type==="INSERT"||t.type==="UPDATE")&&(s.new=el(t.columns,t.record)),(t.type==="UPDATE"||t.type==="DELETE")&&(s.old=el(t.columns,t.old_record)),s}}class Zg{constructor(t,s){this.socket=new Fg(t,s)}get timeout(){return this.socket.timeout}get endPoint(){return this.socket.endPoint}get transport(){return this.socket.transport}get heartbeatIntervalMs(){return this.socket.heartbeatIntervalMs}get heartbeatCallback(){return this.socket.heartbeatCallback}set heartbeatCallback(t){this.socket.heartbeatCallback=t}get heartbeatTimer(){return this.socket.heartbeatTimer}get pendingHeartbeatRef(){return this.socket.pendingHeartbeatRef}get reconnectTimer(){return this.socket.reconnectTimer}get vsn(){return this.socket.vsn}get encode(){return this.socket.encode}get decode(){return this.socket.decode}get reconnectAfterMs(){return this.socket.reconnectAfterMs}get sendBuffer(){return this.socket.sendBuffer}get stateChangeCallbacks(){return this.socket.stateChangeCallbacks}connect(){this.socket.connect()}disconnect(t,s,n,r=1e4){return new Promise(i=>{setTimeout(()=>i("timeout"),r),this.socket.disconnect(()=>{t(),i("ok")},s,n)})}push(t){this.socket.push(t)}log(t,s,n){this.socket.log(t,s,n)}makeRef(){return this.socket.makeRef()}onOpen(t){this.socket.onOpen(t)}onClose(t){this.socket.onClose(t)}onError(t){this.socket.onError(t)}onMessage(t){this.socket.onMessage(t)}isConnected(){return this.socket.isConnected()}isConnecting(){return this.socket.connectionState()==Qi.connecting}isDisconnecting(){return this.socket.connectionState()==Qi.closing}connectionState(){return this.socket.connectionState()}endPointURL(){return this.socket.endPointURL()}sendHeartbeat(){this.socket.sendHeartbeat()}getSocket(){return this.socket}}const rl={HEARTBEAT_INTERVAL:25e3},Jg=[1e3,2e3,5e3,1e4],Yg=1e4;function Xg(){const e=new Map;return{get length(){return e.size},clear(){e.clear()},getItem(t){return e.has(t)?e.get(t):null},key(t){var s;return(s=Array.from(e.keys())[t])!==null&&s!==void 0?s:null},removeItem(t){e.delete(t)},setItem(t,s){e.set(t,String(s))}}}function Qg(){try{if(typeof globalThis<"u"&&globalThis.sessionStorage)return globalThis.sessionStorage}catch{}return Xg()}const e0=`
38
- addEventListener("message", (e) => {
39
- if (e.data.event === "start") {
40
- setInterval(() => postMessage({ event: "keepAlive" }), e.data.interval);
41
- }
42
- });`;class t0{get endPoint(){return this.socketAdapter.endPoint}get timeout(){return this.socketAdapter.timeout}get transport(){return this.socketAdapter.transport}get heartbeatCallback(){return this.socketAdapter.heartbeatCallback}get heartbeatIntervalMs(){return this.socketAdapter.heartbeatIntervalMs}get heartbeatTimer(){return this.worker?this._workerHeartbeatTimer:this.socketAdapter.heartbeatTimer}get pendingHeartbeatRef(){return this.worker?this._pendingWorkerHeartbeatRef:this.socketAdapter.pendingHeartbeatRef}get reconnectTimer(){return this.socketAdapter.reconnectTimer}get vsn(){return this.socketAdapter.vsn}get encode(){return this.socketAdapter.encode}get decode(){return this.socketAdapter.decode}get reconnectAfterMs(){return this.socketAdapter.reconnectAfterMs}get sendBuffer(){return this.socketAdapter.sendBuffer}get stateChangeCallbacks(){return this.socketAdapter.stateChangeCallbacks}constructor(t,s){var n;if(this.channels=new Array,this.accessTokenValue=null,this.accessToken=null,this.apiKey=null,this.httpEndpoint="",this.headers={},this.params={},this.ref=0,this.serializer=new Ag,this._manuallySetToken=!1,this._authPromise=null,this._workerHeartbeatTimer=void 0,this._pendingWorkerHeartbeatRef=null,this._pendingDisconnectTimer=null,this._disconnectOnEmptyChannelsAfterMs=0,this._resolveFetch=i=>i?(...a)=>i(...a):(...a)=>fetch(...a),!(!((n=s==null?void 0:s.params)===null||n===void 0)&&n.apikey))throw new Error("API key is required to connect to Realtime");this.apiKey=s.params.apikey;const r=this._initializeOptions(s);this.socketAdapter=new Zg(t,r),this.httpEndpoint=ku(t),this.fetch=this._resolveFetch(s==null?void 0:s.fetch)}connect(){if(!(this.isConnecting()||this.isDisconnecting()||this.isConnected())){this.accessToken&&!this._authPromise&&this._setAuthSafely("connect"),this._setupConnectionHandlers();try{this.socketAdapter.connect()}catch(t){const s=t.message;throw s.includes("Node.js")?new Error(`${s}
43
-
44
- To use Realtime in Node.js, you need to provide a WebSocket implementation:
45
-
46
- Option 1: Use Node.js 22+ which has native WebSocket support
47
- Option 2: Install and provide the "ws" package:
48
-
49
- npm install ws
50
-
51
- import ws from "ws"
52
- const client = new RealtimeClient(url, {
53
- ...options,
54
- transport: ws
55
- })`):new Error(`WebSocket not available: ${s}`)}this._handleNodeJsRaceCondition()}}endpointURL(){return this.socketAdapter.endPointURL()}async disconnect(t,s){return this._cancelPendingDisconnect(),this.isDisconnecting()?"ok":await this.socketAdapter.disconnect(()=>{clearInterval(this._workerHeartbeatTimer),this._terminateWorker()},t,s)}getChannels(){return this.channels}async removeChannel(t){const s=await t.unsubscribe();return s==="ok"&&t.teardown(),s}async removeAllChannels(){const t=this.channels.map(async n=>{const r=await n.unsubscribe();return n.teardown(),r}),s=await Promise.all(t);return await this.disconnect(),s}log(t,s,n){this.socketAdapter.log(t,s,n)}connectionState(){return this.socketAdapter.connectionState()||Qi.closed}isConnected(){return this.socketAdapter.isConnected()}isConnecting(){return this.socketAdapter.isConnecting()}isDisconnecting(){return this.socketAdapter.isDisconnecting()}channel(t,s={config:{}}){const n=`realtime:${t}`,r=this.getChannels().find(i=>i.topic===n);if(r)return r;{const i=new Ln(`realtime:${t}`,s,this);return this._cancelPendingDisconnect(),this.channels.push(i),i}}push(t){this.socketAdapter.push(t)}async setAuth(t=null){this._authPromise=this._performAuth(t);try{await this._authPromise}finally{this._authPromise=null}}_isManualToken(){return this._manuallySetToken}async sendHeartbeat(){this.socketAdapter.sendHeartbeat()}onHeartbeat(t){this.socketAdapter.heartbeatCallback=this._wrapHeartbeatCallback(t)}_makeRef(){return this.socketAdapter.makeRef()}_remove(t){this.channels=this.channels.filter(s=>s.topic!==t.topic),this.channels.length===0&&(this.log("transport","no channels remaining, scheduling disconnect"),this._schedulePendingDisconnect())}_schedulePendingDisconnect(){if(this._cancelPendingDisconnect(),this._disconnectOnEmptyChannelsAfterMs===0){this.log("transport","disconnecting immediately - no channels"),this.disconnect();return}this._pendingDisconnectTimer=setTimeout(()=>{this._pendingDisconnectTimer=null,this.channels.length===0&&(this.log("transport","deferred disconnect fired - no channels, disconnecting"),this.disconnect())},this._disconnectOnEmptyChannelsAfterMs),this.log("transport",`deferred disconnect scheduled in ${this._disconnectOnEmptyChannelsAfterMs}ms`)}_cancelPendingDisconnect(){this._pendingDisconnectTimer!==null&&(this.log("transport","pending disconnect cancelled - channel activity detected"),clearTimeout(this._pendingDisconnectTimer),this._pendingDisconnectTimer=null)}async _performAuth(t=null){let s,n=!1;if(t)s=t,n=!0;else if(this.accessToken)try{s=await this.accessToken()}catch(r){this.log("error","Error fetching access token from callback",r),s=this.accessTokenValue}else s=this.accessTokenValue;n?this._manuallySetToken=!0:this.accessToken&&(this._manuallySetToken=!1),this.accessTokenValue!=s&&(this.accessTokenValue=s,this.channels.forEach(r=>{const i={access_token:s,version:wg};s&&r.updateJoinPayload(i),r.joinedOnce&&r.channelAdapter.isJoined()&&r.channelAdapter.push(xu.access_token,{access_token:s})}))}async _waitForAuthIfNeeded(){this._authPromise&&await this._authPromise}_setAuthSafely(t="general"){this._isManualToken()||this.setAuth().catch(s=>{this.log("error",`Error setting auth in ${t}`,s)})}_setupConnectionHandlers(){this.socketAdapter.onOpen(()=>{(this._authPromise||(this.accessToken&&!this.accessTokenValue?this.setAuth():Promise.resolve())).catch(s=>{this.log("error","error waiting for auth on connect",s)}),this.worker&&!this.workerRef&&this._startWorkerHeartbeat()}),this.socketAdapter.onClose(()=>{this.worker&&this.workerRef&&this._terminateWorker()}),this.socketAdapter.onMessage(t=>{t.ref&&t.ref===this._pendingWorkerHeartbeatRef&&(this._pendingWorkerHeartbeatRef=null)})}_handleNodeJsRaceCondition(){this.socketAdapter.isConnected()&&this.socketAdapter.getSocket().onConnOpen()}_wrapHeartbeatCallback(t){return(s,n)=>{s=="sent"&&this._setAuthSafely(),t&&t(s,n)}}_startWorkerHeartbeat(){this.workerUrl?this.log("worker",`starting worker for from ${this.workerUrl}`):this.log("worker","starting default worker");const t=this._workerObjectUrl(this.workerUrl);this.workerRef=new Worker(t),this.workerRef.onerror=s=>{this.log("worker","worker error",s.message),this._terminateWorker(),this.disconnect()},this.workerRef.onmessage=s=>{s.data.event==="keepAlive"&&this.sendHeartbeat()},this.workerRef.postMessage({event:"start",interval:this.heartbeatIntervalMs})}_terminateWorker(){this.workerRef&&(this.log("worker","terminating worker"),this.workerRef.terminate(),this.workerRef=void 0)}_workerObjectUrl(t){let s;if(t)s=t;else{const n=new Blob([e0],{type:"application/javascript"});s=URL.createObjectURL(n)}return s}_initializeOptions(t){var s,n,r,i,a,o,l,c,u,d,f,p;this.worker=(s=t==null?void 0:t.worker)!==null&&s!==void 0?s:!1,this.accessToken=(n=t==null?void 0:t.accessToken)!==null&&n!==void 0?n:null;const m={};m.timeout=(r=t==null?void 0:t.timeout)!==null&&r!==void 0?r:Sg,m.heartbeatIntervalMs=(i=t==null?void 0:t.heartbeatIntervalMs)!==null&&i!==void 0?i:rl.HEARTBEAT_INTERVAL,this._disconnectOnEmptyChannelsAfterMs=(a=t==null?void 0:t.disconnectOnEmptyChannelsAfterMs)!==null&&a!==void 0?a:2*((o=t==null?void 0:t.heartbeatIntervalMs)!==null&&o!==void 0?o:rl.HEARTBEAT_INTERVAL),m.transport=(l=t==null?void 0:t.transport)!==null&&l!==void 0?l:_g.getWebSocketConstructor(),m.params=t==null?void 0:t.params,m.logger=t==null?void 0:t.logger,m.heartbeatCallback=this._wrapHeartbeatCallback(t==null?void 0:t.heartbeatCallback),m.sessionStorage=(c=t==null?void 0:t.sessionStorage)!==null&&c!==void 0?c:Qg(),m.reconnectAfterMs=(u=t==null?void 0:t.reconnectAfterMs)!==null&&u!==void 0?u:w=>Jg[w-1]||Yg;let _,T;const E=(d=t==null?void 0:t.vsn)!==null&&d!==void 0?d:Eg;switch(E){case kg:_=(w,x)=>x(JSON.stringify(w)),T=(w,x)=>x(JSON.parse(w));break;case _u:_=this.serializer.encode.bind(this.serializer),T=this.serializer.decode.bind(this.serializer);break;default:throw new Error(`Unsupported serializer version: ${m.vsn}`)}if(m.vsn=E,m.encode=(f=t==null?void 0:t.encode)!==null&&f!==void 0?f:_,m.decode=(p=t==null?void 0:t.decode)!==null&&p!==void 0?p:T,m.beforeReconnect=this._reconnectAuth.bind(this),(t!=null&&t.logLevel||t!=null&&t.log_level)&&(this.logLevel=t.logLevel||t.log_level,m.params=Object.assign(Object.assign({},m.params),{log_level:this.logLevel})),this.worker){if(typeof window<"u"&&!window.Worker)throw new Error("Web Worker is not supported");this.workerUrl=t==null?void 0:t.workerUrl,m.autoSendHeartbeat=!this.worker}return m}async _reconnectAuth(){await this._waitForAuthIfNeeded(),this.isConnected()||this.connect()}}var zn=class extends Error{constructor(e,t){var s;super(e),this.name="IcebergError",this.status=t.status,this.icebergType=t.icebergType,this.icebergCode=t.icebergCode,this.details=t.details,this.isCommitStateUnknown=t.icebergType==="CommitStateUnknownException"||[500,502,504].includes(t.status)&&((s=t.icebergType)==null?void 0:s.includes("CommitState"))===!0}isNotFound(){return this.status===404}isConflict(){return this.status===409}isAuthenticationTimeout(){return this.status===419}};function s0(e,t,s){const n=new URL(t,e);if(s)for(const[r,i]of Object.entries(s))i!==void 0&&n.searchParams.set(r,i);return n.toString()}async function n0(e){return!e||e.type==="none"?{}:e.type==="bearer"?{Authorization:`Bearer ${e.token}`}:e.type==="header"?{[e.name]:e.value}:e.type==="custom"?await e.getHeaders():{}}function r0(e){const t=e.fetchImpl??globalThis.fetch;return{async request({method:s,path:n,query:r,body:i,headers:a}){const o=s0(e.baseUrl,n,r),l=await n0(e.auth),c=await t(o,{method:s,headers:{...i?{"Content-Type":"application/json"}:{},...l,...a},body:i?JSON.stringify(i):void 0}),u=await c.text(),d=(c.headers.get("content-type")||"").includes("application/json"),f=d&&u?JSON.parse(u):u;if(!c.ok){const p=d?f:void 0,m=p==null?void 0:p.error;throw new zn((m==null?void 0:m.message)??`Request failed with status ${c.status}`,{status:c.status,icebergType:m==null?void 0:m.type,icebergCode:m==null?void 0:m.code,details:p})}return{status:c.status,headers:c.headers,data:f}}}}function ur(e){return e.join("")}var i0=class{constructor(e,t=""){this.client=e,this.prefix=t}async listNamespaces(e){const t=e?{parent:ur(e.namespace)}:void 0;return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces`,query:t})).data.namespaces.map(n=>({namespace:n}))}async createNamespace(e,t){const s={namespace:e.namespace,properties:t==null?void 0:t.properties};return(await this.client.request({method:"POST",path:`${this.prefix}/namespaces`,body:s})).data}async dropNamespace(e){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${ur(e.namespace)}`})}async loadNamespaceMetadata(e){return{properties:(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${ur(e.namespace)}`})).data.properties}}async namespaceExists(e){try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${ur(e.namespace)}`}),!0}catch(t){if(t instanceof zn&&t.status===404)return!1;throw t}}async createNamespaceIfNotExists(e,t){try{return await this.createNamespace(e,t)}catch(s){if(s instanceof zn&&s.status===409)return;throw s}}};function Vs(e){return e.join("")}var a0=class{constructor(e,t="",s){this.client=e,this.prefix=t,this.accessDelegation=s}async listTables(e){return(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables`})).data.identifiers}async createTable(e,t){const s={};return this.accessDelegation&&(s["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables`,body:t,headers:s})).data.metadata}async updateTable(e,t){const s=await this.client.request({method:"POST",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,body:t});return{"metadata-location":s.data["metadata-location"],metadata:s.data.metadata}}async dropTable(e,t){await this.client.request({method:"DELETE",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,query:{purgeRequested:String((t==null?void 0:t.purge)??!1)}})}async loadTable(e){const t={};return this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation),(await this.client.request({method:"GET",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,headers:t})).data.metadata}async tableExists(e){const t={};this.accessDelegation&&(t["X-Iceberg-Access-Delegation"]=this.accessDelegation);try{return await this.client.request({method:"HEAD",path:`${this.prefix}/namespaces/${Vs(e.namespace)}/tables/${e.name}`,headers:t}),!0}catch(s){if(s instanceof zn&&s.status===404)return!1;throw s}}async createTableIfNotExists(e,t){try{return await this.createTable(e,t)}catch(s){if(s instanceof zn&&s.status===409)return await this.loadTable({namespace:e.namespace,name:t.name});throw s}}},o0=class{constructor(e){var n;let t="v1";e.catalogName&&(t+=`/${e.catalogName}`);const s=e.baseUrl.endsWith("/")?e.baseUrl:`${e.baseUrl}/`;this.client=r0({baseUrl:s,auth:e.auth,fetchImpl:e.fetch}),this.accessDelegation=(n=e.accessDelegation)==null?void 0:n.join(","),this.namespaceOps=new i0(this.client,t),this.tableOps=new a0(this.client,t,this.accessDelegation)}async listNamespaces(e){return this.namespaceOps.listNamespaces(e)}async createNamespace(e,t){return this.namespaceOps.createNamespace(e,t)}async dropNamespace(e){await this.namespaceOps.dropNamespace(e)}async loadNamespaceMetadata(e){return this.namespaceOps.loadNamespaceMetadata(e)}async listTables(e){return this.tableOps.listTables(e)}async createTable(e,t){return this.tableOps.createTable(e,t)}async updateTable(e,t){return this.tableOps.updateTable(e,t)}async dropTable(e,t){await this.tableOps.dropTable(e,t)}async loadTable(e){return this.tableOps.loadTable(e)}async namespaceExists(e){return this.namespaceOps.namespaceExists(e)}async tableExists(e){return this.tableOps.tableExists(e)}async createNamespaceIfNotExists(e,t){return this.namespaceOps.createNamespaceIfNotExists(e,t)}async createTableIfNotExists(e,t){return this.tableOps.createTableIfNotExists(e,t)}};function Kn(e){"@babel/helpers - typeof";return Kn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Kn(e)}function l0(e,t){if(Kn(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var n=s.call(e,t);if(Kn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function c0(e){var t=l0(e,"string");return Kn(t)=="symbol"?t:t+""}function u0(e,t,s){return(t=c0(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function il(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,n)}return s}function xe(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?il(Object(s),!0).forEach(function(n){u0(e,n,s[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):il(Object(s)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(s,n))})}return e}var ai=class extends Error{constructor(e,t="storage",s,n){super(e),this.__isStorageError=!0,this.namespace=t,this.name=t==="vectors"?"StorageVectorsError":"StorageError",this.status=s,this.statusCode=n}toJSON(){return{name:this.name,message:this.message,status:this.status,statusCode:this.statusCode}}};function oi(e){return typeof e=="object"&&e!==null&&"__isStorageError"in e}var na=class extends ai{constructor(e,t,s,n="storage"){super(e,n,t,s),this.name=n==="vectors"?"StorageVectorsApiError":"StorageApiError",this.status=t,this.statusCode=s}toJSON(){return xe({},super.toJSON())}},Su=class extends ai{constructor(e,t,s="storage"){super(e,s),this.name=s==="vectors"?"StorageVectorsUnknownError":"StorageUnknownError",this.originalError=t}};function Ir(e,t,s){const n=xe({},e),r=t.toLowerCase();for(const i of Object.keys(n))i.toLowerCase()===r&&delete n[i];return n[r]=s,n}function d0(e){const t={};for(const[s,n]of Object.entries(e))t[s.toLowerCase()]=n;return t}const h0=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),f0=e=>{if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},ra=e=>{if(Array.isArray(e))return e.map(s=>ra(s));if(typeof e=="function"||e!==Object(e))return e;const t={};return Object.entries(e).forEach(([s,n])=>{const r=s.replace(/([-_][a-z])/gi,i=>i.toUpperCase().replace(/[-_]/g,""));t[r]=ra(n)}),t},p0=e=>!e||typeof e!="string"||e.length===0||e.length>100||e.trim()!==e||e.includes("/")||e.includes("\\")?!1:/^[\w!.\*'() &$@=;:+,?-]+$/.test(e),al=e=>{if(typeof e=="object"&&e!==null){const t=e;if(typeof t.msg=="string")return t.msg;if(typeof t.message=="string")return t.message;if(typeof t.error_description=="string")return t.error_description;if(typeof t.error=="string")return t.error;if(typeof t.error=="object"&&t.error!==null){const s=t.error;if(typeof s.message=="string")return s.message}}return JSON.stringify(e)},g0=async(e,t,s,n)=>{if(e!==null&&typeof e=="object"&&"json"in e&&typeof e.json=="function"){const r=e;let i=parseInt(String(r.status),10);Number.isFinite(i)||(i=500),r.json().then(a=>{const o=(a==null?void 0:a.statusCode)||(a==null?void 0:a.code)||i+"";t(new na(al(a),i,o,n))}).catch(()=>{const a=i+"";t(new na(r.statusText||`HTTP ${i} error`,i,a,n))})}else t(new Su(al(e),e,n))},m0=(e,t,s,n)=>{const r={method:e,headers:(t==null?void 0:t.headers)||{}};if(e==="GET"||e==="HEAD"||!n)return xe(xe({},r),s);if(f0(n)){var i;const a=(t==null?void 0:t.headers)||{};let o;for(const[l,c]of Object.entries(a))l.toLowerCase()==="content-type"&&(o=c);r.headers=Ir(a,"Content-Type",(i=o)!==null&&i!==void 0?i:"application/json"),r.body=JSON.stringify(n)}else r.body=n;return t!=null&&t.duplex&&(r.duplex=t.duplex),xe(xe({},r),s)};async function yn(e,t,s,n,r,i,a){return new Promise((o,l)=>{e(s,m0(t,n,r,i)).then(c=>{if(!c.ok)throw c;if(n!=null&&n.noResolveJson)return c;if(a==="vectors"){const u=c.headers.get("content-type");if(c.headers.get("content-length")==="0"||c.status===204)return{};if(!u||!u.includes("application/json"))return{}}return c.json()}).then(c=>o(c)).catch(c=>g0(c,l,n,a))})}function Tu(e="storage"){return{get:async(t,s,n,r)=>yn(t,"GET",s,n,r,void 0,e),post:async(t,s,n,r,i)=>yn(t,"POST",s,r,i,n,e),put:async(t,s,n,r,i)=>yn(t,"PUT",s,r,i,n,e),head:async(t,s,n,r)=>yn(t,"HEAD",s,xe(xe({},n),{},{noResolveJson:!0}),r,void 0,e),remove:async(t,s,n,r,i)=>yn(t,"DELETE",s,r,i,n,e)}}const b0=Tu("storage"),{get:Wn,post:Tt,put:ia,head:v0,remove:Ia}=b0,gt=Tu("vectors");var pn=class{constructor(e,t={},s,n="storage"){this.shouldThrowOnError=!1,this.url=e,this.headers=d0(t),this.fetch=h0(s),this.namespace=n}throwOnError(){return this.shouldThrowOnError=!0,this}setHeader(e,t){return this.headers=Ir(this.headers,e,t),this}async handleOperation(e){var t=this;try{return{data:await e(),error:null}}catch(s){if(t.shouldThrowOnError)throw s;if(oi(s))return{data:null,error:s};throw s}}},y0=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t}then(e,t){return this.execute().then(e,t)}async execute(){var e=this;try{return{data:(await e.downloadFn()).body,error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(oi(t))return{data:null,error:t};throw t}}};let Au;Au=Symbol.toStringTag;var _0=class{constructor(e,t){this.downloadFn=e,this.shouldThrowOnError=t,this[Au]="BlobDownloadBuilder",this.promise=null}asStream(){return new y0(this.downloadFn,this.shouldThrowOnError)}then(e,t){return this.getPromise().then(e,t)}catch(e){return this.getPromise().catch(e)}finally(e){return this.getPromise().finally(e)}getPromise(){return this.promise||(this.promise=this.execute()),this.promise}async execute(){var e=this;try{return{data:await(await e.downloadFn()).blob(),error:null}}catch(t){if(e.shouldThrowOnError)throw t;if(oi(t))return{data:null,error:t};throw t}}};const x0={limit:100,offset:0,sortBy:{column:"name",order:"asc"}},ol={cacheControl:"3600",contentType:"text/plain;charset=UTF-8",upsert:!1};var w0=class extends pn{constructor(e,t={},s,n){super(e,t,n,"storage"),this.bucketId=s}async uploadOrUpdate(e,t,s,n){var r=this;return r.handleOperation(async()=>{let i;const a=xe(xe({},ol),n);let o=xe(xe({},r.headers),e==="POST"&&{"x-upsert":String(a.upsert)});const l=a.metadata;if(typeof Blob<"u"&&s instanceof Blob?(i=new FormData,i.append("cacheControl",a.cacheControl),l&&i.append("metadata",r.encodeMetadata(l)),i.append("",s)):typeof FormData<"u"&&s instanceof FormData?(i=s,i.has("cacheControl")||i.append("cacheControl",a.cacheControl),l&&!i.has("metadata")&&i.append("metadata",r.encodeMetadata(l))):(i=s,o["cache-control"]=`max-age=${a.cacheControl}`,o["content-type"]=a.contentType,l&&(o["x-metadata"]=r.toBase64(r.encodeMetadata(l))),(typeof ReadableStream<"u"&&i instanceof ReadableStream||i&&typeof i=="object"&&"pipe"in i&&typeof i.pipe=="function")&&!a.duplex&&(a.duplex="half")),n!=null&&n.headers)for(const[f,p]of Object.entries(n.headers))o=Ir(o,f,p);const c=r._removeEmptyFolders(t),u=r._getFinalPath(c),d=await(e=="PUT"?ia:Tt)(r.fetch,`${r.url}/object/${u}`,i,xe({headers:o},a!=null&&a.duplex?{duplex:a.duplex}:{}));return{path:c,id:d.Id,fullPath:d.Key}})}async upload(e,t,s){return this.uploadOrUpdate("POST",e,t,s)}async uploadToSignedUrl(e,t,s,n){var r=this;const i=r._removeEmptyFolders(e),a=r._getFinalPath(i),o=new URL(r.url+`/object/upload/sign/${a}`);return o.searchParams.set("token",t),r.handleOperation(async()=>{let l;const c=xe(xe({},ol),n);let u=xe(xe({},r.headers),{"x-upsert":String(c.upsert)});const d=c.metadata;if(typeof Blob<"u"&&s instanceof Blob?(l=new FormData,l.append("cacheControl",c.cacheControl),d&&l.append("metadata",r.encodeMetadata(d)),l.append("",s)):typeof FormData<"u"&&s instanceof FormData?(l=s,l.has("cacheControl")||l.append("cacheControl",c.cacheControl),d&&!l.has("metadata")&&l.append("metadata",r.encodeMetadata(d))):(l=s,u["cache-control"]=`max-age=${c.cacheControl}`,u["content-type"]=c.contentType,d&&(u["x-metadata"]=r.toBase64(r.encodeMetadata(d))),(typeof ReadableStream<"u"&&l instanceof ReadableStream||l&&typeof l=="object"&&"pipe"in l&&typeof l.pipe=="function")&&!c.duplex&&(c.duplex="half")),n!=null&&n.headers)for(const[f,p]of Object.entries(n.headers))u=Ir(u,f,p);return{path:i,fullPath:(await ia(r.fetch,o.toString(),l,xe({headers:u},c!=null&&c.duplex?{duplex:c.duplex}:{}))).Key}})}async createSignedUploadUrl(e,t){var s=this;return s.handleOperation(async()=>{let n=s._getFinalPath(e);const r=xe({},s.headers);t!=null&&t.upsert&&(r["x-upsert"]="true");const i=await Tt(s.fetch,`${s.url}/object/upload/sign/${n}`,{},{headers:r}),a=new URL(s.url+i.url),o=a.searchParams.get("token");if(!o)throw new ai("No token returned by API");return{signedUrl:a.toString(),path:e,token:o}})}async update(e,t,s){return this.uploadOrUpdate("PUT",e,t,s)}async move(e,t,s){var n=this;return n.handleOperation(async()=>await Tt(n.fetch,`${n.url}/object/move`,{bucketId:n.bucketId,sourceKey:e,destinationKey:t,destinationBucket:s==null?void 0:s.destinationBucket},{headers:n.headers}))}async copy(e,t,s){var n=this;return n.handleOperation(async()=>({path:(await Tt(n.fetch,`${n.url}/object/copy`,{bucketId:n.bucketId,sourceKey:e,destinationKey:t,destinationBucket:s==null?void 0:s.destinationBucket},{headers:n.headers})).Key}))}async createSignedUrl(e,t,s){var n=this;return n.handleOperation(async()=>{let r=n._getFinalPath(e);const i=typeof(s==null?void 0:s.transform)=="object"&&s.transform!==null&&Object.keys(s.transform).length>0;let a=await Tt(n.fetch,`${n.url}/object/sign/${r}`,xe({expiresIn:t},i?{transform:s.transform}:{}),{headers:n.headers});const o=new URLSearchParams;s!=null&&s.download&&o.set("download",s.download===!0?"":s.download),(s==null?void 0:s.cacheNonce)!=null&&o.set("cacheNonce",String(s.cacheNonce));const l=o.toString();return{signedUrl:encodeURI(`${n.url}${a.signedURL}${l?`&${l}`:""}`)}})}async createSignedUrls(e,t,s){var n=this;return n.handleOperation(async()=>{const r=await Tt(n.fetch,`${n.url}/object/sign/${n.bucketId}`,{expiresIn:t,paths:e},{headers:n.headers}),i=new URLSearchParams;s!=null&&s.download&&i.set("download",s.download===!0?"":s.download),(s==null?void 0:s.cacheNonce)!=null&&i.set("cacheNonce",String(s.cacheNonce));const a=i.toString();return r.map(o=>xe(xe({},o),{},{signedUrl:o.signedURL?encodeURI(`${n.url}${o.signedURL}${a?`&${a}`:""}`):null}))})}download(e,t,s){const n=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image/authenticated":"object",r=new URLSearchParams;t!=null&&t.transform&&this.applyTransformOptsToQuery(r,t.transform),(t==null?void 0:t.cacheNonce)!=null&&r.set("cacheNonce",String(t.cacheNonce));const i=r.toString(),a=this._getFinalPath(e),o=()=>Wn(this.fetch,`${this.url}/${n}/${a}${i?`?${i}`:""}`,{headers:this.headers,noResolveJson:!0},s);return new _0(o,this.shouldThrowOnError)}async info(e){var t=this;const s=t._getFinalPath(e);return t.handleOperation(async()=>ra(await Wn(t.fetch,`${t.url}/object/info/${s}`,{headers:t.headers})))}async exists(e){var t=this;const s=t._getFinalPath(e);try{return await v0(t.fetch,`${t.url}/object/${s}`,{headers:t.headers}),{data:!0,error:null}}catch(r){if(t.shouldThrowOnError)throw r;if(oi(r)){var n;const i=r instanceof na?r.status:r instanceof Su?(n=r.originalError)===null||n===void 0?void 0:n.status:void 0;if(i!==void 0&&[400,404].includes(i))return{data:!1,error:r}}throw r}}getPublicUrl(e,t){const s=this._getFinalPath(e),n=new URLSearchParams;t!=null&&t.download&&n.set("download",t.download===!0?"":t.download),t!=null&&t.transform&&this.applyTransformOptsToQuery(n,t.transform),(t==null?void 0:t.cacheNonce)!=null&&n.set("cacheNonce",String(t.cacheNonce));const r=n.toString(),i=typeof(t==null?void 0:t.transform)=="object"&&t.transform!==null&&Object.keys(t.transform).length>0?"render/image":"object";return{data:{publicUrl:encodeURI(`${this.url}/${i}/public/${s}`)+(r?`?${r}`:"")}}}async remove(e){var t=this;return t.handleOperation(async()=>await Ia(t.fetch,`${t.url}/object/${t.bucketId}`,{prefixes:e},{headers:t.headers}))}async list(e,t,s){var n=this;return n.handleOperation(async()=>{const r=xe(xe(xe({},x0),t),{},{prefix:e||""});return await Tt(n.fetch,`${n.url}/object/list/${n.bucketId}`,r,{headers:n.headers},s)})}async listV2(e,t){var s=this;return s.handleOperation(async()=>{const n=xe({},e);return await Tt(s.fetch,`${s.url}/object/list-v2/${s.bucketId}`,n,{headers:s.headers},t)})}encodeMetadata(e){return JSON.stringify(e)}toBase64(e){return typeof Buffer<"u"?Buffer.from(e).toString("base64"):btoa(e)}_getFinalPath(e){return`${this.bucketId}/${e.replace(/^\/+/,"")}`}_removeEmptyFolders(e){return e.replace(/^\/|\/$/g,"").replace(/\/+/g,"/")}applyTransformOptsToQuery(e,t){return t.width&&e.set("width",t.width.toString()),t.height&&e.set("height",t.height.toString()),t.resize&&e.set("resize",t.resize),t.format&&e.set("format",t.format),t.quality&&e.set("quality",t.quality.toString()),e}};const k0="2.105.4",sr={"X-Client-Info":`storage-js/${k0}`};var E0=class extends pn{constructor(e,t={},s,n){const r=new URL(e);n!=null&&n.useNewHostname&&/supabase\.(co|in|red)$/.test(r.hostname)&&!r.hostname.includes("storage.supabase.")&&(r.hostname=r.hostname.replace("supabase.","storage.supabase."));const i=r.href.replace(/\/$/,""),a=xe(xe({},sr),t);super(i,a,s,"storage")}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const s=t.listBucketOptionsToQueryString(e);return await Wn(t.fetch,`${t.url}/bucket${s}`,{headers:t.headers})})}async getBucket(e){var t=this;return t.handleOperation(async()=>await Wn(t.fetch,`${t.url}/bucket/${e}`,{headers:t.headers}))}async createBucket(e,t={public:!1}){var s=this;return s.handleOperation(async()=>await Tt(s.fetch,`${s.url}/bucket`,{id:e,name:e,type:t.type,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:s.headers}))}async updateBucket(e,t){var s=this;return s.handleOperation(async()=>await ia(s.fetch,`${s.url}/bucket/${e}`,{id:e,name:e,public:t.public,file_size_limit:t.fileSizeLimit,allowed_mime_types:t.allowedMimeTypes},{headers:s.headers}))}async emptyBucket(e){var t=this;return t.handleOperation(async()=>await Tt(t.fetch,`${t.url}/bucket/${e}/empty`,{},{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ia(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}listBucketOptionsToQueryString(e){const t={};return e&&("limit"in e&&(t.limit=String(e.limit)),"offset"in e&&(t.offset=String(e.offset)),e.search&&(t.search=e.search),e.sortColumn&&(t.sortColumn=e.sortColumn),e.sortOrder&&(t.sortOrder=e.sortOrder)),Object.keys(t).length>0?"?"+new URLSearchParams(t).toString():""}},S0=class extends pn{constructor(e,t={},s){const n=e.replace(/\/$/,""),r=xe(xe({},sr),t);super(n,r,s,"storage")}async createBucket(e){var t=this;return t.handleOperation(async()=>await Tt(t.fetch,`${t.url}/bucket`,{name:e},{headers:t.headers}))}async listBuckets(e){var t=this;return t.handleOperation(async()=>{const s=new URLSearchParams;(e==null?void 0:e.limit)!==void 0&&s.set("limit",e.limit.toString()),(e==null?void 0:e.offset)!==void 0&&s.set("offset",e.offset.toString()),e!=null&&e.sortColumn&&s.set("sortColumn",e.sortColumn),e!=null&&e.sortOrder&&s.set("sortOrder",e.sortOrder),e!=null&&e.search&&s.set("search",e.search);const n=s.toString(),r=n?`${t.url}/bucket?${n}`:`${t.url}/bucket`;return await Wn(t.fetch,r,{headers:t.headers})})}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await Ia(t.fetch,`${t.url}/bucket/${e}`,{},{headers:t.headers}))}from(e){var t=this;if(!p0(e))throw new ai("Invalid bucket name: File, folder, and bucket names must follow AWS object key naming guidelines and should avoid the use of any other characters.");const s=new o0({baseUrl:this.url,catalogName:e,auth:{type:"custom",getHeaders:async()=>t.headers},fetch:this.fetch}),n=this.shouldThrowOnError;return new Proxy(s,{get(r,i){const a=r[i];return typeof a!="function"?a:async(...o)=>{try{return{data:await a.apply(r,o),error:null}}catch(l){if(n)throw l;return{data:null,error:l}}}}})}},T0=class extends pn{constructor(e,t={},s){const n=e.replace(/\/$/,""),r=xe(xe({},sr),{},{"Content-Type":"application/json"},t);super(n,r,s,"vectors")}async createIndex(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/CreateIndex`,e,{headers:t.headers})||{})}async getIndex(e,t){var s=this;return s.handleOperation(async()=>await gt.post(s.fetch,`${s.url}/GetIndex`,{vectorBucketName:e,indexName:t},{headers:s.headers}))}async listIndexes(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/ListIndexes`,e,{headers:t.headers}))}async deleteIndex(e,t){var s=this;return s.handleOperation(async()=>await gt.post(s.fetch,`${s.url}/DeleteIndex`,{vectorBucketName:e,indexName:t},{headers:s.headers})||{})}},A0=class extends pn{constructor(e,t={},s){const n=e.replace(/\/$/,""),r=xe(xe({},sr),{},{"Content-Type":"application/json"},t);super(n,r,s,"vectors")}async putVectors(e){var t=this;if(e.vectors.length<1||e.vectors.length>500)throw new Error("Vector batch size must be between 1 and 500 items");return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/PutVectors`,e,{headers:t.headers})||{})}async getVectors(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/GetVectors`,e,{headers:t.headers}))}async listVectors(e){var t=this;if(e.segmentCount!==void 0){if(e.segmentCount<1||e.segmentCount>16)throw new Error("segmentCount must be between 1 and 16");if(e.segmentIndex!==void 0&&(e.segmentIndex<0||e.segmentIndex>=e.segmentCount))throw new Error(`segmentIndex must be between 0 and ${e.segmentCount-1}`)}return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/ListVectors`,e,{headers:t.headers}))}async queryVectors(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/QueryVectors`,e,{headers:t.headers}))}async deleteVectors(e){var t=this;if(e.keys.length<1||e.keys.length>500)throw new Error("Keys batch size must be between 1 and 500 items");return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/DeleteVectors`,e,{headers:t.headers})||{})}},R0=class extends pn{constructor(e,t={},s){const n=e.replace(/\/$/,""),r=xe(xe({},sr),{},{"Content-Type":"application/json"},t);super(n,r,s,"vectors")}async createBucket(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/CreateVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}async getBucket(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/GetVectorBucket`,{vectorBucketName:e},{headers:t.headers}))}async listBuckets(e={}){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/ListVectorBuckets`,e,{headers:t.headers}))}async deleteBucket(e){var t=this;return t.handleOperation(async()=>await gt.post(t.fetch,`${t.url}/DeleteVectorBucket`,{vectorBucketName:e},{headers:t.headers})||{})}},C0=class extends R0{constructor(e,t={}){super(e,t.headers||{},t.fetch)}from(e){return new O0(this.url,this.headers,e,this.fetch)}async createBucket(e){var t=()=>super.createBucket,s=this;return t().call(s,e)}async getBucket(e){var t=()=>super.getBucket,s=this;return t().call(s,e)}async listBuckets(e={}){var t=()=>super.listBuckets,s=this;return t().call(s,e)}async deleteBucket(e){var t=()=>super.deleteBucket,s=this;return t().call(s,e)}},O0=class extends T0{constructor(e,t,s,n){super(e,t,n),this.vectorBucketName=s}async createIndex(e){var t=()=>super.createIndex,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName}))}async listIndexes(e={}){var t=()=>super.listIndexes,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName}))}async getIndex(e){var t=()=>super.getIndex,s=this;return t().call(s,s.vectorBucketName,e)}async deleteIndex(e){var t=()=>super.deleteIndex,s=this;return t().call(s,s.vectorBucketName,e)}index(e){return new $0(this.url,this.headers,this.vectorBucketName,e,this.fetch)}},$0=class extends A0{constructor(e,t,s,n,r){super(e,t,r),this.vectorBucketName=s,this.indexName=n}async putVectors(e){var t=()=>super.putVectors,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async getVectors(e){var t=()=>super.getVectors,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async listVectors(e={}){var t=()=>super.listVectors,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async queryVectors(e){var t=()=>super.queryVectors,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}async deleteVectors(e){var t=()=>super.deleteVectors,s=this;return t().call(s,xe(xe({},e),{},{vectorBucketName:s.vectorBucketName,indexName:s.indexName}))}},N0=class extends E0{constructor(e,t={},s,n){super(e,t,s,n)}from(e){return new w0(this.url,this.headers,e,this.fetch)}get vectors(){return new C0(this.url+"/vector",{headers:this.headers,fetch:this.fetch})}get analytics(){return new S0(this.url+"/iceberg",this.headers,this.fetch)}};const Ru="2.105.4",Xs=30*1e3,aa=3,Ai=aa*Xs,I0="http://localhost:9999",P0="supabase.auth.token",L0={"X-Client-Info":`gotrue-js/${Ru}`},oa="X-Supabase-Api-Version",Cu={"2024-01-01":{timestamp:Date.parse("2024-01-01T00:00:00.0Z"),name:"2024-01-01"}},M0=/^([a-z0-9_-]{4})*($|[a-z0-9_-]{3}$|[a-z0-9_-]{2}$)$/i,j0=10*60*1e3;class Gn extends Error{constructor(t,s,n){super(t),this.__isAuthError=!0,this.name="AuthError",this.status=s,this.code=n}toJSON(){return{name:this.name,message:this.message,status:this.status,code:this.code}}}function le(e){return typeof e=="object"&&e!==null&&"__isAuthError"in e}class D0 extends Gn{constructor(t,s,n){super(t,s,n),this.name="AuthApiError",this.status=s,this.code=n}}function U0(e){return le(e)&&e.name==="AuthApiError"}class Ct extends Gn{constructor(t,s){super(t),this.name="AuthUnknownError",this.originalError=s}}class us extends Gn{constructor(t,s,n,r){super(t,n,r),this.name=s,this.status=n}}class et extends us{constructor(){super("Auth session missing!","AuthSessionMissingError",400,void 0)}}function dr(e){return le(e)&&e.name==="AuthSessionMissingError"}class qs extends us{constructor(){super("Auth session or user missing","AuthInvalidTokenResponseError",500,void 0)}}class hr extends us{constructor(t){super(t,"AuthInvalidCredentialsError",400,void 0)}}class fr extends us{constructor(t,s=null){super(t,"AuthImplicitGrantRedirectError",500,void 0),this.details=null,this.details=s}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}function B0(e){return le(e)&&e.name==="AuthImplicitGrantRedirectError"}class ll extends us{constructor(t,s=null){super(t,"AuthPKCEGrantCodeExchangeError",500,void 0),this.details=null,this.details=s}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{details:this.details})}}class H0 extends us{constructor(){super("PKCE code verifier not found in storage. This can happen if the auth flow was initiated in a different browser or device, or if the storage was cleared. For SSR frameworks (Next.js, SvelteKit, etc.), use @supabase/ssr on both the server and client to store the code verifier in cookies.","AuthPKCECodeVerifierMissingError",400,"pkce_code_verifier_not_found")}}class la extends us{constructor(t,s){super(t,"AuthRetryableFetchError",s,void 0)}}function Ri(e){return le(e)&&e.name==="AuthRetryableFetchError"}class cl extends us{constructor(t,s,n){super(t,"AuthWeakPasswordError",s,"weak_password"),this.reasons=n}toJSON(){return Object.assign(Object.assign({},super.toJSON()),{reasons:this.reasons})}}class ca extends us{constructor(t){super(t,"AuthInvalidJwtError",400,"invalid_jwt")}}const Pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".split(""),ul=`
56
- \r=`.split(""),F0=(()=>{const e=new Array(128);for(let t=0;t<e.length;t+=1)e[t]=-1;for(let t=0;t<ul.length;t+=1)e[ul[t].charCodeAt(0)]=-2;for(let t=0;t<Pr.length;t+=1)e[Pr[t].charCodeAt(0)]=t;return e})();function dl(e,t,s){if(e!==null)for(t.queue=t.queue<<8|e,t.queuedBits+=8;t.queuedBits>=6;){const n=t.queue>>t.queuedBits-6&63;s(Pr[n]),t.queuedBits-=6}else if(t.queuedBits>0)for(t.queue=t.queue<<6-t.queuedBits,t.queuedBits=6;t.queuedBits>=6;){const n=t.queue>>t.queuedBits-6&63;s(Pr[n]),t.queuedBits-=6}}function Ou(e,t,s){const n=F0[e];if(n>-1)for(t.queue=t.queue<<6|n,t.queuedBits+=6;t.queuedBits>=8;)s(t.queue>>t.queuedBits-8&255),t.queuedBits-=8;else{if(n===-2)return;throw new Error(`Invalid Base64-URL character "${String.fromCharCode(e)}"`)}}function hl(e){const t=[],s=a=>{t.push(String.fromCodePoint(a))},n={utf8seq:0,codepoint:0},r={queue:0,queuedBits:0},i=a=>{z0(a,n,s)};for(let a=0;a<e.length;a+=1)Ou(e.charCodeAt(a),r,i);return t.join("")}function V0(e,t){if(e<=127){t(e);return}else if(e<=2047){t(192|e>>6),t(128|e&63);return}else if(e<=65535){t(224|e>>12),t(128|e>>6&63),t(128|e&63);return}else if(e<=1114111){t(240|e>>18),t(128|e>>12&63),t(128|e>>6&63),t(128|e&63);return}throw new Error(`Unrecognized Unicode codepoint: ${e.toString(16)}`)}function q0(e,t){for(let s=0;s<e.length;s+=1){let n=e.charCodeAt(s);if(n>55295&&n<=56319){const r=(n-55296)*1024&65535;n=(e.charCodeAt(s+1)-56320&65535|r)+65536,s+=1}V0(n,t)}}function z0(e,t,s){if(t.utf8seq===0){if(e<=127){s(e);return}for(let n=1;n<6;n+=1)if(!(e>>7-n&1)){t.utf8seq=n;break}if(t.utf8seq===2)t.codepoint=e&31;else if(t.utf8seq===3)t.codepoint=e&15;else if(t.utf8seq===4)t.codepoint=e&7;else throw new Error("Invalid UTF-8 sequence");t.utf8seq-=1}else if(t.utf8seq>0){if(e<=127)throw new Error("Invalid UTF-8 sequence");t.codepoint=t.codepoint<<6|e&63,t.utf8seq-=1,t.utf8seq===0&&s(t.codepoint)}}function on(e){const t=[],s={queue:0,queuedBits:0},n=r=>{t.push(r)};for(let r=0;r<e.length;r+=1)Ou(e.charCodeAt(r),s,n);return new Uint8Array(t)}function K0(e){const t=[];return q0(e,s=>t.push(s)),new Uint8Array(t)}function Ns(e){const t=[],s={queue:0,queuedBits:0},n=r=>{t.push(r)};return e.forEach(r=>dl(r,s,n)),dl(null,s,n),t.join("")}function W0(e){return Math.round(Date.now()/1e3)+e}function G0(){return Symbol("auth-callback")}const st=()=>typeof window<"u"&&typeof document<"u",Ts={tested:!1,writable:!1},$u=()=>{if(!st())return!1;try{if(typeof globalThis.localStorage!="object")return!1}catch{return!1}if(Ts.tested)return Ts.writable;const e=`lswt-${Math.random()}${Math.random()}`;try{globalThis.localStorage.setItem(e,e),globalThis.localStorage.removeItem(e),Ts.tested=!0,Ts.writable=!0}catch{Ts.tested=!0,Ts.writable=!1}return Ts.writable};function Z0(e){const t={},s=new URL(e);if(s.hash&&s.hash[0]==="#")try{new URLSearchParams(s.hash.substring(1)).forEach((r,i)=>{t[i]=r})}catch{}return s.searchParams.forEach((n,r)=>{t[r]=n}),t}const Nu=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),J0=e=>typeof e=="object"&&e!==null&&"status"in e&&"ok"in e&&"json"in e&&typeof e.json=="function",Qs=async(e,t,s)=>{await e.setItem(t,JSON.stringify(s))},As=async(e,t)=>{const s=await e.getItem(t);if(!s)return null;try{return JSON.parse(s)}catch{return null}},tt=async(e,t)=>{await e.removeItem(t)};class li{constructor(){this.promise=new li.promiseConstructor((t,s)=>{this.resolve=t,this.reject=s})}}li.promiseConstructor=Promise;function pr(e){const t=e.split(".");if(t.length!==3)throw new ca("Invalid JWT structure");for(let n=0;n<t.length;n++)if(!M0.test(t[n]))throw new ca("JWT not in base64url format");return{header:JSON.parse(hl(t[0])),payload:JSON.parse(hl(t[1])),signature:on(t[2]),raw:{header:t[0],payload:t[1]}}}async function Y0(e){return await new Promise(t=>{setTimeout(()=>t(null),e)})}function X0(e,t){return new Promise((n,r)=>{(async()=>{for(let i=0;i<1/0;i++)try{const a=await e(i);if(!t(i,null,a)){n(a);return}}catch(a){if(!t(i,a)){r(a);return}}})()})}function Q0(e){return("0"+e.toString(16)).substr(-2)}function em(){const t=new Uint32Array(56);if(typeof crypto>"u"){const s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~",n=s.length;let r="";for(let i=0;i<56;i++)r+=s.charAt(Math.floor(Math.random()*n));return r}return crypto.getRandomValues(t),Array.from(t,Q0).join("")}async function tm(e){const s=new TextEncoder().encode(e),n=await crypto.subtle.digest("SHA-256",s),r=new Uint8Array(n);return Array.from(r).map(i=>String.fromCharCode(i)).join("")}async function sm(e){if(!(typeof crypto<"u"&&typeof crypto.subtle<"u"&&typeof TextEncoder<"u"))return console.warn("WebCrypto API is not supported. Code challenge method will default to use plain instead of sha256."),e;const s=await tm(e);return btoa(s).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}async function zs(e,t,s=!1){const n=em();let r=n;s&&(r+="/recovery"),await Qs(e,`${t}-code-verifier`,r);const i=await sm(n);return[i,n===i?"plain":"s256"]}const nm=/^2[0-9]{3}-(0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-9]|3[0-1])$/i;function rm(e){const t=e.headers.get(oa);if(!t||!t.match(nm))return null;try{return new Date(`${t}T00:00:00.0Z`)}catch{return null}}function im(e){if(!e)throw new Error("Missing exp claim");const t=Math.floor(Date.now()/1e3);if(e<=t)throw new Error("JWT has expired")}function am(e){switch(e){case"RS256":return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case"ES256":return{name:"ECDSA",namedCurve:"P-256",hash:{name:"SHA-256"}};default:throw new Error("Invalid alg claim")}}const om=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/;function Jt(e){if(!om.test(e))throw new Error("@supabase/auth-js: Expected parameter to be UUID but is not")}function St(e){if(!e.passkey)throw new Error("@supabase/auth-js: the passkey API is experimental and disabled by default. Enable it by passing `auth: { experimental: { passkey: true } }` to createClient (or to the GoTrueClient constructor).")}function Ci(){const e={};return new Proxy(e,{get:(t,s)=>{if(s==="__isUserNotAvailableProxy")return!0;if(typeof s=="symbol"){const n=s.toString();if(n==="Symbol(Symbol.toPrimitive)"||n==="Symbol(Symbol.toStringTag)"||n==="Symbol(util.inspect.custom)")return}throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Accessing the "${s}" property of the session object is not supported. Please use getUser() instead.`)},set:(t,s)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Setting the "${s}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)},deleteProperty:(t,s)=>{throw new Error(`@supabase/auth-js: client was created with userStorage option and there was no user stored in the user storage. Deleting the "${s}" property of the session object is not supported. Please use getUser() to fetch a user object you can manipulate.`)}})}function lm(e,t){return new Proxy(e,{get:(s,n,r)=>{if(n==="__isInsecureUserWarningProxy")return!0;if(typeof n=="symbol"){const i=n.toString();if(i==="Symbol(Symbol.toPrimitive)"||i==="Symbol(Symbol.toStringTag)"||i==="Symbol(util.inspect.custom)"||i==="Symbol(nodejs.util.inspect.custom)")return Reflect.get(s,n,r)}return!t.value&&typeof n=="string"&&(console.warn("Using the user object as returned from supabase.auth.getSession() or from some supabase.auth.onAuthStateChange() events could be insecure! This value comes directly from the storage medium (usually cookies on the server) and may not be authentic. Use supabase.auth.getUser() instead which authenticates the data by contacting the Supabase Auth server."),t.value=!0),Reflect.get(s,n,r)}})}function fl(e){return JSON.parse(JSON.stringify(e))}const Cs=e=>{if(typeof e=="object"&&e!==null){const t=e;if(typeof t.msg=="string")return t.msg;if(typeof t.message=="string")return t.message;if(typeof t.error_description=="string")return t.error_description;if(typeof t.error=="string")return t.error}return JSON.stringify(e)},cm=[502,503,504,520,521,522,523,524,530];async function pl(e){var t;if(!J0(e))throw new la(Cs(e),0);if(cm.includes(e.status))throw new la(Cs(e),e.status);let s;try{s=await e.json()}catch(i){throw new Ct(Cs(i),i)}let n;const r=rm(e);if(r&&r.getTime()>=Cu["2024-01-01"].timestamp&&typeof s=="object"&&s&&typeof s.code=="string"?n=s.code:typeof s=="object"&&s&&typeof s.error_code=="string"&&(n=s.error_code),n){if(n==="weak_password")throw new cl(Cs(s),e.status,((t=s.weak_password)===null||t===void 0?void 0:t.reasons)||[]);if(n==="session_not_found")throw new et}else if(typeof s=="object"&&s&&typeof s.weak_password=="object"&&s.weak_password&&Array.isArray(s.weak_password.reasons)&&s.weak_password.reasons.length&&s.weak_password.reasons.reduce((i,a)=>i&&typeof a=="string",!0))throw new cl(Cs(s),e.status,s.weak_password.reasons);throw new D0(Cs(s),e.status||500,n)}const um=(e,t,s,n)=>{const r={method:e,headers:(t==null?void 0:t.headers)||{}};return e==="GET"?r:(r.headers=Object.assign({"Content-Type":"application/json;charset=UTF-8"},t==null?void 0:t.headers),r.body=JSON.stringify(n),Object.assign(Object.assign({},r),s))};async function ue(e,t,s,n){var r;const i=Object.assign({},n==null?void 0:n.headers);i[oa]||(i[oa]=Cu["2024-01-01"].name),n!=null&&n.jwt&&(i.Authorization=`Bearer ${n.jwt}`);const a=(r=n==null?void 0:n.query)!==null&&r!==void 0?r:{};n!=null&&n.redirectTo&&(a.redirect_to=n.redirectTo);const o=Object.keys(a).length?"?"+new URLSearchParams(a).toString():"",l=await dm(e,t,s+o,{headers:i,noResolveJson:n==null?void 0:n.noResolveJson},{},n==null?void 0:n.body);return n!=null&&n.xform?n==null?void 0:n.xform(l):{data:Object.assign({},l),error:null}}async function dm(e,t,s,n,r,i){const a=um(t,n,r,i);let o;try{o=await e(s,Object.assign({},a))}catch(l){throw console.error(l),new la(Cs(l),0)}if(o.ok||await pl(o),n!=null&&n.noResolveJson)return o;try{return await o.json()}catch(l){await pl(l)}}function wt(e){var t;let s=null;pm(e)&&(s=Object.assign({},e),e.expires_at||(s.expires_at=W0(e.expires_in)));const n=(t=e.user)!==null&&t!==void 0?t:e;return{data:{session:s,user:n},error:null}}function gl(e){const t=wt(e);return!t.error&&e.weak_password&&typeof e.weak_password=="object"&&Array.isArray(e.weak_password.reasons)&&e.weak_password.reasons.length&&e.weak_password.message&&typeof e.weak_password.message=="string"&&e.weak_password.reasons.reduce((s,n)=>s&&typeof n=="string",!0)&&(t.data.weak_password=e.weak_password),t}function vs(e){var t;return{data:{user:(t=e.user)!==null&&t!==void 0?t:e},error:null}}function hm(e){return{data:e,error:null}}function fm(e){const{action_link:t,email_otp:s,hashed_token:n,redirect_to:r,verification_type:i}=e,a=ii(e,["action_link","email_otp","hashed_token","redirect_to","verification_type"]),o={action_link:t,email_otp:s,hashed_token:n,redirect_to:r,verification_type:i},l=Object.assign({},a);return{data:{properties:o,user:l},error:null}}function ml(e){return e}function pm(e){return!!e.access_token&&!!e.refresh_token&&!!e.expires_in}const Oi=["global","local","others"];class gm{constructor({url:t="",headers:s={},fetch:n,experimental:r}){this.url=t,this.headers=s,this.fetch=Nu(n),this.experimental=r??{},this.mfa={listFactors:this._listFactors.bind(this),deleteFactor:this._deleteFactor.bind(this)},this.oauth={listClients:this._listOAuthClients.bind(this),createClient:this._createOAuthClient.bind(this),getClient:this._getOAuthClient.bind(this),updateClient:this._updateOAuthClient.bind(this),deleteClient:this._deleteOAuthClient.bind(this),regenerateClientSecret:this._regenerateOAuthClientSecret.bind(this)},this.customProviders={listProviders:this._listCustomProviders.bind(this),createProvider:this._createCustomProvider.bind(this),getProvider:this._getCustomProvider.bind(this),updateProvider:this._updateCustomProvider.bind(this),deleteProvider:this._deleteCustomProvider.bind(this)},this.passkey={listPasskeys:this._adminListPasskeys.bind(this),deletePasskey:this._adminDeletePasskey.bind(this)}}async signOut(t,s=Oi[0]){if(Oi.indexOf(s)<0)throw new Error(`@supabase/auth-js: Parameter scope must be one of ${Oi.join(", ")}`);try{return await ue(this.fetch,"POST",`${this.url}/logout?scope=${s}`,{headers:this.headers,jwt:t,noResolveJson:!0}),{data:null,error:null}}catch(n){if(le(n))return{data:null,error:n};throw n}}async inviteUserByEmail(t,s={}){try{return await ue(this.fetch,"POST",`${this.url}/invite`,{body:{email:t,data:s.data},headers:this.headers,redirectTo:s.redirectTo,xform:vs})}catch(n){if(le(n))return{data:{user:null},error:n};throw n}}async generateLink(t){try{const{options:s}=t,n=ii(t,["options"]),r=Object.assign(Object.assign({},n),s);return"newEmail"in n&&(r.new_email=n==null?void 0:n.newEmail,delete r.newEmail),await ue(this.fetch,"POST",`${this.url}/admin/generate_link`,{body:r,headers:this.headers,xform:fm,redirectTo:s==null?void 0:s.redirectTo})}catch(s){if(le(s))return{data:{properties:null,user:null},error:s};throw s}}async createUser(t){try{return await ue(this.fetch,"POST",`${this.url}/admin/users`,{body:t,headers:this.headers,xform:vs})}catch(s){if(le(s))return{data:{user:null},error:s};throw s}}async listUsers(t){var s,n,r,i,a,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await ue(this.fetch,"GET",`${this.url}/admin/users`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(s=t==null?void 0:t.page)===null||s===void 0?void 0:s.toString())!==null&&n!==void 0?n:"",per_page:(i=(r=t==null?void 0:t.perPage)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""},xform:ml});if(u.error)throw u.error;const d=await u.json(),f=(a=u.headers.get("x-total-count"))!==null&&a!==void 0?a:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(m=>{const _=parseInt(m.split(";")[0].split("=")[1].substring(0,1)),T=JSON.parse(m.split(";")[1].split("=")[1]);c[`${T}Page`]=_}),c.total=parseInt(f)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(le(c))return{data:{users:[]},error:c};throw c}}async getUserById(t){Jt(t);try{return await ue(this.fetch,"GET",`${this.url}/admin/users/${t}`,{headers:this.headers,xform:vs})}catch(s){if(le(s))return{data:{user:null},error:s};throw s}}async updateUserById(t,s){Jt(t);try{return await ue(this.fetch,"PUT",`${this.url}/admin/users/${t}`,{body:s,headers:this.headers,xform:vs})}catch(n){if(le(n))return{data:{user:null},error:n};throw n}}async deleteUser(t,s=!1){Jt(t);try{return await ue(this.fetch,"DELETE",`${this.url}/admin/users/${t}`,{headers:this.headers,body:{should_soft_delete:s},xform:vs})}catch(n){if(le(n))return{data:{user:null},error:n};throw n}}async _listFactors(t){Jt(t.userId);try{const{data:s,error:n}=await ue(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/factors`,{headers:this.headers,xform:r=>({data:{factors:r},error:null})});return{data:s,error:n}}catch(s){if(le(s))return{data:null,error:s};throw s}}async _deleteFactor(t){Jt(t.userId),Jt(t.id);try{return{data:await ue(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/factors/${t.id}`,{headers:this.headers}),error:null}}catch(s){if(le(s))return{data:null,error:s};throw s}}async _listOAuthClients(t){var s,n,r,i,a,o,l;try{const c={nextPage:null,lastPage:0,total:0},u=await ue(this.fetch,"GET",`${this.url}/admin/oauth/clients`,{headers:this.headers,noResolveJson:!0,query:{page:(n=(s=t==null?void 0:t.page)===null||s===void 0?void 0:s.toString())!==null&&n!==void 0?n:"",per_page:(i=(r=t==null?void 0:t.perPage)===null||r===void 0?void 0:r.toString())!==null&&i!==void 0?i:""},xform:ml});if(u.error)throw u.error;const d=await u.json(),f=(a=u.headers.get("x-total-count"))!==null&&a!==void 0?a:0,p=(l=(o=u.headers.get("link"))===null||o===void 0?void 0:o.split(","))!==null&&l!==void 0?l:[];return p.length>0&&(p.forEach(m=>{const _=parseInt(m.split(";")[0].split("=")[1].substring(0,1)),T=JSON.parse(m.split(";")[1].split("=")[1]);c[`${T}Page`]=_}),c.total=parseInt(f)),{data:Object.assign(Object.assign({},d),c),error:null}}catch(c){if(le(c))return{data:{clients:[]},error:c};throw c}}async _createOAuthClient(t){try{return await ue(this.fetch,"POST",`${this.url}/admin/oauth/clients`,{body:t,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _getOAuthClient(t){try{return await ue(this.fetch,"GET",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _updateOAuthClient(t,s){try{return await ue(this.fetch,"PUT",`${this.url}/admin/oauth/clients/${t}`,{body:s,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(le(n))return{data:null,error:n};throw n}}async _deleteOAuthClient(t){try{return await ue(this.fetch,"DELETE",`${this.url}/admin/oauth/clients/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(le(s))return{data:null,error:s};throw s}}async _regenerateOAuthClientSecret(t){try{return await ue(this.fetch,"POST",`${this.url}/admin/oauth/clients/${t}/regenerate_secret`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _listCustomProviders(t){try{const s={};return t!=null&&t.type&&(s.type=t.type),await ue(this.fetch,"GET",`${this.url}/admin/custom-providers`,{headers:this.headers,query:s,xform:n=>{var r;return{data:{providers:(r=n==null?void 0:n.providers)!==null&&r!==void 0?r:[]},error:null}}})}catch(s){if(le(s))return{data:{providers:[]},error:s};throw s}}async _createCustomProvider(t){try{return await ue(this.fetch,"POST",`${this.url}/admin/custom-providers`,{body:t,headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _getCustomProvider(t){try{return await ue(this.fetch,"GET",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _updateCustomProvider(t,s){try{return await ue(this.fetch,"PUT",`${this.url}/admin/custom-providers/${t}`,{body:s,headers:this.headers,xform:n=>({data:n,error:null})})}catch(n){if(le(n))return{data:null,error:n};throw n}}async _deleteCustomProvider(t){try{return await ue(this.fetch,"DELETE",`${this.url}/admin/custom-providers/${t}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(le(s))return{data:null,error:s};throw s}}async _adminListPasskeys(t){St(this.experimental),Jt(t.userId);try{return await ue(this.fetch,"GET",`${this.url}/admin/users/${t.userId}/passkeys`,{headers:this.headers,xform:s=>({data:s,error:null})})}catch(s){if(le(s))return{data:null,error:s};throw s}}async _adminDeletePasskey(t){St(this.experimental),Jt(t.userId),Jt(t.passkeyId);try{return await ue(this.fetch,"DELETE",`${this.url}/admin/users/${t.userId}/passkeys/${t.passkeyId}`,{headers:this.headers,noResolveJson:!0}),{data:null,error:null}}catch(s){if(le(s))return{data:null,error:s};throw s}}}function bl(e={}){return{getItem:t=>e[t]||null,setItem:(t,s)=>{e[t]=s},removeItem:t=>{delete e[t]}}}const Mt={debug:!!(globalThis&&$u()&&globalThis.localStorage&&globalThis.localStorage.getItem("supabase.gotrue-js.locks.debug")==="true")};class Iu extends Error{constructor(t){super(t),this.isAcquireTimeout=!0}}class vl extends Iu{}async function mm(e,t,s){Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire lock",e,t);const n=new globalThis.AbortController;let r;t>0&&(r=setTimeout(()=>{n.abort(),Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock acquire timed out",e)},t)),await Promise.resolve();try{return await globalThis.navigator.locks.request(e,t===0?{mode:"exclusive",ifAvailable:!0}:{mode:"exclusive",signal:n.signal},async i=>{if(i){clearTimeout(r),Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquired",e,i.name);try{return await s()}finally{Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released",e,i.name)}}else{if(t===0)throw Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: not immediately available",e),new vl(`Acquiring an exclusive Navigator LockManager lock "${e}" immediately failed`);if(Mt.debug)try{const a=await globalThis.navigator.locks.query();console.log("@supabase/gotrue-js: Navigator LockManager state",JSON.stringify(a,null," "))}catch(a){console.warn("@supabase/gotrue-js: Error when querying Navigator LockManager state",a)}return console.warn("@supabase/gotrue-js: Navigator LockManager returned a null lock when using #request without ifAvailable set to true, it appears this browser is not following the LockManager spec https://developer.mozilla.org/en-US/docs/Web/API/LockManager/request"),clearTimeout(r),await s()}})}catch(i){if(t>0&&clearTimeout(r),i!==null&&typeof i=="object"&&"name"in i&&i.name==="AbortError"&&t>0){if(n.signal.aborted)return Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: acquire timeout, recovering by stealing lock",e),console.warn(`@supabase/gotrue-js: Lock "${e}" was not released within ${t}ms. This may indicate an orphaned lock from a component unmount (e.g., React Strict Mode). Forcefully acquiring the lock to recover.`),await Promise.resolve().then(()=>globalThis.navigator.locks.request(e,{mode:"exclusive",steal:!0},async a=>{if(a){Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: recovered (stolen)",e,a.name);try{return await s()}finally{Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: released (stolen)",e,a.name)}}else return console.warn("@supabase/gotrue-js: Navigator LockManager returned null lock even with steal: true"),await s()}));throw Mt.debug&&console.log("@supabase/gotrue-js: navigatorLock: lock was stolen by another request",e),new vl(`Lock "${e}" was released because another request stole it`)}throw i}}function bm(){if(typeof globalThis!="object")try{Object.defineProperty(Object.prototype,"__magic__",{get:function(){return this},configurable:!0}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__}catch{typeof self<"u"&&(self.globalThis=self)}}function Pu(e){if(!/^0x[a-fA-F0-9]{40}$/.test(e))throw new Error(`@supabase/auth-js: Address "${e}" is invalid.`);return e.toLowerCase()}function vm(e){return parseInt(e,16)}function ym(e){const t=new TextEncoder().encode(e);return"0x"+Array.from(t,n=>n.toString(16).padStart(2,"0")).join("")}function _m(e){var t;const{chainId:s,domain:n,expirationTime:r,issuedAt:i=new Date,nonce:a,notBefore:o,requestId:l,resources:c,scheme:u,uri:d,version:f}=e;{if(!Number.isInteger(s))throw new Error(`@supabase/auth-js: Invalid SIWE message field "chainId". Chain ID must be a EIP-155 chain ID. Provided value: ${s}`);if(!n)throw new Error('@supabase/auth-js: Invalid SIWE message field "domain". Domain must be provided.');if(a&&a.length<8)throw new Error(`@supabase/auth-js: Invalid SIWE message field "nonce". Nonce must be at least 8 characters. Provided value: ${a}`);if(!d)throw new Error('@supabase/auth-js: Invalid SIWE message field "uri". URI must be provided.');if(f!=="1")throw new Error(`@supabase/auth-js: Invalid SIWE message field "version". Version must be '1'. Provided value: ${f}`);if(!((t=e.statement)===null||t===void 0)&&t.includes(`
57
- `))throw new Error(`@supabase/auth-js: Invalid SIWE message field "statement". Statement must not include '\\n'. Provided value: ${e.statement}`)}const p=Pu(e.address),m=u?`${u}://${n}`:n,_=e.statement?`${e.statement}
58
- `:"",T=`${m} wants you to sign in with your Ethereum account:
59
- ${p}
60
-
61
- ${_}`;let E=`URI: ${d}
62
- Version: ${f}
63
- Chain ID: ${s}${a?`
64
- Nonce: ${a}`:""}
65
- Issued At: ${i.toISOString()}`;if(r&&(E+=`
66
- Expiration Time: ${r.toISOString()}`),o&&(E+=`
67
- Not Before: ${o.toISOString()}`),l&&(E+=`
68
- Request ID: ${l}`),c){let w=`
69
- Resources:`;for(const x of c){if(!x||typeof x!="string")throw new Error(`@supabase/auth-js: Invalid SIWE message field "resources". Every resource must be a valid string. Provided value: ${x}`);w+=`
70
- - ${x}`}E+=w}return`${T}
71
- ${E}`}class We extends Error{constructor({message:t,code:s,cause:n,name:r}){var i;super(t,{cause:n}),this.__isWebAuthnError=!0,this.name=(i=r??(n instanceof Error?n.name:void 0))!==null&&i!==void 0?i:"Unknown Error",this.code=s}toJSON(){return{name:this.name,message:this.message,code:this.code}}}class Lr extends We{constructor(t,s){super({code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:s,message:t}),this.name="WebAuthnUnknownError",this.originalError=s}}function xm({error:e,options:t}){var s,n,r;const{publicKey:i}=t;if(!i)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new We({message:"Registration ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else if(e.name==="ConstraintError"){if(((s=i.authenticatorSelection)===null||s===void 0?void 0:s.requireResidentKey)===!0)return new We({message:"Discoverable credentials were required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_DISCOVERABLE_CREDENTIAL_SUPPORT",cause:e});if(t.mediation==="conditional"&&((n=i.authenticatorSelection)===null||n===void 0?void 0:n.userVerification)==="required")return new We({message:"User verification was required during automatic registration but it could not be performed",code:"ERROR_AUTO_REGISTER_USER_VERIFICATION_FAILURE",cause:e});if(((r=i.authenticatorSelection)===null||r===void 0?void 0:r.userVerification)==="required")return new We({message:"User verification was required but no available authenticator supported it",code:"ERROR_AUTHENTICATOR_MISSING_USER_VERIFICATION_SUPPORT",cause:e})}else{if(e.name==="InvalidStateError")return new We({message:"The authenticator was previously registered",code:"ERROR_AUTHENTICATOR_PREVIOUSLY_REGISTERED",cause:e});if(e.name==="NotAllowedError")return new We({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="NotSupportedError")return i.pubKeyCredParams.filter(o=>o.type==="public-key").length===0?new We({message:'No entry in pubKeyCredParams was of type "public-key"',code:"ERROR_MALFORMED_PUBKEYCREDPARAMS",cause:e}):new We({message:"No available authenticator supported any of the specified pubKeyCredParams algorithms",code:"ERROR_AUTHENTICATOR_NO_SUPPORTED_PUBKEYCREDPARAMS_ALG",cause:e});if(e.name==="SecurityError"){const a=window.location.hostname;if(Lu(a)){if(i.rp.id!==a)return new We({message:`The RP ID "${i.rp.id}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new We({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="TypeError"){if(i.user.id.byteLength<1||i.user.id.byteLength>64)return new We({message:"User ID was not between 1 and 64 characters",code:"ERROR_INVALID_USER_ID_LENGTH",cause:e})}else if(e.name==="UnknownError")return new We({message:"The authenticator was unable to process the specified options, or could not create a new credential",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new We({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}function wm({error:e,options:t}){const{publicKey:s}=t;if(!s)throw Error("options was missing required publicKey property");if(e.name==="AbortError"){if(t.signal instanceof AbortSignal)return new We({message:"Authentication ceremony was sent an abort signal",code:"ERROR_CEREMONY_ABORTED",cause:e})}else{if(e.name==="NotAllowedError")return new We({message:e.message,code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e});if(e.name==="SecurityError"){const n=window.location.hostname;if(Lu(n)){if(s.rpId!==n)return new We({message:`The RP ID "${s.rpId}" is invalid for this domain`,code:"ERROR_INVALID_RP_ID",cause:e})}else return new We({message:`${window.location.hostname} is an invalid domain`,code:"ERROR_INVALID_DOMAIN",cause:e})}else if(e.name==="UnknownError")return new We({message:"The authenticator was unable to process the specified options, or could not create a new assertion signature",code:"ERROR_AUTHENTICATOR_GENERAL_ERROR",cause:e})}return new We({message:"a Non-Webauthn related error has occurred",code:"ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY",cause:e})}class km{createNewAbortSignal(){if(this.controller){const s=new Error("Cancelling existing WebAuthn API call for new one");s.name="AbortError",this.controller.abort(s)}const t=new AbortController;return this.controller=t,t.signal}cancelCeremony(){if(this.controller){const t=new Error("Manually cancelling existing WebAuthn API call");t.name="AbortError",this.controller.abort(t),this.controller=void 0}}}const ua=new km;function yl(e){if(!e)throw new Error("Credential creation options are required");if(typeof PublicKeyCredential<"u"&&"parseCreationOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseCreationOptionsFromJSON=="function")return PublicKeyCredential.parseCreationOptionsFromJSON(e);const{challenge:t,user:s,excludeCredentials:n}=e,r=ii(e,["challenge","user","excludeCredentials"]),i=on(t).buffer,a=Object.assign(Object.assign({},s),{id:on(s.id).buffer}),o=Object.assign(Object.assign({},r),{challenge:i,user:a});if(n&&n.length>0){o.excludeCredentials=new Array(n.length);for(let l=0;l<n.length;l++){const c=n[l];o.excludeCredentials[l]=Object.assign(Object.assign({},c),{id:on(c.id).buffer,type:c.type||"public-key",transports:c.transports})}}return o}function _l(e){if(!e)throw new Error("Credential request options are required");if(typeof PublicKeyCredential<"u"&&"parseRequestOptionsFromJSON"in PublicKeyCredential&&typeof PublicKeyCredential.parseRequestOptionsFromJSON=="function")return PublicKeyCredential.parseRequestOptionsFromJSON(e);const{challenge:t,allowCredentials:s}=e,n=ii(e,["challenge","allowCredentials"]),r=on(t).buffer,i=Object.assign(Object.assign({},n),{challenge:r});if(s&&s.length>0){i.allowCredentials=new Array(s.length);for(let a=0;a<s.length;a++){const o=s[a];i.allowCredentials[a]=Object.assign(Object.assign({},o),{id:on(o.id).buffer,type:o.type||"public-key",transports:o.transports})}}return i}function xl(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const s=e;return{id:e.id,rawId:e.id,response:{attestationObject:Ns(new Uint8Array(e.response.attestationObject)),clientDataJSON:Ns(new Uint8Array(e.response.clientDataJSON))},type:"public-key",clientExtensionResults:e.getClientExtensionResults(),authenticatorAttachment:(t=s.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function wl(e){var t;if("toJSON"in e&&typeof e.toJSON=="function")return e.toJSON();const s=e,n=e.getClientExtensionResults(),r=e.response;return{id:e.id,rawId:e.id,response:{authenticatorData:Ns(new Uint8Array(r.authenticatorData)),clientDataJSON:Ns(new Uint8Array(r.clientDataJSON)),signature:Ns(new Uint8Array(r.signature)),userHandle:r.userHandle?Ns(new Uint8Array(r.userHandle)):void 0},type:"public-key",clientExtensionResults:n,authenticatorAttachment:(t=s.authenticatorAttachment)!==null&&t!==void 0?t:void 0}}function Lu(e){return e==="localhost"||/^([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}$/i.test(e)}function Mr(){var e,t;return!!(st()&&"PublicKeyCredential"in window&&window.PublicKeyCredential&&"credentials"in navigator&&typeof((e=navigator==null?void 0:navigator.credentials)===null||e===void 0?void 0:e.create)=="function"&&typeof((t=navigator==null?void 0:navigator.credentials)===null||t===void 0?void 0:t.get)=="function")}async function Mu(e){try{const t=await navigator.credentials.create(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Lr("Browser returned unexpected credential type",t)}:{data:null,error:new Lr("Empty credential response",t)}}catch(t){return{data:null,error:xm({error:t,options:e})}}}async function ju(e){try{const t=await navigator.credentials.get(e);return t?t instanceof PublicKeyCredential?{data:t,error:null}:{data:null,error:new Lr("Browser returned unexpected credential type",t)}:{data:null,error:new Lr("Empty credential response",t)}}catch(t){return{data:null,error:wm({error:t,options:e})}}}const Em={hints:["security-key"],authenticatorSelection:{authenticatorAttachment:"cross-platform",requireResidentKey:!1,userVerification:"preferred",residentKey:"discouraged"},attestation:"direct"},Sm={userVerification:"preferred",hints:["security-key"],attestation:"direct"};function jr(...e){const t=r=>r!==null&&typeof r=="object"&&!Array.isArray(r),s=r=>r instanceof ArrayBuffer||ArrayBuffer.isView(r),n={};for(const r of e)if(r)for(const i in r){const a=r[i];if(a!==void 0)if(Array.isArray(a))n[i]=a;else if(s(a))n[i]=a;else if(t(a)){const o=n[i];t(o)?n[i]=jr(o,a):n[i]=jr(a)}else n[i]=a}return n}function Tm(e,t){return jr(Em,e,t||{})}function Am(e,t){return jr(Sm,e,t||{})}class Rm{constructor(t){this.client=t,this.enroll=this._enroll.bind(this),this.challenge=this._challenge.bind(this),this.verify=this._verify.bind(this),this.authenticate=this._authenticate.bind(this),this.register=this._register.bind(this)}async _enroll(t){return this.client.mfa.enroll(Object.assign(Object.assign({},t),{factorType:"webauthn"}))}async _challenge({factorId:t,webauthn:s,friendlyName:n,signal:r},i){var a;try{const{data:o,error:l}=await this.client.mfa.challenge({factorId:t,webauthn:s});if(!o)return{data:null,error:l};const c=r??ua.createNewAbortSignal();if(o.webauthn.type==="create"){const{user:u}=o.webauthn.credential_options.publicKey;if(!u.name){const d=n;if(d)u.name=`${u.id}:${d}`;else{const p=(await this.client.getUser()).data.user,m=((a=p==null?void 0:p.user_metadata)===null||a===void 0?void 0:a.name)||(p==null?void 0:p.email)||(p==null?void 0:p.id)||"User";u.name=`${u.id}:${m}`}}u.displayName||(u.displayName=u.name)}switch(o.webauthn.type){case"create":{const u=Tm(o.webauthn.credential_options.publicKey,i==null?void 0:i.create),{data:d,error:f}=await Mu({publicKey:u,signal:c});return d?{data:{factorId:t,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:f}}case"request":{const u=Am(o.webauthn.credential_options.publicKey,i==null?void 0:i.request),{data:d,error:f}=await ju(Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:u,signal:c}));return d?{data:{factorId:t,challengeId:o.id,webauthn:{type:o.webauthn.type,credential_response:d}},error:null}:{data:null,error:f}}}}catch(o){return le(o)?{data:null,error:o}:{data:null,error:new Ct("Unexpected error in challenge",o)}}}async _verify({challengeId:t,factorId:s,webauthn:n}){return this.client.mfa.verify({factorId:s,challengeId:t,webauthn:n})}async _authenticate({factorId:t,webauthn:{rpId:s=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:r}={}},i){if(!s)return{data:null,error:new Gn("rpId is required for WebAuthn authentication")};try{if(!Mr())return{data:null,error:new Ct("Browser does not support WebAuthn",null)};const{data:a,error:o}=await this.challenge({factorId:t,webauthn:{rpId:s,rpOrigins:n},signal:r},{request:i});if(!a)return{data:null,error:o};const{webauthn:l}=a;return this._verify({factorId:t,challengeId:a.challengeId,webauthn:{type:l.type,rpId:s,rpOrigins:n,credential_response:l.credential_response}})}catch(a){return le(a)?{data:null,error:a}:{data:null,error:new Ct("Unexpected error in authenticate",a)}}}async _register({friendlyName:t,webauthn:{rpId:s=typeof window<"u"?window.location.hostname:void 0,rpOrigins:n=typeof window<"u"?[window.location.origin]:void 0,signal:r}={}},i){if(!s)return{data:null,error:new Gn("rpId is required for WebAuthn registration")};try{if(!Mr())return{data:null,error:new Ct("Browser does not support WebAuthn",null)};const{data:a,error:o}=await this._enroll({friendlyName:t});if(!a)return await this.client.mfa.listFactors().then(u=>{var d;return(d=u.data)===null||d===void 0?void 0:d.all.find(f=>f.factor_type==="webauthn"&&f.friendly_name===t&&f.status!=="unverified")}).then(u=>u?this.client.mfa.unenroll({factorId:u==null?void 0:u.id}):void 0),{data:null,error:o};const{data:l,error:c}=await this._challenge({factorId:a.id,friendlyName:a.friendly_name,webauthn:{rpId:s,rpOrigins:n},signal:r},{create:i});return l?this._verify({factorId:a.id,challengeId:l.challengeId,webauthn:{rpId:s,rpOrigins:n,type:l.webauthn.type,credential_response:l.webauthn.credential_response}}):{data:null,error:c}}catch(a){return le(a)?{data:null,error:a}:{data:null,error:new Ct("Unexpected error in register",a)}}}}bm();const Cm={url:I0,storageKey:P0,autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,headers:L0,flowType:"implicit",debug:!1,hasCustomAuthorizationHeader:!1,throwOnError:!1,lockAcquireTimeout:5e3,skipAutoInitialize:!1,experimental:{}};async function kl(e,t,s){return await s()}const Ks={};class Zn{get jwks(){var t,s;return(s=(t=Ks[this.storageKey])===null||t===void 0?void 0:t.jwks)!==null&&s!==void 0?s:{keys:[]}}set jwks(t){Ks[this.storageKey]=Object.assign(Object.assign({},Ks[this.storageKey]),{jwks:t})}get jwks_cached_at(){var t,s;return(s=(t=Ks[this.storageKey])===null||t===void 0?void 0:t.cachedAt)!==null&&s!==void 0?s:Number.MIN_SAFE_INTEGER}set jwks_cached_at(t){Ks[this.storageKey]=Object.assign(Object.assign({},Ks[this.storageKey]),{cachedAt:t})}constructor(t){var s,n,r,i;this.userStorage=null,this.memoryStorage=null,this.stateChangeEmitters=new Map,this.autoRefreshTicker=null,this.autoRefreshTickTimeout=null,this.visibilityChangedCallback=null,this.refreshingDeferred=null,this.initializePromise=null,this.detectSessionInUrl=!0,this.hasCustomAuthorizationHeader=!1,this.suppressGetSessionWarning=!1,this.lockAcquired=!1,this.pendingInLock=[],this.broadcastChannel=null,this.logger=console.log;const a=Object.assign(Object.assign({},Cm),t);if(this.storageKey=a.storageKey,this.instanceID=(s=Zn.nextInstanceID[this.storageKey])!==null&&s!==void 0?s:0,Zn.nextInstanceID[this.storageKey]=this.instanceID+1,this.logDebugMessages=!!a.debug,typeof a.debug=="function"&&(this.logger=a.debug),this.instanceID>0&&st()){const o=`${this._logPrefix()} Multiple GoTrueClient instances detected in the same browser context. It is not an error, but this should be avoided as it may produce undefined behavior when used concurrently under the same storage key.`;console.warn(o),this.logDebugMessages&&console.trace(o)}if(this.persistSession=a.persistSession,this.autoRefreshToken=a.autoRefreshToken,this.experimental=(n=a.experimental)!==null&&n!==void 0?n:{},this.admin=new gm({url:a.url,headers:a.headers,fetch:a.fetch,experimental:this.experimental}),this.url=a.url,this.headers=a.headers,this.fetch=Nu(a.fetch),this.lock=a.lock||kl,this.detectSessionInUrl=a.detectSessionInUrl,this.flowType=a.flowType,this.hasCustomAuthorizationHeader=a.hasCustomAuthorizationHeader,this.throwOnError=a.throwOnError,this.lockAcquireTimeout=a.lockAcquireTimeout,a.lock?this.lock=a.lock:this.persistSession&&st()&&(!((r=globalThis==null?void 0:globalThis.navigator)===null||r===void 0)&&r.locks)?this.lock=mm:this.lock=kl,this.jwks||(this.jwks={keys:[]},this.jwks_cached_at=Number.MIN_SAFE_INTEGER),this.mfa={verify:this._verify.bind(this),enroll:this._enroll.bind(this),unenroll:this._unenroll.bind(this),challenge:this._challenge.bind(this),listFactors:this._listFactors.bind(this),challengeAndVerify:this._challengeAndVerify.bind(this),getAuthenticatorAssuranceLevel:this._getAuthenticatorAssuranceLevel.bind(this),webauthn:new Rm(this)},this.oauth={getAuthorizationDetails:this._getAuthorizationDetails.bind(this),approveAuthorization:this._approveAuthorization.bind(this),denyAuthorization:this._denyAuthorization.bind(this),listGrants:this._listOAuthGrants.bind(this),revokeGrant:this._revokeOAuthGrant.bind(this)},this.passkey={startRegistration:this._startPasskeyRegistration.bind(this),verifyRegistration:this._verifyPasskeyRegistration.bind(this),startAuthentication:this._startPasskeyAuthentication.bind(this),verifyAuthentication:this._verifyPasskeyAuthentication.bind(this),list:this._listPasskeys.bind(this),update:this._updatePasskey.bind(this),delete:this._deletePasskey.bind(this)},this.persistSession?(a.storage?this.storage=a.storage:$u()?this.storage=globalThis.localStorage:(this.memoryStorage={},this.storage=bl(this.memoryStorage)),a.userStorage&&(this.userStorage=a.userStorage)):(this.memoryStorage={},this.storage=bl(this.memoryStorage)),st()&&globalThis.BroadcastChannel&&this.persistSession&&this.storageKey){try{this.broadcastChannel=new globalThis.BroadcastChannel(this.storageKey)}catch(o){console.error("Failed to create a new BroadcastChannel, multi-tab state changes will not be available",o)}(i=this.broadcastChannel)===null||i===void 0||i.addEventListener("message",async o=>{this._debug("received broadcast notification from other tab or client",o);try{await this._notifyAllSubscribers(o.data.event,o.data.session,!1)}catch(l){this._debug("#broadcastChannel","error",l)}})}a.skipAutoInitialize||this.initialize().catch(o=>{this._debug("#initialize()","error",o)})}isThrowOnErrorEnabled(){return this.throwOnError}_returnResult(t){if(this.throwOnError&&t&&t.error)throw t.error;return t}_logPrefix(){return`GoTrueClient@${this.storageKey}:${this.instanceID} (${Ru}) ${new Date().toISOString()}`}_debug(...t){return this.logDebugMessages&&this.logger(this._logPrefix(),...t),this}async initialize(){return this.initializePromise?await this.initializePromise:(this.initializePromise=(async()=>await this._acquireLock(this.lockAcquireTimeout,async()=>await this._initialize()))(),await this.initializePromise)}async _initialize(){var t;try{let s={},n="none";if(st()&&(s=Z0(window.location.href),this._isImplicitGrantCallback(s)?n="implicit":await this._isPKCECallback(s)&&(n="pkce")),st()&&this.detectSessionInUrl&&n!=="none"){const{data:r,error:i}=await this._getSessionFromURL(s,n);if(i){if(this._debug("#_initialize()","error detecting session from URL",i),B0(i)){const l=(t=i.details)===null||t===void 0?void 0:t.code;if(l==="identity_already_exists"||l==="identity_not_found"||l==="single_identity_not_deletable")return{error:i}}return{error:i}}const{session:a,redirectType:o}=r;return this._debug("#_initialize()","detected session in URL",a,"redirect type",o),await this._saveSession(a),setTimeout(async()=>{o==="recovery"?await this._notifyAllSubscribers("PASSWORD_RECOVERY",a):await this._notifyAllSubscribers("SIGNED_IN",a)},0),{error:null}}return await this._recoverAndRefresh(),{error:null}}catch(s){return le(s)?this._returnResult({error:s}):this._returnResult({error:new Ct("Unexpected error during initialization",s)})}finally{await this._handleVisibilityChange(),this._debug("#_initialize()","end")}}async signInAnonymously(t){var s,n,r;try{const i=await ue(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{data:(n=(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.data)!==null&&n!==void 0?n:{},gotrue_meta_security:{captcha_token:(r=t==null?void 0:t.options)===null||r===void 0?void 0:r.captchaToken}},xform:wt}),{data:a,error:o}=i;if(o||!a)return this._returnResult({data:{user:null,session:null},error:o});const l=a.session,c=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(le(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signUp(t){var s,n,r;try{let i;if("email"in t){const{email:u,password:d,options:f}=t;let p=null,m=null;this.flowType==="pkce"&&([p,m]=await zs(this.storage,this.storageKey)),i=await ue(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,redirectTo:f==null?void 0:f.emailRedirectTo,body:{email:u,password:d,data:(s=f==null?void 0:f.data)!==null&&s!==void 0?s:{},gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken},code_challenge:p,code_challenge_method:m},xform:wt})}else if("phone"in t){const{phone:u,password:d,options:f}=t;i=await ue(this.fetch,"POST",`${this.url}/signup`,{headers:this.headers,body:{phone:u,password:d,data:(n=f==null?void 0:f.data)!==null&&n!==void 0?n:{},channel:(r=f==null?void 0:f.channel)!==null&&r!==void 0?r:"sms",gotrue_meta_security:{captcha_token:f==null?void 0:f.captchaToken}},xform:wt})}else throw new hr("You must provide either an email or phone number and a password");const{data:a,error:o}=i;if(o||!a)return await tt(this.storage,`${this.storageKey}-code-verifier`),this._returnResult({data:{user:null,session:null},error:o});const l=a.session,c=a.user;return a.session&&(await this._saveSession(a.session),await this._notifyAllSubscribers("SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(i){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(i))return this._returnResult({data:{user:null,session:null},error:i});throw i}}async signInWithPassword(t){try{let s;if("email"in t){const{email:i,password:a,options:o}=t;s=await ue(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{email:i,password:a,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:gl})}else if("phone"in t){const{phone:i,password:a,options:o}=t;s=await ue(this.fetch,"POST",`${this.url}/token?grant_type=password`,{headers:this.headers,body:{phone:i,password:a,gotrue_meta_security:{captcha_token:o==null?void 0:o.captchaToken}},xform:gl})}else throw new hr("You must provide either an email or phone number and a password");const{data:n,error:r}=s;if(r)return this._returnResult({data:{user:null,session:null},error:r});if(!n||!n.session||!n.user){const i=new qs;return this._returnResult({data:{user:null,session:null},error:i})}return n.session&&(await this._saveSession(n.session),await this._notifyAllSubscribers("SIGNED_IN",n.session)),this._returnResult({data:Object.assign({user:n.user,session:n.session},n.weak_password?{weakPassword:n.weak_password}:null),error:r})}catch(s){if(le(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithOAuth(t){var s,n,r,i;return await this._handleProviderSignIn(t.provider,{redirectTo:(s=t.options)===null||s===void 0?void 0:s.redirectTo,scopes:(n=t.options)===null||n===void 0?void 0:n.scopes,queryParams:(r=t.options)===null||r===void 0?void 0:r.queryParams,skipBrowserRedirect:(i=t.options)===null||i===void 0?void 0:i.skipBrowserRedirect})}async exchangeCodeForSession(t){return await this.initializePromise,this._acquireLock(this.lockAcquireTimeout,async()=>this._exchangeCodeForSession(t))}async signInWithWeb3(t){const{chain:s}=t;switch(s){case"ethereum":return await this.signInWithEthereum(t);case"solana":return await this.signInWithSolana(t);default:throw new Error(`@supabase/auth-js: Unsupported chain "${s}"`)}}async signInWithEthereum(t){var s,n,r,i,a,o,l,c,u,d,f;let p,m;if("message"in t)p=t.message,m=t.signature;else{const{chain:_,wallet:T,statement:E,options:w}=t;let x;if(st())if(typeof T=="object")x=T;else{const j=window;if("ethereum"in j&&typeof j.ethereum=="object"&&"request"in j.ethereum&&typeof j.ethereum.request=="function")x=j.ethereum;else throw new Error("@supabase/auth-js: No compatible Ethereum wallet interface on the window object (window.ethereum) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'ethereum', wallet: resolvedUserWallet }) instead.")}else{if(typeof T!="object"||!(w!=null&&w.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");x=T}const A=new URL((s=w==null?void 0:w.url)!==null&&s!==void 0?s:window.location.href),L=await x.request({method:"eth_requestAccounts"}).then(j=>j).catch(()=>{throw new Error("@supabase/auth-js: Wallet method eth_requestAccounts is missing or invalid")});if(!L||L.length===0)throw new Error("@supabase/auth-js: No accounts available. Please ensure the wallet is connected.");const D=Pu(L[0]);let O=(n=w==null?void 0:w.signInWithEthereum)===null||n===void 0?void 0:n.chainId;if(!O){const j=await x.request({method:"eth_chainId"});O=vm(j)}const I={domain:A.host,address:D,statement:E,uri:A.href,version:"1",chainId:O,nonce:(r=w==null?void 0:w.signInWithEthereum)===null||r===void 0?void 0:r.nonce,issuedAt:(a=(i=w==null?void 0:w.signInWithEthereum)===null||i===void 0?void 0:i.issuedAt)!==null&&a!==void 0?a:new Date,expirationTime:(o=w==null?void 0:w.signInWithEthereum)===null||o===void 0?void 0:o.expirationTime,notBefore:(l=w==null?void 0:w.signInWithEthereum)===null||l===void 0?void 0:l.notBefore,requestId:(c=w==null?void 0:w.signInWithEthereum)===null||c===void 0?void 0:c.requestId,resources:(u=w==null?void 0:w.signInWithEthereum)===null||u===void 0?void 0:u.resources};p=_m(I),m=await x.request({method:"personal_sign",params:[ym(p),D]})}try{const{data:_,error:T}=await ue(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"ethereum",message:p,signature:m},!((d=t.options)===null||d===void 0)&&d.captchaToken?{gotrue_meta_security:{captcha_token:(f=t.options)===null||f===void 0?void 0:f.captchaToken}}:null),xform:wt});if(T)throw T;if(!_||!_.session||!_.user){const E=new qs;return this._returnResult({data:{user:null,session:null},error:E})}return _.session&&(await this._saveSession(_.session),await this._notifyAllSubscribers("SIGNED_IN",_.session)),this._returnResult({data:Object.assign({},_),error:T})}catch(_){if(le(_))return this._returnResult({data:{user:null,session:null},error:_});throw _}}async signInWithSolana(t){var s,n,r,i,a,o,l,c,u,d,f,p;let m,_;if("message"in t)m=t.message,_=t.signature;else{const{chain:T,wallet:E,statement:w,options:x}=t;let A;if(st())if(typeof E=="object")A=E;else{const D=window;if("solana"in D&&typeof D.solana=="object"&&("signIn"in D.solana&&typeof D.solana.signIn=="function"||"signMessage"in D.solana&&typeof D.solana.signMessage=="function"))A=D.solana;else throw new Error("@supabase/auth-js: No compatible Solana wallet interface on the window object (window.solana) detected. Make sure the user already has a wallet installed and connected for this app. Prefer passing the wallet interface object directly to signInWithWeb3({ chain: 'solana', wallet: resolvedUserWallet }) instead.")}else{if(typeof E!="object"||!(x!=null&&x.url))throw new Error("@supabase/auth-js: Both wallet and url must be specified in non-browser environments.");A=E}const L=new URL((s=x==null?void 0:x.url)!==null&&s!==void 0?s:window.location.href);if("signIn"in A&&A.signIn){const D=await A.signIn(Object.assign(Object.assign(Object.assign({issuedAt:new Date().toISOString()},x==null?void 0:x.signInWithSolana),{version:"1",domain:L.host,uri:L.href}),w?{statement:w}:null));let O;if(Array.isArray(D)&&D[0]&&typeof D[0]=="object")O=D[0];else if(D&&typeof D=="object"&&"signedMessage"in D&&"signature"in D)O=D;else throw new Error("@supabase/auth-js: Wallet method signIn() returned unrecognized value");if("signedMessage"in O&&"signature"in O&&(typeof O.signedMessage=="string"||O.signedMessage instanceof Uint8Array)&&O.signature instanceof Uint8Array)m=typeof O.signedMessage=="string"?O.signedMessage:new TextDecoder().decode(O.signedMessage),_=O.signature;else throw new Error("@supabase/auth-js: Wallet method signIn() API returned object without signedMessage and signature fields")}else{if(!("signMessage"in A)||typeof A.signMessage!="function"||!("publicKey"in A)||typeof A!="object"||!A.publicKey||!("toBase58"in A.publicKey)||typeof A.publicKey.toBase58!="function")throw new Error("@supabase/auth-js: Wallet does not have a compatible signMessage() and publicKey.toBase58() API");m=[`${L.host} wants you to sign in with your Solana account:`,A.publicKey.toBase58(),...w?["",w,""]:[""],"Version: 1",`URI: ${L.href}`,`Issued At: ${(r=(n=x==null?void 0:x.signInWithSolana)===null||n===void 0?void 0:n.issuedAt)!==null&&r!==void 0?r:new Date().toISOString()}`,...!((i=x==null?void 0:x.signInWithSolana)===null||i===void 0)&&i.notBefore?[`Not Before: ${x.signInWithSolana.notBefore}`]:[],...!((a=x==null?void 0:x.signInWithSolana)===null||a===void 0)&&a.expirationTime?[`Expiration Time: ${x.signInWithSolana.expirationTime}`]:[],...!((o=x==null?void 0:x.signInWithSolana)===null||o===void 0)&&o.chainId?[`Chain ID: ${x.signInWithSolana.chainId}`]:[],...!((l=x==null?void 0:x.signInWithSolana)===null||l===void 0)&&l.nonce?[`Nonce: ${x.signInWithSolana.nonce}`]:[],...!((c=x==null?void 0:x.signInWithSolana)===null||c===void 0)&&c.requestId?[`Request ID: ${x.signInWithSolana.requestId}`]:[],...!((d=(u=x==null?void 0:x.signInWithSolana)===null||u===void 0?void 0:u.resources)===null||d===void 0)&&d.length?["Resources",...x.signInWithSolana.resources.map(O=>`- ${O}`)]:[]].join(`
72
- `);const D=await A.signMessage(new TextEncoder().encode(m),"utf8");if(!D||!(D instanceof Uint8Array))throw new Error("@supabase/auth-js: Wallet signMessage() API returned an recognized value");_=D}}try{const{data:T,error:E}=await ue(this.fetch,"POST",`${this.url}/token?grant_type=web3`,{headers:this.headers,body:Object.assign({chain:"solana",message:m,signature:Ns(_)},!((f=t.options)===null||f===void 0)&&f.captchaToken?{gotrue_meta_security:{captcha_token:(p=t.options)===null||p===void 0?void 0:p.captchaToken}}:null),xform:wt});if(E)throw E;if(!T||!T.session||!T.user){const w=new qs;return this._returnResult({data:{user:null,session:null},error:w})}return T.session&&(await this._saveSession(T.session),await this._notifyAllSubscribers("SIGNED_IN",T.session)),this._returnResult({data:Object.assign({},T),error:E})}catch(T){if(le(T))return this._returnResult({data:{user:null,session:null},error:T});throw T}}async _exchangeCodeForSession(t){const s=await As(this.storage,`${this.storageKey}-code-verifier`),[n,r]=(s??"").split("/");try{if(!n&&this.flowType==="pkce")throw new H0;const{data:i,error:a}=await ue(this.fetch,"POST",`${this.url}/token?grant_type=pkce`,{headers:this.headers,body:{auth_code:t,code_verifier:n},xform:wt});if(await tt(this.storage,`${this.storageKey}-code-verifier`),a)throw a;if(!i||!i.session||!i.user){const o=new qs;return this._returnResult({data:{user:null,session:null,redirectType:null},error:o})}return i.session&&(await this._saveSession(i.session),await this._notifyAllSubscribers(r==="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",i.session)),this._returnResult({data:Object.assign(Object.assign({},i),{redirectType:r??null}),error:a})}catch(i){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(i))return this._returnResult({data:{user:null,session:null,redirectType:null},error:i});throw i}}async signInWithIdToken(t){try{const{options:s,provider:n,token:r,access_token:i,nonce:a}=t,o=await ue(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,body:{provider:n,id_token:r,access_token:i,nonce:a,gotrue_meta_security:{captcha_token:s==null?void 0:s.captchaToken}},xform:wt}),{data:l,error:c}=o;if(c)return this._returnResult({data:{user:null,session:null},error:c});if(!l||!l.session||!l.user){const u=new qs;return this._returnResult({data:{user:null,session:null},error:u})}return l.session&&(await this._saveSession(l.session),await this._notifyAllSubscribers("SIGNED_IN",l.session)),this._returnResult({data:l,error:c})}catch(s){if(le(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async signInWithOtp(t){var s,n,r,i,a;try{if("email"in t){const{email:o,options:l}=t;let c=null,u=null;this.flowType==="pkce"&&([c,u]=await zs(this.storage,this.storageKey));const{error:d}=await ue(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{email:o,data:(s=l==null?void 0:l.data)!==null&&s!==void 0?s:{},create_user:(n=l==null?void 0:l.shouldCreateUser)!==null&&n!==void 0?n:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},code_challenge:c,code_challenge_method:u},redirectTo:l==null?void 0:l.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:d})}if("phone"in t){const{phone:o,options:l}=t,{data:c,error:u}=await ue(this.fetch,"POST",`${this.url}/otp`,{headers:this.headers,body:{phone:o,data:(r=l==null?void 0:l.data)!==null&&r!==void 0?r:{},create_user:(i=l==null?void 0:l.shouldCreateUser)!==null&&i!==void 0?i:!0,gotrue_meta_security:{captcha_token:l==null?void 0:l.captchaToken},channel:(a=l==null?void 0:l.channel)!==null&&a!==void 0?a:"sms"}});return this._returnResult({data:{user:null,session:null,messageId:c==null?void 0:c.message_id},error:u})}throw new hr("You must provide either an email or phone number.")}catch(o){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(o))return this._returnResult({data:{user:null,session:null},error:o});throw o}}async verifyOtp(t){var s,n;try{let r,i;"options"in t&&(r=(s=t.options)===null||s===void 0?void 0:s.redirectTo,i=(n=t.options)===null||n===void 0?void 0:n.captchaToken);const{data:a,error:o}=await ue(this.fetch,"POST",`${this.url}/verify`,{headers:this.headers,body:Object.assign(Object.assign({},t),{gotrue_meta_security:{captcha_token:i}}),redirectTo:r,xform:wt});if(o)throw o;if(!a)throw new Error("An error occurred on token verification.");const l=a.session,c=a.user;return l!=null&&l.access_token&&(await this._saveSession(l),await this._notifyAllSubscribers(t.type=="recovery"?"PASSWORD_RECOVERY":"SIGNED_IN",l)),this._returnResult({data:{user:c,session:l},error:null})}catch(r){if(le(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}}async signInWithSSO(t){var s,n,r,i,a;try{let o=null,l=null;this.flowType==="pkce"&&([o,l]=await zs(this.storage,this.storageKey));const c=await ue(this.fetch,"POST",`${this.url}/sso`,{body:Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},"providerId"in t?{provider_id:t.providerId}:null),"domain"in t?{domain:t.domain}:null),{redirect_to:(n=(s=t.options)===null||s===void 0?void 0:s.redirectTo)!==null&&n!==void 0?n:void 0}),!((r=t==null?void 0:t.options)===null||r===void 0)&&r.captchaToken?{gotrue_meta_security:{captcha_token:t.options.captchaToken}}:null),{skip_http_redirect:!0,code_challenge:o,code_challenge_method:l}),headers:this.headers,xform:hm});return!((i=c.data)===null||i===void 0)&&i.url&&st()&&!(!((a=t.options)===null||a===void 0)&&a.skipBrowserRedirect)&&window.location.assign(c.data.url),this._returnResult(c)}catch(o){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(o))return this._returnResult({data:null,error:o});throw o}}async reauthenticate(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._reauthenticate())}async _reauthenticate(){try{return await this._useSession(async t=>{const{data:{session:s},error:n}=t;if(n)throw n;if(!s)throw new et;const{error:r}=await ue(this.fetch,"GET",`${this.url}/reauthenticate`,{headers:this.headers,jwt:s.access_token});return this._returnResult({data:{user:null,session:null},error:r})})}catch(t){if(le(t))return this._returnResult({data:{user:null,session:null},error:t});throw t}}async resend(t){try{const s=`${this.url}/resend`;if("email"in t){const{email:n,type:r,options:i}=t,{error:a}=await ue(this.fetch,"POST",s,{headers:this.headers,body:{email:n,type:r,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}},redirectTo:i==null?void 0:i.emailRedirectTo});return this._returnResult({data:{user:null,session:null},error:a})}else if("phone"in t){const{phone:n,type:r,options:i}=t,{data:a,error:o}=await ue(this.fetch,"POST",s,{headers:this.headers,body:{phone:n,type:r,gotrue_meta_security:{captcha_token:i==null?void 0:i.captchaToken}}});return this._returnResult({data:{user:null,session:null,messageId:a==null?void 0:a.message_id},error:o})}throw new hr("You must provide either an email or phone number and a type")}catch(s){if(le(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async getSession(){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>this._useSession(async s=>s))}async _acquireLock(t,s){this._debug("#_acquireLock","begin",t);try{if(this.lockAcquired){const n=this.pendingInLock.length?this.pendingInLock[this.pendingInLock.length-1]:Promise.resolve(),r=(async()=>(await n,await s()))();return this.pendingInLock.push((async()=>{try{await r}catch{}})()),r}return await this.lock(`lock:${this.storageKey}`,t,async()=>{this._debug("#_acquireLock","lock acquired for storage key",this.storageKey);try{this.lockAcquired=!0;const n=s();for(this.pendingInLock.push((async()=>{try{await n}catch{}})()),await n;this.pendingInLock.length;){const r=[...this.pendingInLock];await Promise.all(r),this.pendingInLock.splice(0,r.length)}return await n}finally{this._debug("#_acquireLock","lock released for storage key",this.storageKey),this.lockAcquired=!1}})}finally{this._debug("#_acquireLock","end")}}async _useSession(t){this._debug("#_useSession","begin");try{const s=await this.__loadSession();return await t(s)}finally{this._debug("#_useSession","end")}}async __loadSession(){this._debug("#__loadSession()","begin"),this.lockAcquired||this._debug("#__loadSession()","used outside of an acquired lock!",new Error().stack);try{let t=null;const s=await As(this.storage,this.storageKey);if(this._debug("#getSession()","session from storage",s),s!==null&&(this._isValidSession(s)?t=s:(this._debug("#getSession()","session from storage is not valid"),await this._removeSession())),!t)return{data:{session:null},error:null};const n=t.expires_at?t.expires_at*1e3-Date.now()<Ai:!1;if(this._debug("#__loadSession()",`session has${n?"":" not"} expired`,"expires_at",t.expires_at),!n){if(this.userStorage){const a=await As(this.userStorage,this.storageKey+"-user");a!=null&&a.user?t.user=a.user:t.user=Ci()}if(this.storage.isServer&&t.user&&!t.user.__isUserNotAvailableProxy){const a={value:this.suppressGetSessionWarning};t.user=lm(t.user,a),a.value&&(this.suppressGetSessionWarning=!0)}return{data:{session:t},error:null}}const{data:r,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{session:null},error:i}):this._returnResult({data:{session:r},error:null})}finally{this._debug("#__loadSession()","end")}}async getUser(t){if(t)return await this._getUser(t);await this.initializePromise;const s=await this._acquireLock(this.lockAcquireTimeout,async()=>await this._getUser());return s.data.user&&(this.suppressGetSessionWarning=!0),s}async _getUser(t){try{return t?await ue(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:t,xform:vs}):await this._useSession(async s=>{var n,r,i;const{data:a,error:o}=s;if(o)throw o;return!(!((n=a.session)===null||n===void 0)&&n.access_token)&&!this.hasCustomAuthorizationHeader?{data:{user:null},error:new et}:await ue(this.fetch,"GET",`${this.url}/user`,{headers:this.headers,jwt:(i=(r=a.session)===null||r===void 0?void 0:r.access_token)!==null&&i!==void 0?i:void 0,xform:vs})})}catch(s){if(le(s))return dr(s)&&(await this._removeSession(),await tt(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({data:{user:null},error:s});throw s}}async updateUser(t,s={}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._updateUser(t,s))}async _updateUser(t,s={}){try{return await this._useSession(async n=>{const{data:r,error:i}=n;if(i)throw i;if(!r.session)throw new et;const a=r.session;let o=null,l=null;this.flowType==="pkce"&&t.email!=null&&([o,l]=await zs(this.storage,this.storageKey));const{data:c,error:u}=await ue(this.fetch,"PUT",`${this.url}/user`,{headers:this.headers,redirectTo:s==null?void 0:s.emailRedirectTo,body:Object.assign(Object.assign({},t),{code_challenge:o,code_challenge_method:l}),jwt:a.access_token,xform:vs});if(u)throw u;return a.user=c.user,await this._saveSession(a),await this._notifyAllSubscribers("USER_UPDATED",a),this._returnResult({data:{user:a.user},error:null})})}catch(n){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(n))return this._returnResult({data:{user:null},error:n});throw n}}async setSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._setSession(t))}async _setSession(t){try{if(!t.access_token||!t.refresh_token)throw new et;const s=Date.now()/1e3;let n=s,r=!0,i=null;const{payload:a}=pr(t.access_token);if(a.exp&&(n=a.exp,r=n<=s),r){const{data:o,error:l}=await this._callRefreshToken(t.refresh_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});if(!o)return{data:{user:null,session:null},error:null};i=o}else{const{data:o,error:l}=await this._getUser(t.access_token);if(l)return this._returnResult({data:{user:null,session:null},error:l});i={access_token:t.access_token,refresh_token:t.refresh_token,user:o.user,token_type:"bearer",expires_in:n-s,expires_at:n},await this._saveSession(i),await this._notifyAllSubscribers("SIGNED_IN",i)}return this._returnResult({data:{user:i.user,session:i},error:null})}catch(s){if(le(s))return this._returnResult({data:{session:null,user:null},error:s});throw s}}async refreshSession(t){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._refreshSession(t))}async _refreshSession(t){try{return await this._useSession(async s=>{var n;if(!t){const{data:a,error:o}=s;if(o)throw o;t=(n=a.session)!==null&&n!==void 0?n:void 0}if(!(t!=null&&t.refresh_token))throw new et;const{data:r,error:i}=await this._callRefreshToken(t.refresh_token);return i?this._returnResult({data:{user:null,session:null},error:i}):r?this._returnResult({data:{user:r.user,session:r},error:null}):this._returnResult({data:{user:null,session:null},error:null})})}catch(s){if(le(s))return this._returnResult({data:{user:null,session:null},error:s});throw s}}async _getSessionFromURL(t,s){var n;try{if(!st())throw new fr("No browser detected.");if(t.error||t.error_description||t.error_code)throw new fr(t.error_description||"Error in URL with unspecified error_description",{error:t.error||"unspecified_error",code:t.error_code||"unspecified_code"});switch(s){case"implicit":if(this.flowType==="pkce")throw new ll("Not a valid PKCE flow url.");break;case"pkce":if(this.flowType==="implicit")throw new fr("Not a valid implicit grant flow url.");break;default:}if(s==="pkce"){if(this._debug("#_initialize()","begin","is PKCE flow",!0),!t.code)throw new ll("No code detected.");const{data:x,error:A}=await this._exchangeCodeForSession(t.code);if(A)throw A;const L=new URL(window.location.href);return L.searchParams.delete("code"),window.history.replaceState(window.history.state,"",L.toString()),{data:{session:x.session,redirectType:(n=x.redirectType)!==null&&n!==void 0?n:null},error:null}}const{provider_token:r,provider_refresh_token:i,access_token:a,refresh_token:o,expires_in:l,expires_at:c,token_type:u}=t;if(!a||!l||!o||!u)throw new fr("No session defined in URL");const d=Math.round(Date.now()/1e3),f=parseInt(l);let p=d+f;c&&(p=parseInt(c));const m=p-d;m*1e3<=Xs&&console.warn(`@supabase/gotrue-js: Session as retrieved from URL expires in ${m}s, should have been closer to ${f}s`);const _=p-f;d-_>=120?console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued over 120s ago, URL could be stale",_,p,d):d-_<0&&console.warn("@supabase/gotrue-js: Session as retrieved from URL was issued in the future? Check the device clock for skew",_,p,d);const{data:T,error:E}=await this._getUser(a);if(E)throw E;const w={provider_token:r,provider_refresh_token:i,access_token:a,expires_in:f,expires_at:p,refresh_token:o,token_type:u,user:T.user};return window.location.hash="",this._debug("#_getSessionFromURL()","clearing window.location.hash"),this._returnResult({data:{session:w,redirectType:t.type},error:null})}catch(r){if(le(r))return this._returnResult({data:{session:null,redirectType:null},error:r});throw r}}_isImplicitGrantCallback(t){return typeof this.detectSessionInUrl=="function"?this.detectSessionInUrl(new URL(window.location.href),t):!!(t.access_token||t.error_description)}async _isPKCECallback(t){const s=await As(this.storage,`${this.storageKey}-code-verifier`);return!!(t.code&&s)}async signOut(t={scope:"global"}){return await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>await this._signOut(t))}async _signOut({scope:t}={scope:"global"}){return await this._useSession(async s=>{var n;const{data:r,error:i}=s;if(i&&!dr(i))return this._returnResult({error:i});const a=(n=r.session)===null||n===void 0?void 0:n.access_token;if(a){const{error:o}=await this.admin.signOut(a,t);if(o&&!(U0(o)&&(o.status===404||o.status===401||o.status===403)||dr(o)))return this._returnResult({error:o})}return t!=="others"&&(await this._removeSession(),await tt(this.storage,`${this.storageKey}-code-verifier`)),this._returnResult({error:null})})}onAuthStateChange(t){const s=G0(),n={id:s,callback:t,unsubscribe:()=>{this._debug("#unsubscribe()","state change callback with id removed",s),this.stateChangeEmitters.delete(s)}};return this._debug("#onAuthStateChange()","registered callback with id",s),this.stateChangeEmitters.set(s,n),(async()=>(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{this._emitInitialSession(s)})))(),{data:{subscription:n}}}async _emitInitialSession(t){return await this._useSession(async s=>{var n,r;try{const{data:{session:i},error:a}=s;if(a)throw a;await((n=this.stateChangeEmitters.get(t))===null||n===void 0?void 0:n.callback("INITIAL_SESSION",i)),this._debug("INITIAL_SESSION","callback id",t,"session",i)}catch(i){await((r=this.stateChangeEmitters.get(t))===null||r===void 0?void 0:r.callback("INITIAL_SESSION",null)),this._debug("INITIAL_SESSION","callback id",t,"error",i),dr(i)?console.warn(i):console.error(i)}})}async resetPasswordForEmail(t,s={}){let n=null,r=null;this.flowType==="pkce"&&([n,r]=await zs(this.storage,this.storageKey,!0));try{return await ue(this.fetch,"POST",`${this.url}/recover`,{body:{email:t,code_challenge:n,code_challenge_method:r,gotrue_meta_security:{captcha_token:s.captchaToken}},headers:this.headers,redirectTo:s.redirectTo})}catch(i){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(i))return this._returnResult({data:null,error:i});throw i}}async getUserIdentities(){var t;try{const{data:s,error:n}=await this.getUser();if(n)throw n;return this._returnResult({data:{identities:(t=s.user.identities)!==null&&t!==void 0?t:[]},error:null})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async linkIdentity(t){return"token"in t?this.linkIdentityIdToken(t):this.linkIdentityOAuth(t)}async linkIdentityOAuth(t){var s;try{const{data:n,error:r}=await this._useSession(async i=>{var a,o,l,c,u;const{data:d,error:f}=i;if(f)throw f;const p=await this._getUrlForProvider(`${this.url}/user/identities/authorize`,t.provider,{redirectTo:(a=t.options)===null||a===void 0?void 0:a.redirectTo,scopes:(o=t.options)===null||o===void 0?void 0:o.scopes,queryParams:(l=t.options)===null||l===void 0?void 0:l.queryParams,skipBrowserRedirect:!0});return await ue(this.fetch,"GET",p,{headers:this.headers,jwt:(u=(c=d.session)===null||c===void 0?void 0:c.access_token)!==null&&u!==void 0?u:void 0})});if(r)throw r;return st()&&!(!((s=t.options)===null||s===void 0)&&s.skipBrowserRedirect)&&window.location.assign(n==null?void 0:n.url),this._returnResult({data:{provider:t.provider,url:n==null?void 0:n.url},error:null})}catch(n){if(le(n))return this._returnResult({data:{provider:t.provider,url:null},error:n});throw n}}async linkIdentityIdToken(t){return await this._useSession(async s=>{var n;try{const{error:r,data:{session:i}}=s;if(r)throw r;const{options:a,provider:o,token:l,access_token:c,nonce:u}=t,d=await ue(this.fetch,"POST",`${this.url}/token?grant_type=id_token`,{headers:this.headers,jwt:(n=i==null?void 0:i.access_token)!==null&&n!==void 0?n:void 0,body:{provider:o,id_token:l,access_token:c,nonce:u,link_identity:!0,gotrue_meta_security:{captcha_token:a==null?void 0:a.captchaToken}},xform:wt}),{data:f,error:p}=d;return p?this._returnResult({data:{user:null,session:null},error:p}):!f||!f.session||!f.user?this._returnResult({data:{user:null,session:null},error:new qs}):(f.session&&(await this._saveSession(f.session),await this._notifyAllSubscribers("USER_UPDATED",f.session)),this._returnResult({data:f,error:p}))}catch(r){if(await tt(this.storage,`${this.storageKey}-code-verifier`),le(r))return this._returnResult({data:{user:null,session:null},error:r});throw r}})}async unlinkIdentity(t){try{return await this._useSession(async s=>{var n,r;const{data:i,error:a}=s;if(a)throw a;return await ue(this.fetch,"DELETE",`${this.url}/user/identities/${t.identity_id}`,{headers:this.headers,jwt:(r=(n=i.session)===null||n===void 0?void 0:n.access_token)!==null&&r!==void 0?r:void 0})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _refreshAccessToken(t){const s=`#_refreshAccessToken(${t.substring(0,5)}...)`;this._debug(s,"begin");try{const n=Date.now();return await X0(async r=>(r>0&&await Y0(200*Math.pow(2,r-1)),this._debug(s,"refreshing attempt",r),await ue(this.fetch,"POST",`${this.url}/token?grant_type=refresh_token`,{body:{refresh_token:t},headers:this.headers,xform:wt})),(r,i)=>{const a=200*Math.pow(2,r);return i&&Ri(i)&&Date.now()+a-n<Xs})}catch(n){if(this._debug(s,"error",n),le(n))return this._returnResult({data:{session:null,user:null},error:n});throw n}finally{this._debug(s,"end")}}_isValidSession(t){return typeof t=="object"&&t!==null&&"access_token"in t&&"refresh_token"in t&&"expires_at"in t}async _handleProviderSignIn(t,s){const n=await this._getUrlForProvider(`${this.url}/authorize`,t,{redirectTo:s.redirectTo,scopes:s.scopes,queryParams:s.queryParams});return this._debug("#_handleProviderSignIn()","provider",t,"options",s,"url",n),st()&&!s.skipBrowserRedirect&&window.location.assign(n),{data:{provider:t,url:n},error:null}}async _recoverAndRefresh(){var t,s;const n="#_recoverAndRefresh()";this._debug(n,"begin");try{const r=await As(this.storage,this.storageKey);if(r&&this.userStorage){let a=await As(this.userStorage,this.storageKey+"-user");!this.storage.isServer&&Object.is(this.storage,this.userStorage)&&!a&&(a={user:r.user},await Qs(this.userStorage,this.storageKey+"-user",a)),r.user=(t=a==null?void 0:a.user)!==null&&t!==void 0?t:Ci()}else if(r&&!r.user&&!r.user){const a=await As(this.storage,this.storageKey+"-user");a&&(a!=null&&a.user)?(r.user=a.user,await tt(this.storage,this.storageKey+"-user"),await Qs(this.storage,this.storageKey,r)):r.user=Ci()}if(this._debug(n,"session from storage",r),!this._isValidSession(r)){this._debug(n,"session is not valid"),r!==null&&await this._removeSession();return}const i=((s=r.expires_at)!==null&&s!==void 0?s:1/0)*1e3-Date.now()<Ai;if(this._debug(n,`session has${i?"":" not"} expired with margin of ${Ai}s`),i){if(this.autoRefreshToken&&r.refresh_token){const{error:a}=await this._callRefreshToken(r.refresh_token);a&&(console.error(a),Ri(a)||(this._debug(n,"refresh failed with a non-retryable error, removing the session",a),await this._removeSession()))}}else if(r.user&&r.user.__isUserNotAvailableProxy===!0)try{const{data:a,error:o}=await this._getUser(r.access_token);!o&&(a!=null&&a.user)?(r.user=a.user,await this._saveSession(r),await this._notifyAllSubscribers("SIGNED_IN",r)):this._debug(n,"could not get user data, skipping SIGNED_IN notification")}catch(a){console.error("Error getting user data:",a),this._debug(n,"error getting user data, skipping SIGNED_IN notification",a)}else await this._notifyAllSubscribers("SIGNED_IN",r)}catch(r){this._debug(n,"error",r),console.error(r);return}finally{this._debug(n,"end")}}async _callRefreshToken(t){var s,n;if(!t)throw new et;if(this.refreshingDeferred)return this.refreshingDeferred.promise;const r=`#_callRefreshToken(${t.substring(0,5)}...)`;this._debug(r,"begin");try{this.refreshingDeferred=new li;const{data:i,error:a}=await this._refreshAccessToken(t);if(a)throw a;if(!i.session)throw new et;await this._saveSession(i.session),await this._notifyAllSubscribers("TOKEN_REFRESHED",i.session);const o={data:i.session,error:null};return this.refreshingDeferred.resolve(o),o}catch(i){if(this._debug(r,"error",i),le(i)){const a={data:null,error:i};return Ri(i)||await this._removeSession(),(s=this.refreshingDeferred)===null||s===void 0||s.resolve(a),a}throw(n=this.refreshingDeferred)===null||n===void 0||n.reject(i),i}finally{this.refreshingDeferred=null,this._debug(r,"end")}}async _notifyAllSubscribers(t,s,n=!0){const r=`#_notifyAllSubscribers(${t})`;this._debug(r,"begin",s,`broadcast = ${n}`);try{this.broadcastChannel&&n&&this.broadcastChannel.postMessage({event:t,session:s});const i=[],a=Array.from(this.stateChangeEmitters.values()).map(async o=>{try{await o.callback(t,s)}catch(l){i.push(l)}});if(await Promise.all(a),i.length>0){for(let o=0;o<i.length;o+=1)console.error(i[o]);throw i[0]}}finally{this._debug(r,"end")}}async _saveSession(t){this._debug("#_saveSession()",t),this.suppressGetSessionWarning=!0,await tt(this.storage,`${this.storageKey}-code-verifier`);const s=Object.assign({},t),n=s.user&&s.user.__isUserNotAvailableProxy===!0;if(this.userStorage){!n&&s.user&&await Qs(this.userStorage,this.storageKey+"-user",{user:s.user});const r=Object.assign({},s);delete r.user;const i=fl(r);await Qs(this.storage,this.storageKey,i)}else{const r=fl(s);await Qs(this.storage,this.storageKey,r)}}async _removeSession(){this._debug("#_removeSession()"),this.suppressGetSessionWarning=!1,await tt(this.storage,this.storageKey),await tt(this.storage,this.storageKey+"-code-verifier"),await tt(this.storage,this.storageKey+"-user"),this.userStorage&&await tt(this.userStorage,this.storageKey+"-user"),await this._notifyAllSubscribers("SIGNED_OUT",null)}_removeVisibilityChangedCallback(){this._debug("#_removeVisibilityChangedCallback()");const t=this.visibilityChangedCallback;this.visibilityChangedCallback=null;try{t&&st()&&(window!=null&&window.removeEventListener)&&window.removeEventListener("visibilitychange",t)}catch(s){console.error("removing visibilitychange callback failed",s)}}async _startAutoRefresh(){await this._stopAutoRefresh(),this._debug("#_startAutoRefresh()");const t=setInterval(()=>this._autoRefreshTokenTick(),Xs);this.autoRefreshTicker=t,t&&typeof t=="object"&&typeof t.unref=="function"?t.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(t);const s=setTimeout(async()=>{await this.initializePromise,await this._autoRefreshTokenTick()},0);this.autoRefreshTickTimeout=s,s&&typeof s=="object"&&typeof s.unref=="function"?s.unref():typeof Deno<"u"&&typeof Deno.unrefTimer=="function"&&Deno.unrefTimer(s)}async _stopAutoRefresh(){this._debug("#_stopAutoRefresh()");const t=this.autoRefreshTicker;this.autoRefreshTicker=null,t&&clearInterval(t);const s=this.autoRefreshTickTimeout;this.autoRefreshTickTimeout=null,s&&clearTimeout(s)}async startAutoRefresh(){this._removeVisibilityChangedCallback(),await this._startAutoRefresh()}async stopAutoRefresh(){this._removeVisibilityChangedCallback(),await this._stopAutoRefresh()}async _autoRefreshTokenTick(){this._debug("#_autoRefreshTokenTick()","begin");try{await this._acquireLock(0,async()=>{try{const t=Date.now();try{return await this._useSession(async s=>{const{data:{session:n}}=s;if(!n||!n.refresh_token||!n.expires_at){this._debug("#_autoRefreshTokenTick()","no session");return}const r=Math.floor((n.expires_at*1e3-t)/Xs);this._debug("#_autoRefreshTokenTick()",`access token expires in ${r} ticks, a tick lasts ${Xs}ms, refresh threshold is ${aa} ticks`),r<=aa&&await this._callRefreshToken(n.refresh_token)})}catch(s){console.error("Auto refresh tick failed with error. This is likely a transient error.",s)}}finally{this._debug("#_autoRefreshTokenTick()","end")}})}catch(t){if(t instanceof Iu)this._debug("auto refresh token tick lock not available");else throw t}}async _handleVisibilityChange(){if(this._debug("#_handleVisibilityChange()"),!st()||!(window!=null&&window.addEventListener))return this.autoRefreshToken&&this.startAutoRefresh(),!1;try{this.visibilityChangedCallback=async()=>{try{await this._onVisibilityChanged(!1)}catch(t){this._debug("#visibilityChangedCallback","error",t)}},window==null||window.addEventListener("visibilitychange",this.visibilityChangedCallback),await this._onVisibilityChanged(!0)}catch(t){console.error("_handleVisibilityChange",t)}}async _onVisibilityChanged(t){const s=`#_onVisibilityChanged(${t})`;this._debug(s,"visibilityState",document.visibilityState),document.visibilityState==="visible"?(this.autoRefreshToken&&this._startAutoRefresh(),t||(await this.initializePromise,await this._acquireLock(this.lockAcquireTimeout,async()=>{if(document.visibilityState!=="visible"){this._debug(s,"acquired the lock to recover the session, but the browser visibilityState is no longer visible, aborting");return}await this._recoverAndRefresh()}))):document.visibilityState==="hidden"&&this.autoRefreshToken&&this._stopAutoRefresh()}async _getUrlForProvider(t,s,n){const r=[`provider=${encodeURIComponent(s)}`];if(n!=null&&n.redirectTo&&r.push(`redirect_to=${encodeURIComponent(n.redirectTo)}`),n!=null&&n.scopes&&r.push(`scopes=${encodeURIComponent(n.scopes)}`),this.flowType==="pkce"){const[i,a]=await zs(this.storage,this.storageKey),o=new URLSearchParams({code_challenge:`${encodeURIComponent(i)}`,code_challenge_method:`${encodeURIComponent(a)}`});r.push(o.toString())}if(n!=null&&n.queryParams){const i=new URLSearchParams(n.queryParams);r.push(i.toString())}return n!=null&&n.skipBrowserRedirect&&r.push(`skip_http_redirect=${n.skipBrowserRedirect}`),`${t}?${r.join("&")}`}async _unenroll(t){try{return await this._useSession(async s=>{var n;const{data:r,error:i}=s;return i?this._returnResult({data:null,error:i}):await ue(this.fetch,"DELETE",`${this.url}/factors/${t.factorId}`,{headers:this.headers,jwt:(n=r==null?void 0:r.session)===null||n===void 0?void 0:n.access_token})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _enroll(t){try{return await this._useSession(async s=>{var n,r;const{data:i,error:a}=s;if(a)return this._returnResult({data:null,error:a});const o=Object.assign({friendly_name:t.friendlyName,factor_type:t.factorType},t.factorType==="phone"?{phone:t.phone}:t.factorType==="totp"?{issuer:t.issuer}:{}),{data:l,error:c}=await ue(this.fetch,"POST",`${this.url}/factors`,{body:o,headers:this.headers,jwt:(n=i==null?void 0:i.session)===null||n===void 0?void 0:n.access_token});return c?this._returnResult({data:null,error:c}):(t.factorType==="totp"&&l.type==="totp"&&(!((r=l==null?void 0:l.totp)===null||r===void 0)&&r.qr_code)&&(l.totp.qr_code=`data:image/svg+xml;utf-8,${l.totp.qr_code}`),this._returnResult({data:l,error:null}))})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _verify(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async s=>{var n;const{data:r,error:i}=s;if(i)return this._returnResult({data:null,error:i});const a=Object.assign({challenge_id:t.challengeId},"webauthn"in t?{webauthn:Object.assign(Object.assign({},t.webauthn),{credential_response:t.webauthn.type==="create"?xl(t.webauthn.credential_response):wl(t.webauthn.credential_response)})}:{code:t.code}),{data:o,error:l}=await ue(this.fetch,"POST",`${this.url}/factors/${t.factorId}/verify`,{body:a,headers:this.headers,jwt:(n=r==null?void 0:r.session)===null||n===void 0?void 0:n.access_token});return l?this._returnResult({data:null,error:l}):(await this._saveSession(Object.assign({expires_at:Math.round(Date.now()/1e3)+o.expires_in},o)),await this._notifyAllSubscribers("MFA_CHALLENGE_VERIFIED",o),this._returnResult({data:o,error:l}))})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}})}async _challenge(t){return this._acquireLock(this.lockAcquireTimeout,async()=>{try{return await this._useSession(async s=>{var n;const{data:r,error:i}=s;if(i)return this._returnResult({data:null,error:i});const a=await ue(this.fetch,"POST",`${this.url}/factors/${t.factorId}/challenge`,{body:t,headers:this.headers,jwt:(n=r==null?void 0:r.session)===null||n===void 0?void 0:n.access_token});if(a.error)return a;const{data:o}=a;if(o.type!=="webauthn")return{data:o,error:null};switch(o.webauthn.type){case"create":return{data:Object.assign(Object.assign({},o),{webauthn:Object.assign(Object.assign({},o.webauthn),{credential_options:Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:yl(o.webauthn.credential_options.publicKey)})})}),error:null};case"request":return{data:Object.assign(Object.assign({},o),{webauthn:Object.assign(Object.assign({},o.webauthn),{credential_options:Object.assign(Object.assign({},o.webauthn.credential_options),{publicKey:_l(o.webauthn.credential_options.publicKey)})})}),error:null}}})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}})}async _challengeAndVerify(t){const{data:s,error:n}=await this._challenge({factorId:t.factorId});return n?this._returnResult({data:null,error:n}):await this._verify({factorId:t.factorId,challengeId:s.id,code:t.code})}async _listFactors(){var t;const{data:{user:s},error:n}=await this.getUser();if(n)return{data:null,error:n};const r={all:[],phone:[],totp:[],webauthn:[]};for(const i of(t=s==null?void 0:s.factors)!==null&&t!==void 0?t:[])r.all.push(i),i.status==="verified"&&r[i.factor_type].push(i);return{data:r,error:null}}async _getAuthenticatorAssuranceLevel(t){var s,n,r,i;if(t)try{const{payload:p}=pr(t);let m=null;p.aal&&(m=p.aal);let _=m;const{data:{user:T},error:E}=await this.getUser(t);if(E)return this._returnResult({data:null,error:E});((n=(s=T==null?void 0:T.factors)===null||s===void 0?void 0:s.filter(A=>A.status==="verified"))!==null&&n!==void 0?n:[]).length>0&&(_="aal2");const x=p.amr||[];return{data:{currentLevel:m,nextLevel:_,currentAuthenticationMethods:x},error:null}}catch(p){if(le(p))return this._returnResult({data:null,error:p});throw p}const{data:{session:a},error:o}=await this.getSession();if(o)return this._returnResult({data:null,error:o});if(!a)return{data:{currentLevel:null,nextLevel:null,currentAuthenticationMethods:[]},error:null};const{payload:l}=pr(a.access_token);let c=null;l.aal&&(c=l.aal);let u=c;((i=(r=a.user.factors)===null||r===void 0?void 0:r.filter(p=>p.status==="verified"))!==null&&i!==void 0?i:[]).length>0&&(u="aal2");const f=l.amr||[];return{data:{currentLevel:c,nextLevel:u,currentAuthenticationMethods:f},error:null}}async _getAuthorizationDetails(t){try{return await this._useSession(async s=>{const{data:{session:n},error:r}=s;return r?this._returnResult({data:null,error:r}):n?await ue(this.fetch,"GET",`${this.url}/oauth/authorizations/${t}`,{headers:this.headers,jwt:n.access_token,xform:i=>({data:i,error:null})}):this._returnResult({data:null,error:new et})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _approveAuthorization(t,s){try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new et});const a=await ue(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:"approve"},xform:o=>({data:o,error:null})});return a.data&&a.data.redirect_url&&st()&&!(s!=null&&s.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(n){if(le(n))return this._returnResult({data:null,error:n});throw n}}async _denyAuthorization(t,s){try{return await this._useSession(async n=>{const{data:{session:r},error:i}=n;if(i)return this._returnResult({data:null,error:i});if(!r)return this._returnResult({data:null,error:new et});const a=await ue(this.fetch,"POST",`${this.url}/oauth/authorizations/${t}/consent`,{headers:this.headers,jwt:r.access_token,body:{action:"deny"},xform:o=>({data:o,error:null})});return a.data&&a.data.redirect_url&&st()&&!(s!=null&&s.skipBrowserRedirect)&&window.location.assign(a.data.redirect_url),a})}catch(n){if(le(n))return this._returnResult({data:null,error:n});throw n}}async _listOAuthGrants(){try{return await this._useSession(async t=>{const{data:{session:s},error:n}=t;return n?this._returnResult({data:null,error:n}):s?await ue(this.fetch,"GET",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:s.access_token,xform:r=>({data:r,error:null})}):this._returnResult({data:null,error:new et})})}catch(t){if(le(t))return this._returnResult({data:null,error:t});throw t}}async _revokeOAuthGrant(t){try{return await this._useSession(async s=>{const{data:{session:n},error:r}=s;return r?this._returnResult({data:null,error:r}):n?(await ue(this.fetch,"DELETE",`${this.url}/user/oauth/grants`,{headers:this.headers,jwt:n.access_token,query:{client_id:t.clientId},noResolveJson:!0}),{data:{},error:null}):this._returnResult({data:null,error:new et})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async fetchJwk(t,s={keys:[]}){let n=s.keys.find(o=>o.kid===t);if(n)return n;const r=Date.now();if(n=this.jwks.keys.find(o=>o.kid===t),n&&this.jwks_cached_at+j0>r)return n;const{data:i,error:a}=await ue(this.fetch,"GET",`${this.url}/.well-known/jwks.json`,{headers:this.headers});if(a)throw a;return!i.keys||i.keys.length===0||(this.jwks=i,this.jwks_cached_at=r,n=i.keys.find(o=>o.kid===t),!n)?null:n}async getClaims(t,s={}){try{let n=t;if(!n){const{data:p,error:m}=await this.getSession();if(m||!p.session)return this._returnResult({data:null,error:m});n=p.session.access_token}const{header:r,payload:i,signature:a,raw:{header:o,payload:l}}=pr(n);s!=null&&s.allowExpired||im(i.exp);const c=!r.alg||r.alg.startsWith("HS")||!r.kid||!("crypto"in globalThis&&"subtle"in globalThis.crypto)?null:await this.fetchJwk(r.kid,s!=null&&s.keys?{keys:s.keys}:s==null?void 0:s.jwks);if(!c){const{error:p}=await this.getUser(n);if(p)throw p;return{data:{claims:i,header:r,signature:a},error:null}}const u=am(r.alg),d=await crypto.subtle.importKey("jwk",c,u,!0,["verify"]);if(!await crypto.subtle.verify(u,d,a,K0(`${o}.${l}`)))throw new ca("Invalid JWT signature");return{data:{claims:i,header:r,signature:a},error:null}}catch(n){if(le(n))return this._returnResult({data:null,error:n});throw n}}async signInWithPasskey(t){var s,n,r;St(this.experimental);try{if(!Mr())return this._returnResult({data:null,error:new Ct("Browser does not support WebAuthn",null)});const{data:i,error:a}=await this._startPasskeyAuthentication({options:{captchaToken:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}});if(a||!i)return this._returnResult({data:null,error:a});const o=_l(i.options),l=(r=(n=t==null?void 0:t.options)===null||n===void 0?void 0:n.signal)!==null&&r!==void 0?r:ua.createNewAbortSignal(),{data:c,error:u}=await ju({publicKey:o,signal:l});if(u||!c)return this._returnResult({data:null,error:u??new Ct("WebAuthn ceremony failed",null)});const d=wl(c);return this._verifyPasskeyAuthentication({challengeId:i.challenge_id,credential:d})}catch(i){if(le(i))return this._returnResult({data:null,error:i});throw i}}async registerPasskey(t){var s,n;St(this.experimental);try{if(!Mr())return this._returnResult({data:null,error:new Ct("Browser does not support WebAuthn",null)});const{data:r,error:i}=await this._startPasskeyRegistration();if(i||!r)return this._returnResult({data:null,error:i});const a=yl(r.options),o=(n=(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.signal)!==null&&n!==void 0?n:ua.createNewAbortSignal(),{data:l,error:c}=await Mu({publicKey:a,signal:o});if(c||!l)return this._returnResult({data:null,error:c??new Ct("WebAuthn ceremony failed",null)});const u=xl(l);return this._verifyPasskeyRegistration({challengeId:r.challenge_id,credential:u})}catch(r){if(le(r))return this._returnResult({data:null,error:r});throw r}}async _startPasskeyRegistration(){St(this.experimental);try{return await this._useSession(async t=>{const{data:{session:s},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!s)return this._returnResult({data:null,error:new et});const{data:r,error:i}=await ue(this.fetch,"POST",`${this.url}/passkeys/registration/options`,{headers:this.headers,jwt:s.access_token,body:{}});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(t){if(le(t))return this._returnResult({data:null,error:t});throw t}}async _verifyPasskeyRegistration(t){St(this.experimental);try{return await this._useSession(async s=>{const{data:{session:n},error:r}=s;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new et});const{data:i,error:a}=await ue(this.fetch,"POST",`${this.url}/passkeys/registration/verify`,{headers:this.headers,jwt:n.access_token,body:{challenge_id:t.challengeId,credential:t.credential}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _startPasskeyAuthentication(t){var s;St(this.experimental);try{const{data:n,error:r}=await ue(this.fetch,"POST",`${this.url}/passkeys/authentication/options`,{headers:this.headers,body:{gotrue_meta_security:{captcha_token:(s=t==null?void 0:t.options)===null||s===void 0?void 0:s.captchaToken}}});return r?this._returnResult({data:null,error:r}):this._returnResult({data:n,error:null})}catch(n){if(le(n))return this._returnResult({data:null,error:n});throw n}}async _verifyPasskeyAuthentication(t){St(this.experimental);try{const{data:s,error:n}=await ue(this.fetch,"POST",`${this.url}/passkeys/authentication/verify`,{headers:this.headers,body:{challenge_id:t.challengeId,credential:t.credential},xform:wt});return n?this._returnResult({data:null,error:n}):(s.session&&(await this._saveSession(s.session),await this._notifyAllSubscribers("SIGNED_IN",s.session)),this._returnResult({data:s,error:null}))}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _listPasskeys(){St(this.experimental);try{return await this._useSession(async t=>{const{data:{session:s},error:n}=t;if(n)return this._returnResult({data:null,error:n});if(!s)return this._returnResult({data:null,error:new et});const{data:r,error:i}=await ue(this.fetch,"GET",`${this.url}/passkeys`,{headers:this.headers,jwt:s.access_token,xform:a=>({data:a,error:null})});return i?this._returnResult({data:null,error:i}):this._returnResult({data:r,error:null})})}catch(t){if(le(t))return this._returnResult({data:null,error:t});throw t}}async _updatePasskey(t){St(this.experimental);try{return await this._useSession(async s=>{const{data:{session:n},error:r}=s;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new et});const{data:i,error:a}=await ue(this.fetch,"PATCH",`${this.url}/passkeys/${t.passkeyId}`,{headers:this.headers,jwt:n.access_token,body:{friendly_name:t.friendlyName}});return a?this._returnResult({data:null,error:a}):this._returnResult({data:i,error:null})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}async _deletePasskey(t){St(this.experimental);try{return await this._useSession(async s=>{const{data:{session:n},error:r}=s;if(r)return this._returnResult({data:null,error:r});if(!n)return this._returnResult({data:null,error:new et});const{error:i}=await ue(this.fetch,"DELETE",`${this.url}/passkeys/${t.passkeyId}`,{headers:this.headers,jwt:n.access_token,noResolveJson:!0});return i?this._returnResult({data:null,error:i}):this._returnResult({data:null,error:null})})}catch(s){if(le(s))return this._returnResult({data:null,error:s});throw s}}}Zn.nextInstanceID={};const Om=Zn,$m="2.105.4";let kn="";typeof Deno<"u"?kn="deno":typeof document<"u"?kn="web":typeof navigator<"u"&&navigator.product==="ReactNative"?kn="react-native":kn="node";const Nm={"X-Client-Info":`supabase-js-${kn}/${$m}`},Im={headers:Nm},Pm={schema:"public"},Lm={autoRefreshToken:!0,persistSession:!0,detectSessionInUrl:!0,flowType:"implicit"},Mm={};function Jn(e){"@babel/helpers - typeof";return Jn=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Jn(e)}function jm(e,t){if(Jn(e)!="object"||!e)return e;var s=e[Symbol.toPrimitive];if(s!==void 0){var n=s.call(e,t);if(Jn(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Dm(e){var t=jm(e,"string");return Jn(t)=="symbol"?t:t+""}function Um(e,t,s){return(t=Dm(t))in e?Object.defineProperty(e,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):e[t]=s,e}function El(e,t){var s=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable})),s.push.apply(s,n)}return s}function Ve(e){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?El(Object(s),!0).forEach(function(n){Um(e,n,s[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(s)):El(Object(s)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(s,n))})}return e}const Bm=e=>e?(...t)=>e(...t):(...t)=>fetch(...t),Hm=()=>Headers,Fm=(e,t,s)=>{const n=Bm(s),r=Hm();return async(i,a)=>{var o;const l=(o=await t())!==null&&o!==void 0?o:e;let c=new r(a==null?void 0:a.headers);return c.has("apikey")||c.set("apikey",e),c.has("Authorization")||c.set("Authorization",`Bearer ${l}`),n(i,Ve(Ve({},a),{},{headers:c}))}};function Vm(e){return e.endsWith("/")?e:e+"/"}function qm(e,t){var s,n;const{db:r,auth:i,realtime:a,global:o}=e,{db:l,auth:c,realtime:u,global:d}=t,f={db:Ve(Ve({},l),r),auth:Ve(Ve({},c),i),realtime:Ve(Ve({},u),a),storage:{},global:Ve(Ve(Ve({},d),o),{},{headers:Ve(Ve({},(s=d==null?void 0:d.headers)!==null&&s!==void 0?s:{}),(n=o==null?void 0:o.headers)!==null&&n!==void 0?n:{})}),accessToken:async()=>""};return e.accessToken?f.accessToken=e.accessToken:delete f.accessToken,f}function zm(e){const t=e==null?void 0:e.trim();if(!t)throw new Error("supabaseUrl is required.");if(!t.match(/^https?:\/\//i))throw new Error("Invalid supabaseUrl: Must be a valid HTTP or HTTPS URL.");try{return new URL(Vm(t))}catch{throw Error("Invalid supabaseUrl: Provided URL is malformed.")}}var Km=class extends Om{constructor(e){super(e)}},Wm=class{constructor(e,t,s){var n,r;this.supabaseUrl=e,this.supabaseKey=t;const i=zm(e);if(!t)throw new Error("supabaseKey is required.");this.realtimeUrl=new URL("realtime/v1",i),this.realtimeUrl.protocol=this.realtimeUrl.protocol.replace("http","ws"),this.authUrl=new URL("auth/v1",i),this.storageUrl=new URL("storage/v1",i),this.functionsUrl=new URL("functions/v1",i);const a=`sb-${i.hostname.split(".")[0]}-auth-token`,o={db:Pm,realtime:Mm,auth:Ve(Ve({},Lm),{},{storageKey:a}),global:Im},l=qm(s??{},o);if(this.storageKey=(n=l.auth.storageKey)!==null&&n!==void 0?n:"",this.headers=(r=l.global.headers)!==null&&r!==void 0?r:{},l.accessToken)this.accessToken=l.accessToken,this.auth=new Proxy({},{get:(u,d)=>{throw new Error(`@supabase/supabase-js: Supabase Client is configured with the accessToken option, accessing supabase.auth.${String(d)} is not possible`)}});else{var c;this.auth=this._initSupabaseAuthClient((c=l.auth)!==null&&c!==void 0?c:{},this.headers,l.global.fetch)}this.fetch=Fm(t,this._getAccessToken.bind(this),l.global.fetch),this.realtime=this._initRealtimeClient(Ve({headers:this.headers,accessToken:this._getAccessToken.bind(this),fetch:this.fetch},l.realtime)),this.accessToken&&Promise.resolve(this.accessToken()).then(u=>this.realtime.setAuth(u)).catch(u=>console.warn("Failed to set initial Realtime auth token:",u)),this.rest=new yg(new URL("rest/v1",i).href,{headers:this.headers,schema:l.db.schema,fetch:this.fetch,timeout:l.db.timeout,urlLengthLimit:l.db.urlLengthLimit}),this.storage=new N0(this.storageUrl.href,this.headers,this.fetch,s==null?void 0:s.storage),l.accessToken||this._listenForAuthEvents()}get functions(){return new cg(this.functionsUrl.href,{headers:this.headers,customFetch:this.fetch})}from(e){return this.rest.from(e)}schema(e){return this.rest.schema(e)}rpc(e,t={},s={head:!1,get:!1,count:void 0}){return this.rest.rpc(e,t,s)}channel(e,t={config:{}}){return this.realtime.channel(e,t)}getChannels(){return this.realtime.getChannels()}removeChannel(e){return this.realtime.removeChannel(e)}removeAllChannels(){return this.realtime.removeAllChannels()}async _getAccessToken(){var e=this,t,s;if(e.accessToken)return await e.accessToken();const{data:n}=await e.auth.getSession();return(t=(s=n.session)===null||s===void 0?void 0:s.access_token)!==null&&t!==void 0?t:e.supabaseKey}_initSupabaseAuthClient({autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:n,userStorage:r,storageKey:i,flowType:a,lock:o,debug:l,throwOnError:c,experimental:u,lockAcquireTimeout:d,skipAutoInitialize:f},p,m){const _={Authorization:`Bearer ${this.supabaseKey}`,apikey:`${this.supabaseKey}`};return new Km({url:this.authUrl.href,headers:Ve(Ve({},_),p),storageKey:i,autoRefreshToken:e,persistSession:t,detectSessionInUrl:s,storage:n,userStorage:r,flowType:a,lock:o,debug:l,throwOnError:c,experimental:u,fetch:m,lockAcquireTimeout:d,skipAutoInitialize:f,hasCustomAuthorizationHeader:Object.keys(this.headers).some(T=>T.toLowerCase()==="authorization")})}_initRealtimeClient(e){return new t0(this.realtimeUrl.href,Ve(Ve({},e),{},{params:Ve(Ve({},{apikey:this.supabaseKey}),e==null?void 0:e.params)}))}_listenForAuthEvents(){return this.auth.onAuthStateChange((e,t)=>{this._handleTokenChanged(e,"CLIENT",t==null?void 0:t.access_token)})}_handleTokenChanged(e,t,s){(e==="TOKEN_REFRESHED"||e==="SIGNED_IN")&&this.changedAccessToken!==s?(this.changedAccessToken=s,this.realtime.setAuth(s)):e==="SIGNED_OUT"&&(this.realtime.setAuth(),t=="STORAGE"&&this.auth.signOut(),this.changedAccessToken=void 0)}};const Gm=(e,t,s)=>new Wm(e,t,s);function Zm(){if(typeof window<"u")return!1;const e=globalThis.process;if(!e)return!1;const t=e.version;if(t==null)return!1;const s=t.match(/^v(\d+)\./);return s?parseInt(s[1],10)<=18:!1}Zm()&&console.warn("⚠️ Node.js 18 and below are deprecated and will no longer be supported in future versions of @supabase/supabase-js. Please upgrade to Node.js 20 or later. For more information, visit: https://github.com/orgs/supabase/discussions/37217");let gr=null,mr=null;async function Du(){if(mr)return mr;try{const e=await fetch("/api/auth/config");if(!e.ok)throw new Error(`HTTP ${e.status}`);return mr=await e.json(),mr}catch{return{authEnabled:!1,supabaseUrl:null,supabaseAnonKey:null}}}async function en(){if(gr)return gr;const e=await Du();return!e.authEnabled||!e.supabaseUrl||!e.supabaseAnonKey?null:(gr=Gm(e.supabaseUrl,e.supabaseAnonKey,{auth:{persistSession:!0,autoRefreshToken:!0,detectSessionInUrl:!0}}),gr)}const Ds=ru("auth",()=>{const e=B(null),t=B(null),s=B(!1),n=B(!1),r=B(!1);let i=null;async function a(){const d=await Du();if(r.value=d.authEnabled,!d.authEnabled){n.value=!0;return}const f=await en();if(!f){n.value=!0;return}await new Promise(p=>{f.auth.onAuthStateChange((m,_)=>{_?(t.value=_,e.value=_.user??null):m==="SIGNED_OUT"&&(t.value=null,e.value=null),m==="INITIAL_SESSION"&&p()})}),n.value=!0}async function o(){if(!n.value)return i||(i=a().catch(()=>{i=null})),i}async function l(d,f){const p=await en();if(!p)return"Auth not configured";s.value=!0;try{const{error:m}=await p.auth.signInWithPassword({email:d,password:f});return m?m.message:null}finally{s.value=!1}}async function c(){const d=await en();d&&await d.auth.signOut(),e.value=null,t.value=null}async function u(){const d=t.value;if(d!=null&&d.access_token){if(d.expires_at&&d.expires_at*1e3-Date.now()<3e4)try{const f=await en();if(f){const{data:p}=await f.auth.refreshSession();if(p.session)return p.session.access_token}}catch{}return d.access_token}if(r.value)try{const f=await en();if(f){const{data:p}=await f.auth.refreshSession();if(p.session)return p.session.access_token}}catch{}return null}return{user:e,session:t,loading:s,initialized:n,authEnabled:r,init:o,signIn:l,signOut:c,getAccessToken:u}});async function ke(e,t){const s=Ds(),n=await s.getAccessToken(),r=new Headers(t==null?void 0:t.headers);n&&r.set("Authorization",`Bearer ${n}`);const i=await fetch(e,{...t,headers:r});if(i.status===401&&s.authEnabled){const a=await en();if(a){const{data:o,error:l}=await a.auth.refreshSession();if(o.session){const c=new Headers(t==null?void 0:t.headers);return c.set("Authorization",`Bearer ${o.session.access_token}`),fetch(e,{...t,headers:c})}l||await s.signOut()}}return i}async function ci(e){const s=await Ds().getAccessToken();if(!s)return e;const n=e.includes("?")?"&":"?";return`${e}${n}token=${encodeURIComponent(s)}`}const Jm={class:"shrink-0 h-11 flex items-center justify-between px-4 bg-bg-surface border-b border-border"},Ym={class:"flex items-center gap-0"},Xm={key:0,class:"absolute -top-0.5 -right-0.5 min-w-4 h-4 flex items-center justify-center rounded-full bg-accent-red text-white text-[9px] font-bold px-1"},Qm=Je({__name:"AppHeader",emits:["toggle-sidebar"],setup(e){const t=Ds(),s=B(0);function n(){s.value=0}return it(async()=>{if(await t.init(),!(t.authEnabled&&!t.user))try{const r=await ke("/api/feed/count");if(r.ok){const i=await r.json();s.value=i.count??0}}catch{}}),(r,i)=>{const a=Sc("router-link");return g(),b("header",Jm,[h("div",Ym,[h("button",{class:"md:hidden p-1.5 mr-2 rounded-md text-text-muted hover:text-text hover:bg-bg-elevated transition-colors",onClick:i[0]||(i[0]=o=>r.$emit("toggle-sidebar")),"aria-label":"Toggle navigation"},[...i[1]||(i[1]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4"},[h("path",{"fill-rule":"evenodd",d:"M2 4.75A.75.75 0 0 1 2.75 4h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 4.75Zm0 5A.75.75 0 0 1 2.75 9h14.5a.75.75 0 0 1 0 1.5H2.75A.75.75 0 0 1 2 9.75Zm0 5a.75.75 0 0 1 .75-.75h14.5a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1-.75-.75Z","clip-rule":"evenodd"})],-1)])]),i[2]||(i[2]=h("span",{class:"text-accent-cyan font-mono font-bold text-lg select-none"},"IO",-1)),i[3]||(i[3]=h("div",{class:"w-px h-3 bg-border mx-3"},null,-1)),i[4]||(i[4]=h("span",{class:"text-text-muted text-xs hidden sm:inline"},"Mission Control · Developer AI Assistant",-1))]),fe(a,{to:"/feed",class:"relative flex items-center gap-1.5 px-3 py-1 rounded-md text-text-muted hover:bg-bg-elevated hover:text-text transition-colors",onClick:n},{default:Kt(()=>[i[5]||(i[5]=h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4"},[h("path",{d:"M10 2a5.92 5.92 0 0 1 5.98 5.36l.02.22V11.4l.92 2.22a1 1 0 0 1 .06.17l.01.08.01.13a1 1 0 0 1-.75.97l-.11.02L16 15h-3.5v.17a2.5 2.5 0 0 1-5 0V15H4a1 1 0 0 1-.26-.03l-.13-.04a1 1 0 0 1-.6-1.05l.02-.13.05-.13L4 11.4V7.57A5.9 5.9 0 0 1 10 2Zm1.5 13h-3v.15a1.5 1.5 0 0 0 1.36 1.34l.14.01c.78 0 1.42-.6 1.5-1.36V15ZM10 3a4.9 4.9 0 0 0-4.98 4.38L5 7.6V11.5l-.04.2L4 14h12l-.96-2.3-.04-.2V7.61A4.9 4.9 0 0 0 10 3Z"})],-1)),i[6]||(i[6]=h("span",{class:"text-xs"},"Feed",-1)),s.value>0?(g(),b("span",Xm,C(s.value>99?"99+":s.value),1)):q("",!0)]),_:1})])}}}),eb={key:0,class:"absolute left-0 top-[8px] bottom-[8px] w-[3px] rounded-r bg-accent-cyan"},tb=["innerHTML"],sb={key:1,class:"absolute top-1 right-1 min-w-3 h-3 flex items-center justify-center rounded-full bg-accent-red text-white text-[8px] font-bold px-0.5"},nb=Je({__name:"AppSidebar",props:{visible:{type:Boolean}},emits:["navigate"],setup(e){const t=$a(),s=Ds(),n=B(0),r=[{to:"/chat",name:"chat",icon:'<path d="M10 2a8 8 0 1 1-3.61 15.14l-.12-.07-3.65.92a.5.5 0 0 1-.62-.45v-.08l.01-.08.92-3.64-.07-.12a7.95 7.95 0 0 1-.83-2.9l-.02-.37L2 10a8 8 0 0 1 8-8Zm0 1a7 7 0 0 0-6.1 10.42.5.5 0 0 1 .06.28l-.02.1-.75 3.01 3.02-.75a.5.5 0 0 1 .19-.01l.09.02.09.04A7 7 0 1 0 10 3Z"/>',label:"Chat"},{to:"/squads",name:"squads",icon:'<path d="M10 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7.5 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm8-.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-10 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm.6 12H5a2 2 0 0 1-2-2V9.25c0-.14.11-.25.25-.25h1.76c.04-.37.17-.7.37-1H3.25C2.56 8 2 8.56 2 9.25V13a3 3 0 0 0 3.4 2.97 4.96 4.96 0 0 1-.3-.97Zm9.5.97A3 3 0 0 0 18 13V9.25C18 8.56 17.44 8 16.75 8h-2.13c.2.3.33.63.37 1h1.76c.14 0 .25.11.25.25V13a2 2 0 0 1-2.1 2c-.07.34-.17.66-.3.97ZM7.25 8C6.56 8 6 8.56 6 9.25V14a4 4 0 0 0 8 0V9.25C14 8.56 13.44 8 12.75 8h-5.5ZM7 9.25c0-.14.11-.25.25-.25h5.5c.14 0 .25.11.25.25V14a3 3 0 1 1-6 0V9.25Z"/>',label:"Squads"},{to:"/activity",name:"activity",icon:'<path d="M16.52 9c.26 0 .48-.2.48-.46V8.5A6.5 6.5 0 0 0 10.5 2h-.04a.47.47 0 0 0-.46.48V8.5c0 .28.22.5.5.5h6.02ZM11 3.02A5.5 5.5 0 0 1 15.98 8H11V3.02ZM8 9V5.1A5 5 0 0 0 9 15v1a6 6 0 0 1-.5-11.98c.28-.02.5.2.5.48V9a1 1 0 0 0 1 1h4.5c.28 0 .5.22.48.5a6 6 0 0 1-.06.5H10a2 2 0 0 1-2-2Zm9 1a1 1 0 0 0-1 1v7a1 1 0 1 0 2 0v-7a1 1 0 0 0-1-1Zm-3 2a1 1 0 0 0-1 1v5a1 1 0 1 0 2 0v-5a1 1 0 0 0-1-1Zm-4 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0v-3Z"/>',label:"Activity"},{to:"/schedules",name:"schedules",icon:'<path d="M7 11a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm1 2a1 1 0 1 1-2 0 1 1 0 0 1 2 0Zm2-2a1 1 0 1 0 0-2 1 1 0 0 0 0 2Zm4-5.5A2.5 2.5 0 0 0 14.5 3h-9A2.5 2.5 0 0 0 3 5.5v9A2.5 2.5 0 0 0 5.5 17h9a2.5 2.5 0 0 0 2.5-2.5v-9ZM4 7h12v7.5c0 .83-.67 1.5-1.5 1.5h-9A1.5 1.5 0 0 1 4 14.5V7Zm1.5-3h9c.83 0 1.5.67 1.5 1.5V6H4v-.5C4 4.67 4.67 4 5.5 4Z"/>',label:"Schedules"},{to:"/skills",name:"skills",icon:'<path d="M9 6.5a4.5 4.5 0 0 1 6.35-4.1.5.5 0 0 1 .15.8l-2.3 2.3 1.3 1.3 2.3-2.3a.5.5 0 0 1 .8.15A4.49 4.49 0 0 1 13.5 11a4.5 4.5 0 0 1-1.1-.14l-6.37 6.45a2.36 2.36 0 0 1-3.37-3.3l6.42-6.65A4.52 4.52 0 0 1 9 6.5Z"/>',label:"Skills"},{to:"/wiki",name:"wiki",icon:'<path d="M10 16c-.46.6-1.18 1-2 1H3.5A1.5 1.5 0 0 1 2 15.5v-11C2 3.67 2.67 3 3.5 3H8c.82 0 1.54.4 2 1 .46-.6 1.18-1 2-1h4.5c.83 0 1.5.67 1.5 1.5v11c0 .83-.67 1.5-1.5 1.5H12a2.5 2.5 0 0 1-2-1ZM3 4.5v11c0 .28.22.5.5.5H8c.83 0 1.5-.67 1.5-1.5v-9C9.5 4.67 8.83 4 8 4H3.5a.5.5 0 0 0-.5.5Zm7.5 10c0 .83.67 1.5 1.5 1.5h4.5a.5.5 0 0 0 .5-.5v-11a.5.5 0 0 0-.5-.5H12c-.83 0-1.5.67-1.5 1.5v9Z"/>',label:"Wiki"},{to:"/mcp",name:"mcp",icon:'<path d="M13.5 5a1.5 1.5 0 1 1 0 3h-1v1.5a.5.5 0 0 1-1 0V8h-3v1.5a.5.5 0 0 1-1 0V8h-1a1.5 1.5 0 1 1 0-3h1V3.5a.5.5 0 0 1 1 0V5h3V3.5a.5.5 0 0 1 1 0V5h1Zm0 1h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1ZM4 12.5A2.5 2.5 0 0 1 6.5 10h7a2.5 2.5 0 0 1 2.5 2.5v2a2.5 2.5 0 0 1-2.5 2.5h-7A2.5 2.5 0 0 1 4 14.5v-2Zm2.5-1.5A1.5 1.5 0 0 0 5 12.5v2A1.5 1.5 0 0 0 6.5 16h7a1.5 1.5 0 0 0 1.5-1.5v-2a1.5 1.5 0 0 0-1.5-1.5h-7Z"/>',label:"MCP"},{to:"/inbox",name:"inbox",icon:'<path d="M2 6.25A2.25 2.25 0 0 1 4.25 4h11.5A2.25 2.25 0 0 1 18 6.25v7.5A2.25 2.25 0 0 1 15.75 16H4.25A2.25 2.25 0 0 1 2 13.75v-7.5Zm2.25-1a1 1 0 0 0-1 1v.388l6.75 4.5 6.75-4.5V6.25a1 1 0 0 0-1-1H4.25Zm12.5 2.834-6.294 4.196a.75.75 0 0 1-.812 0L3.25 8.084v5.666a1 1 0 0 0 1 1h11.5a1 1 0 0 0 1-1V8.084Z"/>',label:"Inbox"}];function i(a){return t.name===a}return it(async()=>{if(await s.init(),!(s.authEnabled&&!s.user))try{const a=await ke("/api/inbox/count");if(a.ok){const o=await a.json();n.value=o.count??0}}catch{}}),(a,o)=>{const l=Sc("router-link");return g(),b("nav",{class:he(["shrink-0 w-[39px] bg-bg-surface border-r border-border flex-col items-center py-2 gap-0.5 z-30",[e.visible?"flex":"hidden md:flex"]])},[(g(),b(Ee,null,Me(r,c=>fe(l,{key:c.name,to:c.to,class:he(["relative w-[39px] h-[39px] flex items-center justify-center transition-colors duration-150 group",i(c.name)?"text-accent-cyan":"text-text-muted hover:text-text"]),title:c.label,onClick:o[0]||(o[0]=u=>a.$emit("navigate"))},{default:Kt(()=>[i(c.name)?(g(),b("span",eb)):q("",!0),(g(),b("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-[18px] h-[18px]",innerHTML:c.icon,"aria-hidden":"true"},null,8,tb)),c.name==="inbox"&&n.value>0?(g(),b("span",sb,C(n.value>9?"9+":n.value),1)):q("",!0)]),_:2},1032,["to","class","title"])),64))],2)}}}),rb={class:"shrink-0 h-[30px] flex items-center justify-between px-4 bg-bg-surface border-t border-border text-xs select-none"},ib={class:"flex items-center gap-3 text-text-muted"},ab={class:"text-accent-purple"},ob={class:"flex items-center gap-1.5 text-text-muted"},lb=Je({__name:"AppStatusBar",setup(e){const t=Ds(),s=B(0),n=B(0),r=B(""),i=B("just now");let a=Date.now(),o=null;function l(){const u=Math.floor((Date.now()-a)/1e3);u<10?i.value="just now":u<60?i.value=`${u}s ago`:i.value=`${Math.floor(u/60)}m ago`}async function c(){try{const u=await ke("/api/squads");if(u.ok){const f=(await u.json()).squads??[];s.value=f.length,n.value=f.reduce((_,T)=>_+(T.agents_count??0),0);const p=f.reduce((_,T)=>_+(T.instances_active??0),0),m=f.reduce((_,T)=>_+(T.instances_total??0),0);m>0?r.value=`${p}/${m} instances active`:r.value=""}}catch{}a=Date.now(),l()}return it(async()=>{await t.init(),!(t.authEnabled&&!t.user)&&(c(),o=setInterval(l,1e4))}),fn(()=>{o&&clearInterval(o)}),(u,d)=>(g(),b("footer",rb,[h("div",ib,[d[1]||(d[1]=h("span",{class:"flex items-center gap-1.5"},[h("span",{class:"w-2 h-2 rounded-full bg-accent-green"}),de(" Connected ")],-1)),d[2]||(d[2]=h("span",null,"·",-1)),h("span",null,C(s.value)+" squads · "+C(n.value)+" agents",1),r.value?(g(),b(Ee,{key:0},[d[0]||(d[0]=h("span",null,"·",-1)),h("span",ab,C(r.value),1)],64)):q("",!0)]),h("div",ob,[d[3]||(d[3]=h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-3.5 h-3.5"},[h("path",{"fill-rule":"evenodd",d:"M10 18a8 8 0 1 0 0-16 8 8 0 0 0 0 16Zm.75-13a.75.75 0 0 0-1.5 0v4.5c0 .2.08.39.22.53l3 3a.75.75 0 1 0 1.06-1.06l-2.78-2.78V5Z","clip-rule":"evenodd"})],-1)),h("span",null,"Last sync: "+C(i.value),1)])]))}}),cb={key:0,class:"fixed bottom-12 left-1/2 -translate-x-1/2 z-40"},ub={class:"text-[10px] text-text-muted bg-bg-elevated px-1.5 py-0.5 rounded border border-border font-mono"},db=Je({__name:"CommandBar",props:{chatOpen:{type:Boolean}},emits:["open"],setup(e,{emit:t}){const s=e,n=t,r=B(!1);function i(){n("open")}function a(o){(o.metaKey||o.ctrlKey)&&o.key==="k"&&(o.preventDefault(),s.chatOpen||i())}return it(()=>{r.value=navigator.platform.toUpperCase().includes("MAC"),document.addEventListener("keydown",a)}),fn(()=>{document.removeEventListener("keydown",a)}),(o,l)=>e.chatOpen?q("",!0):(g(),b("div",cb,[h("button",{onClick:i,class:"flex items-center gap-2 w-[360px] max-w-[calc(100vw-2rem)] px-4 py-2 rounded-full bg-bg-surface border border-border shadow-lg hover:border-border-bright hover:shadow-glow-sm transition-all duration-200"},[l[0]||(l[0]=h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4 text-text-muted shrink-0"},[h("path",{"fill-rule":"evenodd",d:"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.45 4.39l3.58 3.58a.75.75 0 1 1-1.06 1.06l-3.58-3.58A7 7 0 0 1 2 9Z","clip-rule":"evenodd"})],-1)),l[1]||(l[1]=h("span",{class:"flex-1 text-left text-sm text-text-muted"},"Command IO...",-1)),h("kbd",ub,C(r.value?"⌘K":"Ctrl+K"),1)])]))}}),Uu=ru("chat",()=>{const e=B([]),t=B(!1);function s(i){e.value.push(i)}function n(i){const a=e.value[e.value.length-1];a&&a.role==="assistant"&&(a.content+=i)}function r(i){const a=e.value[e.value.length-1];a&&a.role==="assistant"&&(a.streaming=i)}return{messages:e,isLoading:t,addMessage:s,appendToLast:n,setLastStreaming:r}});function hb(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Bu(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach(t=>{const s=e[t],n=typeof s;(n==="object"||n==="function")&&!Object.isFrozen(s)&&Bu(s)}),e}class Sl{constructor(t){t.data===void 0&&(t.data={}),this.data=t.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function Hu(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function ys(e,...t){const s=Object.create(null);for(const n in e)s[n]=e[n];return t.forEach(function(n){for(const r in n)s[r]=n[r]}),s}const fb="</span>",Tl=e=>!!e.scope,pb=(e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const s=e.split(".");return[`${t}${s.shift()}`,...s.map((n,r)=>`${n}${"_".repeat(r+1)}`)].join(" ")}return`${t}${e}`};class gb{constructor(t,s){this.buffer="",this.classPrefix=s.classPrefix,t.walk(this)}addText(t){this.buffer+=Hu(t)}openNode(t){if(!Tl(t))return;const s=pb(t.scope,{prefix:this.classPrefix});this.span(s)}closeNode(t){Tl(t)&&(this.buffer+=fb)}value(){return this.buffer}span(t){this.buffer+=`<span class="${t}">`}}const Al=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class Pa{constructor(){this.rootNode=Al(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(t){this.top.children.push(t)}openNode(t){const s=Al({scope:t});this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(t){return this.constructor._walk(t,this.rootNode)}static _walk(t,s){return typeof s=="string"?t.addText(s):s.children&&(t.openNode(s),s.children.forEach(n=>this._walk(t,n)),t.closeNode(s)),t}static _collapse(t){typeof t!="string"&&t.children&&(t.children.every(s=>typeof s=="string")?t.children=[t.children.join("")]:t.children.forEach(s=>{Pa._collapse(s)}))}}class mb extends Pa{constructor(t){super(),this.options=t}addText(t){t!==""&&this.add(t)}startScope(t){this.openNode(t)}endScope(){this.closeNode()}__addSublanguage(t,s){const n=t.root;s&&(n.scope=`language:${s}`),this.add(n)}toHTML(){return new gb(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function Yn(e){return e?typeof e=="string"?e:e.source:null}function Fu(e){return Us("(?=",e,")")}function bb(e){return Us("(?:",e,")*")}function vb(e){return Us("(?:",e,")?")}function Us(...e){return e.map(s=>Yn(s)).join("")}function yb(e){const t=e[e.length-1];return typeof t=="object"&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}function La(...e){return"("+(yb(e).capture?"":"?:")+e.map(n=>Yn(n)).join("|")+")"}function Vu(e){return new RegExp(e.toString()+"|").exec("").length-1}function _b(e,t){const s=e&&e.exec(t);return s&&s.index===0}const xb=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function Ma(e,{joinWith:t}){let s=0;return e.map(n=>{s+=1;const r=s;let i=Yn(n),a="";for(;i.length>0;){const o=xb.exec(i);if(!o){a+=i;break}a+=i.substring(0,o.index),i=i.substring(o.index+o[0].length),o[0][0]==="\\"&&o[1]?a+="\\"+String(Number(o[1])+r):(a+=o[0],o[0]==="("&&s++)}return a}).map(n=>`(${n})`).join(t)}const wb=/\b\B/,qu="[a-zA-Z]\\w*",ja="[a-zA-Z_]\\w*",zu="\\b\\d+(\\.\\d+)?",Ku="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",Wu="\\b(0b[01]+)",kb="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",Eb=(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=Us(t,/.*\b/,e.binary,/\b.*/)),ys({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(s,n)=>{s.index!==0&&n.ignoreMatch()}},e)},Xn={begin:"\\\\[\\s\\S]",relevance:0},Sb={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[Xn]},Tb={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[Xn]},Ab={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},ui=function(e,t,s={}){const n=ys({scope:"comment",begin:e,end:t,contains:[]},s);n.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const r=La("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return n.contains.push({begin:Us(/[ ]+/,"(",r,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),n},Rb=ui("//","$"),Cb=ui("/\\*","\\*/"),Ob=ui("#","$"),$b={scope:"number",begin:zu,relevance:0},Nb={scope:"number",begin:Ku,relevance:0},Ib={scope:"number",begin:Wu,relevance:0},Pb={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[Xn,{begin:/\[/,end:/\]/,relevance:0,contains:[Xn]}]},Lb={scope:"title",begin:qu,relevance:0},Mb={scope:"title",begin:ja,relevance:0},jb={begin:"\\.\\s*"+ja,relevance:0},Db=function(e){return Object.assign(e,{"on:begin":(t,s)=>{s.data._beginMatch=t[1]},"on:end":(t,s)=>{s.data._beginMatch!==t[1]&&s.ignoreMatch()}})};var br=Object.freeze({__proto__:null,APOS_STRING_MODE:Sb,BACKSLASH_ESCAPE:Xn,BINARY_NUMBER_MODE:Ib,BINARY_NUMBER_RE:Wu,COMMENT:ui,C_BLOCK_COMMENT_MODE:Cb,C_LINE_COMMENT_MODE:Rb,C_NUMBER_MODE:Nb,C_NUMBER_RE:Ku,END_SAME_AS_BEGIN:Db,HASH_COMMENT_MODE:Ob,IDENT_RE:qu,MATCH_NOTHING_RE:wb,METHOD_GUARD:jb,NUMBER_MODE:$b,NUMBER_RE:zu,PHRASAL_WORDS_MODE:Ab,QUOTE_STRING_MODE:Tb,REGEXP_MODE:Pb,RE_STARTERS_RE:kb,SHEBANG:Eb,TITLE_MODE:Lb,UNDERSCORE_IDENT_RE:ja,UNDERSCORE_TITLE_MODE:Mb});function Ub(e,t){e.input[e.index-1]==="."&&t.ignoreMatch()}function Bb(e,t){e.className!==void 0&&(e.scope=e.className,delete e.className)}function Hb(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=Ub,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,e.relevance===void 0&&(e.relevance=0))}function Fb(e,t){Array.isArray(e.illegal)&&(e.illegal=La(...e.illegal))}function Vb(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function qb(e,t){e.relevance===void 0&&(e.relevance=1)}const zb=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const s=Object.assign({},e);Object.keys(e).forEach(n=>{delete e[n]}),e.keywords=s.keywords,e.begin=Us(s.beforeMatch,Fu(s.begin)),e.starts={relevance:0,contains:[Object.assign(s,{endsParent:!0})]},e.relevance=0,delete s.beforeMatch},Kb=["of","and","for","in","not","or","if","then","parent","list","value"],Wb="keyword";function Gu(e,t,s=Wb){const n=Object.create(null);return typeof e=="string"?r(s,e.split(" ")):Array.isArray(e)?r(s,e):Object.keys(e).forEach(function(i){Object.assign(n,Gu(e[i],t,i))}),n;function r(i,a){t&&(a=a.map(o=>o.toLowerCase())),a.forEach(function(o){const l=o.split("|");n[l[0]]=[i,Gb(l[0],l[1])]})}}function Gb(e,t){return t?Number(t):Zb(e)?0:1}function Zb(e){return Kb.includes(e.toLowerCase())}const Rl={},Ls=e=>{console.error(e)},Cl=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Ws=(e,t)=>{Rl[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Rl[`${e}/${t}`]=!0)},Dr=new Error;function Zu(e,t,{key:s}){let n=0;const r=e[s],i={},a={};for(let o=1;o<=t.length;o++)a[o+n]=r[o],i[o+n]=!0,n+=Vu(t[o-1]);e[s]=a,e[s]._emit=i,e[s]._multi=!0}function Jb(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw Ls("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),Dr;if(typeof e.beginScope!="object"||e.beginScope===null)throw Ls("beginScope must be object"),Dr;Zu(e,e.begin,{key:"beginScope"}),e.begin=Ma(e.begin,{joinWith:""})}}function Yb(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw Ls("skip, excludeEnd, returnEnd not compatible with endScope: {}"),Dr;if(typeof e.endScope!="object"||e.endScope===null)throw Ls("endScope must be object"),Dr;Zu(e,e.end,{key:"endScope"}),e.end=Ma(e.end,{joinWith:""})}}function Xb(e){e.scope&&typeof e.scope=="object"&&e.scope!==null&&(e.beginScope=e.scope,delete e.scope)}function Qb(e){Xb(e),typeof e.beginScope=="string"&&(e.beginScope={_wrap:e.beginScope}),typeof e.endScope=="string"&&(e.endScope={_wrap:e.endScope}),Jb(e),Yb(e)}function ev(e){function t(a,o){return new RegExp(Yn(a),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(o?"g":""))}class s{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,l){l.position=this.position++,this.matchIndexes[this.matchAt]=l,this.regexes.push([l,o]),this.matchAt+=Vu(o)+1}compile(){this.regexes.length===0&&(this.exec=()=>null);const o=this.regexes.map(l=>l[1]);this.matcherRe=t(Ma(o,{joinWith:"|"}),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const l=this.matcherRe.exec(o);if(!l)return null;const c=l.findIndex((d,f)=>f>0&&d!==void 0),u=this.matchIndexes[c];return l.splice(0,c),Object.assign(l,u)}}class n{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const l=new s;return this.rules.slice(o).forEach(([c,u])=>l.addRule(c,u)),l.compile(),this.multiRegexes[o]=l,l}resumingScanAtSamePosition(){return this.regexIndex!==0}considerAll(){this.regexIndex=0}addRule(o,l){this.rules.push([o,l]),l.type==="begin"&&this.count++}exec(o){const l=this.getMatcher(this.regexIndex);l.lastIndex=this.lastIndex;let c=l.exec(o);if(this.resumingScanAtSamePosition()&&!(c&&c.index===this.lastIndex)){const u=this.getMatcher(0);u.lastIndex=this.lastIndex+1,c=u.exec(o)}return c&&(this.regexIndex+=c.position+1,this.regexIndex===this.count&&this.considerAll()),c}}function r(a){const o=new n;return a.contains.forEach(l=>o.addRule(l.begin,{rule:l,type:"begin"})),a.terminatorEnd&&o.addRule(a.terminatorEnd,{type:"end"}),a.illegal&&o.addRule(a.illegal,{type:"illegal"}),o}function i(a,o){const l=a;if(a.isCompiled)return l;[Bb,Vb,Qb,zb].forEach(u=>u(a,o)),e.compilerExtensions.forEach(u=>u(a,o)),a.__beforeBegin=null,[Hb,Fb,qb].forEach(u=>u(a,o)),a.isCompiled=!0;let c=null;return typeof a.keywords=="object"&&a.keywords.$pattern&&(a.keywords=Object.assign({},a.keywords),c=a.keywords.$pattern,delete a.keywords.$pattern),c=c||/\w+/,a.keywords&&(a.keywords=Gu(a.keywords,e.case_insensitive)),l.keywordPatternRe=t(c,!0),o&&(a.begin||(a.begin=/\B|\b/),l.beginRe=t(l.begin),!a.end&&!a.endsWithParent&&(a.end=/\B|\b/),a.end&&(l.endRe=t(l.end)),l.terminatorEnd=Yn(l.end)||"",a.endsWithParent&&o.terminatorEnd&&(l.terminatorEnd+=(a.end?"|":"")+o.terminatorEnd)),a.illegal&&(l.illegalRe=t(a.illegal)),a.contains||(a.contains=[]),a.contains=[].concat(...a.contains.map(function(u){return tv(u==="self"?a:u)})),a.contains.forEach(function(u){i(u,l)}),a.starts&&i(a.starts,o),l.matcher=r(l),l}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=ys(e.classNameAliases||{}),i(e)}function Ju(e){return e?e.endsWithParent||Ju(e.starts):!1}function tv(e){return e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return ys(e,{variants:null},t)})),e.cachedVariants?e.cachedVariants:Ju(e)?ys(e,{starts:e.starts?ys(e.starts):null}):Object.isFrozen(e)?ys(e):e}var sv="11.11.1";class nv extends Error{constructor(t,s){super(t),this.name="HTMLInjectionError",this.html=s}}const $i=Hu,Ol=ys,$l=Symbol("nomatch"),rv=7,Yu=function(e){const t=Object.create(null),s=Object.create(null),n=[];let r=!0;const i="Could not find the language '{}', did you forget to load/include a language module?",a={disableAutodetect:!0,name:"Plain text",contains:[]};let o={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:mb};function l(v){return o.noHighlightRe.test(v)}function c(v){let S=v.className+" ";S+=v.parentNode?v.parentNode.className:"";const H=o.languageDetectRe.exec(S);if(H){const ie=I(H[1]);return ie||(Cl(i.replace("{}",H[1])),Cl("Falling back to no-highlight mode for this block.",v)),ie?H[1]:"no-highlight"}return S.split(/\s+/).find(ie=>l(ie)||I(ie))}function u(v,S,H){let ie="",ge="";typeof S=="object"?(ie=v,H=S.ignoreIllegals,ge=S.language):(Ws("10.7.0","highlight(lang, code, ...args) has been deprecated."),Ws("10.7.0",`Please use highlight(code, options) instead.
73
- https://github.com/highlightjs/highlight.js/issues/2277`),ge=v,ie=S),H===void 0&&(H=!0);const we={code:ie,language:ge};$("before:highlight",we);const Te=we.result?we.result:d(we.language,we.code,H);return Te.code=we.code,$("after:highlight",Te),Te}function d(v,S,H,ie){const ge=Object.create(null);function we(Z,te){return Z.keywords[te]}function Te(){if(!K.keywords){Y.addText(V);return}let Z=0;K.keywordPatternRe.lastIndex=0;let te=K.keywordPatternRe.exec(V),ce="";for(;te;){ce+=V.substring(Z,te.index);const _e=F.case_insensitive?te[0].toLowerCase():te[0],Ce=we(K,_e);if(Ce){const[Ke,_t]=Ce;if(Y.addText(ce),ce="",ge[_e]=(ge[_e]||0)+1,ge[_e]<=rv&&(be+=_t),Ke.startsWith("_"))ce+=te[0];else{const xs=F.classNameAliases[Ke]||Ke;U(te[0],xs)}}else ce+=te[0];Z=K.keywordPatternRe.lastIndex,te=K.keywordPatternRe.exec(V)}ce+=V.substring(Z),Y.addText(ce)}function J(){if(V==="")return;let Z=null;if(typeof K.subLanguage=="string"){if(!t[K.subLanguage]){Y.addText(V);return}Z=d(K.subLanguage,V,!0,se[K.subLanguage]),se[K.subLanguage]=Z._top}else Z=p(V,K.subLanguage.length?K.subLanguage:null);K.relevance>0&&(be+=Z.relevance),Y.__addSublanguage(Z._emitter,Z.language)}function P(){K.subLanguage!=null?J():Te(),V=""}function U(Z,te){Z!==""&&(Y.startScope(te),Y.addText(Z),Y.endScope())}function Q(Z,te){let ce=1;const _e=te.length-1;for(;ce<=_e;){if(!Z._emit[ce]){ce++;continue}const Ce=F.classNameAliases[Z[ce]]||Z[ce],Ke=te[ce];Ce?U(Ke,Ce):(V=Ke,Te(),V=""),ce++}}function M(Z,te){return Z.scope&&typeof Z.scope=="string"&&Y.openNode(F.classNameAliases[Z.scope]||Z.scope),Z.beginScope&&(Z.beginScope._wrap?(U(V,F.classNameAliases[Z.beginScope._wrap]||Z.beginScope._wrap),V=""):Z.beginScope._multi&&(Q(Z.beginScope,te),V="")),K=Object.create(Z,{parent:{value:K}}),K}function ae(Z,te,ce){let _e=_b(Z.endRe,ce);if(_e){if(Z["on:end"]){const Ce=new Sl(Z);Z["on:end"](te,Ce),Ce.isMatchIgnored&&(_e=!1)}if(_e){for(;Z.endsParent&&Z.parent;)Z=Z.parent;return Z}}if(Z.endsWithParent)return ae(Z.parent,te,ce)}function oe(Z){return K.matcher.regexIndex===0?(V+=Z[0],1):(ye=!0,0)}function me(Z){const te=Z[0],ce=Z.rule,_e=new Sl(ce),Ce=[ce.__beforeBegin,ce["on:begin"]];for(const Ke of Ce)if(Ke&&(Ke(Z,_e),_e.isMatchIgnored))return oe(te);return ce.skip?V+=te:(ce.excludeBegin&&(V+=te),P(),!ce.returnBegin&&!ce.excludeBegin&&(V=te)),M(ce,Z),ce.returnBegin?0:te.length}function Re(Z){const te=Z[0],ce=S.substring(Z.index),_e=ae(K,Z,ce);if(!_e)return $l;const Ce=K;K.endScope&&K.endScope._wrap?(P(),U(te,K.endScope._wrap)):K.endScope&&K.endScope._multi?(P(),Q(K.endScope,Z)):Ce.skip?V+=te:(Ce.returnEnd||Ce.excludeEnd||(V+=te),P(),Ce.excludeEnd&&(V=te));do K.scope&&Y.closeNode(),!K.skip&&!K.subLanguage&&(be+=K.relevance),K=K.parent;while(K!==_e.parent);return _e.starts&&M(_e.starts,Z),Ce.returnEnd?0:te.length}function y(){const Z=[];for(let te=K;te!==F;te=te.parent)te.scope&&Z.unshift(te.scope);Z.forEach(te=>Y.openNode(te))}let k={};function N(Z,te){const ce=te&&te[0];if(V+=Z,ce==null)return P(),0;if(k.type==="begin"&&te.type==="end"&&k.index===te.index&&ce===""){if(V+=S.slice(te.index,te.index+1),!r){const _e=new Error(`0 width match regex (${v})`);throw _e.languageName=v,_e.badRule=k.rule,_e}return 1}if(k=te,te.type==="begin")return me(te);if(te.type==="illegal"&&!H){const _e=new Error('Illegal lexeme "'+ce+'" for mode "'+(K.scope||"<unnamed>")+'"');throw _e.mode=K,_e}else if(te.type==="end"){const _e=Re(te);if(_e!==$l)return _e}if(te.type==="illegal"&&ce==="")return V+=`
74
- `,1;if(pe>1e5&&pe>te.index*3)throw new Error("potential infinite loop, way more iterations than matches");return V+=ce,ce.length}const F=I(v);if(!F)throw Ls(i.replace("{}",v)),new Error('Unknown language: "'+v+'"');const G=ev(F);let z="",K=ie||G;const se={},Y=new o.__emitter(o);y();let V="",be=0,re=0,pe=0,ye=!1;try{if(F.__emitTokens)F.__emitTokens(S,Y);else{for(K.matcher.considerAll();;){pe++,ye?ye=!1:K.matcher.considerAll(),K.matcher.lastIndex=re;const Z=K.matcher.exec(S);if(!Z)break;const te=S.substring(re,Z.index),ce=N(te,Z);re=Z.index+ce}N(S.substring(re))}return Y.finalize(),z=Y.toHTML(),{language:v,value:z,relevance:be,illegal:!1,_emitter:Y,_top:K}}catch(Z){if(Z.message&&Z.message.includes("Illegal"))return{language:v,value:$i(S),illegal:!0,relevance:0,_illegalBy:{message:Z.message,index:re,context:S.slice(re-100,re+100),mode:Z.mode,resultSoFar:z},_emitter:Y};if(r)return{language:v,value:$i(S),illegal:!1,relevance:0,errorRaised:Z,_emitter:Y,_top:K};throw Z}}function f(v){const S={value:$i(v),illegal:!1,relevance:0,_top:a,_emitter:new o.__emitter(o)};return S._emitter.addText(v),S}function p(v,S){S=S||o.languages||Object.keys(t);const H=f(v),ie=S.filter(I).filter(W).map(P=>d(P,v,!1));ie.unshift(H);const ge=ie.sort((P,U)=>{if(P.relevance!==U.relevance)return U.relevance-P.relevance;if(P.language&&U.language){if(I(P.language).supersetOf===U.language)return 1;if(I(U.language).supersetOf===P.language)return-1}return 0}),[we,Te]=ge,J=we;return J.secondBest=Te,J}function m(v,S,H){const ie=S&&s[S]||H;v.classList.add("hljs"),v.classList.add(`language-${ie}`)}function _(v){let S=null;const H=c(v);if(l(H))return;if($("before:highlightElement",{el:v,language:H}),v.dataset.highlighted){console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",v);return}if(v.children.length>0&&(o.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(v)),o.throwUnescapedHTML))throw new nv("One of your code blocks includes unescaped HTML.",v.innerHTML);S=v;const ie=S.textContent,ge=H?u(ie,{language:H,ignoreIllegals:!0}):p(ie);v.innerHTML=ge.value,v.dataset.highlighted="yes",m(v,H,ge.language),v.result={language:ge.language,re:ge.relevance,relevance:ge.relevance},ge.secondBest&&(v.secondBest={language:ge.secondBest.language,relevance:ge.secondBest.relevance}),$("after:highlightElement",{el:v,result:ge,text:ie})}function T(v){o=Ol(o,v)}const E=()=>{A(),Ws("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")};function w(){A(),Ws("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")}let x=!1;function A(){function v(){A()}if(document.readyState==="loading"){x||window.addEventListener("DOMContentLoaded",v,!1),x=!0;return}document.querySelectorAll(o.cssSelector).forEach(_)}function L(v,S){let H=null;try{H=S(e)}catch(ie){if(Ls("Language definition for '{}' could not be registered.".replace("{}",v)),r)Ls(ie);else throw ie;H=a}H.name||(H.name=v),t[v]=H,H.rawDefinition=S.bind(null,e),H.aliases&&j(H.aliases,{languageName:v})}function D(v){delete t[v];for(const S of Object.keys(s))s[S]===v&&delete s[S]}function O(){return Object.keys(t)}function I(v){return v=(v||"").toLowerCase(),t[v]||t[s[v]]}function j(v,{languageName:S}){typeof v=="string"&&(v=[v]),v.forEach(H=>{s[H.toLowerCase()]=S})}function W(v){const S=I(v);return S&&!S.disableAutodetect}function ne(v){v["before:highlightBlock"]&&!v["before:highlightElement"]&&(v["before:highlightElement"]=S=>{v["before:highlightBlock"](Object.assign({block:S.el},S))}),v["after:highlightBlock"]&&!v["after:highlightElement"]&&(v["after:highlightElement"]=S=>{v["after:highlightBlock"](Object.assign({block:S.el},S))})}function ee(v){ne(v),n.push(v)}function X(v){const S=n.indexOf(v);S!==-1&&n.splice(S,1)}function $(v,S){const H=v;n.forEach(function(ie){ie[H]&&ie[H](S)})}function R(v){return Ws("10.7.0","highlightBlock will be removed entirely in v12.0"),Ws("10.7.0","Please use highlightElement now."),_(v)}Object.assign(e,{highlight:u,highlightAuto:p,highlightAll:A,highlightElement:_,highlightBlock:R,configure:T,initHighlighting:E,initHighlightingOnLoad:w,registerLanguage:L,unregisterLanguage:D,listLanguages:O,getLanguage:I,registerAliases:j,autoDetection:W,inherit:Ol,addPlugin:ee,removePlugin:X}),e.debugMode=function(){r=!1},e.safeMode=function(){r=!0},e.versionString=sv,e.regex={concat:Us,lookahead:Fu,either:La,optional:vb,anyNumberOfTimes:bb};for(const v in br)typeof br[v]=="object"&&Bu(br[v]);return Object.assign(e,br),e},hn=Yu({});hn.newInstance=()=>Yu({});var iv=hn;hn.HighlightJS=hn;hn.default=hn;const Ze=hb(iv),Ur="[A-Za-z$_][0-9A-Za-z$_]*",Xu=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],Qu=["true","false","null","undefined","NaN","Infinity"],ed=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],td=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],sd=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],nd=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],rd=[].concat(sd,ed,td);function av(e){const t=e.regex,s=(H,{after:ie})=>{const ge="</"+H[0].slice(1);return H.input.indexOf(ge,ie)!==-1},n=Ur,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(H,ie)=>{const ge=H[0].length+H.index,we=H.input[ge];if(we==="<"||we===","){ie.ignoreMatch();return}we===">"&&(s(H,{after:ge})||ie.ignoreMatch());let Te;const J=H.input.substring(ge);if(Te=J.match(/^\s*=/)){ie.ignoreMatch();return}if((Te=J.match(/^\s+extends\s+/))&&Te.index===0){ie.ignoreMatch();return}}},o={$pattern:Ur,keyword:Xu,literal:Qu,built_in:rd,"variable.language":nd},l="[0-9](_?[0-9])*",c=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${u})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},_={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},T={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},w={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,_,T,{match:/\$\d+/},d];f.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const A=[].concat(w,f.contains),L=A.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(A)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L},O={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...ed,...td]}},j={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},W={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},ne={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ee(H){return t.concat("(?!",H.join("|"),")")}const X={match:t.concat(/\b/,ee([...sd,"super","import"].map(H=>`${H}\\s*\\(`)),n,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},R={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},v="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(v)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:I},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,_,T,w,{match:/\$\d+/},d,I,{scope:"attr",match:n+t.lookahead(":"),relevance:0},S,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[w,e.REGEXP_MODE,{className:"function",begin:v,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},W,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},X,ne,O,R,{match:/\$[(.]/}]}}function id(e){const t=e.regex,s=av(e),n=Ur,r=["any","void","number","boolean","string","object","never","symbol","bigint","unknown"],i={begin:[/namespace/,/\s+/,e.IDENT_RE],beginScope:{1:"keyword",3:"title.class"}},a={beginKeywords:"interface",end:/\{/,excludeEnd:!0,keywords:{keyword:"interface extends",built_in:r},contains:[s.exports.CLASS_REFERENCE]},o={className:"meta",relevance:10,begin:/^\s*['"]use strict['"]/},l=["type","interface","public","private","protected","implements","declare","abstract","readonly","enum","override","satisfies"],c={$pattern:Ur,keyword:Xu.concat(l),literal:Qu,built_in:rd.concat(r),"variable.language":nd},u={className:"meta",begin:"@"+n},d=(_,T,E)=>{const w=_.contains.findIndex(x=>x.label===T);if(w===-1)throw new Error("can not find mode to replace");_.contains.splice(w,1,E)};Object.assign(s.keywords,c),s.exports.PARAMS_CONTAINS.push(u);const f=s.contains.find(_=>_.scope==="attr"),p=Object.assign({},f,{match:t.concat(n,t.lookahead(/\s*\?:/))});s.exports.PARAMS_CONTAINS.push([s.exports.CLASS_REFERENCE,f,p]),s.contains=s.contains.concat([u,i,a,p]),d(s,"shebang",e.SHEBANG()),d(s,"use_strict",o);const m=s.contains.find(_=>_.label==="func.def");return m.relevance=0,Object.assign(s,{name:"TypeScript",aliases:["ts","tsx","mts","cts"]}),s}const Nl="[A-Za-z$_][0-9A-Za-z$_]*",ov=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],lv=["true","false","null","undefined","NaN","Infinity"],ad=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],od=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],ld=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],cv=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],uv=[].concat(ld,ad,od);function cd(e){const t=e.regex,s=(H,{after:ie})=>{const ge="</"+H[0].slice(1);return H.input.indexOf(ge,ie)!==-1},n=Nl,r={begin:"<>",end:"</>"},i=/<[A-Za-z0-9\\._:-]+\s*\/>/,a={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(H,ie)=>{const ge=H[0].length+H.index,we=H.input[ge];if(we==="<"||we===","){ie.ignoreMatch();return}we===">"&&(s(H,{after:ge})||ie.ignoreMatch());let Te;const J=H.input.substring(ge);if(Te=J.match(/^\s*=/)){ie.ignoreMatch();return}if((Te=J.match(/^\s+extends\s+/))&&Te.index===0){ie.ignoreMatch();return}}},o={$pattern:Nl,keyword:ov,literal:lv,built_in:uv,"variable.language":cv},l="[0-9](_?[0-9])*",c=`\\.(${l})`,u="0|[1-9](_?[0-9])*|0[0-7]*[89][0-9]*",d={className:"number",variants:[{begin:`(\\b(${u})((${c})|\\.)?|(${c}))[eE][+-]?(${l})\\b`},{begin:`\\b(${u})\\b((${c})\\b|\\.)?|(${c})\\b`},{begin:"\\b(0|[1-9](_?[0-9])*)n\\b"},{begin:"\\b0[xX][0-9a-fA-F](_?[0-9a-fA-F])*n?\\b"},{begin:"\\b0[bB][0-1](_?[0-1])*n?\\b"},{begin:"\\b0[oO][0-7](_?[0-7])*n?\\b"},{begin:"\\b0[0-7]+n?\\b"}],relevance:0},f={className:"subst",begin:"\\$\\{",end:"\\}",keywords:o,contains:[]},p={begin:".?html`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"xml"}},m={begin:".?css`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"css"}},_={begin:".?gql`",end:"",starts:{end:"`",returnEnd:!1,contains:[e.BACKSLASH_ESCAPE,f],subLanguage:"graphql"}},T={className:"string",begin:"`",end:"`",contains:[e.BACKSLASH_ESCAPE,f]},w={className:"comment",variants:[e.COMMENT(/\/\*\*(?!\/)/,"\\*/",{relevance:0,contains:[{begin:"(?=@[A-Za-z]+)",relevance:0,contains:[{className:"doctag",begin:"@[A-Za-z]+"},{className:"type",begin:"\\{",end:"\\}",excludeEnd:!0,excludeBegin:!0,relevance:0},{className:"variable",begin:n+"(?=\\s*(-)|$)",endsParent:!0,relevance:0},{begin:/(?=[^\n])\s/,relevance:0}]}]}),e.C_BLOCK_COMMENT_MODE,e.C_LINE_COMMENT_MODE]},x=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,_,T,{match:/\$\d+/},d];f.contains=x.concat({begin:/\{/,end:/\}/,keywords:o,contains:["self"].concat(x)});const A=[].concat(w,f.contains),L=A.concat([{begin:/(\s*)\(/,end:/\)/,keywords:o,contains:["self"].concat(A)}]),D={className:"params",begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L},O={variants:[{match:[/class/,/\s+/,n,/\s+/,/extends/,/\s+/,t.concat(n,"(",t.concat(/\./,n),")*")],scope:{1:"keyword",3:"title.class",5:"keyword",7:"title.class.inherited"}},{match:[/class/,/\s+/,n],scope:{1:"keyword",3:"title.class"}}]},I={relevance:0,match:t.either(/\bJSON/,/\b[A-Z][a-z]+([A-Z][a-z]*|\d)*/,/\b[A-Z]{2,}([A-Z][a-z]+|\d)+([A-Z][a-z]*)*/,/\b[A-Z]{2,}[a-z]+([A-Z][a-z]+|\d)*([A-Z][a-z]*)*/),className:"title.class",keywords:{_:[...ad,...od]}},j={label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},W={variants:[{match:[/function/,/\s+/,n,/(?=\s*\()/]},{match:[/function/,/\s*(?=\()/]}],className:{1:"keyword",3:"title.function"},label:"func.def",contains:[D],illegal:/%/},ne={relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"};function ee(H){return t.concat("(?!",H.join("|"),")")}const X={match:t.concat(/\b/,ee([...ld,"super","import"].map(H=>`${H}\\s*\\(`)),n,t.lookahead(/\s*\(/)),className:"title.function",relevance:0},$={begin:t.concat(/\./,t.lookahead(t.concat(n,/(?![0-9A-Za-z$_(])/))),end:n,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},R={match:[/get|set/,/\s+/,n,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},D]},v="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",S={match:[/const|var|let/,/\s+/,n,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(v)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[D]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:o,exports:{PARAMS_CONTAINS:L,CLASS_REFERENCE:I},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),j,e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,p,m,_,T,w,{match:/\$\d+/},d,I,{scope:"attr",match:n+t.lookahead(":"),relevance:0},S,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[w,e.REGEXP_MODE,{className:"function",begin:v,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:L}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:r.begin,end:r.end},{match:i},{begin:a.begin,"on:begin":a.isTrulyOpeningTag,end:a.end}],subLanguage:"xml",contains:[{begin:a.begin,end:a.end,skip:!0,contains:["self"]}]}]},W,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[D,e.inherit(e.TITLE_MODE,{begin:n,className:"title.function"})]},{match:/\.\.\./,relevance:0},$,{match:"\\$"+n,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[D]},X,ne,O,R,{match:/\$[(.]/}]}}function ud(e){const t=e.regex,s=new RegExp("[\\p{XID_Start}_]\\p{XID_Continue}*","u"),n=["and","as","assert","async","await","break","case","class","continue","def","del","elif","else","except","finally","for","from","global","if","import","in","is","lambda","match","nonlocal|10","not","or","pass","raise","return","try","while","with","yield"],o={$pattern:/[A-Za-z]\w+|__\w+__/,keyword:n,built_in:["__import__","abs","all","any","ascii","bin","bool","breakpoint","bytearray","bytes","callable","chr","classmethod","compile","complex","delattr","dict","dir","divmod","enumerate","eval","exec","filter","float","format","frozenset","getattr","globals","hasattr","hash","help","hex","id","input","int","isinstance","issubclass","iter","len","list","locals","map","max","memoryview","min","next","object","oct","open","ord","pow","print","property","range","repr","reversed","round","set","setattr","slice","sorted","staticmethod","str","sum","super","tuple","type","vars","zip"],literal:["__debug__","Ellipsis","False","None","NotImplemented","True"],type:["Any","Callable","Coroutine","Dict","List","Literal","Generic","Optional","Sequence","Set","Tuple","Type","Union"]},l={className:"meta",begin:/^(>>>|\.\.\.) /},c={className:"subst",begin:/\{/,end:/\}/,keywords:o,illegal:/#/},u={begin:/\{\{/,relevance:0},d={className:"string",contains:[e.BACKSLASH_ESCAPE],variants:[{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([uU]|[bB]|[rR]|[bB][rR]|[rR][bB])?"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l],relevance:10},{begin:/([fF][rR]|[rR][fF]|[fF])'''/,end:/'''/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"""/,end:/"""/,contains:[e.BACKSLASH_ESCAPE,l,u,c]},{begin:/([uU]|[rR])'/,end:/'/,relevance:10},{begin:/([uU]|[rR])"/,end:/"/,relevance:10},{begin:/([bB]|[bB][rR]|[rR][bB])'/,end:/'/},{begin:/([bB]|[bB][rR]|[rR][bB])"/,end:/"/},{begin:/([fF][rR]|[rR][fF]|[fF])'/,end:/'/,contains:[e.BACKSLASH_ESCAPE,u,c]},{begin:/([fF][rR]|[rR][fF]|[fF])"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,u,c]},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},f="[0-9](_?[0-9])*",p=`(\\b(${f}))?\\.(${f})|\\b(${f})\\.`,m=`\\b|${n.join("|")}`,_={className:"number",relevance:0,variants:[{begin:`(\\b(${f})|(${p}))[eE][+-]?(${f})[jJ]?(?=${m})`},{begin:`(${p})[jJ]?`},{begin:`\\b([1-9](_?[0-9])*|0+(_?0)*)[lLjJ]?(?=${m})`},{begin:`\\b0[bB](_?[01])+[lL]?(?=${m})`},{begin:`\\b0[oO](_?[0-7])+[lL]?(?=${m})`},{begin:`\\b0[xX](_?[0-9a-fA-F])+[lL]?(?=${m})`},{begin:`\\b(${f})[jJ](?=${m})`}]},T={className:"comment",begin:t.lookahead(/# type:/),end:/$/,keywords:o,contains:[{begin:/# type:/},{begin:/#/,end:/\b\B/,endsWithParent:!0}]},E={className:"params",variants:[{className:"",begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:o,contains:["self",l,_,d,e.HASH_COMMENT_MODE]}]};return c.contains=[d,_,l],{name:"Python",aliases:["py","gyp","ipython"],unicodeRegex:!0,keywords:o,illegal:/(<\/|\?)|=>/,contains:[l,_,{scope:"variable.language",match:/\bself\b/},{beginKeywords:"if",relevance:0},{match:/\bor\b/,scope:"keyword"},d,T,e.HASH_COMMENT_MODE,{match:[/\bdef/,/\s+/,s],scope:{1:"keyword",3:"title.function"},contains:[E]},{variants:[{match:[/\bclass/,/\s+/,s,/\s*/,/\(\s*/,s,/\s*\)/]},{match:[/\bclass/,/\s+/,s]}],scope:{1:"keyword",3:"title.class",6:"title.class.inherited"}},{className:"meta",begin:/^[\t ]*@/,end:/(?=#)|$/,contains:[_,E,d]}]}}function dd(e){const t=e.regex,s={},n={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:t.concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},n]});const r={className:"subst",begin:/\$\(/,end:/\)/,contains:[e.BACKSLASH_ESCAPE]},i=e.inherit(e.COMMENT(),{match:[/(^|\s)/,/#.*$/],scope:{2:"comment"}}),a={begin:/<<-?\s*(?=\w+)/,starts:{contains:[e.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},o={className:"string",begin:/"/,end:/"/,contains:[e.BACKSLASH_ESCAPE,s,r]};r.contains.push(o);const l={match:/\\"/},c={className:"string",begin:/'/,end:/'/},u={match:/\\'/},d={begin:/\$?\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},e.NUMBER_MODE,s]},f=["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"],p=e.SHEBANG({binary:`(${f.join("|")})`,relevance:10}),m={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[e.inherit(e.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0},_=["if","then","else","elif","fi","time","for","while","until","in","do","done","case","esac","coproc","function","select"],T=["true","false"],E={match:/(\/[a-z._-]+)+/},w=["break","cd","continue","eval","exec","exit","export","getopts","hash","pwd","readonly","return","shift","test","times","trap","umask","unset"],x=["alias","bind","builtin","caller","command","declare","echo","enable","help","let","local","logout","mapfile","printf","read","readarray","source","sudo","type","typeset","ulimit","unalias"],A=["autoload","bg","bindkey","bye","cap","chdir","clone","comparguments","compcall","compctl","compdescribe","compfiles","compgroups","compquote","comptags","comptry","compvalues","dirs","disable","disown","echotc","echoti","emulate","fc","fg","float","functions","getcap","getln","history","integer","jobs","kill","limit","log","noglob","popd","print","pushd","pushln","rehash","sched","setcap","setopt","stat","suspend","ttyctl","unfunction","unhash","unlimit","unsetopt","vared","wait","whence","where","which","zcompile","zformat","zftp","zle","zmodload","zparseopts","zprof","zpty","zregexparse","zsocket","zstyle","ztcp"],L=["chcon","chgrp","chown","chmod","cp","dd","df","dir","dircolors","ln","ls","mkdir","mkfifo","mknod","mktemp","mv","realpath","rm","rmdir","shred","sync","touch","truncate","vdir","b2sum","base32","base64","cat","cksum","comm","csplit","cut","expand","fmt","fold","head","join","md5sum","nl","numfmt","od","paste","ptx","pr","sha1sum","sha224sum","sha256sum","sha384sum","sha512sum","shuf","sort","split","sum","tac","tail","tr","tsort","unexpand","uniq","wc","arch","basename","chroot","date","dirname","du","echo","env","expr","factor","groups","hostid","id","link","logname","nice","nohup","nproc","pathchk","pinky","printenv","printf","pwd","readlink","runcon","seq","sleep","stat","stdbuf","stty","tee","test","timeout","tty","uname","unlink","uptime","users","who","whoami","yes"];return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z][a-z0-9._-]+\b/,keyword:_,literal:T,built_in:[...w,...x,"set","shopt",...A,...L]},contains:[p,e.SHEBANG(),m,d,i,a,E,o,l,c,u,s]}}function dv(e){const t={className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},s={match:/[{}[\],:]/,className:"punctuation",relevance:0},n=["true","false","null"],r={scope:"literal",beginKeywords:n.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:n},contains:[t,s,e.QUOTE_STRING_MODE,r,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const hv=e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}),fv=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video"],pv=["defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],gv=[...fv,...pv],mv=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),bv=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),vv=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),yv=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function _v(e){const t=e.regex,s=hv(e),n={begin:/-(webkit|moz|ms|o)-(?=[a-z])/},r="and or not only",i=/@-?\w[\w]*(-\w+)*/,a="[a-zA-Z-][a-zA-Z0-9_-]*",o=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[s.BLOCK_COMMENT,n,s.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\."+a,relevance:0},s.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+bv.join("|")+")"},{begin:":(:)?("+vv.join("|")+")"}]},s.CSS_VARIABLE,{className:"attribute",begin:"\\b("+yv.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[s.BLOCK_COMMENT,s.HEXCOLOR,s.IMPORTANT,s.CSS_NUMBER_MODE,...o,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...o,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},s.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:i},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:r,attribute:mv.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...o,s.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+gv.join("|")+")\\b"}]}}function hd(e){const t=e.regex,s=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n=/[\p{L}0-9._:-]+/u,r={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},i={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},a=e.inherit(i,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"string"}),l=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),c={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:n,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[r]},{begin:/'/,end:/'/,contains:[r]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[i,l,o,a,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[i,a,l,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},r,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[l]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[c],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[c],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(/</,t.lookahead(t.concat(s,t.either(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:s,relevance:0,starts:c}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(s,/>/))),contains:[{className:"name",begin:s,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}function xv(e){const t=e.regex,s=e.COMMENT("--","$"),n={scope:"string",variants:[{begin:/'/,end:/'/,contains:[{match:/''/}]}]},r={begin:/"/,end:/"/,contains:[{match:/""/}]},i=["true","false","unknown"],a=["double precision","large object","with timezone","without timezone"],o=["bigint","binary","blob","boolean","char","character","clob","date","dec","decfloat","decimal","float","int","integer","interval","nchar","nclob","national","numeric","real","row","smallint","time","timestamp","varchar","varying","varbinary"],l=["add","asc","collation","desc","final","first","last","view"],c=["abs","acos","all","allocate","alter","and","any","are","array","array_agg","array_max_cardinality","as","asensitive","asin","asymmetric","at","atan","atomic","authorization","avg","begin","begin_frame","begin_partition","between","bigint","binary","blob","boolean","both","by","call","called","cardinality","cascaded","case","cast","ceil","ceiling","char","char_length","character","character_length","check","classifier","clob","close","coalesce","collate","collect","column","commit","condition","connect","constraint","contains","convert","copy","corr","corresponding","cos","cosh","count","covar_pop","covar_samp","create","cross","cube","cume_dist","current","current_catalog","current_date","current_default_transform_group","current_path","current_role","current_row","current_schema","current_time","current_timestamp","current_path","current_role","current_transform_group_for_type","current_user","cursor","cycle","date","day","deallocate","dec","decimal","decfloat","declare","default","define","delete","dense_rank","deref","describe","deterministic","disconnect","distinct","double","drop","dynamic","each","element","else","empty","end","end_frame","end_partition","end-exec","equals","escape","every","except","exec","execute","exists","exp","external","extract","false","fetch","filter","first_value","float","floor","for","foreign","frame_row","free","from","full","function","fusion","get","global","grant","group","grouping","groups","having","hold","hour","identity","in","indicator","initial","inner","inout","insensitive","insert","int","integer","intersect","intersection","interval","into","is","join","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","language","large","last_value","lateral","lead","leading","left","like","like_regex","listagg","ln","local","localtime","localtimestamp","log","log10","lower","match","match_number","match_recognize","matches","max","member","merge","method","min","minute","mod","modifies","module","month","multiset","national","natural","nchar","nclob","new","no","none","normalize","not","nth_value","ntile","null","nullif","numeric","octet_length","occurrences_regex","of","offset","old","omit","on","one","only","open","or","order","out","outer","over","overlaps","overlay","parameter","partition","pattern","per","percent","percent_rank","percentile_cont","percentile_disc","period","portion","position","position_regex","power","precedes","precision","prepare","primary","procedure","ptf","range","rank","reads","real","recursive","ref","references","referencing","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","release","result","return","returns","revoke","right","rollback","rollup","row","row_number","rows","running","savepoint","scope","scroll","search","second","seek","select","sensitive","session_user","set","show","similar","sin","sinh","skip","smallint","some","specific","specifictype","sql","sqlexception","sqlstate","sqlwarning","sqrt","start","static","stddev_pop","stddev_samp","submultiset","subset","substring","substring_regex","succeeds","sum","symmetric","system","system_time","system_user","table","tablesample","tan","tanh","then","time","timestamp","timezone_hour","timezone_minute","to","trailing","translate","translate_regex","translation","treat","trigger","trim","trim_array","true","truncate","uescape","union","unique","unknown","unnest","update","upper","user","using","value","values","value_of","var_pop","var_samp","varbinary","varchar","varying","versioning","when","whenever","where","width_bucket","window","with","within","without","year"],u=["abs","acos","array_agg","asin","atan","avg","cast","ceil","ceiling","coalesce","corr","cos","cosh","count","covar_pop","covar_samp","cume_dist","dense_rank","deref","element","exp","extract","first_value","floor","json_array","json_arrayagg","json_exists","json_object","json_objectagg","json_query","json_table","json_table_primitive","json_value","lag","last_value","lead","listagg","ln","log","log10","lower","max","min","mod","nth_value","ntile","nullif","percent_rank","percentile_cont","percentile_disc","position","position_regex","power","rank","regr_avgx","regr_avgy","regr_count","regr_intercept","regr_r2","regr_slope","regr_sxx","regr_sxy","regr_syy","row_number","sin","sinh","sqrt","stddev_pop","stddev_samp","substring","substring_regex","sum","tan","tanh","translate","translate_regex","treat","trim","trim_array","unnest","upper","value_of","var_pop","var_samp","width_bucket"],d=["current_catalog","current_date","current_default_transform_group","current_path","current_role","current_schema","current_transform_group_for_type","current_user","session_user","system_time","system_user","current_time","localtime","current_timestamp","localtimestamp"],f=["create table","insert into","primary key","foreign key","not null","alter table","add constraint","grouping sets","on overflow","character set","respect nulls","ignore nulls","nulls first","nulls last","depth first","breadth first"],p=u,m=[...c,...l].filter(L=>!u.includes(L)),_={scope:"variable",match:/@[a-z0-9][a-z0-9_]*/},T={scope:"operator",match:/[-+*/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?/,relevance:0},E={match:t.concat(/\b/,t.either(...p),/\s*\(/),relevance:0,keywords:{built_in:p}};function w(L){return t.concat(/\b/,t.either(...L.map(D=>D.replace(/\s+/,"\\s+"))),/\b/)}const x={scope:"keyword",match:w(f),relevance:0};function A(L,{exceptions:D,when:O}={}){const I=O;return D=D||[],L.map(j=>j.match(/\|\d+$/)||D.includes(j)?j:I(j)?`${j}|0`:j)}return{name:"SQL",case_insensitive:!0,illegal:/[{}]|<\//,keywords:{$pattern:/\b[\w\.]+/,keyword:A(m,{when:L=>L.length<3}),literal:i,type:o,built_in:d},contains:[{scope:"type",match:w(a)},x,E,_,n,r,e.C_NUMBER_MODE,e.C_BLOCK_COMMENT_MODE,s,T]}}function fd(e){const t="true false yes no null",s="[\\w#;/?:@&=+$,.~*'()[\\]]+",n={className:"attr",variants:[{begin:/[\w*@][\w*@ :()\./-]*:(?=[ \t]|$)/},{begin:/"[\w*@][\w*@ :()\./-]*":(?=[ \t]|$)/},{begin:/'[\w*@][\w*@ :()\./-]*':(?=[ \t]|$)/}]},r={className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]},i={className:"string",relevance:0,begin:/'/,end:/'/,contains:[{match:/''/,scope:"char.escape",relevance:0}]},a={className:"string",relevance:0,variants:[{begin:/"/,end:/"/},{begin:/\S+/}],contains:[e.BACKSLASH_ESCAPE,r]},o=e.inherit(a,{variants:[{begin:/'/,end:/'/,contains:[{begin:/''/,relevance:0}]},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),f={className:"number",begin:"\\b"+"[0-9]{4}(-[0-9][0-9]){0,2}"+"([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?"+"(\\.[0-9]*)?"+"([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?"+"\\b"},p={end:",",endsWithParent:!0,excludeEnd:!0,keywords:t,relevance:0},m={begin:/\{/,end:/\}/,contains:[p],illegal:"\\n",relevance:0},_={begin:"\\[",end:"\\]",contains:[p],illegal:"\\n",relevance:0},T=[n,{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+s},{className:"type",begin:"!<"+s+">"},{className:"type",begin:"!"+s},{className:"type",begin:"!!"+s},{className:"meta",begin:"&"+e.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+e.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},e.HASH_COMMENT_MODE,{beginKeywords:t,keywords:{literal:t}},f,{className:"number",begin:e.C_NUMBER_RE+"\\b",relevance:0},m,_,i,a],E=[...T];return E.pop(),E.push(o),p.contains=E,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:T}}function pd(e){const t=e.regex,s={begin:/<\/?[A-Za-z_]/,end:">",subLanguage:"xml",relevance:0},n={begin:"^[-\\*]{3,}",end:"$"},r={className:"code",variants:[{begin:"(`{3,})[^`](.|\\n)*?\\1`*[ ]*"},{begin:"(~{3,})[^~](.|\\n)*?\\1~*[ ]*"},{begin:"```",end:"```+[ ]*$"},{begin:"~~~",end:"~~~+[ ]*$"},{begin:"`.+?`"},{begin:"(?=^( {4}|\\t))",contains:[{begin:"^( {4}|\\t)",end:"(\\n)$"}],relevance:0}]},i={className:"bullet",begin:"^[ ]*([*+-]|(\\d+\\.))(?=\\s+)",end:"\\s+",excludeEnd:!0},a={begin:/^\[[^\n]+\]:/,returnBegin:!0,contains:[{className:"symbol",begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0},{className:"link",begin:/:\s*/,end:/$/,excludeBegin:!0}]},o=/[A-Za-z][A-Za-z0-9+.-]*/,l={variants:[{begin:/\[.+?\]\[.*?\]/,relevance:0},{begin:/\[.+?\]\(((data|javascript|mailto):|(?:http|ftp)s?:\/\/).*?\)/,relevance:2},{begin:t.concat(/\[.+?\]\(/,o,/:\/\/.*?\)/),relevance:2},{begin:/\[.+?\]\([./?&#].*?\)/,relevance:1},{begin:/\[.*?\]\(.*?\)/,relevance:0}],returnBegin:!0,contains:[{match:/\[(?=\])/},{className:"string",relevance:0,begin:"\\[",end:"\\]",excludeBegin:!0,returnEnd:!0},{className:"link",relevance:0,begin:"\\]\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0},{className:"symbol",relevance:0,begin:"\\]\\[",end:"\\]",excludeBegin:!0,excludeEnd:!0}]},c={className:"strong",contains:[],variants:[{begin:/_{2}(?!\s)/,end:/_{2}/},{begin:/\*{2}(?!\s)/,end:/\*{2}/}]},u={className:"emphasis",contains:[],variants:[{begin:/\*(?![*\s])/,end:/\*/},{begin:/_(?![_\s])/,end:/_/,relevance:0}]},d=e.inherit(c,{contains:[]}),f=e.inherit(u,{contains:[]});c.contains.push(f),u.contains.push(d);let p=[s,l];return[c,u,d,f].forEach(E=>{E.contains=E.contains.concat(p)}),p=p.concat(c,u),{name:"Markdown",aliases:["md","mkdown","mkd"],contains:[{className:"section",variants:[{begin:"^#{1,6}",end:"$",contains:p},{begin:"(?=^.+?\\n[=-]{2,}$)",contains:[{begin:"^[=-]*$"},{begin:"^",end:"\\n",contains:p}]}]},s,i,c,u,{className:"quote",begin:"^>\\s+",contains:p,end:"$"},r,n,l,a,{scope:"literal",match:/&([a-zA-Z0-9]+|#[0-9]{1,7}|#[Xx][0-9a-fA-F]{1,6});/}]}}Ze.registerLanguage("typescript",id);Ze.registerLanguage("ts",id);Ze.registerLanguage("javascript",cd);Ze.registerLanguage("js",cd);Ze.registerLanguage("python",ud);Ze.registerLanguage("py",ud);Ze.registerLanguage("bash",dd);Ze.registerLanguage("sh",dd);Ze.registerLanguage("json",dv);Ze.registerLanguage("css",_v);Ze.registerLanguage("html",hd);Ze.registerLanguage("xml",hd);Ze.registerLanguage("sql",xv);Ze.registerLanguage("yaml",fd);Ze.registerLanguage("yml",fd);Ze.registerLanguage("markdown",pd);Ze.registerLanguage("md",pd);function At(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/\*\*\*(.*?)\*\*\*/g,"<strong><em>$1</em></strong>").replace(/\*\*(.*?)\*\*/g,"<strong>$1</strong>").replace(/\*(.*?)\*/g,"<em>$1</em>").replace(/`([^`]+)`/g,'<code class="bg-gray-800 px-1 rounded text-blue-300 font-mono text-xs">$1</code>').replace(/\[([^\]]+)\]\(([^)]+)\)/g,(t,s,n)=>`<a href="${/^https?:\/\//i.test(n)||n.startsWith("/")||n.startsWith("#")?n:"#"}" target="_blank" rel="noopener" class="text-blue-400 hover:underline">${s}</a>`)}function gd(e){const t=e.trim();return t.startsWith("|")&&t.endsWith("|")&&t.length>2}function Il(e){return gd(e)&&/^\|[\s|:\-]+\|$/.test(e.trim())}function Ni(e){return e.trim().slice(1,-1).split("|").map(t=>t.trim())}function wv(e){const t=e.trim();return t.startsWith(":")&&t.endsWith(":")?"text-center":t.endsWith(":")?"text-right":"text-left"}function kv(e){if(e.length<2)return e.map(o=>`<p class="my-1">${At(o)}</p>`).join(`
75
- `);const t=Ni(e[0]),s=e[1],n=Il(s)?Ni(s).map(wv):t.map(()=>"text-left"),r=Il(s)?e.slice(2):e.slice(1),i=t.map((o,l)=>`<th class="px-3 py-1.5 font-medium text-gray-300 ${n[l]??"text-left"}">${At(o)}</th>`).join(""),a=r.map(o=>{const l=Ni(o);return`<tr class="border-b border-gray-800">${t.map((u,d)=>`<td class="px-3 py-1.5 text-gray-400 ${n[d]??"text-left"}">${At(l[d]??"")}</td>`).join("")}</tr>`}).join("");return`<div class="overflow-x-auto my-2"><table class="border-collapse w-full text-sm"><thead><tr class="border-b border-gray-700">${i}</tr></thead><tbody>${a}</tbody></table></div>`}function Ev(e){if(!e.startsWith(`---
76
- `)&&e!=="---")return{frontmatter:null,body:e};const t=e.indexOf(`
77
- ---
78
- `,3),s=e.indexOf(`
79
- ---`,3),n=t!==-1?t:s!==-1&&e.slice(s).trimEnd()==="---"?s:-1;if(n===-1)return{frontmatter:null,body:e};const r=e.slice(4,n),i=t!==-1?e.slice(t+5):"",a={};for(const o of r.split(`
80
- `)){const l=o.match(/^([^:]+):\s*(.*)$/);if(!l)continue;const c=l[1].trim();let u=l[2].trim();(u.startsWith('"')&&u.endsWith('"')||u.startsWith("'")&&u.endsWith("'"))&&(u=u.slice(1,-1)),a[c]=u}return{frontmatter:Object.keys(a).length>0?a:null,body:i}}function ls(e){if(!e)return"";const t=e.split(`
81
- `),s=[];let n=!1,r=null,i=!1,a=!1,o=[],l="",c=[];function u(){r&&(s.push(`</${r}>`),r=null)}function d(){a&&(s.push(kv(c)),c=[],a=!1)}function f(){i&&(s.push("</blockquote>"),i=!1)}for(const p of t){if(p.startsWith("```")){if(u(),d(),!n)n=!0,l=p.slice(3).trim().split(/\s+/)[0].toLowerCase(),o=[];else{const L=o.join(`
82
- `);let D;try{D=l&&Ze.getLanguage(l)?Ze.highlight(L,{language:l,ignoreIllegals:!0}).value:Ze.highlightAuto(L).value}catch{D=L.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}const O=l.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;"),I=O?`<span class="text-[10px] text-txt-muted font-mono absolute top-2 right-3 select-none">${O}</span>`:"";s.push(`<div class="relative my-2"><pre class="bg-surface-1 border border-edge rounded-xl p-3 overflow-x-auto"><code class="hljs font-mono text-xs">${D}</code></pre>${I}</div>`),n=!1,l="",o=[]}continue}if(n){o.push(p);continue}if(gd(p)){u(),a=!0,c.push(p);continue}a&&d();const m=p.match(/^####\s+(.+)/),_=p.match(/^###\s+(.+)/),T=p.match(/^##\s+(.+)/),E=p.match(/^#\s+(.+)/);if(m){u(),f(),s.push(`<h4 class="text-sm font-semibold text-gray-200 mt-4 mb-1">${At(m[1])}</h4>`);continue}if(_){u(),f(),s.push(`<h3 class="text-base font-semibold text-gray-100 mt-5 mb-2">${At(_[1])}</h3>`);continue}if(T){u(),f(),s.push(`<h2 class="text-lg font-bold text-gray-100 mt-6 mb-2 pb-1 border-b border-gray-800">${At(T[1])}</h2>`);continue}if(E){u(),f(),s.push(`<h1 class="text-xl font-bold text-gray-100 mt-6 mb-3">${At(E[1])}</h1>`);continue}if(/^---+$/.test(p.trim())){u(),f(),s.push('<hr class="border-gray-800 my-4" />');continue}const w=p.match(/^[-*+]\s+(.+)/);if(w){r==="ol"&&u(),f(),r||(s.push('<ul class="list-disc list-inside my-2 space-y-1 pl-2">'),r="ul"),s.push(`<li>${At(w[1])}</li>`);continue}const x=p.match(/^\d+\.\s+(.+)/);if(x){r==="ul"&&u(),f(),r||(s.push('<ol class="list-decimal list-inside my-2 space-y-1 pl-2">'),r="ol"),s.push(`<li>${At(x[1])}</li>`);continue}const A=p.match(/^>\s?(.*)/);if(A){u(),i||(s.push('<blockquote class="border-l-2 border-txt-muted pl-3 my-2 text-txt-muted italic">'),i=!0),s.push(`<p class="my-0">${At(A[1])}</p>`);continue}if(p.trim()===""){u(),f(),s.push('<div class="my-2"></div>');continue}u(),f(),s.push(`<p class="my-1">${At(p)}</p>`)}if(n&&o.length){const p=o.join(`
83
- `).replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;");s.push(`<pre class="bg-gray-900 border border-gray-800 rounded p-3 my-2 overflow-x-auto"><code class="font-mono text-xs text-green-300">${p}</code></pre>`)}return d(),u(),f(),s.join(`
84
- `)}const Sv={class:"relative w-full max-w-lg h-[70vh] max-h-[600px] flex flex-col rounded-2xl bg-bg-surface border border-border shadow-card overflow-hidden"},Tv={class:"flex items-center justify-between px-4 py-2.5 border-b border-border bg-bg-card"},Av={key:0,class:"flex flex-col items-center justify-center h-full select-none"},Rv={key:0,class:"max-w-[80%] px-3 py-2 rounded-xl rounded-br-sm text-xs whitespace-pre-wrap bg-accent-cyan/[0.12] text-text border border-accent-cyan/20"},Cv={key:1,class:"max-w-[85%] flex gap-2 items-start"},Ov=["innerHTML"],$v={key:0,class:"flex justify-start"},Nv={class:"shrink-0 border-t border-border p-2.5 bg-bg-card"},Iv=["disabled"],Pv=["disabled"],Lv='<span class="stream-cursor"></span>',Mv=Je({__name:"FloatingChat",setup(e,{expose:t}){const s=Uu(),n=B(!1),r=B(""),i=B(null),a=B(null),o=B(!1),l=B(s.messages.length),c=Pe(()=>s.messages.some(T=>T.streaming));function u(){n.value=!0,o.value=!1,l.value=s.messages.length,zt(()=>d())}t({open:u,isOpen:n,hasUnread:o});function d(){zt(()=>{i.value&&i.value.scrollTo({top:i.value.scrollHeight,behavior:"instant"})})}yt(()=>s.messages.length,T=>{if(n.value)d(),l.value=T;else{const E=s.messages[T-1];T>l.value&&(E==null?void 0:E.role)==="assistant"&&(o.value=!0)}}),yt(()=>{var T;return(T=s.messages[s.messages.length-1])==null?void 0:T.content},()=>{n.value&&d()});function f(T){T.key==="Enter"&&!T.shiftKey&&(T.preventDefault(),_())}function p(){const T=a.value;T&&(T.style.height="auto",T.style.height=Math.min(T.scrollHeight,100)+"px")}async function m(){try{await ke("/api/orchestrator/abort",{method:"POST"})}catch{}}async function _(){const T=r.value.trim();if(!T||s.isLoading)return;r.value="",zt(()=>{a.value&&(a.value.style.height="auto")}),s.isLoading=!0,s.addMessage({id:crypto.randomUUID(),role:"user",content:T}),s.addMessage({id:crypto.randomUUID(),role:"assistant",content:"",streaming:!0}),d();const E=new EventSource(await ci("/api/events"));E.onmessage=w=>{try{const x=JSON.parse(w.data);x.type==="delta"?s.appendToLast(x.text):x.type==="done"&&(s.setLastStreaming(!1),s.isLoading=!1,E.close())}catch{}},E.onerror=()=>{s.setLastStreaming(!1),s.isLoading=!1,E.close()};try{await ke("/api/message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:T})})}catch{s.appendToLast(`
85
-
86
- [Error: failed to reach IO]`),s.setLastStreaming(!1),s.isLoading=!1,E.close()}}return(T,E)=>(g(),Rt(an,{"enter-active-class":"transition-opacity duration-150","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition-opacity duration-100","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:Kt(()=>[n.value?(g(),b("div",{key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4",onClick:E[2]||(E[2]=Ge(w=>n.value=!1,["self"]))},[E[10]||(E[10]=h("div",{class:"absolute inset-0 bg-black/60 backdrop-blur-sm","aria-hidden":"true"},null,-1)),h("div",Sv,[h("div",Tv,[E[4]||(E[4]=h("div",{class:"flex items-center gap-2"},[h("div",{class:"w-5 h-5 rounded-md bg-accent/10 border border-accent/20 flex items-center justify-center"},[h("span",{class:"text-accent-cyan text-[9px] font-bold font-mono"},"IO")]),h("span",{class:"text-sm font-semibold text-text"},"IO Chat")],-1)),h("button",{onClick:E[0]||(E[0]=w=>n.value=!1),class:"p-1.5 rounded-lg text-text-muted hover:text-text hover:bg-bg-elevated transition-colors duration-150",title:"Close"},[...E[3]||(E[3]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4"},[h("path",{d:"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"})],-1)])])]),h("div",{ref_key:"messagesEl",ref:i,class:"flex-1 overflow-y-auto px-3 py-3 space-y-3"},[Ie(s).messages.length===0?(g(),b("div",Av,[...E[5]||(E[5]=[h("div",{class:"w-10 h-10 rounded-xl bg-accent/10 border border-accent/20 flex items-center justify-center mb-3"},[h("span",{class:"text-accent-cyan font-bold text-sm font-mono"},"IO")],-1),h("p",{class:"text-text-muted text-xs"},"Send a message to start",-1)])])):(g(),b(Ee,{key:1},[(g(!0),b(Ee,null,Me(Ie(s).messages,w=>(g(),b("div",{key:w.id,class:he(["flex",w.role==="user"?"justify-end":"justify-start"])},[w.role==="user"?(g(),b("div",Rv,C(w.content),1)):(g(),b("div",Cv,[E[6]||(E[6]=h("div",{class:"shrink-0 w-5 h-5 rounded-md bg-bg-elevated border border-border flex items-center justify-center mt-0.5"},[h("span",{class:"text-accent-cyan text-[8px] font-bold font-mono"},"IO")],-1)),h("div",{class:"floating-chat-md min-w-0 px-3 py-2 rounded-xl rounded-tl-sm text-xs bg-bg-card text-text border border-border",innerHTML:Ie(ls)(w.content)+(w.streaming?Lv:"")},null,8,Ov)]))],2))),128)),Ie(s).isLoading&&!c.value?(g(),b("div",$v,[...E[7]||(E[7]=[h("div",{class:"flex gap-2 items-start"},[h("div",{class:"shrink-0 w-5 h-5 rounded-md bg-bg-elevated border border-border flex items-center justify-center"},[h("span",{class:"text-accent-cyan text-[8px] font-bold font-mono"},"IO")]),h("div",{class:"px-3 py-2 rounded-xl rounded-tl-sm bg-bg-card border border-border flex items-center gap-1"},[h("span",{class:"thinking-dot",style:{"animation-delay":"0s"}}),h("span",{class:"thinking-dot",style:{"animation-delay":"0.15s"}}),h("span",{class:"thinking-dot",style:{"animation-delay":"0.3s"}})])],-1)])])):q("",!0)],64))],512),h("div",Nv,[h("form",{onSubmit:Ge(_,["prevent"]),class:"flex gap-2 items-end"},[Be(h("textarea",{ref_key:"inputEl",ref:a,"onUpdate:modelValue":E[1]||(E[1]=w=>r.value=w),placeholder:"Message IO…",disabled:Ie(s).isLoading,rows:"1",class:"flex-1 bg-bg-app border border-border rounded-lg px-3 py-2 text-xs text-text placeholder:text-text-muted resize-none overflow-hidden focus:outline-none focus:border-accent-cyan/40 disabled:opacity-40 transition-all duration-150",onKeydown:f,onInput:p},null,40,Iv),[[ze,r.value]]),Ie(s).isLoading?(g(),b("button",{key:0,type:"button",onClick:m,class:"shrink-0 w-8 h-8 rounded-lg flex items-center justify-center bg-accent-red/15 text-accent-red border border-accent-red/25 hover:bg-accent-red/25 transition-all duration-150",title:"Stop"},[...E[8]||(E[8]=[h("span",{class:"w-2 h-2 rounded-[2px] bg-accent-red"},null,-1)])])):(g(),b("button",{key:1,type:"submit",disabled:!r.value.trim(),class:"shrink-0 w-8 h-8 rounded-lg flex items-center justify-center bg-accent-cyan/15 text-accent-cyan border border-accent-cyan/25 hover:bg-accent-cyan/25 disabled:opacity-25 disabled:cursor-not-allowed transition-all duration-150",title:"Send"},[...E[9]||(E[9]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-3.5 h-3.5"},[h("path",{d:"M2.18 2.11a.5.5 0 0 1 .54-.06l15 7.5a.5.5 0 0 1 0 .9l-15 7.5a.5.5 0 0 1-.7-.58L3.98 10 2.02 2.63a.5.5 0 0 1 .16-.52Zm2.7 8.39-1.61 6.06L16.38 10 3.27 3.44 4.88 9.5h6.62a.5.5 0 1 1 0 1H4.88Z"})],-1)])],8,Pv))],32)])])])):q("",!0)]),_:1}))}}),nr=(e,t)=>{const s=e.__vccOpts||e;for(const[n,r]of t)s[n]=r;return s},jv=nr(Mv,[["__scopeId","data-v-1cbaf1cc"]]),Dv={key:0,class:"h-screen"},Uv={key:1,class:"flex flex-col h-screen bg-bg-app text-text overflow-hidden"},Bv={class:"flex flex-1 min-h-0"},Hv={class:"flex-1 overflow-auto relative"},Fv=Je({__name:"App",setup(e){const t=$a(),s=B(!1),n=B(null);return(r,i)=>{var a;return Ie(t).name==="login"?(g(),b("div",Dv,[fe(Ie(Yi))])):(g(),b("div",Uv,[fe(Qm,{onToggleSidebar:i[0]||(i[0]=o=>s.value=!s.value)}),h("div",Bv,[fe(nb,{visible:s.value,onNavigate:i[1]||(i[1]=o=>s.value=!1)},null,8,["visible"]),h("main",Hv,[fe(Ie(Yi),null,{default:Kt(({Component:o})=>[fe(an,{name:"view",mode:"out-in"},{default:Kt(()=>[(g(),Rt(Th(o)))]),_:2},1024)]),_:1})])]),fe(lb),fe(db,{"chat-open":((a=n.value)==null?void 0:a.isOpen)??!1,onOpen:i[2]||(i[2]=o=>{var l;return(l=n.value)==null?void 0:l.open()})},null,8,["chat-open"]),fe(jv,{ref_key:"chatRef",ref:n},null,512)]))}}}),Vv=nr(Fv,[["__scopeId","data-v-6f759343"]]),qv=["width","height","viewBox","innerHTML"],Ae=Je({__name:"FluentIcon",props:{paths:{},size:{default:20},viewBox:{default:20}},setup(e){return(t,s)=>(g(),b("svg",{xmlns:"http://www.w3.org/2000/svg",width:e.size,height:e.size,viewBox:`0 0 ${e.viewBox} ${e.viewBox}`,fill:"currentColor","aria-hidden":"true",innerHTML:e.paths},null,8,qv))}}),zv={key:0,class:"absolute inset-0 z-20 flex items-center justify-center bg-surface-0/80 backdrop-blur-sm border-2 border-dashed border-accent/50 rounded-none pointer-events-none"},Kv={key:0,class:"flex flex-col items-center justify-center h-full select-none animate-fade-in"},Wv={class:"flex flex-wrap justify-center gap-2 mt-8 max-w-md"},Gv=["onClick"],Zv={key:1,class:"max-w-3xl mx-auto space-y-5"},Jv={key:0,class:"max-w-[80%] rounded-2xl rounded-br-md text-sm bg-gradient-to-br from-accent/[0.14] to-accent/[0.08] text-txt-primary border border-accent/20 shadow-glow-sm overflow-hidden"},Yv={key:0,class:"flex flex-wrap gap-1.5 p-2 pb-0"},Xv=["src","alt"],Qv={key:1,class:"flex items-center gap-1.5 bg-surface-2/50 border border-edge rounded-lg px-2 py-1.5 text-xs text-txt-secondary"},ey={class:"truncate max-w-[120px]"},ty={key:1,class:"px-4 py-2.5 whitespace-pre-wrap"},sy={key:2,class:"px-4 py-2.5 whitespace-pre-wrap"},ny={key:1,class:"max-w-[85%] flex gap-2.5 items-start"},ry=["innerHTML"],iy={key:0,class:"flex justify-start animate-fade-in"},ay={class:"shrink-0 border-t border-edge/50 backdrop-blur-md p-3 sm:p-4",style:{background:"linear-gradient(180deg, rgba(12,18,32,0.75) 0%, rgba(8,13,22,0.88) 100%)"}},oy={class:"max-w-3xl mx-auto"},ly={key:0,class:"flex items-center gap-2 mb-2 px-3 py-2 rounded-lg bg-red-500/10 border border-red-500/20 text-red-400 text-xs"},cy={key:0,class:"flex flex-wrap gap-1.5 mb-2"},uy=["src","alt"],dy={key:1,class:"w-8 h-8 flex items-center justify-center shrink-0 bg-surface-0/40"},hy={class:"px-1 min-w-0"},fy={class:"text-[11px] text-txt-secondary truncate max-w-[100px]"},py={class:"text-[10px] text-txt-muted"},gy=["onClick","title"],my=["disabled"],by={class:"flex-1 relative group"},vy=["disabled"],yy=["disabled"],_y={class:"hidden sm:inline"},xy=["disabled"],wy=5*1024*1024,Ii=5,ky='<span class="stream-cursor"></span>',Ey=Je({__name:"ChatView",setup(e){const t=Uu(),s=$a(),n=B(""),r=B(!1),i=B(!1),a=B(null),o=B([]),l=B(null),c=B(!1),u=B(null),d=B(null),f=["Check squad status","Run my schedules","Summarize recent activity","What skills are installed?"],p=Pe(()=>(n.value.trim().length>0||o.value.length>0)&&!t.isLoading);function m(R){return R<1024?`${R} B`:R<1024*1024?`${(R/1024).toFixed(1)} KB`:`${(R/(1024*1024)).toFixed(1)} MB`}function _(R){o.value.splice(R,1)}function T(R){a.value=R,setTimeout(()=>{a.value=null},4e3)}function E(R){return new Promise((v,S)=>{const H=new FileReader;H.onload=()=>{const ie=H.result,ge=ie.split(",")[1]??"";v({dataUrl:ie,base64:ge})},H.onerror=S,H.readAsDataURL(R)})}async function w(R){const v=Array.from(R),S=Ii-o.value.length;if(S<=0){T(`Maximum ${Ii} files per message.`);return}const H=v.slice(0,S);v.length>S&&T(`Only ${S} more file(s) can be added (max ${Ii}).`);for(const ie of H){if(ie.size>wy){T(`"${ie.name}" exceeds the 5 MB limit and was skipped.`);continue}try{const{dataUrl:ge,base64:we}=await E(ie);o.value.push({file:ie,dataUrl:ge,base64:we,mimeType:ie.type||"application/octet-stream"})}catch{T(`Failed to read "${ie.name}".`)}}}function x(R){var S;const v=R.target;(S=v.files)!=null&&S.length&&w(v.files),v.value=""}function A(){i.value=!0}function L(){i.value=!1}function D(R){var v;i.value=!1,(v=R.dataTransfer)!=null&&v.files.length&&w(R.dataTransfer.files)}function O(R){n.value=R,zt(()=>$())}async function I(){if(!r.value){r.value=!0;try{await ke("/api/orchestrator/abort",{method:"POST"})}catch{}finally{r.value=!1}}}const j=Pe(()=>t.messages.some(R=>R.streaming));function W(){const R=l.value;R&&(c.value=R.scrollTop+R.clientHeight<R.scrollHeight-100)}function ne(R=!0){zt(()=>{l.value&&l.value.scrollTo({top:l.value.scrollHeight,behavior:R?"smooth":"instant"})})}it(()=>{ne(!1)}),yt(()=>s.name,R=>{R==="chat"&&ne(!1)}),yt(()=>t.messages.length,()=>{c.value||ne()});function ee(R){R.key==="Enter"&&!R.shiftKey&&(R.preventDefault(),$())}function X(){const R=u.value;R&&(R.style.height="auto",R.style.height=Math.min(R.scrollHeight,200)+"px")}async function $(){const R=n.value.trim(),v=[...o.value];if(!R&&!v.length||t.isLoading)return;const S=R||"Please analyze these files.",H=v.map(we=>({type:"blob",data:we.base64,mimeType:we.mimeType,displayName:we.file.name}));n.value="",o.value=[],zt(()=>{u.value&&(u.value.style.height="auto")}),t.isLoading=!0;const ie={id:crypto.randomUUID(),role:"user",content:R,...H.length?{attachments:H}:{}};t.addMessage(ie),t.addMessage({id:crypto.randomUUID(),role:"assistant",content:"",streaming:!0}),ne();const ge=new EventSource(await ci("/api/events"));ge.onmessage=we=>{try{const Te=JSON.parse(we.data);Te.type==="delta"?(t.appendToLast(Te.text),ne()):Te.type==="done"&&(t.setLastStreaming(!1),t.isLoading=!1,ge.close(),ne())}catch{}},ge.onerror=()=>{t.setLastStreaming(!1),t.isLoading=!1,ge.close()};try{await ke("/api/message",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:S,...H.length?{attachments:H}:{}})})}catch{t.appendToLast(`
87
-
88
- [Error: failed to reach IO]`),t.setLastStreaming(!1),t.isLoading=!1,ge.close()}}return(R,v)=>(g(),b("div",{class:"flex flex-col h-full relative bg-surface-0",onDragover:Ge(A,["prevent"]),onDragleave:L,onDrop:Ge(D,["prevent"])},[fe(an,{name:"fade"},{default:Kt(()=>[i.value?(g(),b("div",zv,[...v[2]||(v[2]=[h("div",{class:"flex flex-col items-center gap-2 text-accent"},[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-10 h-10 opacity-80","aria-hidden":"true"},[h("path",{d:"M9.25 13.25a.75.75 0 0 0 1.5 0V4.636l2.955 3.129a.75.75 0 0 0 1.09-1.03l-4.25-4.5a.75.75 0 0 0-1.09 0l-4.25 4.5a.75.75 0 1 0 1.09 1.03L9.25 4.636v8.614Z"}),h("path",{d:"M3.5 12.75a.75.75 0 0 0-1.5 0v2.5A2.75 2.75 0 0 0 4.75 18h10.5A2.75 2.75 0 0 0 18 15.25v-2.5a.75.75 0 0 0-1.5 0v2.5c0 .69-.56 1.25-1.25 1.25H4.75c-.69 0-1.25-.56-1.25-1.25v-2.5Z"})]),h("span",{class:"text-sm font-medium"},"Drop files to attach")],-1)])])):q("",!0)]),_:1}),h("div",{ref_key:"messagesEl",ref:l,class:"flex-1 overflow-y-auto px-3 py-4 sm:px-4 sm:py-6",onScroll:W},[Ie(t).messages.length===0?(g(),b("div",Kv,[v[3]||(v[3]=h("div",{class:"w-16 h-16 rounded-2xl bg-accent/10 border border-accent/20 flex items-center justify-center mb-5 shadow-glow"},[h("span",{class:"text-accent font-bold text-2xl font-mono tracking-tighter"},"IO")],-1)),v[4]||(v[4]=h("p",{class:"text-txt-secondary text-sm font-medium mb-1"},"What can I help you build?",-1)),v[5]||(v[5]=h("p",{class:"text-txt-muted text-xs"},"Send a message to start a conversation",-1)),h("div",Wv,[(g(),b(Ee,null,Me(f,S=>h("button",{key:S,onClick:H=>O(S),class:"px-3 py-1.5 text-xs text-txt-secondary bg-surface-2/60 border border-edge rounded-full hover:border-accent/30 hover:text-accent hover:bg-accent/5 transition-all duration-200"},C(S),9,Gv)),64))])])):(g(),b("div",Zv,[(g(!0),b(Ee,null,Me(Ie(t).messages,S=>{var H;return g(),b("div",{key:S.id,class:he(["flex animate-fade-in",S.role==="user"?"justify-end":"justify-start"])},[S.role==="user"?(g(),b("div",Jv,[S.attachments&&S.attachments.length?(g(),b("div",Yv,[(g(!0),b(Ee,null,Me(S.attachments,(ie,ge)=>(g(),b(Ee,{key:ge},[ie.mimeType.startsWith("image/")?(g(),b("img",{key:0,src:`data:${ie.mimeType};base64,${ie.data}`,alt:ie.displayName??"attachment",class:"w-20 h-20 object-cover rounded-lg border border-accent/20"},null,8,Xv)):(g(),b("div",Qv,[v[6]||(v[6]=h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-3.5 h-3.5 shrink-0 text-txt-muted","aria-hidden":"true"},[h("path",{d:"M3 3.5A1.5 1.5 0 0 1 4.5 2h6.879a1.5 1.5 0 0 1 1.06.44l4.122 4.12A1.5 1.5 0 0 1 17 7.622V16.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 16.5v-13Z"})],-1)),h("span",ey,C(ie.displayName??"file"),1)]))],64))),128))])):q("",!0),S.content?(g(),b("div",ty,C(S.content),1)):(H=S.attachments)!=null&&H.length?q("",!0):(g(),b("div",sy,C(S.content),1))])):(g(),b("div",ny,[v[7]||(v[7]=h("div",{class:"shrink-0 w-6 h-6 rounded-lg bg-surface-3/60 border border-edge flex items-center justify-center mt-0.5"},[h("span",{class:"text-accent text-[10px] font-bold font-mono"},"IO")],-1)),h("div",{class:"chat-md min-w-0 px-4 py-2.5 rounded-2xl rounded-tl-md text-sm bg-surface-2/70 text-txt-primary border border-edge",innerHTML:Ie(ls)(S.content)+(S.streaming?ky:"")},null,8,ry)]))],2)}),128)),Ie(t).isLoading&&!j.value?(g(),b("div",iy,[...v[8]||(v[8]=[ei('<div class="flex gap-2.5 items-start" data-v-d4e21ed9><div class="shrink-0 w-6 h-6 rounded-lg bg-surface-3/60 border border-edge flex items-center justify-center" data-v-d4e21ed9><span class="text-accent text-[10px] font-bold font-mono" data-v-d4e21ed9>IO</span></div><div class="px-4 py-3 rounded-2xl rounded-tl-md bg-surface-2/70 border border-edge flex items-center gap-1" data-v-d4e21ed9><span class="thinking-dot" style="animation-delay:0s;" data-v-d4e21ed9></span><span class="thinking-dot" style="animation-delay:0.15s;" data-v-d4e21ed9></span><span class="thinking-dot" style="animation-delay:0.3s;" data-v-d4e21ed9></span></div></div>',1)])])):q("",!0)]))],544),fe(an,{name:"scroll-btn"},{default:Kt(()=>[c.value?(g(),b("button",{key:0,onClick:ne,class:"absolute bottom-24 left-1/2 -translate-x-1/2 z-10 w-8 h-8 rounded-full bg-surface-2/90 backdrop-blur-sm border border-edge-bright text-txt-secondary hover:text-accent hover:border-accent/40 hover:shadow-glow-sm flex items-center justify-center transition-all duration-200",title:"Scroll to bottom"},[fe(Ae,{paths:'<path d="M15.85 7.65c.2.2.2.5 0 .7l-5.46 5.49a.55.55 0 0 1-.78 0L4.15 8.35a.5.5 0 1 1 .7-.7L10 12.8l5.15-5.16c.2-.2.5-.2.7 0Z"/>',size:16})])):q("",!0)]),_:1}),h("div",ay,[h("div",oy,[fe(an,{name:"fade"},{default:Kt(()=>[a.value?(g(),b("div",ly,[v[9]||(v[9]=h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-3.5 h-3.5 shrink-0","aria-hidden":"true"},[h("path",{"fill-rule":"evenodd",d:"M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-8-5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 10 5Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z","clip-rule":"evenodd"})],-1)),de(" "+C(a.value),1)])):q("",!0)]),_:1}),o.value.length?(g(),b("div",cy,[(g(!0),b(Ee,null,Me(o.value,(S,H)=>(g(),b("div",{key:H,class:"flex items-center gap-1.5 bg-surface-2/60 border border-edge rounded-lg overflow-hidden hover:border-edge-bright transition-colors duration-150 group"},[S.mimeType.startsWith("image/")?(g(),b("img",{key:0,src:S.dataUrl,alt:S.file.name,class:"w-8 h-8 object-cover shrink-0"},null,8,uy)):(g(),b("div",dy,[...v[10]||(v[10]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4 text-txt-muted","aria-hidden":"true"},[h("path",{d:"M3 3.5A1.5 1.5 0 0 1 4.5 2h6.879a1.5 1.5 0 0 1 1.06.44l4.122 4.12A1.5 1.5 0 0 1 17 7.622V16.5a1.5 1.5 0 0 1-1.5 1.5h-11A1.5 1.5 0 0 1 3 16.5v-13Z"})],-1)])])),h("div",hy,[h("p",fy,C(S.file.name),1),h("p",py,C(m(S.file.size)),1)]),h("button",{type:"button",onClick:ie=>_(H),class:"pr-1.5 text-txt-muted hover:text-red-400 transition-colors duration-150 opacity-0 group-hover:opacity-100",title:`Remove ${S.file.name}`,"aria-label":"Remove attachment"},[...v[11]||(v[11]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-3.5 h-3.5","aria-hidden":"true"},[h("path",{d:"M6.28 5.22a.75.75 0 0 0-1.06 1.06L8.94 10l-3.72 3.72a.75.75 0 1 0 1.06 1.06L10 11.06l3.72 3.72a.75.75 0 1 0 1.06-1.06L11.06 10l3.72-3.72a.75.75 0 0 0-1.06-1.06L10 8.94 6.28 5.22Z"})],-1)])],8,gy)]))),128))])):q("",!0),h("form",{onSubmit:Ge($,["prevent"]),class:"flex gap-2 items-end"},[h("input",{ref_key:"fileInputEl",ref:d,type:"file",multiple:"",accept:"image/*,.pdf,.txt,.md,.json,.csv,.ts,.js,.py,.html,.css,.xml,.yaml,.yml,.toml",class:"hidden",onChange:x},null,544),h("button",{type:"button",onClick:v[0]||(v[0]=S=>{var H;return(H=d.value)==null?void 0:H.click()}),disabled:Ie(t).isLoading,class:"shrink-0 w-10 h-10 rounded-xl flex items-center justify-center bg-surface-2/60 border border-edge text-txt-muted hover:text-accent hover:border-accent/30 hover:bg-accent/5 disabled:opacity-30 disabled:cursor-not-allowed transition-all duration-150",title:"Attach files"},[...v[12]||(v[12]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4","aria-hidden":"true"},[h("path",{"fill-rule":"evenodd",d:"M15.621 4.379a3 3 0 0 0-4.242 0l-7 7a1.5 1.5 0 0 0 2.122 2.121l7-6.999a.75.75 0 1 1 1.06 1.06l-7 7a3 3 0 0 1-4.242-4.242l7-7a4.5 4.5 0 0 1 6.364 6.364l-7 7a6 6 0 0 1-8.486-8.486l7-7a.75.75 0 0 1 1.06 1.06Z","clip-rule":"evenodd"})],-1)])],8,my),h("div",by,[Be(h("textarea",{ref_key:"inputEl",ref:u,"onUpdate:modelValue":v[1]||(v[1]=S=>n.value=S),placeholder:"Message IO…",disabled:Ie(t).isLoading,rows:"1",class:"w-full bg-surface-2/60 border border-edge rounded-xl px-4 py-2.5 pr-3 text-sm text-txt-primary placeholder-txt-muted/60 resize-none overflow-hidden focus:outline-none focus:border-accent/40 focus:shadow-glow-sm disabled:opacity-40 transition-all duration-200",onKeydown:ee,onInput:X},null,40,vy),[[ze,n.value]])]),Ie(t).isLoading?(g(),b("button",{key:0,type:"button",onClick:I,disabled:r.value,class:"shrink-0 h-10 px-3.5 rounded-xl text-sm font-medium bg-red-500/15 text-red-400 border border-red-500/25 hover:bg-red-500/25 hover:border-red-500/40 disabled:opacity-40 disabled:cursor-not-allowed transition-all duration-150 flex items-center gap-1.5",title:"Stop"},[v[13]||(v[13]=h("span",{class:"w-2.5 h-2.5 rounded-[3px] bg-red-400"},null,-1)),h("span",_y,C(r.value?"Stopping…":"Stop"),1)],8,yy)):(g(),b("button",{key:1,type:"submit",disabled:!p.value,class:"shrink-0 w-10 h-10 rounded-xl flex items-center justify-center bg-accent/15 text-accent border border-accent/25 hover:bg-accent/25 hover:border-accent/40 hover:shadow-glow-sm disabled:opacity-25 disabled:cursor-not-allowed disabled:hover:shadow-none transition-all duration-150",title:"Send"},[fe(Ae,{paths:'<path d="M2.18 2.11a.5.5 0 0 1 .54-.06l15 7.5a.5.5 0 0 1 0 .9l-15 7.5a.5.5 0 0 1-.7-.58L3.98 10 2.02 2.63a.5.5 0 0 1 .16-.52Zm2.7 8.39-1.61 6.06L16.38 10 3.27 3.44 4.88 9.5h6.62a.5.5 0 1 1 0 1H4.88Z"/>',size:16})],8,xy))],32)])])],32))}}),Sy=nr(Ey,[["__scopeId","data-v-d4e21ed9"]]),Ty={class:"flex flex-col h-full bg-surface-0"},Ay={key:0,class:"flex flex-col h-full overflow-hidden animate-fade-in"},Ry={class:"flex items-center gap-3 px-3 sm:px-6 py-3.5 border-b border-edge/70 shrink-0 backdrop-blur-sm",style:{background:"linear-gradient(180deg, rgba(19,27,46,0.9) 0%, rgba(12,18,32,0.85) 100%)"}},Cy={class:"text-base font-semibold text-txt-primary truncate"},Oy={class:"text-[11px] text-txt-muted font-mono shrink-0 bg-surface-2/60 px-1.5 py-0.5 rounded"},$y={key:0,class:"flex-1 flex items-center justify-center"},Ny={key:1,class:"flex-1 p-6"},Iy={class:"inline-flex items-center gap-2 text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2"},Py={key:2,class:"flex-1 overflow-y-auto p-6 skill-content text-sm text-txt-secondary leading-relaxed"},Ly={key:0,class:"mb-6 bg-surface-2/60 border border-edge rounded-xl p-5"},My={key:0,class:"mb-3"},jy={class:"text-base font-semibold text-txt-primary"},Dy={key:1,class:"mb-3"},Uy={class:"text-sm text-txt-secondary"},By={class:"flex flex-wrap gap-6 mt-1"},Hy={key:0},Fy={class:"text-sm text-accent font-mono"},Vy={key:1},qy={class:"text-sm text-txt-secondary"},zy={key:2,class:"mt-3 pt-3 border-t border-edge grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 items-baseline"},Ky={class:"text-[10px] text-txt-muted uppercase tracking-wider whitespace-nowrap"},Wy={class:"text-xs text-txt-secondary font-mono"},Gy=["innerHTML"],Zy={key:1,class:"flex-1 overflow-y-auto p-3 sm:p-6"},Jy={class:"max-w-3xl"},Yy={class:"mb-6 bg-surface-2/40 border border-edge rounded-xl p-4"},Xy={class:"flex gap-1 mb-3"},Qy={class:"flex gap-2"},e1=["disabled"],t1=["disabled"],s1={class:"flex flex-col gap-2"},n1=["disabled"],r1=["disabled"],i1=["disabled"],a1={key:0,class:"flex items-center gap-2 bg-emerald-500/10 text-emerald-400 border border-emerald-500/20 p-3 rounded-lg mb-4 text-sm animate-fade-in"},o1={key:1,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-4 text-sm animate-fade-in"},l1={key:2,class:"mb-4"},c1={key:3,class:"flex items-center justify-center py-16"},u1={key:4,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-4 text-sm"},d1={key:5,class:"text-txt-muted text-sm text-center py-16"},h1={key:6,class:"text-txt-muted text-sm text-center py-12"},f1={key:7,class:"grid gap-3"},p1=["onClick"],g1={class:"flex justify-between items-start mb-1.5"},m1={class:"min-w-0"},b1={class:"font-semibold text-txt-primary text-sm group-hover:text-accent transition-colors duration-150"},v1={class:"text-[11px] text-txt-muted font-mono mt-0.5"},y1=["onClick"],_1={class:"text-xs text-txt-secondary mb-2 line-clamp-2"},x1={class:"text-[10px] text-txt-muted font-mono truncate"},w1=Je({__name:"SkillsView",setup(e){const t=B([]),s=B(!0),n=B(null),r=B(""),i=B(!1),a=B(null),o=B(null),l=B("url"),c=B(""),u=B(""),d=B(!1),f=B(null),p=B(""),m=B(!1),_=B(null),T=Pe(()=>Ev(p.value)),E=Pe(()=>T.value.frontmatter),w=Pe(()=>ls(T.value.body)),x=["name","description","version","author"],A=Pe(()=>E.value?Object.entries(E.value).filter(([X])=>!x.includes(X)):[]),L=B(""),D=Pe(()=>{const X=L.value.toLowerCase().trim();return X?t.value.filter($=>$.name.toLowerCase().includes(X)||$.slug.toLowerCase().includes(X)||($.description??"").toLowerCase().includes(X)):t.value});async function O(X){f.value=X,p.value="",_.value=null,m.value=!0;try{const $=await ke(`/api/skills/${encodeURIComponent(X.slug)}`);if($.status===404)_.value="Skill not found";else if(!$.ok)_.value=`Failed to load skill (HTTP ${$.status})`;else{const R=await $.json();p.value=R.content??""}}catch($){_.value=$ instanceof Error?$.message:"Failed to load skill"}finally{m.value=!1}}function I(){f.value=null,p.value="",_.value=null}async function j(){try{const X=await ke("/api/skills");if(!X.ok)throw new Error(`HTTP error! status: ${X.status}`);const $=await X.json();t.value=$.skills}catch(X){n.value=X instanceof Error?X.message:"Failed to load skills"}finally{s.value=!1}}async function W(){if(!(i.value||r.value.trim()==="")){i.value=!0,a.value=null,o.value=null;try{const X=await ke("/api/skills",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({repoUrl:r.value.trim()})});if(X.ok){const $=await X.json();t.value=[$.skill,...t.value],r.value="",o.value=`✓ Installed: ${$.skill.name}`,setTimeout(()=>{o.value=null},4e3),j()}else{let $="Install failed";try{$=(await X.json()).error??X.statusText??$}catch{$=X.statusText||$}a.value=$}}catch(X){a.value=X instanceof Error?X.message:"Install failed"}finally{i.value=!1}}}async function ne(){if(!(d.value||c.value.trim()===""||u.value.trim()==="")){d.value=!0,a.value=null,o.value=null;try{const X=await ke("/api/skills/paste",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:u.value.trim(),slug:c.value.trim()})});if(X.ok){const $=await X.json();t.value=[$.skill,...t.value],c.value="",u.value="",o.value=`✓ Installed: ${$.skill.name}`,setTimeout(()=>{o.value=null},4e3),j()}else{let $="Install failed";try{$=(await X.json()).error??X.statusText??$}catch{$=X.statusText||$}a.value=$}}catch(X){a.value=X instanceof Error?X.message:"Install failed"}finally{d.value=!1}}}async function ee(X){if(confirm(`Delete skill "${X.name}"? This cannot be undone.`))try{const $=await ke(`/api/skills/${encodeURIComponent(X.slug)}`,{method:"DELETE"});if($.ok)t.value=t.value.filter(R=>R.slug!==X.slug),o.value=`✓ Deleted: ${X.name}`,setTimeout(()=>{o.value=null},3e3);else{const R=await $.json().catch(()=>({}));a.value=R.error??($.status===404?"Skill not found":`Delete failed (HTTP ${$.status})`)}}catch($){a.value=$ instanceof Error?$.message:"Delete failed"}}return it(j),(X,$)=>(g(),b("div",Ty,[f.value?(g(),b("div",Ay,[h("div",Ry,[h("button",{onClick:I,class:"text-txt-muted hover:text-accent transition-colors flex items-center gap-1.5 text-sm group"},[fe(Ae,{paths:'<path d="M12.35 15.85a.5.5 0 0 1-.7 0L6.16 10.4a.55.55 0 0 1 0-.78l5.49-5.46a.5.5 0 1 1 .7.7L7.2 10l5.16 5.15c.2.2.2.5 0 .7Z"/>',size:14,class:"transition-transform group-hover:-translate-x-0.5"}),$[6]||($[6]=de(" Back ",-1))]),$[7]||($[7]=h("div",{class:"w-px h-5 bg-edge"},null,-1)),h("h2",Cy,C(f.value.name),1),h("span",Oy,C(f.value.slug),1)]),m.value?(g(),b("div",$y,[...$[8]||($[8]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading… ")],-1)])])):_.value?(g(),b("div",Ny,[h("div",Iy,[$[9]||($[9]=h("span",null,"⚠",-1)),de(" "+C(_.value),1)])])):(g(),b("div",Py,[E.value?(g(),b("div",Ly,[E.value.name?(g(),b("div",My,[$[10]||($[10]=h("p",{class:"text-[10px] text-txt-muted uppercase tracking-widest mb-0.5"},"Name",-1)),h("p",jy,C(E.value.name),1)])):q("",!0),E.value.description?(g(),b("div",Dy,[$[11]||($[11]=h("p",{class:"text-[10px] text-txt-muted uppercase tracking-widest mb-0.5"},"Description",-1)),h("p",Uy,C(E.value.description),1)])):q("",!0),h("div",By,[E.value.version?(g(),b("div",Hy,[$[12]||($[12]=h("p",{class:"text-[10px] text-txt-muted uppercase tracking-widest mb-0.5"},"Version",-1)),h("p",Fy,C(E.value.version),1)])):q("",!0),E.value.author?(g(),b("div",Vy,[$[13]||($[13]=h("p",{class:"text-[10px] text-txt-muted uppercase tracking-widest mb-0.5"},"Author",-1)),h("p",qy,C(E.value.author),1)])):q("",!0)]),A.value.length>0?(g(),b("dl",zy,[(g(!0),b(Ee,null,Me(A.value,([R,v])=>(g(),b(Ee,{key:R},[h("dt",Ky,C(R),1),h("dd",Wy,C(v),1)],64))),128))])):q("",!0)])):q("",!0),h("div",{innerHTML:w.value},null,8,Gy)]))])):(g(),b("div",Zy,[h("div",Jy,[$[19]||($[19]=ei('<div class="flex items-end justify-between mb-6" data-v-20b3d95d><div data-v-20b3d95d><h2 class="text-xl font-bold text-txt-primary tracking-tight" data-v-20b3d95d>Skills</h2><p class="text-xs text-txt-muted mt-0.5" data-v-20b3d95d>Manage installed Copilot skills</p></div><div class="flex items-center gap-2" data-v-20b3d95d><a href="https://github.com/github/awesome-copilot" target="_blank" rel="noopener noreferrer" class="flex items-center gap-1.5 text-xs text-txt-muted bg-surface-2/50 border border-edge px-2.5 py-1 rounded-full hover:border-accent/30 hover:text-accent transition-all duration-200" data-v-20b3d95d><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="w-3 h-3 fill-current" aria-hidden="true" data-v-20b3d95d><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z" data-v-20b3d95d></path></svg> awesome-copilot </a><a href="https://skills.sh" target="_blank" rel="noopener noreferrer" class="flex items-center gap-1.5 text-xs text-txt-muted bg-surface-2/50 border border-edge px-2.5 py-1 rounded-full hover:border-accent/30 hover:text-accent transition-all duration-200" data-v-20b3d95d><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" class="w-3 h-3 fill-current" aria-hidden="true" data-v-20b3d95d><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8c0 .93.16 1.82.46 2.65L5 8.5V7H3.5l-.07.01A6.492 6.492 0 0 0 1.5 8Zm6.5 6.5c.93 0 1.82-.17 2.65-.47L8.5 11H7v2.5c.17.01.33.01.5.01Zm-5.3-1.7c.56.4 1.19.7 1.87.88L5 11H3.5c.34.66.79 1.25 1.2 1.8ZM8.5 1.5V4H10l2.5 2.5c.02-.16.03-.33.03-.5A6.5 6.5 0 0 0 8.5 1.5Zm-1 0A6.5 6.5 0 0 0 1.97 6H3.5L6 3.5V1.53c-.51.1-1 .26-1.5.46V1.5ZM11 8.5l-2.5 2.5H10l1.88-1.88A6.47 6.47 0 0 0 11 8.5ZM6 6v4h4V6H6Z" data-v-20b3d95d></path></svg> skills.sh </a></div></div>',1)),h("div",Yy,[h("div",Xy,[h("button",{type:"button",onClick:$[0]||($[0]=R=>l.value="url"),class:he(["px-3 py-1.5 text-xs font-medium rounded-lg transition-all duration-150",l.value==="url"?"bg-accent/10 text-accent border border-accent/20":"text-txt-muted hover:text-txt-secondary hover:bg-surface-3/40 border border-transparent"])}," From URL ",2),h("button",{type:"button",onClick:$[1]||($[1]=R=>l.value="paste"),class:he(["px-3 py-1.5 text-xs font-medium rounded-lg transition-all duration-150",l.value==="paste"?"bg-accent/10 text-accent border border-accent/20":"text-txt-muted hover:text-txt-secondary hover:bg-surface-3/40 border border-transparent"])}," Paste SKILL.md ",2)]),l.value==="url"?(g(),b("form",{key:0,onSubmit:Ge(W,["prevent"])},[h("div",Qy,[Be(h("input",{"onUpdate:modelValue":$[2]||($[2]=R=>r.value=R),type:"url",placeholder:"https://github.com/owner/repo.git","aria-label":"Git repository URL",disabled:i.value,class:"flex-1 bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm disabled:opacity-40 transition-all duration-200"},null,8,e1),[[ze,r.value]]),h("button",{type:"submit",disabled:i.value||r.value.trim()==="",class:"bg-accent/15 text-accent border border-accent/25 px-4 py-2 rounded-lg text-sm font-medium hover:bg-accent/25 hover:border-accent/40 disabled:opacity-30 disabled:cursor-not-allowed transition-all duration-150 whitespace-nowrap"},C(i.value?"Installing…":"Install"),9,t1)])],32)):(g(),b("form",{key:1,onSubmit:Ge(ne,["prevent"])},[h("div",s1,[h("div",null,[Be(h("input",{"onUpdate:modelValue":$[3]||($[3]=R=>c.value=R),type:"text",placeholder:"my-skill","aria-label":"Skill slug",disabled:d.value,class:"w-full bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm disabled:opacity-40 transition-all duration-200"},null,8,n1),[[ze,c.value]]),$[14]||($[14]=h("p",{class:"text-[10px] text-txt-muted mt-1 ml-1"},"Unique identifier (lowercase, hyphens ok)",-1))]),Be(h("textarea",{"onUpdate:modelValue":$[4]||($[4]=R=>u.value=R),placeholder:"Paste SKILL.md content here…","aria-label":"SKILL.md content",disabled:d.value,rows:"6",class:"w-full bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary font-mono placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm disabled:opacity-40 resize-y transition-all duration-200"},null,8,r1),[[ze,u.value]]),h("button",{type:"submit",disabled:d.value||c.value.trim()===""||u.value.trim()==="",class:"self-end bg-accent/15 text-accent border border-accent/25 px-4 py-2 rounded-lg text-sm font-medium hover:bg-accent/25 hover:border-accent/40 disabled:opacity-30 disabled:cursor-not-allowed transition-all duration-150"},C(d.value?"Installing…":"Install"),9,i1)])],32))]),o.value?(g(),b("div",a1,[$[15]||($[15]=h("span",null,"✓",-1)),de(" "+C(o.value),1)])):q("",!0),a.value?(g(),b("div",o1,[$[16]||($[16]=h("span",null,"⚠",-1)),de(" "+C(a.value),1)])):q("",!0),!s.value&&!n.value&&t.value.length>0?(g(),b("div",l1,[Be(h("input",{"onUpdate:modelValue":$[5]||($[5]=R=>L.value=R),type:"search",placeholder:"Search skills…","aria-label":"Search skills",class:"w-full bg-surface-2/50 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm transition-all duration-200"},null,512),[[ze,L.value]])])):q("",!0),s.value?(g(),b("div",c1,[...$[17]||($[17]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading skills… ")],-1)])])):n.value?(g(),b("div",u1,[$[18]||($[18]=h("span",null,"⚠",-1)),de(" "+C(n.value),1)])):t.value.length===0?(g(),b("div",d1," No skills installed yet ")):D.value.length===0?(g(),b("div",h1," No matching skills ")):(g(),b("div",f1,[(g(!0),b(Ee,null,Me(D.value,R=>(g(),b("div",{key:R.slug,onClick:v=>O(R),class:"group bg-surface-2/40 border border-edge rounded-xl p-4 hover:border-edge-bright hover:shadow-card-hover hover:bg-surface-2/70 transition-all duration-200 cursor-pointer"},[h("div",g1,[h("div",m1,[h("h3",b1,C(R.name),1),h("p",v1,C(R.slug),1)]),h("button",{onClick:Ge(v=>ee(R),["stop"]),class:"shrink-0 ml-2 p-1.5 rounded-lg text-txt-muted/0 group-hover:text-txt-muted hover:!text-red-400 hover:bg-red-500/10 transition-all duration-150",title:"Delete skill"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14})],8,y1)]),h("p",_1,C(R.description),1),h("p",x1,C(R.path),1)],8,p1))),128))]))])]))]))}}),k1=nr(w1,[["__scopeId","data-v-20b3d95d"]]),E1={class:"space-y-3"},S1={class:"flex items-center justify-between"},T1={class:"flex items-center gap-2 pt-1"},A1=["disabled"],R1={key:0,class:"text-[10px] text-red-400"},C1={key:1,class:"flex items-center gap-2 text-txt-muted text-xs py-2"},O1={key:2,class:"text-red-400 text-xs py-1"},$1={key:3,class:"text-txt-muted text-xs italic py-1"},N1={key:4,class:"space-y-2"},I1={class:"flex items-center gap-2 px-3 py-2"},P1={class:"flex-1 min-w-0"},L1={class:"flex items-center gap-1.5"},M1={class:"text-xs font-medium text-txt-primary truncate"},j1={class:"text-[10px] text-txt-muted font-mono truncate"},D1={class:"flex items-center gap-1 shrink-0"},U1=["onClick","title"],B1=["onClick","disabled"],H1=["onClick","disabled"],F1={class:"px-3 pb-2 flex items-center gap-3 text-[10px] text-txt-muted"},V1={key:0},q1={key:0,class:"border-t border-edge/50 px-3 py-2 bg-surface-0/40 animate-fade-in"},z1={key:0,class:"flex items-center gap-2 text-txt-muted text-[10px] py-1"},K1={key:1,class:"text-txt-muted text-[10px] italic py-1"},W1={key:2,class:"space-y-2"},G1={class:"flex items-start gap-1.5"},Z1=["title"],J1={key:0,class:"w-1.5 h-1.5 rounded-full bg-green-400"},Y1={class:"flex-1 min-w-0"},X1={class:"text-txt-secondary"},Q1={key:0,class:"text-txt-muted mt-0.5 leading-relaxed"},e_={class:"text-txt-muted/60 mt-0.5"},t_={key:1,class:"px-3 pb-2 text-[10px] text-red-400"},s_=Je({__name:"SquadInstances",props:{squadSlug:{}},setup(e){const t=e,s=B([]),n=B(!1),r=B(null),i=B(!1),a=B(new Set),o=ct({}),l=ct({}),c=ct({}),u=ct({}),d=B(!1),f=B(!1),p=B(null),m=ct({issueRef:"",baseBranch:""});function _(I){switch(I){case"active":return"bg-green-500/15 text-green-400 border-green-500/25";case"pending":return"bg-yellow-500/15 text-yellow-400 border-yellow-500/25";case"merging":return"bg-accent/15 text-accent border-accent/25";case"done":return"bg-surface-3/50 text-txt-muted border-edge";case"failed":return"bg-red-500/15 text-red-400 border-red-500/25";default:return"bg-surface-3/50 text-txt-muted border-edge"}}function T(I){return I==="active"||I==="pending"}function E(I){try{const j=I.includes("T")||I.endsWith("Z")?I:I.replace(" ","T")+"Z";return new Date(j).toLocaleString()}catch{return I}}async function w(){n.value=!0,r.value=null;try{const I=`/api/squads/${t.squadSlug}/instances${i.value?"?include_completed=true":""}`,j=await ke(I);if(!j.ok)throw new Error(`HTTP ${j.status}`);const W=await j.json();s.value=W.instances??[]}catch(I){r.value=I instanceof Error?I.message:"Failed to load instances"}finally{n.value=!1}}async function x(I){const j=new Set(a.value);if(j.has(I)){j.delete(I),a.value=j;return}if(j.add(I),a.value=j,!o[I]){l[I]=!0;try{const W=await ke(`/api/squads/${t.squadSlug}/instances/${I}`);if(!W.ok)throw new Error(`HTTP ${W.status}`);const ne=await W.json();o[I]=ne.decisions??[]}catch{o[I]=[]}finally{l[I]=!1}}}async function A(I){c[I]="completing",u[I]=null;try{const j=await ke(`/api/squads/${t.squadSlug}/instances/${I}/complete`,{method:"POST"});if(!j.ok)throw new Error(`HTTP ${j.status}`);await w(),a.value.has(I)&&(delete o[I],await x(I))}catch(j){u[I]=j instanceof Error?j.message:"Complete failed"}finally{c[I]=null}}async function L(I){c[I]="aborting",u[I]=null;try{const j=await ke(`/api/squads/${t.squadSlug}/instances/${I}/abort`,{method:"POST"});if(!j.ok)throw new Error(`HTTP ${j.status}`);await w()}catch(j){u[I]=j instanceof Error?j.message:"Abort failed"}finally{c[I]=null}}async function D(){const I=m.issueRef.trim();if(I){f.value=!0,p.value=null;try{const j={issue_ref:I};m.baseBranch.trim()&&(j.base_branch=m.baseBranch.trim());const W=await ke(`/api/squads/${t.squadSlug}/instances`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(j)});if(!W.ok){const ne=await W.json().catch(()=>({error:`HTTP ${W.status}`}));throw new Error(ne.error??`HTTP ${W.status}`)}m.issueRef="",m.baseBranch="",d.value=!1,await w()}catch(j){p.value=j instanceof Error?j.message:"Failed to create instance"}finally{f.value=!1}}}async function O(){i.value=!i.value,await w()}return yt(()=>t.squadSlug,()=>w()),it(()=>w()),(I,j)=>(g(),b("div",E1,[h("div",S1,[j[3]||(j[3]=h("h4",{class:"text-xs font-semibold text-txt-secondary uppercase tracking-wider"},"Instances",-1)),h("button",{onClick:j[0]||(j[0]=W=>d.value=!d.value),class:he(["flex items-center gap-1 text-[10px] font-medium px-2 py-1 rounded-md transition-all duration-150",d.value?"bg-surface-3/50 text-txt-secondary border border-edge hover:bg-surface-3/70":"bg-accent/10 text-accent border border-accent/20 hover:bg-accent/20"])},[d.value?q("",!0):(g(),Rt(Ae,{key:0,paths:'<path d="M10 3a.5.5 0 0 1 .5.5v6h6a.5.5 0 0 1 0 1h-6v6a.5.5 0 0 1-1 0v-6h-6a.5.5 0 0 1 0-1h6v-6A.5.5 0 0 1 10 3Z"/>',size:10})),de(" "+C(d.value?"Cancel":"New Instance"),1)],2)]),d.value?(g(),b("form",{key:0,onSubmit:Ge(D,["prevent"]),class:"bg-surface-3/30 border border-edge rounded-lg p-3 space-y-2 animate-fade-in"},[Be(h("input",{"onUpdate:modelValue":j[1]||(j[1]=W=>m.issueRef=W),type:"text",placeholder:"Issue ref (e.g. #231 or feature-auth)",class:"w-full bg-surface-0/50 border border-edge rounded-md px-3 py-1.5 text-xs text-txt-primary placeholder:text-txt-muted/60 focus:outline-none focus:border-accent/40 transition-all duration-150"},null,512),[[ze,m.issueRef]]),Be(h("input",{"onUpdate:modelValue":j[2]||(j[2]=W=>m.baseBranch=W),type:"text",placeholder:"Base branch (default: main)",class:"w-full bg-surface-0/50 border border-edge rounded-md px-3 py-1.5 text-xs text-txt-primary placeholder:text-txt-muted/60 focus:outline-none focus:border-accent/40 transition-all duration-150"},null,512),[[ze,m.baseBranch]]),h("div",T1,[h("button",{type:"submit",disabled:f.value||!m.issueRef.trim(),class:"flex-1 bg-accent/15 text-accent border border-accent/25 px-3 py-1.5 rounded-md text-xs font-medium hover:bg-accent/25 disabled:opacity-30 disabled:cursor-not-allowed transition-all duration-150"},C(f.value?"Spawning…":"Spawn Instance"),9,A1)]),p.value?(g(),b("p",R1,C(p.value),1)):q("",!0)],32)):q("",!0),n.value?(g(),b("div",C1,[...j[4]||(j[4]=[h("span",{class:"w-3 h-3 border-2 border-edge border-t-accent rounded-full animate-spin shrink-0"},null,-1),de(" Loading instances… ",-1)])])):r.value?(g(),b("div",O1,C(r.value),1)):s.value.length===0?(g(),b("div",$1," No active instances ")):(g(),b("div",N1,[(g(!0),b(Ee,null,Me(s.value,W=>(g(),b("div",{key:W.id,class:"bg-surface-2/50 border border-edge rounded-lg overflow-hidden animate-fade-in"},[h("div",I1,[h("span",{class:he(["shrink-0 text-[9px] font-semibold uppercase tracking-wider px-1.5 py-0.5 rounded border",_(W.status)])},C(W.status),3),h("div",P1,[h("div",L1,[h("span",M1,C(W.issue_ref??W.id),1)]),h("p",j1,C(W.branch_name),1)]),h("div",D1,[h("button",{onClick:ne=>x(W.id),class:"p-1 rounded text-txt-muted hover:text-txt-secondary hover:bg-surface-3/50 transition-all duration-150",title:a.value.has(W.id)?"Hide decisions":"Show decisions"},[fe(Ae,{paths:'<path d="M7.47 4.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1-1.06 1.06L8 5.81 3.28 10.53a.75.75 0 0 1-1.06-1.06l5.25-5.25Z"/>',size:12,class:he(["transition-transform duration-150",a.value.has(W.id)?"rotate-180":""])},null,8,["class"])],8,U1),T(W.status)?(g(),b("button",{key:0,onClick:ne=>A(W.id),disabled:!!c[W.id],class:"text-[10px] font-medium px-2 py-1 rounded-md bg-green-500/10 text-green-400 border border-green-500/20 hover:bg-green-500/20 disabled:opacity-40 transition-all duration-150",title:"Merge decisions back and complete"},C(c[W.id]==="completing"?"Merging…":"Complete"),9,B1)):q("",!0),T(W.status)?(g(),b("button",{key:1,onClick:ne=>L(W.id),disabled:!!c[W.id],class:"text-[10px] font-medium px-2 py-1 rounded-md bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 disabled:opacity-40 transition-all duration-150",title:"Abort — worktree preserved for debugging"},C(c[W.id]==="aborting"?"Aborting…":"Abort"),9,H1)):q("",!0)])]),h("div",F1,[h("span",null,"Created "+C(E(W.created_at)),1),W.completed_at?(g(),b("span",V1,"· Completed "+C(E(W.completed_at)),1)):q("",!0)]),a.value.has(W.id)?(g(),b("div",q1,[l[W.id]?(g(),b("div",z1,[...j[5]||(j[5]=[h("span",{class:"w-2.5 h-2.5 border border-edge border-t-accent rounded-full animate-spin"},null,-1),de(" Loading decisions… ",-1)])])):!o[W.id]||o[W.id].length===0?(g(),b("div",K1," No decisions logged yet ")):(g(),b("ul",W1,[(g(!0),b(Ee,null,Me(o[W.id],(ne,ee)=>(g(),b("li",{key:ee,class:"text-[10px] leading-snug"},[h("div",G1,[h("span",{class:he(["shrink-0 mt-0.5 w-3 h-3 rounded-full border flex items-center justify-center",ne.merged_to_master?"border-green-500/40 bg-green-500/10":"border-edge bg-surface-3/40"]),title:ne.merged_to_master?"Merged to master":"Pending merge"},[ne.merged_to_master?(g(),b("span",J1)):q("",!0)],10,Z1),h("div",Y1,[h("p",X1,C(ne.decision),1),ne.context?(g(),b("p",Q1,C(ne.context),1)):q("",!0),h("p",e_,C(E(ne.created_at)),1)])])]))),128))]))])):q("",!0),u[W.id]?(g(),b("div",t_,C(u[W.id]),1)):q("",!0)]))),128)),h("button",{onClick:O,class:"w-full text-center text-[10px] text-txt-muted hover:text-txt-secondary py-1 transition-colors duration-150"},C(i.value?"Hide completed":"Show completed instances"),1)]))]))}}),n_={class:"flex flex-col h-full bg-surface-0"},r_={class:"flex-1 overflow-y-auto p-3 sm:p-6"},i_={class:"max-w-4xl"},a_={class:"flex justify-between items-end mb-6"},o_={class:"space-y-3"},l_=["disabled"],c_={key:0,class:"mt-3 flex items-center gap-2 text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2"},u_={key:1,class:"flex items-center justify-center py-16"},d_={key:2,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-4 text-sm"},h_={key:3,class:"text-txt-muted text-sm text-center py-16"},f_={key:4,class:"grid gap-3"},p_=["onClick","aria-expanded"],g_={class:"flex justify-between items-start mb-2"},m_={class:"flex-1 flex items-center gap-2.5"},b_={class:"min-w-0"},v_={class:"font-semibold text-txt-primary text-sm"},y_={class:"text-[11px] text-txt-muted font-mono"},__={class:"flex items-center gap-2 shrink-0"},x_={key:0,class:"px-2 py-0.5 rounded-md text-[10px] font-medium bg-purple-500/10 text-purple-300 border border-purple-500/20"},w_={class:"text-xs text-txt-muted font-mono ml-6"},k_={key:0,class:"border-t border-edge px-4 pb-4 pt-3 animate-fade-in"},E_={class:"flex justify-between items-center text-[10px] text-txt-muted mb-3"},S_={key:0,class:"font-mono"},T_={key:0,class:"flex items-center gap-2 text-txt-muted text-xs py-3"},A_={key:1,class:"text-red-400 text-xs py-2"},R_={key:2,class:"text-txt-muted text-xs italic py-2"},C_={key:3,class:"space-y-1.5"},O_={class:"flex-1 min-w-0"},$_={class:"flex items-center gap-1.5"},N_={class:"text-sm font-medium text-txt-primary truncate"},I_={key:0,title:"Team Lead",class:"text-xs"},P_={key:1,title:"QA / Veto Power",class:"text-xs"},L_={class:"text-[10px] text-txt-muted"},M_={class:"flex items-center gap-1 shrink-0"},j_=["onClick"],D_=["onClick","disabled"],U_={class:"mt-4 pt-4 border-t border-edge/40"},B_=["onClick"],H_={class:"bg-surface-1 border border-edge rounded-xl w-full max-w-2xl max-h-[85vh] flex flex-col shadow-2xl animate-fade-in"},F_={class:"flex justify-between items-center px-5 py-3.5 border-b border-edge"},V_={class:"text-sm font-semibold text-txt-primary flex items-center gap-2"},q_={class:"text-xs font-normal text-txt-muted"},z_={class:"text-[10px] text-txt-muted mt-0.5 flex items-center gap-1.5"},K_={class:"flex items-center gap-3"},W_={class:"flex items-center gap-1.5 text-[10px] text-txt-muted cursor-pointer select-none"},G_={key:0,class:"bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg text-sm"},Z_={key:1,class:"text-txt-muted italic text-center py-8"},J_={class:"shrink-0"},Y_={class:"flex-1 min-w-0"},X_={class:"text-txt-secondary break-words"},Q_={class:"text-txt-muted text-[10px] ml-2"},ex={key:0,class:"text-txt-muted italic text-center py-4"},tx={class:"flex justify-between items-center mb-1"},sx={class:"text-accent"},nx={class:"text-txt-muted text-[10px]"},rx={class:"text-txt-secondary whitespace-pre-wrap break-words"},ix=Je({__name:"SquadsView",setup(e){const t=new Set(["system"]),s={"a-team":"The A-Team",transformers:"Transformers",thundercats:"ThunderCats","gi-joe":"G.I. Joe",aliens:"Aliens",ghostbusters:"Ghostbusters"},n=B([]),r=B(!0),i=B(null),a=B(!1),o=B(!1),l=B(null),c=ct({}),u=ct({}),d=ct({});function f(P){return[...P].sort((U,Q)=>{const M=ae=>ae.is_lead?0:ae.is_qa?1:2;return M(U)-M(Q)})}const p=ct({}),m=ct({}),_=B(new Set),T=B(null),E=B([]),w=B(null),x=B(!1),A=B(!0),L=B(null);let D=null;const O=Pe(()=>w.value?"Disconnected":x.value?"Live":"Connecting…"),I=Pe(()=>E.value.filter(P=>!(!P.summary||t.has(P.summary.kind)||P.type==="assistant.message_delta"))),j=P=>{try{return new Date(P).toLocaleTimeString()}catch{return""}},W=P=>{const U=P.data;if(!U||typeof U!="object")return"";if(typeof U.deltaContent=="string")return U.deltaContent;if(typeof U.content=="string")return U.content;if(typeof U.text=="string")return U.text;try{return JSON.stringify(U,null,2)}catch{return String(U)}},ne=()=>{zt(()=>{const P=L.value;P&&(P.scrollTop=P.scrollHeight)})},ee=async P=>{if(!P.currentTaskId)return;X(),T.value=P,E.value=[],w.value=null,x.value=!1,A.value=!0;const U=await ci(`/api/tasks/${encodeURIComponent(P.currentTaskId)}/events`),Q=new EventSource(U);D=Q,Q.onopen=()=>{x.value=!0},Q.onmessage=M=>{try{const ae=JSON.parse(M.data);E.value.push(ae),ne()}catch{}},Q.onerror=()=>{x.value=!1,E.value.length===0&&(w.value="Connection error. Retrying…")}},X=()=>{if(D){try{D.close()}catch{}D=null}T.value=null,E.value=[],w.value=null,x.value=!1};ka(()=>{X()});const $=async(P,U)=>{if(!_.value.has(U)){_.value=new Set(_.value).add(U);try{await ke(`/api/tasks/${encodeURIComponent(U)}/cancel`,{method:"POST"}),await we(P,!0)}catch(Q){m[P]=Q instanceof Error?Q.message:"Failed to stop task"}finally{const Q=new Set(_.value);Q.delete(U),_.value=Q}}},R=B({slug:"",name:"",projectPath:""}),v=P=>P?s[P]??P:"",S=P=>new Date(P).toLocaleDateString("en-US",{year:"numeric",month:"short",day:"numeric"}),H=P=>!!c[P],ie=async P=>{c[P]=!c[P],c[P]&&!d[P]&&!p[P]&&await we(P)},ge=P=>{u[P]=!u[P]},we=async(P,U=!1)=>{if(!(!U&&p[P])){p[P]=!0,m[P]=null;try{const Q=await ke(`/api/squads/${encodeURIComponent(P)}/agents`);if(!Q.ok)throw new Error(`HTTP error! status: ${Q.status}`);const M=await Q.json();d[P]=M.agents}catch(Q){m[P]=Q instanceof Error?Q.message:"Failed to load agents"}finally{p[P]=!1}}},Te=async()=>{try{const P=await ke("/api/squads");if(!P.ok)throw new Error(`HTTP error! status: ${P.status}`);const U=await P.json();n.value=U.squads}catch(P){i.value=P instanceof Error?P.message:"Failed to load squads"}finally{r.value=!1}},J=async()=>{if(!R.value.slug||!R.value.name||!R.value.projectPath){l.value="All fields are required";return}o.value=!0,l.value=null;try{const P=await ke("/api/squads",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({slug:R.value.slug,name:R.value.name,projectPath:R.value.projectPath})});if(!P.ok)throw new Error(`HTTP error! status: ${P.status}`);R.value={slug:"",name:"",projectPath:""},a.value=!1,await Te()}catch(P){l.value=P instanceof Error?P.message:"Failed to create squad"}finally{o.value=!1}};return it(()=>{Te()}),(P,U)=>(g(),b("div",n_,[h("div",r_,[h("div",i_,[h("div",a_,[U[5]||(U[5]=h("div",null,[h("h2",{class:"text-xl font-bold text-txt-primary tracking-tight"},"Squads"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Manage teams and monitor agents")],-1)),h("button",{onClick:U[0]||(U[0]=Q=>a.value=!a.value),class:he(["px-3.5 py-2 rounded-lg text-sm font-medium transition-all duration-150",a.value?"bg-surface-3/50 text-txt-secondary border border-edge hover:bg-surface-3/70":"bg-accent/15 text-accent border border-accent/25 hover:bg-accent/25 hover:border-accent/40"])},C(a.value?"Cancel":"New Squad"),3)]),a.value?(g(),b("form",{key:0,onSubmit:Ge(J,["prevent"]),class:"bg-surface-2/40 border border-edge rounded-xl p-5 mb-6 animate-fade-in"},[U[7]||(U[7]=h("h3",{class:"font-semibold text-txt-primary text-sm mb-4"},"Create New Squad",-1)),h("div",o_,[Be(h("input",{"onUpdate:modelValue":U[1]||(U[1]=Q=>R.value.slug=Q),type:"text",placeholder:"Squad slug (e.g., frontend-team)",class:"w-full bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm transition-all duration-200"},null,512),[[ze,R.value.slug]]),Be(h("input",{"onUpdate:modelValue":U[2]||(U[2]=Q=>R.value.name=Q),type:"text",placeholder:"Squad name (e.g., Frontend Team)",class:"w-full bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm transition-all duration-200"},null,512),[[ze,R.value.name]]),Be(h("input",{"onUpdate:modelValue":U[3]||(U[3]=Q=>R.value.projectPath=Q),type:"text",placeholder:"Project path (e.g., /path/to/project)",class:"w-full bg-surface-1/80 border border-edge rounded-lg px-3 py-2 text-sm text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm transition-all duration-200"},null,512),[[ze,R.value.projectPath]]),h("button",{type:"submit",disabled:o.value||!R.value.slug||!R.value.name||!R.value.projectPath,class:"w-full bg-accent/15 text-accent border border-accent/25 px-4 py-2 rounded-lg text-sm font-medium hover:bg-accent/25 hover:border-accent/40 disabled:opacity-30 disabled:cursor-not-allowed transition-all duration-150"},C(o.value?"Creating…":"Create Squad"),9,l_)]),l.value?(g(),b("div",c_,[U[6]||(U[6]=h("span",null,"⚠",-1)),de(" "+C(l.value),1)])):q("",!0)],32)):q("",!0),r.value?(g(),b("div",u_,[...U[8]||(U[8]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading squads… ")],-1)])])):i.value?(g(),b("div",d_,[U[9]||(U[9]=h("span",null,"⚠",-1)),de(" "+C(i.value),1)])):n.value.length===0?(g(),b("div",h_," No squads created yet ")):(g(),b("div",f_,[(g(!0),b(Ee,null,Me(n.value,Q=>(g(),b("div",{key:Q.id,class:"bg-surface-2/40 border border-edge rounded-xl overflow-hidden hover:border-edge-bright transition-all duration-200"},[h("button",{type:"button",onClick:M=>ie(Q.slug),class:"w-full text-left p-4 focus:outline-none","aria-expanded":H(Q.slug)},[h("div",g_,[h("div",m_,[fe(Ae,{paths:'<path d="M7.65 4.15c.2-.2.5-.2.7 0l5.49 5.46c.21.22.21.57 0 .78l-5.49 5.46a.5.5 0 0 1-.7-.7L12.8 10 7.65 4.85a.5.5 0 0 1 0-.7Z"/>',size:14,class:he(["text-txt-muted transition-transform duration-200 shrink-0",H(Q.slug)?"rotate-90":""])},null,8,["class"]),h("div",b_,[h("h3",v_,C(Q.name),1),h("p",y_,C(Q.slug),1)])]),h("div",__,[Q.universe?(g(),b("span",x_," 🎬 "+C(v(Q.universe)),1)):q("",!0),h("span",{class:he(["flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium",Q.status==="working"?"bg-accent/10 text-accent border border-accent/20":Q.status==="error"?"bg-red-500/10 text-red-400 border border-red-500/20":"bg-surface-3/60 text-txt-muted border border-edge"])},[h("span",{class:he(["w-1.5 h-1.5 rounded-full",Q.status==="working"?"bg-accent animate-pulse":Q.status==="error"?"bg-red-400":"bg-txt-muted/50"])},null,2),de(" "+C(Q.status),1)],2)])]),h("p",w_,"📁 "+C(Q.project_path),1)],8,p_),H(Q.slug)?(g(),b("div",k_,[h("div",E_,[Q.model?(g(),b("span",S_,"Model: "+C(Q.model),1)):q("",!0),h("span",null,C(S(Q.created_at)),1)]),U[14]||(U[14]=h("h4",{class:"text-xs font-semibold text-txt-secondary uppercase tracking-wider mb-2"},"Team Roster",-1)),p[Q.slug]?(g(),b("div",T_,[...U[10]||(U[10]=[h("span",{class:"w-3 h-3 border-2 border-edge border-t-accent rounded-full animate-spin"},null,-1),de(" Loading agents… ",-1)])])):m[Q.slug]?(g(),b("div",A_,C(m[Q.slug]),1)):!d[Q.slug]||d[Q.slug].length===0?(g(),b("div",R_," No agents assigned yet ")):(g(),b("ul",C_,[(g(!0),b(Ee,null,Me(f(d[Q.slug]??[]),M=>(g(),b("li",{key:M.id??M.character_name,class:he(["flex items-center gap-3 rounded-lg px-3 py-2 transition-all duration-150",M.status==="working"?"bg-accent/[0.06] border border-accent/15":"bg-surface-1/50 border border-edge"])},[h("div",{class:he(["w-7 h-7 rounded-full flex items-center justify-center shrink-0 text-[10px] font-bold",M.status==="working"?"bg-accent/15 text-accent border border-accent/25":M.status==="error"?"bg-red-500/15 text-red-400 border border-red-500/25":"bg-surface-3/60 text-txt-muted border border-edge"])},C((M.character_name??"?").charAt(0).toUpperCase()),3),h("div",O_,[h("div",$_,[h("span",N_,C(M.character_name),1),M.is_lead?(g(),b("span",I_,"👑")):q("",!0),M.is_qa?(g(),b("span",P_,"🛡️")):q("",!0)]),h("span",L_,C(M.role_title),1)]),h("span",{class:he(["flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium shrink-0",M.status==="working"?"bg-accent/10 text-accent":M.status==="error"?"bg-red-500/10 text-red-400":"bg-surface-3/40 text-txt-muted"])},[h("span",{class:he(["w-1.5 h-1.5 rounded-full",M.status==="working"?"bg-accent animate-pulse":M.status==="error"?"bg-red-400":"bg-emerald-400"])},null,2),de(" "+C(M.status),1)],2),h("div",M_,[M.status==="working"&&M.currentTaskId?(g(),b("button",{key:0,type:"button",onClick:ae=>ee(M),class:"text-[10px] font-medium px-2 py-1 rounded-md bg-accent/10 text-accent border border-accent/20 hover:bg-accent/20 transition-all duration-150 flex items-center gap-1",title:"Preview live work"},[...U[11]||(U[11]=[h("span",{"aria-hidden":"true"},"👁",-1),de(" Preview ",-1)])],8,j_)):q("",!0),M.status==="working"&&M.currentTaskId?(g(),b("button",{key:1,type:"button",onClick:ae=>$(Q.slug,M.currentTaskId),disabled:_.value.has(M.currentTaskId),class:"text-[10px] font-medium px-2 py-1 rounded-md bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 disabled:opacity-40 transition-all duration-150 flex items-center gap-1",title:"Stop task"},[U[12]||(U[12]=h("span",{class:"w-2 h-2 rounded-[2px] bg-red-400"},null,-1)),de(" "+C(_.value.has(M.currentTaskId)?"Stopping…":"Stop"),1)],8,D_)):q("",!0)])],2))),128))])),h("div",U_,[h("button",{type:"button",onClick:M=>ge(Q.slug),class:"flex items-center gap-1.5 mb-3 text-[10px] text-txt-muted hover:text-txt-secondary transition-colors duration-150"},[fe(Ae,{paths:'<path d="M7.47 4.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1-1.06 1.06L8 5.81 3.28 10.53a.75.75 0 0 1-1.06-1.06l5.25-5.25Z"/>',size:11,class:he(["transition-transform duration-150",u[Q.slug]?"rotate-180":""])},null,8,["class"]),U[13]||(U[13]=h("span",{class:"font-semibold uppercase tracking-wider"},"Instances",-1))],8,B_),u[Q.slug]?(g(),Rt(s_,{key:0,"squad-slug":Q.slug,class:"animate-fade-in"},null,8,["squad-slug"])):q("",!0)])])):q("",!0)]))),128))]))])]),T.value?(g(),b("div",{key:0,class:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 z-50",onClick:Ge(X,["self"])},[h("div",H_,[h("div",F_,[h("div",null,[h("h3",V_,[de(C(T.value.character_name)+" ",1),h("span",q_,"— "+C(T.value.role_title),1)]),h("p",z_,[h("span",{class:he(["inline-block w-1.5 h-1.5 rounded-full",x.value?"bg-emerald-400 animate-pulse":"bg-txt-muted/50"])},null,2),de(" "+C(O.value),1)])]),h("div",K_,[h("label",W_,[Be(h("input",{type:"checkbox","onUpdate:modelValue":U[4]||(U[4]=Q=>A.value=Q),class:"rounded bg-surface-3 border-edge accent-accent"},null,512),[[Yc,A.value]]),U[15]||(U[15]=de(" Summary ",-1))]),h("button",{type:"button",onClick:X,class:"text-txt-muted hover:text-txt-primary text-lg leading-none transition-colors p-1","aria-label":"Close"},"×")])]),h("div",{ref_key:"previewScrollEl",ref:L,class:"overflow-y-auto p-4 space-y-2 flex-1 font-mono text-xs"},[w.value?(g(),b("div",G_,C(w.value),1)):E.value.length===0?(g(),b("div",Z_," Waiting for activity… ")):A.value?(g(),b(Ee,{key:2},[(g(!0),b(Ee,null,Me(I.value,(Q,M)=>(g(),b("div",{key:M,class:"flex items-start gap-2 py-1.5 px-1"},[h("span",J_,C(Q.summary.icon),1),h("div",Y_,[h("span",X_,C(Q.summary.summary),1),h("span",Q_,C(j(Q.ts)),1)])]))),128)),I.value.length===0?(g(),b("div",ex," Processing… ")):q("",!0)],64)):(g(!0),b(Ee,{key:3},Me(E.value,(Q,M)=>(g(),b("div",{key:M,class:"border border-edge rounded-lg p-2.5 bg-surface-0"},[h("div",tx,[h("span",sx,C(Q.type),1),h("span",nx,C(j(Q.ts)),1)]),h("pre",rx,C(W(Q)),1)]))),128))],512),h("div",{class:"px-4 py-3 border-t border-edge flex justify-end"},[h("button",{type:"button",onClick:X,class:"bg-surface-3/50 hover:bg-surface-3/70 text-txt-secondary text-sm px-4 py-1.5 rounded-lg border border-edge transition-all duration-150"}," Close ")])])])):q("",!0)]))}}),ax={class:"flex flex-col h-full bg-surface-0"},ox={class:"flex-1 overflow-y-auto p-3 sm:p-6"},lx={class:"max-w-4xl"},cx={class:"flex justify-between items-end mb-6"},ux=["disabled"],dx={key:0,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-6 text-sm"},hx={class:"mb-8"},fx={key:0,class:"flex items-center justify-center py-10"},px={key:1,class:"text-txt-muted text-sm text-center py-10"},gx={key:2,class:"grid gap-3"},mx={class:"flex justify-between items-start mb-2.5"},bx={class:"flex items-center gap-3 min-w-0"},vx={class:"min-w-0"},yx={class:"font-semibold text-txt-primary text-sm"},_x={class:"flex items-center gap-1.5 mt-0.5 flex-wrap"},xx={class:"text-[10px] text-txt-muted font-mono"},wx={key:0,class:"text-[10px] text-txt-secondary bg-surface-3/50 px-1.5 py-0.5 rounded border border-edge"},kx={key:1,class:"text-[10px] text-purple-300 bg-purple-500/10 px-1.5 py-0.5 rounded border border-purple-500/20"},Ex=["title"],Sx={key:0,class:"bg-surface-0/60 border border-edge rounded-lg p-3 mb-2.5 ml-12"},Tx={class:"text-sm text-txt-primary break-words"},Ax={class:"flex justify-between items-center ml-12"},Rx={class:"text-[10px] text-txt-muted"},Cx=["onClick","disabled"],Ox={key:0,class:"flex items-center justify-center py-10"},$x={key:1,class:"text-txt-muted text-sm text-center py-10"},Nx={key:2,class:"relative"},Ix={class:"space-y-1"},Px=["onClick"],Lx={class:"flex justify-between items-start gap-3"},Mx={class:"min-w-0 flex-1"},jx={class:"flex items-center gap-2 mb-0.5"},Dx={class:"text-sm font-medium text-txt-primary truncate group-hover:text-accent transition-colors"},Ux={key:0,class:"text-[10px] text-txt-muted bg-surface-3/40 px-1.5 py-0.5 rounded border border-edge"},Bx={class:"text-xs text-txt-secondary truncate"},Hx={class:"text-[10px] text-txt-muted mt-1"},Fx={key:0},Vx={key:0,class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"},qx={class:"bg-surface-1 border border-edge rounded-xl w-full max-w-2xl max-h-[85vh] flex flex-col shadow-2xl animate-fade-in"},zx={class:"overflow-y-auto p-5 space-y-4"},Kx={key:0,class:"flex items-center justify-center py-10"},Wx={key:1,class:"bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg text-sm"},Gx={class:"flex justify-between items-start gap-3"},Zx={class:"text-sm text-txt-primary font-medium"},Jx={key:0,class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"},Yx={class:"text-[11px] text-txt-muted font-mono break-all bg-surface-0/60 px-2 py-1 rounded border border-edge"},Xx={key:0},Qx={class:"text-sm text-txt-secondary"},ew={class:"grid grid-cols-2 gap-4"},tw={class:"text-sm text-txt-secondary"},sw={class:"text-sm text-txt-secondary"},nw={key:1},rw={class:"text-sm text-accent font-mono"},iw=["innerHTML"],aw={class:"flex justify-between items-center mb-2"},ow={class:"flex items-center gap-1.5 text-[10px] text-txt-muted cursor-pointer select-none"},lw={key:0,class:"text-sm text-txt-muted italic"},cw={key:1,class:"text-sm text-txt-muted italic"},uw={key:2,class:"bg-surface-0/60 border border-edge rounded-lg divide-y divide-edge max-h-96 overflow-y-auto"},dw=["onClick"],hw={class:"shrink-0"},fw={class:"flex-1 break-words"},pw={class:"text-[10px] text-txt-muted shrink-0"},gw={key:0,class:"mt-2 pl-6 space-y-1"},mw={key:0,class:"text-xs text-txt-secondary bg-surface-1 border border-edge rounded-lg p-2 whitespace-pre-wrap break-words font-mono"},bw={class:"text-[11px] text-txt-muted bg-surface-1 border border-edge rounded-lg p-2 whitespace-pre-wrap break-words font-mono max-h-48 overflow-y-auto"},vw={class:"text-[10px] text-txt-muted font-mono"},yw=["innerHTML"],_w={key:1,class:"text-sm text-txt-muted italic"},xw={class:"px-5 py-3 border-t border-edge flex justify-between items-center"},ww=["disabled"],kw={key:1},Ew=Je({__name:"AgentActivityView",setup(e){const t=B([]),s=Pe(()=>t.value.filter(J=>J.status!=="idle")),n=B([]),r=B(!0),i=B(null),a=B(new Set),o=B(null),l=B(null),c=B(!1),u=B(null),d=B([]),f=B(!1),p=B(!1),m=B(new Set),_=Pe(()=>p.value?d.value:d.value.filter(J=>!(J.rawType==="assistant.message"&&(!J.detail||!J.detail.trim())||J.rawType.includes("tool.execution_complete")&&J.status==="success")));let T=null,E=null,w=null;const x=J=>J.toLocaleTimeString("en-US",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!0}),A=J=>{if(!J)return"";const P=J.includes("T")?J:J.replace(" ","T")+"Z",U=new Date(P);return Number.isNaN(U.getTime())?J:U.toLocaleString()},L=J=>{switch(J){case"running":return"bg-accent/10 text-accent border border-accent/20";case"done":return"bg-emerald-500/10 text-emerald-400 border border-emerald-500/20";case"failed":return"bg-red-500/10 text-red-400 border border-red-500/20";case"cancelled":return"bg-amber-500/10 text-amber-400 border border-amber-500/20";default:return"bg-surface-3/50 text-txt-muted border border-edge"}},D=Pe(()=>{if(!l.value)return null;const J=l.value.started_at,P=l.value.completed_at;if(!J||!P)return null;const U=new Date(J.includes("T")?J:J.replace(" ","T")+"Z").getTime(),Q=new Date(P.includes("T")?P:P.replace(" ","T")+"Z").getTime();if(Number.isNaN(U)||Number.isNaN(Q))return null;const M=Math.max(0,Math.round((Q-U)/1e3));if(M<60)return`${M}s`;const ae=Math.floor(M/60),oe=M%60;return`${ae}m ${oe}s`}),O=async J=>{if(!a.value.has(J)){a.value=new Set(a.value).add(J);try{await ke(`/api/tasks/${encodeURIComponent(J)}/cancel`,{method:"POST"}),await W(),o.value===J&&await ne(J)}catch(P){i.value=P instanceof Error?P.message:"Failed to stop task"}finally{const P=new Set(a.value);P.delete(J),a.value=P}}},I=async()=>{try{const J=await ke("/api/agents");if(!J.ok)throw new Error(`HTTP error! status: ${J.status}`);const P=await J.json();t.value=P.agents}catch(J){i.value=J instanceof Error?J.message:"Failed to load agents"}},j=async()=>{try{const J=await ke("/api/tasks?limit=50");if(!J.ok)throw new Error(`HTTP error! status: ${J.status}`);const P=await J.json();n.value=P.tasks}catch(J){i.value=J instanceof Error?J.message:"Failed to load tasks"}},W=async()=>{r.value=!0,i.value=null;try{await Promise.all([I(),j()])}finally{r.value=!1}},ne=async J=>{c.value=!0,u.value=null;try{const P=await ke(`/api/tasks/${encodeURIComponent(J)}`);if(!P.ok)throw new Error(`HTTP error! status: ${P.status}`);const U=await P.json();l.value=U.task}catch(P){u.value=P instanceof Error?P.message:"Failed to load task",l.value=null}finally{c.value=!1}},ee=J=>{if(!J)return"";const P=new Date(J);return Number.isNaN(P.getTime())?"":P.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1})},X=J=>{try{return JSON.stringify(J,null,2)}catch{return String(J)}},$=J=>{if(J.status==="success")return"text-emerald-300";if(J.status==="error")return"text-red-300";if(J.status==="pending")return"text-accent";switch(J.kind){case"message":return"text-txt-primary";case"reasoning":return"text-purple-300";case"tool":return"text-blue-300";case"outcome":return"text-amber-300";default:return"text-txt-secondary"}},R=J=>{if(p.value)return;const P=new Set(m.value);P.has(J)?P.delete(J):P.add(J),m.value=P},v=async(J,P={})=>{P.initial&&(f.value=!0);try{const U=await ke(`/api/tasks/${encodeURIComponent(J)}/activity`);if(!U.ok)return;const Q=await U.json();d.value=Q.activity??[]}catch{}finally{P.initial&&(f.value=!1)}},S=J=>{E||(E=setTimeout(()=>{E=null,o.value===J&&v(J)},250))},H=async J=>{ie(),v(J,{initial:!0});try{T=new EventSource(await ci(`/api/tasks/${encodeURIComponent(J)}/events`)),T.onmessage=()=>{S(J)},T.onerror=()=>{}}catch{T=null}},ie=()=>{T&&(T.close(),T=null),E&&(clearTimeout(E),E=null)},ge=J=>{o.value=J,l.value=null,d.value=[],m.value=new Set,ne(J),H(J)},we=()=>{o.value=null,l.value=null,u.value=null,d.value=[],m.value=new Set,ie()},Te=J=>{J.key==="Escape"&&o.value&&we()};return yt(o,J=>{J?document.addEventListener("keydown",Te):document.removeEventListener("keydown",Te)}),it(()=>{W(),w=setInterval(W,5e3)}),yt(()=>{var J;return(J=l.value)==null?void 0:J.status},J=>{J&&J!=="running"&&(o.value&&v(o.value),ie())}),fn(()=>{w&&clearInterval(w),document.removeEventListener("keydown",Te),ie()}),(J,P)=>(g(),b("div",ax,[h("div",ox,[h("div",lx,[h("div",cx,[P[2]||(P[2]=h("div",null,[h("h2",{class:"text-xl font-bold text-txt-primary tracking-tight"},"Activity"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Monitor agents and recent tasks")],-1)),h("button",{onClick:W,disabled:r.value,class:"px-3.5 py-2 rounded-lg text-sm font-medium transition-all duration-150 bg-accent/15 text-accent border border-accent/25 hover:bg-accent/25 hover:border-accent/40 disabled:opacity-30 disabled:cursor-not-allowed"},C(r.value?"Refreshing…":"Refresh"),9,ux)]),i.value?(g(),b("div",dx,[P[3]||(P[3]=h("span",null,"⚠",-1)),de(" "+C(i.value),1)])):q("",!0),h("section",hx,[P[7]||(P[7]=h("h3",{class:"text-xs font-semibold text-txt-secondary uppercase tracking-wider mb-3"},"Active Agents",-1)),r.value&&s.value.length===0?(g(),b("div",fx,[...P[4]||(P[4]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading agents… ")],-1)])])):s.value.length===0?(g(),b("div",px," No active agents ")):(g(),b("div",gx,[(g(!0),b(Ee,null,Me(s.value,U=>(g(),b("div",{key:U.slug+(U.characterName||""),class:he(["group bg-surface-2/40 border rounded-xl p-4 transition-all duration-200",U.status==="working"?"border-accent/20 hover:border-accent/35":"border-edge hover:border-edge-bright"])},[h("div",mx,[h("div",bx,[h("div",{class:he(["w-9 h-9 rounded-xl flex items-center justify-center shrink-0 text-xs font-bold",U.status==="working"?"bg-accent/15 text-accent border border-accent/25":U.status==="error"?"bg-red-500/15 text-red-400 border border-red-500/25":"bg-emerald-500/10 text-emerald-400 border border-emerald-500/20"])},C((U.name??"?").charAt(0).toUpperCase()),3),h("div",vx,[h("h3",yx,C(U.name),1),h("div",_x,[h("span",xx,C(U.slug),1),U.roleTitle?(g(),b("span",wx,C(U.roleTitle),1)):q("",!0),U.universe?(g(),b("span",kx," 🎬 "+C(U.universe),1)):q("",!0),U.model&&U.status==="working"?(g(),b("span",{key:2,class:"text-[10px] text-emerald-300 bg-emerald-500/10 px-1.5 py-0.5 rounded border border-emerald-500/20",title:`Model: ${U.model}`}," 🧠 "+C(U.model),9,Ex)):q("",!0)])])]),h("span",{class:he(["flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium shrink-0",U.status==="working"?"bg-accent/10 text-accent border border-accent/20":U.status==="error"?"bg-red-500/10 text-red-400 border border-red-500/20":"bg-emerald-500/10 text-emerald-400 border border-emerald-500/20"])},[h("span",{class:he(["w-1.5 h-1.5 rounded-full",U.status==="working"?"bg-accent animate-pulse":U.status==="error"?"bg-red-400":"bg-emerald-400"])},null,2),de(" "+C(U.status==="working"?"Working":U.status==="error"?"Error":"Idle"),1)],2)]),U.currentTask?(g(),b("div",Sx,[P[5]||(P[5]=h("p",{class:"text-[10px] text-txt-muted uppercase tracking-wider mb-1"},"Current Task",-1)),h("p",Tx,C(U.currentTask),1)])):q("",!0),h("div",Ax,[h("div",Rx," Last updated: "+C(x(new Date)),1),U.status==="working"&&U.currentTaskId?(g(),b("button",{key:0,type:"button",onClick:Q=>O(U.currentTaskId),disabled:a.value.has(U.currentTaskId),class:"text-[10px] font-medium px-2.5 py-1 rounded-md bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 disabled:opacity-40 transition-all duration-150 flex items-center gap-1",title:"Stop task"},[P[6]||(P[6]=h("span",{class:"w-2 h-2 rounded-[2px] bg-red-400"},null,-1)),de(" "+C(a.value.has(U.currentTaskId)?"Stopping…":"Stop"),1)],8,Cx)):q("",!0)])],2))),128))]))]),h("section",null,[P[10]||(P[10]=h("h3",{class:"text-xs font-semibold text-txt-secondary uppercase tracking-wider mb-3"},"Recent Activity",-1)),r.value&&n.value.length===0?(g(),b("div",Ox,[...P[8]||(P[8]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading activity… ")],-1)])])):n.value.length===0?(g(),b("div",$x," No recent activity yet ")):(g(),b("div",Nx,[P[9]||(P[9]=h("div",{class:"absolute left-[15px] top-0 bottom-0 w-px bg-gradient-to-b from-accent/30 via-edge to-transparent"},null,-1)),h("div",Ix,[(g(!0),b(Ee,null,Me(n.value,U=>(g(),b("button",{key:U.task_id,type:"button",onClick:Q=>ge(U.task_id),class:"w-full text-left relative pl-10 pr-4 py-3 rounded-lg hover:bg-surface-2/40 transition-all duration-150 group"},[h("div",{class:he(["absolute left-[11px] top-4 w-[9px] h-[9px] rounded-full border-2 z-10",U.status==="running"?"bg-accent border-accent shadow-glow-sm":U.status==="done"?"bg-emerald-400 border-emerald-400":U.status==="failed"?"bg-red-400 border-red-400":U.status==="cancelled"?"bg-amber-400 border-amber-400":"bg-surface-3 border-edge"])},null,2),h("div",Lx,[h("div",Mx,[h("div",jx,[h("span",Dx,C(U.agent_slug),1),U.origin_channel?(g(),b("span",Ux,"via "+C(U.origin_channel),1)):q("",!0)]),h("p",Bx,C(U.description),1),h("p",Hx,[de(C(A(U.started_at))+" ",1),U.completed_at?(g(),b("span",Fx," · "+C(A(U.completed_at)),1)):q("",!0)])]),h("span",{class:he(["flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium shrink-0",L(U.status)])},[U.status==="running"?(g(),b("span",Vx)):q("",!0),de(" "+C(U.status),1)],2)])],8,Px))),128))])]))])])]),o.value?(g(),b("div",{key:0,class:"fixed inset-0 bg-black/60 backdrop-blur-sm flex items-center justify-center p-4 z-50",onClick:Ge(we,["self"])},[h("div",qx,[h("div",{class:"flex justify-between items-center px-5 py-3.5 border-b border-edge"},[P[11]||(P[11]=h("h3",{class:"text-sm font-semibold text-txt-primary"},"Task Details",-1)),h("button",{type:"button",onClick:we,class:"text-txt-muted hover:text-txt-primary text-lg leading-none transition-colors p-1","aria-label":"Close"},"×")]),h("div",zx,[c.value?(g(),b("div",Kx,[...P[12]||(P[12]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading task… ")],-1)])])):u.value?(g(),b("div",Wx,C(u.value),1)):l.value?(g(),b(Ee,{key:2},[h("div",Gx,[h("div",null,[P[13]||(P[13]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Agent",-1)),h("p",Zx,C(l.value.agent_slug),1)]),h("span",{class:he(["flex items-center gap-1 px-2 py-0.5 rounded-md text-[10px] font-medium",L(l.value.status)])},[l.value.status==="running"?(g(),b("span",Jx)):q("",!0),de(" "+C(l.value.status),1)],2)]),h("div",null,[P[14]||(P[14]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Task ID",-1)),h("p",Yx,C(l.value.task_id),1)]),l.value.origin_channel?(g(),b("div",Xx,[P[15]||(P[15]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Origin",-1)),h("p",Qx,C(l.value.origin_channel),1)])):q("",!0),h("div",ew,[h("div",null,[P[16]||(P[16]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Started",-1)),h("p",tw,C(A(l.value.started_at)),1)]),h("div",null,[P[17]||(P[17]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Completed",-1)),h("p",sw,C(l.value.completed_at?A(l.value.completed_at):"—"),1)])]),D.value?(g(),b("div",nw,[P[18]||(P[18]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Duration",-1)),h("p",rw,C(D.value),1)])):q("",!0),h("div",null,[P[19]||(P[19]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Description",-1)),h("div",{class:"text-sm text-txt-primary bg-surface-0/60 border border-edge rounded-lg p-3 wiki-content",innerHTML:Ie(ls)(l.value.description)},null,8,iw)]),h("div",null,[h("div",aw,[P[21]||(P[21]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted"},"Activity",-1)),h("label",ow,[Be(h("input",{type:"checkbox","onUpdate:modelValue":P[0]||(P[0]=U=>p.value=U),class:"rounded bg-surface-3 border-edge accent-accent"},null,512),[[Yc,p.value]]),P[20]||(P[20]=de(" Show details ",-1))])]),f.value&&d.value.length===0?(g(),b("div",lw,"Loading activity…")):d.value.length===0?(g(),b("div",cw,"No activity yet")):(g(),b("ul",uw,[(g(!0),b(Ee,null,Me(_.value,(U,Q)=>(g(),b("li",{key:`${U.ts}-${Q}-${U.rawType}`,class:"px-3 py-2 text-sm hover:bg-surface-2/40 cursor-pointer transition-colors",onClick:M=>R(Q)},[h("div",{class:he(["flex items-start gap-2",$(U)])},[h("span",hw,C(U.icon),1),h("span",fw,C(U.summary),1),h("span",pw,C(ee(U.ts)),1)],2),p.value||m.value.has(Q)?(g(),b("div",gw,[U.detail?(g(),b("pre",mw,C(U.detail),1)):q("",!0),h("pre",bw,C(X(U.raw)),1),h("p",vw,C(U.rawType),1)])):q("",!0)],8,dw))),128))]))]),h("div",null,[P[22]||(P[22]=h("p",{class:"text-[10px] uppercase tracking-widest text-txt-muted mb-0.5"},"Result",-1)),l.value.result?(g(),b("div",{key:0,class:"text-sm text-txt-primary bg-surface-0/60 border border-edge rounded-lg p-3 wiki-content max-h-96 overflow-y-auto",innerHTML:Ie(ls)(l.value.result)},null,8,yw)):(g(),b("p",_w,"No result yet"))])],64)):q("",!0)]),h("div",xw,[l.value&&l.value.status==="running"?(g(),b("button",{key:0,type:"button",onClick:P[1]||(P[1]=U=>O(l.value.task_id)),disabled:a.value.has(l.value.task_id),class:"text-xs font-medium px-3 py-1.5 rounded-lg bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 disabled:opacity-40 transition-all duration-150"},C(a.value.has(l.value.task_id)?"Stopping…":"Stop Task"),9,ww)):(g(),b("span",kw)),h("button",{type:"button",onClick:we,class:"bg-surface-3/50 hover:bg-surface-3/70 text-txt-secondary text-sm px-4 py-1.5 rounded-lg border border-edge transition-all duration-150"}," Close ")])])])):q("",!0)]))}}),Sw={class:"flex flex-col h-full"},Tw={class:"flex-1 overflow-y-auto p-3 sm:p-6"},Aw={class:"flex justify-between items-center mb-6"},Rw=["disabled"],Cw={key:0,class:"flex items-center justify-center py-16"},Ow={key:1,class:"bg-red-500/10 border border-red-500/20 text-red-400 p-4 rounded-xl mb-4 text-sm"},$w={open:"",class:"mb-8 group/section"},Nw={class:"cursor-pointer select-none flex items-center gap-3 text-sm font-semibold text-txt-primary mb-4 py-2"},Iw={class:"text-[10px] font-mono text-txt-muted bg-surface-2 px-2 py-0.5 rounded-full border border-edge"},Pw={key:0,class:"flex flex-col items-center py-8"},Lw={class:"w-10 h-10 rounded-xl bg-surface-2 border border-edge flex items-center justify-center mb-3"},Mw={key:1,class:"grid gap-3"},jw={class:"flex flex-wrap items-start gap-3"},Dw={class:"flex-1 min-w-0"},Uw={class:"flex flex-wrap items-center gap-2 mb-1.5"},Bw={class:"font-semibold text-txt-primary break-words min-w-0"},Hw={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 animate-pulse"},Fw={class:"flex flex-wrap items-center gap-3 text-xs text-txt-muted mt-1"},Vw={class:"font-mono text-accent/80 bg-surface-0/60 px-2 py-0.5 rounded-lg border border-edge/50 break-all"},qw={key:0,class:"flex items-center gap-1 shrink-0"},zw={key:1,class:"flex items-center gap-1 shrink-0"},Kw={key:0,class:"text-xs text-txt-muted mt-1.5 break-words"},Ww={class:"flex flex-wrap items-center gap-1.5"},Gw=["onClick","disabled"],Zw=["onClick","disabled"],Jw=["onClick","disabled"],Yw=["onClick"],Xw=["onClick","disabled"],Qw={key:0,class:"mt-3"},e5=["onClick"],t5={key:1,class:"mt-4 pt-4 border-t border-edge/50"},s5={class:"text-[10px] font-semibold text-txt-muted uppercase tracking-widest mb-3"},n5={key:0,class:"flex items-center gap-2 text-txt-muted text-xs py-2 justify-center"},r5={key:1,class:"text-txt-muted text-xs py-2 text-center"},i5={key:2,class:"space-y-1.5"},a5={class:"flex-1 min-w-0"},o5={class:"flex flex-wrap items-center gap-2"},l5={class:"text-txt-secondary"},c5={key:0,class:"text-txt-muted mt-0.5"},u5={key:1,class:"text-red-400 mt-1 break-words bg-red-500/5 rounded px-2 py-1 border border-red-500/10"},d5={open:"",class:"group/section"},h5={class:"cursor-pointer select-none flex items-center gap-3 text-sm font-semibold text-txt-primary mb-4 py-2"},f5={class:"text-[10px] font-mono text-txt-muted bg-surface-2 px-2 py-0.5 rounded-full border border-edge"},p5={key:0,class:"flex flex-col items-center py-8"},g5={class:"w-10 h-10 rounded-xl bg-surface-2 border border-edge flex items-center justify-center mb-3"},m5={key:1,class:"grid gap-3"},b5={class:"flex flex-wrap items-start gap-3"},v5={class:"flex-1 min-w-0"},y5={class:"flex flex-wrap items-center gap-2 mb-1.5"},_5={class:"font-semibold text-txt-primary break-words min-w-0"},x5={class:"text-[10px] font-mono text-accent/60 bg-accent/5 px-2 py-0.5 rounded-full border border-accent/10 shrink-0"},w5={key:0,class:"w-1.5 h-1.5 rounded-full bg-emerald-400 animate-pulse"},k5={class:"flex flex-wrap items-center gap-3 text-xs text-txt-muted mt-1"},E5={class:"font-mono text-accent/80 bg-surface-0/60 px-2 py-0.5 rounded-lg border border-edge/50 break-all"},S5={key:0,class:"flex items-center gap-1 shrink-0"},T5={key:1,class:"flex items-center gap-1 shrink-0"},A5={key:0,class:"text-xs text-txt-muted mt-1.5 break-words"},R5={class:"flex flex-wrap items-center gap-1.5"},C5=["onClick","disabled"],O5=["onClick","disabled"],$5=["onClick","disabled"],N5=["onClick"],I5=["onClick","disabled"],P5={key:0,class:"mt-3"},L5=["onClick"],M5={key:1,class:"mt-4 pt-4 border-t border-edge/50"},j5={class:"text-[10px] font-semibold text-txt-muted uppercase tracking-widest mb-3"},D5={key:0,class:"flex items-center gap-2 text-txt-muted text-xs py-2 justify-center"},U5={key:1,class:"text-txt-muted text-xs py-2 text-center"},B5={key:2,class:"space-y-1.5"},H5={class:"flex-1 min-w-0"},F5={class:"flex flex-wrap items-center gap-2"},V5={class:"text-txt-secondary"},q5={key:0,class:"text-txt-muted mt-0.5"},z5={key:1,class:"text-red-400 mt-1 break-words bg-red-500/5 rounded px-2 py-1 border border-red-500/10"},K5=Je({__name:"SchedulesView",setup(e){const t=B([]),s=B([]),n=B(!0),r=B(null),i=B(new Set),a=B(new Map),o=B(new Map),l=B(new Set),c=B(new Set);function u(L){const D=L.includes("T")||L.endsWith("Z")?L:L.replace(" ","T")+"Z";return new Date(D).toLocaleString()}function d(L){return L==="done"?"bg-emerald-400":L==="failed"?"bg-red-400":"bg-accent animate-pulse"}function f(L){return L==="done"?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":L==="failed"?"bg-red-500/10 text-red-400 border-red-500/20":"bg-accent/10 text-accent border-accent/20"}function p(L,D){const O=`${L}-${D}`,I=new Set(c.value);I.has(O)?I.delete(O):I.add(O),c.value=I}async function m(L,D){const O=`${L}-${D}`,I=a.value.get(O)??!1,j=new Map(a.value);if(j.set(O,!I),a.value=j,!I&&!o.value.has(O)){const W=new Set(l.value);W.add(O),l.value=W;try{const ne=await ke(`/api/schedules/${L}/${D}/runs?limit=25`);if(ne.ok){const ee=await ne.json(),X=new Map(o.value);X.set(O,ee.runs??[]),o.value=X}}catch{}finally{const ne=new Set(l.value);ne.delete(O),l.value=ne}}}async function _(){n.value=!0,r.value=null,o.value=new Map;try{const L=await ke("/api/schedules");if(!L.ok)throw new Error(`HTTP ${L.status}`);const D=await L.json();t.value=D.io,s.value=D.squads}catch(L){r.value=L instanceof Error?L.message:"Failed to load schedules"}finally{n.value=!1}}async function T(L,D){if(!i.value.has(L)){i.value=new Set(i.value).add(L);try{await D(),await _()}catch(O){r.value=O instanceof Error?O.message:"Action failed"}finally{const O=new Set(i.value);O.delete(L),i.value=O}}}async function E(L,D){await T(`${L}-${D}`,async()=>{const O=await ke(`/api/schedules/${L}/${D}/pause`,{method:"POST"});if(!O.ok)throw new Error(`HTTP ${O.status}`)})}async function w(L,D){await T(`${L}-${D}`,async()=>{const O=await ke(`/api/schedules/${L}/${D}/resume`,{method:"POST"});if(!O.ok)throw new Error(`HTTP ${O.status}`)})}async function x(L,D){await T(`${L}-${D}`,async()=>{const O=await ke(`/api/schedules/${L}/${D}/run-now`,{method:"POST"});if(!O.ok)throw new Error(`HTTP ${O.status}`)})}async function A(L,D,O){window.confirm(`Delete schedule '${O}'?`)&&await T(`${L}-${D}`,async()=>{const I=await ke(`/api/schedules/${L}/${D}`,{method:"DELETE"});if(!I.ok)throw new Error(`HTTP ${I.status}`)})}return it(_),(L,D)=>(g(),b("div",Sw,[h("div",Tw,[h("div",Aw,[D[1]||(D[1]=h("div",null,[h("h2",{class:"text-xl font-semibold text-txt-primary tracking-tight"},"Schedules"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Automated tasks & cron jobs")],-1)),h("button",{onClick:_,disabled:n.value,class:"flex items-center gap-1.5 bg-surface-2/60 hover:bg-surface-3/60 disabled:opacity-50 text-txt-secondary hover:text-txt-primary border border-edge hover:border-edge-bright px-3.5 py-2 rounded-xl text-sm transition-all duration-200"},[fe(Ae,{paths:'<path d="M11.41 3.64a.5.5 0 0 0 0-.71L9.3.8a.5.5 0 0 0-.7.7l1 1a7.5 7.5 0 0 0-4.08 13.5.5.5 0 0 0 .6-.8A6.5 6.5 0 0 1 10.14 3.5L8.59 5.04a.5.5 0 0 0 .7.7l2.12-2.11ZM8.6 16.36a.5.5 0 0 0 0 .71l2.12 2.12a.5.5 0 0 0 .7-.7l-1-1a7.5 7.5 0 0 0 4.07-13.5.5.5 0 1 0-.59.8A6.5 6.5 0 0 1 9.86 16.5l1.55-1.55a.5.5 0 1 0-.7-.7l-2.12 2.11Z"/>',class:"w-3.5 h-3.5"}),D[0]||(D[0]=de(" Refresh ",-1))],8,Rw)]),n.value?(g(),b("div",Cw,[...D[2]||(D[2]=[h("div",{class:"flex items-center gap-3 text-txt-muted text-sm"},[h("div",{class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"}),de(" Loading schedules… ")],-1)])])):r.value?(g(),b("div",Ow,C(r.value),1)):(g(),b(Ee,{key:2},[h("details",$w,[h("summary",Nw,[fe(Ae,{paths:'<path d="M7.65 4.15c.2-.2.5-.2.7 0l5.49 5.46c.21.22.21.57 0 .78l-5.49 5.46a.5.5 0 0 1-.7-.7L12.8 10 7.65 4.85a.5.5 0 0 1 0-.7Z"/>',size:16,class:"text-accent transition-transform group-open/section:rotate-90"}),D[3]||(D[3]=h("span",{class:"tracking-wide uppercase text-xs text-txt-secondary"},"IO Schedules",-1)),h("span",Iw,C(t.value.length),1),D[4]||(D[4]=h("div",{class:"flex-1 h-px bg-gradient-to-r from-edge to-transparent"},null,-1))]),t.value.length===0?(g(),b("div",Pw,[h("div",Lw,[fe(Ae,{paths:'<path d="M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-.5 2a.5.5 0 0 1 .5.41V10h2.5a.5.5 0 0 1 .09 1H9.5a.5.5 0 0 1-.5-.41V5.5c0-.28.22-.5.5-.5Z"/>',size:20,class:"text-txt-muted"})]),D[5]||(D[5]=h("p",{class:"text-txt-muted text-sm"},"No IO schedules configured",-1))])):(g(),b("div",Mw,[(g(!0),b(Ee,null,Me(t.value,O=>(g(),b("div",{key:O.id,class:"bg-surface-2/50 border border-edge rounded-xl p-4 hover:border-edge-bright hover:shadow-card transition-all duration-200 overflow-hidden"},[h("div",jw,[h("div",Dw,[h("div",Uw,[h("span",Bw,C(O.name),1),h("span",{class:he(["inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium tracking-wide uppercase border shrink-0",O.enabled?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-surface-3/60 text-txt-muted border-edge"])},[O.enabled?(g(),b("span",Hw)):q("",!0),de(" "+C(O.enabled?"Active":"Paused"),1)],2)]),h("div",Fw,[h("code",Vw,C(O.cron_expr),1),O.next_run_at?(g(),b("span",qw,[fe(Ae,{paths:'<path d="M17.22 8.69a1.5 1.5 0 0 1 0 2.62l-10 5.5A1.5 1.5 0 0 1 5 15.5v-11A1.5 1.5 0 0 1 7.22 3.2l10 5.5Zm-.48 1.75a.5.5 0 0 0 0-.88l-10-5.5A.5.5 0 0 0 6 4.5v11c0 .38.4.62.74.44l10-5.5Z"/>',size:12}),de(" "+C(u(O.next_run_at)),1)])):q("",!0),O.last_run_at?(g(),b("span",zw,[fe(Ae,{paths:'<path d="M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-.5 2a.5.5 0 0 1 .5.41V10h2.5a.5.5 0 0 1 .09 1H9.5a.5.5 0 0 1-.5-.41V5.5c0-.28.22-.5.5-.5Z"/>',size:12}),de(" "+C(u(O.last_run_at)),1)])):q("",!0)]),O.notes?(g(),b("p",Kw,C(O.notes),1)):q("",!0)]),h("div",Ww,[O.enabled?(g(),b("button",{key:0,onClick:I=>E("io",O.id),disabled:i.value.has(`io-${O.id}`),class:"text-txt-secondary hover:text-txt-primary disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-surface-3/40 hover:bg-surface-3 border border-edge/50 hover:border-edge transition-all duration-200",title:"Pause"},"⏸ Pause",8,Gw)):(g(),b("button",{key:1,onClick:I=>w("io",O.id),disabled:i.value.has(`io-${O.id}`),class:"text-txt-secondary hover:text-txt-primary disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-surface-3/40 hover:bg-surface-3 border border-edge/50 hover:border-edge transition-all duration-200",title:"Resume"},"▶ Resume",8,Zw)),h("button",{onClick:I=>x("io",O.id),disabled:i.value.has(`io-${O.id}`),class:"text-accent hover:text-white disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-accent/10 hover:bg-accent/20 border border-accent/20 hover:border-accent/40 transition-all duration-200",title:"Run now"},"▶ Run now",8,Jw),h("button",{onClick:I=>m("io",O.id),class:he(["text-xs px-2.5 py-1.5 rounded-lg border transition-all duration-200",a.value.get(`io-${O.id}`)?"bg-accent/10 text-accent border-accent/20":"bg-surface-3/40 hover:bg-surface-3 text-txt-secondary hover:text-txt-primary border-edge/50 hover:border-edge"]),title:"Toggle run history"},"📋 History",10,Yw),h("button",{onClick:I=>A("io",O.id,O.name),disabled:i.value.has(`io-${O.id}`),class:"text-red-400/70 hover:text-red-400 disabled:opacity-50 text-xs px-2 py-1.5 rounded-lg hover:bg-red-500/10 border border-transparent hover:border-red-500/20 transition-all duration-200",title:"Delete"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14})],8,Xw)])]),O.prompt?(g(),b("div",Qw,[h("p",{class:he(["text-xs text-txt-muted break-words",c.value.has(`io-${O.id}`)?"":"line-clamp-2"])},C(O.prompt),3),O.prompt.length>120?(g(),b("button",{key:0,onClick:I=>p("io",O.id),class:"text-[10px] text-accent/70 hover:text-accent mt-1 transition-colors"},C(c.value.has(`io-${O.id}`)?"Show less ▲":"Show more ▼"),9,e5)):q("",!0)])):q("",!0),a.value.get(`io-${O.id}`)?(g(),b("div",t5,[h("h4",s5," Run history — "+C(O.name),1),l.value.has(`io-${O.id}`)?(g(),b("div",n5,[...D[6]||(D[6]=[h("div",{class:"w-1 h-1 rounded-full bg-accent animate-pulse"},null,-1),de(" Loading… ",-1)])])):!o.value.get(`io-${O.id}`)||o.value.get(`io-${O.id}`).length===0?(g(),b("div",r5," No history yet ")):(g(),b("ul",i5,[(g(!0),b(Ee,null,Me(o.value.get(`io-${O.id}`),I=>(g(),b("li",{key:I.id,class:"flex items-start gap-2.5 text-xs bg-surface-0/50 rounded-lg p-2.5 border border-edge/30"},[h("span",{class:he(["w-2 h-2 rounded-full mt-1 shrink-0",d(I.status)])},null,2),h("div",a5,[h("div",o5,[h("span",l5,C(u(I.started_at)),1),h("span",{class:he(["px-1.5 py-0.5 rounded-full text-[10px] font-medium tracking-wide uppercase border shrink-0",f(I.status)])},C(I.status),3)]),I.completed_at?(g(),b("div",c5," Completed: "+C(u(I.completed_at)),1)):q("",!0),I.error_text?(g(),b("div",u5,C(I.error_text),1)):q("",!0)])]))),128))]))])):q("",!0)]))),128))]))]),h("details",d5,[h("summary",h5,[fe(Ae,{paths:'<path d="M7.65 4.15c.2-.2.5-.2.7 0l5.49 5.46c.21.22.21.57 0 .78l-5.49 5.46a.5.5 0 0 1-.7-.7L12.8 10 7.65 4.85a.5.5 0 0 1 0-.7Z"/>',size:16,class:"text-accent transition-transform group-open/section:rotate-90"}),D[7]||(D[7]=h("span",{class:"tracking-wide uppercase text-xs text-txt-secondary"},"Squad Schedules",-1)),h("span",f5,C(s.value.length),1),D[8]||(D[8]=h("div",{class:"flex-1 h-px bg-gradient-to-r from-edge to-transparent"},null,-1))]),s.value.length===0?(g(),b("div",p5,[h("div",g5,[fe(Ae,{paths:'<path d="M10 3a1.5 1.5 0 1 0 0 3 1.5 1.5 0 0 0 0-3ZM7.5 4.5a2.5 2.5 0 1 1 5 0 2.5 2.5 0 0 1-5 0Zm8-.5a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-2 1a2 2 0 1 1 4 0 2 2 0 0 1-4 0Zm-10 0a1 1 0 1 1 2 0 1 1 0 0 1-2 0Zm1-2a2 2 0 1 0 0 4 2 2 0 0 0 0-4Zm.6 12H5a2 2 0 0 1-2-2V9.25c0-.14.11-.25.25-.25h1.76c.04-.37.17-.7.37-1H3.25C2.56 8 2 8.56 2 9.25V13a3 3 0 0 0 3.4 2.97 4.96 4.96 0 0 1-.3-.97Zm9.5.97A3 3 0 0 0 18 13V9.25C18 8.56 17.44 8 16.75 8h-2.13c.2.3.33.63.37 1h1.76c.14 0 .25.11.25.25V13a2 2 0 0 1-2.1 2c-.07.34-.17.66-.3.97ZM7.25 8C6.56 8 6 8.56 6 9.25V14a4 4 0 0 0 8 0V9.25C14 8.56 13.44 8 12.75 8h-5.5ZM7 9.25c0-.14.11-.25.25-.25h5.5c.14 0 .25.11.25.25V14a3 3 0 1 1-6 0V9.25Z"/>',size:20,class:"text-txt-muted"})]),D[9]||(D[9]=h("p",{class:"text-txt-muted text-sm"},"No squad schedules configured",-1))])):(g(),b("div",m5,[(g(!0),b(Ee,null,Me(s.value,O=>(g(),b("div",{key:O.id,class:"bg-surface-2/50 border border-edge rounded-xl p-4 hover:border-edge-bright hover:shadow-card transition-all duration-200 overflow-hidden"},[h("div",b5,[h("div",v5,[h("div",y5,[h("span",_5,C(O.name),1),h("span",x5,C(O.squad_slug),1),h("span",{class:he(["inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[10px] font-medium tracking-wide uppercase border shrink-0",O.enabled?"bg-emerald-500/10 text-emerald-400 border-emerald-500/20":"bg-surface-3/60 text-txt-muted border-edge"])},[O.enabled?(g(),b("span",w5)):q("",!0),de(" "+C(O.enabled?"Active":"Paused"),1)],2)]),h("div",k5,[h("code",E5,C(O.cron_expr),1),O.next_run_at?(g(),b("span",S5,[fe(Ae,{paths:'<path d="M17.22 8.69a1.5 1.5 0 0 1 0 2.62l-10 5.5A1.5 1.5 0 0 1 5 15.5v-11A1.5 1.5 0 0 1 7.22 3.2l10 5.5Zm-.48 1.75a.5.5 0 0 0 0-.88l-10-5.5A.5.5 0 0 0 6 4.5v11c0 .38.4.62.74.44l10-5.5Z"/>',size:12}),de(" "+C(u(O.next_run_at)),1)])):q("",!0),O.last_run_at?(g(),b("span",T5,[fe(Ae,{paths:'<path d="M10 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16Zm0 1a7 7 0 1 0 0 14 7 7 0 0 0 0-14Zm-.5 2a.5.5 0 0 1 .5.41V10h2.5a.5.5 0 0 1 .09 1H9.5a.5.5 0 0 1-.5-.41V5.5c0-.28.22-.5.5-.5Z"/>',size:12}),de(" "+C(u(O.last_run_at)),1)])):q("",!0)]),O.notes?(g(),b("p",A5,C(O.notes),1)):q("",!0)]),h("div",R5,[O.enabled?(g(),b("button",{key:0,onClick:I=>E("squads",O.id),disabled:i.value.has(`squads-${O.id}`),class:"text-txt-secondary hover:text-txt-primary disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-surface-3/40 hover:bg-surface-3 border border-edge/50 hover:border-edge transition-all duration-200",title:"Pause"},"⏸ Pause",8,C5)):(g(),b("button",{key:1,onClick:I=>w("squads",O.id),disabled:i.value.has(`squads-${O.id}`),class:"text-txt-secondary hover:text-txt-primary disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-surface-3/40 hover:bg-surface-3 border border-edge/50 hover:border-edge transition-all duration-200",title:"Resume"},"▶ Resume",8,O5)),h("button",{onClick:I=>x("squads",O.id),disabled:i.value.has(`squads-${O.id}`),class:"text-accent hover:text-white disabled:opacity-50 text-xs px-2.5 py-1.5 rounded-lg bg-accent/10 hover:bg-accent/20 border border-accent/20 hover:border-accent/40 transition-all duration-200",title:"Run now"},"▶ Run now",8,$5),h("button",{onClick:I=>m("squads",O.id),class:he(["text-xs px-2.5 py-1.5 rounded-lg border transition-all duration-200",a.value.get(`squads-${O.id}`)?"bg-accent/10 text-accent border-accent/20":"bg-surface-3/40 hover:bg-surface-3 text-txt-secondary hover:text-txt-primary border-edge/50 hover:border-edge"]),title:"Toggle run history"},"📋 History",10,N5),h("button",{onClick:I=>A("squads",O.id,O.name),disabled:i.value.has(`squads-${O.id}`),class:"text-red-400/70 hover:text-red-400 disabled:opacity-50 text-xs px-2 py-1.5 rounded-lg hover:bg-red-500/10 border border-transparent hover:border-red-500/20 transition-all duration-200",title:"Delete"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14})],8,I5)])]),O.prompt?(g(),b("div",P5,[h("p",{class:he(["text-xs text-txt-muted break-words",c.value.has(`squads-${O.id}`)?"":"line-clamp-2"])},C(O.prompt),3),O.prompt.length>120?(g(),b("button",{key:0,onClick:I=>p("squads",O.id),class:"text-[10px] text-accent/70 hover:text-accent mt-1 transition-colors"},C(c.value.has(`squads-${O.id}`)?"Show less ▲":"Show more ▼"),9,L5)):q("",!0)])):q("",!0),a.value.get(`squads-${O.id}`)?(g(),b("div",M5,[h("h4",j5," Run history — "+C(O.name),1),l.value.has(`squads-${O.id}`)?(g(),b("div",D5,[...D[10]||(D[10]=[h("div",{class:"w-1 h-1 rounded-full bg-accent animate-pulse"},null,-1),de(" Loading… ",-1)])])):!o.value.get(`squads-${O.id}`)||o.value.get(`squads-${O.id}`).length===0?(g(),b("div",U5," No history yet ")):(g(),b("ul",B5,[(g(!0),b(Ee,null,Me(o.value.get(`squads-${O.id}`),I=>(g(),b("li",{key:I.id,class:"flex items-start gap-2.5 text-xs bg-surface-0/50 rounded-lg p-2.5 border border-edge/30"},[h("span",{class:he(["w-2 h-2 rounded-full mt-1 shrink-0",d(I.status)])},null,2),h("div",H5,[h("div",F5,[h("span",V5,C(u(I.started_at)),1),h("span",{class:he(["px-1.5 py-0.5 rounded-full text-[10px] font-medium tracking-wide uppercase border shrink-0",f(I.status)])},C(I.status),3)]),I.completed_at?(g(),b("div",q5," Completed: "+C(u(I.completed_at)),1)):q("",!0),I.error_text?(g(),b("div",z5,C(I.error_text),1)):q("",!0)])]))),128))]))])):q("",!0)]))),128))]))])],64))])]))}}),W5={class:"relative flex flex-col h-full p-3 sm:p-6"},G5={class:"flex justify-between items-start mb-4"},Z5={class:"flex items-center gap-2 flex-wrap justify-end"},J5={class:"relative mb-3"},Y5={class:"absolute left-3 top-1/2 -translate-y-1/2 pointer-events-none text-txt-muted"},X5={class:"flex gap-1.5 mb-4"},Q5={key:0,class:"flex-1 flex items-center justify-center"},ek={key:1,class:"flex-1 flex flex-col items-center justify-center"},tk={class:"w-14 h-14 rounded-xl bg-surface-2 border border-edge flex items-center justify-center mb-4"},sk=["onClick"],nk=["onClick"],rk={class:"mt-0.5 shrink-0"},ik={key:1,class:"mt-2 w-1.5 h-1.5 rounded-full bg-accent shadow-glow-sm shrink-0"},ak={key:2,class:"mt-2 w-1.5 h-1.5 rounded-full bg-edge shrink-0"},ok={class:"flex-1 min-w-0"},lk={class:"flex items-center gap-2 mb-0.5"},ck={class:"text-sm font-semibold text-txt-primary truncate leading-snug"},uk={key:0,class:"text-[10px] font-mono tracking-wider uppercase text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},dk={class:"text-[10px] text-txt-muted mb-1"},hk={key:0,class:"flex flex-wrap items-center gap-1 mb-1"},fk={key:0,class:"text-[10px] font-mono text-accent/80 bg-accent/10 px-1.5 py-0.5 rounded border border-accent/20 shrink-0"},pk={key:1,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},gk={key:2,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},mk={key:1,class:"text-xs text-txt-secondary line-clamp-2 leading-relaxed"},bk={key:3,class:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},vk=["onClick"],yk=["onClick","disabled"],_k={key:0,class:"px-4 pb-4"},xk=["innerHTML"],wk=["onClick"],kk={class:"text-xs font-semibold text-txt-secondary uppercase tracking-wider"},Ek={class:"text-[10px] font-mono text-txt-muted"},Sk={key:0,class:"space-y-2"},Tk=["onClick"],Ak=["onClick"],Rk={class:"mt-0.5 shrink-0"},Ck={key:1,class:"mt-2 w-1.5 h-1.5 rounded-full bg-accent shadow-glow-sm shrink-0"},Ok={key:2,class:"mt-2 w-1.5 h-1.5 rounded-full bg-edge shrink-0"},$k={class:"flex-1 min-w-0"},Nk={class:"flex items-center gap-2 mb-0.5"},Ik={class:"text-sm font-semibold text-txt-primary truncate leading-snug"},Pk={key:0,class:"text-[10px] font-mono tracking-wider uppercase text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},Lk={class:"text-[10px] text-txt-muted mb-1"},Mk={key:0,class:"flex flex-wrap items-center gap-1 mb-1"},jk={key:0,class:"text-[10px] font-mono text-accent/80 bg-accent/10 px-1.5 py-0.5 rounded border border-accent/20 shrink-0"},Dk={key:1,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},Uk={key:2,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},Bk={key:1,class:"text-xs text-txt-secondary line-clamp-2 leading-relaxed"},Hk={key:3,class:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity duration-200"},Fk=["onClick"],Vk=["onClick","disabled"],qk={key:0,class:"px-4 pb-4"},zk=["innerHTML"],Kk={key:0,class:"absolute bottom-4 left-1/2 -translate-x-1/2 flex items-center gap-3 px-4 py-2.5 rounded-2xl bg-surface-3 border border-edge-bright shadow-card backdrop-blur-sm z-20"},Wk={class:"text-xs font-semibold text-txt-secondary mr-1 whitespace-nowrap"},Gk=["disabled"],Zk=["disabled"],Jk={key:4,class:"mt-3 flex items-center gap-2 text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-xl px-3.5 py-2.5"},Yk=Je({__name:"FeedView",setup(e){const t=B([]),s=B(!0),n=B(new Set),r=B(new Set),i=B(null),a=B("");let o=null;const l=B(!1),c=B(new Set),u=B(!1),d=B(new Set),f=B(!1);function p($){const R=$.match(/^\[([^\]]+)\]/);return R?R[1]:null}const m=Pe(()=>t.value),_=Pe(()=>{const $=new Map;for(const v of m.value){const S=p(v.title)??"__ungrouped__";$.has(S)||$.set(S,[]),$.get(S).push(v)}const R=[];for(const[v,S]of $)R.push({key:v,label:v==="__ungrouped__"?"Ungrouped":v,entries:S});return R.sort((v,S)=>v.key==="__ungrouped__"?1:S.key==="__ungrouped__"?-1:v.key.localeCompare(S.key)),R}),T=Pe(()=>m.value.length>0&&m.value.every($=>d.value.has($.id)));function E($){try{const R=$.includes("T")||$.endsWith("Z")?$:$.replace(" ","T")+"Z";return new Date(R).toLocaleString()}catch{return $}}function w($){return $.replace(/[#*`_~[\]()]/g,"").slice(0,200)}function x($){const R=new Set(n.value);R.has($)?R.delete($):R.add($),n.value=R}function A(){u.value=!u.value,u.value||(d.value=new Set)}function L($){const R=new Set(d.value);R.has($)?R.delete($):R.add($),d.value=R}function D(){T.value?d.value=new Set:d.value=new Set(m.value.map($=>$.id))}function O($){const R=new Set(c.value);R.has($)?R.delete($):R.add($),c.value=R}async function I($){s.value=!0,i.value=null;try{const R=new URLSearchParams({limit:"100",type:"notification"});$&&R.set("search",$);const v=await ke(`/api/feed?${R}`);if(v.ok){const S=await v.json();t.value=S.entries??[]}}catch{}s.value=!1}async function j($){try{await ke(`/api/feed/${$}/read`,{method:"POST"});const R=t.value.find(v=>v.id===$);R&&(R.read_at=new Date().toISOString())}catch{}}async function W(){try{await ke("/api/feed/read-all?type=notification",{method:"POST"});const $=new Date().toISOString();for(const R of t.value)R.read_at||(R.read_at=$)}catch{}}async function ne($){if(!window.confirm("Delete this entry?"))return;const R=new Set(r.value);R.add($),r.value=R;try{const v=await ke(`/api/feed/${$}`,{method:"DELETE"});if(v.ok){t.value=t.value.filter(H=>H.id!==$);const S=new Set(n.value);S.delete($),n.value=S}else i.value=`Failed to delete entry (HTTP ${v.status})`}catch(v){i.value=v instanceof Error?v.message:"Delete failed"}finally{const v=new Set(r.value);v.delete($),r.value=v}}async function ee(){const $=Array.from(d.value);if($.length!==0){f.value=!0;try{const R=await ke("/api/feed/batch-read",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:$})});if(R.ok){const v=new Date().toISOString();for(const S of t.value)$.includes(S.id)&&(S.read_at=S.read_at??v);d.value=new Set}else i.value=`Bulk mark-read failed (HTTP ${R.status})`}catch(R){i.value=R instanceof Error?R.message:"Bulk mark-read failed"}finally{f.value=!1}}}async function X(){const $=Array.from(d.value);if($.length!==0&&window.confirm(`Delete ${$.length} item${$.length===1?"":"s"}?`)){f.value=!0;try{const R=await ke("/api/feed/batch-delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({ids:$})});if(R.ok){t.value=t.value.filter(S=>!$.includes(S.id));const v=new Set(n.value);$.forEach(S=>v.delete(S)),n.value=v,d.value=new Set}else i.value=`Bulk delete failed (HTTP ${R.status})`}catch(R){i.value=R instanceof Error?R.message:"Bulk delete failed"}finally{f.value=!1}}}return yt(a,$=>{o!==null&&clearTimeout(o),o=setTimeout(()=>{I($.trim()||void 0)},300)}),it(()=>I()),($,R)=>(g(),b("div",W5,[h("div",G5,[R[3]||(R[3]=h("div",null,[h("h2",{class:"text-xl font-semibold text-txt-primary tracking-tight"},"Feed"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Messages, results & notifications")],-1)),h("div",Z5,[u.value&&m.value.length>0?(g(),b("button",{key:0,onClick:D,class:"text-xs text-txt-secondary hover:text-txt-primary transition-colors font-medium"},C(T.value?"Deselect all":"Select all"),1)):q("",!0),!u.value&&t.value.length>0?(g(),b("button",{key:1,onClick:W,class:"text-xs text-accent hover:text-accent-glow transition-colors font-medium"}," Mark all read ")):q("",!0),t.value.length>0?(g(),b("button",{key:2,onClick:A,class:he(["text-xs px-2.5 py-1 rounded-lg border transition-all duration-150 font-medium",u.value?"text-accent border-accent/30 bg-accent/10 hover:bg-accent/20":"text-txt-muted border-edge hover:text-txt-secondary hover:border-edge-bright hover:bg-surface-3/40"])},C(u.value?"Cancel":"Select"),3)):q("",!0)])]),h("div",J5,[h("div",Y5,[fe(Ae,{paths:'<path d="M13.74 13.03a7.5 7.5 0 1 0-.71.71l3.63 3.63c.2.2.51.2.71 0a.5.5 0 0 0 0-.71l-3.63-3.63Zm.26-5.53a6.5 6.5 0 1 1-13 0 6.5 6.5 0 0 1 13 0Z"/>',size:14})]),Be(h("input",{"onUpdate:modelValue":R[0]||(R[0]=v=>a.value=v),type:"text",placeholder:"Search feed…",class:"w-full pl-8 pr-8 py-2 text-xs bg-surface-2/50 border border-edge rounded-xl text-txt-primary placeholder:text-txt-muted focus:outline-none focus:border-accent/40 focus:bg-surface-2 transition-all duration-150"},null,512),[[ze,a.value]]),a.value?(g(),b("button",{key:0,onClick:R[1]||(R[1]=v=>a.value=""),class:"absolute right-2 top-1/2 -translate-y-1/2 p-1 rounded text-txt-muted hover:text-txt-primary transition-colors",title:"Clear search"},[fe(Ae,{paths:'<path d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"/>',size:12})])):q("",!0)]),h("div",X5,[h("button",{onClick:R[2]||(R[2]=v=>l.value=!l.value),class:he(["flex items-center gap-1.5 text-xs font-medium py-1.5 px-3 rounded-lg transition-all duration-150 shrink-0",l.value?"bg-accent/10 text-accent border border-accent/20":"text-txt-muted hover:text-txt-secondary hover:bg-surface-3/50 border border-transparent"]),title:"Group by team"},[fe(Ae,{paths:'<path d="M8 2a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm-5 4a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2Zm10-1a2 2 0 1 1 0 4 2 2 0 0 1 0-4Zm0 1a1 1 0 1 0 0 2 1 1 0 0 0 0-2ZM8 9.5a.5.5 0 0 1 .5.5v1h4a.5.5 0 0 1 .5.5v1h1.5a.5.5 0 0 1 0 1H14v1a.5.5 0 0 1-1 0v-3.5H7v3.5a.5.5 0 0 1-1 0v-1H4.5a.5.5 0 0 1 0-1H6v-1a.5.5 0 0 1 .5-.5h1V10a.5.5 0 0 1 .5-.5Z"/>',size:12}),R[4]||(R[4]=de(" Team ",-1))],2)]),s.value?(g(),b("div",Q5,[...R[5]||(R[5]=[h("div",{class:"flex items-center gap-3 text-txt-muted text-sm"},[h("div",{class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"}),de(" Loading… ")],-1)])])):m.value.length===0?(g(),b("div",ek,[h("div",tk,[fe(Ae,{paths:'<path d="M10 2a5.92 5.92 0 0 1 5.98 5.36l.02.22V11.4l.92 2.22a1 1 0 0 1 .06.17l.01.08.01.13a1 1 0 0 1-.75.97l-.11.02L16 15h-3.5v.17a2.5 2.5 0 0 1-5 0V15H4a1 1 0 0 1-.26-.03l-.13-.04a1 1 0 0 1-.6-1.05l.02-.13.05-.13L4 11.4V7.57A5.9 5.9 0 0 1 10 2Zm1.5 13h-3v.15a1.5 1.5 0 0 0 1.36 1.34l.14.01c.78 0 1.42-.6 1.5-1.36V15ZM10 3a4.9 4.9 0 0 0-4.98 4.38L5 7.6V11.5l-.04.2L4 14h12l-.96-2.3-.04-.2V7.61A4.9 4.9 0 0 0 10 3Z"/>',size:28,class:"text-txt-muted"})]),R[6]||(R[6]=h("p",{class:"text-txt-muted text-sm font-medium"},"Nothing here yet",-1)),R[7]||(R[7]=h("p",{class:"text-txt-muted/60 text-xs mt-1"}," No notifications ",-1))])):l.value?(g(),b("div",{key:3,class:he(["space-y-3 overflow-y-auto flex-1 pr-1",u.value&&d.value.size>0?"pb-16":""])},[(g(!0),b(Ee,null,Me(_.value,v=>(g(),b("div",{key:v.key},[h("button",{onClick:S=>O(v.key),class:"w-full flex items-center gap-2 px-2 py-1.5 mb-1 text-left hover:bg-surface-3/30 rounded-lg transition-colors duration-150"},[fe(Ae,{paths:'<path d="M7.47 4.22a.75.75 0 0 1 1.06 0l5.25 5.25a.75.75 0 0 1-1.06 1.06L8 5.81 3.28 10.53a.75.75 0 0 1-1.06-1.06l5.25-5.25Z"/>',size:12,class:he(["text-txt-muted transition-transform duration-150 shrink-0",c.value.has(v.key)?"-rotate-90":"rotate-180"])},null,8,["class"]),h("span",kk,C(v.label),1),h("span",Ek,"("+C(v.entries.length)+")",1)],8,wk),c.value.has(v.key)?q("",!0):(g(),b("ul",Sk,[(g(!0),b(Ee,null,Me(v.entries,S=>(g(),b("li",{key:S.id,class:he(["group bg-surface-2/50 border border-edge rounded-xl hover:border-edge-bright hover:shadow-card transition-all duration-200 overflow-hidden animate-fade-in",[S.read_at?"":"glow-inner",u.value&&d.value.has(S.id)?"ring-1 ring-accent/40 bg-accent/5 border-accent/30":""]])},[h("div",{class:"flex items-start gap-3 p-4 cursor-pointer",onClick:H=>u.value?L(S.id):x(S.id)},[u.value?(g(),b("div",{key:0,class:"mt-0.5 shrink-0",onClick:Ge(H=>L(S.id),["stop"])},[h("div",{class:he(["w-5 h-5 rounded-full border-2 flex items-center justify-center transition-all duration-150",d.value.has(S.id)?"border-accent bg-accent shadow-glow-sm":"border-edge hover:border-accent/60"])},[d.value.has(S.id)?(g(),Rt(Ae,{key:0,paths:'<path d="M3.37 10.17a.5.5 0 0 0-.74.66l4 4.5c.19.22.52.23.72.02l10.5-10.5a.5.5 0 0 0-.7-.7L7.02 14.27l-3.65-4.1Z"/>',size:11,class:"text-surface-0"})):q("",!0)],2)],8,Ak)):q("",!0),h("div",Rk,[S.type==="inbox"?(g(),Rt(Ae,{key:0,paths:'<path d="M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z"/>',size:16,class:he(S.read_at?"text-txt-muted":"text-accent")},null,8,["class"])):(g(),Rt(Ae,{key:1,paths:'<path d="M10 2a5.92 5.92 0 0 1 5.98 5.36l.02.22V11.4l.92 2.22a1 1 0 0 1 .06.17l.01.08.01.13a1 1 0 0 1-.75.97l-.11.02L16 15h-3.5v.17a2.5 2.5 0 0 1-5 0V15H4a1 1 0 0 1-.26-.03l-.13-.04a1 1 0 0 1-.6-1.05l.02-.13.05-.13L4 11.4V7.57A5.9 5.9 0 0 1 10 2Zm1.5 13h-3v.15a1.5 1.5 0 0 0 1.36 1.34l.14.01c.78 0 1.42-.6 1.5-1.36V15ZM10 3a4.9 4.9 0 0 0-4.98 4.38L5 7.6V11.5l-.04.2L4 14h12l-.96-2.3-.04-.2V7.61A4.9 4.9 0 0 0 10 3Z"/>',size:16,class:he(S.read_at?"text-txt-muted":"text-accent")},null,8,["class"]))]),S.read_at?(g(),b("span",Ok)):(g(),b("span",Ck)),h("div",$k,[h("div",Nk,[h("span",Ik,C(S.title),1),S.source_type?(g(),b("span",Pk,C(S.source_type),1)):q("",!0)]),h("p",Lk,C(E(S.created_at)),1),S.type==="inbox"&&(S.squad_slug||S.instance_id||S.task_id)?(g(),b("div",Mk,[S.squad_slug?(g(),b("span",jk,C(S.squad_slug),1)):q("",!0),S.instance_id?(g(),b("span",Dk,"inst:"+C(S.instance_id.slice(0,8)),1)):q("",!0),S.task_id?(g(),b("span",Uk,"task:"+C(S.task_id.slice(0,8)),1)):q("",!0)])):q("",!0),n.value.has(S.id)?q("",!0):(g(),b("p",Bk,C(w(S.body)),1))]),u.value?q("",!0):(g(),b("div",Hk,[S.read_at?q("",!0):(g(),b("button",{key:0,onClick:Ge(H=>j(S.id),["stop"]),class:"p-1.5 rounded-lg text-txt-muted hover:text-accent hover:bg-accent/10 border border-transparent hover:border-accent/20 transition-all duration-150",title:"Mark as read"},[fe(Ae,{paths:'<path d="M3.37 10.17a.5.5 0 0 0-.74.66l4 4.5c.19.22.52.23.72.02l10.5-10.5a.5.5 0 0 0-.7-.7L7.02 14.27l-3.65-4.1Z"/>',size:14})],8,Fk)),h("button",{onClick:Ge(H=>ne(S.id),["stop"]),disabled:r.value.has(S.id),class:"p-1.5 rounded-lg text-txt-muted hover:text-red-400 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 disabled:opacity-30 transition-all duration-150",title:"Delete"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14})],8,Vk)]))],8,Tk),!u.value&&n.value.has(S.id)?(g(),b("div",qk,[h("div",{class:"text-sm text-txt-secondary bg-surface-0/60 rounded-xl p-4 border border-edge/50 wiki-content leading-relaxed",innerHTML:Ie(ls)(S.body)},null,8,zk)])):q("",!0)],2))),128))]))]))),128))],2)):(g(),b("ul",{key:2,class:he(["space-y-2 overflow-y-auto flex-1 pr-1",u.value&&d.value.size>0?"pb-16":""])},[(g(!0),b(Ee,null,Me(m.value,v=>(g(),b("li",{key:v.id,class:he(["group bg-surface-2/50 border border-edge rounded-xl hover:border-edge-bright hover:shadow-card transition-all duration-200 overflow-hidden animate-fade-in",[v.read_at?"":"glow-inner",u.value&&d.value.has(v.id)?"ring-1 ring-accent/40 bg-accent/5 border-accent/30":""]])},[h("div",{class:"flex items-start gap-3 p-4 cursor-pointer",onClick:S=>u.value?L(v.id):x(v.id)},[u.value?(g(),b("div",{key:0,class:"mt-0.5 shrink-0",onClick:Ge(S=>L(v.id),["stop"])},[h("div",{class:he(["w-5 h-5 rounded-full border-2 flex items-center justify-center transition-all duration-150",d.value.has(v.id)?"border-accent bg-accent shadow-glow-sm":"border-edge hover:border-accent/60"])},[d.value.has(v.id)?(g(),Rt(Ae,{key:0,paths:'<path d="M3.37 10.17a.5.5 0 0 0-.74.66l4 4.5c.19.22.52.23.72.02l10.5-10.5a.5.5 0 0 0-.7-.7L7.02 14.27l-3.65-4.1Z"/>',size:11,class:"text-surface-0"})):q("",!0)],2)],8,nk)):q("",!0),h("div",rk,[v.type==="inbox"?(g(),Rt(Ae,{key:0,paths:'<path d="M6 3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h8a3 3 0 0 0 3-3V6a3 3 0 0 0-3-3H6Zm10 7h-3.5a.5.5 0 0 0-.5.5v.01a1.75 1.75 0 0 1-.03.3c-.04.2-.1.46-.23.72-.13.25-.3.49-.57.66-.26.18-.63.31-1.17.31-.54 0-.9-.13-1.17-.3a1.7 1.7 0 0 1-.57-.67A2.57 2.57 0 0 1 8 10.5v-.01a.5.5 0 0 0-.5-.5H4V6c0-1.1.9-2 2-2h8a2 2 0 0 1 2 2v4ZM4 11h3.05c.05.26.14.62.32.97.18.38.47.76.9 1.06.45.29 1.02.47 1.73.47s1.28-.18 1.72-.47c.44-.3.73-.68.91-1.06.18-.35.27-.7.32-.97H16v3a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-3Z"/>',size:16,class:he(v.read_at?"text-txt-muted":"text-accent")},null,8,["class"])):(g(),Rt(Ae,{key:1,paths:'<path d="M10 2a5.92 5.92 0 0 1 5.98 5.36l.02.22V11.4l.92 2.22a1 1 0 0 1 .06.17l.01.08.01.13a1 1 0 0 1-.75.97l-.11.02L16 15h-3.5v.17a2.5 2.5 0 0 1-5 0V15H4a1 1 0 0 1-.26-.03l-.13-.04a1 1 0 0 1-.6-1.05l.02-.13.05-.13L4 11.4V7.57A5.9 5.9 0 0 1 10 2Zm1.5 13h-3v.15a1.5 1.5 0 0 0 1.36 1.34l.14.01c.78 0 1.42-.6 1.5-1.36V15ZM10 3a4.9 4.9 0 0 0-4.98 4.38L5 7.6V11.5l-.04.2L4 14h12l-.96-2.3-.04-.2V7.61A4.9 4.9 0 0 0 10 3Z"/>',size:16,class:he(v.read_at?"text-txt-muted":"text-accent")},null,8,["class"]))]),v.read_at?(g(),b("span",ak)):(g(),b("span",ik)),h("div",ok,[h("div",lk,[h("span",ck,C(v.title),1),v.source_type?(g(),b("span",uk,C(v.source_type),1)):q("",!0)]),h("p",dk,C(E(v.created_at)),1),v.type==="inbox"&&(v.squad_slug||v.instance_id||v.task_id)?(g(),b("div",hk,[v.squad_slug?(g(),b("span",fk,C(v.squad_slug),1)):q("",!0),v.instance_id?(g(),b("span",pk,"inst:"+C(v.instance_id.slice(0,8)),1)):q("",!0),v.task_id?(g(),b("span",gk,"task:"+C(v.task_id.slice(0,8)),1)):q("",!0)])):q("",!0),n.value.has(v.id)?q("",!0):(g(),b("p",mk,C(w(v.body)),1))]),u.value?q("",!0):(g(),b("div",bk,[v.read_at?q("",!0):(g(),b("button",{key:0,onClick:Ge(S=>j(v.id),["stop"]),class:"p-1.5 rounded-lg text-txt-muted hover:text-accent hover:bg-accent/10 border border-transparent hover:border-accent/20 transition-all duration-150",title:"Mark as read"},[fe(Ae,{paths:'<path d="M3.37 10.17a.5.5 0 0 0-.74.66l4 4.5c.19.22.52.23.72.02l10.5-10.5a.5.5 0 0 0-.7-.7L7.02 14.27l-3.65-4.1Z"/>',size:14})],8,vk)),h("button",{onClick:Ge(S=>ne(v.id),["stop"]),disabled:r.value.has(v.id),class:"p-1.5 rounded-lg text-txt-muted hover:text-red-400 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 disabled:opacity-30 transition-all duration-150",title:"Delete"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14})],8,yk)]))],8,sk),!u.value&&n.value.has(v.id)?(g(),b("div",_k,[h("div",{class:"text-sm text-txt-secondary bg-surface-0/60 rounded-xl p-4 border border-edge/50 wiki-content leading-relaxed",innerHTML:Ie(ls)(v.body)},null,8,xk)])):q("",!0)],2))),128))],2)),fe(an,{"enter-active-class":"transition-all duration-200 ease-out","enter-from-class":"opacity-0 translate-y-4","enter-to-class":"opacity-100 translate-y-0","leave-active-class":"transition-all duration-150 ease-in","leave-from-class":"opacity-100 translate-y-0","leave-to-class":"opacity-0 translate-y-4"},{default:Kt(()=>[u.value&&d.value.size>0?(g(),b("div",Kk,[h("span",Wk,C(d.value.size)+" selected ",1),h("button",{onClick:ee,disabled:f.value,class:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded-xl bg-accent/15 text-accent border border-accent/25 hover:bg-accent/25 disabled:opacity-40 transition-all duration-150"},[fe(Ae,{paths:'<path d="M3.37 10.17a.5.5 0 0 0-.74.66l4 4.5c.19.22.52.23.72.02l10.5-10.5a.5.5 0 0 0-.7-.7L7.02 14.27l-3.65-4.1Z"/>',size:14}),R[8]||(R[8]=de(" Mark read ",-1))],8,Gk),h("button",{onClick:X,disabled:f.value,class:"flex items-center gap-1.5 text-xs font-medium px-3 py-1.5 rounded-xl bg-red-500/10 text-red-400 border border-red-500/20 hover:bg-red-500/20 disabled:opacity-40 transition-all duration-150"},[fe(Ae,{paths:'<path d="M8.5 4h3a1.5 1.5 0 0 0-3 0Zm-1 0a2.5 2.5 0 0 1 5 0h5a.5.5 0 0 1 0 1h-1.05l-1.2 10.34A3 3 0 0 1 12.27 18H7.73a3 3 0 0 1-2.98-2.66L3.55 5H2.5a.5.5 0 0 1 0-1h5ZM5.74 15.23A2 2 0 0 0 7.73 17h4.54a2 2 0 0 0 1.99-1.77L15.44 5H4.56l1.18 10.23ZM8.5 7.5c.28 0 .5.22.5.5v6a.5.5 0 0 1-1 0V8c0-.28.22-.5.5-.5ZM12 8a.5.5 0 0 0-1 0v6a.5.5 0 0 0 1 0V8Z"/>',size:14}),R[9]||(R[9]=de(" Delete ",-1))],8,Zk)])):q("",!0)]),_:1}),i.value?(g(),b("div",Jk,[fe(Ae,{paths:'<path d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"/>',size:16,class:"shrink-0"}),de(" "+C(i.value),1)])):q("",!0)]))}}),Xk={class:"flex flex-col h-full p-3 sm:p-6"},Qk={key:0,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-4 text-sm"},e2={key:1,class:"flex-1 flex items-center justify-center"},t2={key:2,class:"flex-1 flex flex-col items-center justify-center"},s2={key:3,class:"space-y-3 overflow-y-auto flex-1"},n2={class:"flex justify-between items-start gap-3"},r2={class:"text-sm font-semibold text-txt-primary leading-snug"},i2={class:"flex items-center gap-2 shrink-0"},a2={class:"text-[10px] text-txt-muted font-mono"},o2=["onClick","disabled"],l2={key:0,class:"flex flex-wrap items-center gap-1 mt-1.5 mb-1"},c2={key:0,class:"text-[10px] font-mono text-accent/80 bg-accent/10 px-1.5 py-0.5 rounded border border-accent/20"},u2={key:1,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50"},d2={key:2,class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50"},h2=["innerHTML"],f2="inbox-last-seen-id",p2=Je({__name:"InboxView",setup(e){const t=B([]),s=B(!1),n=B(null),r=B(new Set);let i=null;const a=u=>{if(!u)return"";const d=u.includes("T")?u:u.replace(" ","T")+"Z",f=new Date(d);return Number.isNaN(f.getTime())?u:f.toLocaleString([],{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit",hour12:!1})},o=u=>{if(u.length===0)return;const d=Math.max(...u.map(f=>f.id));try{localStorage.setItem(f2,String(d))}catch{}},l=async(u=!1)=>{u&&(s.value=!0),n.value=null;try{const d=await ke("/api/inbox");if(!d.ok)throw new Error(`HTTP ${d.status}`);const f=await d.json();t.value=f.entries??[],o(t.value)}catch(d){u&&(n.value=d instanceof Error?d.message:"Failed to load inbox")}finally{u&&(s.value=!1)}},c=async u=>{if(!r.value.has(u)){r.value=new Set(r.value).add(u);try{const d=await ke(`/api/inbox/${encodeURIComponent(u)}`,{method:"DELETE"});if(!d.ok&&d.status!==204)throw new Error(`HTTP ${d.status}`);t.value=t.value.filter(f=>f.id!==u)}catch(d){n.value=d instanceof Error?d.message:"Failed to delete entry"}finally{const d=new Set(r.value);d.delete(u),r.value=d}}};return it(()=>{l(!0),i=setInterval(()=>l(),1e4)}),fn(()=>{i&&clearInterval(i)}),(u,d)=>(g(),b("div",Xk,[d[4]||(d[4]=h("div",{class:"flex justify-between items-center mb-6"},[h("div",null,[h("h2",{class:"text-xl font-bold text-txt-primary tracking-tight"},"Inbox"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Messages delivered to you")])],-1)),n.value?(g(),b("div",Qk,[d[0]||(d[0]=h("span",null,"⚠",-1)),de(" "+C(n.value),1)])):q("",!0),s.value&&t.value.length===0?(g(),b("div",e2,[...d[1]||(d[1]=[h("div",{class:"flex items-center gap-3 text-txt-muted text-sm"},[h("div",{class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"}),de(" Loading… ")],-1)])])):!s.value&&t.value.length===0?(g(),b("div",t2,[...d[2]||(d[2]=[ei('<div class="w-14 h-14 rounded-xl bg-surface-2 border border-edge flex items-center justify-center mb-4"><svg viewBox="0 0 20 20" fill="currentColor" class="w-7 h-7 text-txt-muted" aria-hidden="true"><path d="M2 6.25A2.25 2.25 0 0 1 4.25 4h11.5A2.25 2.25 0 0 1 18 6.25v7.5A2.25 2.25 0 0 1 15.75 16H4.25A2.25 2.25 0 0 1 2 13.75v-7.5Zm2.25-1a1 1 0 0 0-1 1v.388l6.75 4.5 6.75-4.5V6.25a1 1 0 0 0-1-1H4.25Zm12.5 2.834-6.294 4.196a.75.75 0 0 1-.812 0L3.25 8.084v5.666a1 1 0 0 0 1 1h11.5a1 1 0 0 0 1-1V8.084Z"></path></svg></div><p class="text-txt-muted text-sm font-medium">Inbox is empty</p><p class="text-txt-muted/60 text-xs mt-1">New messages will appear here</p>',3)])])):(g(),b("ul",s2,[(g(!0),b(Ee,null,Me(t.value,f=>(g(),b("li",{key:f.id,class:"bg-surface-2/40 border border-edge rounded-xl p-4 hover:border-edge-bright transition-all duration-150 group"},[h("div",n2,[h("h3",r2,C(f.title),1),h("div",i2,[h("span",a2,C(a(f.created_at)),1),h("button",{onClick:p=>c(f.id),disabled:r.value.has(f.id),class:"opacity-0 group-hover:opacity-100 transition-opacity text-txt-muted hover:text-red-400 disabled:opacity-30",title:"Delete","aria-label":"Delete entry"},[...d[3]||(d[3]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4","aria-hidden":"true"},[h("path",{"fill-rule":"evenodd",d:"M8.75 1A2.75 2.75 0 0 0 6 3.75v.443c-.795.077-1.584.176-2.365.298a.75.75 0 1 0 .23 1.482l.149-.022.841 10.518A2.75 2.75 0 0 0 7.596 19h4.807a2.75 2.75 0 0 0 2.742-2.53l.841-10.52.149.023a.75.75 0 0 0 .23-1.482A41.03 41.03 0 0 0 14 4.193V3.75A2.75 2.75 0 0 0 11.25 1h-2.5ZM10 4c.84 0 1.673.025 2.5.075V3.75c0-.69-.56-1.25-1.25-1.25h-2.5c-.69 0-1.25.56-1.25 1.25v.325C8.327 4.025 9.16 4 10 4ZM8.58 7.72a.75.75 0 0 0-1.5.06l.3 7.5a.75.75 0 1 0 1.5-.06l-.3-7.5Zm4.34.06a.75.75 0 1 0-1.5-.06l-.3 7.5a.75.75 0 1 0 1.5.06l.3-7.5Z","clip-rule":"evenodd"})],-1)])],8,o2)])]),f.squad_slug||f.instance_id||f.task_id?(g(),b("div",l2,[f.squad_slug?(g(),b("span",c2,C(f.squad_slug),1)):q("",!0),f.instance_id?(g(),b("span",u2,"inst:"+C(f.instance_id),1)):q("",!0),f.task_id?(g(),b("span",d2,"task:"+C(f.task_id),1)):q("",!0)])):q("",!0),h("div",{class:"mt-2 text-sm text-txt-secondary wiki-content prose-sm",innerHTML:Ie(ls)(f.body)},null,8,h2)]))),128))]))]))}}),g2={class:"flex flex-col md:flex-row h-full overflow-hidden bg-surface-0"},m2={class:"p-3.5 shrink-0"},b2={class:"flex items-center justify-between mb-3"},v2={class:"text-[10px] text-txt-muted font-mono bg-surface-2/60 px-1.5 py-0.5 rounded"},y2={key:0,class:"flex-1 flex items-center justify-center"},_2={key:1,class:"flex-1 p-4"},x2={class:"text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2"},w2={key:2,class:"flex-1 overflow-y-auto py-2 px-2"},k2={key:0,class:"px-2 py-3 text-sm text-txt-muted text-center"},E2=["onClick"],S2={key:0,class:"absolute left-0 top-1/2 -translate-y-1/2 w-[3px] h-5 rounded-r-full bg-accent shadow-glow-sm"},T2={key:0,class:"md:hidden flex items-center gap-2 px-3 py-2 border-b border-edge bg-surface-1/60 shrink-0"},A2={class:"text-xs text-txt-primary font-medium truncate"},R2={key:1,class:"flex-1 flex flex-col items-center justify-center select-none"},C2={key:2,class:"flex-1 flex items-center justify-center"},O2={key:3,class:"flex-1 p-6"},$2={class:"inline-flex items-center gap-2 text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-lg px-3 py-2"},N2={key:4,class:"flex-1 overflow-y-auto"},I2={class:"max-w-3xl mx-auto px-6 py-6"},P2={class:"text-xl font-bold text-txt-primary mb-4 pb-3 border-b border-edge"},L2=["innerHTML"],M2=Je({__name:"WikiView",setup(e){const t=B([]),s=B(null),n=B(""),r=B(""),i=B(!1),a=B(!1),o=B(""),l=B(""),c=Pe(()=>{const p=r.value.trim().toLowerCase();return p?t.value.filter(m=>m.title.toLowerCase().includes(p)):t.value}),u=Pe(()=>ls(n.value));async function d(){i.value=!0,o.value="";try{const p=await ke("/api/wiki");if(!p.ok)throw new Error(`HTTP ${p.status}`);const m=await p.json();t.value=m.pages??[]}catch(p){o.value=p instanceof Error?p.message:"Failed to load pages"}finally{i.value=!1}}async function f(p){var m;if(((m=s.value)==null?void 0:m.path)!==p.path){s.value=p,n.value="",a.value=!0,l.value="";try{const _=await ke(`/api/wiki/${encodeURIComponent(p.path)}`);if(!_.ok)throw new Error(`HTTP ${_.status}`);const T=await _.json();n.value=T.content??""}catch(_){l.value=_ instanceof Error?_.message:"Failed to load page"}finally{a.value=!1}}}return it(d),(p,m)=>(g(),b("div",g2,[h("div",{class:he(["bg-surface-1/70 backdrop-blur-sm border-edge flex flex-col",s.value?"hidden md:flex md:w-72 md:shrink-0 md:border-r":"flex w-full md:w-72 md:shrink-0 border-b md:border-b-0 md:border-r md:h-full max-h-64 md:max-h-none"])},[h("div",m2,[h("div",b2,[m[2]||(m[2]=h("h2",{class:"text-sm font-semibold text-txt-primary tracking-tight flex items-center gap-1.5"},[h("span",{class:"text-base"},"📚"),de(" Wiki ")],-1)),h("span",v2,C(c.value.length),1)]),Be(h("input",{"onUpdate:modelValue":m[0]||(m[0]=_=>r.value=_),type:"text",placeholder:"Filter pages…",class:"w-full px-3 py-1.5 text-sm bg-surface-2/50 border border-edge rounded-lg text-txt-primary placeholder-txt-muted/50 focus:outline-none focus:border-accent/40 focus:shadow-glow-sm transition-all duration-200"},null,512),[[ze,r.value]])]),m[4]||(m[4]=h("div",{class:"mx-3 h-px bg-gradient-to-r from-transparent via-edge to-transparent"},null,-1)),i.value?(g(),b("div",y2,[...m[3]||(m[3]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading… ")],-1)])])):o.value?(g(),b("div",_2,[h("div",x2,C(o.value),1)])):(g(),b("ul",w2,[c.value.length===0?(g(),b("li",k2," No pages found ")):q("",!0),(g(!0),b(Ee,null,Me(c.value,_=>{var T,E,w;return g(),b("li",{key:_.path,onClick:x=>f(_),class:he(["relative px-2.5 py-2 rounded-lg cursor-pointer text-sm transition-all duration-150 mb-0.5",((T=s.value)==null?void 0:T.path)===_.path?"bg-accent/10 text-accent":"text-txt-secondary hover:text-txt-primary hover:bg-surface-3/40"])},[((E=s.value)==null?void 0:E.path)===_.path?(g(),b("span",S2)):q("",!0),h("span",{class:he(((w=s.value)==null?void 0:w.path)===_.path?"ml-1":"")},C(_.title),3)],10,E2)}),128))]))],2),h("div",{class:he(["flex-1 min-w-0 flex flex-col overflow-hidden",s.value?"flex":"hidden md:flex"])},[s.value?(g(),b("div",T2,[h("button",{onClick:m[1]||(m[1]=_=>s.value=null),class:"flex items-center gap-1.5 text-xs text-txt-muted hover:text-accent transition-colors py-1"},[fe(Ae,{paths:'<path d="M12.35 15.85a.5.5 0 0 1-.7 0L6.16 10.4a.55.55 0 0 1 0-.78l5.49-5.46a.5.5 0 1 1 .7.7L7.2 10l5.16 5.15c.2.2.2.5 0 .7Z"/>',size:14}),m[5]||(m[5]=de(" All pages ",-1))]),m[6]||(m[6]=h("span",{class:"text-txt-muted/30"},"·",-1)),h("span",A2,C(s.value.title),1)])):q("",!0),s.value?a.value?(g(),b("div",C2,[...m[8]||(m[8]=[h("div",{class:"flex items-center gap-2 text-txt-muted text-sm"},[h("span",{class:"w-4 h-4 border-2 border-edge border-t-accent rounded-full animate-spin"}),de(" Loading… ")],-1)])])):l.value?(g(),b("div",O2,[h("div",$2,[m[9]||(m[9]=h("span",null,"⚠",-1)),de(" "+C(l.value),1)])])):(g(),b("div",N2,[h("div",I2,[h("h1",P2,C(s.value.title),1),h("div",{class:"wiki-content text-txt-secondary text-sm leading-relaxed",innerHTML:u.value},null,8,L2)])])):(g(),b("div",R2,[...m[7]||(m[7]=[h("div",{class:"w-12 h-12 rounded-xl bg-surface-2/60 border border-edge flex items-center justify-center mb-4"},[h("span",{class:"text-2xl"},"📖")],-1),h("p",{class:"text-txt-muted text-sm"},"Select a page to start reading",-1)])]))],2)]))}}),j2=nr(M2,[["__scopeId","data-v-5b6273c1"]]),D2={class:"relative flex items-center justify-center h-screen bg-surface-0 overflow-hidden"},U2={class:"relative w-full max-w-sm mx-4 animate-fade-in"},B2={class:"glass rounded-2xl border border-edge p-8 shadow-glow"},H2={key:0,class:"flex items-center gap-2 text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded-xl px-3.5 py-2.5"},F2=["disabled"],V2=Je({__name:"LoginView",setup(e){const t=Ds(),s=ig(),n=B(""),r=B(""),i=B(null);async function a(){i.value=null;const o=await t.signIn(n.value,r.value);o?i.value=o:s.push("/chat")}return(o,l)=>(g(),b("div",D2,[l[5]||(l[5]=h("div",{class:"pointer-events-none absolute inset-0"},[h("div",{class:"absolute top-1/4 left-1/3 w-[500px] h-[500px] bg-accent/[0.04] rounded-full blur-[120px]"}),h("div",{class:"absolute bottom-1/4 right-1/4 w-[400px] h-[400px] bg-accent-dim/[0.06] rounded-full blur-[100px]"})],-1)),h("div",U2,[h("div",B2,[l[4]||(l[4]=ei('<div class="flex flex-col items-center mb-8"><div class="w-14 h-14 rounded-xl bg-accent/10 border border-accent/20 flex items-center justify-center mb-4 shadow-glow-sm"><span class="text-accent font-mono font-bold text-2xl tracking-tighter">IO</span></div><h1 class="text-xl font-semibold text-txt-primary tracking-tight">Welcome back</h1><p class="text-sm text-txt-muted mt-1">Sign in to continue</p></div>',1)),h("form",{onSubmit:Ge(a,["prevent"]),class:"space-y-5"},[h("div",null,[l[2]||(l[2]=h("label",{for:"email",class:"block text-xs font-medium text-txt-secondary mb-1.5 tracking-wide uppercase"},"Email",-1)),Be(h("input",{id:"email","onUpdate:modelValue":l[0]||(l[0]=c=>n.value=c),type:"email",required:"",autocomplete:"email",class:"w-full px-3.5 py-2.5 bg-surface-0/60 border border-edge rounded-xl text-txt-primary placeholder-txt-muted text-sm focus:outline-none focus:border-accent/50 focus:ring-1 focus:ring-accent/20 focus:shadow-glow-sm transition-all duration-200",placeholder:"you@example.com"},null,512),[[ze,n.value]])]),h("div",null,[l[3]||(l[3]=h("label",{for:"password",class:"block text-xs font-medium text-txt-secondary mb-1.5 tracking-wide uppercase"},"Password",-1)),Be(h("input",{id:"password","onUpdate:modelValue":l[1]||(l[1]=c=>r.value=c),type:"password",required:"",autocomplete:"current-password",class:"w-full px-3.5 py-2.5 bg-surface-0/60 border border-edge rounded-xl text-txt-primary placeholder-txt-muted text-sm focus:outline-none focus:border-accent/50 focus:ring-1 focus:ring-accent/20 focus:shadow-glow-sm transition-all duration-200",placeholder:"••••••••"},null,512),[[ze,r.value]])]),i.value?(g(),b("div",H2,[fe(Ae,{paths:'<path d="m4.09 4.22.06-.07a.5.5 0 0 1 .63-.06l.07.06L10 9.29l5.15-5.14a.5.5 0 0 1 .63-.06l.07.06c.18.17.2.44.06.63l-.06.07L10.71 10l5.14 5.15c.18.17.2.44.06.63l-.06.07a.5.5 0 0 1-.63.06l-.07-.06L10 10.71l-5.15 5.14a.5.5 0 0 1-.63.06l-.07-.06a.5.5 0 0 1-.06-.63l.06-.07L9.29 10 4.15 4.85a.5.5 0 0 1-.06-.63l.06-.07-.06.07Z"/>',size:16,class:"shrink-0"}),de(" "+C(i.value),1)])):q("",!0),h("button",{type:"submit",disabled:Ie(t).loading,class:"w-full py-2.5 px-4 bg-accent hover:bg-accent-glow disabled:opacity-50 disabled:cursor-not-allowed text-surface-0 font-semibold text-sm rounded-xl transition-all duration-200 shadow-glow-sm hover:shadow-glow"},C(Ie(t).loading?"Signing in…":"Sign in"),9,F2)],32)])])]))}}),q2={class:"flex flex-col h-full p-3 sm:p-6 overflow-y-auto"},z2={class:"flex justify-between items-start mb-6"},K2=["disabled"],W2={key:0,class:"flex items-center gap-2 bg-red-500/10 text-red-400 border border-red-500/20 p-3 rounded-lg mb-4 text-sm"},G2={key:1,class:"flex items-center gap-2 bg-accent/10 text-accent border border-accent/20 p-3 rounded-lg mb-4 text-sm"},Z2={class:"mb-6"},J2={key:0,class:"flex items-center gap-2 text-txt-muted text-sm py-4"},Y2={key:1,class:"text-txt-muted text-sm py-4 text-center border border-dashed border-edge rounded-xl"},X2={key:2,class:"space-y-2"},Q2={class:"flex-1 min-w-0"},eE={class:"flex items-center gap-2"},tE={class:"text-sm font-semibold text-txt-primary"},sE={class:"text-[10px] font-mono text-txt-muted bg-surface-0/60 px-1.5 py-0.5 rounded border border-edge/50 shrink-0"},nE={class:"text-[11px] text-txt-muted font-mono truncate mt-0.5"},rE={class:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity duration-150"},iE=["onClick","disabled"],aE=["onClick","disabled"],oE={class:"bg-surface-2/30 border border-edge rounded-xl p-4"},lE={class:"flex gap-4"},cE={class:"flex items-center gap-2 text-sm text-txt-secondary cursor-pointer"},uE={class:"flex items-center gap-2 text-sm text-txt-secondary cursor-pointer"},dE={key:1},hE=["onUpdate:modelValue"],fE=["onUpdate:modelValue"],pE=["onClick"],gE=["disabled"],mE=Je({__name:"McpView",setup(e){const t=B([]),s=B(!1),n=B(!1),r=B(!1),i=B(new Set),a=B(new Set),o=B(null),l=B(null),c=B({name:"",transport:"stdio",command:"",args:"",url:"",envRows:[]});function u(w){l.value=w,setTimeout(()=>{l.value=null},3e3)}function d(){c.value.envRows.push({key:"",value:""})}function f(w){c.value.envRows.splice(w,1)}async function p(){s.value=!0,o.value=null;try{const w=await ke("/api/mcp/servers");if(!w.ok)throw new Error(`HTTP ${w.status}`);const x=await w.json();t.value=x.servers??[]}catch(w){o.value=w instanceof Error?w.message:"Failed to load servers"}finally{s.value=!1}}async function m(w){const x=new Set(i.value);x.add(w),i.value=x;try{const A=await ke(`/api/mcp/servers/${encodeURIComponent(w)}/toggle`,{method:"PATCH"});if(!A.ok)throw new Error(`HTTP ${A.status}`);const L=await A.json(),D=t.value.find(O=>O.name===w);D&&(D.enabled=L.enabled),u(`${w} ${L.enabled?"enabled":"disabled"} -- reload to apply`)}catch(A){o.value=A instanceof Error?A.message:"Toggle failed"}finally{const A=new Set(i.value);A.delete(w),i.value=A}}async function _(w){if(!window.confirm(`Remove MCP server "${w}"?`))return;const x=new Set(a.value);x.add(w),a.value=x;try{const A=await ke(`/api/mcp/servers/${encodeURIComponent(w)}`,{method:"DELETE"});if(!A.ok)throw new Error(`HTTP ${A.status}`);t.value=t.value.filter(L=>L.name!==w),u(`${w} removed -- reload to apply`)}catch(A){o.value=A instanceof Error?A.message:"Delete failed"}finally{const A=new Set(a.value);A.delete(w),a.value=A}}async function T(){o.value=null,r.value=!0;try{const w={};for(const L of c.value.envRows)L.key.trim()&&(w[L.key.trim()]=L.value);const x={name:c.value.name};c.value.transport==="stdio"?(x.command=c.value.command,c.value.args.trim()&&(x.args=c.value.args.trim().split(/\s+/))):x.url=c.value.url,Object.keys(w).length&&(x.env=w);const A=await ke("/api/mcp/servers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(x)});if(!A.ok){const L=await A.json();throw new Error(L.error??`HTTP ${A.status}`)}c.value={name:"",transport:"stdio",command:"",args:"",url:"",envRows:[]},await p(),u("Server added -- reload to activate tools")}catch(w){o.value=w instanceof Error?w.message:"Failed to add server"}finally{r.value=!1}}async function E(){n.value=!0,o.value=null;try{const w=await ke("/api/mcp/reload",{method:"POST"});if(!w.ok)throw new Error(`HTTP ${w.status}`);await p(),u("MCP tools reloaded successfully")}catch(w){o.value=w instanceof Error?w.message:"Reload failed"}finally{n.value=!1}}return it(p),(w,x)=>(g(),b("div",q2,[h("div",z2,[x[7]||(x[7]=h("div",null,[h("h2",{class:"text-xl font-bold text-txt-primary tracking-tight"},"MCP Servers"),h("p",{class:"text-xs text-txt-muted mt-0.5"},"Manage Model Context Protocol servers and their tools")],-1)),h("button",{onClick:E,disabled:n.value,class:"flex items-center gap-2 px-3 py-1.5 rounded-lg bg-accent/10 border border-accent/20 text-accent text-xs font-medium hover:bg-accent/20 disabled:opacity-50 disabled:cursor-wait transition-all duration-150",title:"Reload MCP tools (applies config changes)"},[(g(),b("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:he(["w-3.5 h-3.5",n.value?"animate-spin":""]),"aria-hidden":"true"},[...x[6]||(x[6]=[h("path",{"fill-rule":"evenodd",d:"M15.312 11.424a5.5 5.5 0 0 1-9.201 2.466l-.312-.311h2.433a.75.75 0 0 0 0-1.5H3.989a.75.75 0 0 0-.75.75v4.242a.75.75 0 0 0 1.5 0v-2.43l.31.31a7 7 0 0 0 11.712-3.138.75.75 0 0 0-1.449-.39Zm1.23-3.723a.75.75 0 0 0 .219-.53V2.929a.75.75 0 0 0-1.5 0v2.43l-.31-.31a7 7 0 0 0-11.712 3.138.75.75 0 0 0 1.449.39A5.5 5.5 0 0 1 13.89 5.05l.311.31h-2.432a.75.75 0 0 0 0 1.5h4.243a.75.75 0 0 0 .53-.219Z","clip-rule":"evenodd"},null,-1)])],2)),de(" "+C(n.value?"Reloading...":"Reload Tools"),1)],8,K2)]),o.value?(g(),b("div",W2,[x[8]||(x[8]=h("span",null,"!",-1)),de(" "+C(o.value),1)])):q("",!0),l.value?(g(),b("div",G2,[x[9]||(x[9]=h("span",null,"OK",-1)),de(" "+C(l.value),1)])):q("",!0),h("div",Z2,[x[12]||(x[12]=h("h3",{class:"text-xs font-semibold text-txt-muted uppercase tracking-wider mb-3"},"Configured Servers",-1)),s.value?(g(),b("div",J2,[...x[10]||(x[10]=[h("div",{class:"w-1.5 h-1.5 rounded-full bg-accent animate-pulse"},null,-1),de(" Loading... ",-1)])])):t.value.length===0?(g(),b("div",Y2," No MCP servers configured. Add one below. ")):(g(),b("ul",X2,[(g(!0),b(Ee,null,Me(t.value,A=>(g(),b("li",{key:A.name,class:he(["flex items-center gap-3 p-3 bg-surface-2/50 border border-edge rounded-xl hover:border-edge-bright transition-all duration-150 group",A.enabled===!1?"opacity-60":""])},[h("span",{class:he(["w-2 h-2 rounded-full shrink-0",A.enabled===!1?"bg-txt-muted":"bg-green-400"])},null,2),h("div",Q2,[h("div",eE,[h("span",tE,C(A.name),1),h("span",sE,C(A.url?"SSE":"stdio"),1)]),h("p",nE,C(A.url??[A.command,...A.args??[]].join(" ")),1)]),h("div",rE,[h("button",{onClick:L=>m(A.name),disabled:i.value.has(A.name),class:he(["px-2 py-1 rounded-lg text-xs font-medium border transition-all duration-150 disabled:opacity-40",A.enabled===!1?"text-txt-muted border-edge hover:text-txt-primary hover:border-edge-bright":"text-accent border-accent/30 hover:bg-accent/10"])},C(A.enabled===!1?"Enable":"Disable"),11,iE),h("button",{onClick:L=>_(A.name),disabled:a.value.has(A.name),class:"p-1.5 rounded-lg text-txt-muted hover:text-red-400 hover:bg-red-500/10 border border-transparent hover:border-red-500/20 disabled:opacity-40 transition-all duration-150",title:"Remove server"},[...x[11]||(x[11]=[h("svg",{viewBox:"0 0 20 20",fill:"currentColor",class:"w-4 h-4","aria-hidden":"true"},[h("path",{"fill-rule":"evenodd",d:"M8.75 1A2.75 2.75 0 0 0 6 3.75v.443c-.795.077-1.584.176-2.365.298a.75.75 0 1 0 .23 1.482l.149-.022.841 10.518A2.75 2.75 0 0 0 7.596 19h4.807a2.75 2.75 0 0 0 2.742-2.53l.841-10.52.149.023a.75.75 0 0 0 .23-1.482A41.03 41.03 0 0 0 14 4.193V3.75A2.75 2.75 0 0 0 11.25 1h-2.5ZM10 4c.84 0 1.673.025 2.5.075V3.75c0-.69-.56-1.25-1.25-1.25h-2.5c-.69 0-1.25.56-1.25 1.25v.325C8.327 4.025 9.16 4 10 4ZM8.58 7.72a.75.75 0 0 0-1.5.06l.3 7.5a.75.75 0 1 0 1.5-.06l-.3-7.5Zm4.34.06a.75.75 0 1 0-1.5-.06l-.3 7.5a.75.75 0 1 0 1.5.06l.3-7.5Z","clip-rule":"evenodd"})],-1)])],8,aE)])],2))),128))]))]),h("div",oE,[x[20]||(x[20]=h("h3",{class:"text-xs font-semibold text-txt-muted uppercase tracking-wider mb-4"},"Add Server",-1)),h("form",{onSubmit:Ge(T,["prevent"]),class:"space-y-3"},[h("div",null,[x[13]||(x[13]=h("label",{class:"block text-xs font-medium text-txt-secondary mb-1"},"Name *",-1)),Be(h("input",{"onUpdate:modelValue":x[0]||(x[0]=A=>c.value.name=A),type:"text",placeholder:"e.g. github, postgres",class:"w-full bg-surface-2/50 border border-edge text-txt-primary text-sm rounded-lg px-3 py-2 placeholder:text-txt-muted focus:outline-none focus:border-accent/60 transition-colors",required:""},null,512),[[ze,c.value.name]])]),h("div",lE,[h("label",cE,[Be(h("input",{"onUpdate:modelValue":x[1]||(x[1]=A=>c.value.transport=A),type:"radio",value:"stdio",class:"accent-accent"},null,512),[[Ro,c.value.transport]]),x[14]||(x[14]=de(" stdio (command) ",-1))]),h("label",uE,[Be(h("input",{"onUpdate:modelValue":x[2]||(x[2]=A=>c.value.transport=A),type:"radio",value:"sse",class:"accent-accent"},null,512),[[Ro,c.value.transport]]),x[15]||(x[15]=de(" SSE (URL) ",-1))])]),c.value.transport==="stdio"?(g(),b(Ee,{key:0},[h("div",null,[x[16]||(x[16]=h("label",{class:"block text-xs font-medium text-txt-secondary mb-1"},"Command *",-1)),Be(h("input",{"onUpdate:modelValue":x[3]||(x[3]=A=>c.value.command=A),type:"text",placeholder:"e.g. npx",class:"w-full bg-surface-2/50 border border-edge text-txt-primary text-sm rounded-lg px-3 py-2 placeholder:text-txt-muted focus:outline-none focus:border-accent/60 transition-colors"},null,512),[[ze,c.value.command]])]),h("div",null,[x[17]||(x[17]=h("label",{class:"block text-xs font-medium text-txt-secondary mb-1"},[de("Args "),h("span",{class:"text-txt-muted font-normal"},"(space-separated)")],-1)),Be(h("input",{"onUpdate:modelValue":x[4]||(x[4]=A=>c.value.args=A),type:"text",placeholder:"e.g. -y @modelcontextprotocol/server-github",class:"w-full bg-surface-2/50 border border-edge text-txt-primary text-sm rounded-lg px-3 py-2 placeholder:text-txt-muted focus:outline-none focus:border-accent/60 transition-colors"},null,512),[[ze,c.value.args]])])],64)):q("",!0),c.value.transport==="sse"?(g(),b("div",dE,[x[18]||(x[18]=h("label",{class:"block text-xs font-medium text-txt-secondary mb-1"},"URL *",-1)),Be(h("input",{"onUpdate:modelValue":x[5]||(x[5]=A=>c.value.url=A),type:"url",placeholder:"e.g. http://localhost:3001/sse",class:"w-full bg-surface-2/50 border border-edge text-txt-primary text-sm rounded-lg px-3 py-2 placeholder:text-txt-muted focus:outline-none focus:border-accent/60 transition-colors"},null,512),[[ze,c.value.url]])])):q("",!0),h("div",null,[h("div",{class:"flex items-center justify-between mb-1"},[x[19]||(x[19]=h("label",{class:"text-xs font-medium text-txt-secondary"},"Environment Variables",-1)),h("button",{type:"button",onClick:d,class:"text-[11px] text-accent hover:text-accent/80 transition-colors"},"+ Add")]),(g(!0),b(Ee,null,Me(c.value.envRows,(A,L)=>(g(),b("div",{key:L,class:"flex gap-2 mb-1.5"},[Be(h("input",{"onUpdate:modelValue":D=>A.key=D,type:"text",placeholder:"KEY",class:"flex-1 bg-surface-2/50 border border-edge text-txt-primary text-xs rounded-lg px-2 py-1.5 placeholder:text-txt-muted font-mono focus:outline-none focus:border-accent/60 transition-colors"},null,8,hE),[[ze,A.key]]),Be(h("input",{"onUpdate:modelValue":D=>A.value=D,type:"text",placeholder:"value",class:"flex-1 bg-surface-2/50 border border-edge text-txt-primary text-xs rounded-lg px-2 py-1.5 placeholder:text-txt-muted font-mono focus:outline-none focus:border-accent/60 transition-colors"},null,8,fE),[[ze,A.value]]),h("button",{type:"button",onClick:D=>f(L),class:"text-txt-muted hover:text-red-400 transition-colors px-1"},"x",8,pE)]))),128))]),h("button",{type:"submit",disabled:r.value,class:"px-4 py-2 bg-accent/10 border border-accent/30 text-accent text-sm font-medium rounded-lg hover:bg-accent/20 disabled:opacity-50 disabled:cursor-wait transition-all duration-150"},C(r.value?"Adding...":"Add Server"),9,gE)],32)])]))}}),md=rg({history:jp("/"),routes:[{path:"/",redirect:"/chat"},{path:"/login",name:"login",component:V2,meta:{public:!0}},{path:"/chat",name:"chat",component:Sy},{path:"/skills",name:"skills",component:k1},{path:"/squads",name:"squads",component:ix},{path:"/activity",name:"activity",component:Ew},{path:"/wiki",name:"wiki",component:j2},{path:"/schedules",name:"schedules",component:K5},{path:"/feed",name:"feed",component:Yk},{path:"/inbox",name:"inbox",component:p2},{path:"/notifications",redirect:"/feed"},{path:"/mcp",name:"mcp",component:mE}]});md.beforeEach(async e=>{const t=Ds();return t.initialized||await t.init(),!t.authEnabled||e.meta.public||t.user?!0:{name:"login"}});const Da=zf(Vv);Da.use(Gf());Da.use(md);Da.mount("#app");