scream-code 0.17.7 → 0.17.9

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,28 +1,28 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ruby-CcrC3V9I.js","./html-CNxCFRDw.js","./javascript-wDzz0qaB.js","./css-DEUVOdPa.js","./xml-sdJ4AIDG.js","./java-CylS5w8V.js","./sql-BLtJtn59.js","./graphql-ChdNCCLP.js","./typescript-BPQ3VLAy.js","./jsx-g9-lgVsj.js","./tsx-COt5Ahok.js","./cpp-BRuaLJcg.js","./c-BIGW1oBm.js","./bash-Yzrsuije.js","./lua-BaeVxFsk.js","./yaml-Buea-lGh.js","./svelte-U4fHntn6.js","./postcss-DnzrXTVv.js","./astro-DAp21e1Q.js","./json-Cp-IABpG.js","./perl-CptaX86O.js"])))=>i.map(i=>d[i]);
2
- var tg=Object.defineProperty;var ng=Object.getPrototypeOf;var sg=Reflect.get;var Su=e=>{throw TypeError(e)};var og=(e,t,n)=>t in e?tg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Y=(e,t,n)=>og(e,typeof t!="symbol"?t+"":t,n),zi=(e,t,n)=>t.has(e)||Su("Cannot "+n);var Tt=(e,t,n)=>(zi(e,t,"read from private field"),n?n.call(e):t.get(e)),Yn=(e,t,n)=>t.has(e)?Su("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Kt=(e,t,n,s)=>(zi(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n),Hi=(e,t,n)=>(zi(e,t,"access private method"),n);var _u=(e,t,n)=>sg(ng(e),n,t);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
2
+ var tg=Object.defineProperty;var ng=Object.getPrototypeOf;var sg=Reflect.get;var Su=e=>{throw TypeError(e)};var og=(e,t,n)=>t in e?tg(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var Y=(e,t,n)=>og(e,typeof t!="symbol"?t+"":t,n),Hi=(e,t,n)=>t.has(e)||Su("Cannot "+n);var Tt=(e,t,n)=>(Hi(e,t,"read from private field"),n?n.call(e):t.get(e)),Yn=(e,t,n)=>t.has(e)?Su("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Kt=(e,t,n,s)=>(Hi(e,t,"write to private field"),s?s.call(e,n):t.set(e,n),n),Wi=(e,t,n)=>(Hi(e,t,"access private method"),n);var _u=(e,t,n)=>sg(ng(e),n,t);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const i of r.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&s(i)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function s(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/**
3
3
  * @vue/shared v3.5.40
4
4
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
5
5
  * @license MIT
6
- **/function kl(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Je={},Os=[],Jt=()=>{},Gd=()=>!1,fi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),hi=e=>e.startsWith("onUpdate:"),ct=Object.assign,wl=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},rg=Object.prototype.hasOwnProperty,He=(e,t)=>rg.call(e,t),xe=Array.isArray,Gs=e=>Ho(e)==="[object Map]",pi=e=>Ho(e)==="[object Set]",$u=e=>Ho(e)==="[object Date]",Pe=e=>typeof e=="function",nt=e=>typeof e=="string",tn=e=>typeof e=="symbol",qe=e=>e!==null&&typeof e=="object",Bd=e=>(qe(e)||Pe(e))&&Pe(e.then)&&Pe(e.catch),Fd=Object.prototype.toString,Ho=e=>Fd.call(e),ig=e=>Ho(e).slice(8,-1),Ud=e=>Ho(e)==="[object Object]",Sl=e=>nt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,ko=kl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),gi=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ag=/-\w/g,Lt=gi(e=>e.replace(ag,t=>t.slice(1).toUpperCase())),lg=/\B([A-Z])/g,Kn=gi(e=>e.replace(lg,"-$1").toLowerCase()),mi=gi(e=>e.charAt(0).toUpperCase()+e.slice(1)),gr=gi(e=>e?`on${mi(e)}`:""),Zt=(e,t)=>!Object.is(e,t),mr=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},jd=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},vi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ug=e=>{const t=nt(e)?Number(e):NaN;return isNaN(t)?e:t};let Cu;const yi=()=>Cu||(Cu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bt(e){if(xe(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=nt(s)?hg(s):bt(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(nt(e)||qe(e))return e}const cg=/;(?![^(]*\))/g,dg=/:([^]+)/,fg=/\/\*[^]*?\*\//g;function hg(e){const t={};return e.replace(fg,"").split(cg).forEach(n=>{if(n){const s=n.split(dg);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ue(e){let t="";if(nt(e))t=e;else if(xe(e))for(let n=0;n<e.length;n++){const s=ue(e[n]);s&&(t+=s+" ")}else if(qe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const pg="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",gg=kl(pg);function zd(e){return!!e||e===""}function mg(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=Wo(e[s],t[s]);return n}function Wo(e,t){if(e===t)return!0;let n=$u(e),s=$u(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=tn(e),s=tn(t),n||s)return e===t;if(n=xe(e),s=xe(t),n||s)return n&&s?mg(e,t):!1;if(n=qe(e),s=qe(t),n||s){if(!n||!s)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const a=e.hasOwnProperty(i),l=t.hasOwnProperty(i);if(a&&!l||!a&&l||!Wo(e[i],t[i]))return!1}}return String(e)===String(t)}function vg(e,t){return e.findIndex(n=>Wo(n,t))}const Hd=e=>!!(e&&e.__v_isRef===!0),C=e=>nt(e)?e:e==null?"":xe(e)||qe(e)&&(e.toString===Fd||!Pe(e.toString))?Hd(e)?C(e.value):JSON.stringify(e,Wd,2):String(e),Wd=(e,t)=>Hd(t)?Wd(e,t.value):Gs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[Wi(s,r)+" =>"]=o,n),{})}:pi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Wi(n))}:tn(t)?Wi(t):qe(t)&&!xe(t)&&!Ud(t)?String(t):t,Wi=(e,t="")=>{var n;return tn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function yg(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}/**
6
+ **/function kl(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const Je={},Gs=[],Jt=()=>{},Gd=()=>!1,hi=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),pi=e=>e.startsWith("onUpdate:"),ct=Object.assign,wl=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},rg=Object.prototype.hasOwnProperty,He=(e,t)=>rg.call(e,t),xe=Array.isArray,Bs=e=>Wo(e)==="[object Map]",gi=e=>Wo(e)==="[object Set]",$u=e=>Wo(e)==="[object Date]",Pe=e=>typeof e=="function",nt=e=>typeof e=="string",tn=e=>typeof e=="symbol",qe=e=>e!==null&&typeof e=="object",Bd=e=>(qe(e)||Pe(e))&&Pe(e.then)&&Pe(e.catch),Fd=Object.prototype.toString,Wo=e=>Fd.call(e),ig=e=>Wo(e).slice(8,-1),Ud=e=>Wo(e)==="[object Object]",Sl=e=>nt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,wo=kl(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),mi=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},ag=/-\w/g,Lt=mi(e=>e.replace(ag,t=>t.slice(1).toUpperCase())),lg=/\B([A-Z])/g,Kn=mi(e=>e.replace(lg,"-$1").toLowerCase()),vi=mi(e=>e.charAt(0).toUpperCase()+e.slice(1)),mr=mi(e=>e?`on${vi(e)}`:""),Zt=(e,t)=>!Object.is(e,t),vr=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},jd=(e,t,n,s=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:n})},yi=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ug=e=>{const t=nt(e)?Number(e):NaN;return isNaN(t)?e:t};let Cu;const bi=()=>Cu||(Cu=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function bt(e){if(xe(e)){const t={};for(let n=0;n<e.length;n++){const s=e[n],o=nt(s)?hg(s):bt(s);if(o)for(const r in o)t[r]=o[r]}return t}else if(nt(e)||qe(e))return e}const cg=/;(?![^(]*\))/g,dg=/:([^]+)/,fg=/\/\*[^]*?\*\//g;function hg(e){const t={};return e.replace(fg,"").split(cg).forEach(n=>{if(n){const s=n.split(dg);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function ue(e){let t="";if(nt(e))t=e;else if(xe(e))for(let n=0;n<e.length;n++){const s=ue(e[n]);s&&(t+=s+" ")}else if(qe(e))for(const n in e)e[n]&&(t+=n+" ");return t.trim()}const pg="itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly",gg=kl(pg);function zd(e){return!!e||e===""}function mg(e,t){if(e.length!==t.length)return!1;let n=!0;for(let s=0;n&&s<e.length;s++)n=qo(e[s],t[s]);return n}function qo(e,t){if(e===t)return!0;let n=$u(e),s=$u(t);if(n||s)return n&&s?e.getTime()===t.getTime():!1;if(n=tn(e),s=tn(t),n||s)return e===t;if(n=xe(e),s=xe(t),n||s)return n&&s?mg(e,t):!1;if(n=qe(e),s=qe(t),n||s){if(!n||!s)return!1;const o=Object.keys(e).length,r=Object.keys(t).length;if(o!==r)return!1;for(const i in e){const a=e.hasOwnProperty(i),l=t.hasOwnProperty(i);if(a&&!l||!a&&l||!qo(e[i],t[i]))return!1}}return String(e)===String(t)}function vg(e,t){return e.findIndex(n=>qo(n,t))}const Hd=e=>!!(e&&e.__v_isRef===!0),C=e=>nt(e)?e:e==null?"":xe(e)||qe(e)&&(e.toString===Fd||!Pe(e.toString))?Hd(e)?C(e.value):JSON.stringify(e,Wd,2):String(e),Wd=(e,t)=>Hd(t)?Wd(e,t.value):Bs(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[s,o],r)=>(n[qi(s,r)+" =>"]=o,n),{})}:gi(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>qi(n))}:tn(t)?qi(t):qe(t)&&!xe(t)&&!Ud(t)?String(t):t,qi=(e,t="")=>{var n;return tn(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};function yg(e){return e==null?"initial":typeof e=="string"?e===""?" ":e:String(e)}/**
7
7
  * @vue/reactivity v3.5.40
8
8
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
9
9
  * @license MIT
10
- **/let kt;class bg{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&&kt&&(kt.active?(this.parent=kt,this.index=(kt.scopes||(kt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t<n;t++)o[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=kt;try{return kt=this,t()}finally{kt=n}}}on(){++this._on===1&&(this.prevScope=kt,kt=this)}off(){if(this._on>0&&--this._on===0){if(kt===this)kt=this.prevScope;else{let t=kt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const o=this.scopes.slice();for(n=0,s=o.length;n<s;n++)o[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function kg(){return kt}let Qe;const qi=new WeakSet;class qd{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,kt&&(kt.active?kt.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,qi.has(this)&&(qi.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Kd(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,xu(this),Zd(this);const t=Qe,n=Qt;Qe=this,Qt=!0;try{return this.fn()}finally{Yd(this),Qe=t,Qt=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Cl(t);this.deps=this.depsTail=void 0,xu(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?qi.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ta(this)&&this.run()}get dirty(){return Ta(this)}}let Vd=0,wo,So;function Kd(e,t=!1){if(e.flags|=8,t){e.next=So,So=e;return}e.next=wo,wo=e}function _l(){Vd++}function $l(){if(--Vd>0)return;if(So){let t=So;for(So=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;wo;){let t=wo;for(wo=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Zd(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yd(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),Cl(s),wg(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Ta(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Xd(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Xd(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Ao)||(e.globalVersion=Ao,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ta(e))))return;e.flags|=2;const t=e.dep,n=Qe,s=Qt;Qe=e,Qt=!0;try{Zd(e);const o=e.fn(e._value);(t.version===0||Zt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Qe=n,Qt=s,Yd(e),e.flags&=-3}}function Cl(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Cl(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qt=!0;const Jd=[];function En(){Jd.push(Qt),Qt=!1}function An(){const e=Jd.pop();Qt=e===void 0?!0:e}function xu(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Qe;Qe=void 0;try{t()}finally{Qe=n}}}let Ao=0;class Sg{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class xl{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(!Qe||!Qt||Qe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Qe)n=this.activeLink=new Sg(Qe,this),Qe.deps?(n.prevDep=Qe.depsTail,Qe.depsTail.nextDep=n,Qe.depsTail=n):Qe.deps=Qe.depsTail=n,Qd(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Qe.depsTail,n.nextDep=void 0,Qe.depsTail.nextDep=n,Qe.depsTail=n,Qe.deps===n&&(Qe.deps=s)}return n}trigger(t){this.version++,Ao++,this.notify(t)}notify(t){_l();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{$l()}}}function Qd(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Qd(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Ea=new WeakMap,fs=Symbol(""),Aa=Symbol(""),Mo=Symbol("");function $t(e,t,n){if(Qt&&Qe){let s=Ea.get(e);s||Ea.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new xl),o.map=s,o.key=n),o.track()}}function kn(e,t,n,s,o,r){const i=Ea.get(e);if(!i){Ao++;return}const a=l=>{l&&l.trigger()};if(_l(),t==="clear")i.forEach(a);else{const l=xe(e),u=l&&Sl(n);if(l&&n==="length"){const c=Number(s);i.forEach((d,f)=>{(f==="length"||f===Mo||!tn(f)&&f>=c)&&a(d)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Mo)),t){case"add":l?u&&a(i.get("length")):(a(i.get(fs)),Gs(e)&&a(i.get(Aa)));break;case"delete":l||(a(i.get(fs)),Gs(e)&&a(i.get(Aa)));break;case"set":Gs(e)&&a(i.get(fs));break}}$l()}function xs(e){const t=je(e);return t===e?t:($t(t,"iterate",Mo),qt(e)?t:t.map(nn))}function bi(e){return $t(e=je(e),"iterate",Mo),e}function dn(e,t){return Mn(e)?qs(hs(e)?nn(t):t):nn(t)}const _g={__proto__:null,[Symbol.iterator](){return Vi(this,Symbol.iterator,e=>dn(this,e))},concat(...e){return xs(this).concat(...e.map(t=>xe(t)?xs(t):t))},entries(){return Vi(this,"entries",e=>(e[1]=dn(this,e[1]),e))},every(e,t){return hn(this,"every",e,t,void 0,arguments)},filter(e,t){return hn(this,"filter",e,t,n=>n.map(s=>dn(this,s)),arguments)},find(e,t){return hn(this,"find",e,t,n=>dn(this,n),arguments)},findIndex(e,t){return hn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return hn(this,"findLast",e,t,n=>dn(this,n),arguments)},findLastIndex(e,t){return hn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return hn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Ki(this,"includes",e)},indexOf(...e){return Ki(this,"indexOf",e)},join(e){return xs(this).join(e)},lastIndexOf(...e){return Ki(this,"lastIndexOf",e)},map(e,t){return hn(this,"map",e,t,void 0,arguments)},pop(){return ro(this,"pop")},push(...e){return ro(this,"push",e)},reduce(e,...t){return Iu(this,"reduce",e,t)},reduceRight(e,...t){return Iu(this,"reduceRight",e,t)},shift(){return ro(this,"shift")},some(e,t){return hn(this,"some",e,t,void 0,arguments)},splice(...e){return ro(this,"splice",e)},toReversed(){return xs(this).toReversed()},toSorted(e){return xs(this).toSorted(e)},toSpliced(...e){return xs(this).toSpliced(...e)},unshift(...e){return ro(this,"unshift",e)},values(){return Vi(this,"values",e=>dn(this,e))}};function Vi(e,t,n){const s=bi(e),o=s[t]();return s!==e&&!qt(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const $g=Array.prototype;function hn(e,t,n,s,o,r){const i=bi(e),a=i!==e&&!qt(e),l=i[t];if(l!==$g[t]){const d=l.apply(e,r);return a?nn(d):d}let u=n;i!==e&&(a?u=function(d,f){return n.call(this,dn(e,d),f,e)}:n.length>2&&(u=function(d,f){return n.call(this,d,f,e)}));const c=l.call(i,u,s);return a&&o?o(c):c}function Iu(e,t,n,s){const o=bi(e),r=o!==e&&!qt(e);let i=n,a=!1;o!==e&&(r?(a=s.length===0,i=function(u,c,d){return a&&(a=!1,u=dn(e,u)),n.call(this,u,dn(e,c),d,e)}):n.length>3&&(i=function(u,c,d){return n.call(this,u,c,d,e)}));const l=o[t](i,...s);return a?dn(e,l):l}function Ki(e,t,n){const s=je(e);$t(s,"iterate",Mo);const o=s[t](...n);return(o===-1||o===!1)&&El(n[0])?(n[0]=je(n[0]),s[t](...n)):o}function ro(e,t,n=[]){En(),_l();const s=je(e)[t].apply(e,n);return $l(),An(),s}const Cg=kl("__proto__,__v_isRef,__isVue"),ef=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(tn));function xg(e){tn(e)||(e=String(e));const t=je(this);return $t(t,"has",e),t.hasOwnProperty(e)}class tf{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?Ng:rf:r?of:sf).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=xe(t);if(!o){let l;if(i&&(l=_g[n]))return l;if(n==="hasOwnProperty")return xg}const a=Reflect.get(t,n,ht(t)?t:s);if((tn(n)?ef.has(n):Cg(n))||(o||$t(t,"get",n),r))return a;if(ht(a)){const l=i&&Sl(n)?a:a.value;return o&&qe(l)?Ra(l):l}return qe(a)?o?Ra(a):Wn(a):a}}class nf extends tf{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const i=xe(t)&&Sl(n);if(!this._isShallow){const u=Mn(r);if(!qt(s)&&!Mn(s)&&(r=je(r),s=je(s)),!i&&ht(r)&&!ht(s))return u||(r.value=s),!0}const a=i?Number(n)<t.length:He(t,n),l=Reflect.set(t,n,s,ht(t)?t:o);return t===je(o)&&l&&(a?Zt(s,r)&&kn(t,"set",n,s):kn(t,"add",n,s)),l}deleteProperty(t,n){const s=He(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&kn(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!tn(n)||!ef.has(n))&&$t(t,"has",n),s}ownKeys(t){return $t(t,"iterate",xe(t)?"length":fs),Reflect.ownKeys(t)}}class Ig extends tf{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Tg=new nf,Eg=new Ig,Ag=new nf(!0);const Ma=e=>e,tr=e=>Reflect.getPrototypeOf(e);function Mg(e,t,n){return function(...s){const o=this.__v_raw,r=je(o),i=Gs(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=o[e](...s),c=n?Ma:t?qs:nn;return!t&&$t(r,"iterate",l?Aa:fs),ct(Object.create(u),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:a?[c(d[0]),c(d[1])]:c(d),done:f}}})}}function nr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Rg(e,t){const n={get(o){const r=this.__v_raw,i=je(r),a=je(o);e||(Zt(o,a)&&$t(i,"get",o),$t(i,"get",a));const{has:l}=tr(i),u=t?Ma:e?qs:nn;if(l.call(i,o))return u(r.get(o));if(l.call(i,a))return u(r.get(a));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&$t(je(o),"iterate",fs),o.size},has(o){const r=this.__v_raw,i=je(r),a=je(o);return e||(Zt(o,a)&&$t(i,"has",o),$t(i,"has",a)),o===a?r.has(o):r.has(o)||r.has(a)},forEach(o,r){const i=this,a=i.__v_raw,l=je(a),u=t?Ma:e?qs:nn;return!e&&$t(l,"iterate",fs),a.forEach((c,d)=>o.call(r,u(c),u(d),i))}};return ct(n,e?{add:nr("add"),set:nr("set"),delete:nr("delete"),clear:nr("clear")}:{add(o){const r=je(this),i=tr(r),a=je(o),l=!t&&!qt(o)&&!Mn(o)?a:o;return i.has.call(r,l)||Zt(o,l)&&i.has.call(r,o)||Zt(a,l)&&i.has.call(r,a)||(r.add(l),kn(r,"add",l,l)),this},set(o,r){!t&&!qt(r)&&!Mn(r)&&(r=je(r));const i=je(this),{has:a,get:l}=tr(i);let u=a.call(i,o);u||(o=je(o),u=a.call(i,o));const c=l.call(i,o);return i.set(o,r),u?Zt(r,c)&&kn(i,"set",o,r):kn(i,"add",o,r),this},delete(o){const r=je(this),{has:i,get:a}=tr(r);let l=i.call(r,o);l||(o=je(o),l=i.call(r,o)),a&&a.call(r,o);const u=r.delete(o);return l&&kn(r,"delete",o,void 0),u},clear(){const o=je(this),r=o.size!==0,i=o.clear();return r&&kn(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Mg(o,e,t)}),n}function Il(e,t){const n=Rg(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(He(n,o)&&o in s?n:s,o,r)}const Pg={get:Il(!1,!1)},Lg={get:Il(!1,!0)},Dg={get:Il(!0,!1)};const sf=new WeakMap,of=new WeakMap,rf=new WeakMap,Ng=new WeakMap;function Og(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wn(e){return Mn(e)?e:Tl(e,!1,Tg,Pg,sf)}function Gg(e){return Tl(e,!1,Ag,Lg,of)}function Ra(e){return Tl(e,!0,Eg,Dg,rf)}function Tl(e,t,n,s,o){if(!qe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=o.get(e);if(r)return r;const i=Og(ig(e));if(i===0)return e;const a=new Proxy(e,i===2?s:n);return o.set(e,a),a}function hs(e){return Mn(e)?hs(e.__v_raw):!!(e&&e.__v_isReactive)}function Mn(e){return!!(e&&e.__v_isReadonly)}function qt(e){return!!(e&&e.__v_isShallow)}function El(e){return e?!!e.__v_raw:!1}function je(e){const t=e&&e.__v_raw;return t?je(t):e}function Bg(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&jd(e,"__v_skip",!0),e}const nn=e=>qe(e)?Wn(e):e,qs=e=>qe(e)?Ra(e):e;function ht(e){return e?e.__v_isRef===!0:!1}function O(e){return af(e,!1)}function Fg(e){return af(e,!0)}function af(e,t){return ht(e)?e:new Ug(e,t)}class Ug{constructor(t,n){this.dep=new xl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:je(t),this._value=n?t:nn(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||qt(t)||Mn(t);t=s?t:je(t),Zt(t,n)&&(this._rawValue=t,this._value=s?t:nn(t),this.dep.trigger())}}function F(e){return ht(e)?e.value:e}const jg={get:(e,t,n)=>t==="__v_raw"?e:F(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return ht(o)&&!ht(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function lf(e){return hs(e)?e:new Proxy(e,jg)}class zg{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new xl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ao-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Qe!==this)return Kd(this,!0),!0}get value(){const t=this.dep.track();return Xd(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hg(e,t,n=!1){let s,o;return Pe(e)?s=e:(s=e.get,o=e.set),new zg(s,o,n)}const sr={},Ar=new WeakMap;let ns;function Wg(e,t=!1,n=ns){if(n){let s=Ar.get(n);s||Ar.set(n,s=[]),s.push(e)}}function qg(e,t,n=Je){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:a,call:l}=n,u=_=>o?_:qt(_)||o===!1||o===0?wn(_,1):wn(_);let c,d,f,p,g=!1,y=!1;if(ht(e)?(d=()=>e.value,g=qt(e)):hs(e)?(d=()=>u(e),g=!0):xe(e)?(y=!0,g=e.some(_=>hs(_)||qt(_)),d=()=>e.map(_=>{if(ht(_))return _.value;if(hs(_))return u(_);if(Pe(_))return l?l(_,2):_()})):Pe(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){En();try{f()}finally{An()}}const _=ns;ns=c;try{return l?l(e,3,[p]):e(p)}finally{ns=_}}:d=Jt,t&&o){const _=d,B=o===!0?1/0:o;d=()=>wn(_(),B)}const S=kg(),k=()=>{c.stop(),S&&S.active&&wl(S.effects,c)};if(r&&t){const _=t;t=(...B)=>{const D=_(...B);return k(),D}}let w=y?new Array(e.length).fill(sr):sr;const b=_=>{if(!(!(c.flags&1)||!c.dirty&&!_))if(t){const B=c.run();if(_||o||g||(y?B.some((D,E)=>Zt(D,w[E])):Zt(B,w))){f&&f();const D=ns;ns=c;try{const E=[B,w===sr?void 0:y&&w[0]===sr?[]:w,p];w=B,l?l(t,3,E):t(...E)}finally{ns=D}}}else c.run()};return a&&a(b),c=new qd(d),c.scheduler=i?()=>i(b,!1):b,p=_=>Wg(_,!1,c),f=c.onStop=()=>{const _=Ar.get(c);if(_){if(l)l(_,4);else for(const B of _)B();Ar.delete(c)}},t?s?b(!0):w=c.run():i?i(b.bind(null,!0),!0):c.run(),k.pause=c.pause.bind(c),k.resume=c.resume.bind(c),k.stop=k,k}function wn(e,t=1/0,n){if(t<=0||!qe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ht(e))wn(e.value,t,n);else if(xe(e))for(let s=0;s<e.length;s++)wn(e[s],t,n);else if(pi(e)||Gs(e))e.forEach(s=>{wn(s,t,n)});else if(Ud(e)){for(const s in e)wn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wn(e[s],t,n)}return e}/**
10
+ **/let kt;class bg{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&&kt&&(kt.active?(this.parent=kt,this.index=(kt.scopes||(kt.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const s=this.scopes.slice();for(t=0,n=s.length;t<n;t++)s[t].pause()}for(t=0,n=this.effects.length;t<n;t++)this.effects[t].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let t,n;if(this.scopes){const o=this.scopes.slice();for(t=0,n=o.length;t<n;t++)o[t].resume()}const s=this.effects.slice();for(t=0,n=s.length;t<n;t++)s[t].resume()}}run(t){if(this._active){const n=kt;try{return kt=this,t()}finally{kt=n}}}on(){++this._on===1&&(this.prevScope=kt,kt=this)}off(){if(this._on>0&&--this._on===0){if(kt===this)kt=this.prevScope;else{let t=kt;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,s;for(n=0,s=this.effects.length;n<s;n++)this.effects[n].stop();for(this.effects.length=0,n=0,s=this.cleanups.length;n<s;n++)this.cleanups[n]();if(this.cleanups.length=0,this.scopes){const o=this.scopes.slice();for(n=0,s=o.length;n<s;n++)o[n].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!t){const o=this.parent.scopes.pop();o&&o!==this&&(this.parent.scopes[this.index]=o,o.index=this.index)}this.parent=void 0}}}function kg(){return kt}let Qe;const Vi=new WeakSet;class qd{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,kt&&(kt.active?kt.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Vi.has(this)&&(Vi.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Kd(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,xu(this),Zd(this);const t=Qe,n=Qt;Qe=this,Qt=!0;try{return this.fn()}finally{Yd(this),Qe=t,Qt=n,this.flags&=-3}}stop(){if(this.flags&1){for(let t=this.deps;t;t=t.nextDep)Cl(t);this.deps=this.depsTail=void 0,xu(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Vi.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Ea(this)&&this.run()}get dirty(){return Ea(this)}}let Vd=0,So,_o;function Kd(e,t=!1){if(e.flags|=8,t){e.next=_o,_o=e;return}e.next=So,So=e}function _l(){Vd++}function $l(){if(--Vd>0)return;if(_o){let t=_o;for(_o=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;So;){let t=So;for(So=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(s){e||(e=s)}t=n}}if(e)throw e}function Zd(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Yd(e){let t,n=e.depsTail,s=n;for(;s;){const o=s.prevDep;s.version===-1?(s===n&&(n=o),Cl(s),wg(s)):t=s,s.dep.activeLink=s.prevActiveLink,s.prevActiveLink=void 0,s=o}e.deps=t,e.depsTail=n}function Ea(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Xd(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Xd(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Mo)||(e.globalVersion=Mo,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Ea(e))))return;e.flags|=2;const t=e.dep,n=Qe,s=Qt;Qe=e,Qt=!0;try{Zd(e);const o=e.fn(e._value);(t.version===0||Zt(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{Qe=n,Qt=s,Yd(e),e.flags&=-3}}function Cl(e,t=!1){const{dep:n,prevSub:s,nextSub:o}=e;if(s&&(s.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=s,e.nextSub=void 0),n.subs===e&&(n.subs=s,!s&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)Cl(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function wg(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let Qt=!0;const Jd=[];function En(){Jd.push(Qt),Qt=!1}function An(){const e=Jd.pop();Qt=e===void 0?!0:e}function xu(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=Qe;Qe=void 0;try{t()}finally{Qe=n}}}let Mo=0;class Sg{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class xl{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(!Qe||!Qt||Qe===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==Qe)n=this.activeLink=new Sg(Qe,this),Qe.deps?(n.prevDep=Qe.depsTail,Qe.depsTail.nextDep=n,Qe.depsTail=n):Qe.deps=Qe.depsTail=n,Qd(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const s=n.nextDep;s.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=s),n.prevDep=Qe.depsTail,n.nextDep=void 0,Qe.depsTail.nextDep=n,Qe.depsTail=n,Qe.deps===n&&(Qe.deps=s)}return n}trigger(t){this.version++,Mo++,this.notify(t)}notify(t){_l();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{$l()}}}function Qd(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let s=t.deps;s;s=s.nextDep)Qd(s)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const Aa=new WeakMap,hs=Symbol(""),Ma=Symbol(""),Ro=Symbol("");function $t(e,t,n){if(Qt&&Qe){let s=Aa.get(e);s||Aa.set(e,s=new Map);let o=s.get(n);o||(s.set(n,o=new xl),o.map=s,o.key=n),o.track()}}function kn(e,t,n,s,o,r){const i=Aa.get(e);if(!i){Mo++;return}const a=l=>{l&&l.trigger()};if(_l(),t==="clear")i.forEach(a);else{const l=xe(e),u=l&&Sl(n);if(l&&n==="length"){const c=Number(s);i.forEach((d,f)=>{(f==="length"||f===Ro||!tn(f)&&f>=c)&&a(d)})}else switch((n!==void 0||i.has(void 0))&&a(i.get(n)),u&&a(i.get(Ro)),t){case"add":l?u&&a(i.get("length")):(a(i.get(hs)),Bs(e)&&a(i.get(Ma)));break;case"delete":l||(a(i.get(hs)),Bs(e)&&a(i.get(Ma)));break;case"set":Bs(e)&&a(i.get(hs));break}}$l()}function Is(e){const t=je(e);return t===e?t:($t(t,"iterate",Ro),qt(e)?t:t.map(nn))}function ki(e){return $t(e=je(e),"iterate",Ro),e}function dn(e,t){return Mn(e)?Vs(ps(e)?nn(t):t):nn(t)}const _g={__proto__:null,[Symbol.iterator](){return Ki(this,Symbol.iterator,e=>dn(this,e))},concat(...e){return Is(this).concat(...e.map(t=>xe(t)?Is(t):t))},entries(){return Ki(this,"entries",e=>(e[1]=dn(this,e[1]),e))},every(e,t){return hn(this,"every",e,t,void 0,arguments)},filter(e,t){return hn(this,"filter",e,t,n=>n.map(s=>dn(this,s)),arguments)},find(e,t){return hn(this,"find",e,t,n=>dn(this,n),arguments)},findIndex(e,t){return hn(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return hn(this,"findLast",e,t,n=>dn(this,n),arguments)},findLastIndex(e,t){return hn(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return hn(this,"forEach",e,t,void 0,arguments)},includes(...e){return Zi(this,"includes",e)},indexOf(...e){return Zi(this,"indexOf",e)},join(e){return Is(this).join(e)},lastIndexOf(...e){return Zi(this,"lastIndexOf",e)},map(e,t){return hn(this,"map",e,t,void 0,arguments)},pop(){return io(this,"pop")},push(...e){return io(this,"push",e)},reduce(e,...t){return Iu(this,"reduce",e,t)},reduceRight(e,...t){return Iu(this,"reduceRight",e,t)},shift(){return io(this,"shift")},some(e,t){return hn(this,"some",e,t,void 0,arguments)},splice(...e){return io(this,"splice",e)},toReversed(){return Is(this).toReversed()},toSorted(e){return Is(this).toSorted(e)},toSpliced(...e){return Is(this).toSpliced(...e)},unshift(...e){return io(this,"unshift",e)},values(){return Ki(this,"values",e=>dn(this,e))}};function Ki(e,t,n){const s=ki(e),o=s[t]();return s!==e&&!qt(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const $g=Array.prototype;function hn(e,t,n,s,o,r){const i=ki(e),a=i!==e&&!qt(e),l=i[t];if(l!==$g[t]){const d=l.apply(e,r);return a?nn(d):d}let u=n;i!==e&&(a?u=function(d,f){return n.call(this,dn(e,d),f,e)}:n.length>2&&(u=function(d,f){return n.call(this,d,f,e)}));const c=l.call(i,u,s);return a&&o?o(c):c}function Iu(e,t,n,s){const o=ki(e),r=o!==e&&!qt(e);let i=n,a=!1;o!==e&&(r?(a=s.length===0,i=function(u,c,d){return a&&(a=!1,u=dn(e,u)),n.call(this,u,dn(e,c),d,e)}):n.length>3&&(i=function(u,c,d){return n.call(this,u,c,d,e)}));const l=o[t](i,...s);return a?dn(e,l):l}function Zi(e,t,n){const s=je(e);$t(s,"iterate",Ro);const o=s[t](...n);return(o===-1||o===!1)&&El(n[0])?(n[0]=je(n[0]),s[t](...n)):o}function io(e,t,n=[]){En(),_l();const s=je(e)[t].apply(e,n);return $l(),An(),s}const Cg=kl("__proto__,__v_isRef,__isVue"),ef=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(tn));function xg(e){tn(e)||(e=String(e));const t=je(this);return $t(t,"has",e),t.hasOwnProperty(e)}class tf{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,s){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return s===(o?r?Ng:rf:r?of:sf).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const i=xe(t);if(!o){let l;if(i&&(l=_g[n]))return l;if(n==="hasOwnProperty")return xg}const a=Reflect.get(t,n,ht(t)?t:s);if((tn(n)?ef.has(n):Cg(n))||(o||$t(t,"get",n),r))return a;if(ht(a)){const l=i&&Sl(n)?a:a.value;return o&&qe(l)?Pa(l):l}return qe(a)?o?Pa(a):Wn(a):a}}class nf extends tf{constructor(t=!1){super(!1,t)}set(t,n,s,o){let r=t[n];const i=xe(t)&&Sl(n);if(!this._isShallow){const u=Mn(r);if(!qt(s)&&!Mn(s)&&(r=je(r),s=je(s)),!i&&ht(r)&&!ht(s))return u||(r.value=s),!0}const a=i?Number(n)<t.length:He(t,n),l=Reflect.set(t,n,s,ht(t)?t:o);return t===je(o)&&l&&(a?Zt(s,r)&&kn(t,"set",n,s):kn(t,"add",n,s)),l}deleteProperty(t,n){const s=He(t,n);t[n];const o=Reflect.deleteProperty(t,n);return o&&s&&kn(t,"delete",n,void 0),o}has(t,n){const s=Reflect.has(t,n);return(!tn(n)||!ef.has(n))&&$t(t,"has",n),s}ownKeys(t){return $t(t,"iterate",xe(t)?"length":hs),Reflect.ownKeys(t)}}class Ig extends tf{constructor(t=!1){super(!0,t)}set(t,n){return!0}deleteProperty(t,n){return!0}}const Tg=new nf,Eg=new Ig,Ag=new nf(!0);const Ra=e=>e,nr=e=>Reflect.getPrototypeOf(e);function Mg(e,t,n){return function(...s){const o=this.__v_raw,r=je(o),i=Bs(r),a=e==="entries"||e===Symbol.iterator&&i,l=e==="keys"&&i,u=o[e](...s),c=n?Ra:t?Vs:nn;return!t&&$t(r,"iterate",l?Ma:hs),ct(Object.create(u),{next(){const{value:d,done:f}=u.next();return f?{value:d,done:f}:{value:a?[c(d[0]),c(d[1])]:c(d),done:f}}})}}function sr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function Rg(e,t){const n={get(o){const r=this.__v_raw,i=je(r),a=je(o);e||(Zt(o,a)&&$t(i,"get",o),$t(i,"get",a));const{has:l}=nr(i),u=t?Ra:e?Vs:nn;if(l.call(i,o))return u(r.get(o));if(l.call(i,a))return u(r.get(a));r!==i&&r.get(o)},get size(){const o=this.__v_raw;return!e&&$t(je(o),"iterate",hs),o.size},has(o){const r=this.__v_raw,i=je(r),a=je(o);return e||(Zt(o,a)&&$t(i,"has",o),$t(i,"has",a)),o===a?r.has(o):r.has(o)||r.has(a)},forEach(o,r){const i=this,a=i.__v_raw,l=je(a),u=t?Ra:e?Vs:nn;return!e&&$t(l,"iterate",hs),a.forEach((c,d)=>o.call(r,u(c),u(d),i))}};return ct(n,e?{add:sr("add"),set:sr("set"),delete:sr("delete"),clear:sr("clear")}:{add(o){const r=je(this),i=nr(r),a=je(o),l=!t&&!qt(o)&&!Mn(o)?a:o;return i.has.call(r,l)||Zt(o,l)&&i.has.call(r,o)||Zt(a,l)&&i.has.call(r,a)||(r.add(l),kn(r,"add",l,l)),this},set(o,r){!t&&!qt(r)&&!Mn(r)&&(r=je(r));const i=je(this),{has:a,get:l}=nr(i);let u=a.call(i,o);u||(o=je(o),u=a.call(i,o));const c=l.call(i,o);return i.set(o,r),u?Zt(r,c)&&kn(i,"set",o,r):kn(i,"add",o,r),this},delete(o){const r=je(this),{has:i,get:a}=nr(r);let l=i.call(r,o);l||(o=je(o),l=i.call(r,o)),a&&a.call(r,o);const u=r.delete(o);return l&&kn(r,"delete",o,void 0),u},clear(){const o=je(this),r=o.size!==0,i=o.clear();return r&&kn(o,"clear",void 0,void 0),i}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=Mg(o,e,t)}),n}function Il(e,t){const n=Rg(e,t);return(s,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(He(n,o)&&o in s?n:s,o,r)}const Pg={get:Il(!1,!1)},Lg={get:Il(!1,!0)},Dg={get:Il(!0,!1)};const sf=new WeakMap,of=new WeakMap,rf=new WeakMap,Ng=new WeakMap;function Og(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function Wn(e){return Mn(e)?e:Tl(e,!1,Tg,Pg,sf)}function Gg(e){return Tl(e,!1,Ag,Lg,of)}function Pa(e){return Tl(e,!0,Eg,Dg,rf)}function Tl(e,t,n,s,o){if(!qe(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=o.get(e);if(r)return r;const i=Og(ig(e));if(i===0)return e;const a=new Proxy(e,i===2?s:n);return o.set(e,a),a}function ps(e){return Mn(e)?ps(e.__v_raw):!!(e&&e.__v_isReactive)}function Mn(e){return!!(e&&e.__v_isReadonly)}function qt(e){return!!(e&&e.__v_isShallow)}function El(e){return e?!!e.__v_raw:!1}function je(e){const t=e&&e.__v_raw;return t?je(t):e}function Bg(e){return!He(e,"__v_skip")&&Object.isExtensible(e)&&jd(e,"__v_skip",!0),e}const nn=e=>qe(e)?Wn(e):e,Vs=e=>qe(e)?Pa(e):e;function ht(e){return e?e.__v_isRef===!0:!1}function O(e){return af(e,!1)}function Fg(e){return af(e,!0)}function af(e,t){return ht(e)?e:new Ug(e,t)}class Ug{constructor(t,n){this.dep=new xl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:je(t),this._value=n?t:nn(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,s=this.__v_isShallow||qt(t)||Mn(t);t=s?t:je(t),Zt(t,n)&&(this._rawValue=t,this._value=s?t:nn(t),this.dep.trigger())}}function F(e){return ht(e)?e.value:e}const jg={get:(e,t,n)=>t==="__v_raw"?e:F(Reflect.get(e,t,n)),set:(e,t,n,s)=>{const o=e[t];return ht(o)&&!ht(n)?(o.value=n,!0):Reflect.set(e,t,n,s)}};function lf(e){return ps(e)?e:new Proxy(e,jg)}class zg{constructor(t,n,s){this.fn=t,this.setter=n,this._value=void 0,this.dep=new xl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Mo-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=s}notify(){if(this.flags|=16,!(this.flags&8)&&Qe!==this)return Kd(this,!0),!0}get value(){const t=this.dep.track();return Xd(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Hg(e,t,n=!1){let s,o;return Pe(e)?s=e:(s=e.get,o=e.set),new zg(s,o,n)}const or={},Mr=new WeakMap;let ns;function Wg(e,t=!1,n=ns){if(n){let s=Mr.get(n);s||Mr.set(n,s=[]),s.push(e)}}function qg(e,t,n=Je){const{immediate:s,deep:o,once:r,scheduler:i,augmentJob:a,call:l}=n,u=_=>o?_:qt(_)||o===!1||o===0?wn(_,1):wn(_);let c,d,f,p,g=!1,y=!1;if(ht(e)?(d=()=>e.value,g=qt(e)):ps(e)?(d=()=>u(e),g=!0):xe(e)?(y=!0,g=e.some(_=>ps(_)||qt(_)),d=()=>e.map(_=>{if(ht(_))return _.value;if(ps(_))return u(_);if(Pe(_))return l?l(_,2):_()})):Pe(e)?t?d=l?()=>l(e,2):e:d=()=>{if(f){En();try{f()}finally{An()}}const _=ns;ns=c;try{return l?l(e,3,[p]):e(p)}finally{ns=_}}:d=Jt,t&&o){const _=d,B=o===!0?1/0:o;d=()=>wn(_(),B)}const S=kg(),k=()=>{c.stop(),S&&S.active&&wl(S.effects,c)};if(r&&t){const _=t;t=(...B)=>{const D=_(...B);return k(),D}}let w=y?new Array(e.length).fill(or):or;const b=_=>{if(!(!(c.flags&1)||!c.dirty&&!_))if(t){const B=c.run();if(_||o||g||(y?B.some((D,E)=>Zt(D,w[E])):Zt(B,w))){f&&f();const D=ns;ns=c;try{const E=[B,w===or?void 0:y&&w[0]===or?[]:w,p];w=B,l?l(t,3,E):t(...E)}finally{ns=D}}}else c.run()};return a&&a(b),c=new qd(d),c.scheduler=i?()=>i(b,!1):b,p=_=>Wg(_,!1,c),f=c.onStop=()=>{const _=Mr.get(c);if(_){if(l)l(_,4);else for(const B of _)B();Mr.delete(c)}},t?s?b(!0):w=c.run():i?i(b.bind(null,!0),!0):c.run(),k.pause=c.pause.bind(c),k.resume=c.resume.bind(c),k.stop=k,k}function wn(e,t=1/0,n){if(t<=0||!qe(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,ht(e))wn(e.value,t,n);else if(xe(e))for(let s=0;s<e.length;s++)wn(e[s],t,n);else if(gi(e)||Bs(e))e.forEach(s=>{wn(s,t,n)});else if(Ud(e)){for(const s in e)wn(e[s],t,n);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&wn(e[s],t,n)}return e}/**
11
11
  * @vue/runtime-core v3.5.40
12
12
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
13
13
  * @license MIT
14
- **/function qo(e,t,n,s){try{return s?e(...s):e()}catch(o){ki(o,t,n)}}function Vt(e,t,n,s){if(Pe(e)){const o=qo(e,t,n,s);return o&&Bd(o)&&o.catch(r=>{ki(r,t,n)}),o}if(xe(e)){const o=[];for(let r=0;r<e.length;r++)o.push(Vt(e[r],t,n,s));return o}}function ki(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||Je;if(t){let a=t.parent;const l=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const c=a.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,l,u)===!1)return}a=a.parent}if(r){En(),qo(r,null,10,[e,l,u]),An();return}}Vg(e,n,o,s,i)}function Vg(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const Mt=[];let cn=-1;const Bs=[];let Bn=null,As=0;const uf=Promise.resolve();let Mr=null;function Fe(e){const t=Mr||uf;return e?t.then(this?e.bind(this):e):t}function Kg(e){let t=cn+1,n=Mt.length;for(;t<n;){const s=t+n>>>1,o=Mt[s],r=Ro(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function Al(e){if(!(e.flags&1)){const t=Ro(e),n=Mt[Mt.length-1];!n||!(e.flags&2)&&t>=Ro(n)?Mt.push(e):Mt.splice(Kg(t),0,e),e.flags|=1,cf()}}function cf(){Mr||(Mr=uf.then(hf))}function df(e){xe(e)?Bs.push(...e):Bn&&e.id===-1?Bn.splice(As+1,0,e):e.flags&1||(Bs.push(e),e.flags|=1),cf()}function Tu(e,t,n=cn+1){for(;n<Mt.length;n++){const s=Mt[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Mt.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function ff(e){if(Bs.length){const t=[...new Set(Bs)].sort((n,s)=>Ro(n)-Ro(s));if(Bs.length=0,Bn){Bn.push(...t);return}for(Bn=t,As=0;As<Bn.length;As++){const n=Bn[As];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Bn=null,As=0}}const Ro=e=>e.id==null?e.flags&2?-1:1/0:e.id;function hf(e){try{for(cn=0;cn<Mt.length;cn++){const t=Mt[cn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),qo(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;cn<Mt.length;cn++){const t=Mt[cn];t&&(t.flags&=-2)}cn=-1,Mt.length=0,ff(),Mr=null,(Mt.length||Bs.length)&&hf()}}let St=null,pf=null;function Rr(e){const t=St;return St=e,pf=e&&e.type.__scopeId||null,t}function ot(e,t=St,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Dr(-1);const r=Rr(t),i=Tn.length;let a;try{a=e(...o)}finally{for(let l=Tn.length;l>i;l--)Nl();Rr(r),s._d&&Dr(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function Ze(e,t){if(St===null)return e;const n=Ii(St),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,a,l=Je]=t[o];r&&(Pe(r)&&(r={mounted:r,updated:r}),r.deep&&wn(i),s.push({dir:r,instance:n,value:i,oldValue:void 0,arg:a,modifiers:l}))}return e}function Xn(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const a=o[i];r&&(a.oldValue=r[i].value);let l=a.dir[s];l&&(En(),Vt(l,n,8,[e.el,a,e,t]),An())}}function vr(e,t){if(xt){let n=xt.provides;const s=xt.parent&&xt.parent.provides;s===n&&(n=xt.provides=Object.create(s)),n[e]=t}}function In(e,t,n=!1){const s=xi();if(s||Us){let o=Us?Us._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Pe(t)?t.call(s&&s.proxy):t}}const Zg=Symbol.for("v-scx"),Yg=()=>In(Zg);function Se(e,t,n){return gf(e,t,n)}function gf(e,t,n=Je){const{immediate:s,deep:o,flush:r,once:i}=n,a=ct({},n),l=t&&s||!t&&r!=="post";let u;if(Lo){if(r==="sync"){const p=Yg();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=Jt,p.resume=Jt,p.pause=Jt,p}}const c=xt;a.call=(p,g,y)=>Vt(p,c,g,y);let d=!1;r==="post"?a.scheduler=p=>{At(p,c&&c.suspense)}:r!=="sync"&&(d=!0,a.scheduler=(p,g)=>{g?p():Al(p)}),a.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,c&&(p.id=c.uid,p.i=c))};const f=qg(e,t,a);return Lo&&(u?u.push(f):l&&f()),f}function Xg(e,t,n){const s=this.proxy,o=nt(e)?e.includes(".")?mf(s,e):()=>s[e]:e.bind(s,s);let r;Pe(t)?r=t:(r=t.handler,n=t);const i=Vo(this),a=gf(o,r.bind(s),n);return i(),a}function mf(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o<n.length&&s;o++)s=s[n[o]];return s}}const Dn=new WeakMap,vf=Symbol("_vte"),yf=e=>e.__isTeleport,os=e=>e&&(e.disabled||e.disabled===""),Jg=e=>e&&(e.defer||e.defer===""),Eu=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Au=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Pa=(e,t)=>{const n=e&&e.to;return nt(n)?t?t(n):null:n},Qg={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,i,a,l,u){const{mc:c,pc:d,pbc:f,o:{insert:p,querySelector:g,createText:y,createComment:S,parentNode:k}}=u,w=os(t.props);let{dynamicChildren:b}=t;const _=(E,M,T)=>{E.shapeFlag&16&&c(E.children,M,T,o,r,i,a,l)},B=(E=t)=>{const M=os(E.props),T=E.target=Pa(E.props,g),Z=La(T,E,y,p);T&&(i!=="svg"&&Eu(T)?i="svg":i!=="mathml"&&Au(T)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(T),M||(_(E,T,Z),go(E,!1)))},D=E=>{const M=()=>{if(Dn.get(E)===M){if(Dn.delete(E),os(E.props)){const T=k(E.el)||n;_(E,T,E.anchor),go(E,!0)}B(E)}};Dn.set(E,M),At(M,r)};if(e==null){const E=t.el=y(""),M=t.anchor=y("");if(p(E,n,s),p(M,n,s),Jg(t.props)||r&&r.pendingBranch){D(t);return}w&&(_(t,n,M),go(t,!0)),B()}else{t.el=e.el;const E=t.anchor=e.anchor,M=Dn.get(e);if(M){M.flags|=8,Dn.delete(e),D(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,Z=t.targetAnchor=e.targetAnchor,W=os(e.props),j=W?n:T,te=W?E:Z;if(i==="svg"||Eu(T)?i="svg":(i==="mathml"||Au(T))&&(i="mathml"),b?(f(e.dynamicChildren,b,j,o,r,i,a),Dl(e,t,!0)):l||d(e,t,j,te,o,r,i,a,!1),w)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):or(t,n,E,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const I=Pa(t.props,g);I&&(t.target=I,or(t,I,null,u,0))}else W&&or(t,T,Z,u,1);go(t,w)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:i,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:f}=e,p=os(f),g=r||!p,y=Dn.get(e);if(y&&(y.flags|=8,Dn.delete(e)),d&&(o(u),o(c)),r&&o(l),!y&&(p||d)&&i&16)for(let S=0;S<a.length;S++){const k=a[S];s(k,t,n,g,!!k.dynamicChildren)}},move:or,hydrate:em};function or(e,t,n,{o:{insert:s},m:o},r=2){r===0&&s(e.targetAnchor,t,n);const{el:i,anchor:a,shapeFlag:l,children:u,props:c}=e,d=r===2;if(d&&s(i,t,n),!Dn.has(e)&&(!d||os(c))&&l&16)for(let f=0;f<u.length;f++)o(u[f],t,n,2);d&&s(a,t,n)}function em(e,t,n,s,o,r,{o:{nextSibling:i,parentNode:a,querySelector:l,insert:u,createText:c}},d){function f(S,k){let w=k;for(;w;){if(w&&w.nodeType===8){if(w.data==="teleport start anchor")t.targetStart=w;else if(w.data==="teleport anchor"){t.targetAnchor=w,S._lpa=t.targetAnchor&&i(t.targetAnchor);break}}w=i(w)}}function p(S,k){k.anchor=d(i(S),k,a(S),n,s,o,r)}const g=t.target=Pa(t.props,l),y=os(t.props);if(g){const S=g._lpa||g.firstChild;t.shapeFlag&16&&(y?(p(e,t),f(g,S),t.targetAnchor||La(g,t,c,u,a(e)===g?e:null)):(t.anchor=i(e),f(g,S),t.targetAnchor||La(g,t,c,u),d(S&&i(S),t,g,n,s,o,r))),go(t,y)}else y&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=i(e));return t.anchor&&i(t.anchor)}const Xs=Qg;function go(e,t){const n=e.ctx;if(n&&n.ut){let s,o;for(t?(s=e.el,o=e.anchor):(s=e.targetStart,o=e.targetAnchor);s&&s!==o;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function La(e,t,n,s,o=null){const r=t.targetStart=n(""),i=t.targetAnchor=n("");return r[vf]=i,e&&(s(r,e,o),s(i,e,o)),i}const Ut=Symbol("_leaveCb"),io=Symbol("_enterCb");function bf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return et(()=>{e.isMounted=!0}),st(()=>{e.isUnmounting=!0}),e}const Bt=[Function,Array],kf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bt,onEnter:Bt,onAfterEnter:Bt,onEnterCancelled:Bt,onBeforeLeave:Bt,onLeave:Bt,onAfterLeave:Bt,onLeaveCancelled:Bt,onBeforeAppear:Bt,onAppear:Bt,onAfterAppear:Bt,onAppearCancelled:Bt},wf=e=>{const t=e.subTree;return t.component?wf(t.component):t},tm={name:"BaseTransition",props:kf,setup(e,{slots:t}){const n=xi(),s=bf();return()=>{const o=t.default&&Ml(t.default(),!0),r=o&&o.length?Sf(o):n.subTree?U():void 0;if(!r)return;const i=je(e),{mode:a}=i;if(s.isLeaving)return Zi(r);const l=Mu(r);if(!l)return Zi(r);let u=Po(l,i,s,n,d=>u=d);l.type!==Ct&&gs(l,u);let c=n.subTree&&Mu(n.subTree);if(c&&c.type!==Ct&&!rs(c,l)&&wf(n).type!==Ct){let d=Po(c,i,s,n);if(gs(c,d),a==="out-in"&&l.type!==Ct)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,c=void 0},Zi(r);a==="in-out"&&l.type!==Ct?d.delayLeave=(f,p,g)=>{const y=_f(s,c);y[String(c.key)]=c,f[Ut]=()=>{p(),f[Ut]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return r}}};function Sf(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}const nm=tm;function _f(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Po(e,t,n,s,o){const{appear:r,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:g,onLeaveCancelled:y,onBeforeAppear:S,onAppear:k,onAfterAppear:w,onAppearCancelled:b}=t,_=String(e.key),B=_f(n,e),D=(T,Z)=>{T&&Vt(T,s,9,Z)},E=(T,Z)=>{const W=Z[1];D(T,Z),xe(T)?T.every(j=>j.length<=1)&&W():T.length<=1&&W()},M={mode:i,persisted:a,beforeEnter(T){let Z=l;if(!n.isMounted)if(r)Z=S||l;else return;T[Ut]&&T[Ut](!0);const W=B[_];W&&rs(e,W)&&W.el[Ut]&&W.el[Ut](),D(Z,[T])},enter(T){if(B[_]===e)return;let Z=u,W=c,j=d;if(!n.isMounted)if(r)Z=k||u,W=w||c,j=b||d;else return;let te=!1;T[io]=A=>{te||(te=!0,A?D(j,[T]):D(W,[T]),M.delayedLeave&&M.delayedLeave(),T[io]=void 0)};const I=T[io].bind(null,!1);Z?E(Z,[T,I]):I()},leave(T,Z){const W=String(e.key);if(T[io]&&T[io](!0),n.isUnmounting)return Z();D(f,[T]);let j=!1;T[Ut]=I=>{j||(j=!0,Z(),I?D(y,[T]):D(g,[T]),T[Ut]=void 0,B[W]===e&&delete B[W])};const te=T[Ut].bind(null,!1);B[W]=e,p?E(p,[T,te]):te()},clone(T){const Z=Po(T,t,n,s,o);return o&&o(Z),Z}};return M}function Zi(e){if(wi(e))return e=qn(e),e.children=null,e}function Mu(e){if(!wi(e))return yf(e.type)&&e.children?Sf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Pe(n.default))return n.default()}}function gs(e,t){e.shapeFlag&6&&e.component?(e.transition=t,gs(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 Ml(e,t=!1,n){let s=[],o=0;for(let r=0;r<e.length;r++){let i=e[r];const a=n==null?i.key:String(n)+String(i.key!=null?i.key:r);i.type===ne?(i.patchFlag&128&&o++,s=s.concat(Ml(i.children,t,a))):(t||i.type!==Ct)&&s.push(a!=null?qn(i,{key:a}):i)}if(o>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function Ie(e,t){return Pe(e)?ct({name:e.name},t,{setup:e}):e}function $f(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ru(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Pr=new WeakMap;function _o(e,t,n,s,o=!1){if(xe(e)){e.forEach((y,S)=>_o(y,t&&(xe(t)?t[S]:t),n,s,o));return}if(Fs(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&_o(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Ii(s.component):s.el,i=o?null:r,{i:a,r:l}=e,u=t&&t.r,c=a.refs===Je?a.refs={}:a.refs,d=a.setupState,f=je(d),p=d===Je?Gd:y=>Ru(c,y)?!1:He(f,y),g=(y,S)=>!(S&&Ru(c,S));if(u!=null&&u!==l){if(Pu(t),nt(u))c[u]=null,p(u)&&(d[u]=null);else if(ht(u)){const y=t;g(u,y.k)&&(u.value=null),y.k&&(c[y.k]=null)}}if(Pe(l))qo(l,a,12,[i,c]);else{const y=nt(l),S=ht(l);if(y||S){const k=()=>{if(e.f){const w=y?p(l)?d[l]:c[l]:g()||!e.k?l.value:c[e.k];if(o)xe(w)&&wl(w,r);else if(xe(w))w.includes(r)||w.push(r);else if(y)c[l]=[r],p(l)&&(d[l]=c[l]);else{const b=[r];g(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else y?(c[l]=i,p(l)&&(d[l]=i)):S&&(g(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const w=()=>{k(),Pr.delete(e)};w.id=-1,Pr.set(e,w),At(w,n)}else Pu(e),k()}}}function Pu(e){const t=Pr.get(e);t&&(t.flags|=8,Pr.delete(e))}yi().requestIdleCallback;yi().cancelIdleCallback;const Fs=e=>!!e.type.__asyncLoader,wi=e=>e.type.__isKeepAlive;function sm(e,t){Cf(e,"a",t)}function om(e,t){Cf(e,"da",t)}function Cf(e,t,n=xt){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Si(t,s,n),n){let o=n.parent;for(;o&&o.parent;)wi(o.parent.vnode)&&rm(s,t,n,o),o=o.parent}}function rm(e,t,n,s){const o=Si(t,e,s,!0);_i(()=>{wl(s[t],o)},n)}function Si(e,t,n=xt,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{En();const a=Vo(n),l=Vt(t,n,e,i);return a(),An(),l});return s?o.unshift(r):o.push(r),r}}const Rn=e=>(t,n=xt)=>{(!Lo||e==="sp")&&Si(e,(...s)=>t(...s),n)},im=Rn("bm"),et=Rn("m"),xf=Rn("bu"),Rl=Rn("u"),st=Rn("bum"),_i=Rn("um"),am=Rn("sp"),lm=Rn("rtg"),um=Rn("rtc");function cm(e,t=xt){Si("ec",e,t)}const dm="components",If=Symbol.for("v-ndc");function Tf(e){return nt(e)?fm(dm,e,!1)||e:e||If}function fm(e,t,n=!0,s=!1){const o=St||xt;if(o){const r=o.type;{const a=Zm(r,!1);if(a&&(a===t||a===Lt(t)||a===mi(Lt(t))))return r}const i=Lu(o[e]||r[e],t)||Lu(o.appContext[e],t);return!i&&s?r:i}}function Lu(e,t){return e&&(e[t]||e[Lt(t)]||e[mi(Lt(t))])}function Ce(e,t,n,s){let o;const r=n&&n[s],i=xe(e);if(i||nt(e)){const a=i&&hs(e);let l=!1,u=!1;a&&(l=!qt(e),u=Mn(e),e=bi(e)),o=new Array(e.length);for(let c=0,d=e.length;c<d;c++)o[c]=t(l?u?qs(nn(e[c])):nn(e[c]):e[c],c,void 0,r&&r[c])}else if(typeof e=="number"){o=new Array(e);for(let a=0;a<e;a++)o[a]=t(a+1,a,void 0,r&&r[a])}else if(qe(e))if(e[Symbol.iterator])o=Array.from(e,(a,l)=>t(a,l,void 0,r&&r[l]));else{const a=Object.keys(e);o=new Array(a.length);for(let l=0,u=a.length;l<u;l++){const c=a[l];o[l]=t(e[c],c,l,r&&r[l])}}else o=[];return n&&(n[s]=o),o}function $o(e,t,n={},s,o,r){if(St.ce||St.parent&&Fs(St.parent)&&St.parent.ce){const u=n,c=Object.keys(u).length>0;return t!=="default"&&(u.name=t),m(),De(ne,null,[X("slot",u,s&&s())],c?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Tn.length;m();let l;try{const u=i&&Ef(i(n)),c=n.key||r||u&&u.key;l=De(ne,{key:(c&&!tn(c)?c:`_${t}`)+(!u&&s?"_fb":"")},u||(s?s():[]),u&&e._===1?64:-2)}catch(u){for(let c=Tn.length;c>a;c--)Nl();throw u}finally{i&&i._c&&(i._d=!0)}return l}function Ef(e){return e.some(t=>Ks(t)?!(t.type===Ct||t.type===ne&&!Ef(t.children)):!0)?e:null}function hm(e,t){const n={};for(const s in e)n[gr(s)]=e[s];return n}const Da=e=>e?Zf(e)?Ii(e):Da(e.parent):null,Co=ct(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=>Da(e.parent),$root:e=>Da(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mf(e),$forceUpdate:e=>e.f||(e.f=()=>{Al(e.update)}),$nextTick:e=>e.n||(e.n=Fe.bind(e.proxy)),$watch:e=>Xg.bind(e)}),Yi=(e,t)=>e!==Je&&!e.__isScriptSetup&&He(e,t),pm={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const f=i[t];if(f!==void 0)switch(f){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(Yi(s,t))return i[t]=1,s[t];if(o!==Je&&He(o,t))return i[t]=2,o[t];if(He(r,t))return i[t]=3,r[t];if(n!==Je&&He(n,t))return i[t]=4,n[t];Na&&(i[t]=0)}}const u=Co[t];let c,d;if(u)return t==="$attrs"&&$t(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==Je&&He(n,t))return i[t]=4,n[t];if(d=l.config.globalProperties,He(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return Yi(o,t)?(o[t]=n,!0):s!==Je&&He(s,t)?(s[t]=n,!0):He(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:r,type:i}},a){let l;return!!(n[a]||e!==Je&&a[0]!=="$"&&He(e,a)||Yi(t,a)||He(r,a)||He(s,a)||He(Co,a)||He(o.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:He(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Du(e){return xe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Na=!0;function gm(e){const t=Mf(e),n=e.proxy,s=e.ctx;Na=!1,t.beforeCreate&&Nu(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:p,updated:g,activated:y,deactivated:S,beforeDestroy:k,beforeUnmount:w,destroyed:b,unmounted:_,render:B,renderTracked:D,renderTriggered:E,errorCaptured:M,serverPrefetch:T,expose:Z,inheritAttrs:W,components:j,directives:te,filters:I}=t;if(u&&mm(u,s,null),i)for(const ie in i){const me=i[ie];Pe(me)&&(s[ie]=me.bind(n))}if(o){const ie=o.call(n,n);qe(ie)&&(e.data=Wn(ie))}if(Na=!0,r)for(const ie in r){const me=r[ie],_e=Pe(me)?me.bind(n,n):Pe(me.get)?me.get.bind(n,n):Jt,he=!Pe(me)&&Pe(me.set)?me.set.bind(n):Jt,ae=G({get:_e,set:he});Object.defineProperty(s,ie,{enumerable:!0,configurable:!0,get:()=>ae.value,set:pe=>ae.value=pe})}if(a)for(const ie in a)Af(a[ie],s,n,ie);if(l){const ie=Pe(l)?l.call(n):l;Reflect.ownKeys(ie).forEach(me=>{vr(me,ie[me])})}c&&Nu(c,e,"c");function V(ie,me){xe(me)?me.forEach(_e=>ie(_e.bind(n))):me&&ie(me.bind(n))}if(V(im,d),V(et,f),V(xf,p),V(Rl,g),V(sm,y),V(om,S),V(cm,M),V(um,D),V(lm,E),V(st,w),V(_i,_),V(am,T),xe(Z))if(Z.length){const ie=e.exposed||(e.exposed={});Z.forEach(me=>{Object.defineProperty(ie,me,{get:()=>n[me],set:_e=>n[me]=_e,enumerable:!0})})}else e.exposed||(e.exposed={});B&&e.render===Jt&&(e.render=B),W!=null&&(e.inheritAttrs=W),j&&(e.components=j),te&&(e.directives=te),T&&$f(e)}function mm(e,t,n=Jt){xe(e)&&(e=Oa(e));for(const s in e){const o=e[s];let r;qe(o)?"default"in o?r=In(o.from||s,o.default,!0):r=In(o.from||s):r=In(o),ht(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function Nu(e,t,n){Vt(xe(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Af(e,t,n,s){let o=s.includes(".")?mf(n,s):()=>n[s];if(nt(e)){const r=t[e];Pe(r)&&Se(o,r)}else if(Pe(e))Se(o,e.bind(n));else if(qe(e))if(xe(e))e.forEach(r=>Af(r,t,n,s));else{const r=Pe(e.handler)?e.handler.bind(n):t[e.handler];Pe(r)&&Se(o,r,e)}}function Mf(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!o.length&&!n&&!s?l=t:(l={},o.length&&o.forEach(u=>Lr(l,u,i,!0)),Lr(l,t,i)),qe(t)&&r.set(t,l),l}function Lr(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Lr(e,r,n,!0),o&&o.forEach(i=>Lr(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const a=vm[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const vm={data:Ou,props:Gu,emits:Gu,methods:mo,computed:mo,beforeCreate:Et,created:Et,beforeMount:Et,mounted:Et,beforeUpdate:Et,updated:Et,beforeDestroy:Et,beforeUnmount:Et,destroyed:Et,unmounted:Et,activated:Et,deactivated:Et,errorCaptured:Et,serverPrefetch:Et,components:mo,directives:mo,watch:bm,provide:Ou,inject:ym};function Ou(e,t){return t?e?function(){return ct(Pe(e)?e.call(this,this):e,Pe(t)?t.call(this,this):t)}:t:e}function ym(e,t){return mo(Oa(e),Oa(t))}function Oa(e){if(xe(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Et(e,t){return e?[...new Set([].concat(e,t))]:t}function mo(e,t){return e?ct(Object.create(null),e,t):t}function Gu(e,t){return e?xe(e)&&xe(t)?[...new Set([...e,...t])]:ct(Object.create(null),Du(e),Du(t??{})):t}function bm(e,t){if(!e)return t;if(!t)return e;const n=ct(Object.create(null),e);for(const s in t)n[s]=Et(e[s],t[s]);return n}function Rf(){return{app:null,config:{isNativeTag:Gd,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 km=0;function wm(e,t){return function(s,o=null){Pe(s)||(s=ct({},s)),o!=null&&!qe(o)&&(o=null);const r=Rf(),i=new WeakSet,a=[];let l=!1;const u=r.app={_uid:km++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Jm,get config(){return r.config},set config(c){},use(c,...d){return i.has(c)||(c&&Pe(c.install)?(i.add(c),c.install(u,...d)):Pe(c)&&(i.add(c),c(u,...d))),u},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),u},component(c,d){return d?(r.components[c]=d,u):r.components[c]},directive(c,d){return d?(r.directives[c]=d,u):r.directives[c]},mount(c,d,f){if(!l){const p=u._ceVNode||X(s,o);return p.appContext=r,f===!0?f="svg":f===!1&&(f=void 0),e(p,c,f),l=!0,u._container=c,c.__vue_app__=u,Ii(p.component)}},onUnmount(c){a.push(c)},unmount(){l&&(Vt(a,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(c,d){return r.provides[c]=d,u},runWithContext(c){const d=Us;Us=u;try{return c()}finally{Us=d}}};return u}}let Us=null;const Sm=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Lt(t)}Modifiers`]||e[`${Kn(t)}Modifiers`];function _m(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Je;let o=n;const r=t.startsWith("update:"),i=r&&Sm(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>nt(c)?c.trim():c)),i.number&&(o=n.map(vi)));let a,l=s[a=gr(t)]||s[a=gr(Lt(t))];!l&&r&&(l=s[a=gr(Kn(t))]),l&&Vt(l,e,6,o);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Vt(u,e,6,o)}}const $m=new WeakMap;function Pf(e,t,n=!1){const s=n?$m:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},a=!1;if(!Pe(e)){const l=u=>{const c=Pf(u,t,!0);c&&(a=!0,ct(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(qe(e)&&s.set(e,null),null):(xe(r)?r.forEach(l=>i[l]=null):ct(i,r),qe(e)&&s.set(e,i),i)}function $i(e,t){return!e||!fi(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,Kn(t))||He(e,t))}function Bu(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:d,data:f,setupState:p,ctx:g,inheritAttrs:y}=e,S=Rr(e);let k,w;try{if(n.shapeFlag&4){const _=o||s,B=_;k=fn(u.call(B,_,c,d,p,f,g)),w=a}else{const _=t;k=fn(_.length>1?_(d,{attrs:a,slots:i,emit:l}):_(d,null)),w=t.props?a:Cm(a)}}catch(_){Tn.length=0,ki(_,e,1),k=X(Ct)}let b=k;if(w&&y!==!1){const _=Object.keys(w),{shapeFlag:B}=b;_.length&&B&7&&(r&&_.some(hi)&&(w=xm(w,r)),b=qn(b,w,!1,!0))}return n.dirs&&(b=qn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&gs(b,n.transition),k=b,Rr(S),k}const Cm=e=>{let t;for(const n in e)(n==="class"||n==="style"||fi(n))&&((t||(t={}))[n]=e[n]);return t},xm=(e,t)=>{const n={};for(const s in e)(!hi(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Im(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:a,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?Fu(s,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let d=0;d<c.length;d++){const f=c[d];if(Lf(i,s,f)&&!$i(u,f))return!0}}}else return(o||a)&&(!a||!a.$stable)?!0:s===i?!1:s?i?Fu(s,i,u):!0:!!i;return!1}function Fu(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let o=0;o<s.length;o++){const r=s[o];if(Lf(t,e,r)&&!$i(n,r))return!0}return!1}function Lf(e,t,n){const s=e[n],o=t[n];return n==="style"&&qe(s)&&qe(o)?!Wo(s,o):s!==o}function Tm({vnode:e,parent:t,suspense:n},s){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=s,e=o),o===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Df={},Nf=()=>Object.create(Df),Of=e=>Object.getPrototypeOf(e)===Df;function Em(e,t,n,s=!1){const o={},r=Nf();e.propsDefaults=Object.create(null),Gf(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Gg(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Am(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,a=je(o),[l]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let d=0;d<c.length;d++){let f=c[d];if($i(e.emitsOptions,f))continue;const p=t[f];if(l)if(He(r,f))p!==r[f]&&(r[f]=p,u=!0);else{const g=Lt(f);o[g]=Ga(l,a,g,p,e,!1)}else p!==r[f]&&(r[f]=p,u=!0)}}}else{Gf(e,t,o,r)&&(u=!0);let c;for(const d in a)(!t||!He(t,d)&&((c=Kn(d))===d||!He(t,c)))&&(l?n&&(n[d]!==void 0||n[c]!==void 0)&&(o[d]=Ga(l,a,d,void 0,e,!0)):delete o[d]);if(r!==a)for(const d in r)(!t||!He(t,d))&&(delete r[d],u=!0)}u&&kn(e.attrs,"set","")}function Gf(e,t,n,s){const[o,r]=e.propsOptions;let i=!1,a;if(t)for(let l in t){if(ko(l))continue;const u=t[l];let c;o&&He(o,c=Lt(l))?!r||!r.includes(c)?n[c]=u:(a||(a={}))[c]=u:$i(e.emitsOptions,l)||(!(l in s)||u!==s[l])&&(s[l]=u,i=!0)}if(r){const l=je(n),u=a||Je;for(let c=0;c<r.length;c++){const d=r[c];n[d]=Ga(o,l,d,u[d],e,!He(u,d))}}return i}function Ga(e,t,n,s,o,r){const i=e[n];if(i!=null){const a=He(i,"default");if(a&&s===void 0){const l=i.default;if(i.type!==Function&&!i.skipFactory&&Pe(l)){const{propsDefaults:u}=o;if(n in u)s=u[n];else{const c=Vo(o);s=u[n]=l.call(null,t),c()}}else s=l;o.ce&&o.ce._setProp(n,s)}i[0]&&(r&&!a?s=!1:i[1]&&(s===""||s===Kn(n))&&(s=!0))}return s}const Mm=new WeakMap;function Bf(e,t,n=!1){const s=n?Mm:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,i={},a=[];let l=!1;if(!Pe(e)){const c=d=>{l=!0;const[f,p]=Bf(d,t,!0);ct(i,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return qe(e)&&s.set(e,Os),Os;if(xe(r))for(let c=0;c<r.length;c++){const d=Lt(r[c]);Uu(d)&&(i[d]=Je)}else if(r)for(const c in r){const d=Lt(c);if(Uu(d)){const f=r[c],p=i[d]=xe(f)||Pe(f)?{type:f}:ct({},f),g=p.type;let y=!1,S=!0;if(xe(g))for(let k=0;k<g.length;++k){const w=g[k],b=Pe(w)&&w.name;if(b==="Boolean"){y=!0;break}else b==="String"&&(S=!1)}else y=Pe(g)&&g.name==="Boolean";p[0]=y,p[1]=S,(y||He(p,"default"))&&a.push(d)}}const u=[i,a];return qe(e)&&s.set(e,u),u}function Uu(e){return e[0]!=="$"&&!ko(e)}const Pl=e=>e==="_"||e==="_ctx"||e==="$stable",Ll=e=>xe(e)?e.map(fn):[fn(e)],Rm=(e,t,n)=>{if(t._n)return t;const s=ot((...o)=>Ll(t(...o)),n);return s._c=!1,s},Ff=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Pl(o))continue;const r=e[o];if(Pe(r))t[o]=Rm(o,r,s);else if(r!=null){const i=Ll(r);t[o]=()=>i}}},Uf=(e,t)=>{const n=Ll(t);e.slots.default=()=>n},jf=(e,t,n)=>{for(const s in t)(n||!Pl(s))&&(e[s]=t[s])},Pm=(e,t,n)=>{const s=e.slots=Nf();if(e.vnode.shapeFlag&32){const o=t._;o?(jf(s,t,n),n&&jd(s,"_",o,!0)):Ff(t,s)}else t&&Uf(e,t)},Lm=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=Je;if(s.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:jf(o,t,n):(r=!t.$stable,Ff(t,o)),i=t}else t&&(Uf(e,t),i={default:1});if(r)for(const a in o)!Pl(a)&&i[a]==null&&delete o[a]},At=Bm;function Dm(e){return Nm(e)}function Nm(e,t){const n=yi();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:p=Jt,insertStaticContent:g}=e,y=(x,P,z,ee=null,J=null,R=null,K=void 0,N=null,Q=!!P.dynamicChildren)=>{if(x===P)return;x&&!rs(x,P)&&(ee=Ue(x),pe(x,J,R,!0),x=null),P.patchFlag===-2&&(Q=!1,P.dynamicChildren=null);const{type:$,ref:H,shapeFlag:q}=P;switch($){case Ci:S(x,P,z,ee);break;case Ct:k(x,P,z,ee);break;case yr:x==null&&w(P,z,ee,K);break;case ne:j(x,P,z,ee,J,R,K,N,Q);break;default:q&1?B(x,P,z,ee,J,R,K,N,Q):q&6?te(x,P,z,ee,J,R,K,N,Q):(q&64||q&128)&&$.process(x,P,z,ee,J,R,K,N,Q,rt)}H!=null&&J?_o(H,x&&x.ref,R,P||x,!P):H==null&&x&&x.ref!=null&&_o(x.ref,null,R,x,!0)},S=(x,P,z,ee)=>{if(x==null)s(P.el=a(P.children),z,ee);else{const J=P.el=x.el;P.children!==x.children&&u(J,P.children)}},k=(x,P,z,ee)=>{x==null?s(P.el=l(P.children||""),z,ee):P.el=x.el},w=(x,P,z,ee)=>{[x.el,x.anchor]=g(x.children,P,z,ee,x.el,x.anchor)},b=({el:x,anchor:P},z,ee)=>{let J;for(;x&&x!==P;)J=f(x),s(x,z,ee),x=J;s(P,z,ee)},_=({el:x,anchor:P})=>{let z;for(;x&&x!==P;)z=f(x),o(x),x=z;o(P)},B=(x,P,z,ee,J,R,K,N,Q)=>{if(P.type==="svg"?K="svg":P.type==="math"&&(K="mathml"),x==null)D(P,z,ee,J,R,K,N,Q);else{const $=x.el&&x.el._isVueCE?x.el:null;try{$&&$._beginPatch(),T(x,P,J,R,K,N,Q)}finally{$&&$._endPatch()}}},D=(x,P,z,ee,J,R,K,N)=>{let Q,$;const{props:H,shapeFlag:q,transition:se,dirs:fe}=x;if(Q=x.el=i(x.type,R,H&&H.is,H),q&8?c(Q,x.children):q&16&&M(x.children,Q,null,ee,J,Xi(x,R),K,N),fe&&Xn(x,null,ee,"created"),E(Q,x,x.scopeId,K,ee),H){for(const Ee in H)Ee!=="value"&&!ko(Ee)&&r(Q,Ee,null,H[Ee],R,ee);"value"in H&&r(Q,"value",null,H.value,R),($=H.onVnodeBeforeMount)&&rn($,ee,x)}fe&&Xn(x,null,ee,"beforeMount");const ye=Om(J,se);ye&&se.beforeEnter(Q),s(Q,P,z),(($=H&&H.onVnodeMounted)||ye||fe)&&At(()=>{try{$&&rn($,ee,x),ye&&se.enter(Q),fe&&Xn(x,null,ee,"mounted")}finally{}},J)},E=(x,P,z,ee,J)=>{if(z&&p(x,z),ee)for(let R=0;R<ee.length;R++)p(x,ee[R]);if(J){let R=J.subTree;if(P===R||Wf(R.type)&&(R.ssContent===P||R.ssFallback===P)){const K=J.vnode;E(x,K,K.scopeId,K.slotScopeIds,J.parent)}}},M=(x,P,z,ee,J,R,K,N,Q=0)=>{for(let $=Q;$<x.length;$++){const H=x[$]=N?vn(x[$]):fn(x[$]);y(null,H,P,z,ee,J,R,K,N)}},T=(x,P,z,ee,J,R,K)=>{const N=P.el=x.el;let{patchFlag:Q,dynamicChildren:$,dirs:H}=P;Q|=x.patchFlag&16;const q=x.props||Je,se=P.props||Je;let fe;if(z&&Jn(z,!1),(fe=se.onVnodeBeforeUpdate)&&rn(fe,z,P,x),H&&Xn(P,x,z,"beforeUpdate"),z&&Jn(z,!0),$&&(!x.dynamicChildren||x.dynamicChildren.length!==$.length)&&(Q=0,K=!1,$=null),(q.innerHTML&&se.innerHTML==null||q.textContent&&se.textContent==null)&&c(N,""),$?Z(x.dynamicChildren,$,N,z,ee,Xi(P,J),R):K||me(x,P,N,null,z,ee,Xi(P,J),R,!1),Q>0){if(Q&16)W(N,q,se,z,J);else if(Q&2&&q.class!==se.class&&r(N,"class",null,se.class,J),Q&4&&r(N,"style",q.style,se.style,J),Q&8){const ye=P.dynamicProps;for(let Ee=0;Ee<ye.length;Ee++){const ke=ye[Ee],be=q[ke],Oe=se[ke];(Oe!==be||ke==="value")&&r(N,ke,be,Oe,J,z)}}Q&1&&x.children!==P.children&&c(N,P.children)}else!K&&$==null&&W(N,q,se,z,J);((fe=se.onVnodeUpdated)||H)&&At(()=>{fe&&rn(fe,z,P,x),H&&Xn(P,x,z,"updated")},ee)},Z=(x,P,z,ee,J,R,K)=>{for(let N=0;N<P.length;N++){const Q=x[N],$=P[N],H=Q.el&&(Q.type===ne||!rs(Q,$)||Q.shapeFlag&198)?d(Q.el):z;y(Q,$,H,null,ee,J,R,K,!0)}},W=(x,P,z,ee,J)=>{if(P!==z){if(P!==Je)for(const R in P)!ko(R)&&!(R in z)&&r(x,R,P[R],null,J,ee);for(const R in z){if(ko(R))continue;const K=z[R],N=P[R];K!==N&&R!=="value"&&r(x,R,N,K,J,ee)}"value"in z&&r(x,"value",P.value,z.value,J)}},j=(x,P,z,ee,J,R,K,N,Q)=>{const $=P.el=x?x.el:a(""),H=P.anchor=x?x.anchor:a("");let{patchFlag:q,dynamicChildren:se,slotScopeIds:fe}=P;fe&&(N=N?N.concat(fe):fe),x==null?(s($,z,ee),s(H,z,ee),M(P.children||[],z,H,J,R,K,N,Q)):q>0&&q&64&&se&&x.dynamicChildren&&x.dynamicChildren.length===se.length?(Z(x.dynamicChildren,se,z,J,R,K,N),(P.key!=null||J&&P===J.subTree)&&Dl(x,P,!0)):me(x,P,z,H,J,R,K,N,Q)},te=(x,P,z,ee,J,R,K,N,Q)=>{P.slotScopeIds=N,x==null?P.shapeFlag&512?J.ctx.activate(P,z,ee,K,Q):I(P,z,ee,J,R,K,Q):A(x,P,Q)},I=(x,P,z,ee,J,R,K)=>{const N=x.component=Hm(x,ee,J);if(wi(x)&&(N.ctx.renderer=rt),Wm(N,!1,K),N.asyncDep){if(J&&J.registerDep(N,V,K),!x.el){const Q=N.subTree=X(Ct);k(null,Q,P,z),x.placeholder=Q.el}}else V(N,x,P,z,J,R,K)},A=(x,P,z)=>{const ee=P.component=x.component;if(Im(x,P,z))if(ee.asyncDep&&!ee.asyncResolved){ie(ee,P,z);return}else ee.next=P,ee.update();else P.el=x.el,ee.vnode=P},V=(x,P,z,ee,J,R,K)=>{const N=()=>{if(x.isMounted){let{next:q,bu:se,u:fe,parent:ye,vnode:Ee}=x;{const gt=zf(x);if(gt){q&&(q.el=Ee.el,ie(x,q,K)),gt.asyncDep.then(()=>{At(()=>{x.isUnmounted||$()},J)});return}}let ke=q,be;Jn(x,!1),q?(q.el=Ee.el,ie(x,q,K)):q=Ee,se&&mr(se),(be=q.props&&q.props.onVnodeBeforeUpdate)&&rn(be,ye,q,Ee),Jn(x,!0);const Oe=Bu(x),lt=x.subTree;x.subTree=Oe,y(lt,Oe,d(lt.el),Ue(lt),x,J,R),q.el=Oe.el,ke===null&&Tm(x,Oe.el),fe&&At(fe,J),(be=q.props&&q.props.onVnodeUpdated)&&At(()=>rn(be,ye,q,Ee),J)}else{let q;const{el:se,props:fe}=P,{bm:ye,m:Ee,parent:ke,root:be,type:Oe}=x,lt=Fs(P);Jn(x,!1),ye&&mr(ye),!lt&&(q=fe&&fe.onVnodeBeforeMount)&&rn(q,ke,P),Jn(x,!0);{be.ce&&be.ce._hasShadowRoot()&&be.ce._injectChildStyle(Oe,x.parent?x.parent.type:void 0);const gt=x.subTree=Bu(x);y(null,gt,z,ee,x,J,R),P.el=gt.el}if(Ee&&At(Ee,J),!lt&&(q=fe&&fe.onVnodeMounted)){const gt=P;At(()=>rn(q,ke,gt),J)}(P.shapeFlag&256||ke&&Fs(ke.vnode)&&ke.vnode.shapeFlag&256)&&x.a&&At(x.a,J),x.isMounted=!0,P=z=ee=null}};x.scope.on();const Q=x.effect=new qd(N);x.scope.off();const $=x.update=Q.run.bind(Q),H=x.job=Q.runIfDirty.bind(Q);H.i=x,H.id=x.uid,Q.scheduler=()=>Al(H),Jn(x,!0),$()},ie=(x,P,z)=>{P.component=x;const ee=x.vnode.props;x.vnode=P,x.next=null,Am(x,P.props,ee,z),Lm(x,P.children,z),En(),Tu(x),An()},me=(x,P,z,ee,J,R,K,N,Q=!1)=>{const $=x&&x.children,H=x?x.shapeFlag:0,q=P.children,{patchFlag:se,shapeFlag:fe}=P;if(se>0){if(se&128){he($,q,z,ee,J,R,K,N,Q);return}else if(se&256){_e($,q,z,ee,J,R,K,N,Q);return}}fe&8?(H&16&&Ne($,J,R),q!==$&&c(z,q)):H&16?fe&16?he($,q,z,ee,J,R,K,N,Q):Ne($,J,R,!0):(H&8&&c(z,""),fe&16&&M(q,z,ee,J,R,K,N,Q))},_e=(x,P,z,ee,J,R,K,N,Q)=>{x=x||Os,P=P||Os;const $=x.length,H=P.length,q=Math.min($,H);let se;for(se=0;se<q;se++){const fe=P[se]=Q?vn(P[se]):fn(P[se]);y(x[se],fe,z,null,J,R,K,N,Q)}$>H?Ne(x,J,R,!0,!1,q):M(P,z,ee,J,R,K,N,Q,q)},he=(x,P,z,ee,J,R,K,N,Q)=>{let $=0;const H=P.length;let q=x.length-1,se=H-1;for(;$<=q&&$<=se;){const fe=x[$],ye=P[$]=Q?vn(P[$]):fn(P[$]);if(rs(fe,ye))y(fe,ye,z,null,J,R,K,N,Q);else break;$++}for(;$<=q&&$<=se;){const fe=x[q],ye=P[se]=Q?vn(P[se]):fn(P[se]);if(rs(fe,ye))y(fe,ye,z,null,J,R,K,N,Q);else break;q--,se--}if($>q){if($<=se){const fe=se+1,ye=fe<H?P[fe].el:ee;for(;$<=se;)y(null,P[$]=Q?vn(P[$]):fn(P[$]),z,ye,J,R,K,N,Q),$++}}else if($>se)for(;$<=q;)pe(x[$],J,R,!0),$++;else{const fe=$,ye=$,Ee=new Map;for($=ye;$<=se;$++){const mt=P[$]=Q?vn(P[$]):fn(P[$]);mt.key!=null&&Ee.set(mt.key,$)}let ke,be=0;const Oe=se-ye+1;let lt=!1,gt=0;const sn=new Array(Oe);for($=0;$<Oe;$++)sn[$]=0;for($=fe;$<=q;$++){const mt=x[$];if(be>=Oe){pe(mt,J,R,!0);continue}let Nt;if(mt.key!=null)Nt=Ee.get(mt.key);else for(ke=ye;ke<=se;ke++)if(sn[ke-ye]===0&&rs(mt,P[ke])){Nt=ke;break}Nt===void 0?pe(mt,J,R,!0):(sn[Nt-ye]=$+1,Nt>=gt?gt=Nt:lt=!0,y(mt,P[Nt],z,null,J,R,K,N,Q),be++)}const ws=lt?Gm(sn):Os;for(ke=ws.length-1,$=Oe-1;$>=0;$--){const mt=ye+$,Nt=P[mt],Ss=P[mt+1],_s=mt+1<H?Ss.el||Hf(Ss):ee;sn[$]===0?y(null,Nt,z,_s,J,R,K,N,Q):lt&&(ke<0||$!==ws[ke]?ae(Nt,z,_s,2):ke--)}}},ae=(x,P,z,ee,J=null)=>{const{el:R,type:K,transition:N,children:Q,shapeFlag:$}=x;if($&6){ae(x.component.subTree,P,z,ee);return}if($&128){x.suspense.move(P,z,ee);return}if($&64){K.move(x,P,z,rt);return}if(K===ne){s(R,P,z);for(let q=0;q<Q.length;q++)ae(Q[q],P,z,ee);s(x.anchor,P,z);return}if(K===yr){b(x,P,z);return}if(ee!==2&&$&1&&N)if(ee===0)N.persisted&&!R[Ut]?s(R,P,z):(N.beforeEnter(R),s(R,P,z),At(()=>N.enter(R),J));else{const{leave:q,delayLeave:se,afterLeave:fe}=N,ye=()=>{x.ctx.isUnmounted?o(R):s(R,P,z)},Ee=()=>{const ke=R._isLeaving||!!R[Ut];R._isLeaving&&R[Ut](!0),N.persisted&&!ke?ye():q(R,()=>{ye(),fe&&fe()})};se?se(R,ye,Ee):Ee()}else s(R,P,z)},pe=(x,P,z,ee=!1,J=!1)=>{const{type:R,props:K,ref:N,children:Q,dynamicChildren:$,shapeFlag:H,patchFlag:q,dirs:se,cacheIndex:fe,memo:ye}=x;if(q===-2&&(J=!1),N!=null&&(En(),_o(N,null,z,x,!0),An()),fe!=null&&(P.renderCache[fe]=void 0),H&256){P.ctx.deactivate(x);return}const Ee=H&1&&se,ke=!Fs(x);let be;if(ke&&(be=K&&K.onVnodeBeforeUnmount)&&rn(be,P,x),H&6)$e(x.component,z,ee);else{if(H&128){x.suspense.unmount(z,ee);return}Ee&&Xn(x,null,P,"beforeUnmount"),H&64?x.type.remove(x,P,z,rt,ee):$&&!$.hasOnce&&(R!==ne||q>0&&q&64)?Ne($,P,z,!1,!0):(R===ne&&q&384||!J&&H&16)&&Ne(Q,P,z),ee&&oe(x)}const Oe=ye!=null&&fe==null;(ke&&(be=K&&K.onVnodeUnmounted)||Ee||Oe)&&At(()=>{be&&rn(be,P,x),Ee&&Xn(x,null,P,"unmounted"),Oe&&(x.el=null)},z)},oe=x=>{const{type:P,el:z,anchor:ee,transition:J}=x;if(P===ne){ge(z,ee);return}if(P===yr){_(x);return}const R=()=>{o(z),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if(x.shapeFlag&1&&J&&!J.persisted){const{leave:K,delayLeave:N}=J,Q=()=>K(z,R);N?N(x.el,R,Q):Q()}else R()},ge=(x,P)=>{let z;for(;x!==P;)z=f(x),o(x),x=z;o(P)},$e=(x,P,z)=>{const{bum:ee,scope:J,job:R,subTree:K,um:N,m:Q,a:$}=x;ju(Q),ju($),ee&&mr(ee),J.stop(),R&&(R.flags|=8,pe(K,x,P,z)),N&&At(N,P),At(()=>{x.isUnmounted=!0},P)},Ne=(x,P,z,ee=!1,J=!1,R=0)=>{for(let K=R;K<x.length;K++)pe(x[K],P,z,ee,J)},Ue=x=>{if(x.shapeFlag&6)return Ue(x.component.subTree);if(x.shapeFlag&128)return x.suspense.next();const P=f(x.anchor||x.el),z=P&&P[vf];return z?f(z):P};let Ke=!1;const Ye=(x,P,z)=>{let ee;x==null?P._vnode&&(pe(P._vnode,null,null,!0),ee=P._vnode.component):y(P._vnode||null,x,P,null,null,null,z),P._vnode=x,Ke||(Ke=!0,Tu(ee),ff(),Ke=!1)},rt={p:y,um:pe,m:ae,r:oe,mt:I,mc:M,pc:me,pbc:Z,n:Ue,o:e};return{render:Ye,hydrate:void 0,createApp:wm(Ye)}}function Xi({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Jn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Om(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Dl(e,t,n=!1){const s=e.children,o=t.children;if(xe(s)&&xe(o))for(let r=0;r<s.length;r++){const i=s[r];let a=o[r];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=o[r]=vn(o[r]),a.el=i.el),!n&&a.patchFlag!==-2&&Dl(i,a)),a.type===Ci&&(a.patchFlag===-1&&(a=o[r]=vn(a)),a.el=i.el),a.type===Ct&&!a.el&&(a.el=i.el)}}function Gm(e){const t=e.slice(),n=[0];let s,o,r,i,a;const l=e.length;for(s=0;s<l;s++){const u=e[s];if(u!==0){if(o=n[n.length-1],e[o]<u){t[s]=o,n.push(s);continue}for(r=0,i=n.length-1;r<i;)a=r+i>>1,e[n[a]]<u?r=a+1:i=a;u<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function zf(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zf(t)}function ju(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Hf(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Hf(t.subTree):null}const Wf=e=>e.__isSuspense;function Bm(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):df(e)}const ne=Symbol.for("v-fgt"),Ci=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),yr=Symbol.for("v-stc"),Tn=[];let Rt=null;function m(e=!1){Tn.push(Rt=e?null:[])}function Nl(){Tn.pop(),Rt=Tn[Tn.length-1]||null}let Vs=1;function Dr(e,t=!1){Vs+=e,e<0&&Rt&&t&&(Rt.hasOnce=!0)}function qf(e){return e.dynamicChildren=Vs>0?Rt||Os:null,Nl(),Vs>0&&Rt&&Rt.push(e),e}function v(e,t,n,s,o,r){return qf(h(e,t,n,s,o,r,!0))}function De(e,t,n,s,o){return qf(X(e,t,n,s,o,!0))}function Ks(e){return e?e.__v_isVNode===!0:!1}function rs(e,t){return e.type===t.type&&e.key===t.key}const Vf=({key:e})=>e??null,br=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?nt(e)||ht(e)||Pe(e)?{i:St,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,o=null,r=e===ne?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vf(t),ref:t&&br(t),scopeId:pf,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:St};return a?(Nr(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=nt(n)?8:16),Vs>0&&!i&&Rt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Rt.push(l),l}const X=Fm;function Fm(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===If)&&(e=Ct),Ks(e)){const a=qn(e,t,!0);return n&&Nr(a,n),Vs>0&&!r&&Rt&&(a.shapeFlag&6?Rt[Rt.indexOf(e)]=a:Rt.push(a)),a.patchFlag=-2,a}if(Ym(e)&&(e=e.__vccOpts),t){t=Um(t);let{class:a,style:l}=t;a&&!nt(a)&&(t.class=ue(a)),qe(l)&&(El(l)&&!xe(l)&&(l=ct({},l)),t.style=bt(l))}const i=nt(e)?1:Wf(e)?128:yf(e)?64:qe(e)?4:Pe(e)?2:0;return h(e,t,n,s,o,i,r,!0)}function Um(e){return e?El(e)||Of(e)?ct({},e):e:null}function qn(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:a,transition:l}=e,u=t?Kf(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Vf(u),ref:t&&t.ref?n&&r?xe(r)?r.concat(br(t)):[r,br(t)]:br(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ne?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qn(e.ssContent),ssFallback:e.ssFallback&&qn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&gs(c,l.clone(c)),c}function Ae(e=" ",t=0){return X(Ci,null,e,t)}function U(e="",t=!1){return t?(m(),De(Ct,null,e)):X(Ct,null,e)}function fn(e){return e==null||typeof e=="boolean"?X(Ct):xe(e)?X(ne,null,e.slice()):Ks(e)?vn(e):X(Ci,null,String(e))}function vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qn(e)}function Nr(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(xe(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Nr(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Of(t)?t._ctx=St:o===3&&St&&(St.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Pe(t)){if(s&65){Nr(e,{default:t});return}t={default:t,_ctx:St},n=32}else t=String(t),s&64?(n=16,t=[Ae(t)]):n=8;e.children=t,e.shapeFlag|=n}function Kf(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const o in s)if(o==="class")t.class!==s.class&&(t.class=ue([t.class,s.class]));else if(o==="style")t.style=bt([t.style,s.style]);else if(fi(o)){const r=t[o],i=s[o];i&&r!==i&&!(xe(r)&&r.includes(i))?t[o]=r?[].concat(r,i):i:i==null&&r==null&&!hi(o)&&(t[o]=i)}else o!==""&&(t[o]=s[o])}return t}function rn(e,t,n,s=null){Vt(e,t,7,[n,s])}const jm=Rf();let zm=0;function Hm(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||jm,r={uid:zm++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new bg(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Bf(s,o),emitsOptions:Pf(s,o),emit:null,emitted:null,propsDefaults:Je,inheritAttrs:s.inheritAttrs,ctx:Je,data:Je,props:Je,attrs:Je,slots:Je,refs:Je,setupState:Je,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=_m.bind(null,r),e.ce&&e.ce(r),r}let xt=null;const xi=()=>xt||St;let Or,Ba;{const e=yi(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Or=t("__VUE_INSTANCE_SETTERS__",n=>xt=n),Ba=t("__VUE_SSR_SETTERS__",n=>Lo=n)}const Vo=e=>{const t=xt;return Or(e),e.scope.on(),()=>{e.scope.off(),Or(t)}},zu=()=>{xt&&xt.scope.off(),Or(null)};function Zf(e){return e.vnode.shapeFlag&4}let Lo=!1;function Wm(e,t=!1,n=!1){t&&Ba(t);const{props:s,children:o}=e.vnode,r=Zf(e);Em(e,s,r,t),Pm(e,o,n||t);const i=r?qm(e,t):void 0;return t&&Ba(!1),i}function qm(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pm);const{setup:s}=n;if(s){En();const o=e.setupContext=s.length>1?Km(e):null,r=Vo(e),i=qo(s,e,0,[e.props,o]),a=Bd(i);if(An(),r(),(a||e.sp)&&!Fs(e)&&$f(e),a){if(i.then(zu,zu),t)return i.then(l=>{Hu(e,l)}).catch(l=>{ki(l,e,0)});e.asyncDep=i}else Hu(e,i)}else Yf(e)}function Hu(e,t,n){Pe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:qe(t)&&(e.setupState=lf(t)),Yf(e)}function Yf(e,t,n){const s=e.type;e.render||(e.render=s.render||Jt);{const o=Vo(e);En();try{gm(e)}finally{An(),o()}}}const Vm={get(e,t){return $t(e,"get",""),e[t]}};function Km(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Vm),slots:e.slots,emit:e.emit,expose:t}}function Ii(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(lf(Bg(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Co)return Co[n](e)},has(t,n){return n in t||n in Co}})):e.proxy}function Zm(e,t=!0){return Pe(e)?e.displayName||e.name:e.name||t&&e.__name}function Ym(e){return Pe(e)&&"__vccOpts"in e}const G=(e,t)=>Hg(e,t,Lo);function ze(e,t,n){try{Dr(-1);const s=arguments.length;return s===2?qe(t)&&!xe(t)?Ks(t)?X(e,null,[t]):X(e,t):X(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Ks(n)&&(n=[n]),X(e,t,n))}finally{Dr(1)}}function Xm(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s<n.length;s++)if(Zt(n[s],t[s]))return!1;return Vs>0&&Rt&&Rt.push(e),!0}const Jm="3.5.40";/**
14
+ **/function Vo(e,t,n,s){try{return s?e(...s):e()}catch(o){wi(o,t,n)}}function Vt(e,t,n,s){if(Pe(e)){const o=Vo(e,t,n,s);return o&&Bd(o)&&o.catch(r=>{wi(r,t,n)}),o}if(xe(e)){const o=[];for(let r=0;r<e.length;r++)o.push(Vt(e[r],t,n,s));return o}}function wi(e,t,n,s=!0){const o=t?t.vnode:null,{errorHandler:r,throwUnhandledErrorInProduction:i}=t&&t.appContext.config||Je;if(t){let a=t.parent;const l=t.proxy,u=`https://vuejs.org/error-reference/#runtime-${n}`;for(;a;){const c=a.ec;if(c){for(let d=0;d<c.length;d++)if(c[d](e,l,u)===!1)return}a=a.parent}if(r){En(),Vo(r,null,10,[e,l,u]),An();return}}Vg(e,n,o,s,i)}function Vg(e,t,n,s=!0,o=!1){if(o)throw e;console.error(e)}const Mt=[];let cn=-1;const Fs=[];let Bn=null,Ms=0;const uf=Promise.resolve();let Rr=null;function Fe(e){const t=Rr||uf;return e?t.then(this?e.bind(this):e):t}function Kg(e){let t=cn+1,n=Mt.length;for(;t<n;){const s=t+n>>>1,o=Mt[s],r=Po(o);r<e||r===e&&o.flags&2?t=s+1:n=s}return t}function Al(e){if(!(e.flags&1)){const t=Po(e),n=Mt[Mt.length-1];!n||!(e.flags&2)&&t>=Po(n)?Mt.push(e):Mt.splice(Kg(t),0,e),e.flags|=1,cf()}}function cf(){Rr||(Rr=uf.then(hf))}function df(e){xe(e)?Fs.push(...e):Bn&&e.id===-1?Bn.splice(Ms+1,0,e):e.flags&1||(Fs.push(e),e.flags|=1),cf()}function Tu(e,t,n=cn+1){for(;n<Mt.length;n++){const s=Mt[n];if(s&&s.flags&2){if(e&&s.id!==e.uid)continue;Mt.splice(n,1),n--,s.flags&4&&(s.flags&=-2),s(),s.flags&4||(s.flags&=-2)}}}function ff(e){if(Fs.length){const t=[...new Set(Fs)].sort((n,s)=>Po(n)-Po(s));if(Fs.length=0,Bn){Bn.push(...t);return}for(Bn=t,Ms=0;Ms<Bn.length;Ms++){const n=Bn[Ms];n.flags&4&&(n.flags&=-2),n.flags&8||n(),n.flags&=-2}Bn=null,Ms=0}}const Po=e=>e.id==null?e.flags&2?-1:1/0:e.id;function hf(e){try{for(cn=0;cn<Mt.length;cn++){const t=Mt[cn];t&&!(t.flags&8)&&(t.flags&4&&(t.flags&=-2),Vo(t,t.i,t.i?15:14),t.flags&4||(t.flags&=-2))}}finally{for(;cn<Mt.length;cn++){const t=Mt[cn];t&&(t.flags&=-2)}cn=-1,Mt.length=0,ff(),Rr=null,(Mt.length||Fs.length)&&hf()}}let St=null,pf=null;function Pr(e){const t=St;return St=e,pf=e&&e.type.__scopeId||null,t}function ot(e,t=St,n){if(!t||e._n)return e;const s=(...o)=>{s._d&&Nr(-1);const r=Pr(t),i=Tn.length;let a;try{a=e(...o)}finally{for(let l=Tn.length;l>i;l--)Nl();Pr(r),s._d&&Nr(1)}return a};return s._n=!0,s._c=!0,s._d=!0,s}function Ze(e,t){if(St===null)return e;const n=Ti(St),s=e.dirs||(e.dirs=[]);for(let o=0;o<t.length;o++){let[r,i,a,l=Je]=t[o];r&&(Pe(r)&&(r={mounted:r,updated:r}),r.deep&&wn(i),s.push({dir:r,instance:n,value:i,oldValue:void 0,arg:a,modifiers:l}))}return e}function Xn(e,t,n,s){const o=e.dirs,r=t&&t.dirs;for(let i=0;i<o.length;i++){const a=o[i];r&&(a.oldValue=r[i].value);let l=a.dir[s];l&&(En(),Vt(l,n,8,[e.el,a,e,t]),An())}}function yr(e,t){if(xt){let n=xt.provides;const s=xt.parent&&xt.parent.provides;s===n&&(n=xt.provides=Object.create(s)),n[e]=t}}function In(e,t,n=!1){const s=Ii();if(s||js){let o=js?js._context.provides:s?s.parent==null||s.ce?s.vnode.appContext&&s.vnode.appContext.provides:s.parent.provides:void 0;if(o&&e in o)return o[e];if(arguments.length>1)return n&&Pe(t)?t.call(s&&s.proxy):t}}const Zg=Symbol.for("v-scx"),Yg=()=>In(Zg);function Se(e,t,n){return gf(e,t,n)}function gf(e,t,n=Je){const{immediate:s,deep:o,flush:r,once:i}=n,a=ct({},n),l=t&&s||!t&&r!=="post";let u;if(Do){if(r==="sync"){const p=Yg();u=p.__watcherHandles||(p.__watcherHandles=[])}else if(!l){const p=()=>{};return p.stop=Jt,p.resume=Jt,p.pause=Jt,p}}const c=xt;a.call=(p,g,y)=>Vt(p,c,g,y);let d=!1;r==="post"?a.scheduler=p=>{At(p,c&&c.suspense)}:r!=="sync"&&(d=!0,a.scheduler=(p,g)=>{g?p():Al(p)}),a.augmentJob=p=>{t&&(p.flags|=4),d&&(p.flags|=2,c&&(p.id=c.uid,p.i=c))};const f=qg(e,t,a);return Do&&(u?u.push(f):l&&f()),f}function Xg(e,t,n){const s=this.proxy,o=nt(e)?e.includes(".")?mf(s,e):()=>s[e]:e.bind(s,s);let r;Pe(t)?r=t:(r=t.handler,n=t);const i=Ko(this),a=gf(o,r.bind(s),n);return i(),a}function mf(e,t){const n=t.split(".");return()=>{let s=e;for(let o=0;o<n.length&&s;o++)s=s[n[o]];return s}}const Dn=new WeakMap,vf=Symbol("_vte"),yf=e=>e.__isTeleport,rs=e=>e&&(e.disabled||e.disabled===""),Jg=e=>e&&(e.defer||e.defer===""),Eu=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Au=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,La=(e,t)=>{const n=e&&e.to;return nt(n)?t?t(n):null:n},Qg={name:"Teleport",__isTeleport:!0,process(e,t,n,s,o,r,i,a,l,u){const{mc:c,pc:d,pbc:f,o:{insert:p,querySelector:g,createText:y,createComment:S,parentNode:k}}=u,w=rs(t.props);let{dynamicChildren:b}=t;const _=(E,A,T)=>{E.shapeFlag&16&&c(E.children,A,T,o,r,i,a,l)},B=(E=t)=>{const A=rs(E.props),T=E.target=La(E.props,g),Z=Da(T,E,y,p);T&&(i!=="svg"&&Eu(T)?i="svg":i!=="mathml"&&Au(T)&&(i="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(T),A||(_(E,T,Z),mo(E,!1)))},D=E=>{const A=()=>{if(Dn.get(E)===A){if(Dn.delete(E),rs(E.props)){const T=k(E.el)||n;_(E,T,E.anchor),mo(E,!0)}B(E)}};Dn.set(E,A),At(A,r)};if(e==null){const E=t.el=y(""),A=t.anchor=y("");if(p(E,n,s),p(A,n,s),Jg(t.props)||r&&r.pendingBranch){D(t);return}w&&(_(t,n,A),mo(t,!0)),B()}else{t.el=e.el;const E=t.anchor=e.anchor,A=Dn.get(e);if(A){A.flags|=8,Dn.delete(e),D(t);return}t.targetStart=e.targetStart;const T=t.target=e.target,Z=t.targetAnchor=e.targetAnchor,W=rs(e.props),j=W?n:T,te=W?E:Z;if(i==="svg"||Eu(T)?i="svg":(i==="mathml"||Au(T))&&(i="mathml"),b?(f(e.dynamicChildren,b,j,o,r,i,a),Dl(e,t,!0)):l||d(e,t,j,te,o,r,i,a,!1),w)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):rr(t,n,E,u,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const I=La(t.props,g);I&&(t.target=I,rr(t,I,null,u,0))}else W&&rr(t,T,Z,u,1);mo(t,w)}},remove(e,t,n,{um:s,o:{remove:o}},r){const{shapeFlag:i,children:a,anchor:l,targetStart:u,targetAnchor:c,target:d,props:f}=e,p=rs(f),g=r||!p,y=Dn.get(e);if(y&&(y.flags|=8,Dn.delete(e)),d&&(o(u),o(c)),r&&o(l),!y&&(p||d)&&i&16)for(let S=0;S<a.length;S++){const k=a[S];s(k,t,n,g,!!k.dynamicChildren)}},move:rr,hydrate:em};function rr(e,t,n,{o:{insert:s},m:o},r=2){r===0&&s(e.targetAnchor,t,n);const{el:i,anchor:a,shapeFlag:l,children:u,props:c}=e,d=r===2;if(d&&s(i,t,n),!Dn.has(e)&&(!d||rs(c))&&l&16)for(let f=0;f<u.length;f++)o(u[f],t,n,2);d&&s(a,t,n)}function em(e,t,n,s,o,r,{o:{nextSibling:i,parentNode:a,querySelector:l,insert:u,createText:c}},d){function f(S,k){let w=k;for(;w;){if(w&&w.nodeType===8){if(w.data==="teleport start anchor")t.targetStart=w;else if(w.data==="teleport anchor"){t.targetAnchor=w,S._lpa=t.targetAnchor&&i(t.targetAnchor);break}}w=i(w)}}function p(S,k){k.anchor=d(i(S),k,a(S),n,s,o,r)}const g=t.target=La(t.props,l),y=rs(t.props);if(g){const S=g._lpa||g.firstChild;t.shapeFlag&16&&(y?(p(e,t),f(g,S),t.targetAnchor||Da(g,t,c,u,a(e)===g?e:null)):(t.anchor=i(e),f(g,S),t.targetAnchor||Da(g,t,c,u),d(S&&i(S),t,g,n,s,o,r))),mo(t,y)}else y&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=i(e));return t.anchor&&i(t.anchor)}const Js=Qg;function mo(e,t){const n=e.ctx;if(n&&n.ut){let s,o;for(t?(s=e.el,o=e.anchor):(s=e.targetStart,o=e.targetAnchor);s&&s!==o;)s.nodeType===1&&s.setAttribute("data-v-owner",n.uid),s=s.nextSibling;n.ut()}}function Da(e,t,n,s,o=null){const r=t.targetStart=n(""),i=t.targetAnchor=n("");return r[vf]=i,e&&(s(r,e,o),s(i,e,o)),i}const Ut=Symbol("_leaveCb"),ao=Symbol("_enterCb");function bf(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return et(()=>{e.isMounted=!0}),st(()=>{e.isUnmounting=!0}),e}const Bt=[Function,Array],kf={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Bt,onEnter:Bt,onAfterEnter:Bt,onEnterCancelled:Bt,onBeforeLeave:Bt,onLeave:Bt,onAfterLeave:Bt,onLeaveCancelled:Bt,onBeforeAppear:Bt,onAppear:Bt,onAfterAppear:Bt,onAppearCancelled:Bt},wf=e=>{const t=e.subTree;return t.component?wf(t.component):t},tm={name:"BaseTransition",props:kf,setup(e,{slots:t}){const n=Ii(),s=bf();return()=>{const o=t.default&&Ml(t.default(),!0),r=o&&o.length?Sf(o):n.subTree?U():void 0;if(!r)return;const i=je(e),{mode:a}=i;if(s.isLeaving)return Yi(r);const l=Mu(r);if(!l)return Yi(r);let u=Lo(l,i,s,n,d=>u=d);l.type!==Ct&&ms(l,u);let c=n.subTree&&Mu(n.subTree);if(c&&c.type!==Ct&&!is(c,l)&&wf(n).type!==Ct){let d=Lo(c,i,s,n);if(ms(c,d),a==="out-in"&&l.type!==Ct)return s.isLeaving=!0,d.afterLeave=()=>{s.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,c=void 0},Yi(r);a==="in-out"&&l.type!==Ct?d.delayLeave=(f,p,g)=>{const y=_f(s,c);y[String(c.key)]=c,f[Ut]=()=>{p(),f[Ut]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{g(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return r}}};function Sf(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==Ct){t=n;break}}return t}const nm=tm;function _f(e,t){const{leavingVNodes:n}=e;let s=n.get(t.type);return s||(s=Object.create(null),n.set(t.type,s)),s}function Lo(e,t,n,s,o){const{appear:r,mode:i,persisted:a=!1,onBeforeEnter:l,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:p,onAfterLeave:g,onLeaveCancelled:y,onBeforeAppear:S,onAppear:k,onAfterAppear:w,onAppearCancelled:b}=t,_=String(e.key),B=_f(n,e),D=(T,Z)=>{T&&Vt(T,s,9,Z)},E=(T,Z)=>{const W=Z[1];D(T,Z),xe(T)?T.every(j=>j.length<=1)&&W():T.length<=1&&W()},A={mode:i,persisted:a,beforeEnter(T){let Z=l;if(!n.isMounted)if(r)Z=S||l;else return;T[Ut]&&T[Ut](!0);const W=B[_];W&&is(e,W)&&W.el[Ut]&&W.el[Ut](),D(Z,[T])},enter(T){if(B[_]===e)return;let Z=u,W=c,j=d;if(!n.isMounted)if(r)Z=k||u,W=w||c,j=b||d;else return;let te=!1;T[ao]=M=>{te||(te=!0,M?D(j,[T]):D(W,[T]),A.delayedLeave&&A.delayedLeave(),T[ao]=void 0)};const I=T[ao].bind(null,!1);Z?E(Z,[T,I]):I()},leave(T,Z){const W=String(e.key);if(T[ao]&&T[ao](!0),n.isUnmounting)return Z();D(f,[T]);let j=!1;T[Ut]=I=>{j||(j=!0,Z(),I?D(y,[T]):D(g,[T]),T[Ut]=void 0,B[W]===e&&delete B[W])};const te=T[Ut].bind(null,!1);B[W]=e,p?E(p,[T,te]):te()},clone(T){const Z=Lo(T,t,n,s,o);return o&&o(Z),Z}};return A}function Yi(e){if(Si(e))return e=qn(e),e.children=null,e}function Mu(e){if(!Si(e))return yf(e.type)&&e.children?Sf(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&Pe(n.default))return n.default()}}function ms(e,t){e.shapeFlag&6&&e.component?(e.transition=t,ms(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 Ml(e,t=!1,n){let s=[],o=0;for(let r=0;r<e.length;r++){let i=e[r];const a=n==null?i.key:String(n)+String(i.key!=null?i.key:r);i.type===ne?(i.patchFlag&128&&o++,s=s.concat(Ml(i.children,t,a))):(t||i.type!==Ct)&&s.push(a!=null?qn(i,{key:a}):i)}if(o>1)for(let r=0;r<s.length;r++)s[r].patchFlag=-2;return s}function Ie(e,t){return Pe(e)?ct({name:e.name},t,{setup:e}):e}function $f(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}function Ru(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}const Lr=new WeakMap;function $o(e,t,n,s,o=!1){if(xe(e)){e.forEach((y,S)=>$o(y,t&&(xe(t)?t[S]:t),n,s,o));return}if(Us(s)&&!o){s.shapeFlag&512&&s.type.__asyncResolved&&s.component.subTree.component&&$o(e,t,n,s.component.subTree);return}const r=s.shapeFlag&4?Ti(s.component):s.el,i=o?null:r,{i:a,r:l}=e,u=t&&t.r,c=a.refs===Je?a.refs={}:a.refs,d=a.setupState,f=je(d),p=d===Je?Gd:y=>Ru(c,y)?!1:He(f,y),g=(y,S)=>!(S&&Ru(c,S));if(u!=null&&u!==l){if(Pu(t),nt(u))c[u]=null,p(u)&&(d[u]=null);else if(ht(u)){const y=t;g(u,y.k)&&(u.value=null),y.k&&(c[y.k]=null)}}if(Pe(l))Vo(l,a,12,[i,c]);else{const y=nt(l),S=ht(l);if(y||S){const k=()=>{if(e.f){const w=y?p(l)?d[l]:c[l]:g()||!e.k?l.value:c[e.k];if(o)xe(w)&&wl(w,r);else if(xe(w))w.includes(r)||w.push(r);else if(y)c[l]=[r],p(l)&&(d[l]=c[l]);else{const b=[r];g(l,e.k)&&(l.value=b),e.k&&(c[e.k]=b)}}else y?(c[l]=i,p(l)&&(d[l]=i)):S&&(g(l,e.k)&&(l.value=i),e.k&&(c[e.k]=i))};if(i){const w=()=>{k(),Lr.delete(e)};w.id=-1,Lr.set(e,w),At(w,n)}else Pu(e),k()}}}function Pu(e){const t=Lr.get(e);t&&(t.flags|=8,Lr.delete(e))}bi().requestIdleCallback;bi().cancelIdleCallback;const Us=e=>!!e.type.__asyncLoader,Si=e=>e.type.__isKeepAlive;function sm(e,t){Cf(e,"a",t)}function om(e,t){Cf(e,"da",t)}function Cf(e,t,n=xt){const s=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(_i(t,s,n),n){let o=n.parent;for(;o&&o.parent;)Si(o.parent.vnode)&&rm(s,t,n,o),o=o.parent}}function rm(e,t,n,s){const o=_i(t,e,s,!0);$i(()=>{wl(s[t],o)},n)}function _i(e,t,n=xt,s=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...i)=>{En();const a=Ko(n),l=Vt(t,n,e,i);return a(),An(),l});return s?o.unshift(r):o.push(r),r}}const Rn=e=>(t,n=xt)=>{(!Do||e==="sp")&&_i(e,(...s)=>t(...s),n)},im=Rn("bm"),et=Rn("m"),xf=Rn("bu"),Rl=Rn("u"),st=Rn("bum"),$i=Rn("um"),am=Rn("sp"),lm=Rn("rtg"),um=Rn("rtc");function cm(e,t=xt){_i("ec",e,t)}const dm="components",If=Symbol.for("v-ndc");function Tf(e){return nt(e)?fm(dm,e,!1)||e:e||If}function fm(e,t,n=!0,s=!1){const o=St||xt;if(o){const r=o.type;{const a=Zm(r,!1);if(a&&(a===t||a===Lt(t)||a===vi(Lt(t))))return r}const i=Lu(o[e]||r[e],t)||Lu(o.appContext[e],t);return!i&&s?r:i}}function Lu(e,t){return e&&(e[t]||e[Lt(t)]||e[vi(Lt(t))])}function Ce(e,t,n,s){let o;const r=n&&n[s],i=xe(e);if(i||nt(e)){const a=i&&ps(e);let l=!1,u=!1;a&&(l=!qt(e),u=Mn(e),e=ki(e)),o=new Array(e.length);for(let c=0,d=e.length;c<d;c++)o[c]=t(l?u?Vs(nn(e[c])):nn(e[c]):e[c],c,void 0,r&&r[c])}else if(typeof e=="number"){o=new Array(e);for(let a=0;a<e;a++)o[a]=t(a+1,a,void 0,r&&r[a])}else if(qe(e))if(e[Symbol.iterator])o=Array.from(e,(a,l)=>t(a,l,void 0,r&&r[l]));else{const a=Object.keys(e);o=new Array(a.length);for(let l=0,u=a.length;l<u;l++){const c=a[l];o[l]=t(e[c],c,l,r&&r[l])}}else o=[];return n&&(n[s]=o),o}function Co(e,t,n={},s,o,r){if(St.ce||St.parent&&Us(St.parent)&&St.parent.ce){const u=n,c=Object.keys(u).length>0;return t!=="default"&&(u.name=t),m(),De(ne,null,[X("slot",u,s&&s())],c?-2:64)}let i=e[t];i&&i._c&&(i._d=!1);const a=Tn.length;m();let l;try{const u=i&&Ef(i(n)),c=n.key||r||u&&u.key;l=De(ne,{key:(c&&!tn(c)?c:`_${t}`)+(!u&&s?"_fb":"")},u||(s?s():[]),u&&e._===1?64:-2)}catch(u){for(let c=Tn.length;c>a;c--)Nl();throw u}finally{i&&i._c&&(i._d=!0)}return l}function Ef(e){return e.some(t=>Zs(t)?!(t.type===Ct||t.type===ne&&!Ef(t.children)):!0)?e:null}function hm(e,t){const n={};for(const s in e)n[mr(s)]=e[s];return n}const Na=e=>e?Zf(e)?Ti(e):Na(e.parent):null,xo=ct(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=>Na(e.parent),$root:e=>Na(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Mf(e),$forceUpdate:e=>e.f||(e.f=()=>{Al(e.update)}),$nextTick:e=>e.n||(e.n=Fe.bind(e.proxy)),$watch:e=>Xg.bind(e)}),Xi=(e,t)=>e!==Je&&!e.__isScriptSetup&&He(e,t),pm={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:s,data:o,props:r,accessCache:i,type:a,appContext:l}=e;if(t[0]!=="$"){const f=i[t];if(f!==void 0)switch(f){case 1:return s[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(Xi(s,t))return i[t]=1,s[t];if(o!==Je&&He(o,t))return i[t]=2,o[t];if(He(r,t))return i[t]=3,r[t];if(n!==Je&&He(n,t))return i[t]=4,n[t];Oa&&(i[t]=0)}}const u=xo[t];let c,d;if(u)return t==="$attrs"&&$t(e.attrs,"get",""),u(e);if((c=a.__cssModules)&&(c=c[t]))return c;if(n!==Je&&He(n,t))return i[t]=4,n[t];if(d=l.config.globalProperties,He(d,t))return d[t]},set({_:e},t,n){const{data:s,setupState:o,ctx:r}=e;return Xi(o,t)?(o[t]=n,!0):s!==Je&&He(s,t)?(s[t]=n,!0):He(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:s,appContext:o,props:r,type:i}},a){let l;return!!(n[a]||e!==Je&&a[0]!=="$"&&He(e,a)||Xi(t,a)||He(r,a)||He(s,a)||He(xo,a)||He(o.config.globalProperties,a)||(l=i.__cssModules)&&l[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:He(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function Du(e){return xe(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let Oa=!0;function gm(e){const t=Mf(e),n=e.proxy,s=e.ctx;Oa=!1,t.beforeCreate&&Nu(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:i,watch:a,provide:l,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:p,updated:g,activated:y,deactivated:S,beforeDestroy:k,beforeUnmount:w,destroyed:b,unmounted:_,render:B,renderTracked:D,renderTriggered:E,errorCaptured:A,serverPrefetch:T,expose:Z,inheritAttrs:W,components:j,directives:te,filters:I}=t;if(u&&mm(u,s,null),i)for(const ie in i){const me=i[ie];Pe(me)&&(s[ie]=me.bind(n))}if(o){const ie=o.call(n,n);qe(ie)&&(e.data=Wn(ie))}if(Oa=!0,r)for(const ie in r){const me=r[ie],_e=Pe(me)?me.bind(n,n):Pe(me.get)?me.get.bind(n,n):Jt,he=!Pe(me)&&Pe(me.set)?me.set.bind(n):Jt,ae=G({get:_e,set:he});Object.defineProperty(s,ie,{enumerable:!0,configurable:!0,get:()=>ae.value,set:pe=>ae.value=pe})}if(a)for(const ie in a)Af(a[ie],s,n,ie);if(l){const ie=Pe(l)?l.call(n):l;Reflect.ownKeys(ie).forEach(me=>{yr(me,ie[me])})}c&&Nu(c,e,"c");function V(ie,me){xe(me)?me.forEach(_e=>ie(_e.bind(n))):me&&ie(me.bind(n))}if(V(im,d),V(et,f),V(xf,p),V(Rl,g),V(sm,y),V(om,S),V(cm,A),V(um,D),V(lm,E),V(st,w),V($i,_),V(am,T),xe(Z))if(Z.length){const ie=e.exposed||(e.exposed={});Z.forEach(me=>{Object.defineProperty(ie,me,{get:()=>n[me],set:_e=>n[me]=_e,enumerable:!0})})}else e.exposed||(e.exposed={});B&&e.render===Jt&&(e.render=B),W!=null&&(e.inheritAttrs=W),j&&(e.components=j),te&&(e.directives=te),T&&$f(e)}function mm(e,t,n=Jt){xe(e)&&(e=Ga(e));for(const s in e){const o=e[s];let r;qe(o)?"default"in o?r=In(o.from||s,o.default,!0):r=In(o.from||s):r=In(o),ht(r)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>r.value,set:i=>r.value=i}):t[s]=r}}function Nu(e,t,n){Vt(xe(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,n)}function Af(e,t,n,s){let o=s.includes(".")?mf(n,s):()=>n[s];if(nt(e)){const r=t[e];Pe(r)&&Se(o,r)}else if(Pe(e))Se(o,e.bind(n));else if(qe(e))if(xe(e))e.forEach(r=>Af(r,t,n,s));else{const r=Pe(e.handler)?e.handler.bind(n):t[e.handler];Pe(r)&&Se(o,r,e)}}function Mf(e){const t=e.type,{mixins:n,extends:s}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:i}}=e.appContext,a=r.get(t);let l;return a?l=a:!o.length&&!n&&!s?l=t:(l={},o.length&&o.forEach(u=>Dr(l,u,i,!0)),Dr(l,t,i)),qe(t)&&r.set(t,l),l}function Dr(e,t,n,s=!1){const{mixins:o,extends:r}=t;r&&Dr(e,r,n,!0),o&&o.forEach(i=>Dr(e,i,n,!0));for(const i in t)if(!(s&&i==="expose")){const a=vm[i]||n&&n[i];e[i]=a?a(e[i],t[i]):t[i]}return e}const vm={data:Ou,props:Gu,emits:Gu,methods:vo,computed:vo,beforeCreate:Et,created:Et,beforeMount:Et,mounted:Et,beforeUpdate:Et,updated:Et,beforeDestroy:Et,beforeUnmount:Et,destroyed:Et,unmounted:Et,activated:Et,deactivated:Et,errorCaptured:Et,serverPrefetch:Et,components:vo,directives:vo,watch:bm,provide:Ou,inject:ym};function Ou(e,t){return t?e?function(){return ct(Pe(e)?e.call(this,this):e,Pe(t)?t.call(this,this):t)}:t:e}function ym(e,t){return vo(Ga(e),Ga(t))}function Ga(e){if(xe(e)){const t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Et(e,t){return e?[...new Set([].concat(e,t))]:t}function vo(e,t){return e?ct(Object.create(null),e,t):t}function Gu(e,t){return e?xe(e)&&xe(t)?[...new Set([...e,...t])]:ct(Object.create(null),Du(e),Du(t??{})):t}function bm(e,t){if(!e)return t;if(!t)return e;const n=ct(Object.create(null),e);for(const s in t)n[s]=Et(e[s],t[s]);return n}function Rf(){return{app:null,config:{isNativeTag:Gd,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 km=0;function wm(e,t){return function(s,o=null){Pe(s)||(s=ct({},s)),o!=null&&!qe(o)&&(o=null);const r=Rf(),i=new WeakSet,a=[];let l=!1;const u=r.app={_uid:km++,_component:s,_props:o,_container:null,_context:r,_instance:null,version:Jm,get config(){return r.config},set config(c){},use(c,...d){return i.has(c)||(c&&Pe(c.install)?(i.add(c),c.install(u,...d)):Pe(c)&&(i.add(c),c(u,...d))),u},mixin(c){return r.mixins.includes(c)||r.mixins.push(c),u},component(c,d){return d?(r.components[c]=d,u):r.components[c]},directive(c,d){return d?(r.directives[c]=d,u):r.directives[c]},mount(c,d,f){if(!l){const p=u._ceVNode||X(s,o);return p.appContext=r,f===!0?f="svg":f===!1&&(f=void 0),e(p,c,f),l=!0,u._container=c,c.__vue_app__=u,Ti(p.component)}},onUnmount(c){a.push(c)},unmount(){l&&(Vt(a,u._instance,16),e(null,u._container),delete u._container.__vue_app__)},provide(c,d){return r.provides[c]=d,u},runWithContext(c){const d=js;js=u;try{return c()}finally{js=d}}};return u}}let js=null;const Sm=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${Lt(t)}Modifiers`]||e[`${Kn(t)}Modifiers`];function _m(e,t,...n){if(e.isUnmounted)return;const s=e.vnode.props||Je;let o=n;const r=t.startsWith("update:"),i=r&&Sm(s,t.slice(7));i&&(i.trim&&(o=n.map(c=>nt(c)?c.trim():c)),i.number&&(o=n.map(yi)));let a,l=s[a=mr(t)]||s[a=mr(Lt(t))];!l&&r&&(l=s[a=mr(Kn(t))]),l&&Vt(l,e,6,o);const u=s[a+"Once"];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Vt(u,e,6,o)}}const $m=new WeakMap;function Pf(e,t,n=!1){const s=n?$m:t.emitsCache,o=s.get(e);if(o!==void 0)return o;const r=e.emits;let i={},a=!1;if(!Pe(e)){const l=u=>{const c=Pf(u,t,!0);c&&(a=!0,ct(i,c))};!n&&t.mixins.length&&t.mixins.forEach(l),e.extends&&l(e.extends),e.mixins&&e.mixins.forEach(l)}return!r&&!a?(qe(e)&&s.set(e,null),null):(xe(r)?r.forEach(l=>i[l]=null):ct(i,r),qe(e)&&s.set(e,i),i)}function Ci(e,t){return!e||!hi(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),He(e,t[0].toLowerCase()+t.slice(1))||He(e,Kn(t))||He(e,t))}function Bu(e){const{type:t,vnode:n,proxy:s,withProxy:o,propsOptions:[r],slots:i,attrs:a,emit:l,render:u,renderCache:c,props:d,data:f,setupState:p,ctx:g,inheritAttrs:y}=e,S=Pr(e);let k,w;try{if(n.shapeFlag&4){const _=o||s,B=_;k=fn(u.call(B,_,c,d,p,f,g)),w=a}else{const _=t;k=fn(_.length>1?_(d,{attrs:a,slots:i,emit:l}):_(d,null)),w=t.props?a:Cm(a)}}catch(_){Tn.length=0,wi(_,e,1),k=X(Ct)}let b=k;if(w&&y!==!1){const _=Object.keys(w),{shapeFlag:B}=b;_.length&&B&7&&(r&&_.some(pi)&&(w=xm(w,r)),b=qn(b,w,!1,!0))}return n.dirs&&(b=qn(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&ms(b,n.transition),k=b,Pr(S),k}const Cm=e=>{let t;for(const n in e)(n==="class"||n==="style"||hi(n))&&((t||(t={}))[n]=e[n]);return t},xm=(e,t)=>{const n={};for(const s in e)(!pi(s)||!(s.slice(9)in t))&&(n[s]=e[s]);return n};function Im(e,t,n){const{props:s,children:o,component:r}=e,{props:i,children:a,patchFlag:l}=t,u=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&l>=0){if(l&1024)return!0;if(l&16)return s?Fu(s,i,u):!!i;if(l&8){const c=t.dynamicProps;for(let d=0;d<c.length;d++){const f=c[d];if(Lf(i,s,f)&&!Ci(u,f))return!0}}}else return(o||a)&&(!a||!a.$stable)?!0:s===i?!1:s?i?Fu(s,i,u):!0:!!i;return!1}function Fu(e,t,n){const s=Object.keys(t);if(s.length!==Object.keys(e).length)return!0;for(let o=0;o<s.length;o++){const r=s[o];if(Lf(t,e,r)&&!Ci(n,r))return!0}return!1}function Lf(e,t,n){const s=e[n],o=t[n];return n==="style"&&qe(s)&&qe(o)?!qo(s,o):s!==o}function Tm({vnode:e,parent:t,suspense:n},s){for(;t;){const o=t.subTree;if(o.suspense&&o.suspense.activeBranch===e&&(o.suspense.vnode.el=o.el=s,e=o),o===e)(e=t.vnode).el=s,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=s)}const Df={},Nf=()=>Object.create(Df),Of=e=>Object.getPrototypeOf(e)===Df;function Em(e,t,n,s=!1){const o={},r=Nf();e.propsDefaults=Object.create(null),Gf(e,t,o,r);for(const i in e.propsOptions[0])i in o||(o[i]=void 0);n?e.props=s?o:Gg(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function Am(e,t,n,s){const{props:o,attrs:r,vnode:{patchFlag:i}}=e,a=je(o),[l]=e.propsOptions;let u=!1;if((s||i>0)&&!(i&16)){if(i&8){const c=e.vnode.dynamicProps;for(let d=0;d<c.length;d++){let f=c[d];if(Ci(e.emitsOptions,f))continue;const p=t[f];if(l)if(He(r,f))p!==r[f]&&(r[f]=p,u=!0);else{const g=Lt(f);o[g]=Ba(l,a,g,p,e,!1)}else p!==r[f]&&(r[f]=p,u=!0)}}}else{Gf(e,t,o,r)&&(u=!0);let c;for(const d in a)(!t||!He(t,d)&&((c=Kn(d))===d||!He(t,c)))&&(l?n&&(n[d]!==void 0||n[c]!==void 0)&&(o[d]=Ba(l,a,d,void 0,e,!0)):delete o[d]);if(r!==a)for(const d in r)(!t||!He(t,d))&&(delete r[d],u=!0)}u&&kn(e.attrs,"set","")}function Gf(e,t,n,s){const[o,r]=e.propsOptions;let i=!1,a;if(t)for(let l in t){if(wo(l))continue;const u=t[l];let c;o&&He(o,c=Lt(l))?!r||!r.includes(c)?n[c]=u:(a||(a={}))[c]=u:Ci(e.emitsOptions,l)||(!(l in s)||u!==s[l])&&(s[l]=u,i=!0)}if(r){const l=je(n),u=a||Je;for(let c=0;c<r.length;c++){const d=r[c];n[d]=Ba(o,l,d,u[d],e,!He(u,d))}}return i}function Ba(e,t,n,s,o,r){const i=e[n];if(i!=null){const a=He(i,"default");if(a&&s===void 0){const l=i.default;if(i.type!==Function&&!i.skipFactory&&Pe(l)){const{propsDefaults:u}=o;if(n in u)s=u[n];else{const c=Ko(o);s=u[n]=l.call(null,t),c()}}else s=l;o.ce&&o.ce._setProp(n,s)}i[0]&&(r&&!a?s=!1:i[1]&&(s===""||s===Kn(n))&&(s=!0))}return s}const Mm=new WeakMap;function Bf(e,t,n=!1){const s=n?Mm:t.propsCache,o=s.get(e);if(o)return o;const r=e.props,i={},a=[];let l=!1;if(!Pe(e)){const c=d=>{l=!0;const[f,p]=Bf(d,t,!0);ct(i,f),p&&a.push(...p)};!n&&t.mixins.length&&t.mixins.forEach(c),e.extends&&c(e.extends),e.mixins&&e.mixins.forEach(c)}if(!r&&!l)return qe(e)&&s.set(e,Gs),Gs;if(xe(r))for(let c=0;c<r.length;c++){const d=Lt(r[c]);Uu(d)&&(i[d]=Je)}else if(r)for(const c in r){const d=Lt(c);if(Uu(d)){const f=r[c],p=i[d]=xe(f)||Pe(f)?{type:f}:ct({},f),g=p.type;let y=!1,S=!0;if(xe(g))for(let k=0;k<g.length;++k){const w=g[k],b=Pe(w)&&w.name;if(b==="Boolean"){y=!0;break}else b==="String"&&(S=!1)}else y=Pe(g)&&g.name==="Boolean";p[0]=y,p[1]=S,(y||He(p,"default"))&&a.push(d)}}const u=[i,a];return qe(e)&&s.set(e,u),u}function Uu(e){return e[0]!=="$"&&!wo(e)}const Pl=e=>e==="_"||e==="_ctx"||e==="$stable",Ll=e=>xe(e)?e.map(fn):[fn(e)],Rm=(e,t,n)=>{if(t._n)return t;const s=ot((...o)=>Ll(t(...o)),n);return s._c=!1,s},Ff=(e,t,n)=>{const s=e._ctx;for(const o in e){if(Pl(o))continue;const r=e[o];if(Pe(r))t[o]=Rm(o,r,s);else if(r!=null){const i=Ll(r);t[o]=()=>i}}},Uf=(e,t)=>{const n=Ll(t);e.slots.default=()=>n},jf=(e,t,n)=>{for(const s in t)(n||!Pl(s))&&(e[s]=t[s])},Pm=(e,t,n)=>{const s=e.slots=Nf();if(e.vnode.shapeFlag&32){const o=t._;o?(jf(s,t,n),n&&jd(s,"_",o,!0)):Ff(t,s)}else t&&Uf(e,t)},Lm=(e,t,n)=>{const{vnode:s,slots:o}=e;let r=!0,i=Je;if(s.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:jf(o,t,n):(r=!t.$stable,Ff(t,o)),i=t}else t&&(Uf(e,t),i={default:1});if(r)for(const a in o)!Pl(a)&&i[a]==null&&delete o[a]},At=Bm;function Dm(e){return Nm(e)}function Nm(e,t){const n=bi();n.__VUE__=!0;const{insert:s,remove:o,patchProp:r,createElement:i,createText:a,createComment:l,setText:u,setElementText:c,parentNode:d,nextSibling:f,setScopeId:p=Jt,insertStaticContent:g}=e,y=(x,P,z,ee=null,J=null,R=null,K=void 0,N=null,Q=!!P.dynamicChildren)=>{if(x===P)return;x&&!is(x,P)&&(ee=Ue(x),pe(x,J,R,!0),x=null),P.patchFlag===-2&&(Q=!1,P.dynamicChildren=null);const{type:$,ref:H,shapeFlag:q}=P;switch($){case xi:S(x,P,z,ee);break;case Ct:k(x,P,z,ee);break;case br:x==null&&w(P,z,ee,K);break;case ne:j(x,P,z,ee,J,R,K,N,Q);break;default:q&1?B(x,P,z,ee,J,R,K,N,Q):q&6?te(x,P,z,ee,J,R,K,N,Q):(q&64||q&128)&&$.process(x,P,z,ee,J,R,K,N,Q,rt)}H!=null&&J?$o(H,x&&x.ref,R,P||x,!P):H==null&&x&&x.ref!=null&&$o(x.ref,null,R,x,!0)},S=(x,P,z,ee)=>{if(x==null)s(P.el=a(P.children),z,ee);else{const J=P.el=x.el;P.children!==x.children&&u(J,P.children)}},k=(x,P,z,ee)=>{x==null?s(P.el=l(P.children||""),z,ee):P.el=x.el},w=(x,P,z,ee)=>{[x.el,x.anchor]=g(x.children,P,z,ee,x.el,x.anchor)},b=({el:x,anchor:P},z,ee)=>{let J;for(;x&&x!==P;)J=f(x),s(x,z,ee),x=J;s(P,z,ee)},_=({el:x,anchor:P})=>{let z;for(;x&&x!==P;)z=f(x),o(x),x=z;o(P)},B=(x,P,z,ee,J,R,K,N,Q)=>{if(P.type==="svg"?K="svg":P.type==="math"&&(K="mathml"),x==null)D(P,z,ee,J,R,K,N,Q);else{const $=x.el&&x.el._isVueCE?x.el:null;try{$&&$._beginPatch(),T(x,P,J,R,K,N,Q)}finally{$&&$._endPatch()}}},D=(x,P,z,ee,J,R,K,N)=>{let Q,$;const{props:H,shapeFlag:q,transition:se,dirs:fe}=x;if(Q=x.el=i(x.type,R,H&&H.is,H),q&8?c(Q,x.children):q&16&&A(x.children,Q,null,ee,J,Ji(x,R),K,N),fe&&Xn(x,null,ee,"created"),E(Q,x,x.scopeId,K,ee),H){for(const Ee in H)Ee!=="value"&&!wo(Ee)&&r(Q,Ee,null,H[Ee],R,ee);"value"in H&&r(Q,"value",null,H.value,R),($=H.onVnodeBeforeMount)&&rn($,ee,x)}fe&&Xn(x,null,ee,"beforeMount");const ye=Om(J,se);ye&&se.beforeEnter(Q),s(Q,P,z),(($=H&&H.onVnodeMounted)||ye||fe)&&At(()=>{try{$&&rn($,ee,x),ye&&se.enter(Q),fe&&Xn(x,null,ee,"mounted")}finally{}},J)},E=(x,P,z,ee,J)=>{if(z&&p(x,z),ee)for(let R=0;R<ee.length;R++)p(x,ee[R]);if(J){let R=J.subTree;if(P===R||Wf(R.type)&&(R.ssContent===P||R.ssFallback===P)){const K=J.vnode;E(x,K,K.scopeId,K.slotScopeIds,J.parent)}}},A=(x,P,z,ee,J,R,K,N,Q=0)=>{for(let $=Q;$<x.length;$++){const H=x[$]=N?vn(x[$]):fn(x[$]);y(null,H,P,z,ee,J,R,K,N)}},T=(x,P,z,ee,J,R,K)=>{const N=P.el=x.el;let{patchFlag:Q,dynamicChildren:$,dirs:H}=P;Q|=x.patchFlag&16;const q=x.props||Je,se=P.props||Je;let fe;if(z&&Jn(z,!1),(fe=se.onVnodeBeforeUpdate)&&rn(fe,z,P,x),H&&Xn(P,x,z,"beforeUpdate"),z&&Jn(z,!0),$&&(!x.dynamicChildren||x.dynamicChildren.length!==$.length)&&(Q=0,K=!1,$=null),(q.innerHTML&&se.innerHTML==null||q.textContent&&se.textContent==null)&&c(N,""),$?Z(x.dynamicChildren,$,N,z,ee,Ji(P,J),R):K||me(x,P,N,null,z,ee,Ji(P,J),R,!1),Q>0){if(Q&16)W(N,q,se,z,J);else if(Q&2&&q.class!==se.class&&r(N,"class",null,se.class,J),Q&4&&r(N,"style",q.style,se.style,J),Q&8){const ye=P.dynamicProps;for(let Ee=0;Ee<ye.length;Ee++){const ke=ye[Ee],be=q[ke],Oe=se[ke];(Oe!==be||ke==="value")&&r(N,ke,be,Oe,J,z)}}Q&1&&x.children!==P.children&&c(N,P.children)}else!K&&$==null&&W(N,q,se,z,J);((fe=se.onVnodeUpdated)||H)&&At(()=>{fe&&rn(fe,z,P,x),H&&Xn(P,x,z,"updated")},ee)},Z=(x,P,z,ee,J,R,K)=>{for(let N=0;N<P.length;N++){const Q=x[N],$=P[N],H=Q.el&&(Q.type===ne||!is(Q,$)||Q.shapeFlag&198)?d(Q.el):z;y(Q,$,H,null,ee,J,R,K,!0)}},W=(x,P,z,ee,J)=>{if(P!==z){if(P!==Je)for(const R in P)!wo(R)&&!(R in z)&&r(x,R,P[R],null,J,ee);for(const R in z){if(wo(R))continue;const K=z[R],N=P[R];K!==N&&R!=="value"&&r(x,R,N,K,J,ee)}"value"in z&&r(x,"value",P.value,z.value,J)}},j=(x,P,z,ee,J,R,K,N,Q)=>{const $=P.el=x?x.el:a(""),H=P.anchor=x?x.anchor:a("");let{patchFlag:q,dynamicChildren:se,slotScopeIds:fe}=P;fe&&(N=N?N.concat(fe):fe),x==null?(s($,z,ee),s(H,z,ee),A(P.children||[],z,H,J,R,K,N,Q)):q>0&&q&64&&se&&x.dynamicChildren&&x.dynamicChildren.length===se.length?(Z(x.dynamicChildren,se,z,J,R,K,N),(P.key!=null||J&&P===J.subTree)&&Dl(x,P,!0)):me(x,P,z,H,J,R,K,N,Q)},te=(x,P,z,ee,J,R,K,N,Q)=>{P.slotScopeIds=N,x==null?P.shapeFlag&512?J.ctx.activate(P,z,ee,K,Q):I(P,z,ee,J,R,K,Q):M(x,P,Q)},I=(x,P,z,ee,J,R,K)=>{const N=x.component=Hm(x,ee,J);if(Si(x)&&(N.ctx.renderer=rt),Wm(N,!1,K),N.asyncDep){if(J&&J.registerDep(N,V,K),!x.el){const Q=N.subTree=X(Ct);k(null,Q,P,z),x.placeholder=Q.el}}else V(N,x,P,z,J,R,K)},M=(x,P,z)=>{const ee=P.component=x.component;if(Im(x,P,z))if(ee.asyncDep&&!ee.asyncResolved){ie(ee,P,z);return}else ee.next=P,ee.update();else P.el=x.el,ee.vnode=P},V=(x,P,z,ee,J,R,K)=>{const N=()=>{if(x.isMounted){let{next:q,bu:se,u:fe,parent:ye,vnode:Ee}=x;{const gt=zf(x);if(gt){q&&(q.el=Ee.el,ie(x,q,K)),gt.asyncDep.then(()=>{At(()=>{x.isUnmounted||$()},J)});return}}let ke=q,be;Jn(x,!1),q?(q.el=Ee.el,ie(x,q,K)):q=Ee,se&&vr(se),(be=q.props&&q.props.onVnodeBeforeUpdate)&&rn(be,ye,q,Ee),Jn(x,!0);const Oe=Bu(x),lt=x.subTree;x.subTree=Oe,y(lt,Oe,d(lt.el),Ue(lt),x,J,R),q.el=Oe.el,ke===null&&Tm(x,Oe.el),fe&&At(fe,J),(be=q.props&&q.props.onVnodeUpdated)&&At(()=>rn(be,ye,q,Ee),J)}else{let q;const{el:se,props:fe}=P,{bm:ye,m:Ee,parent:ke,root:be,type:Oe}=x,lt=Us(P);Jn(x,!1),ye&&vr(ye),!lt&&(q=fe&&fe.onVnodeBeforeMount)&&rn(q,ke,P),Jn(x,!0);{be.ce&&be.ce._hasShadowRoot()&&be.ce._injectChildStyle(Oe,x.parent?x.parent.type:void 0);const gt=x.subTree=Bu(x);y(null,gt,z,ee,x,J,R),P.el=gt.el}if(Ee&&At(Ee,J),!lt&&(q=fe&&fe.onVnodeMounted)){const gt=P;At(()=>rn(q,ke,gt),J)}(P.shapeFlag&256||ke&&Us(ke.vnode)&&ke.vnode.shapeFlag&256)&&x.a&&At(x.a,J),x.isMounted=!0,P=z=ee=null}};x.scope.on();const Q=x.effect=new qd(N);x.scope.off();const $=x.update=Q.run.bind(Q),H=x.job=Q.runIfDirty.bind(Q);H.i=x,H.id=x.uid,Q.scheduler=()=>Al(H),Jn(x,!0),$()},ie=(x,P,z)=>{P.component=x;const ee=x.vnode.props;x.vnode=P,x.next=null,Am(x,P.props,ee,z),Lm(x,P.children,z),En(),Tu(x),An()},me=(x,P,z,ee,J,R,K,N,Q=!1)=>{const $=x&&x.children,H=x?x.shapeFlag:0,q=P.children,{patchFlag:se,shapeFlag:fe}=P;if(se>0){if(se&128){he($,q,z,ee,J,R,K,N,Q);return}else if(se&256){_e($,q,z,ee,J,R,K,N,Q);return}}fe&8?(H&16&&Ne($,J,R),q!==$&&c(z,q)):H&16?fe&16?he($,q,z,ee,J,R,K,N,Q):Ne($,J,R,!0):(H&8&&c(z,""),fe&16&&A(q,z,ee,J,R,K,N,Q))},_e=(x,P,z,ee,J,R,K,N,Q)=>{x=x||Gs,P=P||Gs;const $=x.length,H=P.length,q=Math.min($,H);let se;for(se=0;se<q;se++){const fe=P[se]=Q?vn(P[se]):fn(P[se]);y(x[se],fe,z,null,J,R,K,N,Q)}$>H?Ne(x,J,R,!0,!1,q):A(P,z,ee,J,R,K,N,Q,q)},he=(x,P,z,ee,J,R,K,N,Q)=>{let $=0;const H=P.length;let q=x.length-1,se=H-1;for(;$<=q&&$<=se;){const fe=x[$],ye=P[$]=Q?vn(P[$]):fn(P[$]);if(is(fe,ye))y(fe,ye,z,null,J,R,K,N,Q);else break;$++}for(;$<=q&&$<=se;){const fe=x[q],ye=P[se]=Q?vn(P[se]):fn(P[se]);if(is(fe,ye))y(fe,ye,z,null,J,R,K,N,Q);else break;q--,se--}if($>q){if($<=se){const fe=se+1,ye=fe<H?P[fe].el:ee;for(;$<=se;)y(null,P[$]=Q?vn(P[$]):fn(P[$]),z,ye,J,R,K,N,Q),$++}}else if($>se)for(;$<=q;)pe(x[$],J,R,!0),$++;else{const fe=$,ye=$,Ee=new Map;for($=ye;$<=se;$++){const mt=P[$]=Q?vn(P[$]):fn(P[$]);mt.key!=null&&Ee.set(mt.key,$)}let ke,be=0;const Oe=se-ye+1;let lt=!1,gt=0;const sn=new Array(Oe);for($=0;$<Oe;$++)sn[$]=0;for($=fe;$<=q;$++){const mt=x[$];if(be>=Oe){pe(mt,J,R,!0);continue}let Nt;if(mt.key!=null)Nt=Ee.get(mt.key);else for(ke=ye;ke<=se;ke++)if(sn[ke-ye]===0&&is(mt,P[ke])){Nt=ke;break}Nt===void 0?pe(mt,J,R,!0):(sn[Nt-ye]=$+1,Nt>=gt?gt=Nt:lt=!0,y(mt,P[Nt],z,null,J,R,K,N,Q),be++)}const Ss=lt?Gm(sn):Gs;for(ke=Ss.length-1,$=Oe-1;$>=0;$--){const mt=ye+$,Nt=P[mt],_s=P[mt+1],$s=mt+1<H?_s.el||Hf(_s):ee;sn[$]===0?y(null,Nt,z,$s,J,R,K,N,Q):lt&&(ke<0||$!==Ss[ke]?ae(Nt,z,$s,2):ke--)}}},ae=(x,P,z,ee,J=null)=>{const{el:R,type:K,transition:N,children:Q,shapeFlag:$}=x;if($&6){ae(x.component.subTree,P,z,ee);return}if($&128){x.suspense.move(P,z,ee);return}if($&64){K.move(x,P,z,rt);return}if(K===ne){s(R,P,z);for(let q=0;q<Q.length;q++)ae(Q[q],P,z,ee);s(x.anchor,P,z);return}if(K===br){b(x,P,z);return}if(ee!==2&&$&1&&N)if(ee===0)N.persisted&&!R[Ut]?s(R,P,z):(N.beforeEnter(R),s(R,P,z),At(()=>N.enter(R),J));else{const{leave:q,delayLeave:se,afterLeave:fe}=N,ye=()=>{x.ctx.isUnmounted?o(R):s(R,P,z)},Ee=()=>{const ke=R._isLeaving||!!R[Ut];R._isLeaving&&R[Ut](!0),N.persisted&&!ke?ye():q(R,()=>{ye(),fe&&fe()})};se?se(R,ye,Ee):Ee()}else s(R,P,z)},pe=(x,P,z,ee=!1,J=!1)=>{const{type:R,props:K,ref:N,children:Q,dynamicChildren:$,shapeFlag:H,patchFlag:q,dirs:se,cacheIndex:fe,memo:ye}=x;if(q===-2&&(J=!1),N!=null&&(En(),$o(N,null,z,x,!0),An()),fe!=null&&(P.renderCache[fe]=void 0),H&256){P.ctx.deactivate(x);return}const Ee=H&1&&se,ke=!Us(x);let be;if(ke&&(be=K&&K.onVnodeBeforeUnmount)&&rn(be,P,x),H&6)$e(x.component,z,ee);else{if(H&128){x.suspense.unmount(z,ee);return}Ee&&Xn(x,null,P,"beforeUnmount"),H&64?x.type.remove(x,P,z,rt,ee):$&&!$.hasOnce&&(R!==ne||q>0&&q&64)?Ne($,P,z,!1,!0):(R===ne&&q&384||!J&&H&16)&&Ne(Q,P,z),ee&&oe(x)}const Oe=ye!=null&&fe==null;(ke&&(be=K&&K.onVnodeUnmounted)||Ee||Oe)&&At(()=>{be&&rn(be,P,x),Ee&&Xn(x,null,P,"unmounted"),Oe&&(x.el=null)},z)},oe=x=>{const{type:P,el:z,anchor:ee,transition:J}=x;if(P===ne){ge(z,ee);return}if(P===br){_(x);return}const R=()=>{o(z),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if(x.shapeFlag&1&&J&&!J.persisted){const{leave:K,delayLeave:N}=J,Q=()=>K(z,R);N?N(x.el,R,Q):Q()}else R()},ge=(x,P)=>{let z;for(;x!==P;)z=f(x),o(x),x=z;o(P)},$e=(x,P,z)=>{const{bum:ee,scope:J,job:R,subTree:K,um:N,m:Q,a:$}=x;ju(Q),ju($),ee&&vr(ee),J.stop(),R&&(R.flags|=8,pe(K,x,P,z)),N&&At(N,P),At(()=>{x.isUnmounted=!0},P)},Ne=(x,P,z,ee=!1,J=!1,R=0)=>{for(let K=R;K<x.length;K++)pe(x[K],P,z,ee,J)},Ue=x=>{if(x.shapeFlag&6)return Ue(x.component.subTree);if(x.shapeFlag&128)return x.suspense.next();const P=f(x.anchor||x.el),z=P&&P[vf];return z?f(z):P};let Ke=!1;const Ye=(x,P,z)=>{let ee;x==null?P._vnode&&(pe(P._vnode,null,null,!0),ee=P._vnode.component):y(P._vnode||null,x,P,null,null,null,z),P._vnode=x,Ke||(Ke=!0,Tu(ee),ff(),Ke=!1)},rt={p:y,um:pe,m:ae,r:oe,mt:I,mc:A,pc:me,pbc:Z,n:Ue,o:e};return{render:Ye,hydrate:void 0,createApp:wm(Ye)}}function Ji({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Jn({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Om(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Dl(e,t,n=!1){const s=e.children,o=t.children;if(xe(s)&&xe(o))for(let r=0;r<s.length;r++){const i=s[r];let a=o[r];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=o[r]=vn(o[r]),a.el=i.el),!n&&a.patchFlag!==-2&&Dl(i,a)),a.type===xi&&(a.patchFlag===-1&&(a=o[r]=vn(a)),a.el=i.el),a.type===Ct&&!a.el&&(a.el=i.el)}}function Gm(e){const t=e.slice(),n=[0];let s,o,r,i,a;const l=e.length;for(s=0;s<l;s++){const u=e[s];if(u!==0){if(o=n[n.length-1],e[o]<u){t[s]=o,n.push(s);continue}for(r=0,i=n.length-1;r<i;)a=r+i>>1,e[n[a]]<u?r=a+1:i=a;u<e[n[r]]&&(r>0&&(t[s]=n[r-1]),n[r]=s)}}for(r=n.length,i=n[r-1];r-- >0;)n[r]=i,i=t[i];return n}function zf(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:zf(t)}function ju(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Hf(e){if(e.placeholder)return e.placeholder;const t=e.component;return t?Hf(t.subTree):null}const Wf=e=>e.__isSuspense;function Bm(e,t){t&&t.pendingBranch?xe(e)?t.effects.push(...e):t.effects.push(e):df(e)}const ne=Symbol.for("v-fgt"),xi=Symbol.for("v-txt"),Ct=Symbol.for("v-cmt"),br=Symbol.for("v-stc"),Tn=[];let Rt=null;function m(e=!1){Tn.push(Rt=e?null:[])}function Nl(){Tn.pop(),Rt=Tn[Tn.length-1]||null}let Ks=1;function Nr(e,t=!1){Ks+=e,e<0&&Rt&&t&&(Rt.hasOnce=!0)}function qf(e){return e.dynamicChildren=Ks>0?Rt||Gs:null,Nl(),Ks>0&&Rt&&Rt.push(e),e}function v(e,t,n,s,o,r){return qf(h(e,t,n,s,o,r,!0))}function De(e,t,n,s,o){return qf(X(e,t,n,s,o,!0))}function Zs(e){return e?e.__v_isVNode===!0:!1}function is(e,t){return e.type===t.type&&e.key===t.key}const Vf=({key:e})=>e??null,kr=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?nt(e)||ht(e)||Pe(e)?{i:St,r:e,k:t,f:!!n}:e:null);function h(e,t=null,n=null,s=0,o=null,r=e===ne?0:1,i=!1,a=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Vf(t),ref:t&&kr(t),scopeId:pf,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:St};return a?(Or(l,n),r&128&&e.normalize(l)):n&&(l.shapeFlag|=nt(n)?8:16),Ks>0&&!i&&Rt&&(l.patchFlag>0||r&6)&&l.patchFlag!==32&&Rt.push(l),l}const X=Fm;function Fm(e,t=null,n=null,s=0,o=null,r=!1){if((!e||e===If)&&(e=Ct),Zs(e)){const a=qn(e,t,!0);return n&&Or(a,n),Ks>0&&!r&&Rt&&(a.shapeFlag&6?Rt[Rt.indexOf(e)]=a:Rt.push(a)),a.patchFlag=-2,a}if(Ym(e)&&(e=e.__vccOpts),t){t=Um(t);let{class:a,style:l}=t;a&&!nt(a)&&(t.class=ue(a)),qe(l)&&(El(l)&&!xe(l)&&(l=ct({},l)),t.style=bt(l))}const i=nt(e)?1:Wf(e)?128:yf(e)?64:qe(e)?4:Pe(e)?2:0;return h(e,t,n,s,o,i,r,!0)}function Um(e){return e?El(e)||Of(e)?ct({},e):e:null}function qn(e,t,n=!1,s=!1){const{props:o,ref:r,patchFlag:i,children:a,transition:l}=e,u=t?Kf(o||{},t):o,c={__v_isVNode:!0,__v_skip:!0,type:e.type,props:u,key:u&&Vf(u),ref:t&&t.ref?n&&r?xe(r)?r.concat(kr(t)):[r,kr(t)]:kr(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==ne?i===-1?16:i|16:i,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:l,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&qn(e.ssContent),ssFallback:e.ssFallback&&qn(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return l&&s&&ms(c,l.clone(c)),c}function Ae(e=" ",t=0){return X(xi,null,e,t)}function U(e="",t=!1){return t?(m(),De(Ct,null,e)):X(Ct,null,e)}function fn(e){return e==null||typeof e=="boolean"?X(Ct):xe(e)?X(ne,null,e.slice()):Zs(e)?vn(e):X(xi,null,String(e))}function vn(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:qn(e)}function Or(e,t){let n=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(xe(t))n=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),Or(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!Of(t)?t._ctx=St:o===3&&St&&(St.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(Pe(t)){if(s&65){Or(e,{default:t});return}t={default:t,_ctx:St},n=32}else t=String(t),s&64?(n=16,t=[Ae(t)]):n=8;e.children=t,e.shapeFlag|=n}function Kf(...e){const t={};for(let n=0;n<e.length;n++){const s=e[n];for(const o in s)if(o==="class")t.class!==s.class&&(t.class=ue([t.class,s.class]));else if(o==="style")t.style=bt([t.style,s.style]);else if(hi(o)){const r=t[o],i=s[o];i&&r!==i&&!(xe(r)&&r.includes(i))?t[o]=r?[].concat(r,i):i:i==null&&r==null&&!pi(o)&&(t[o]=i)}else o!==""&&(t[o]=s[o])}return t}function rn(e,t,n,s=null){Vt(e,t,7,[n,s])}const jm=Rf();let zm=0;function Hm(e,t,n){const s=e.type,o=(t?t.appContext:e.appContext)||jm,r={uid:zm++,vnode:e,type:s,parent:t,appContext:o,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new bg(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(o.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Bf(s,o),emitsOptions:Pf(s,o),emit:null,emitted:null,propsDefaults:Je,inheritAttrs:s.inheritAttrs,ctx:Je,data:Je,props:Je,attrs:Je,slots:Je,refs:Je,setupState:Je,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return r.ctx={_:r},r.root=t?t.root:r,r.emit=_m.bind(null,r),e.ce&&e.ce(r),r}let xt=null;const Ii=()=>xt||St;let Gr,Fa;{const e=bi(),t=(n,s)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(s),r=>{o.length>1?o.forEach(i=>i(r)):o[0](r)}};Gr=t("__VUE_INSTANCE_SETTERS__",n=>xt=n),Fa=t("__VUE_SSR_SETTERS__",n=>Do=n)}const Ko=e=>{const t=xt;return Gr(e),e.scope.on(),()=>{e.scope.off(),Gr(t)}},zu=()=>{xt&&xt.scope.off(),Gr(null)};function Zf(e){return e.vnode.shapeFlag&4}let Do=!1;function Wm(e,t=!1,n=!1){t&&Fa(t);const{props:s,children:o}=e.vnode,r=Zf(e);Em(e,s,r,t),Pm(e,o,n||t);const i=r?qm(e,t):void 0;return t&&Fa(!1),i}function qm(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pm);const{setup:s}=n;if(s){En();const o=e.setupContext=s.length>1?Km(e):null,r=Ko(e),i=Vo(s,e,0,[e.props,o]),a=Bd(i);if(An(),r(),(a||e.sp)&&!Us(e)&&$f(e),a){if(i.then(zu,zu),t)return i.then(l=>{Hu(e,l)}).catch(l=>{wi(l,e,0)});e.asyncDep=i}else Hu(e,i)}else Yf(e)}function Hu(e,t,n){Pe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:qe(t)&&(e.setupState=lf(t)),Yf(e)}function Yf(e,t,n){const s=e.type;e.render||(e.render=s.render||Jt);{const o=Ko(e);En();try{gm(e)}finally{An(),o()}}}const Vm={get(e,t){return $t(e,"get",""),e[t]}};function Km(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Vm),slots:e.slots,emit:e.emit,expose:t}}function Ti(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(lf(Bg(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in xo)return xo[n](e)},has(t,n){return n in t||n in xo}})):e.proxy}function Zm(e,t=!0){return Pe(e)?e.displayName||e.name:e.name||t&&e.__name}function Ym(e){return Pe(e)&&"__vccOpts"in e}const G=(e,t)=>Hg(e,t,Do);function ze(e,t,n){try{Nr(-1);const s=arguments.length;return s===2?qe(t)&&!xe(t)?Zs(t)?X(e,null,[t]):X(e,t):X(e,null,t):(s>3?n=Array.prototype.slice.call(arguments,2):s===3&&Zs(n)&&(n=[n]),X(e,t,n))}finally{Nr(1)}}function Xm(e,t){const n=e.memo;if(n.length!=t.length)return!1;for(let s=0;s<n.length;s++)if(Zt(n[s],t[s]))return!1;return Ks>0&&Rt&&Rt.push(e),!0}const Jm="3.5.40";/**
15
15
  * @vue/runtime-dom v3.5.40
16
16
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
17
17
  * @license MIT
18
- **/let Fa;const Wu=typeof window<"u"&&window.trustedTypes;if(Wu)try{Fa=Wu.createPolicy("vue",{createHTML:e=>e})}catch{}const Xf=Fa?e=>Fa.createHTML(e):e=>e,Qm="http://www.w3.org/2000/svg",ev="http://www.w3.org/1998/Math/MathML",mn=typeof document<"u"?document:null,qu=mn&&mn.createElement("template"),tv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?mn.createElementNS(Qm,e):t==="mathml"?mn.createElementNS(ev,e):n?mn.createElement(e,{is:n}):mn.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>mn.createTextNode(e),createComment:e=>mn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>mn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{qu.innerHTML=Xf(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const a=qu.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ln="transition",ao="animation",Zs=Symbol("_vtc"),Jf={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},Qf=ct({},kf,Jf),nv=e=>(e.displayName="Transition",e.props=Qf,e),Ol=nv((e,{slots:t})=>ze(nm,eh(e),t)),Qn=(e,t=[])=>{xe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Vu=e=>e?xe(e)?e.some(t=>t.length>1):e.length>1:!1;function eh(e){const t={};for(const j in e)j in Jf||(t[j]=e[j]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,g=sv(o),y=g&&g[0],S=g&&g[1],{onBeforeEnter:k,onEnter:w,onEnterCancelled:b,onLeave:_,onLeaveCancelled:B,onBeforeAppear:D=k,onAppear:E=w,onAppearCancelled:M=b}=t,T=(j,te,I,A)=>{j._enterCancelled=A,Nn(j,te?c:a),Nn(j,te?u:i),I&&I()},Z=(j,te)=>{j._isLeaving=!1,Nn(j,d),Nn(j,p),Nn(j,f),te&&te()},W=j=>(te,I)=>{const A=j?E:w,V=()=>T(te,j,I);Qn(A,[te,V]),Ku(()=>{Nn(te,j?l:r),an(te,j?c:a),Vu(A)||Zu(te,s,y,V)})};return ct(t,{onBeforeEnter(j){Qn(k,[j]),an(j,r),an(j,i)},onBeforeAppear(j){Qn(D,[j]),an(j,l),an(j,u)},onEnter:W(!1),onAppear:W(!0),onLeave(j,te){j._isLeaving=!0;const I=()=>Z(j,te);an(j,d),j._enterCancelled?(an(j,f),Ua(j)):(Ua(j),an(j,f)),Ku(()=>{j._isLeaving&&(Nn(j,d),an(j,p),Vu(_)||Zu(j,s,S,I))}),Qn(_,[j,I])},onEnterCancelled(j){T(j,!1,void 0,!0),Qn(b,[j])},onAppearCancelled(j){T(j,!0,void 0,!0),Qn(M,[j])},onLeaveCancelled(j){Z(j),Qn(B,[j])}})}function sv(e){if(e==null)return null;if(qe(e))return[Ji(e.enter),Ji(e.leave)];{const t=Ji(e);return[t,t]}}function Ji(e){return ug(e)}function an(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Zs]||(e[Zs]=new Set)).add(t)}function Nn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Zs];n&&(n.delete(t),n.size||(e[Zs]=void 0))}function Ku(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ov=0;function Zu(e,t,n,s){const o=e._endId=++ov,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:i,timeout:a,propCount:l}=th(e,t);if(!i)return s();const u=i+"end";let c=0;const d=()=>{e.removeEventListener(u,f),r()},f=p=>{p.target===e&&++c>=l&&d()};setTimeout(()=>{c<l&&d()},a+1),e.addEventListener(u,f)}function th(e,t){const n=window.getComputedStyle(e),s=g=>(n[g]||"").split(", "),o=s(`${Ln}Delay`),r=s(`${Ln}Duration`),i=Yu(o,r),a=s(`${ao}Delay`),l=s(`${ao}Duration`),u=Yu(a,l);let c=null,d=0,f=0;t===Ln?i>0&&(c=Ln,d=i,f=r.length):t===ao?u>0&&(c=ao,d=u,f=l.length):(d=Math.max(i,u),c=d>0?i>u?Ln:ao:null,f=c?c===Ln?r.length:l.length:0);const p=c===Ln&&/\b(?:transform|all)(?:,|$)/.test(s(`${Ln}Property`).toString());return{type:c,timeout:d,propCount:f,hasTransform:p}}function Yu(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>Xu(n)+Xu(e[s])))}function Xu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Ua(e){return(e?e.ownerDocument:document).body.offsetHeight}function rv(e,t,n){const s=e[Zs];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Gr=Symbol("_vod"),Gl=Symbol("_vsh"),Br={name:"show",beforeMount(e,{value:t},{transition:n}){e[Gr]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):lo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),lo(e,!0),s.enter(e)):s.leave(e,()=>{lo(e,!1)}):lo(e,t))},beforeUnmount(e,{value:t}){lo(e,t)}};function lo(e,t){e.style.display=t?e[Gr]:"none",e[Gl]=!t}const nh=Symbol("");function iv(e){const t=xi();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(r=>Fr(r,o))},s=()=>{const o=e(t.proxy);t.ce?Fr(t.ce,o):ja(t.subTree,o),n(o)};xf(()=>{df(s)}),et(()=>{Se(s,Jt,{flush:"post"});const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),_i(()=>o.disconnect())})}function ja(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{ja(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Fr(e.el,t);else if(e.type===ne)e.children.forEach(n=>ja(n,t));else if(e.type===yr){let{el:n,anchor:s}=e;for(;n&&(Fr(n,t),n!==s);)n=n.nextSibling}}function Fr(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const o in t){const r=yg(t[o]);n.setProperty(`--${o}`,r),s+=`--${o}: ${r};`}n[nh]=s}}const av=/(?:^|;)\s*display\s*:/;function lv(e,t,n){const s=e.style,o=nt(n);let r=!1;if(n&&!o){if(t)if(nt(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&vo(s,a,"")}else for(const i in t)n[i]==null&&vo(s,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?cv(e,i,!nt(t)&&t?t[i]:void 0,a)||vo(s,i,a):vo(s,i,"")}}else if(o){if(t!==n){const i=s[nh];i&&(n+=";"+i),s.cssText=n,r=av.test(n)}}else t&&e.removeAttribute("style");Gr in e&&(e[Gr]=r?s.display:"",e[Gl]&&(s.display="none"))}const Ju=/\s*!important$/;function vo(e,t,n){if(xe(n))n.forEach(s=>vo(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=uv(e,t);Ju.test(n)?e.setProperty(Kn(s),n.replace(Ju,""),"important"):e[s]=n}}const Qu=["Webkit","Moz","ms"],Qi={};function uv(e,t){const n=Qi[t];if(n)return n;let s=Lt(t);if(s!=="filter"&&s in e)return Qi[t]=s;s=mi(s);for(let o=0;o<Qu.length;o++){const r=Qu[o]+s;if(r in e)return Qi[t]=r}return t}function cv(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&nt(s)&&n===s}const ec="http://www.w3.org/1999/xlink";function tc(e,t,n,s,o,r=gg(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ec,t.slice(6,t.length)):e.setAttributeNS(ec,t,n):n==null||r&&!zd(n)?e.removeAttribute(t):e.setAttribute(t,r?"":tn(n)?String(n):n)}function nc(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Xf(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const a=r==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=zd(n):n==null&&a==="string"?(n="",i=!0):a==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(o||t)}function is(e,t,n,s){e.addEventListener(t,n,s)}function dv(e,t,n,s){e.removeEventListener(t,n,s)}const sc=Symbol("_vei");function fv(e,t,n,s,o=null){const r=e[sc]||(e[sc]={}),i=r[t];if(s&&i)i.value=s;else{const[a,l]=gv(t);if(s){const u=r[t]=yv(s,o);is(e,a,u,l)}else i&&(dv(e,a,i,l),r[t]=void 0)}}const hv=/(Once|Passive|Capture)$/,pv=/^on:?(?:Once|Passive|Capture)$/;function gv(e){let t,n;for(;(n=e.match(hv))&&!pv.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Kn(e.slice(2)),t]}let ea=0;const mv=Promise.resolve(),vv=()=>ea||(mv.then(()=>ea=0),ea=Date.now());function yv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const o=n.value;if(xe(o)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const i=o.slice(),a=[s];for(let l=0;l<i.length&&!s._stopped;l++){const u=i[l];u&&Vt(u,t,5,a)}}else Vt(o,t,5,[s])};return n.value=e,n.attached=vv(),n}const oc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bv=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?rv(e,s,i):t==="style"?lv(e,n,s):fi(t)?hi(t)||fv(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kv(e,t,s,i))?(nc(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&tc(e,t,s,i,r,t!=="value")):e._isVueCE&&(wv(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!nt(s)))?nc(e,Lt(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),tc(e,t,s,i))};function kv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&oc(t)&&Pe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return oc(t)&&nt(n)?!1:t in e}function wv(e,t){const n=e._def.props;if(!n)return!1;const s=Lt(t);return Array.isArray(n)?n.some(o=>Lt(o)===s):Object.keys(n).some(o=>Lt(o)===s)}const sh=new WeakMap,oh=new WeakMap,Ur=Symbol("_moveCb"),rc=Symbol("_enterCb"),Sv=e=>(delete e.props.mode,e),_v=Sv({name:"TransitionGroup",props:ct({},Qf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=xi(),s=bf();let o,r;return Rl(()=>{if(!o.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!Tv(o[0].el,n.vnode.el,i)){o=[];return}o.forEach(Cv),o.forEach(xv);const a=o.filter(Iv);Ua(n.vnode.el),a.forEach(l=>{const u=l.el,c=u.style;an(u,i),c.transform=c.webkitTransform=c.transitionDuration="";const d=u[Ur]=f=>{f&&f.target!==u||(!f||f.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[Ur]=null,Nn(u,i))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const i=je(e),a=eh(i);let l=i.tag||ne;if(o=[],r)for(let u=0;u<r.length;u++){const c=r[u];c.el&&c.el instanceof Element&&!c.el[Gl]&&(o.push(c),gs(c,Po(c,a,s,n)),sh.set(c,rh(c.el)))}r=t.default?Ml(t.default()):[];for(let u=0;u<r.length;u++){const c=r[u];c.key!=null&&gs(c,Po(c,a,s,n))}return X(l,null,r)}}}),$v=_v;function Cv(e){const t=e.el;t[Ur]&&t[Ur](),t[rc]&&t[rc]()}function xv(e){oh.set(e,rh(e.el))}function Iv(e){const t=sh.get(e),n=oh.get(e),s=t.left-n.left,o=t.top-n.top;if(s||o){const r=e.el,i=r.style,a=r.getBoundingClientRect();let l=1,u=1;return r.offsetWidth&&(l=a.width/r.offsetWidth),r.offsetHeight&&(u=a.height/r.offsetHeight),(!Number.isFinite(l)||l===0)&&(l=1),(!Number.isFinite(u)||u===0)&&(u=1),Math.abs(l-1)<.01&&(l=1),Math.abs(u-1)<.01&&(u=1),i.transform=i.webkitTransform=`translate(${s/l}px,${o/u}px)`,i.transitionDuration="0s",e}}function rh(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Tv(e,t,n){const s=e.cloneNode(),o=e[Zs];o&&o.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=th(s);return r.removeChild(s),i}const jr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?n=>mr(t,n):t};function Ev(e){e.target.composing=!0}function ic(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const js=Symbol("_assign");function ac(e,t,n){return t&&(e=e.trim()),n&&(e=vi(e)),e}const it={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[js]=jr(o);const r=s||o.props&&o.props.type==="number";is(e,t?"change":"input",i=>{i.target.composing||e[js](ac(e.value,n,r))}),(n||r)&&is(e,"change",()=>{e.value=ac(e.value,n,r)}),t||(is(e,"compositionstart",Ev),is(e,"compositionend",ic),is(e,"change",ic))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[js]=jr(i),e.composing)return;const a=(r||e.type==="number")&&!/^0\d/.test(e.value)?vi(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===l)||(e.value=l)}},lc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,is(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?vi(zr(r)):zr(r));e[js](e.multiple?pi(e._modelValue)?new Set(o):o:o[0]),e._assigning=!0,Fe(()=>{e._assigning=!1})}),e[js]=jr(s)},mounted(e,{value:t}){uc(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[js]=jr(n)},updated(e,{value:t}){e._assigning||uc(e,t)}};function uc(e,t){const n=e.multiple,s=xe(t);if(!(n&&!s&&!pi(t))){for(let o=0,r=e.options.length;o<r;o++){const i=e.options[o],a=zr(i);if(n)if(s){const l=typeof a;l==="string"||l==="number"?i.selected=t.some(u=>String(u)===String(a)):i.selected=vg(t,a)>-1}else i.selected=t.has(a);else if(Wo(zr(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function zr(e){return"_value"in e?e._value:e.value}const Av=["ctrl","shift","alt","meta"],Mv={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)=>Av.some(n=>e[`${n}Key`]&&!t.includes(n))},tt=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...r)=>{for(let i=0;i<t.length;i++){const a=Mv[t[i]];if(a&&a(o,t))return}return e(o,...r)}))},Rv={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Vn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(o=>{if(!("key"in o))return;const r=Kn(o.key);if(t.some(i=>i===r||Rv[i]===r))return e(o)}))},Pv=ct({patchProp:bv},tv);let cc;function Lv(){return cc||(cc=Dm(Pv))}const Dv=((...e)=>{const t=Lv().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Ov(s);if(!o)return;const r=t._component;!Pe(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Nv(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function Nv(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ov(e){return nt(e)?document.querySelector(e):e}const Hr=[{name:"model",description:"切换模型 / 思考强度",target:"local",group:"core"},{name:"new",description:"新建会话",target:"local",group:"core"},{name:"clear",description:"清空本地消息列表",target:"local",group:"core"},{name:"help",description:"显示可用命令",target:"local",group:"core"},{name:"compact",description:"压缩会话上下文",target:"backend",group:"core"},{name:"title",description:"重命名当前会话",target:"backend",aliases:["rename"],acceptsInput:!0,group:"core"},{name:"btw",description:"快速侧问(不打断当前回合)",target:"backend",acceptsInput:!0,group:"core"},{name:"auto",description:"切换为 auto 权限模式",target:"backend",group:"advanced"},{name:"ask",description:"切换为询问权限模式",target:"backend",group:"advanced"},{name:"yes",description:"切换为 yolo 权限模式",target:"backend",aliases:["yolo"],group:"advanced"},{name:"bot",description:"切换为 Bot 无人值守模式",target:"backend",group:"advanced"},{name:"plan",description:"切换计划模式",target:"backend",group:"advanced"},{name:"fusionplan",description:"切换融合计划模式",target:"local",aliases:["fp"],acceptsInput:!0,group:"advanced"},{name:"wolfpack",description:"切换 Wolfpack 多代理模式",target:"local",aliases:["wp"],acceptsInput:!0,group:"advanced"},{name:"rlm",description:"切换 RLM Python 内核模式",target:"local",acceptsInput:!0,group:"advanced"},{name:"rlm-max-depth",description:"设置 RLM 递归最大深度",target:"local",acceptsInput:!0,group:"advanced"},{name:"revoke",description:"撤销最近一轮消息",target:"local",acceptsInput:!0,group:"advanced"},{name:"fork",description:"复制当前会话为新分支",target:"backend",group:"advanced"},{name:"status",description:"查看会话状态",target:"local",group:"advanced"},{name:"usage",description:"查看 Token 用量",target:"local",group:"advanced"}],zs=O([]);function dc(e){zs.value=[...e]}const xo=O("");function Gv(e){xo.value=e.trim().toLowerCase()}function Bv(){xo.value=""}const Fv=8,ih=O(!1);function Uv(){return ih.value}function fc(e,t){var n;return t?e.name.startsWith(t)||((n=e.aliases)==null?void 0:n.some(s=>s.startsWith(t)))===!0||e.description.includes(t):!0}function hc(e,t){return t?e.name.toLowerCase().startsWith(t)||e.name.includes(t)||e.description.includes(t):!0}function jv(e){const t=(e||"").toLowerCase(),n=t===""&&xo.value==="";ih.value=n;const s=Hr.filter(r=>fc(r,t)&&fc(r,xo.value)).filter(r=>!n||r.group!=="advanced"),o=zs.value.filter(r=>hc(r,t)&&hc(r,xo.value)).map(r=>({name:r.name,description:r.description||"技能",target:"local",acceptsInput:!0,kind:"skill",source:r.pluginId?`plugin:${r.pluginId}`:r.source}));return[...s,...o]}function zv(e){const t=e.toLowerCase(),n=Hr.find(s=>{var o;return s.name===t||((o=s.aliases)==null?void 0:o.includes(t))});return(n==null?void 0:n.name)??t}function Hv(e){const t=e.toLowerCase();return zs.value.some(n=>n.name.toLowerCase()===t)}function Wv(){const e=o=>{var i;return`${(i=o.aliases)!=null&&i.length?[o.name,...o.aliases].map(a=>`/${a}`).join(", "):`/${o.name}`} - ${o.description}`},t=Hr.filter(o=>o.group!=="advanced"),n=Hr.filter(o=>o.group==="advanced"),s=["常用:",...t.map(e),"高级:",...n.map(e)];return zs.value.length>0&&s.push("",`技能 ${zs.value.length} 个(输入 / 后在菜单中查看,或前往技能中心):`,...zs.value.map(o=>`/${o.name} - ${o.description||"技能"}`)),["可用命令:",...s].join(`
19
- `)}let Wr=null;const Bl=Fg(null);function qv(e){Wr=e,Bl.value=e}function Vv(e){Wr===e&&(Wr=null,Bl.value=null)}function za(){return Wr}function Kv(){return{activeClient:Bl}}const Do=O([]);let Zv=0;function Yv(e,t="info",n=3500){const s=`toast_${++Zv}`;Do.value=[...Do.value,{id:s,type:t,message:e}],n>0&&setTimeout(()=>ah(s),n)}function ah(e){Do.value=Do.value.filter(t=>t.id!==e)}function Js(){return{toasts:Do,showToast:Yv,removeToast:ah}}const Ge="/api/v1",Xv=2*3e4,pc=8;function ft(e){const t=e.sessionId.value;return t?{sessionId:t,sessionGeneration:e.sessionGeneration,connectionGeneration:e.connectionGeneration}:null}function Ti(e,t){return e.sessionId.value===t.sessionId&&e.sessionGeneration===t.sessionGeneration&&e.connectionGeneration===t.connectionGeneration}function Yt(e,t,n){e.wsHandlers.set(t,n)}function Jv(){const e=O("connecting"),t=O([]),n=O(!1),s=O(void 0),o=O([]),r=O({busy:!1}),i=O(null),a=O([]),l=O(!1),u=O(null),c=O(!1),d=O(null),f=O(null),p=O(null),g=O([]),y=O(null),S=O(!1),k=G(()=>r.value.busy||c.value),w=G(()=>f.value!==null&&!S.value);return{connectionStatus:e,messages:t,olderAvailable:n,oldestSeq:s,pendingApprovals:o,status:r,goal:i,todos:a,goalRequestPending:l,goalRequestError:u,promptPending:c,error:d,sessionId:f,workDir:p,isBusy:k,sessions:g,currentSessionId:y,isArchived:w,gitStatus:O(null),models:O([]),modelsError:O(null),like:O({}),sessionPlan:O(null),skills:O([]),skillsError:O(null),plugins:O([]),pluginInfo:O(null),mcpServers:O([]),mcpStartupMetrics:O(null),backgroundTasks:O([]),backgroundTaskOutput:O(""),subagents:O([]),config:O(null),experimentalFlags:O(null),preflightOk:O(!1),sessionActive:S,ws:null,heartbeatTimer:null,reconnectTimer:null,snapshotRetryTimer:null,lastPongAt:Date.now(),seq:0,epoch:0,reconnectAttempt:0,sessionGeneration:0,connectionGeneration:0,promptGeneration:0,liveGeneration:0,sessionMutationGeneration:0,goalMutationGeneration:0,permissionMutationGeneration:0,goalAwaitingMutation:null,goalRequestInFlight:!1,snapshotRetryGoalGeneration:null,pendingPromptAccepted:!1,disposed:!1,sentMessageIds:new Map,turnNumber:0,turnStartAt:0,turnFirstTokenAt:null,activeToolMs:0,streamDisposed:!1,pendingAssistantDelta:"",pendingThinkingDelta:"",pendingToolProgress:new Map,wsHandlers:new Map,wsUnknownFrames:0,journalGapCount:0}}function Qv(){const{showToast:e}=Js();return{s:Jv(),showToast:e}}function yn(){return`msg_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function gc(e,t){if(e!==null&&typeof e=="object"){const n=e.message;if(typeof n=="string")return n}return t}const mc="scream-offline-prompt-queue",vc="scream-recent-prompts";function ey(e){const{s:t}=e;let n=[];try{const c=localStorage.getItem(mc);if(c){const d=JSON.parse(c);Array.isArray(d)&&(n=d.filter(f=>typeof f=="string"))}}catch{n=[]}function s(){try{localStorage.setItem(mc,JSON.stringify(n.slice(0,20)))}catch{}}function o(){if(n.length===0)return;const c=n[0],d=`client_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,f=yn();t.sentMessageIds.set(d,{messageId:f,connectionGeneration:t.connectionGeneration,queueText:c}),t.promptGeneration++,t.pendingPromptAccepted=!1,t.promptPending.value=!0,t.messages.value.push({id:f,role:"user",content:c,clientMessageId:d,tools:[],ts:Date.now()}),u(c),e.send({type:"prompt",text:c,clientMessageId:d})}function r(){n.length>0&&n.shift(),s(),o()}function i(c){n.push(c),s()}function a(c){const d=n.indexOf(c);d>=0&&(n.splice(d,1),s())}let l=[];try{const c=localStorage.getItem(vc);if(c){const d=JSON.parse(c);Array.isArray(d)&&(l=d.filter(f=>typeof f=="string"))}}catch{l=[]}function u(c){const d=c.trim();if(d){l=[d,...l.filter(f=>f!==d)].slice(0,8);try{localStorage.setItem(vc,JSON.stringify(l))}catch{}}}return e.flushQueue=o,e.flushQueueNext=r,e.enqueueOfflinePrompt=i,e.removeOfflineQueueItem=a,e.recordRecentPrompt=u,{enqueueOfflinePrompt:i,removeOfflineQueueItem:a,recordRecentPrompt:u,flushQueue:o,flushQueueNext:r}}function kr(e,t,n,s){return e===n&&t===s}function ty(e){return e.currentSessionId===e.targetSessionId&&e.snapshot.sessionId===e.targetSessionId&&e.currentSessionGeneration===e.targetSessionGeneration&&e.currentConnectionGeneration===e.targetConnectionGeneration&&e.currentPromptGeneration===e.targetPromptGeneration&&e.currentLiveGeneration===e.targetLiveGeneration&&(e.currentEpoch===0||e.snapshot.epoch===e.currentEpoch)&&(e.snapshot.epoch!==e.currentEpoch||e.snapshot.seq>=e.currentSeq)}function ny(e){return{objective:e.objective,completionCriterion:e.completionCriterion,replace:e.replace,budgets:e.budgets}}function sy(e){return{objective:e.objective,budgets:e.budgets}}function oy(e,t,n){return e!==0&&n.epoch!==e?"resync":n.seq<=t?"duplicate":t!==0&&n.seq>t+1?"gap":"apply"}function ry(e,t){return t.type==="goal.updated"?{...e,goal:t.snapshot}:t.type==="todo.updated"?{...e,todos:t.todos}:e}function iy(e){const t=[],n=new Map;for(const s of e){const o=s.phase??null;let r=n.get(o);r===void 0&&(r=t.length,n.set(o,r),t.push({phase:o,items:[]})),t[r].items.push(s)}return t}const ay=24,ly=4e3;function yo(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function rr(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function uy(e){const t=e.usage;if(!t||typeof t!="object")return;const n=t;if(!(typeof n.inputOther!="number"||typeof n.output!="number"||typeof n.inputCacheRead!="number"||typeof n.inputCacheCreation!="number"))return{inputOther:n.inputOther,output:n.output,inputCacheRead:n.inputCacheRead,inputCacheCreation:n.inputCacheCreation}}function yc(e,t){const n=yo(e,t);return n===void 0?void 0:n.slice(0,ly)}function cy(e,t){return e.type==="subagent.started"?"running":e.type==="subagent.completed"?"completed":e.type==="subagent.failed"?"failed":t}function dy(e){return[...e].toSorted((t,n)=>{const s=t.state==="spawning"||t.state==="running",o=n.state==="spawning"||n.state==="running";return s!==o?s?-1:1:n.updatedAt-t.updatedAt}).slice(0,ay)}function fy(e,t,n=Date.now()){if(!t.type.startsWith("subagent."))return e;const s=t,o=yo(s,"subagentId");if(!o)return e;const r=e.findIndex(f=>f.subagentId===o),i=r===-1?void 0:e[r],a=cy(s,(i==null?void 0:i.state)??"spawning"),l=yo(s,"subagentName")??(i==null?void 0:i.name)??"agent",u=yo(s,"parentToolCallId")??(i==null?void 0:i.parentToolCallId)??"",c={subagentId:o,name:l,parentToolCallId:u,description:yo(s,"description")??(i==null?void 0:i.description),runInBackground:typeof s.runInBackground=="boolean"?s.runInBackground:(i==null?void 0:i.runInBackground)??!1,state:a,updatedAt:n,resultSummary:yc(s,"resultSummary")??(i==null?void 0:i.resultSummary),error:yc(s,"error")??(i==null?void 0:i.error),usage:uy(s)??(i==null?void 0:i.usage),contextTokens:rr(s,"contextTokens")??(i==null?void 0:i.contextTokens),turns:rr(s,"turns")??(i==null?void 0:i.turns),durationMs:rr(s,"durationMs")??(i==null?void 0:i.durationMs),toolCallCount:rr(s,"toolCallCount")??(i==null?void 0:i.toolCallCount)},d=r===-1?[...e,c]:e.map((f,p)=>p===r?c:f);return dy(d)}const No=new Map;function hy(e){No.set(e,Date.now())}function py(e){return No.get(e)}function gy(e){const t=No.get(e);return t!==void 0&&No.delete(e),t}function my(){No.clear()}function ta(e){const t=e/1e3;return t<10?`${t.toFixed(1)}s`:t<60?`${Math.round(t)}s`:`${Math.floor(t/60)}m${String(Math.round(t%60)).padStart(2,"0")}s`}function vy(e){let t=null;return{schedule:()=>{if(t!==null)return;const r=i=>{if(i<=0){t=null,e();return}t=requestAnimationFrame(()=>r(i-1))};t=requestAnimationFrame(()=>r(2))},flushNow:()=>{t!==null&&(cancelAnimationFrame(t),t=null),e()},dispose:()=>{t!==null&&(cancelAnimationFrame(t),t=null)}}}function yy(e){const{s:t}=e;function n(){if(t.streamDisposed)return;const a=r();if(!a){t.pendingAssistantDelta="",t.pendingThinkingDelta="",t.pendingToolProgress.clear();return}if(t.pendingAssistantDelta&&(a.content+=t.pendingAssistantDelta,t.pendingAssistantDelta=""),t.pendingThinkingDelta){const l=a.tools.find(u=>u.name==="thinking");l?l.output=(l.output??"")+t.pendingThinkingDelta:a.tools.push({toolCallId:"thinking",name:"thinking",output:t.pendingThinkingDelta}),t.pendingThinkingDelta=""}if(t.pendingToolProgress.size>0){for(const[l,u]of t.pendingToolProgress){const c=a.tools.find(d=>d.toolCallId===l);c&&(c.progress=u)}t.pendingToolProgress.clear()}}const s=vy(n);function o(a){var c;const l=fy(t.subagents.value,a);l!==t.subagents.value&&(t.subagents.value=l);const u=ry({goal:t.goal.value,todos:t.todos.value},a);switch(t.goal.value=u.goal,t.todos.value=u.todos,a.type==="goal.updated"&&t.goalAwaitingMutation!==null&&t.goalAwaitingMutation.generation===t.goalMutationGeneration&&(t.goalAwaitingMutation=null,t.snapshotRetryGoalGeneration=null,e.syncGoalRequestPending()),a.type){case"turn.started":{t.pendingPromptAccepted&&(t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear()),s.flushNow(),t.status.value={...t.status.value,busy:!0},t.turnNumber+=1,t.turnStartAt=Date.now(),t.turnFirstTokenAt=null,t.activeToolMs=0,my(),t.messages.value.push({id:yn(),role:"assistant",content:"",tools:[],ts:Date.now(),model:t.status.value.model,turnStats:{turn:t.turnNumber,step:0,status:"running",firstTokenMs:null,llmMs:0,toolMs:0,tokens:null,tokensPerSec:null}});break}case"assistant.delta":{t.turnFirstTokenAt===null&&(t.turnFirstTokenAt=Date.now()),t.pendingAssistantDelta+=String(a.delta),s.schedule();break}case"thinking.delta":{t.turnFirstTokenAt===null&&(t.turnFirstTokenAt=Date.now()),t.pendingThinkingDelta+=String(a.delta),s.schedule();break}case"tool.call.started":{const d=r();d&&(d.tools.push({toolCallId:String(a.toolCallId),name:String(a.name),args:a.args}),d.turnStats&&(d.turnStats.step+=1)),hy(String(a.toolCallId));break}case"tool.result":{t.pendingToolProgress.delete(String(a.toolCallId));const d=gy(String(a.toolCallId));d!==void 0&&(t.activeToolMs+=Date.now()-d);const f=r();if(f){const p=f.tools.find(g=>g.toolCallId===a.toolCallId);p&&(p.output=String(a.output),p.isError=!!a.isError,p.progress=void 0,d!==void 0&&(p.durationMs=Date.now()-d))}break}case"tool.progress":{t.pendingToolProgress.set(String(a.toolCallId),String(a.message??a.output)),s.schedule();break}case"turn.ended":{if(s.flushNow(),t.status.value={...t.status.value,busy:!1},a.reason==="failed"){const y=r();y&&(y.isError=!0),t.error.value=gc(a.error,"Turn failed")}const d=r(),f=Date.now()-t.turnStartAt,p=(c=t.status.value.usage)==null?void 0:c.currentTurn,g=p?p.inputOther+p.output+p.inputCacheRead+p.inputCacheCreation:null;d&&d.turnStats&&(d.turnStats.status="done",d.turnStats.llmMs=f,d.turnStats.toolMs=t.activeToolMs,d.turnStats.firstTokenMs=t.turnFirstTokenAt!==null?t.turnFirstTokenAt-t.turnStartAt:null,d.turnStats.tokens=g,d.turnStats.tokensPerSec=g!==null&&f>0?Math.round(g/f*1e3):null),e.fetchSessions(),e.fetchGitStatus();break}case"session.meta.updated":{const d={};a.model!==void 0&&(d.model=a.model),a.contextTokens!==void 0&&(d.contextTokens=a.contextTokens),a.maxContextTokens!==void 0&&(d.maxContextTokens=a.maxContextTokens),a.contextUsage!==void 0&&(d.contextUsage=a.contextUsage),a.rlmMaxDepth!==void 0&&(d.rlmMaxDepth=a.rlmMaxDepth),t.status.value={...t.status.value,...d};break}case"agent.status.updated":{const d={};if(a.model!==void 0&&(d.model=a.model),a.thinkingLevel!==void 0&&(d.thinkingLevel=a.thinkingLevel),a.contextTokens!==void 0&&(d.contextTokens=a.contextTokens),a.maxContextTokens!==void 0&&(d.maxContextTokens=a.maxContextTokens),a.contextUsage!==void 0&&(d.contextUsage=a.contextUsage),a.usage!==void 0){d.usage=a.usage;const f=a.usage;if(f!=null&&f.currentTurn){const p=r(),g=f.currentTurn.inputOther+f.currentTurn.output+f.currentTurn.inputCacheRead+f.currentTurn.inputCacheCreation;p!=null&&p.turnStats&&p.turnStats.status==="done"&&p.turnStats.tokens===null&&(p.turnStats.tokens=g,p.turnStats.tokensPerSec=p.turnStats.llmMs?Math.round(g/p.turnStats.llmMs*1e3):null)}}t.status.value={...t.status.value,...d};break}case"web.history.undone":e.fetchSnapshot();break;case"error":{t.error.value=gc(a.error,"Unknown error");break}}}function r(){for(let a=t.messages.value.length-1;a>=0;a--)if(t.messages.value[a].role==="assistant")return t.messages.value[a];return null}Yt(t,"event",a=>{const l=oy(t.epoch,t.seq,a);if(l==="resync"){t.epoch=a.epoch,t.seq=0,t.journalGapCount=0,e.fetchSnapshot();return}if(l!=="duplicate"){if(l==="gap"){t.journalGapCount++;const u=t.journalGapCount>=3;(u?console.error:console.warn)(`[webClient] journal seq 缺口:epoch ${t.epoch} 内从 ${t.seq} 跳到 ${a.seq}(连续第 ${t.journalGapCount} 次${u?",超过阈值,流可能已持续损坏":""}),已触发快照补拉。`,a)}else t.journalGapCount=0;t.seq=a.seq,t.epoch=a.epoch,t.liveGeneration++,l==="gap"&&e.fetchSnapshot(),o(a.payload)}}),Yt(t,"resync_required",()=>{t.seq=0,e.fetchSnapshot()}),e.onEvent=o;function i(){t.streamDisposed=!0,s.dispose()}return{onEvent:o,disposeStreaming:i}}function by(e){const{s:t,showToast:n}=e;function s(){t.disposed||t.snapshotRetryTimer!==null||(t.snapshotRetryTimer=window.setTimeout(()=>{t.snapshotRetryTimer=null;const i=t.snapshotRetryGoalGeneration;t.snapshotRetryGoalGeneration=null,o(i??void 0)},250))}async function o(i){var p,g;const a=t.sessionId.value;if(!a)return;const l=t.messages.value.length===0?100:void 0,u=t.sessionGeneration,c=t.connectionGeneration,d=t.promptGeneration,f=t.liveGeneration;try{const y=await fetch(`${Ge}/sessions/${a}/snapshot${l?`?tail=${l}`:""}`);if(!y.ok){i!==void 0&&((p=t.goalAwaitingMutation)==null?void 0:p.generation)===i&&(t.snapshotRetryGoalGeneration=i,s());return}const S=await y.json();if(!ty({snapshot:S,targetSessionId:a,currentSessionId:t.sessionId.value,targetSessionGeneration:u,currentSessionGeneration:t.sessionGeneration,targetConnectionGeneration:c,currentConnectionGeneration:t.connectionGeneration,targetPromptGeneration:d,currentPromptGeneration:t.promptGeneration,targetLiveGeneration:f,currentLiveGeneration:t.liveGeneration,currentEpoch:t.epoch,currentSeq:t.seq})){i!==void 0&&(t.snapshotRetryGoalGeneration=i),s();return}r(S,i)}catch{i!==void 0&&((g=t.goalAwaitingMutation)==null?void 0:g.generation)===i&&(t.snapshotRetryGoalGeneration=i,s())}}function r(i,a){var y;t.pendingAssistantDelta="",t.pendingThinkingDelta="",t.pendingToolProgress.clear();const l=t.messages.value.filter(S=>S.local),u=t.sentMessageIds.keys().next().value,c=u?t.sentMessageIds.get(u):void 0,d=c?t.messages.value.find(S=>S.id===c.messageId):void 0,f=!!(u&&i.messages.some(S=>S.clientMessageId===u)),p=!!(c&&!f&&c.connectionGeneration<t.connectionGeneration);p&&d&&(d.isError=!0);const g=d&&!f?[d]:[];t.messages.value=[...i.messages.map(S=>({...S,id:S.id??yn()})),...l,...g];for(let S=t.messages.value.length-1;S>=0;S--){const k=(y=t.messages.value[S])==null?void 0:y.turnStats;if(k&&typeof k.turn=="number"&&k.turn>0){t.turnNumber=k.turn;break}}t.pendingApprovals.value=i.pendingApprovals,t.status.value={...i.status,busy:i.busy},t.olderAvailable.value=!!i.olderAvailable,t.oldestSeq.value=i.oldestSeq,t.goal.value=i.goal,t.todos.value=i.todos,a!==void 0&&t.goalAwaitingMutation!==null&&t.goalAwaitingMutation.generation===a&&t.goalMutationGeneration===a&&(t.goalAwaitingMutation=null,e.syncGoalRequestPending()),(f||p)&&(t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),p&&n("消息未送达,已恢复连接。","error")),t.seq=i.seq,t.epoch=i.epoch,t.workDir.value=i.workDir}return e.fetchSnapshot=o,{fetchSnapshot:o}}function ky(e){const{s:t,showToast:n}=e;function s(c){if(!c)return;if(t.connectionStatus.value==="idle"){n("暂无会话,请先新建会话。","warning");return}if(t.connectionStatus.value!=="connected"){e.enqueueOfflinePrompt(c),n("连接已断开,消息已排队,重连后自动发送。","warning"),e.connect();return}if(t.isBusy.value)return;const d=`client_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,f=yn();t.sentMessageIds.set(d,{messageId:f,connectionGeneration:t.connectionGeneration}),t.promptGeneration++,t.pendingPromptAccepted=!1,t.promptPending.value=!0,t.messages.value.push({id:f,role:"user",content:c,clientMessageId:d,tools:[],ts:Date.now()}),e.recordRecentPrompt(c),e.send({type:"prompt",text:c,clientMessageId:d})}function o(c,d){if(t.connectionStatus.value==="idle"){n("暂无会话,请先新建会话。","warning");return}if(t.connectionStatus.value!=="connected"){n("连接已断开,命令未发送。","error"),e.connect();return}if(t.isBusy.value&&c!=="btw"){n(`会话忙碌中,无法执行 /${c},请稍后再试。`,"warning");return}const f=["compact","plan","auto","yes","fork","title"];let p=null;f.includes(c)&&(p=yn(),t.messages.value.push({id:p,role:"system",content:`正在执行 /${c}${d?` ${d}`:""}...`,tools:[],pending:!0,ts:Date.now(),local:!0})),e.send({type:"command",command:c,...d?{args:d}:{},...p?{pendingMsgId:p}:{}})}function r(){t.messages.value=[],t.pendingApprovals.value=[]}function i(c){t.messages.value.push({id:yn(),role:"system",content:c,tools:[],ts:Date.now(),local:!0})}function a(c,d,f,p){if(t.connectionStatus.value!=="connected"){n("连接已断开,审批结果未发送。","error"),e.connect();return}t.pendingApprovals.value=t.pendingApprovals.value.filter(g=>g.id!==c),e.send({type:"approval_response",id:c,decision:d,...f?{feedback:f}:{},...p?{scope:p}:{}})}function l(){e.send({type:"abort"})}async function u(){var f;const c=t.sessionId.value,d=t.oldestSeq.value;if(!c||d===void 0)return 0;try{const p=await fetch(`${Ge}/sessions/${c}/messages?before=${d}&tail=50`);if(!p.ok)return 0;const g=await p.json();if(g.messages.length===0)return 0;const y=g.messages.map(S=>({...S,id:S.id??yn()}));return t.messages.value=[...y,...t.messages.value],t.oldestSeq.value=((f=y[0])==null?void 0:f.seq)??d,t.olderAvailable.value=g.hasMore,y.length}catch{return 0}}return Yt(t,"user_message",c=>{var d;if(t.liveGeneration++,c.clientMessageId&&t.sentMessageIds.has(c.clientMessageId)){t.pendingPromptAccepted=!0,((d=t.sentMessageIds.get(c.clientMessageId))==null?void 0:d.queueText)!==void 0&&e.flushQueueNext();return}t.messages.value.push({id:yn(),role:"user",content:c.text,clientMessageId:c.clientMessageId,tools:[],ts:Date.now()})}),Yt(t,"approval_request",c=>{t.liveGeneration++,t.pendingApprovals.value=[...t.pendingApprovals.value,{id:c.id,toolName:c.toolName,action:c.action,display:c.display}]}),Yt(t,"approval_resolved",c=>{t.liveGeneration++,t.pendingApprovals.value=t.pendingApprovals.value.filter(d=>d.id!==c.id)}),Yt(t,"command_result",c=>{const d=c.pendingMsgId?t.messages.value.findIndex(p=>p.id===c.pendingMsgId):-1,f=d>=0;if(d>=0){const p=t.messages.value[d];t.messages.value[d]={...p,content:c.message,isError:!c.ok,pending:!1}}else t.messages.value.push({id:yn(),role:"system",content:c.message,tools:[],isError:!c.ok,ts:Date.now(),local:!0});(c.command==="fork"||c.command==="title")&&e.fetchSessions(),c.ok&&c.command==="fork"&&c.sessionId&&f&&e.switchSession(c.sessionId),c.ok&&c.command==="compact"&&e.fetchSnapshot()}),Yt(t,"error",c=>{if(t.error.value=c.message,c.clientMessageId){const d=t.sentMessageIds.get(c.clientMessageId);if(d){t.sentMessageIds.delete(c.clientMessageId),t.promptPending.value=!1,t.pendingPromptAccepted=!1;const f=t.messages.value.find(p=>p.id===d.messageId);f&&(f.isError=!0),n(`消息未发送:${c.message}`,"error"),d.queueText!==void 0&&e.removeOfflineQueueItem(d.queueText)}}}),e.appendSystemMessage=i,{sendPrompt:s,sendCommand:o,clearMessages:r,appendSystemMessage:i,abort:l,resolveApproval:a,loadOlderMessages:u}}function wy(e){const{s:t,showToast:n}=e;async function s(){try{const c=await fetch(`${Ge}/sessions`);if(!c.ok)return;t.sessions.value=await c.json()}catch{}}async function o(c){const d=t.sessionGeneration,f=t.connectionGeneration;try{return(await fetch(`${Ge}/sessions/${c}/activate`,{method:"POST"})).ok&&t.connectionGeneration===f&&kr(t.sessionId.value,t.sessionGeneration,c,d)}catch{return!1}}async function r(){const c=ft(t);try{const d=(c==null?void 0:c.sessionId)??t.currentSessionId.value,f=d?`?sessionId=${encodeURIComponent(d)}`:"",p=await fetch(`${Ge}/git/status${f}`);if(c&&!Ti(t,c)||!p.ok)return;const g=await p.json();t.gitStatus.value=g.isRepo?g:null}catch{}}async function i(c,d){try{const f=await fetch(`${Ge}/sessions`,{method:"POST",...c?{headers:{"Content-Type":"application/json"},body:JSON.stringify({workDir:c})}:{}});if(!f.ok){const g=await f.json().catch(()=>null),y=g&&typeof g.message=="string"?g.message:"";n(`新建会话失败:${y||`HTTP ${f.status}`}`,"error");return}const p=await f.json();t.sessions.value=[p,...t.sessions.value],d==null||d(p.sessionId),await a(p.sessionId)}catch(f){n(`新建会话失败:${f instanceof Error?f.message:String(f)}`,"error")}}async function a(c){t.currentSessionId.value===c&&t.connectionStatus.value==="connected"||(t.currentSessionId.value=c,t.sessionId.value=c,t.sessionGeneration++,e.resetGoalRequestState(),t.seq=0,t.epoch=0,t.journalGapCount=0,t.messages.value=[],t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.goal.value=null,t.todos.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.subagents.value=[],t.sessionActive.value=!1,t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.snapshotRetryTimer!==null&&(clearTimeout(t.snapshotRetryTimer),t.snapshotRetryTimer=null),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null),e.stopHeartbeat(),e.connect())}async function l(c){try{const d=await fetch(`${Ge}/sessions/${c}`,{method:"DELETE"});if(!d.ok){n(`删除会话失败(HTTP ${d.status})`,"error");return}if(t.sessions.value=t.sessions.value.filter(f=>f.sessionId!==c),t.currentSessionId.value===c){const f=t.sessions.value[0];f?await a(f.sessionId):(t.sessionGeneration++,e.resetGoalRequestState(),t.sessionId.value=null,t.currentSessionId.value=null,t.sessionActive.value=!1,t.seq=0,t.epoch=0,t.journalGapCount=0,t.messages.value=[],t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.goal.value=null,t.todos.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.subagents.value=[],t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null),e.stopHeartbeat(),e.setConnectionStatus("idle"))}}catch(d){n(`删除会话失败:${d instanceof Error?d.message:String(d)}`,"error")}}async function u(c){try{const d=await fetch(`${Ge}/sessions/${c}/export`);if(!d.ok){n(`导出会话失败(HTTP ${d.status})`,"error");return}const f=await d.blob(),p=URL.createObjectURL(f),g=document.createElement("a");g.href=p,g.download=`${c}.md`,g.click(),URL.revokeObjectURL(p)}catch(d){n(`导出会话失败:${d instanceof Error?d.message:String(d)}`,"error")}}return e.fetchSessions=s,e.switchSession=a,e.fetchGitStatus=r,e.activateSession=o,{fetchSessions:s,fetchGitStatus:r,createSession:i,switchSession:a,deleteSession:l,exportSession:u}}function Sy(e){const{s:t,showToast:n}=e;async function s(){try{const u=await fetch(`${Ge}/models`);if(!u.ok){t.modelsError.value=`模型列表加载失败(HTTP ${u.status})`;return}const c=await u.json();t.models.value=c.models,t.modelsError.value=null}catch(u){t.modelsError.value=`模型列表加载失败:${u instanceof Error?u.message:String(u)}`}}async function o(){try{const u=await fetch(`${Ge}/like`);if(!u.ok)return;t.like.value=await u.json()}catch{}}async function r(u){try{return(await fetch(`${Ge}/like`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)})).ok?(t.like.value=u,!0):!1}catch{return!1}}async function i(u,c,d){const f=t.sessionId.value;if(!f){n("请先打开一个会话","warning");return}const p=t.sessionGeneration,g=t.connectionGeneration,y=++t.sessionMutationGeneration;try{const S=await fetch(`${Ge}/sessions/${f}/${u}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}),k=await S.json();if(t.sessionId.value!==f||t.sessionGeneration!==p||t.connectionGeneration!==g||t.sessionMutationGeneration!==y)return;if(!S.ok){n(k.message??`请求失败(HTTP ${S.status})`,"error");return}k.status&&(t.status.value={...t.status.value,...k.status}),n(d,"success")}catch(S){if(t.sessionId.value!==f||t.sessionGeneration!==p||t.connectionGeneration!==g||t.sessionMutationGeneration!==y)return;n(`请求失败:${S instanceof Error?S.message:String(S)}`,"error")}}async function a(u){u!==t.status.value.model&&await i("model",{model:u},`已切换模型:${u}`)}async function l(u){u!==t.status.value.thinkingLevel&&await i("thinking",{level:u},`思考强度已切换为 ${u}`)}return Yt(t,"status",u=>{t.liveGeneration++,t.status.value={...t.status.value,...u.status}}),e.fetchModels=s,{fetchModels:s,fetchLike:o,updateLike:r,switchModel:a,switchThinking:l}}function _y(e){const{s:t}=e;function n(){t.goalRequestPending.value=t.goalRequestInFlight||t.goalAwaitingMutation!==null}function s(){t.goalMutationGeneration++,t.goalAwaitingMutation=null,t.goalRequestInFlight=!1,t.snapshotRetryGoalGeneration=null,t.goalRequestPending.value=!1,t.goalRequestError.value=null}async function o(f,p,g,y){const S=t.sessionId.value;if(!S)return t.goalRequestError.value="暂无可操作的会话。",null;if(t.connectionStatus.value!=="connected")return t.goalRequestError.value="连接已断开,请等待重连后再试。",null;if(t.isArchived.value)return t.goalRequestError.value="当前会话已归档,无法修改 Goal。",null;if(t.goalRequestInFlight)return t.goalRequestError.value="正在处理上一个请求,请稍候。",null;t.goalAwaitingMutation!==null&&(t.goalAwaitingMutation=null,n());const k=t.sessionGeneration,w=++t.goalMutationGeneration;t.goalRequestInFlight=!0,n(),t.goalRequestError.value=null;try{const b=await fetch(`${Ge}/sessions/${S}/goal${f}`,{method:p,headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}),_=await b.json().catch(()=>({}));return!kr(t.sessionId.value,t.sessionGeneration,S,k)||t.goalMutationGeneration!==w?null:b.ok?(y&&(t.goalAwaitingMutation={generation:w},t.snapshotRetryGoalGeneration=w),_):(t.goalRequestError.value=typeof _.message=="string"?_.message:`请求失败(HTTP ${b.status})`,null)}catch(b){return kr(t.sessionId.value,t.sessionGeneration,S,k)&&t.goalMutationGeneration===w&&(t.goalRequestError.value=`请求失败:${b instanceof Error?b.message:String(b)}`),null}finally{kr(t.sessionId.value,t.sessionGeneration,S,k)&&t.goalMutationGeneration===w&&(t.goalRequestInFlight=!1,n())}}async function r(f){const p=await o("/refine","POST",{description:f},!1);return typeof(p==null?void 0:p.objective)=="string"?p.objective:null}async function i(f){return await o("","POST",ny(f),!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}async function a(f){return await o("","PATCH",sy(f),!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}async function l(f){return await o(f,"POST",{},!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}function u(){return l("/pause")}function c(){return l("/resume")}function d(){return l("/cancel")}return e.resetGoalRequestState=s,e.syncGoalRequestPending=n,{refineGoal:r,createGoal:i,updateGoal:a,pauseGoal:u,resumeGoal:c,cancelGoal:d}}function $y(e){const{s:t,showToast:n}=e;let s=0,o=0,r=0,i=0;function a(_){return _!==null&&Ti(t,_)}async function l(){const _=ft(t);if(!_)return;const B=++s;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/status`);if(!a(_)||B!==s||!D.ok)return;const E=await D.json();t.status.value={...t.status.value,...E}}catch{}}async function u(){const _=ft(t);if(!_)return;const B=++o;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/usage`);if(!a(_)||B!==o||!D.ok)return;const E=await D.json();t.status.value={...t.status.value,usage:E}}catch{}}async function c(){const _=ft(t);if(!_)return;const B=++r;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/context`);if(!a(_)||B!==r||!D.ok)return;const E=await D.json();E.tokenCount!==void 0&&(t.status.value={...t.status.value,contextTokens:E.tokenCount})}catch{}}async function d(){const _=ft(t);if(!_)return;const B=++i;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plan`);if(!a(_)||B!==i||!D.ok)return;t.sessionPlan.value=await D.json()}catch{}}async function f(){const _=ft(t);if(!_)return!1;const B=++i;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plan/clear`,{method:"POST"});return!a(_)||B!==i||!D.ok?!1:(t.sessionPlan.value=null,!0)}catch{return!1}}async function p(_,B){const D=ft(t);if(!D)return!1;if(t.connectionStatus.value!=="connected")return n("连接已断开,操作未发送。","error"),e.connect(),!1;try{const E=await fetch(`${Ge}/sessions/${D.sessionId}/${_}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(B??{})});if(!a(D))return!1;if(!E.ok){const M=await E.json().catch(()=>({}));return a(D)&&n(M.message??`操作失败(HTTP ${E.status})`,"error"),!1}return!0}catch(E){return a(D)&&n(`操作失败:${E instanceof Error?E.message:String(E)}`,"error"),!1}}async function g(_){const B=t.sessionId.value,D=t.sessionGeneration,E=t.connectionGeneration,M=++t.permissionMutationGeneration,T=t.status.value.permission;return t.status.value={...t.status.value,permission:_},await p("permission",{mode:_})?(await l(),!0):(t.sessionId.value!==B||t.sessionGeneration!==D||t.connectionGeneration!==E||t.permissionMutationGeneration!==M||(t.status.value={...t.status.value,permission:T}),!1)}async function y(_,B){const D=await p("plan",{enabled:_,...B?{strategy:B}:{}});return D&&await l(),D}async function S(_){const B=await p("wolfpack",{enabled:_});return B&&await l(),B}async function k(_,B){const D=await p("rlm",{enabled:_,...B!==void 0?{maxDepth:B}:{}});return D&&await l(),D}async function w(_=1){return p("undo",{count:_})}async function b(_){return p("compact",_?{instruction:_}:{})}return e.postSessionAction=p,{fetchSessionStatus:l,fetchSessionUsage:u,fetchSessionContext:c,fetchSessionPlan:d,clearPlan:f,switchPermission:g,switchPlanMode:y,switchWolfpack:S,switchRlm:k,undoHistory:w,compact:b}}function Cy(e){const{s:t}=e;let n=0,s=0,o=0;function r(b){return b!==null&&Ti(t,b)}async function i(){const b=ft(t);if(!b)return;const _=++n;try{const B=await fetch(`${Ge}/sessions/${b.sessionId}/skills`);if(!r(b)||_!==n)return;if(!B.ok){t.skillsError.value=`技能列表加载失败(HTTP ${B.status})`;return}t.skills.value=await B.json(),t.skillsError.value=null}catch(B){if(!r(b)||_!==n)return;t.skillsError.value=`技能列表加载失败:${B instanceof Error?B.message:String(B)}`}}async function a(b,_){return e.postSessionAction(`skills/${encodeURIComponent(b)}/activate`,_?{args:_}:{})}async function l(b){const _=ft(t);if(!_)return!1;++n;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/skills/${encodeURIComponent(b)}`,{method:"DELETE"});return!r(_)||!B.ok?!1:(t.skills.value=t.skills.value.filter(D=>D.name!==b),!0)}catch{return!1}}async function u(){const b=ft(t);if(!b)return;const _=++s;try{const B=await fetch(`${Ge}/sessions/${b.sessionId}/plugins`);if(!r(b)||_!==s||!B.ok)return;t.plugins.value=await B.json()}catch{}}async function c(b){const _=ft(t);if(!_)return;const B=++o;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/${encodeURIComponent(b)}`);if(!r(_)||B!==o||!D.ok)return;t.pluginInfo.value=await D.json()}catch{}}async function d(b){const _=ft(t);if(!_)return null;++s;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:b})});if(!r(_)||!B.ok)return null;const D=await B.json();return await u(),r(_)?D:null}catch{return null}}async function f(b,_){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/enable`,{enabled:_})}async function p(b,_,B){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/mcp/${encodeURIComponent(_)}/enable`,{enabled:B})}async function g(b){const _=ft(t);if(!_)return!1;++s;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/${encodeURIComponent(b)}`,{method:"DELETE"});return!r(_)||!B.ok?!1:(t.plugins.value=t.plugins.value.filter(D=>D.id!==b),!0)}catch{return!1}}async function y(){const b=ft(t);if(!b)return null;++s;try{const _=await fetch(`${Ge}/sessions/${b.sessionId}/plugins/reload`,{method:"POST"});if(!r(b)||!_.ok)return null;const B=await _.json();return await u(),r(b)?B:null}catch{return null}}async function S(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/activate`)}async function k(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/deactivate`)}async function w(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/inject`)}return{fetchSkills:i,activateSkill:a,removeSkill:l,fetchPlugins:u,fetchPluginInfo:c,installPlugin:d,setPluginEnabled:f,setPluginMcpServerEnabled:p,removePlugin:g,reloadPlugins:y,activatePlugin:S,deactivatePlugin:k,injectPlugin:w}}function xy(e){const{s:t}=e;let n=0,s=0,o=0,r=0;function i(S){return S!==null&&Ti(t,S)}async function a(){const S=ft(t);if(!S)return;const k=++n;try{const w=await fetch(`${Ge}/sessions/${S.sessionId}/mcp`);if(!i(S)||k!==n||!w.ok)return;t.mcpServers.value=await w.json()}catch{}}async function l(){const S=ft(t);if(!S)return;const k=++s;try{const w=await fetch(`${Ge}/sessions/${S.sessionId}/mcp/startup-metrics`);if(!i(S)||k!==s||!w.ok)return;t.mcpStartupMetrics.value=await w.json()}catch{}}async function u(S,k){return e.postSessionAction("mcp/add",{name:S,config:k})}async function c(S){return e.postSessionAction(`mcp/${encodeURIComponent(S)}/reconnect`)}async function d(S){return e.postSessionAction(`mcp/${encodeURIComponent(S)}/stop`)}async function f(S){const k=ft(t);if(!k)return!1;try{const w=await fetch(`${Ge}/sessions/${k.sessionId}/mcp/${encodeURIComponent(S)}`,{method:"DELETE"});return!i(k)||!w.ok?!1:(t.mcpServers.value=t.mcpServers.value.filter(b=>b.name!==S),!0)}catch{return!1}}async function p(S,k){const w=ft(t);if(!w)return;const b=++o;try{const _=new URLSearchParams;S!==void 0&&_.set("activeOnly",String(S)),k!==void 0&&_.set("limit",String(k));const B=_.toString(),D=await fetch(`${Ge}/sessions/${w.sessionId}/tasks${B?`?${B}`:""}`);if(!i(w)||b!==o||!D.ok)return;t.backgroundTasks.value=await D.json()}catch{}}async function g(S,k){const w=ft(t);if(!w)return;const b=++r;try{const _=k!==void 0?`?tail=${k}`:"",B=await fetch(`${Ge}/sessions/${w.sessionId}/tasks/${encodeURIComponent(S)}/output${_}`);if(!i(w)||b!==r||!B.ok)return;const D=await B.json();t.backgroundTaskOutput.value=D.output}catch{}}async function y(S,k){return e.postSessionAction(`tasks/${encodeURIComponent(S)}/stop`,k?{reason:k}:{})}return{fetchMcpServers:a,fetchMcpStartupMetrics:l,addMcpServer:u,reconnectMcpServer:c,stopMcpServer:d,removeMcpServer:f,fetchBackgroundTasks:p,fetchBackgroundTaskOutput:g,stopBackgroundTask:y}}function Iy(e){const{s:t}=e;async function n(){try{const a=await fetch(`${Ge}/config`);if(!a.ok)return;t.config.value=await a.json()}catch{}}async function s(a){try{const l=await fetch(`${Ge}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:a})});return l.ok?(t.config.value=await l.json(),!0):!1}catch{return!1}}async function o(a){try{return(await fetch(`${Ge}/config/providers/${encodeURIComponent(a)}`,{method:"DELETE"})).ok?(await n(),!0):!1}catch{return!1}}async function r(){try{const a=await fetch(`${Ge}/experimental-flags`);if(!a.ok)return;t.experimentalFlags.value=await a.json()}catch{}}async function i(){try{if(!(await fetch(`${Ge}/preflight`)).ok)return;t.preflightOk.value=!0}catch{}}return{fetchConfig:n,setConfig:s,removeProvider:o,fetchExperimentalFlags:r,preflight:i}}function Ty(e){const{s:t}=e;return function(s){const o=t.wsHandlers.get(s.type);if(o!==void 0){o(s);return}t.wsUnknownFrames++,console.error(`[webClient] 收到未注册的 WS 帧类型 "${s.type}"(第 ${t.wsUnknownFrames} 次),该帧已被丢弃;请在对应域模块用 onWsMessage 注册处理器。`,s)}}function Ey(e){const{s:t,showToast:n}=e,s=Ty(e);function o(){const g=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/api/v1/ws`;return t.currentSessionId.value?`${g}?sessionId=${encodeURIComponent(t.currentSessionId.value)}`:g}function r(p){t.connectionStatus.value=p}function i(p=8e3){if(t.connectionStatus.value==="connected")return Promise.resolve(!0);if(t.connectionStatus.value==="idle"||t.disposed)return Promise.resolve(!1);const g=t.sessionId.value;if(!g)return Promise.resolve(!1);const y=Number.isFinite(p)&&p>0?p:8e3;return new Promise(S=>{const k=Date.now(),w=window.setInterval(()=>{t.sessionId.value!==g?(window.clearInterval(w),S(!1)):t.connectionStatus.value==="connected"?(window.clearInterval(w),S(!0)):(t.connectionStatus.value==="idle"||t.disposed||Date.now()-k>=y)&&(window.clearInterval(w),S(!1))},50)})}function a(p){var g;((g=t.ws)==null?void 0:g.readyState)===WebSocket.OPEN&&t.ws.send(JSON.stringify(p))}function l(p){u();const g=Number.isFinite(p)&&p>=1e3&&p<=12e4?p:15e3;t.lastPongAt=Date.now(),t.heartbeatTimer=window.setInterval(()=>{var y;if(Date.now()-t.lastPongAt>Xv){(y=t.ws)==null||y.close();return}a({type:"ping"})},g)}function u(){t.heartbeatTimer!==null&&(clearInterval(t.heartbeatTimer),t.heartbeatTimer=null)}function c(){if(t.disposed||t.reconnectTimer!==null)return;if(t.reconnectAttempt>=pc){r("disconnected"),t.error.value=`连接失败:自动重试已达上限(${pc} 次),请手动重试`;return}r("reconnecting"),t.reconnectAttempt++;const p=Math.min(1e3*2**t.reconnectAttempt,3e4);t.reconnectTimer=window.setTimeout(()=>{t.reconnectTimer=null,f()},p)}function d(){if(!t.disposed){if(t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.ws!==null){try{t.ws.close()}catch{}t.ws=null}t.reconnectAttempt=0,f()}}function f(){if(t.disposed||t.ws&&(t.ws.readyState===WebSocket.CONNECTING||t.ws.readyState===WebSocket.OPEN))return;r("connecting"),t.error.value=null,e.resetGoalRequestState(),t.connectionGeneration++;const p=new WebSocket(o());t.ws=p,p.onclose=g=>{if(t.ws===p&&(t.ws=null,u(),t.connectionStatus.value!=="idle")){if(g.code===1008){t.sessionGeneration++,e.resetGoalRequestState(),t.sessionId.value=null,t.currentSessionId.value=null,t.sessionActive.value=!1,t.goal.value=null,t.todos.value=[],t.subagents.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.messages.value=[],t.error.value=null,t.promptPending.value=!1,t.sentMessageIds.clear(),r("idle"),g.reason!=="unauthorized"&&(n("会话不可用或已被删除","warning"),e.fetchSessions());return}r("disconnected"),c()}},p.onerror=()=>{t.ws===p&&r("reconnecting")},p.onmessage=g=>{if(t.ws!==p)return;t.lastPongAt=Date.now();let y;try{y=JSON.parse(g.data)}catch{return}s(y)}}return Yt(t,"server_hello",p=>{t.sessionId.value=p.sessionId,t.workDir.value=p.workDir,t.currentSessionId.value=p.sessionId,t.sessionActive.value=p.active;const g=t.epoch;t.epoch=p.epoch,l(p.heartbeat_ms),a({type:"client_hello",lastSeq:t.seq,epoch:g}),g!==0&&g!==p.epoch&&(t.seq=0),r("connected"),t.reconnectAttempt=0,e.flushQueue();const y=t.sessionGeneration,S=t.connectionGeneration,k=()=>t.sessionId.value===p.sessionId&&t.currentSessionId.value===p.sessionId&&t.sessionGeneration===y&&t.connectionGeneration===S,w=()=>{k()&&(e.fetchSnapshot().finally(()=>{var b;k()&&((b=e.refreshSessionResources)==null||b.call(e))}),e.fetchSessions(),e.fetchGitStatus())};p.active?w():e.activateSession(p.sessionId).then(b=>{k()&&(b&&t.sessionId.value===p.sessionId&&(t.sessionActive.value=!0),w())})}),Yt(t,"server_empty",()=>{r("idle")}),Yt(t,"pong",()=>{}),e.connect=f,e.waitForConnected=i,e.send=a,e.stopHeartbeat=u,e.setConnectionStatus=r,{connect:f,waitForConnected:i,send:a,reconnectNow:d,stopHeartbeat:u}}function Ay(){const e=Qv(),t=e.s;ey(e);const n=yy(e),s=by(e),o=ky(e),r=wy(e),i=Sy(e),a=_y(e),l=$y(e),u=Cy(e),c=xy(e),d=Iy(e),f=Ey(e);e.refreshSessionResources=async()=>{t.sessionId.value&&await Promise.all([l.fetchSessionStatus(),l.fetchSessionUsage(),l.fetchSessionContext(),l.fetchSessionPlan(),u.fetchSkills(),u.fetchPlugins(),c.fetchMcpServers(),c.fetchMcpStartupMetrics(),c.fetchBackgroundTasks()])},f.connect(),r.fetchSessions(),i.fetchModels();const p=()=>{f.connect()},g=()=>{!document.hidden&&t.connectionStatus.value!=="connected"&&f.connect()};window.addEventListener("online",p),document.addEventListener("visibilitychange",g),st(()=>{t.disposed=!0,n.disposeStreaming(),window.removeEventListener("online",p),document.removeEventListener("visibilitychange",g),f.stopHeartbeat(),t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.snapshotRetryTimer!==null&&(clearTimeout(t.snapshotRetryTimer),t.snapshotRetryTimer=null),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null)}),Se(t.skills,S=>dc(S),{immediate:!0});const y={connectionStatus:t.connectionStatus,waitForConnected:f.waitForConnected,messages:t.messages,pendingApprovals:t.pendingApprovals,status:t.status,goal:t.goal,todos:t.todos,goalRequestPending:t.goalRequestPending,goalRequestError:t.goalRequestError,error:t.error,sessionId:t.sessionId,workDir:t.workDir,isBusy:t.isBusy,isArchived:t.isArchived,sessions:t.sessions,currentSessionId:t.currentSessionId,gitStatus:t.gitStatus,models:t.models,modelsError:t.modelsError,like:t.like,fetchLike:i.fetchLike,updateLike:i.updateLike,sendPrompt:o.sendPrompt,sendCommand:o.sendCommand,clearMessages:o.clearMessages,appendSystemMessage:o.appendSystemMessage,abort:o.abort,resolveApproval:o.resolveApproval,fetchSessions:r.fetchSessions,fetchGitStatus:r.fetchGitStatus,fetchModels:i.fetchModels,reconnectNow:f.reconnectNow,olderAvailable:t.olderAvailable,oldestSeq:t.oldestSeq,loadOlderMessages:o.loadOlderMessages,switchModel:i.switchModel,switchThinking:i.switchThinking,refineGoal:a.refineGoal,createGoal:a.createGoal,updateGoal:a.updateGoal,pauseGoal:a.pauseGoal,resumeGoal:a.resumeGoal,cancelGoal:a.cancelGoal,createSession:r.createSession,switchSession:r.switchSession,deleteSession:r.deleteSession,exportSession:r.exportSession,fetchSnapshot:s.fetchSnapshot,fetchSessionStatus:l.fetchSessionStatus,fetchSessionUsage:l.fetchSessionUsage,fetchSessionContext:l.fetchSessionContext,fetchSessionPlan:l.fetchSessionPlan,sessionPlan:t.sessionPlan,clearPlan:l.clearPlan,switchPermission:l.switchPermission,switchPlanMode:l.switchPlanMode,switchWolfpack:l.switchWolfpack,switchRlm:l.switchRlm,undoHistory:l.undoHistory,compact:l.compact,skills:t.skills,skillsError:t.skillsError,fetchSkills:u.fetchSkills,activateSkill:u.activateSkill,removeSkill:u.removeSkill,plugins:t.plugins,pluginInfo:t.pluginInfo,fetchPlugins:u.fetchPlugins,fetchPluginInfo:u.fetchPluginInfo,installPlugin:u.installPlugin,setPluginEnabled:u.setPluginEnabled,setPluginMcpServerEnabled:u.setPluginMcpServerEnabled,removePlugin:u.removePlugin,reloadPlugins:u.reloadPlugins,activatePlugin:u.activatePlugin,deactivatePlugin:u.deactivatePlugin,injectPlugin:u.injectPlugin,mcpServers:t.mcpServers,mcpStartupMetrics:t.mcpStartupMetrics,fetchMcpServers:c.fetchMcpServers,fetchMcpStartupMetrics:c.fetchMcpStartupMetrics,addMcpServer:c.addMcpServer,reconnectMcpServer:c.reconnectMcpServer,stopMcpServer:c.stopMcpServer,removeMcpServer:c.removeMcpServer,backgroundTasks:t.backgroundTasks,backgroundTaskOutput:t.backgroundTaskOutput,subagents:t.subagents,fetchBackgroundTasks:c.fetchBackgroundTasks,fetchBackgroundTaskOutput:c.fetchBackgroundTaskOutput,stopBackgroundTask:c.stopBackgroundTask,config:t.config,fetchConfig:d.fetchConfig,setConfig:d.setConfig,removeProvider:d.removeProvider,experimentalFlags:t.experimentalFlags,fetchExperimentalFlags:d.fetchExperimentalFlags,preflightOk:t.preflightOk,preflight:d.preflight};return qv(y),st(()=>{Vv(y),dc([])}),y}const My=["compact","auto","ask","yes","bot","plan","fork","title","btw"];function bc(e){const t=(e==null?void 0:e.trim().toLowerCase())??"";return t.length===0?"toggle":t==="on"?!0:t==="off"?!1:null}function Ry(e){const t=(e==null?void 0:e.trim())??"";if(t.length===0)return 1;if(!/^[1-9]\d*$/.test(t))return null;const n=Number(t);return Number.isSafeInteger(n)?n:null}function Py(e){const t=(e==null?void 0:e.trim())??"";if(t.length===0)return null;const n=Number(t);return Number.isInteger(n)&&n>=0&&Number.isSafeInteger(n)?n:null}function lh(e){const{showToast:t}=Js();async function n(){var f;try{if(await((f=e.ensureSession)==null?void 0:f.call(e))===!1)return null}catch(p){return t(`无法创建会话:${p instanceof Error?p.message:String(p)}`,"error"),null}const d=za();return!d||!d.sessionId.value?(t("请先创建或打开一个会话。","warning"),null):d}async function s(d,f){try{await d()&&t(f,"success")}catch(p){t(`操作失败:${p instanceof Error?p.message:String(p)}`,"error")}}async function o(d){const f=bc(d);if(f===null){t("用法:/wolfpack [on|off]","warning");return}const p=await n();if(!p)return;const g=f==="toggle"?p.status.value.wolfpackMode!==!0:f;await s(()=>p.switchWolfpack(g),`Wolfpack 模式已${g?"开启":"关闭"}`)}async function r(d){const f=bc(d);if(f===null){t("用法:/rlm [on|off]","warning");return}const p=await n();if(!p)return;const g=f==="toggle"?p.status.value.rlmEnabled!==!0:f;await s(()=>p.switchRlm(g),`RLM 模式已${g?"开启":"关闭"}`)}async function i(d){const f=(d==null?void 0:d.trim())??"";if(f.length===0){e.appendSystemMessage("RLM 最大深度:请输入 /rlm-max-depth <N> 设置(0 = 无限)。");return}const p=Py(f);if(p===null){t("RLM 深度需为 0 或非负整数。","warning");return}const g=await n();if(!g)return;const y=g.status.value.rlmEnabled===!0;await s(()=>g.switchRlm(y,p),p===0?"RLM 递归深度已设为无限。":`RLM 最大深度已设为 ${p}。`)}async function a(d){const f=(d==null?void 0:d.trim().toLowerCase())??"";if(f!==""&&f!=="on"&&f!=="off"){t("用法:/fusionplan [on|off]","warning");return}const p=await n();if(!p)return;const g=p.status.value.planMode===!0&&p.status.value.planStrategy==="fusion",y=f==="off"?!1:f==="on"?!0:!g;await s(()=>p.switchPlanMode(y,y?"fusion":void 0),`融合计划模式已${y?"开启":"关闭"}`)}async function l(d){const f=Ry(d);if(f===null){t("用法:/revoke [正整数轮数]","warning");return}const p=await n();if(p){if(p.isBusy.value){t("当前回合正在运行,无法撤销。","error");return}try{if(!await p.undoHistory(f))return;await p.fetchSnapshot(),t(`已撤销最近 ${f} 轮。`,"success")}catch(g){t(`撤销失败:${g instanceof Error?g.message:String(g)}`,"error")}}}async function u(d,f){var S;if(await((S=e.ensureSession)==null?void 0:S.call(e))===!1)return;const g=e.onSkill??(async(k,w)=>{const b=za();return b?await b.activateSkill(k,w):!1});let y=!1;try{y=await g(d,f)}catch(k){y=!1,t(`技能激活失败:${k instanceof Error?k.message:String(k)}`,"error");return}y?t(`技能已激活:/${d}`,"success"):t(`技能激活失败:/${d}`,"error")}async function c(d,f){var p,g,y;if(My.includes(d)){if(await((p=e.ensureSession)==null?void 0:p.call(e))===!1)return;e.sendCommand(d,f)}else d==="wolfpack"?await o(f):d==="rlm"?await r(f):d==="rlm-max-depth"?await i(f):d==="fusionplan"?await a(f):d==="revoke"?await l(f):d==="clear"?e.clearMessages():d==="new"?e.onNew():d==="help"?e.appendSystemMessage(Wv()):d==="model"?(g=e.openModelPicker)!=null&&g.call(e)||e.appendSystemMessage(`当前模型:${((y=e.currentModel)==null?void 0:y.call(e))??"unknown"}`):d==="status"||d==="usage"?e.showInfo?e.showInfo(d):e.appendSystemMessage("请在对话页查看会话详情"):Hv(d)?await u(d,f):t(`未知命令:/${d}`,"error")}return{onCommand:c}}const Ly=640,Dy=1024,Fl=768,kc=264,qr=420,Ny=288,wc=56,Ha=300,uh=.7,Oy=320,ch=400;function ss(e,t,n){const s=Number.isFinite(e)?e:t,o=Math.max(t,n);return Math.round(Math.max(t,Math.min(o,s)))}function Gy(e){return ss(e*.45,Ha,Math.round(e*uh))}function By(e){const{viewportWidth:t,rightPanelOpen:n,rightPanelWidth:s}=e;if(t<=Ly)return qr;const o=t<Fl,r=o?Oy:ch,i=!o&&n?s:0;return Math.min(qr,t-r-i)}function Fy(e){const{viewportWidth:t,sidebarOpen:n,sidebarWidth:s}=e,o=Math.round(t*uh);if(t<Fl)return o;const r=n?s:0;return Math.min(o,t-ch-r)}function Vr(e){try{return localStorage.getItem(e)??void 0}catch{return}}function Kr(e,t){try{localStorage.setItem(e,t)}catch{}}function Uy(e){try{const t=localStorage.getItem(e);return t===null?void 0:JSON.parse(t)}catch{return}}function jy(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Sc(e){const{storageKey:t,minWidth:n,side:s}=e,o=b=>typeof b=="function"?b():b,r=()=>o(e.maxWidth);function i(){var _;const b=Uy(t);return typeof b=="number"&&Number.isFinite(b)&&b>=n&&(((_=e.acceptStoredWidth)==null?void 0:_.call(e,b))??!0)?Math.round(b):o(e.defaultWidth)}const a=O(i()),l=O(!1);let u=null;function c(){jy(t,a.value)}function d(b){return s==="left"?b:window.innerWidth-b}function f(b){if(!(e.canDrag&&!e.canDrag())){b.preventDefault(),l.value=!0,u=b.pointerId;try{b.currentTarget.setPointerCapture(b.pointerId)}catch{}}}function p(b){!l.value||b.pointerId!==u||(a.value=ss(d(b.clientX),n,r()))}function g(b){!l.value||b.pointerId!==u||y()}function y(){l.value=!1,u=null,c()}function S(){a.value=ss(o(e.defaultWidth),n,r()),c()}function k(b){const _=b.shiftKey?32:12,B=s==="left"?1:-1;if(b.key==="ArrowLeft")b.preventDefault(),a.value=ss(a.value-B*_,n,r());else if(b.key==="ArrowRight")b.preventDefault(),a.value=ss(a.value+B*_,n,r());else if(b.key==="Home")b.preventDefault(),a.value=n;else if(b.key==="End")b.preventDefault(),a.value=ss(r(),n,r());else if(b.key==="Enter")b.preventDefault(),S();else return;c()}const w=G(()=>ss(a.value,n,r()));return{width:a,effectiveWidth:w,resizing:l,onPointerDown:f,onPointerMove:p,onPointerUp:g,onKeydown:k,reset:S,release:y}}const Ul=new Map;function Pn(e){return Ul.set(e.kind,e),e}function dh(e){const t=Ul.get(e);if(!t)throw new Error(`unregistered dock tab kind: ${e}`);return t}function zy(e){return typeof e=="string"&&Ul.has(e)}Pn({kind:"file",label:"文件",icon:"file",singleton:!1});Pn({kind:"detail",label:"会话详情",icon:"layers",singleton:!0});Pn({kind:"control",label:"会话控制",icon:"wrench",singleton:!0});Pn({kind:"agents",label:"协作代理",icon:"bot",singleton:!0});Pn({kind:"run",label:"运行状态",icon:"activity",singleton:!0});Pn({kind:"git",label:"Git",icon:"git-branch",singleton:!0});Pn({kind:"todo",label:"Todo",icon:"clipboard",singleton:!0});Pn({kind:"goal",label:"目标",icon:"target",singleton:!0});Pn({kind:"like",label:"偏好",icon:"user",singleton:!0});function fh(e){return`dock:${e}`}function Zr(e){return`dock-tab-${encodeURIComponent(e)}`}function Wa(e){return`dock-panel-${encodeURIComponent(e)}`}function Hy(e,t){return(e==null?void 0:e.displayMode)??t??"source"}function Wy(e,t){const n=e.find(r=>r.id===t.tabId);if(!n)return[...e,{id:t.tabId,kind:"file",label:t.fileName,filePath:t.filePath,sourceSessionId:t.sourceSessionId,initialDisplayMode:t.modeHint,viewerState:t.modeHint?{displayMode:t.modeHint,wrapLines:!1,scrollTop:0,scrollLeft:0}:void 0,viewerRevision:0}];if(n.kind!=="file")return e;const s=!!(t.sourceSessionId&&n.sourceSessionId!==t.sourceSessionId);return!s&&!t.modeHint?e:e.map(r=>{var a;if(r.id!==t.tabId||r.kind!=="file")return r;const i={...r};return s&&(i.sourceSessionId=t.sourceSessionId),t.modeHint?(i.initialDisplayMode=t.modeHint,i.viewerState={displayMode:t.modeHint,wrapLines:((a=r.viewerState)==null?void 0:a.wrapLines)??!1,scrollTop:0,scrollLeft:0},i.viewerRevision=(r.viewerRevision??0)+1):s&&(i.viewerRevision=(r.viewerRevision??0)+1),i})}function qy(e,t){const n=fh(t);return e.some(s=>s.id===n)?e:[...e,{id:n,kind:t,label:dh(t).label}]}function Vy(e,t,n,s){const o=e.findIndex(a=>a.id===t&&a.kind==="file");if(o===-1)return e;const r=e[o];if((r.viewerRevision??0)!==n)return e;const i=[...e];return i[o]={...r,viewerState:s},i}const hh="scream-file-tabs";function Ky(){try{const e=localStorage.getItem(hh);return e?JSON.parse(e):{}}catch{return{}}}function Ko(e){try{localStorage.setItem(hh,JSON.stringify(e))}catch{}}function Zy(e){return typeof e.id!="string"||typeof e.label!="string"?null:e.kind===void 0?typeof e.filePath=="string"?{...e,kind:"file"}:null:zy(e.kind)?e.kind==="file"?typeof e.filePath!="string"?null:e:{id:e.id,kind:e.kind,label:e.label}:null}const Oo=Ky(),na=(Array.isArray(Oo.tabs)?Oo.tabs:[]).map(e=>Zy(e)).filter(e=>e!==null),_c=typeof Oo.activeTabId=="string"?Oo.activeTabId:null;var Od;const we=Wn({tabs:na,activeTabId:na.some(e=>e.id===_c)?_c:((Od=na.at(-1))==null?void 0:Od.id)??null,panelOpen:Oo.panelOpen===!0});function Yy(){var e;if(we.tabs.length===0){we.activeTabId=null;return}we.tabs.some(t=>t.id===we.activeTabId)||(we.activeTabId=((e=we.tabs.at(-1))==null?void 0:e.id)??null)}function ms(e,t={}){const n=e.split("/").pop()||e,s=e;return we.tabs=Wy(we.tabs,{fileName:t.label??n,filePath:e,modeHint:t.modeHint,sourceSessionId:t.sessionId??null,tabId:s}),we.activeTabId=s,we.panelOpen=!0,Ko(we),s}function wr(e){const t=fh(e);return we.tabs=qy(we.tabs,e),we.activeTabId=t,we.panelOpen=!0,Ko(we),t}function Xy(e){we.tabs.some(t=>t.id===e)&&(we.activeTabId=e,Ko(we))}function Jy(e){const t=we.tabs.findIndex(n=>n.id===e);if(t!==-1){if(we.tabs=we.tabs.filter(n=>n.id!==e),we.activeTabId===e){const n=we.tabs[t]??we.tabs[t-1]??null;we.activeTabId=n?n.id:null}we.tabs.length===0&&(we.panelOpen=!1,we.activeTabId=null),Ko(we)}}function jl(e){we.panelOpen=e,e&&Yy(),Ko(we)}function Qy(){jl(!we.panelOpen)}const qa=()=>we.tabs.find(e=>e.id===we.activeTabId),eb=()=>{const e=qa();return e&&e.kind==="file"?e:void 0},Ei=O(!1);let Yr=0;function tb(){Yr++}function nb(){Yr=Math.max(0,Yr-1)}function sb(){return Yr>0}function ph(){return sb()?(Ei.value=!0,!0):!1}function ob(){Ei.value=!0}function Xr(){Ei.value=!1}function gh(){return{open:Ei,openSettingsModal:ob,closeSettingsModal:Xr,tryOpenSettingsModal:ph}}const mh="scream-workspace-preference",Ai=O(Vr(mh)||null),zl=O(null);let uo=null;function rb(e){Ai.value=e,Kr(mh,e??"")}async function ib(){return uo||(uo=(async()=>{try{const e=await fetch(`${Ge}/workdir`);if(!e.ok)return;const t=await e.json();typeof t.workDir=="string"&&t.workDir&&(zl.value=t.workDir)}catch{}finally{uo=null}})(),uo)}const ab=G(()=>Ai.value??zl.value??""),lb=G(()=>!!Ai.value);function Hl(){return{preferredWorkDir:Ai,serverWorkDir:zl,displayWorkDir:ab,hasPreference:lb,setPreferredWorkDir:rb,fetchServerWorkDir:ib}}function Va(e){const t=e.replace(/[\\/]+$/,"");return t.split(/[\\/]/).filter(Boolean).at(-1)??t??e}const ub=["type","disabled"],cb=Ie({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(m(),v("button",{class:ue(["ui-btn",[`ui-btn--${e.variant}`,`ui-btn--${e.size}`]]),type:e.type,disabled:e.disabled},[$o(t.$slots,"default",{},void 0)],10,ub))}}),Te=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},Ht=Te(cb,[["__scopeId","data-v-293d37e0"]]),db={key:0,class:"approval-card"},fb={class:"approval-header"},hb={class:"approval-title"},pb={class:"tool-name"},gb={class:"action-summary"},mb={key:0,class:"approval-count"},vb={class:"approval-action"},yb={key:0,class:"feedback-area"},bb={class:"approval-buttons"},kb={key:0,class:"busy-indicator","aria-label":"处理中"},wb=Ie({__name:"ApprovalCard",props:{approvals:{}},emits:["resolve"],setup(e,{emit:t}){const n=e,s=t,o=O(!1),r=O(!1),i=O(""),a=O(new Set),l=G(()=>n.approvals[0]);Se(()=>n.approvals.map(g=>g.id).join(","),()=>{r.value=!1,i.value="";const g=new Set(n.approvals.map(y=>y.id));a.value=new Set([...a.value].filter(y=>g.has(y)))});function u(g){return typeof g.display=="string"?g.display:g.display&&typeof g.display=="object"&&"description"in g.display?String(g.display.description??""):g.action??"执行该操作"}function c(g){return a.value.has(g)}function d(g,y,S){const k=l.value;!k||c(k.id)||(a.value=new Set([...a.value,k.id]),s("resolve",k.id,g,y,S))}function f(){const g=i.value.trim();g&&d("rejected",g)}function p(g){if(!l.value||o.value)return;const S=g.target;if(S&&(S.tagName==="TEXTAREA"||S.tagName==="INPUT")){r.value&&g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),f());return}switch(g.key){case"1":g.preventDefault(),d("approved",void 0,"once");break;case"2":g.preventDefault(),d("approved",void 0,"session");break;case"3":g.preventDefault(),d("rejected");break;case"4":g.preventDefault(),r.value=!r.value;break}}return et(()=>window.addEventListener("keydown",p)),st(()=>window.removeEventListener("keydown",p)),(g,y)=>e.approvals.length?(m(),v("div",db,[o.value?(m(),v("button",{key:0,class:"approval-minibar",onClick:y[0]||(y[0]=S=>o.value=!1)}," ⚠ "+C(e.approvals.length)+" 个待审批请求 — 点击展开 ",1)):l.value?(m(),v(ne,{key:1},[h("div",fb,[y[7]||(y[7]=h("span",{class:"approval-icon"},"⚠",-1)),h("span",hb,[h("span",pb,C(l.value.toolName),1),h("span",gb,C(u(l.value)),1)]),e.approvals.length>1?(m(),v("span",mb,"+"+C(e.approvals.length-1),1)):U("",!0),h("button",{class:"icon-btn",title:"最小化","aria-label":"最小化",onClick:y[1]||(y[1]=S=>o.value=!0)},"—")]),h("pre",vb,C(u(l.value)),1),r.value?(m(),v("div",yb,[Ze(h("textarea",{"onUpdate:modelValue":y[2]||(y[2]=S=>i.value=S),class:"feedback-input",rows:"2",name:"approval-feedback","aria-label":"拒绝反馈",placeholder:"输入反馈,Enter 提交(将作为拒绝原因反馈给 Agent)"},null,512),[[it,i.value]])])):U("",!0),h("div",bb,[X(Ht,{variant:"primary",disabled:c(l.value.id),onClick:y[3]||(y[3]=S=>d("approved",void 0,"once"))},{default:ot(()=>[...y[8]||(y[8]=[h("kbd",null,"1",-1),Ae(" 批准 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"secondary",disabled:c(l.value.id),onClick:y[4]||(y[4]=S=>d("approved",void 0,"session"))},{default:ot(()=>[...y[9]||(y[9]=[h("kbd",null,"2",-1),Ae(" 会话批准 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"danger",disabled:c(l.value.id),onClick:y[5]||(y[5]=S=>d("rejected"))},{default:ot(()=>[...y[10]||(y[10]=[h("kbd",null,"3",-1),Ae(" 拒绝 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"secondary",class:ue({"feedback-active":r.value}),disabled:c(l.value.id),onClick:y[6]||(y[6]=S=>r.value=!r.value)},{default:ot(()=>[...y[11]||(y[11]=[h("kbd",null,"4",-1),Ae(" 反馈 ",-1)])]),_:1},8,["class","disabled"]),c(l.value.id)?(m(),v("span",kb,[...y[12]||(y[12]=[h("span",{class:"spinner"},null,-1),Ae(" 处理中… ",-1)])])):U("",!0)])],64)):U("",!0)])):U("",!0)}}),Sb=Te(wb,[["__scopeId","data-v-137fa416"]]);function _b(e){const t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};const n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function $c(e){let t=0;for(let n=0;n<e.length;n++)e[n]==="/"&&t++;return t}function Cc(e,t){if(!e)return!0;let n=0;for(let s=0;s<t.length&&n<e.length;s++)t[s]===e[n]&&n++;return n===e.length}function $b(e,t){const n=e.path.toLowerCase();let s=0;if(t.includes("/"))n===t?s=100:n.startsWith(t)?s=80:n.includes(t)?s=50:Cc(t,n)&&(s=10);else{const o=n.lastIndexOf("/"),r=o===-1?n:n.slice(o+1);r===t?s=100:r.startsWith(t)?s=80:r.includes(t)?s=50:n.includes(t)?s=30:Cc(t,n)&&(s=10)}return e.isDir&&s>0&&(s+=10),s}const Cb=20;function vh(e,t,n=Cb){const s=t.toLowerCase();if(!s)return e.slice(0,n);const o=[];for(const r of e){const i=$b(r,s);i>0&&o.push({entry:r,score:i})}return o.sort((r,i)=>i.score-r.score||$c(r.entry.path)-$c(i.entry.path)||r.entry.path.localeCompare(i.entry.path)),o.slice(0,n).map(r=>r.entry)}function xb(e,t){const n=t?`${e}/`:e,s=n.includes(" ");if(t){const r=s?`@"${n}"`:`@${n}`;return{text:r,cursorOffset:s?r.length-1:r.length}}const o=s?`@"${n}" `:`@${n} `;return{text:o,cursorOffset:o.length}}const Ib="/api/v1/files",Tb=3e4,Ka=new Map,Sr=new Map;async function Wl(e){const t=Ka.get(e);if(t&&Date.now()-t.at<Tb)return t.entries;const n=Sr.get(e);if(n)return n;const s=(async()=>{try{const o=await fetch(`${Ib}/list?path=${encodeURIComponent(e)}`);if(!o.ok)return null;const r=await o.json();return r.entries&&Ka.set(e,{entries:r.entries,at:Date.now()}),r.entries??null}catch{return null}finally{Sr.delete(e)}})();return Sr.set(e,s),s}function Eb(e){Ka.delete(e),Sr.delete(e)}function Ab(e,t){const n=e.replace(/\/+$/,""),s=n.split("/").filter(Boolean),o=[...s];for(const i of t.split("/"))if(!(!i||i===".")){if(i===".."){if(o.length<=s.length)return null;o.pop();continue}o.push(i)}const r=`/${o.join("/")}`;return r===n||r.startsWith(`${n}/`)?r:null}function Mb(e,t,n){const s=O(null),o=O([]),r=O(!1),i=O(!1),a=O(0),l=O(!1),u=O(null),c=O("");let d=null;function f(){d||(d=(async()=>{var M;try{const T=await fetch("/api/v1/files/root"),Z=T.ok?await T.json():{};c.value=((M=Z.roots)==null?void 0:M[0])??""}catch{c.value=""}b()})())}const p=G(()=>{const M=u.value;if(!M)return[];const T=M.query.lastIndexOf("/"),Z=M.query.slice(T+1);return vh(o.value,Z)}),g=G(()=>u.value!==null&&!l.value&&(r.value||p.value.length>0));function y(M){const T=M.lastIndexOf("/");return T===-1?{dirRel:"",tail:M}:{dirRel:M.slice(0,T),tail:M.slice(T+1)}}let S=!1,k=0;async function w(M,T){const Z=++k;r.value=!0;try{const W=await Wl(M);if(W===null)throw new Error("listing failed");if(Z!==k)return;const j=T?`${T.replace(/\/+$/,"")}/`:"";o.value=W.map(te=>({path:`${j}${te.name}`,isDir:te.type==="dir"})),i.value=!1}catch{if(Z!==k)return;o.value=[],i.value=!0,s.value=null}finally{Z===k&&(r.value=!1)}}function b(){var A;if(S)return;const M=t.value;if(M&&M.value!==e.value){u.value=null;return}let T=(A=n.value)==null?void 0:A.trim();if(T||(f(),T=c.value),!M||!T){u.value=null;return}const Z=M.selectionStart??M.value.length,W=_b(M.value.slice(0,Z));if(!W){u.value=null,l.value=!1;return}const j=u.value;(!j||j.start!==W.start||j.query!==W.query)&&(l.value=!1),u.value=W,a.value=0;const{dirRel:te}=y(W.query),I=Ab(T,te);if(I===null){s.value=null,o.value=[],i.value=!0;return}s.value!==I&&(s.value=I,w(I,te))}function _(M){const T=p.value.length;T>0&&(a.value=(a.value+M+T)%T)}function B(M){const T=u.value,Z=M??p.value[a.value];if(!T||!Z)return!1;const W=t.value;if(!W)return!1;const j=W.selectionStart??W.value.length,te=xb(Z.path,Z.isDir),I=e.value.slice(0,T.start),A=e.value.slice(j);e.value=I+te.text+A,S=!0;const V=()=>{const ie=T.start+te.cursorOffset;W.focus(),W.setSelectionRange(ie,ie),S=!1,b()};return typeof requestAnimationFrame=="function"?requestAnimationFrame(V):Promise.resolve().then(V),!0}function D(){l.value=!0}function E(){u.value=null,l.value=!1,a.value=0}return{visible:g,suggestions:p,index:a,dirLoading:r,dirMissing:i,refresh:b,move:_,confirm:B,dismiss:D,reset:E}}const yh=50;function Rb(e,t=yh){const n=new Set,s=[];for(let o=e.length-1;o>=0&&s.length<t;o-=1){const r=e[o];if(!r||r.role!=="user"||r.local)continue;const i=(r.content??"").trim();!i||n.has(i)||(n.add(i),s.push(i))}return s}function Pb(e,t,n=yh){const s=new Set,o=[],r=i=>{const a=i.trim();!a||s.has(a)||(s.add(a),o.push(a))};for(const i of t)r(i);for(let i=e.length-1;i>=0;i-=1){const a=e[i];a!==void 0&&r(a)}return o.slice(0,n).toReversed()}function Za(e,t){return[{title:t,entries:e}]}function Lb(){if(typeof navigator>"u")return"Ctrl";const e=`${navigator.platform??""} ${navigator.userAgent??""}`;return/Mac|iPhone|iPad|iPod/.test(e)?"⌘":"Ctrl"}const _r=Lb(),Db=["width","height"],Nb={key:0,d:"M4 7h16M4 12h16M4 17h16"},Ob={key:1,d:"M12 5v14M5 12h14"},Gb={key:5,d:"M4 6h16M7 12h10M10 18h4"},Bb={key:6,d:"M12 3v12m0 0 4-4m-4 4-4-4M5 20h14"},Fb={key:7,d:"M4 7h16M9 7V4h6v3m3 0-1 13H7L6 7m4 4v5m4-5v5"},Ub={key:8,d:"M3 12h4l2-7 4 14 2-7h6"},jb={key:10,d:"m15 18-6-6 6-6"},zb={key:11,d:"m9 18 6-6-6-6"},Hb={key:12,d:"m6 9 6 6 6-6"},Wb={key:16,d:"M20 15.5A8.5 8.5 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z"},qb={key:18,d:"M5 9a11 11 0 0 1 14 0M8.5 12.5a6 6 0 0 1 7 0M12 17h.01"},Vb={key:19,d:"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z"},Kb={key:20,d:"M12 16V4m0 0-4 4m4-4 4 4M5 20h14"},Zb={key:21,d:"m15 4 5 5M17.5 6.5 10 14m-2-2 4 4-3 4H3l1-6Z"},Yb={key:22,d:"M9 6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3Z"},Xb={key:24,d:"m22 2-7 20-4-9-9-4ZM22 2 11 13"},Jb={key:25,x:"6",y:"6",width:"12",height:"12",rx:"2"},Qb={key:26,d:"m8 3 4 4 4-4M8 21l4-4 4 4M12 7v10"},ek={key:27,d:"M9.5 4.5A3 3 0 0 0 5 7a3 3 0 0 0 .5 5.5A3 3 0 0 0 9 17v2a2 2 0 0 0 4 0V5a2.5 2.5 0 0 0-3.5-.5ZM13 6a3 3 0 0 1 5 2 3 3 0 0 1 .5 5.5A3 3 0 0 1 15 18"},tk={key:30,d:"M21 12a8 8 0 0 1-9 8 9 9 0 0 1-4-.9L3 21l1.7-4A9 9 0 1 1 21 12Z"},nk={key:31,d:"M20 13 13 20l-9-9V4h7ZM8.5 8.5h.01"},sk={key:32,d:"m12 3 1.3 3.7L17 8l-3.7 1.3L12 13l-1.3-3.7L7 8l3.7-1.3ZM5 15l.8 2.2L8 18l-2.2.8L5 21l-.8-2.2L2 18l2.2-.8ZM19 14l.7 1.8 1.8.7-1.8.7L19 19l-.7-1.8-1.8-.7 1.8-.7Z"},ok={key:34,d:"M3 6h7l2 2h9v11H3Z"},rk={key:35,d:"m5 12 4 4L19 6"},ik={key:39,d:"M21 12a9 9 0 1 1-2.6-6.4M21 3v6h-6"},ak={key:46,d:"M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-3-3Z"},lk={key:47,d:"M12 19V5m0 0-6 6m6-6 6 6"},uk={key:48,d:"M18 6 6 18M6 6l12 12"},ck={key:51,d:"M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5"},dk={key:52,d:"M4 9h5V4M20 9h-5V4M4 15h5v5M20 15h-5v5"},fk={key:56,d:"M4 20V10M10 20V4M16 20v-7M21 20H3"},hk=Ie({__name:"SvgIcon",props:{name:{},size:{default:20}},setup(e){return(t,n)=>(m(),v("svg",{class:"svg-icon",width:e.size,height:e.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.name==="menu"?(m(),v("path",Nb)):e.name==="plus"?(m(),v("path",Ob)):e.name==="panel-left"?(m(),v(ne,{key:2},[n[0]||(n[0]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[1]||(n[1]=h("path",{d:"M9 4v16"},null,-1))],64)):e.name==="panel-right"?(m(),v(ne,{key:3},[n[2]||(n[2]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[3]||(n[3]=h("path",{d:"M15 4v16"},null,-1))],64)):e.name==="search"?(m(),v(ne,{key:4},[n[4]||(n[4]=h("circle",{cx:"11",cy:"11",r:"7"},null,-1)),n[5]||(n[5]=h("path",{d:"m20 20-4-4"},null,-1))],64)):e.name==="filter"?(m(),v("path",Gb)):e.name==="download"?(m(),v("path",Bb)):e.name==="trash"?(m(),v("path",Fb)):e.name==="activity"?(m(),v("path",Ub)):e.name==="help"?(m(),v(ne,{key:9},[n[6]||(n[6]=h("circle",{cx:"12",cy:"12",r:"9"},null,-1)),n[7]||(n[7]=h("path",{d:"M9.7 9a2.5 2.5 0 1 1 3.5 2.3c-.8.4-1.2 1-1.2 1.7M12 17h.01"},null,-1))],64)):e.name==="chevron-left"?(m(),v("path",jb)):e.name==="chevron-right"?(m(),v("path",zb)):e.name==="chevron-down"?(m(),v("path",Hb)):e.name==="bot"?(m(),v(ne,{key:13},[n[8]||(n[8]=h("rect",{x:"4",y:"7",width:"16",height:"12",rx:"3"},null,-1)),n[9]||(n[9]=h("path",{d:"M12 3v4M8 12h.01M16 12h.01M9 16h6"},null,-1))],64)):e.name==="git-branch"?(m(),v(ne,{key:14},[n[10]||(n[10]=h("circle",{cx:"6",cy:"5",r:"2"},null,-1)),n[11]||(n[11]=h("circle",{cx:"18",cy:"7",r:"2"},null,-1)),n[12]||(n[12]=h("circle",{cx:"6",cy:"19",r:"2"},null,-1)),n[13]||(n[13]=h("path",{d:"M6 7v10M8 10c5 0 3-3 8-3"},null,-1))],64)):e.name==="sun"?(m(),v(ne,{key:15},[n[14]||(n[14]=h("circle",{cx:"12",cy:"12",r:"4"},null,-1)),n[15]||(n[15]=h("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.42 1.42m11.3 11.3 1.42 1.42M2 12h2m16 0h2M4.93 19.07l1.42-1.42m11.3-11.3 1.42-1.42"},null,-1))],64)):e.name==="moon"?(m(),v("path",Wb)):e.name==="monitor"?(m(),v(ne,{key:17},[n[16]||(n[16]=h("rect",{x:"3",y:"4",width:"18",height:"13",rx:"2"},null,-1)),n[17]||(n[17]=h("path",{d:"M8 21h8M12 17v4"},null,-1))],64)):e.name==="wifi"?(m(),v("path",qb)):e.name==="edit"?(m(),v("path",Vb)):e.name==="upload"?(m(),v("path",Kb)):e.name==="broom"?(m(),v("path",Zb)):e.name==="command"?(m(),v("path",Yb)):e.name==="at"?(m(),v(ne,{key:23},[n[18]||(n[18]=h("circle",{cx:"12",cy:"12",r:"4"},null,-1)),n[19]||(n[19]=h("path",{d:"M16 12v1.5a2.5 2.5 0 0 0 5 0V12a9 9 0 1 0-3.5 7"},null,-1))],64)):e.name==="send"?(m(),v("path",Xb)):e.name==="stop"?(m(),v("rect",Jb)):e.name==="compact"?(m(),v("path",Qb)):e.name==="brain"?(m(),v("path",ek)):e.name==="clipboard"?(m(),v(ne,{key:28},[n[20]||(n[20]=h("rect",{x:"5",y:"4",width:"14",height:"17",rx:"2"},null,-1)),n[21]||(n[21]=h("path",{d:"M9 4V2h6v2M9 10h6M9 14h6"},null,-1))],64)):e.name==="fork"?(m(),v(ne,{key:29},[n[22]||(n[22]=h("circle",{cx:"6",cy:"4",r:"2"},null,-1)),n[23]||(n[23]=h("circle",{cx:"18",cy:"6",r:"2"},null,-1)),n[24]||(n[24]=h("circle",{cx:"6",cy:"20",r:"2"},null,-1)),n[25]||(n[25]=h("path",{d:"M6 6v12M8 10c6 0 4-4 8-4"},null,-1))],64)):e.name==="message-circle"?(m(),v("path",tk)):e.name==="tag"?(m(),v("path",nk)):e.name==="sparkles"?(m(),v("path",sk)):e.name==="terminal"?(m(),v(ne,{key:33},[n[26]||(n[26]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[27]||(n[27]=h("path",{d:"m7 9 3 3-3 3m5 0h5"},null,-1))],64)):e.name==="folder"?(m(),v("path",ok)):e.name==="check"?(m(),v("path",rk)):e.name==="speaker"?(m(),v(ne,{key:36},[n[28]||(n[28]=h("path",{d:"M11 5 6 9H3v6h3l5 4V5z"},null,-1)),n[29]||(n[29]=h("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"},null,-1)),n[30]||(n[30]=h("path",{d:"M18 6a8.5 8.5 0 0 1 0 12"},null,-1))],64)):e.name==="speaker-off"?(m(),v(ne,{key:37},[n[31]||(n[31]=h("path",{d:"M11 5 6 9H3v6h3l5 4V5z"},null,-1)),n[32]||(n[32]=h("path",{d:"m16 9 5 6M21 9l-5 6"},null,-1))],64)):e.name==="copy"?(m(),v(ne,{key:38},[n[33]||(n[33]=h("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1)),n[34]||(n[34]=h("path",{d:"M16 8V4H4v12h4"},null,-1))],64)):e.name==="refresh"?(m(),v("path",ik)):e.name==="target"?(m(),v(ne,{key:40},[n[35]||(n[35]=h("circle",{cx:"12",cy:"12",r:"9"},null,-1)),n[36]||(n[36]=h("circle",{cx:"12",cy:"12",r:"5"},null,-1)),n[37]||(n[37]=h("circle",{cx:"12",cy:"12",r:"1"},null,-1))],64)):e.name==="settings"?(m(),v(ne,{key:41},[n[38]||(n[38]=h("circle",{cx:"12",cy:"12",r:"3"},null,-1)),n[39]||(n[39]=h("path",{d:"M19.4 15a1.7 1.7 0 0 0 .34 1.87l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.7 1.7 0 0 0-1.87-.34 1.7 1.7 0 0 0-1 1.55V21a2 2 0 1 1-4 0v-.09a1.7 1.7 0 0 0-1-1.55 1.7 1.7 0 0 0-1.87.34l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.7 1.7 0 0 0 .34-1.87 1.7 1.7 0 0 0-1.55-1H3a2 2 0 1 1 0-4h.09a1.7 1.7 0 0 0 1.55-1 1.7 1.7 0 0 0-.34-1.87l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.7 1.7 0 0 0 1.87.34h.09a1.7 1.7 0 0 0 1-1.55V3a2 2 0 1 1 4 0v.09a1.7 1.7 0 0 0 1 1.55 1.7 1.7 0 0 0 1.87-.34l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.7 1.7 0 0 0-.34 1.87v.09a1.7 1.7 0 0 0 1.55 1H21a2 2 0 1 1 0 4h-.09a1.7 1.7 0 0 0-1.55 1Z"},null,-1))],64)):e.name==="home"?(m(),v(ne,{key:42},[n[40]||(n[40]=h("path",{d:"M3 10.5 12 3l9 7.5"},null,-1)),n[41]||(n[41]=h("path",{d:"M5 9.5V21h14V9.5"},null,-1))],64)):e.name==="bell"?(m(),v(ne,{key:43},[n[42]||(n[42]=h("path",{d:"M6 9a6 6 0 1 1 12 0c0 5 2 6 2 6H4s2-1 2-6"},null,-1)),n[43]||(n[43]=h("path",{d:"M10 19a2 2 0 0 0 4 0"},null,-1))],64)):e.name==="book"?(m(),v(ne,{key:44},[n[44]||(n[44]=h("path",{d:"M4 5a2 2 0 0 1 2-2h13v18H6a2 2 0 0 0-2 2Z"},null,-1)),n[45]||(n[45]=h("path",{d:"M6 3v18"},null,-1))],64)):e.name==="layers"?(m(),v(ne,{key:45},[n[46]||(n[46]=h("path",{d:"m12 3 9 5-9 5-9-5Z"},null,-1)),n[47]||(n[47]=h("path",{d:"m3 13 9 5 9-5"},null,-1))],64)):e.name==="wrench"?(m(),v("path",ak)):e.name==="arrow-up"?(m(),v("path",lk)):e.name==="x"?(m(),v("path",uk)):e.name==="file"?(m(),v(ne,{key:49},[n[48]||(n[48]=h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"},null,-1)),n[49]||(n[49]=h("path",{d:"M14 2v6h6"},null,-1))],64)):e.name==="user"?(m(),v(ne,{key:50},[n[50]||(n[50]=h("circle",{cx:"12",cy:"8",r:"3.5"},null,-1)),n[51]||(n[51]=h("path",{d:"M5 20a7 7 0 0 1 14 0"},null,-1))],64)):e.name==="expand"?(m(),v("path",ck)):e.name==="minimize"?(m(),v("path",dk)):e.name==="shield"?(m(),v(ne,{key:53},[n[52]||(n[52]=h("path",{d:"M12 3 5 6v5.5c0 4.2 2.9 7.6 7 9.5 4.1-1.9 7-5.3 7-9.5V6Z"},null,-1)),n[53]||(n[53]=h("path",{d:"M9.5 12.2 11.3 14l3.4-3.6"},null,-1))],64)):e.name==="queue"?(m(),v(ne,{key:54},[n[54]||(n[54]=h("path",{d:"M4 7h11M4 12h11M4 17h7"},null,-1)),n[55]||(n[55]=h("path",{d:"M17.5 15.5 20 18l2.5-2.5M20 18v-6"},null,-1))],64)):e.name==="more"?(m(),v(ne,{key:55},[n[56]||(n[56]=h("circle",{cx:"5.5",cy:"12",r:"1.4"},null,-1)),n[57]||(n[57]=h("circle",{cx:"12",cy:"12",r:"1.4"},null,-1)),n[58]||(n[58]=h("circle",{cx:"18.5",cy:"12",r:"1.4"},null,-1))],64)):e.name==="bar-chart"?(m(),v("path",fk)):U("",!0)],8,Db))}}),ce=Te(hk,[["__scopeId","data-v-421b9da7"]]),pk={class:"at-menu",role:"listbox","aria-label":"文件提及"},gk={key:0,class:"at-status"},mk={key:1,class:"at-status"},vk=["data-active","aria-selected","onClick","onMousemove"],yk={class:"at-item-name"},bk={key:0,class:"at-item-dir"},kk={class:"at-hints"},wk={class:"at-hint"},Sk=["title"],_k=Ie({__name:"AtFileMenu",props:{suggestions:{},activeIndex:{},loading:{type:Boolean,default:!1},workDir:{default:""}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,o=O(null);Se(()=>n.activeIndex,async()=>{var u;await Fe();const l=(u=o.value)==null?void 0:u.querySelector('[data-active="true"]');l==null||l.scrollIntoView({block:"nearest"})});const r=l=>l.split("/").pop()||l;function i(l){return r(l.path)}function a(l){const u=l.path.lastIndexOf("/");return u===-1?"":l.path.slice(0,u)}return(l,u)=>{var c;return m(),v("div",pk,[e.loading&&e.suggestions.length===0?(m(),v("div",gk,"加载文件列表…")):e.suggestions.length===0?(m(),v("div",mk,"无匹配文件")):(m(),v("ul",{key:2,ref_key:"listRef",ref:o,class:"at-list"},[(m(!0),v(ne,null,Ce(e.suggestions,(d,f)=>(m(),v("li",{key:d.path},[h("button",{class:ue(["at-item",{selected:f===e.activeIndex}]),"data-active":f===e.activeIndex?"true":void 0,role:"option","aria-selected":f===e.activeIndex,onClick:p=>s("select",d),onMousemove:p=>s("hover",f)},[h("span",{class:ue(["at-item-icon",{"is-dir":d.isDir}])},[X(ce,{name:d.isDir?"folder":"file",size:14},null,8,["name"])],2),h("span",yk,C(i(d)),1),a(d)?(m(),v("span",bk,C(a(d)),1)):U("",!0)],42,vk)]))),128))],512)),h("div",kk,[u[1]||(u[1]=h("span",{class:"at-hint"},[h("kbd",null,"↑↓"),Ae("选择")],-1)),h("span",wk,[u[0]||(u[0]=h("kbd",null,"Tab/Enter",-1)),Ae(C((c=e.suggestions[e.activeIndex])!=null&&c.isDir?"进入目录":"插入引用"),1)]),u[2]||(u[2]=h("span",{class:"at-hint"},[h("kbd",null,"Esc"),Ae("关闭")],-1)),e.workDir?(m(),v("span",{key:0,class:"at-root",title:e.workDir},"根:"+C(r(e.workDir)),9,Sk)):U("",!0)])])}}}),$k=Te(_k,[["__scopeId","data-v-9c8e827b"]]),Ck=["title","aria-label"],xk=["width","height","viewBox"],Ik=["cx","cy","r"],Tk=["cx","cy","r","stroke-dasharray","stroke-dashoffset","transform"],sa=2,Ek=Ie({__name:"ContextRing",props:{usage:{default:void 0},size:{default:16}},setup(e){iv(l=>({v1d95ffa8:a.value}));const t=e,n=G(()=>{if(t.usage===void 0||Number.isNaN(t.usage))return 0;const l=t.usage>1?t.usage/100:t.usage;return Math.min(1,Math.max(0,l))}),s=G(()=>Math.round(n.value*100)),o=G(()=>(t.size-sa)/2),r=G(()=>2*Math.PI*o.value),i=G(()=>r.value*(1-n.value)),a=G(()=>n.value>=.9?"var(--color-danger)":n.value>=.7?"var(--color-warning)":"var(--color-accent)");return(l,u)=>(m(),v("span",{class:"context-ring",role:"img",title:`上下文占用 ${s.value}%`,"aria-label":`上下文占用 ${s.value}%`},[(m(),v("svg",{width:e.size,height:e.size,viewBox:`0 0 ${e.size} ${e.size}`},[h("circle",{class:"ring-track",cx:e.size/2,cy:e.size/2,r:o.value,"stroke-width":sa,fill:"none"},null,8,Ik),h("circle",{class:"ring-value",cx:e.size/2,cy:e.size/2,r:o.value,"stroke-width":sa,fill:"none","stroke-linecap":"round","stroke-dasharray":r.value,"stroke-dashoffset":i.value,transform:`rotate(-90 ${e.size/2} ${e.size/2})`},null,8,Tk)],8,xk))],8,Ck))}}),bh=Te(Ek,[["__scopeId","data-v-3ffc343b"]]),Ak=["data-goal-status"],Mk={class:"goal-status"},Rk=["title"],Pk={class:"goal-metric",title:"已用轮次"},Lk={class:"goal-actions"},Dk=["disabled","title"],Nk=["disabled","title"],Ok=["disabled","title"],Gk=Ie({__name:"GoalBar",props:{goal:{},disabled:{type:Boolean,default:!1},disabledReason:{default:""},busy:{type:Boolean,default:!1},pending:{type:Boolean,default:!1}},emits:["pause","resume","cancel","edit"],setup(e,{emit:t}){const n=e,s=t,o={active:"进行中",paused:"已暂停",blocked:"受阻",complete:"已完成"},r=G(()=>!!n.goal&&n.goal.status!=="complete"),i=G(()=>{var c;return((c=n.goal)==null?void 0:c.status)==="active"}),a=G(()=>{var c;return o[((c=n.goal)==null?void 0:c.status)??""]??"目标"}),l=G(()=>n.disabled?n.disabledReason||"当前不可操作":""),u=G(()=>{var f;const c=n.goal;if(!c)return"";const d=(f=c.budget)==null?void 0:f.turnBudget;return d?`${c.turnsUsed}/${d} 轮`:`${c.turnsUsed} 轮`});return(c,d)=>r.value&&e.goal?(m(),v("div",{key:0,class:"goal-bar","data-goal-bar":"","data-goal-status":e.goal.status},[X(ce,{name:"target",size:14,class:"goal-icon"}),h("span",Mk,C(a.value),1),h("span",{class:"goal-objective",title:e.goal.objective},C(e.goal.objective),9,Rk),h("span",Pk,C(u.value),1),h("div",Lk,[h("button",{class:"goal-action",type:"button",title:"编辑目标与预算(在右栏 Goal 面板)","aria-label":"编辑目标",onClick:d[0]||(d[0]=f=>s("edit"))},[X(ce,{name:"edit",size:13}),d[4]||(d[4]=h("span",null,"编辑",-1))]),i.value?(m(),v("button",{key:0,class:"goal-action",type:"button",disabled:e.disabled||e.busy||e.pending,title:e.disabled||e.pending?l.value:"暂停目标执行","aria-label":"暂停目标",onClick:d[1]||(d[1]=f=>s("pause"))},[...d[5]||(d[5]=[h("span",null,"暂停",-1)])],8,Dk)):(m(),v("button",{key:1,class:"goal-action",type:"button",disabled:e.disabled||e.busy||e.pending,title:e.disabled||e.pending?l.value:"继续目标执行","aria-label":"继续目标",onClick:d[2]||(d[2]=f=>s("resume"))},[...d[6]||(d[6]=[h("span",null,"继续",-1)])],8,Nk)),h("button",{class:"goal-action is-danger",type:"button",disabled:e.disabled||e.pending,title:e.disabled?l.value:"取消目标(可在右栏 Goal 面板查看结果)","aria-label":"取消目标",onClick:d[3]||(d[3]=f=>s("cancel"))}," 清除 ",8,Ok)])],8,Ak)):U("",!0)}}),Bk=Te(Gk,[["__scopeId","data-v-c7806e90"]]),Fk={class:"history-menu",role:"listbox","aria-label":"输入历史"},Uk={class:"history-header",title:"输入历史"},jk=["data-active","aria-selected","onClick","onMousemove"],zk={class:"history-item-index"},Hk={class:"history-item-text"},Wk=Ie({__name:"HistoryMenu",props:{items:{},activeIndex:{}},emits:["apply","hover"],setup(e,{emit:t}){const n=e,s=t,o=O(null);return Se(()=>n.activeIndex,async()=>{var i;await Fe();const r=(i=o.value)==null?void 0:i.querySelector('[data-active="true"]');r==null||r.scrollIntoView({block:"nearest"})}),et(async()=>{var i;await Fe();const r=(i=o.value)==null?void 0:i.querySelector('[data-active="true"]');r==null||r.scrollIntoView({block:"nearest"})}),(r,i)=>(m(),v("div",Fk,[h("div",Uk,[X(ce,{name:"refresh",size:14}),i[0]||(i[0]=h("span",{class:"history-hints"},[h("span",{class:"history-hint"},[h("kbd",null,"↑↓"),Ae("选择")]),h("span",{class:"history-hint"},[h("kbd",null,"Tab/Enter"),Ae("填入")]),h("span",{class:"history-hint"},[h("kbd",null,"Esc"),Ae("关闭")])],-1))]),h("ul",{ref_key:"listRef",ref:o,class:"history-list"},[(m(!0),v(ne,null,Ce(e.items,(a,l)=>(m(),v("li",{key:`${l}:${a}`},[h("button",{class:ue(["history-item",{selected:l===e.activeIndex}]),"data-active":l===e.activeIndex?"true":void 0,role:"option","aria-selected":l===e.activeIndex,onClick:u=>s("apply",a),onMousemove:u=>s("hover",l)},[h("span",zk,C(l+1),1),h("span",Hk,C(a),1)],42,jk)]))),128))],512)]))}}),qk=Te(Wk,[["__scopeId","data-v-41efc12f"]]);function ql(e,t){const n=t.gap??6,s=t.edge??8,o={position:"fixed",maxWidth:`${t.maxWidth}px`};return t.placement==="top"?o.bottom=`${window.innerHeight-e.top+n}px`:o.top=`${e.bottom+n}px`,t.align==="right"?o.right=`${Math.max(s,window.innerWidth-e.right)}px`:o.left=`${Math.min(Math.max(s,e.left),Math.max(s,window.innerWidth-t.maxWidth-s))}px`,o}const Vk=["aria-label"],Kk={key:0,class:"menu-heading"},Zk={key:0,class:"menu-group-title"},Yk=["disabled","title","aria-current","onClick"],Xk={class:"entry-label"};let Ps=null;function Jk(e){Ps==null||Ps(),Ps=e}function xc(e){Ps===e&&(Ps=null)}const Qk=Ie({__name:"MenuPopover",props:{label:{},groups:{},open:{type:Boolean},align:{default:"right"},placement:{default:"top"},maxWidth:{default:300},heading:{default:void 0}},emits:["select","update:open"],setup(e,{emit:t}){const n=e,s=t,o=O(null),r=O({});function i(){n.open&&s("update:open",!1)}Se(()=>n.open,d=>{d?(Jk(i),a(),document.addEventListener("scroll",c,!0),window.addEventListener("resize",c)):(xc(i),document.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c))});function a(){const d=o.value;d&&(r.value=ql(d.getBoundingClientRect(),{placement:n.placement,align:n.align,maxWidth:n.maxWidth}))}function l(d){const f=d.target;if(!(f instanceof Node))return;const p=o.value;p!=null&&p.contains(f)||f instanceof Element&&f.closest("[data-menu-popover]")||i()}function u(d){d.key==="Escape"&&n.open&&(d.stopPropagation(),i())}function c(){i()}return et(()=>{document.addEventListener("pointerdown",l,!0),window.addEventListener("keydown",u,!0),n.open&&(a(),document.addEventListener("scroll",c,!0),window.addEventListener("resize",c))}),st(()=>{xc(i),document.removeEventListener("pointerdown",l,!0),window.removeEventListener("keydown",u,!0),document.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c)}),(d,f)=>(m(),v("span",{ref_key:"rootRef",ref:o,class:"menu-root"},[$o(d.$slots,"default",{},void 0),(m(),De(Xs,{to:"body"},[e.open?(m(),v("div",{key:0,class:ue(["menu-popover",[`is-align-${e.align}`,`is-placement-${e.placement}`]]),style:bt(r.value),role:"menu","aria-label":e.label,"data-menu-popover":""},[e.heading?(m(),v("p",Kk,C(e.heading),1)):U("",!0),(m(!0),v(ne,null,Ce(e.groups,(p,g)=>(m(),v(ne,{key:`g${g}`},[p.title?(m(),v("p",Zk,C(p.title),1)):U("",!0),(m(!0),v(ne,null,Ce(p.entries,y=>(m(),v("button",{key:y.key,class:ue(["menu-entry",{"is-active":y.checked,"is-danger":y.tone==="danger"}]),role:"menuitem",type:"button",disabled:y.disabled,title:y.title??y.label,"aria-current":y.checked?"true":void 0,onClick:S=>s("select",y.key)},[y.icon?(m(),De(ce,{key:0,name:y.icon,size:14},null,8,["name"])):U("",!0),h("span",Xk,C(y.label),1),y.checked?(m(),De(ce,{key:1,name:"check",size:14,class:"entry-check"})):U("",!0)],10,Yk))),128))],64))),128))],14,Vk)):U("",!0)]))],512))}}),Ya=Te(Qk,[["__scopeId","data-v-e68e06d8"]]),e1=["onKeydown"],t1={key:0,class:"picker-empty"},n1={class:"picker-group-title"},s1=["onClick"],o1={class:"row-main"},r1={class:"row-name"},i1={class:"row-alias"},a1={class:"row-meta"},l1={key:0,class:"row-check"},u1={class:"picker-thinking"},c1={class:"thinking-options"},d1=["onClick"],f1=Ie({__name:"ModelPicker",props:{models:{},currentModel:{},currentThinking:{},open:{type:Boolean,default:!0}},emits:["apply-model","apply-thinking","close","update:open"],setup(e,{emit:t}){const n=e,s=t,o=["off","low","medium","high"],r={off:"关闭",low:"低",medium:"中",high:"高",xhigh:"超高",max:"最大"},i=O(""),a=O(null),l=G(()=>{const I=i.value.trim().toLowerCase();return I?n.models.filter(A=>A.alias.toLowerCase().includes(I)||A.provider.toLowerCase().includes(I)||(A.displayName??"").toLowerCase().includes(I)):n.models}),u=G(()=>{const I=new Map;for(const A of l.value){const V=I.get(A.provider)??[];V.push(A),I.set(A.provider,V)}return[...I.entries()].map(([A,V])=>({provider:A,models:V}))}),c=G(()=>n.models.find(I=>I.alias===n.currentModel)),d=G(()=>{var I;return((I=c.value)==null?void 0:I.thinkingLevels)??o});function f(I){return r[I]??I}function p(I){return I>=1e3?`${Math.round(I/1e3)}k`:String(I)}function g(I){return I.displayName??I.model}const y=O(null),S=O(null),k=O({});function w(){s("close"),s("update:open",!1)}function b(){var ae;const I=y.value;if(!I)return;const V=(((ae=I.closest(".chip-slot"))==null?void 0:ae.querySelector(".model-select"))??document.querySelector(".model-select")??I).getBoundingClientRect(),ie=6,me=8,_e=ql(V,{placement:"top",align:"right",maxWidth:Math.min(320,window.innerWidth-me*2),gap:ie,edge:me}),he=Math.max(240,V.top-ie-me);_e.maxHeight=`min(60vh, ${he}px)`,k.value=_e}function _(I){const A=I.target;A instanceof Element&&A.closest(".model-select")||S.value&&!S.value.contains(A)&&w()}function B(I){var V;const A=I.target;A instanceof Node&&((V=S.value)!=null&&V.contains(A))||w()}function D(){document.addEventListener("scroll",B,!0),window.addEventListener("resize",B)}function E(){document.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)}et(()=>{var I;document.addEventListener("mousedown",_,!0),n.open&&((I=a.value)==null||I.focus(),b(),D())}),Se(()=>n.open,I=>{if(!I){E();return}D(),Fe(()=>{var A;b(),(A=a.value)==null||A.focus()})}),st(()=>{document.removeEventListener("mousedown",_,!0),E()});function M(I){I!==n.currentModel&&s("apply-model",I),w()}const T=O(null);function Z(){const I=T.value;return I?Array.from(I.querySelectorAll(".picker-row")):[]}function W(){var I;(I=Z()[0])==null||I.focus()}function j(I){var ie,me,_e;if(I.key!=="ArrowDown"&&I.key!=="ArrowUp")return;const A=Z();if(A.length===0)return;const V=A.indexOf(document.activeElement);I.preventDefault(),V===-1?(ie=A[0])==null||ie.focus():I.key==="ArrowDown"?(me=A[(V+1)%A.length])==null||me.focus():(_e=A[(V-1+A.length)%A.length])==null||_e.focus()}function te(I){I!==n.currentThinking&&s("apply-thinking",I)}return(I,A)=>(m(),v("span",{ref_key:"anchorRef",ref:y,class:"model-picker model-picker--anchor"},[(m(),De(Xs,{to:"body"},[e.open?(m(),v("div",{key:0,ref_key:"rootRef",ref:S,class:"model-picker",style:bt(k.value),role:"dialog","aria-label":"模型选择",onKeydown:A[1]||(A[1]=Vn(tt(V=>w(),["stop"]),["esc"]))},[Ze(h("input",{ref_key:"searchRef",ref:a,"onUpdate:modelValue":A[0]||(A[0]=V=>i.value=V),class:"picker-search",type:"text",placeholder:"搜索模型…",id:"model-search-input",name:"model-search",autocomplete:"off",spellcheck:"false",onKeydown:Vn(tt(W,["prevent"]),["arrow-down"])},null,40,e1),[[it,i.value]]),h("div",{ref_key:"listRef",ref:T,class:"picker-list",onKeydown:j},[u.value.length===0?(m(),v("div",t1,"无匹配模型")):U("",!0),(m(!0),v(ne,null,Ce(u.value,V=>(m(),v("div",{key:V.provider,class:"picker-group"},[h("div",n1,C(V.provider),1),(m(!0),v(ne,null,Ce(V.models,ie=>(m(),v("button",{key:ie.alias,class:ue(["picker-row",{active:ie.alias===e.currentModel}]),onClick:me=>M(ie.alias)},[h("span",o1,[h("span",r1,C(g(ie)),1),h("span",i1,C(ie.alias),1)]),h("span",a1,C(p(ie.maxContextSize)),1),ie.alias===e.currentModel?(m(),v("span",l1,"✓")):U("",!0)],10,s1))),128))]))),128))],544),h("div",u1,[A[2]||(A[2]=h("span",{class:"thinking-label"},"思考强度",-1)),h("div",c1,[(m(!0),v(ne,null,Ce(d.value,V=>(m(),v("button",{key:V,class:ue(["thinking-btn",{active:V===e.currentThinking}]),onClick:ie=>te(V)},C(f(V)),11,d1))),128))])])],36)):U("",!0)]))],512))}}),h1=Te(f1,[["__scopeId","data-v-0271ee16"]]),p1={class:"slash-menu",role:"listbox","aria-label":"斜杠命令与技能"},g1={key:0,class:"slash-search"},m1=["value"],v1={class:"slash-list"},y1={key:0,class:"slash-group"},b1={class:"slash-group-label"},k1={key:0,class:"slash-group-hint"},w1=["aria-selected","onMousedown","onMouseenter"],S1={class:"slash-name"},_1={key:0,class:"slash-aliases"},$1={class:"slash-desc"},C1={key:0,class:"slash-badge slash-badge-source"},x1={key:0,class:"slash-badge slash-badge-input"},I1={key:1,class:"slash-badge"},T1=Ie({__name:"SlashMenu",props:{commands:{},activeIndex:{}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,o={builtin:"内置",user:"用户",extra:"扩展",project:"项目"};function r(d){return d?d.startsWith("plugin:")?`插件 ${d.slice(7)}`:o[d]||d:""}const i=G(()=>{const d=[];let f="";return n.commands.forEach((p,g)=>{const y=p.kind==="skill"?"skills":p.group==="advanced"?"advanced":"commands";y!==f&&(f=y,d.push({type:"header",label:a[y]})),d.push({type:"item",cmd:p,index:g})}),f!=="advanced"&&Uv()&&d.push({type:"header",label:a.advanced,hint:"输入继续筛选"}),d}),a={commands:"命令",advanced:"高级",skills:"技能"},l=O(""),u=G(()=>n.commands.length>Fv||l.value!=="");function c(d){l.value=d.target.value,Gv(l.value)}return st(()=>{l.value&&(l.value="",Bv())}),(d,f)=>(m(),v("div",p1,[u.value?(m(),v("div",g1,[h("input",{class:"slash-search-input",type:"text",value:l.value,placeholder:"筛选命令与技能…","aria-label":"筛选命令与技能",onInput:c,onMousedown:f[0]||(f[0]=tt(()=>{},["stop"]))},null,40,m1)])):U("",!0),h("div",v1,[(m(!0),v(ne,null,Ce(i.value,(p,g)=>{var y;return m(),v(ne,{key:g},[p.type==="header"?(m(),v("div",y1,[h("span",b1,C(p.label),1),p.hint?(m(),v("span",k1,C(p.hint),1)):U("",!0)])):(m(),v("button",{key:1,class:ue(["slash-item",{active:p.index===e.activeIndex}]),role:"option","aria-selected":p.index===e.activeIndex,onMousedown:tt(S=>s("select",p.cmd),["prevent"]),onMouseenter:S=>s("hover",p.index)},[h("span",S1,[Ae("/"+C(p.cmd.name),1),(y=p.cmd.aliases)!=null&&y.length?(m(),v("span",_1,C(p.cmd.aliases.map(S=>`/${S}`).join(" ")),1)):U("",!0)]),h("span",$1,C(p.cmd.description),1),p.cmd.kind==="skill"?(m(),v(ne,{key:0},[p.cmd.source?(m(),v("span",C1,C(r(p.cmd.source)),1)):U("",!0),f[1]||(f[1]=h("span",{class:"slash-badge slash-badge-skill"},"技能",-1))],64)):(m(),v(ne,{key:1},[p.cmd.acceptsInput?(m(),v("span",x1,"输入参数")):U("",!0),p.cmd.target==="backend"?(m(),v("span",I1,"服务端")):U("",!0)],64))],42,w1))],64)}),128))]),f[2]||(f[2]=h("div",{class:"slash-hint"},"↑↓ 选择 · Enter/Tab 执行 · Esc 关闭",-1))]))}}),E1=Te(T1,[["__scopeId","data-v-b0de79ca"]]),A1=34;function $r(e){const t=e.split("/"),n=t.at(-1)??e;return t.length<=2?{dir:t.length===2?`${t[0]}/`:"",base:n}:e.length<=A1?{dir:`${t.slice(0,-1).join("/")}/`,base:n}:{dir:`…/${t.at(-2)}/`,base:n}}const M1={class:"picker-input-row"},R1=["placeholder","onKeydown"],P1=["disabled","title"],L1={key:0,class:"picker-warn"},D1={class:"picker-rows"},N1=["title","onClick"],O1={class:"row-base"},G1={class:"row-path"},B1={class:"picker-rows"},F1=["title","onClick"],U1={class:"row-base"},j1=Ie({__name:"WorkspacePicker",props:{current:{default:""},defaultDir:{default:""},recentWorkDirs:{default:()=>[]}},emits:["select","close"],setup(e,{emit:t}){const n=e,s=t,o=O(n.current||n.defaultDir),r=O(null),i=O(null),a=O(null),l=O({}),u=G(()=>o.value.trim().startsWith("/")),c=G(()=>u.value&&o.value.trim().length>0);function d(){c.value&&s("select",o.value.trim())}const f=O([]);let p;Se(o,w=>{clearTimeout(p);const b=w.trim();if(!b.startsWith("/")){f.value=[];return}p=setTimeout(async()=>{const _=await Wl(b);o.value.trim()===b&&(f.value=(_??[]).filter(B=>B.type==="dir").slice(0,8))},250)});function g(w){var b;o.value=w.path,(b=r.value)==null||b.focus()}function y(){var M;const w=i.value;if(!w)return;const _=(((M=w.closest(".chip-slot"))==null?void 0:M.querySelector(".workspace-select"))??document.querySelector(".workspace-select")??w).getBoundingClientRect(),B=6,D=8,E=ql(_,{placement:"top",align:"left",maxWidth:Math.min(360,window.innerWidth-D*2),gap:B,edge:D});E.maxHeight=`min(60vh, ${Math.max(240,_.top-B-D)}px)`,l.value=E}function S(w){const b=w.target;b instanceof Element&&b.closest(".workspace-select")||a.value&&!a.value.contains(b)&&s("close")}function k(w){var _;const b=w.target;b instanceof Node&&((_=a.value)!=null&&_.contains(b))||s("close")}return et(()=>{document.addEventListener("mousedown",S,!0),document.addEventListener("scroll",k,!0),window.addEventListener("resize",k),Fe(()=>{var w,b;y(),(w=r.value)==null||w.focus(),(b=r.value)==null||b.select()})}),st(()=>{document.removeEventListener("mousedown",S,!0),document.removeEventListener("scroll",k,!0),window.removeEventListener("resize",k),clearTimeout(p)}),(w,b)=>(m(),v("span",{ref_key:"anchorRef",ref:i,class:"workspace-picker workspace-picker--anchor"},[(m(),De(Xs,{to:"body"},[h("div",{ref_key:"rootRef",ref:a,class:"workspace-picker",style:bt(l.value),role:"dialog","aria-label":"选择工作区",onKeydown:b[1]||(b[1]=Vn(tt(_=>s("close"),["stop"]),["esc"]))},[b[4]||(b[4]=h("p",{class:"picker-title"},"工作区(下一次新建)",-1)),h("div",M1,[Ze(h("input",{ref_key:"inputRef",ref:r,"onUpdate:modelValue":b[0]||(b[0]=_=>o.value=_),class:"picker-path-input","data-testid":"workspace-path-input",placeholder:e.defaultDir||"输入绝对路径,如 /Users/you/project",spellcheck:"false",onKeydown:Vn(tt(d,["prevent"]),["enter"])},null,40,R1),[[it,o.value]]),h("button",{class:"picker-apply","data-testid":"workspace-apply",disabled:!c.value,title:c.value?"使用该目录新建会话":"工作区必须是绝对路径",onClick:d}," 选择 ",8,P1)]),o.value.trim()&&!u.value?(m(),v("p",L1,"需要绝对路径(以 / 开头)")):U("",!0),e.recentWorkDirs.length?(m(),v(ne,{key:1},[b[2]||(b[2]=h("p",{class:"picker-section"},"最近使用",-1)),h("div",D1,[(m(!0),v(ne,null,Ce(e.recentWorkDirs,_=>(m(),v("button",{key:_,class:"picker-row",title:_,onClick:B=>s("select",_)},[X(ce,{name:"folder",size:14}),h("span",O1,C(F(Va)(_)),1),h("span",G1,C(F($r)(_).dir),1)],8,N1))),128))])],64)):U("",!0),f.value.length?(m(),v(ne,{key:2},[b[3]||(b[3]=h("p",{class:"picker-section"},"子目录",-1)),h("div",B1,[(m(!0),v(ne,null,Ce(f.value,_=>(m(),v("button",{key:_.path,class:"picker-row",title:_.path,onClick:B=>g(_)},[X(ce,{name:"folder",size:14}),h("span",U1,C(_.name),1)],8,F1))),128))])],64)):U("",!0)],36)]))],512))}}),z1=Te(j1,[["__scopeId","data-v-a02cc634"]]),H1=["data-placeholder-state","placeholder"],W1={class:"composer-capsule-row"},q1={class:"composer-chips"},V1=["title"],K1={class:"chip-text"},Z1={key:1,class:"chip-slot"},Y1=["disabled","title","aria-haspopup","aria-expanded"],X1={class:"chip-text"},J1={key:2,class:"chip-slot"},Q1=["disabled","title","aria-haspopup","aria-expanded"],ew={class:"chip-text"},tw=["disabled","title","aria-expanded"],nw={class:"chip-text"},sw=["disabled","title","aria-expanded"],ow={class:"chip-text"},rw=["title"],iw={class:"chip-text"},aw=["title"],lw={class:"chip-text"},uw=["data-action","disabled","title","aria-label"],cw={key:0,class:"primary-label"},Ic=50,dw=5e3,fw=Ie({__name:"Composer",props:{busy:{type:Boolean},status:{default:void 0},sessionId:{default:null},models:{default:()=>[]},workDir:{default:""},variant:{default:"chat"},placeholder:{default:void 0},messages:{},connectionStatus:{default:"idle"},goal:{default:null},recentWorkDirs:{default:()=>[]}},emits:["send","abort","command","switch-model","switch-thinking","switch-permission","goal-pause","goal-resume","goal-cancel","goal-edit"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=O(""),i=O(null),a=G(()=>s.workDir||void 0),l=Mb(r,i,a),u=O(0),c=O(!1),d=G(()=>{const L=r.value;return!L.startsWith("/")||L.includes(`
20
- `)||/\s/.test(L.slice(1))?null:L.slice(1)}),f=G(()=>d.value===null?[]:jv(d.value)),p=G(()=>d.value!==null&&f.value.length>0&&!c.value);Se(d,()=>{u.value=0,c.value=!1});function g(L){const re=L??f.value[u.value];if(re){if(re.acceptsInput){r.value=`/${re.name} `,c.value=!0,Fe(()=>{var Me;(Me=i.value)==null||Me.focus(),I()});return}E(`/${re.name}`),_e(),o("command",re.name)}}const y=O([]);Se(()=>s.sessionId,()=>{y.value=[]}),Se(()=>s.busy,L=>{if(!L&&y.value.length>0){const[re,...Me]=y.value;y.value=Me,re&&o("send",re)}});let S=0;const k=O([]),w=G(()=>Pb(k.value,Rb(s.messages??[]),Ic)),b=O(!1),_=O(0);function B(){return`scream-history:${s.sessionId??"default"}`}function D(){try{const L=localStorage.getItem(B());k.value=L?JSON.parse(L):[]}catch{k.value=[]}}function E(L){if(k.value.at(-1)!==L){k.value=[...k.value,L].slice(-Ic);try{localStorage.setItem(B(),JSON.stringify(k.value))}catch{}}}function M(L){r.value=L,b.value=!1,Fe(()=>{const re=i.value;re&&(re.focus(),re.setSelectionRange(re.value.length,re.value.length),I(),l.reset())})}function T(){c.value=!0,l.dismiss(),_.value=Math.max(0,w.value.length-1),b.value=!0}function Z(L){const re=w.value.length;re!==0&&(_.value=Math.min(re-1,Math.max(0,_.value+L)))}Se(()=>w.value.length,()=>{_.value>=w.value.length&&(_.value=Math.max(0,w.value.length-1))});function W(){return`scream-draft:${s.sessionId??"default"}`}let j=null,te;Se(r,()=>{I(),b.value=!1,l.refresh(),clearTimeout(te),te=setTimeout(()=>{try{r.value?localStorage.setItem(W(),r.value):localStorage.removeItem(W())}catch{}},300)}),Se(()=>s.sessionId,()=>{if(clearTimeout(te),D(),b.value=!1,_.value=0,j&&Date.now()-j.at<=dw){r.value=j.text,j=null,Fe(I);return}j=null;let L="";try{L=localStorage.getItem(W())??""}catch{L=""}r.value=L,Fe(I)},{immediate:!0});function I(){const L=i.value;if(!L)return;L.style.height="auto";const re=Math.round(window.innerHeight*.25);L.style.height=`${Math.min(Math.max(L.scrollHeight,36),re)}px`}function A(){l.refresh()}const V=O(0);function ie(){const L=window.visualViewport;if(!L)return;const re=Math.round(window.innerHeight-L.height-L.offsetTop);V.value=re>120?re:0}"visualViewport"in window&&(et(()=>{var L;(L=window.visualViewport)==null||L.addEventListener("resize",ie),ie()}),st(()=>{var L;(L=window.visualViewport)==null||L.removeEventListener("resize",ie),V.value=0}));function me(L){const re=L.target;re instanceof Element&&(re.closest(".history-menu")||re.closest("#composer-input")||(b.value=!1,p.value&&!re.closest(".composer-chips")&&(c.value=!0)))}et(()=>document.addEventListener("mousedown",me)),st(()=>document.removeEventListener("mousedown",me));function _e(){r.value="",l.reset(),b.value=!1,Fe(()=>{i.value&&(i.value.style.height="auto")})}function he(){const L=r.value.trim();if(L){if(L.startsWith("/")){const re=L.indexOf(" "),Me=(re===-1?L.slice(1):L.slice(1,re)).toLowerCase(),Zn=zv(Me),eg=re===-1?"":L.slice(re+1).trim();E(L),o("command",Zn,eg),_e();return}if(s.busy){ae();return}E(L),o("send",L),_e()}}function ae(){const L=r.value.trim();L&&(E(L),y.value=[...y.value,L],_e())}function pe(L){if(l.visible.value){if(L.key==="ArrowDown"){L.preventDefault(),l.move(1);return}if(L.key==="ArrowUp"){L.preventDefault(),l.move(-1);return}if((L.key==="Tab"||L.key==="Enter"&&!L.shiftKey)&&(L.isComposing||(L.preventDefault(),l.dirLoading.value)||l.confirm()))return;if(L.key==="Escape"){L.preventDefault(),l.dismiss();return}}if(p.value){if(L.key==="ArrowUp"){L.preventDefault(),u.value=(u.value-1+f.value.length)%f.value.length;return}if(L.key==="ArrowDown"){L.preventDefault(),u.value=(u.value+1)%f.value.length;return}if(L.key==="Tab"||L.key==="Enter"&&!L.shiftKey){if(L.key==="Enter"&&L.isComposing)return;L.preventDefault(),g();return}if(L.key==="Escape"){L.preventDefault(),c.value=!0;return}}if((L.ctrlKey||L.metaKey)&&L.key.toLowerCase()==="s"){L.preventDefault(),s.busy?ae():he();return}if(b.value&&!L.isComposing){if(L.key==="ArrowDown"){L.preventDefault(),Z(1);return}if(L.key==="ArrowUp"){L.preventDefault(),Z(-1);return}if(L.key==="Escape"){L.preventDefault(),b.value=!1;return}if((L.key==="Tab"||L.key==="Enter"&&!L.shiftKey)&&w.value[_.value]!==void 0){L.preventDefault(),M(w.value[_.value]);return}}if(L.key==="Enter"&&!L.shiftKey){if(L.isComposing||Date.now()-S<100)return;L.preventDefault(),he();return}L.key==="ArrowUp"&&!L.isComposing&&!s.busy&&r.value.trim().length===0&&w.value.length>0&&(L.preventDefault(),T())}function oe(){y.value=[],o("abort")}function ge(L){r.value=L,b.value=!1,Fe(()=>{var re;I(),(re=i.value)==null||re.focus()})}function $e(L,re={}){const Me=re.activate!==!1;j={text:L,at:Date.now()},r.value=L,c.value=!0,l.dismiss(),b.value=!1,Fe(()=>{I();const Zn=i.value;!Zn||!Me||(Zn.focus(),Zn.setSelectionRange(Zn.value.length,Zn.value.length))})}function Ne(L){r.value+=L,Fe(()=>{var re;I(),(re=i.value)==null||re.focus()})}const Ue=G(()=>{var L;return(L=s.status)==null?void 0:L.model}),Ke=G(()=>{var L;return(L=s.status)==null?void 0:L.permission}),Ye=G(()=>{var L;return(L=s.status)==null?void 0:L.contextUsage}),rt=G(()=>s.connectionStatus==="disconnected"||s.connectionStatus==="reconnecting"),Dt={offline:"连接已断开,正在重连 — 可以先打字,回车会把消息排队",plan:"计划模式:只做只读分析与方案输出,回车提交这个问题",queue:`已排队:回车继续排队下一条,${_r}S 立即注入`,busy:`回合进行中:现在打字然后回车,消息会排队随下一轮注入(${_r}S 立即注入)`,"no-workspace":"这个会话还没有工作目录:@ 文件提及暂不可用,可以直接提问",idle:"输入消息,@ 提及文件,/ 触发指令"},x=G(()=>{var L;return rt.value?"offline":s.busy?r.value.trim()?"queue":"busy":(L=s.status)!=null&&L.planMode?"plan":s.variant==="chat"&&!s.workDir?"no-workspace":"idle"}),P=G(()=>x.value==="idle"&&s.placeholder?s.placeholder:Dt[x.value]),z={off:"关闭",low:"低",medium:"中",high:"高",xhigh:"超高",max:"最大"},ee=G(()=>{var re;const L=(re=s.status)==null?void 0:re.model;if(L)return s.models.find(Me=>Me.alias===L)}),J=G(()=>{var L;return((L=ee.value)==null?void 0:L.thinkingLevels)??[]}),R=G(()=>{var L;return(L=s.status)==null?void 0:L.thinkingLevel}),K=G(()=>{const L=R.value;return!L||L==="none"?"默认":z[L]??L}),N={manual:"手动",auto:"自动",yolo:"YOLO",bot:"无人值守",ask:"询问"},Q=["manual","auto","yolo","bot","ask"],$={manual:"每次工具调用都要你确认",auto:"安全操作自动放行,敏感操作仍要确认",yolo:"全部自动放行,不再打断",bot:"无人值守模式:批量接管确认",ask:"遇到需要决定的操作时询问你"},H=G(()=>N[Ke.value??""]??Ke.value??"手动"),q=G(()=>{switch(Ke.value){case"auto":return"perm-auto";case"yolo":return"perm-yolo";case"bot":return"perm-bot";default:return"perm-manual"}}),se=G(()=>{const L=Ye.value;return L===void 0?"":`${Math.round(L*100)}%`}),{preferredWorkDir:fe,serverWorkDir:ye,displayWorkDir:Ee,setPreferredWorkDir:ke}=Hl(),be=G(()=>{const re=s.variant==="chat"?rt.value?"连接已断开,正在重连 — 重连后可以切换":s.sessionId?"":"还没有打开会话,先新建或选择一个会话":"",Me=s.models.length===0?"后端没有返回可选模型,暂时不能切换":"";return{model:{label:s.variant==="home"?"通用智能体":Ue.value??"",title:Me||re||(Ue.value?`当前模型:${Ue.value},点击切换`:"会话状态还没回来"),enabled:!Me&&!re,visible:!!Ue.value||s.variant==="home"},thinking:{label:`思考 · ${K.value}`,title:re||`思考力度:${K.value},点击调整(可选:${J.value.join(" / ")})`,enabled:!re,visible:s.variant==="chat"&&J.value.length>0},permission:{label:Ke.value?H.value:"权限",title:re||(Ke.value?`权限模式:${H.value},点击切换(会记录到会话日志)`:"权限模式:点击切换(会记录到会话日志)"),enabled:!re,visible:s.variant==="chat"},workspace:s.variant==="chat"?{label:s.workDir?Va(s.workDir):"工作区",title:s.workDir?`工作区:${s.workDir} — 工作区随会话创建,不可中途更换`:"这个会话还没有工作目录",enabled:!1,visible:!0}:{label:Ee.value?Va(Ee.value):"默认工作区",title:Ee.value?`工作区:${Ee.value},点击为下一次新建选择目录`:"还没拿到服务器默认工作区,点击可手动输入目录",enabled:!0,visible:!0},context:{label:se.value,title:Ye.value===void 0?"上下文占用还没回来":`上下文占用 ${(Ye.value*100).toFixed(1)}%`,enabled:!1,visible:Ye.value!==void 0}}}),Oe=O(null);function lt(L){ke(L),Oe.value=null}function gt(L,re){re&&(b.value=!1,Oe.value=Oe.value===L?null:L)}function sn(L,re){re?Oe.value=L:Oe.value===L&&(Oe.value=null)}function ws(){return be.value.model.enabled?(Oe.value="model",!0):!1}const mt=G(()=>Oe.value==="model"),Nt=G(()=>Za(J.value.map(L=>({key:L,label:L==="off"||L==="none"?"关闭":z[L]??L,checked:R.value===L})),"思考力度")),Ss=G(()=>Za(Q.map(L=>({key:L,label:N[L]??L,checked:Ke.value===L,title:$[L]})),"权限模式"));function _s(L){o("switch-model",L),Oe.value=null}function so(L){o("switch-thinking",L),Oe.value=null}function Fi(L){o("switch-permission",L),Oe.value=null}const on=G(()=>s.busy?"stop":"send"),$s={send:{icon:"arrow-up",label:"发送",title:"发送(回车)"},stop:{icon:"stop",label:"停止",title:"停止当前回合"}},Ui=G(()=>$s[on.value].icon),oo=G(()=>$s[on.value].label),ji=G(()=>on.value==="stop"&&r.value.trim()?`${$s.stop.title}(回车把当前输入排队,${_r}S 立即注入)`:$s[on.value].title),Qo=G(()=>on.value==="send"&&!r.value.trim());function Cs(){if(on.value==="stop"){oe();return}he()}const er=G(()=>!!s.goal&&(s.goal.status==="active"||s.goal.status==="paused"||s.goal.status==="blocked")),de=G(()=>rt.value||!s.sessionId),ve=G(()=>rt.value?"连接已断开,正在重连":s.sessionId?"":"还没有打开会话");return t({insertText:ge,insertDraft:$e,openModelPicker:ws}),(L,re)=>(m(),v("div",{class:"composer",style:bt(V.value?{paddingBottom:V.value+"px"}:void 0)},[p.value?(m(),De(E1,{key:0,commands:f.value,"active-index":u.value,onSelect:g,onHover:re[0]||(re[0]=Me=>u.value=Me)},null,8,["commands","active-index"])):U("",!0),F(l).visible.value?(m(),De($k,{key:1,suggestions:F(l).suggestions.value,"active-index":F(l).index.value,loading:F(l).dirLoading.value,"work-dir":e.workDir,onSelect:re[1]||(re[1]=Me=>F(l).confirm(Me)),onHover:re[2]||(re[2]=Me=>F(l).index.value=Me)},null,8,["suggestions","active-index","loading","work-dir"])):U("",!0),b.value&&w.value.length>0?(m(),De(qk,{key:2,items:w.value,"active-index":_.value,onApply:M,onHover:re[3]||(re[3]=Me=>_.value=Me)},null,8,["items","active-index"])):U("",!0),er.value?(m(),De(Bk,{key:3,goal:e.goal??null,busy:e.busy,disabled:de.value,"disabled-reason":ve.value,onPause:re[4]||(re[4]=Me=>o("goal-pause")),onResume:re[5]||(re[5]=Me=>o("goal-resume")),onCancel:re[6]||(re[6]=Me=>o("goal-cancel")),onEdit:re[7]||(re[7]=Me=>o("goal-edit"))},null,8,["goal","busy","disabled","disabled-reason"])):U("",!0),Ze(h("textarea",{ref_key:"textareaRef",ref:i,"onUpdate:modelValue":re[8]||(re[8]=Me=>r.value=Me),id:"composer-input",name:"message",class:"composer-input",rows:"1","data-placeholder-state":x.value,placeholder:P.value,onKeydown:pe,onCompositionend:re[9]||(re[9]=Me=>ht(S)?S.value=Date.now():S=Date.now()),onClick:A,onKeyup:A},null,40,H1),[[it,r.value]]),h("div",W1,[h("div",q1,[e.variant==="chat"?(m(),v("button",{key:0,class:"composer-chip","data-chip":"mention",title:"插入 @ 提及文件",onClick:re[10]||(re[10]=Me=>Ne("@"))},[X(ce,{name:"at",size:14}),re[20]||(re[20]=h("span",{class:"chip-text"},"提及",-1))])):U("",!0),h("button",{class:"composer-chip","data-chip":"slash",title:e.variant==="home"?"插入 / 触发技能":"插入 / 触发指令",onClick:re[11]||(re[11]=Me=>Ne("/"))},[X(ce,{name:"command",size:14}),h("span",K1,C(e.variant==="home"?"技能":"指令"),1)],8,V1),be.value.workspace.visible?(m(),v("span",Z1,[h("button",{class:ue(["composer-chip workspace-select",{"is-clickable":be.value.workspace.enabled}]),"data-chip":"workspace",disabled:!be.value.workspace.enabled,title:be.value.workspace.title,"aria-haspopup":be.value.workspace.enabled?"dialog":void 0,"aria-expanded":Oe.value==="workspace"?"true":"false",onClick:re[12]||(re[12]=Me=>gt("workspace",be.value.workspace.enabled))},[X(ce,{name:"folder",size:14}),h("span",X1,C(be.value.workspace.label),1),be.value.workspace.enabled?(m(),De(ce,{key:0,name:"chevron-down",size:12})):U("",!0)],10,Y1),Oe.value==="workspace"?(m(),De(z1,{key:0,current:F(fe)??"","default-dir":F(ye)??"","recent-work-dirs":e.recentWorkDirs,onSelect:lt,onClose:re[13]||(re[13]=Me=>Oe.value=null)},null,8,["current","default-dir","recent-work-dirs"])):U("",!0)])):U("",!0),be.value.model.visible?(m(),v("span",J1,[h("button",{class:ue(["composer-chip model-select",{"is-clickable":be.value.model.enabled}]),"data-chip":"model",disabled:!be.value.model.enabled,title:be.value.model.title,"aria-haspopup":be.value.model.enabled?"dialog":void 0,"aria-expanded":mt.value?"true":"false",onClick:re[14]||(re[14]=Me=>gt("model",be.value.model.enabled))},[X(ce,{name:"brain",size:14}),h("span",ew,C(be.value.model.label),1),be.value.model.enabled?(m(),De(ce,{key:0,name:"chevron-down",size:12})):U("",!0)],10,Q1),X(Ol,{name:"picker"},{default:ot(()=>[mt.value?(m(),De(h1,{key:0,models:e.models,"current-model":Ue.value,"current-thinking":R.value,onApplyModel:_s,onApplyThinking:so,onClose:re[15]||(re[15]=Me=>Oe.value=null)},null,8,["models","current-model","current-thinking"])):U("",!0)]),_:1})])):U("",!0),be.value.thinking.visible?(m(),De(Ya,{key:3,class:"chip-slot",label:"思考力度",heading:"思考力度",groups:Nt.value,open:Oe.value==="thinking",placement:"top",align:"left","onUpdate:open":re[17]||(re[17]=Me=>sn("thinking",Me)),onSelect:so},{default:ot(()=>[h("button",{class:ue(["composer-chip",{"is-clickable":be.value.thinking.enabled}]),"data-chip":"thinking",disabled:!be.value.thinking.enabled,title:be.value.thinking.title,"aria-haspopup":"menu","aria-expanded":Oe.value==="thinking"?"true":"false",onClick:re[16]||(re[16]=Me=>gt("thinking",be.value.thinking.enabled))},[X(ce,{name:"activity",size:14}),h("span",nw,C(be.value.thinking.label),1),X(ce,{name:"chevron-down",size:12})],10,tw)]),_:1},8,["groups","open"])):U("",!0),be.value.permission.visible?(m(),De(Ya,{key:4,class:"chip-slot",label:"权限模式",groups:Ss.value,open:Oe.value==="permission",placement:"top",align:"left","onUpdate:open":re[19]||(re[19]=Me=>sn("permission",Me)),onSelect:Fi},{default:ot(()=>[h("button",{class:ue(["composer-chip",["is-clickable",q.value]]),"data-chip":"permission",disabled:!be.value.permission.enabled,title:be.value.permission.title,"aria-haspopup":"menu","aria-expanded":Oe.value==="permission"?"true":"false",onClick:re[18]||(re[18]=Me=>gt("permission",be.value.permission.enabled))},[X(ce,{name:"shield",size:14}),h("span",ow,C(be.value.permission.label),1),X(ce,{name:"chevron-down",size:12})],10,sw)]),_:1},8,["groups","open"])):U("",!0),be.value.context.visible?(m(),v("span",{key:5,class:"composer-chip is-static","data-chip":"context",title:be.value.context.title},[X(bh,{usage:Ye.value,size:14},null,8,["usage"]),h("span",iw,C(be.value.context.label),1)],8,rw)):U("",!0),y.value.length?(m(),v("span",{key:6,class:"composer-chip is-static","data-chip":"queue",title:`已排队 ${y.value.length} 条,当前回合结束后自动发送`},[X(ce,{name:"queue",size:14}),h("span",lw,"排队 "+C(y.value.length),1)],8,aw)):U("",!0)]),h("button",{class:"composer-primary","data-action":on.value,disabled:Qo.value,title:ji.value,"aria-label":oo.value,onClick:Cs},[X(ce,{name:Ui.value,size:16},null,8,["name"]),on.value!=="send"?(m(),v("span",cw,C(oo.value),1)):U("",!0)],8,uw)])],4))}}),kh=Te(fw,[["__scopeId","data-v-f2ac71a6"]]),hw={class:"conv-bar"},pw={class:"conv-bar-left"},gw=["title"],mw=["title"],vw={key:1,class:"title-text"},yw={class:"conv-bar-right"},bw=["title","aria-label","aria-expanded"],kw={key:0,class:"stats-metric mono"},ww={key:1,class:"stats-sep","aria-hidden":"true"},Sw={key:2,class:"stats-metric mono"},_w=["aria-expanded"],$w=["title","aria-label"],Cw=Ie({__name:"ConversationHeader",props:{title:{default:null},busy:{type:Boolean,default:!1},statsOpen:{type:Boolean,default:!1},turnTokens:{default:null},turnCount:{default:null}},emits:["home","rename","export","fork","clear","controls","agents","toggle-stats"],setup(e,{emit:t}){const n=e,s=t,o=G(()=>we.panelOpen),r=G(()=>(n.turnCount??0)>0||(n.turnTokens??0)>0);function i(){we.panelOpen?jl(!1):wr("detail")}function a(k){return k===null||k<=0?"":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:String(k)}const l=O(!1),u=G(()=>Za([{key:"controls",label:"会话控制",icon:"wrench",title:"打开会话控制面板"},{key:"agents",label:"协作代理",icon:"bot",title:"查看子代理执行状态"},{key:"export",label:"导出 Markdown",icon:"download",disabled:!r.value,title:r.value?"把当前会话导出成 Markdown 文件":"还没有消息可导出"},{key:"fork",label:"分叉会话",icon:"fork",disabled:!r.value,title:r.value?"从当前会话分叉出新会话":"还没有消息可分叉"},{key:"clear",label:"清空本地消息",icon:"broom",tone:"danger",disabled:!r.value,title:r.value?"清空本地 journal(服务端记录不受影响)":"还没有消息可清空"},{key:"files",label:o.value?"收起文件面板":"打开文件面板",icon:"file",title:o.value?"收起右侧面板":"在右侧面板打开文件视图"}]));function c(k){l.value=!1,k==="controls"?s("controls"):k==="agents"?s("agents"):k==="export"?s("export"):k==="fork"?s("fork"):k==="clear"?s("clear"):k==="files"&&Qy()}const d=O(!1),f=O("");function p(){f.value=n.title??"",d.value=!0}function g(){const k=f.value.trim();d.value=!1,k&&k!==n.title&&s("rename",k)}function y(k){k.key==="Enter"?(k.preventDefault(),g()):k.key==="Escape"&&(k.preventDefault(),d.value=!1)}const S=G(()=>n.busy?"运行中":"就绪");return(k,w)=>(m(),v("header",hw,[h("div",pw,[h("button",{class:"ghost-btn back-btn",title:"返回工作台","aria-label":"返回工作台",onClick:w[0]||(w[0]=b=>s("home"))},[X(ce,{name:"chevron-left",size:20})]),h("span",{class:ue(["status-dot",{busy:e.busy}]),title:S.value,"aria-hidden":"true"},null,10,gw),h("button",{class:"title-btn",title:d.value?"":"点击重命名",onClick:p},[d.value?Ze((m(),v("input",{key:0,"onUpdate:modelValue":w[1]||(w[1]=b=>f.value=b),class:"title-input","aria-label":"会话标题",onKeydown:y,onBlur:g,onClick:w[2]||(w[2]=tt(()=>{},["stop"]))},null,544)),[[it,f.value]]):(m(),v("span",vw,C(e.title||"新会话"),1))],8,mw)]),h("div",yw,[h("button",{class:ue(["ghost-btn stats-btn",{active:e.statsOpen}]),title:e.statsOpen?"收起会话统计":"会话统计:轮次与 token 用量","aria-label":e.statsOpen?"收起会话统计":"会话统计","aria-expanded":e.statsOpen,"data-stats-pill":"",onPointerdown:w[3]||(w[3]=tt(()=>{},["stop"])),onClick:w[4]||(w[4]=b=>s("toggle-stats"))},[X(ce,{name:"bar-chart",size:16}),e.turnCount?(m(),v("span",kw,C(e.turnCount)+" 轮",1)):U("",!0),e.turnCount&&a(e.turnTokens)?(m(),v("span",ww,"·")):U("",!0),a(e.turnTokens)?(m(),v("span",Sw,C(a(e.turnTokens)),1)):U("",!0)],42,bw),X(Ya,{open:l.value,"onUpdate:open":w[6]||(w[6]=b=>l.value=b),label:"更多会话操作",groups:u.value,placement:"bottom",align:"right",onSelect:c},{default:ot(()=>[h("button",{class:ue(["ghost-btn more-btn",{active:l.value}]),title:"更多操作","aria-label":"更多操作","aria-haspopup":"menu","aria-expanded":l.value,onClick:w[5]||(w[5]=b=>l.value=!l.value)},[X(ce,{name:"more",size:18})],10,_w)]),_:1},8,["open","groups"]),h("button",{class:ue(["ghost-btn",{active:o.value}]),title:o.value?"收起右栏":"打开右栏","aria-label":o.value?"收起右栏":"打开右栏",onClick:i},[X(ce,{name:"panel-right",size:18})],10,$w)])]))}}),xw=Te(Cw,[["__scopeId","data-v-8f306594"]]),Iw={key:0,class:"ui-dialog-header"},Tw={class:"ui-dialog-title"},Ew={class:"ui-dialog-body"},Aw={key:1,class:"ui-dialog-footer"},Mw='a[href], button:not([disabled]), textarea, input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',Rw=Ie({__name:"Dialog",props:{open:{type:Boolean},title:{default:void 0},closable:{type:Boolean,default:!0},maxWidth:{default:void 0}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=O(null);let r=null;function i(){const l=o.value;return l?Array.from(l.querySelectorAll(Mw)).filter(u=>u.offsetParent!==null||u===document.activeElement):[]}function a(l){var p,g,y;if(!n.open)return;if(l.key==="Escape"&&n.closable!==!1){l.stopPropagation(),s("close");return}if(l.key!=="Tab")return;const u=i();if(u.length===0){l.preventDefault(),(p=o.value)==null||p.focus();return}const c=u[0],d=u[u.length-1],f=document.activeElement;l.shiftKey?(f===c||!((g=o.value)!=null&&g.contains(f)))&&(l.preventDefault(),d.focus()):(f===d||!((y=o.value)!=null&&y.contains(f)))&&(l.preventDefault(),c.focus())}return Se(()=>n.open,l=>{l?(r=document.activeElement instanceof HTMLElement?document.activeElement:null,Fe(()=>{const u=i()[0]??o.value;u==null||u.focus()})):r&&(r.focus(),r=null)},{immediate:!1}),et(()=>window.addEventListener("keydown",a,!0)),st(()=>window.removeEventListener("keydown",a,!0)),(l,u)=>(m(),De(Xs,{to:"body"},[X(Ol,{name:"dialog"},{default:ot(()=>[e.open?(m(),v("div",{key:0,class:"ui-dialog-overlay",onClick:u[1]||(u[1]=tt(c=>e.closable!==!1&&s("close"),["self"]))},[h("div",{ref_key:"dialogRef",ref:o,class:"ui-dialog",style:bt(e.maxWidth?{maxWidth:e.maxWidth}:void 0),role:"dialog","aria-modal":"true",tabindex:"-1"},[e.title||l.$slots.header?(m(),v("div",Iw,[$o(l.$slots,"header",{},()=>[h("span",Tw,C(e.title),1)],!0),e.closable!==!1?(m(),v("button",{key:0,class:"ui-dialog-close","aria-label":"关闭",onClick:u[0]||(u[0]=c=>s("close"))},"✕")):U("",!0)])):U("",!0),h("div",Ew,[$o(l.$slots,"default",{},void 0,!0)]),l.$slots.footer?(m(),v("div",Aw,[$o(l.$slots,"footer",{},void 0,!0)])):U("",!0)],4)])):U("",!0)]),_:3})]))}}),Vl=Te(Rw,[["__scopeId","data-v-396acebf"]]),Pw={class:"info-row"},Lw={class:"info-val mono"},Dw={class:"info-row"},Nw={class:"info-val mono"},Ow={class:"info-row"},Gw={class:"info-val"},Bw={class:"info-row"},Fw={class:"info-val"},Uw={class:"info-row"},jw={class:"info-val"},zw={class:"info-row"},Hw={class:"info-val"},Ww={class:"info-row"},qw={class:"info-val"},Vw={class:"info-row"},Kw={class:"info-val"},Zw={class:"info-row"},Yw={class:"info-val"},Xw={class:"info-row"},Jw={class:"info-val"},Qw={key:0,class:"info-row"},e0={class:"info-val"},t0={key:1,class:"info-row"},n0={class:"info-val"},s0={class:"info-val mono"},o0={class:"info-val"},r0={key:3,class:"info-empty"},i0=Ie({__name:"InfoPanel",props:{mode:{},status:{},sessionId:{},workDir:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=G(()=>n.mode==="status"?"会话状态":"Token 用量");function r(p){switch(p){case"auto":return"自动 (auto)";case"yolo":return"YOLO";case"manual":return"手动 (manual)";default:return p??"-"}}function i(p){return p?"开启":"关闭"}function a(p){return p!=null}function l(p){return typeof p=="number"?p.toLocaleString():"-"}function u(p){return typeof p!="number"?"-":`${(p>1?p:p*100).toFixed(1)}%`}function c(p){return p?p.inputOther+p.output+p.inputCacheRead+p.inputCacheCreation:0}function d(p){return p!=null&&p.byModel?Object.entries(p.byModel).map(([g,y])=>({model:g,tokens:c(y),output:y.output,cacheRead:y.inputCacheRead})):[]}const f=G(()=>a(n.status.usage)||a(n.status.contextTokens));return(p,g)=>(m(),De(Vl,{open:!0,title:o.value,onClose:g[0]||(g[0]=y=>s("close"))},{default:ot(()=>{var y,S;return[e.mode==="status"?(m(),v(ne,{key:0},[h("div",Pw,[g[1]||(g[1]=h("span",{class:"info-key"},"会话 ID",-1)),h("span",Lw,C(e.sessionId??"-"),1)]),h("div",Dw,[g[2]||(g[2]=h("span",{class:"info-key"},"工作目录",-1)),h("span",Nw,C(e.workDir??"-"),1)]),h("div",Ow,[g[3]||(g[3]=h("span",{class:"info-key"},"模型",-1)),h("span",Gw,C(e.status.model??"-"),1)]),h("div",Bw,[g[4]||(g[4]=h("span",{class:"info-key"},"权限模式",-1)),h("span",Fw,C(r(e.status.permission)),1)]),h("div",Uw,[g[5]||(g[5]=h("span",{class:"info-key"},"思考级别",-1)),h("span",jw,C(e.status.thinkingLevel??"-"),1)]),h("div",zw,[g[6]||(g[6]=h("span",{class:"info-key"},"计划模式",-1)),h("span",Hw,C(i(e.status.planMode)),1)]),h("div",Ww,[g[7]||(g[7]=h("span",{class:"info-key"},"WolfPack 模式",-1)),h("span",qw,C(i(e.status.wolfpackMode)),1)]),h("div",Vw,[g[8]||(g[8]=h("span",{class:"info-key"},"上下文",-1)),h("span",Kw,C(l(e.status.contextTokens))+" / "+C(l(e.status.maxContextTokens))+" ("+C(u(e.status.contextUsage))+")",1)])],64)):(m(),v(ne,{key:1},[h("div",Zw,[g[9]||(g[9]=h("span",{class:"info-key"},"上下文 Token",-1)),h("span",Yw,C(l(e.status.contextTokens))+" / "+C(l(e.status.maxContextTokens)),1)]),h("div",Xw,[g[10]||(g[10]=h("span",{class:"info-key"},"上下文占比",-1)),h("span",Jw,C(u(e.status.contextUsage)),1)]),(y=e.status.usage)!=null&&y.total?(m(),v("div",Qw,[g[11]||(g[11]=h("span",{class:"info-key"},"累计 Token",-1)),h("span",e0,C(l(c(e.status.usage.total))),1)])):U("",!0),(S=e.status.usage)!=null&&S.currentTurn?(m(),v("div",t0,[g[12]||(g[12]=h("span",{class:"info-key"},"当前回合",-1)),h("span",n0,C(l(c(e.status.usage.currentTurn))),1)])):U("",!0),d(e.status.usage).length?(m(),v(ne,{key:2},[g[13]||(g[13]=h("div",{class:"info-subhead"},"按模型",-1)),(m(!0),v(ne,null,Ce(d(e.status.usage),k=>(m(),v("div",{key:k.model,class:"info-row info-row-model"},[h("span",s0,C(k.model),1),h("span",o0,C(l(k.tokens))+"(输出 "+C(l(k.output))+" · 缓存读 "+C(l(k.cacheRead))+")",1)]))),128))],64)):U("",!0),f.value?U("",!0):(m(),v("div",r0,"暂无用量数据"))],64))]}),_:1},8,["title"]))}}),wh=Te(i0,[["__scopeId","data-v-1555711d"]]);function a0(e,t=Date.now()){const n=new Date(e),s=new Date(t),o=n.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"});return n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate()?o:`${n.getFullYear()===s.getFullYear()?`${n.getMonth()+1}月${n.getDate()}日`:`${n.getFullYear()}年${n.getMonth()+1}月${n.getDate()}日`} ${o}`}function l0(e,t){const n=new Date(e),s=new Date(t);return n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate()}function u0(e,t=Date.now()){const n=new Date(e),s=new Date(t);return n.getFullYear()===s.getFullYear()?`${n.getMonth()+1}月${n.getDate()}日`:`${n.getFullYear()}年${n.getMonth()+1}月${n.getDate()}日`}const c0=new Set(["edit","str_replace","replace","write","multi_edit","create_file","edit_file","apply_patch"]);function Sh(e){return c0.has(e.toLowerCase())}function Mi(e,t=!0){return e.suspended?"suspended":e.isError?"error":e.output===void 0?t?"running":"unknown":"ok"}function d0(e,t=!0){const n=new Set(e.map(s=>Mi(s,t)));return n.has("running")?"running":n.has("error")?"error":n.has("suspended")?"suspended":n.has("unknown")?"unknown":"ok"}function f0(e){if(!e||typeof e!="object")return null;const t=e,n=t.file_path??t.path;return typeof n=="string"&&n.length>0?n:null}function Kl(e,t){if(e.startsWith("/")||e.startsWith("~"))return e;let n=e;for(;n.startsWith("./");)n=n.slice(2);return t?`${t.replace(/\/+$/,"")}/${n}`:n}function h0(e,t){const n=new Set,s=[];for(const o of e.tools){if(!Sh(o.name)||Mi(o,!1)!=="ok")continue;const r=f0(o.args);if(!r)continue;const i=Kl(r,t);n.has(i)||(n.add(i),s.push({filePath:i,toolName:o.name}))}return s}function Zl(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var bs=Zl();function _h(e){bs=e}var Io={exec:()=>null};function Ve(e,t=""){let n=typeof e=="string"?e:e.source;const s={replace:(o,r)=>{let i=typeof r=="string"?r:r.source;return i=i.replace(Pt.caret,"$1"),n=n.replace(o,i),s},getRegex:()=>new RegExp(n,t)};return s}var Pt={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},p0=/^(?:[ \t]*(?:\n|$))+/,g0=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,m0=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Zo=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,v0=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Yl=/(?:[*+-]|\d{1,9}[.)])/,$h=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Ch=Ve($h).replace(/bull/g,Yl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),y0=Ve($h).replace(/bull/g,Yl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Xl=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,b0=/^[^\n]+/,Jl=/(?!\s*\])(?:\\.|[^\[\]\\])+/,k0=Ve(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Jl).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),w0=Ve(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Yl).getRegex(),Ri="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ql=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,S0=Ve("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Ql).replace("tag",Ri).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xh=Ve(Xl).replace("hr",Zo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ri).getRegex(),_0=Ve(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",xh).getRegex(),eu={blockquote:_0,code:g0,def:k0,fences:m0,heading:v0,hr:Zo,html:S0,lheading:Ch,list:w0,newline:p0,paragraph:xh,table:Io,text:b0},Tc=Ve("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Zo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ri).getRegex(),$0={...eu,lheading:y0,table:Tc,paragraph:Ve(Xl).replace("hr",Zo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Tc).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ri).getRegex()},C0={...eu,html:Ve(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ql).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Io,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ve(Xl).replace("hr",Zo).replace("heading",` *#{1,6} *[^
21
- ]`).replace("lheading",Ch).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},x0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,I0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ih=/^( {2,}|\\)\n(?!\s*$)/,T0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Pi=/[\p{P}\p{S}]/u,tu=/[\s\p{P}\p{S}]/u,Th=/[^\s\p{P}\p{S}]/u,E0=Ve(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,tu).getRegex(),Eh=/(?!~)[\p{P}\p{S}]/u,A0=/(?!~)[\s\p{P}\p{S}]/u,M0=/(?:[^\s\p{P}\p{S}]|~)/u,R0=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,Ah=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,P0=Ve(Ah,"u").replace(/punct/g,Pi).getRegex(),L0=Ve(Ah,"u").replace(/punct/g,Eh).getRegex(),Mh="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",D0=Ve(Mh,"gu").replace(/notPunctSpace/g,Th).replace(/punctSpace/g,tu).replace(/punct/g,Pi).getRegex(),N0=Ve(Mh,"gu").replace(/notPunctSpace/g,M0).replace(/punctSpace/g,A0).replace(/punct/g,Eh).getRegex(),O0=Ve("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Th).replace(/punctSpace/g,tu).replace(/punct/g,Pi).getRegex(),G0=Ve(/\\(punct)/,"gu").replace(/punct/g,Pi).getRegex(),B0=Ve(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),F0=Ve(Ql).replace("(?:-->|$)","-->").getRegex(),U0=Ve("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",F0).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Jr=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,j0=Ve(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Jr).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Rh=Ve(/^!?\[(label)\]\[(ref)\]/).replace("label",Jr).replace("ref",Jl).getRegex(),Ph=Ve(/^!?\[(ref)\](?:\[\])?/).replace("ref",Jl).getRegex(),z0=Ve("reflink|nolink(?!\\()","g").replace("reflink",Rh).replace("nolink",Ph).getRegex(),nu={_backpedal:Io,anyPunctuation:G0,autolink:B0,blockSkip:R0,br:Ih,code:I0,del:Io,emStrongLDelim:P0,emStrongRDelimAst:D0,emStrongRDelimUnd:O0,escape:x0,link:j0,nolink:Ph,punctuation:E0,reflink:Rh,reflinkSearch:z0,tag:U0,text:T0,url:Io},H0={...nu,link:Ve(/^!?\[(label)\]\((.*?)\)/).replace("label",Jr).getRegex(),reflink:Ve(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Jr).getRegex()},Xa={...nu,emStrongRDelimAst:N0,emStrongLDelim:L0,url:Ve(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},W0={...Xa,br:Ve(Ih).replace("{2,}","*").getRegex(),text:Ve(Xa.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ir={normal:eu,gfm:$0,pedantic:C0},co={normal:nu,gfm:Xa,breaks:W0,pedantic:H0},q0={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ec=e=>q0[e];function ln(e,t){if(t){if(Pt.escapeTest.test(e))return e.replace(Pt.escapeReplace,Ec)}else if(Pt.escapeTestNoEncode.test(e))return e.replace(Pt.escapeReplaceNoEncode,Ec);return e}function Ac(e){try{e=encodeURI(e).replace(Pt.percentDecode,"%")}catch{return null}return e}function Mc(e,t){var r;const n=e.replace(Pt.findPipe,(i,a,l)=>{let u=!1,c=a;for(;--c>=0&&l[c]==="\\";)u=!u;return u?"|":" |"}),s=n.split(Pt.splitPipe);let o=0;if(s[0].trim()||s.shift(),s.length>0&&!((r=s.at(-1))!=null&&r.trim())&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;o<s.length;o++)s[o]=s[o].trim().replace(Pt.slashPipe,"|");return s}function fo(e,t,n){const s=e.length;if(s===0)return"";let o=0;for(;o<s&&e.charAt(s-o-1)===t;)o++;return e.slice(0,s-o)}function V0(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])n++;else if(e[s]===t[1]&&(n--,n<0))return s;return n>0?-2:-1}function Rc(e,t,n,s,o){const r=t.href,i=t.title||null,a=e[1].replace(o.other.outputLinkReplace,"$1");s.state.inLink=!0;const l={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:r,title:i,text:a,tokens:s.inlineTokens(a)};return s.state.inLink=!1,l}function K0(e,t,n){const s=e.match(n.other.indentCodeCompensation);if(s===null)return t;const o=s[1];return t.split(`
18
+ **/let Ua;const Wu=typeof window<"u"&&window.trustedTypes;if(Wu)try{Ua=Wu.createPolicy("vue",{createHTML:e=>e})}catch{}const Xf=Ua?e=>Ua.createHTML(e):e=>e,Qm="http://www.w3.org/2000/svg",ev="http://www.w3.org/1998/Math/MathML",mn=typeof document<"u"?document:null,qu=mn&&mn.createElement("template"),tv={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,s)=>{const o=t==="svg"?mn.createElementNS(Qm,e):t==="mathml"?mn.createElementNS(ev,e):n?mn.createElement(e,{is:n}):mn.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>mn.createTextNode(e),createComment:e=>mn.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>mn.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,s,o,r){const i=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{qu.innerHTML=Xf(s==="svg"?`<svg>${e}</svg>`:s==="mathml"?`<math>${e}</math>`:e);const a=qu.content;if(s==="svg"||s==="mathml"){const l=a.firstChild;for(;l.firstChild;)a.appendChild(l.firstChild);a.removeChild(l)}t.insertBefore(a,n)}return[i?i.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ln="transition",lo="animation",Ys=Symbol("_vtc"),Jf={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},Qf=ct({},kf,Jf),nv=e=>(e.displayName="Transition",e.props=Qf,e),Ol=nv((e,{slots:t})=>ze(nm,eh(e),t)),Qn=(e,t=[])=>{xe(e)?e.forEach(n=>n(...t)):e&&e(...t)},Vu=e=>e?xe(e)?e.some(t=>t.length>1):e.length>1:!1;function eh(e){const t={};for(const j in e)j in Jf||(t[j]=e[j]);if(e.css===!1)return t;const{name:n="v",type:s,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:i=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:l=r,appearActiveClass:u=i,appearToClass:c=a,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:f=`${n}-leave-active`,leaveToClass:p=`${n}-leave-to`}=e,g=sv(o),y=g&&g[0],S=g&&g[1],{onBeforeEnter:k,onEnter:w,onEnterCancelled:b,onLeave:_,onLeaveCancelled:B,onBeforeAppear:D=k,onAppear:E=w,onAppearCancelled:A=b}=t,T=(j,te,I,M)=>{j._enterCancelled=M,Nn(j,te?c:a),Nn(j,te?u:i),I&&I()},Z=(j,te)=>{j._isLeaving=!1,Nn(j,d),Nn(j,p),Nn(j,f),te&&te()},W=j=>(te,I)=>{const M=j?E:w,V=()=>T(te,j,I);Qn(M,[te,V]),Ku(()=>{Nn(te,j?l:r),an(te,j?c:a),Vu(M)||Zu(te,s,y,V)})};return ct(t,{onBeforeEnter(j){Qn(k,[j]),an(j,r),an(j,i)},onBeforeAppear(j){Qn(D,[j]),an(j,l),an(j,u)},onEnter:W(!1),onAppear:W(!0),onLeave(j,te){j._isLeaving=!0;const I=()=>Z(j,te);an(j,d),j._enterCancelled?(an(j,f),ja(j)):(ja(j),an(j,f)),Ku(()=>{j._isLeaving&&(Nn(j,d),an(j,p),Vu(_)||Zu(j,s,S,I))}),Qn(_,[j,I])},onEnterCancelled(j){T(j,!1,void 0,!0),Qn(b,[j])},onAppearCancelled(j){T(j,!0,void 0,!0),Qn(A,[j])},onLeaveCancelled(j){Z(j),Qn(B,[j])}})}function sv(e){if(e==null)return null;if(qe(e))return[Qi(e.enter),Qi(e.leave)];{const t=Qi(e);return[t,t]}}function Qi(e){return ug(e)}function an(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Ys]||(e[Ys]=new Set)).add(t)}function Nn(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const n=e[Ys];n&&(n.delete(t),n.size||(e[Ys]=void 0))}function Ku(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let ov=0;function Zu(e,t,n,s){const o=e._endId=++ov,r=()=>{o===e._endId&&s()};if(n!=null)return setTimeout(r,n);const{type:i,timeout:a,propCount:l}=th(e,t);if(!i)return s();const u=i+"end";let c=0;const d=()=>{e.removeEventListener(u,f),r()},f=p=>{p.target===e&&++c>=l&&d()};setTimeout(()=>{c<l&&d()},a+1),e.addEventListener(u,f)}function th(e,t){const n=window.getComputedStyle(e),s=g=>(n[g]||"").split(", "),o=s(`${Ln}Delay`),r=s(`${Ln}Duration`),i=Yu(o,r),a=s(`${lo}Delay`),l=s(`${lo}Duration`),u=Yu(a,l);let c=null,d=0,f=0;t===Ln?i>0&&(c=Ln,d=i,f=r.length):t===lo?u>0&&(c=lo,d=u,f=l.length):(d=Math.max(i,u),c=d>0?i>u?Ln:lo:null,f=c?c===Ln?r.length:l.length:0);const p=c===Ln&&/\b(?:transform|all)(?:,|$)/.test(s(`${Ln}Property`).toString());return{type:c,timeout:d,propCount:f,hasTransform:p}}function Yu(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((n,s)=>Xu(n)+Xu(e[s])))}function Xu(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function ja(e){return(e?e.ownerDocument:document).body.offsetHeight}function rv(e,t,n){const s=e[Ys];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const Br=Symbol("_vod"),Gl=Symbol("_vsh"),Fr={name:"show",beforeMount(e,{value:t},{transition:n}){e[Br]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):uo(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:s}){!t!=!n&&(s?t?(s.beforeEnter(e),uo(e,!0),s.enter(e)):s.leave(e,()=>{uo(e,!1)}):uo(e,t))},beforeUnmount(e,{value:t}){uo(e,t)}};function uo(e,t){e.style.display=t?e[Br]:"none",e[Gl]=!t}const nh=Symbol("");function iv(e){const t=Ii();if(!t)return;const n=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(r=>Ur(r,o))},s=()=>{const o=e(t.proxy);t.ce?Ur(t.ce,o):za(t.subTree,o),n(o)};xf(()=>{df(s)}),et(()=>{Se(s,Jt,{flush:"post"});const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),$i(()=>o.disconnect())})}function za(e,t){if(e.shapeFlag&128){const n=e.suspense;e=n.activeBranch,n.pendingBranch&&!n.isHydrating&&n.effects.push(()=>{za(n.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Ur(e.el,t);else if(e.type===ne)e.children.forEach(n=>za(n,t));else if(e.type===br){let{el:n,anchor:s}=e;for(;n&&(Ur(n,t),n!==s);)n=n.nextSibling}}function Ur(e,t){if(e.nodeType===1){const n=e.style;let s="";for(const o in t){const r=yg(t[o]);n.setProperty(`--${o}`,r),s+=`--${o}: ${r};`}n[nh]=s}}const av=/(?:^|;)\s*display\s*:/;function lv(e,t,n){const s=e.style,o=nt(n);let r=!1;if(n&&!o){if(t)if(nt(t))for(const i of t.split(";")){const a=i.slice(0,i.indexOf(":")).trim();n[a]==null&&yo(s,a,"")}else for(const i in t)n[i]==null&&yo(s,i,"");for(const i in n){i==="display"&&(r=!0);const a=n[i];a!=null?cv(e,i,!nt(t)&&t?t[i]:void 0,a)||yo(s,i,a):yo(s,i,"")}}else if(o){if(t!==n){const i=s[nh];i&&(n+=";"+i),s.cssText=n,r=av.test(n)}}else t&&e.removeAttribute("style");Br in e&&(e[Br]=r?s.display:"",e[Gl]&&(s.display="none"))}const Ju=/\s*!important$/;function yo(e,t,n){if(xe(n))n.forEach(s=>yo(e,t,s));else if(n==null&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const s=uv(e,t);Ju.test(n)?e.setProperty(Kn(s),n.replace(Ju,""),"important"):e[s]=n}}const Qu=["Webkit","Moz","ms"],ea={};function uv(e,t){const n=ea[t];if(n)return n;let s=Lt(t);if(s!=="filter"&&s in e)return ea[t]=s;s=vi(s);for(let o=0;o<Qu.length;o++){const r=Qu[o]+s;if(r in e)return ea[t]=r}return t}function cv(e,t,n,s){return e.tagName==="TEXTAREA"&&(t==="width"||t==="height")&&nt(s)&&n===s}const ec="http://www.w3.org/1999/xlink";function tc(e,t,n,s,o,r=gg(t)){s&&t.startsWith("xlink:")?n==null?e.removeAttributeNS(ec,t.slice(6,t.length)):e.setAttributeNS(ec,t,n):n==null||r&&!zd(n)?e.removeAttribute(t):e.setAttribute(t,r?"":tn(n)?String(n):n)}function nc(e,t,n,s,o){if(t==="innerHTML"||t==="textContent"){n!=null&&(e[t]=t==="innerHTML"?Xf(n):n);return}const r=e.tagName;if(t==="value"&&r!=="PROGRESS"&&!r.includes("-")){const a=r==="OPTION"?e.getAttribute("value")||"":e.value,l=n==null?e.type==="checkbox"?"on":"":String(n);(a!==l||!("_value"in e))&&(e.value=l),n==null&&e.removeAttribute(t),e._value=n;return}let i=!1;if(n===""||n==null){const a=typeof e[t];a==="boolean"?n=zd(n):n==null&&a==="string"?(n="",i=!0):a==="number"&&(n=0,i=!0)}try{e[t]=n}catch{}i&&e.removeAttribute(o||t)}function as(e,t,n,s){e.addEventListener(t,n,s)}function dv(e,t,n,s){e.removeEventListener(t,n,s)}const sc=Symbol("_vei");function fv(e,t,n,s,o=null){const r=e[sc]||(e[sc]={}),i=r[t];if(s&&i)i.value=s;else{const[a,l]=gv(t);if(s){const u=r[t]=yv(s,o);as(e,a,u,l)}else i&&(dv(e,a,i,l),r[t]=void 0)}}const hv=/(Once|Passive|Capture)$/,pv=/^on:?(?:Once|Passive|Capture)$/;function gv(e){let t,n;for(;(n=e.match(hv))&&!pv.test(e);)t||(t={}),e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===":"?e.slice(3):Kn(e.slice(2)),t]}let ta=0;const mv=Promise.resolve(),vv=()=>ta||(mv.then(()=>ta=0),ta=Date.now());function yv(e,t){const n=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=n.attached)return;const o=n.value;if(xe(o)){const r=s.stopImmediatePropagation;s.stopImmediatePropagation=()=>{r.call(s),s._stopped=!0};const i=o.slice(),a=[s];for(let l=0;l<i.length&&!s._stopped;l++){const u=i[l];u&&Vt(u,t,5,a)}}else Vt(o,t,5,[s])};return n.value=e,n.attached=vv(),n}const oc=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bv=(e,t,n,s,o,r)=>{const i=o==="svg";t==="class"?rv(e,s,i):t==="style"?lv(e,n,s):hi(t)?pi(t)||fv(e,t,n,s,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):kv(e,t,s,i))?(nc(e,t,s),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&tc(e,t,s,i,r,t!=="value")):e._isVueCE&&(wv(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!nt(s)))?nc(e,Lt(t),s,r,t):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),tc(e,t,s,i))};function kv(e,t,n,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&oc(t)&&Pe(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return oc(t)&&nt(n)?!1:t in e}function wv(e,t){const n=e._def.props;if(!n)return!1;const s=Lt(t);return Array.isArray(n)?n.some(o=>Lt(o)===s):Object.keys(n).some(o=>Lt(o)===s)}const sh=new WeakMap,oh=new WeakMap,jr=Symbol("_moveCb"),rc=Symbol("_enterCb"),Sv=e=>(delete e.props.mode,e),_v=Sv({name:"TransitionGroup",props:ct({},Qf,{tag:String,moveClass:String}),setup(e,{slots:t}){const n=Ii(),s=bf();let o,r;return Rl(()=>{if(!o.length)return;const i=e.moveClass||`${e.name||"v"}-move`;if(!Tv(o[0].el,n.vnode.el,i)){o=[];return}o.forEach(Cv),o.forEach(xv);const a=o.filter(Iv);ja(n.vnode.el),a.forEach(l=>{const u=l.el,c=u.style;an(u,i),c.transform=c.webkitTransform=c.transitionDuration="";const d=u[jr]=f=>{f&&f.target!==u||(!f||f.propertyName.endsWith("transform"))&&(u.removeEventListener("transitionend",d),u[jr]=null,Nn(u,i))};u.addEventListener("transitionend",d)}),o=[]}),()=>{const i=je(e),a=eh(i);let l=i.tag||ne;if(o=[],r)for(let u=0;u<r.length;u++){const c=r[u];c.el&&c.el instanceof Element&&!c.el[Gl]&&(o.push(c),ms(c,Lo(c,a,s,n)),sh.set(c,rh(c.el)))}r=t.default?Ml(t.default()):[];for(let u=0;u<r.length;u++){const c=r[u];c.key!=null&&ms(c,Lo(c,a,s,n))}return X(l,null,r)}}}),$v=_v;function Cv(e){const t=e.el;t[jr]&&t[jr](),t[rc]&&t[rc]()}function xv(e){oh.set(e,rh(e.el))}function Iv(e){const t=sh.get(e),n=oh.get(e),s=t.left-n.left,o=t.top-n.top;if(s||o){const r=e.el,i=r.style,a=r.getBoundingClientRect();let l=1,u=1;return r.offsetWidth&&(l=a.width/r.offsetWidth),r.offsetHeight&&(u=a.height/r.offsetHeight),(!Number.isFinite(l)||l===0)&&(l=1),(!Number.isFinite(u)||u===0)&&(u=1),Math.abs(l-1)<.01&&(l=1),Math.abs(u-1)<.01&&(u=1),i.transform=i.webkitTransform=`translate(${s/l}px,${o/u}px)`,i.transitionDuration="0s",e}}function rh(e){const t=e.getBoundingClientRect();return{left:t.left,top:t.top}}function Tv(e,t,n){const s=e.cloneNode(),o=e[Ys];o&&o.forEach(a=>{a.split(/\s+/).forEach(l=>l&&s.classList.remove(l))}),n.split(/\s+/).forEach(a=>a&&s.classList.add(a)),s.style.display="none";const r=t.nodeType===1?t:t.parentNode;r.appendChild(s);const{hasTransform:i}=th(s);return r.removeChild(s),i}const zr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return xe(t)?n=>vr(t,n):t};function Ev(e){e.target.composing=!0}function ic(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const zs=Symbol("_assign");function ac(e,t,n){return t&&(e=e.trim()),n&&(e=yi(e)),e}const it={created(e,{modifiers:{lazy:t,trim:n,number:s}},o){e[zs]=zr(o);const r=s||o.props&&o.props.type==="number";as(e,t?"change":"input",i=>{i.target.composing||e[zs](ac(e.value,n,r))}),(n||r)&&as(e,"change",()=>{e.value=ac(e.value,n,r)}),t||(as(e,"compositionstart",Ev),as(e,"compositionend",ic),as(e,"change",ic))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:s,trim:o,number:r}},i){if(e[zs]=zr(i),e.composing)return;const a=(r||e.type==="number")&&!/^0\d/.test(e.value)?yi(e.value):e.value,l=t??"";if(a===l)return;const u=e.getRootNode();(u instanceof Document||u instanceof ShadowRoot)&&u.activeElement===e&&e.type!=="range"&&(s&&t===n||o&&e.value.trim()===l)||(e.value=l)}},lc={deep:!0,created(e,{value:t,modifiers:{number:n}},s){e._modelValue=t,as(e,"change",()=>{const o=Array.prototype.filter.call(e.options,r=>r.selected).map(r=>n?yi(Hr(r)):Hr(r));e[zs](e.multiple?gi(e._modelValue)?new Set(o):o:o[0]),e._assigning=!0,Fe(()=>{e._assigning=!1})}),e[zs]=zr(s)},mounted(e,{value:t}){uc(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[zs]=zr(n)},updated(e,{value:t}){e._assigning||uc(e,t)}};function uc(e,t){const n=e.multiple,s=xe(t);if(!(n&&!s&&!gi(t))){for(let o=0,r=e.options.length;o<r;o++){const i=e.options[o],a=Hr(i);if(n)if(s){const l=typeof a;l==="string"||l==="number"?i.selected=t.some(u=>String(u)===String(a)):i.selected=vg(t,a)>-1}else i.selected=t.has(a);else if(qo(Hr(i),t)){e.selectedIndex!==o&&(e.selectedIndex=o);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Hr(e){return"_value"in e?e._value:e.value}const Av=["ctrl","shift","alt","meta"],Mv={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)=>Av.some(n=>e[`${n}Key`]&&!t.includes(n))},tt=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),s=t.join(".");return n[s]||(n[s]=((o,...r)=>{for(let i=0;i<t.length;i++){const a=Mv[t[i]];if(a&&a(o,t))return}return e(o,...r)}))},Rv={esc:"escape",space:" ",up:"arrow-up",left:"arrow-left",right:"arrow-right",down:"arrow-down",delete:"backspace"},Vn=(e,t)=>{const n=e._withKeys||(e._withKeys={}),s=t.join(".");return n[s]||(n[s]=(o=>{if(!("key"in o))return;const r=Kn(o.key);if(t.some(i=>i===r||Rv[i]===r))return e(o)}))},Pv=ct({patchProp:bv},tv);let cc;function Lv(){return cc||(cc=Dm(Pv))}const Dv=((...e)=>{const t=Lv().createApp(...e),{mount:n}=t;return t.mount=s=>{const o=Ov(s);if(!o)return;const r=t._component;!Pe(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const i=n(o,!1,Nv(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),i},t});function Nv(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Ov(e){return nt(e)?document.querySelector(e):e}const Wr=[{name:"model",description:"切换模型 / 思考强度",target:"local",group:"core"},{name:"new",description:"新建会话",target:"local",group:"core"},{name:"clear",description:"清空本地消息列表",target:"local",group:"core"},{name:"help",description:"显示可用命令",target:"local",group:"core"},{name:"compact",description:"压缩会话上下文",target:"backend",group:"core"},{name:"title",description:"重命名当前会话",target:"backend",aliases:["rename"],acceptsInput:!0,group:"core"},{name:"btw",description:"快速侧问(不打断当前回合)",target:"backend",acceptsInput:!0,group:"core"},{name:"auto",description:"切换为 auto 权限模式",target:"backend",group:"advanced"},{name:"ask",description:"切换为询问权限模式",target:"backend",group:"advanced"},{name:"yes",description:"切换为 yolo 权限模式",target:"backend",aliases:["yolo"],group:"advanced"},{name:"bot",description:"切换为 Bot 无人值守模式",target:"backend",group:"advanced"},{name:"plan",description:"切换计划模式",target:"backend",group:"advanced"},{name:"fusionplan",description:"切换融合计划模式",target:"local",aliases:["fp"],acceptsInput:!0,group:"advanced"},{name:"wolfpack",description:"切换 Wolfpack 多代理模式",target:"local",aliases:["wp"],acceptsInput:!0,group:"advanced"},{name:"rlm",description:"切换 RLM Python 内核模式",target:"local",acceptsInput:!0,group:"advanced"},{name:"rlm-max-depth",description:"设置 RLM 递归最大深度",target:"local",acceptsInput:!0,group:"advanced"},{name:"revoke",description:"撤销最近一轮消息",target:"local",acceptsInput:!0,group:"advanced"},{name:"fork",description:"复制当前会话为新分支",target:"backend",group:"advanced"},{name:"status",description:"查看会话状态",target:"local",group:"advanced"},{name:"usage",description:"查看 Token 用量",target:"local",group:"advanced"}],Hs=O([]);function dc(e){Hs.value=[...e]}const Io=O("");function Gv(e){Io.value=e.trim().toLowerCase()}function Bv(){Io.value=""}const Fv=8,ih=O(!1);function Uv(){return ih.value}function fc(e,t){var n;return t?e.name.startsWith(t)||((n=e.aliases)==null?void 0:n.some(s=>s.startsWith(t)))===!0||e.description.includes(t):!0}function hc(e,t){return t?e.name.toLowerCase().startsWith(t)||e.name.includes(t)||e.description.includes(t):!0}function jv(e){const t=(e||"").toLowerCase(),n=t===""&&Io.value==="";ih.value=n;const s=Wr.filter(r=>fc(r,t)&&fc(r,Io.value)).filter(r=>!n||r.group!=="advanced"),o=Hs.value.filter(r=>hc(r,t)&&hc(r,Io.value)).map(r=>({name:r.name,description:r.description||"技能",target:"local",acceptsInput:!0,kind:"skill",source:r.pluginId?`plugin:${r.pluginId}`:r.source}));return[...s,...o]}function zv(e){const t=e.toLowerCase(),n=Wr.find(s=>{var o;return s.name===t||((o=s.aliases)==null?void 0:o.includes(t))});return(n==null?void 0:n.name)??t}function Hv(e){const t=e.toLowerCase();return Hs.value.some(n=>n.name.toLowerCase()===t)}function Wv(){const e=o=>{var i;return`${(i=o.aliases)!=null&&i.length?[o.name,...o.aliases].map(a=>`/${a}`).join(", "):`/${o.name}`} - ${o.description}`},t=Wr.filter(o=>o.group!=="advanced"),n=Wr.filter(o=>o.group==="advanced"),s=["常用:",...t.map(e),"高级:",...n.map(e)];return Hs.value.length>0&&s.push("",`技能 ${Hs.value.length} 个(输入 / 后在菜单中查看,或前往技能中心):`,...Hs.value.map(o=>`/${o.name} - ${o.description||"技能"}`)),["可用命令:",...s].join(`
19
+ `)}let qr=null;const Bl=Fg(null);function qv(e){qr=e,Bl.value=e}function Vv(e){qr===e&&(qr=null,Bl.value=null)}function Ha(){return qr}function Kv(){return{activeClient:Bl}}const No=O([]);let Zv=0;function Yv(e,t="info",n=3500){const s=`toast_${++Zv}`;No.value=[...No.value,{id:s,type:t,message:e}],n>0&&setTimeout(()=>ah(s),n)}function ah(e){No.value=No.value.filter(t=>t.id!==e)}function Qs(){return{toasts:No,showToast:Yv,removeToast:ah}}const Ge="/api/v1",Xv=2*3e4,pc=8;function ft(e){const t=e.sessionId.value;return t?{sessionId:t,sessionGeneration:e.sessionGeneration,connectionGeneration:e.connectionGeneration}:null}function Ei(e,t){return e.sessionId.value===t.sessionId&&e.sessionGeneration===t.sessionGeneration&&e.connectionGeneration===t.connectionGeneration}function Yt(e,t,n){e.wsHandlers.set(t,n)}function Jv(){const e=O("connecting"),t=O([]),n=O(!1),s=O(void 0),o=O([]),r=O({busy:!1}),i=O(null),a=O([]),l=O(!1),u=O(null),c=O(!1),d=O(null),f=O(null),p=O(null),g=O([]),y=O(null),S=O(!1),k=G(()=>r.value.busy||c.value),w=G(()=>f.value!==null&&!S.value);return{connectionStatus:e,messages:t,olderAvailable:n,oldestSeq:s,pendingApprovals:o,status:r,goal:i,todos:a,goalRequestPending:l,goalRequestError:u,promptPending:c,error:d,sessionId:f,workDir:p,isBusy:k,sessions:g,currentSessionId:y,isArchived:w,gitStatus:O(null),models:O([]),modelsError:O(null),like:O({}),sessionPlan:O(null),skills:O([]),skillsError:O(null),plugins:O([]),pluginInfo:O(null),mcpServers:O([]),mcpStartupMetrics:O(null),backgroundTasks:O([]),backgroundTaskOutput:O(""),subagents:O([]),config:O(null),experimentalFlags:O(null),preflightOk:O(!1),sessionActive:S,ws:null,heartbeatTimer:null,reconnectTimer:null,snapshotRetryTimer:null,lastPongAt:Date.now(),seq:0,epoch:0,reconnectAttempt:0,sessionGeneration:0,connectionGeneration:0,promptGeneration:0,liveGeneration:0,sessionMutationGeneration:0,goalMutationGeneration:0,permissionMutationGeneration:0,goalAwaitingMutation:null,goalRequestInFlight:!1,snapshotRetryGoalGeneration:null,pendingPromptAccepted:!1,disposed:!1,sentMessageIds:new Map,turnNumber:0,turnStartAt:0,turnFirstTokenAt:null,activeToolMs:0,streamDisposed:!1,pendingAssistantDelta:"",pendingThinkingDelta:"",pendingToolProgress:new Map,wsHandlers:new Map,wsUnknownFrames:0,journalGapCount:0}}function Qv(){const{showToast:e}=Qs();return{s:Jv(),showToast:e}}function yn(){return`msg_${Date.now()}_${Math.random().toString(36).slice(2,8)}`}function gc(e,t){if(e!==null&&typeof e=="object"){const n=e.message;if(typeof n=="string")return n}return t}const mc="scream-offline-prompt-queue",vc="scream-recent-prompts";function ey(e){const{s:t}=e;let n=[];try{const c=localStorage.getItem(mc);if(c){const d=JSON.parse(c);Array.isArray(d)&&(n=d.filter(f=>typeof f=="string"))}}catch{n=[]}function s(){try{localStorage.setItem(mc,JSON.stringify(n.slice(0,20)))}catch{}}function o(){if(n.length===0)return;const c=n[0],d=`client_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,f=yn();t.sentMessageIds.set(d,{messageId:f,connectionGeneration:t.connectionGeneration,queueText:c}),t.promptGeneration++,t.pendingPromptAccepted=!1,t.promptPending.value=!0,t.messages.value.push({id:f,role:"user",content:c,clientMessageId:d,tools:[],ts:Date.now()}),u(c),e.send({type:"prompt",text:c,clientMessageId:d})}function r(){n.length>0&&n.shift(),s(),o()}function i(c){n.push(c),s()}function a(c){const d=n.indexOf(c);d>=0&&(n.splice(d,1),s())}let l=[];try{const c=localStorage.getItem(vc);if(c){const d=JSON.parse(c);Array.isArray(d)&&(l=d.filter(f=>typeof f=="string"))}}catch{l=[]}function u(c){const d=c.trim();if(d){l=[d,...l.filter(f=>f!==d)].slice(0,8);try{localStorage.setItem(vc,JSON.stringify(l))}catch{}}}return e.flushQueue=o,e.flushQueueNext=r,e.enqueueOfflinePrompt=i,e.removeOfflineQueueItem=a,e.recordRecentPrompt=u,{enqueueOfflinePrompt:i,removeOfflineQueueItem:a,recordRecentPrompt:u,flushQueue:o,flushQueueNext:r}}function wr(e,t,n,s){return e===n&&t===s}function ty(e){return e.currentSessionId===e.targetSessionId&&e.snapshot.sessionId===e.targetSessionId&&e.currentSessionGeneration===e.targetSessionGeneration&&e.currentConnectionGeneration===e.targetConnectionGeneration&&e.currentPromptGeneration===e.targetPromptGeneration&&e.currentLiveGeneration===e.targetLiveGeneration&&(e.currentEpoch===0||e.snapshot.epoch===e.currentEpoch)&&(e.snapshot.epoch!==e.currentEpoch||e.snapshot.seq>=e.currentSeq)}function ny(e){return{objective:e.objective,completionCriterion:e.completionCriterion,replace:e.replace,budgets:e.budgets}}function sy(e){return{objective:e.objective,budgets:e.budgets}}function oy(e,t,n){return e!==0&&n.epoch!==e?"resync":n.seq<=t?"duplicate":t!==0&&n.seq>t+1?"gap":"apply"}function ry(e,t){return t.type==="goal.updated"?{...e,goal:t.snapshot}:t.type==="todo.updated"?{...e,todos:t.todos}:e}function iy(e){const t=[],n=new Map;for(const s of e){const o=s.phase??null;let r=n.get(o);r===void 0&&(r=t.length,n.set(o,r),t.push({phase:o,items:[]})),t[r].items.push(s)}return t}const ay=24,ly=4e3;function bo(e,t){const n=e[t];return typeof n=="string"&&n.length>0?n:void 0}function ir(e,t){const n=e[t];return typeof n=="number"&&Number.isFinite(n)?n:void 0}function uy(e){const t=e.usage;if(!t||typeof t!="object")return;const n=t;if(!(typeof n.inputOther!="number"||typeof n.output!="number"||typeof n.inputCacheRead!="number"||typeof n.inputCacheCreation!="number"))return{inputOther:n.inputOther,output:n.output,inputCacheRead:n.inputCacheRead,inputCacheCreation:n.inputCacheCreation}}function yc(e,t){const n=bo(e,t);return n===void 0?void 0:n.slice(0,ly)}function cy(e,t){return e.type==="subagent.started"?"running":e.type==="subagent.completed"?"completed":e.type==="subagent.failed"?"failed":t}function dy(e){return[...e].toSorted((t,n)=>{const s=t.state==="spawning"||t.state==="running",o=n.state==="spawning"||n.state==="running";return s!==o?s?-1:1:n.updatedAt-t.updatedAt}).slice(0,ay)}function fy(e,t,n=Date.now()){if(!t.type.startsWith("subagent."))return e;const s=t,o=bo(s,"subagentId");if(!o)return e;const r=e.findIndex(f=>f.subagentId===o),i=r===-1?void 0:e[r],a=cy(s,(i==null?void 0:i.state)??"spawning"),l=bo(s,"subagentName")??(i==null?void 0:i.name)??"agent",u=bo(s,"parentToolCallId")??(i==null?void 0:i.parentToolCallId)??"",c={subagentId:o,name:l,parentToolCallId:u,description:bo(s,"description")??(i==null?void 0:i.description),runInBackground:typeof s.runInBackground=="boolean"?s.runInBackground:(i==null?void 0:i.runInBackground)??!1,state:a,updatedAt:n,resultSummary:yc(s,"resultSummary")??(i==null?void 0:i.resultSummary),error:yc(s,"error")??(i==null?void 0:i.error),usage:uy(s)??(i==null?void 0:i.usage),contextTokens:ir(s,"contextTokens")??(i==null?void 0:i.contextTokens),turns:ir(s,"turns")??(i==null?void 0:i.turns),durationMs:ir(s,"durationMs")??(i==null?void 0:i.durationMs),toolCallCount:ir(s,"toolCallCount")??(i==null?void 0:i.toolCallCount)},d=r===-1?[...e,c]:e.map((f,p)=>p===r?c:f);return dy(d)}const Oo=new Map;function hy(e){Oo.set(e,Date.now())}function py(e){return Oo.get(e)}function gy(e){const t=Oo.get(e);return t!==void 0&&Oo.delete(e),t}function my(){Oo.clear()}function na(e){const t=e/1e3;return t<10?`${t.toFixed(1)}s`:t<60?`${Math.round(t)}s`:`${Math.floor(t/60)}m${String(Math.round(t%60)).padStart(2,"0")}s`}function vy(e){let t=null;return{schedule:()=>{if(t!==null)return;const r=i=>{if(i<=0){t=null,e();return}t=requestAnimationFrame(()=>r(i-1))};t=requestAnimationFrame(()=>r(2))},flushNow:()=>{t!==null&&(cancelAnimationFrame(t),t=null),e()},dispose:()=>{t!==null&&(cancelAnimationFrame(t),t=null)}}}function yy(e){const{s:t}=e;function n(){if(t.streamDisposed)return;const a=r();if(!a){t.pendingAssistantDelta="",t.pendingThinkingDelta="",t.pendingToolProgress.clear();return}if(t.pendingAssistantDelta&&(a.content+=t.pendingAssistantDelta,t.pendingAssistantDelta=""),t.pendingThinkingDelta){const l=a.tools.find(u=>u.name==="thinking");l?l.output=(l.output??"")+t.pendingThinkingDelta:a.tools.push({toolCallId:"thinking",name:"thinking",output:t.pendingThinkingDelta}),t.pendingThinkingDelta=""}if(t.pendingToolProgress.size>0){for(const[l,u]of t.pendingToolProgress){const c=a.tools.find(d=>d.toolCallId===l);c&&(c.progress=u)}t.pendingToolProgress.clear()}}const s=vy(n);function o(a){var c;const l=fy(t.subagents.value,a);l!==t.subagents.value&&(t.subagents.value=l);const u=ry({goal:t.goal.value,todos:t.todos.value},a);switch(t.goal.value=u.goal,t.todos.value=u.todos,a.type==="goal.updated"&&t.goalAwaitingMutation!==null&&t.goalAwaitingMutation.generation===t.goalMutationGeneration&&(t.goalAwaitingMutation=null,t.snapshotRetryGoalGeneration=null,e.syncGoalRequestPending()),a.type){case"turn.started":{t.pendingPromptAccepted&&(t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear()),s.flushNow(),t.status.value={...t.status.value,busy:!0},t.turnNumber+=1,t.turnStartAt=Date.now(),t.turnFirstTokenAt=null,t.activeToolMs=0,my(),t.messages.value.push({id:yn(),role:"assistant",content:"",tools:[],ts:Date.now(),model:t.status.value.model,turnStats:{turn:t.turnNumber,step:0,status:"running",firstTokenMs:null,llmMs:0,toolMs:0,tokens:null,tokensPerSec:null}});break}case"assistant.delta":{t.turnFirstTokenAt===null&&(t.turnFirstTokenAt=Date.now()),t.pendingAssistantDelta+=String(a.delta),s.schedule();break}case"thinking.delta":{t.turnFirstTokenAt===null&&(t.turnFirstTokenAt=Date.now()),t.pendingThinkingDelta+=String(a.delta),s.schedule();break}case"tool.call.started":{const d=r();d&&(d.tools.push({toolCallId:String(a.toolCallId),name:String(a.name),args:a.args}),d.turnStats&&(d.turnStats.step+=1)),hy(String(a.toolCallId));break}case"tool.result":{t.pendingToolProgress.delete(String(a.toolCallId));const d=gy(String(a.toolCallId));d!==void 0&&(t.activeToolMs+=Date.now()-d);const f=r();if(f){const p=f.tools.find(g=>g.toolCallId===a.toolCallId);p&&(p.output=String(a.output),p.isError=!!a.isError,p.progress=void 0,d!==void 0&&(p.durationMs=Date.now()-d))}break}case"tool.progress":{t.pendingToolProgress.set(String(a.toolCallId),String(a.message??a.output)),s.schedule();break}case"turn.ended":{if(s.flushNow(),t.status.value={...t.status.value,busy:!1},a.reason==="failed"){const y=r();y&&(y.isError=!0),t.error.value=gc(a.error,"Turn failed")}const d=r(),f=Date.now()-t.turnStartAt,p=(c=t.status.value.usage)==null?void 0:c.currentTurn,g=p?p.inputOther+p.output+p.inputCacheRead+p.inputCacheCreation:null;d&&d.turnStats&&(d.turnStats.status="done",d.turnStats.llmMs=f,d.turnStats.toolMs=t.activeToolMs,d.turnStats.firstTokenMs=t.turnFirstTokenAt!==null?t.turnFirstTokenAt-t.turnStartAt:null,d.turnStats.tokens=g,d.turnStats.tokensPerSec=g!==null&&f>0?Math.round(g/f*1e3):null),e.fetchSessions(),e.fetchGitStatus();break}case"session.meta.updated":{const d={};a.model!==void 0&&(d.model=a.model),a.contextTokens!==void 0&&(d.contextTokens=a.contextTokens),a.maxContextTokens!==void 0&&(d.maxContextTokens=a.maxContextTokens),a.contextUsage!==void 0&&(d.contextUsage=a.contextUsage),t.status.value={...t.status.value,...d};break}case"agent.status.updated":{const d={};if(a.model!==void 0&&(d.model=a.model),a.thinkingLevel!==void 0&&(d.thinkingLevel=a.thinkingLevel),a.contextTokens!==void 0&&(d.contextTokens=a.contextTokens),a.maxContextTokens!==void 0&&(d.maxContextTokens=a.maxContextTokens),a.contextUsage!==void 0&&(d.contextUsage=a.contextUsage),(a.agentId===void 0||a.agentId==="main")&&(a.rlmEnabled!==void 0&&(d.rlmEnabled=a.rlmEnabled),a.rlmMaxDepth!==void 0&&(d.rlmMaxDepth=a.rlmMaxDepth)),a.usage!==void 0){d.usage=a.usage;const f=a.usage;if(f!=null&&f.currentTurn){const p=r(),g=f.currentTurn.inputOther+f.currentTurn.output+f.currentTurn.inputCacheRead+f.currentTurn.inputCacheCreation;p!=null&&p.turnStats&&p.turnStats.status==="done"&&p.turnStats.tokens===null&&(p.turnStats.tokens=g,p.turnStats.tokensPerSec=p.turnStats.llmMs?Math.round(g/p.turnStats.llmMs*1e3):null)}}t.status.value={...t.status.value,...d};break}case"web.history.undone":e.fetchSnapshot();break;case"error":{t.error.value=gc(a.error,"Unknown error");break}}}function r(){for(let a=t.messages.value.length-1;a>=0;a--)if(t.messages.value[a].role==="assistant")return t.messages.value[a];return null}Yt(t,"event",a=>{const l=oy(t.epoch,t.seq,a);if(l==="resync"){t.epoch=a.epoch,t.seq=0,t.journalGapCount=0,e.fetchSnapshot();return}if(l!=="duplicate"){if(l==="gap"){t.journalGapCount++;const u=t.journalGapCount>=3;(u?console.error:console.warn)(`[webClient] journal seq 缺口:epoch ${t.epoch} 内从 ${t.seq} 跳到 ${a.seq}(连续第 ${t.journalGapCount} 次${u?",超过阈值,流可能已持续损坏":""}),已触发快照补拉。`,a)}else t.journalGapCount=0;t.seq=a.seq,t.epoch=a.epoch,t.liveGeneration++,l==="gap"&&e.fetchSnapshot(),o(a.payload)}}),Yt(t,"resync_required",()=>{t.seq=0,e.fetchSnapshot()}),e.onEvent=o;function i(){t.streamDisposed=!0,s.dispose()}return{onEvent:o,disposeStreaming:i}}function by(e){const{s:t,showToast:n}=e;function s(){t.disposed||t.snapshotRetryTimer!==null||(t.snapshotRetryTimer=window.setTimeout(()=>{t.snapshotRetryTimer=null;const i=t.snapshotRetryGoalGeneration;t.snapshotRetryGoalGeneration=null,o(i??void 0)},250))}async function o(i){var p,g;const a=t.sessionId.value;if(!a)return;const l=t.messages.value.length===0?100:void 0,u=t.sessionGeneration,c=t.connectionGeneration,d=t.promptGeneration,f=t.liveGeneration;try{const y=await fetch(`${Ge}/sessions/${a}/snapshot${l?`?tail=${l}`:""}`);if(!y.ok){i!==void 0&&((p=t.goalAwaitingMutation)==null?void 0:p.generation)===i&&(t.snapshotRetryGoalGeneration=i,s());return}const S=await y.json();if(!ty({snapshot:S,targetSessionId:a,currentSessionId:t.sessionId.value,targetSessionGeneration:u,currentSessionGeneration:t.sessionGeneration,targetConnectionGeneration:c,currentConnectionGeneration:t.connectionGeneration,targetPromptGeneration:d,currentPromptGeneration:t.promptGeneration,targetLiveGeneration:f,currentLiveGeneration:t.liveGeneration,currentEpoch:t.epoch,currentSeq:t.seq})){i!==void 0&&(t.snapshotRetryGoalGeneration=i),s();return}r(S,i)}catch{i!==void 0&&((g=t.goalAwaitingMutation)==null?void 0:g.generation)===i&&(t.snapshotRetryGoalGeneration=i,s())}}function r(i,a){var y;t.pendingAssistantDelta="",t.pendingThinkingDelta="",t.pendingToolProgress.clear();const l=t.messages.value.filter(S=>S.local),u=t.sentMessageIds.keys().next().value,c=u?t.sentMessageIds.get(u):void 0,d=c?t.messages.value.find(S=>S.id===c.messageId):void 0,f=!!(u&&i.messages.some(S=>S.clientMessageId===u)),p=!!(c&&!f&&c.connectionGeneration<t.connectionGeneration);p&&d&&(d.isError=!0);const g=d&&!f?[d]:[];t.messages.value=[...i.messages.map(S=>({...S,id:S.id??yn()})),...l,...g];for(let S=t.messages.value.length-1;S>=0;S--){const k=(y=t.messages.value[S])==null?void 0:y.turnStats;if(k&&typeof k.turn=="number"&&k.turn>0){t.turnNumber=k.turn;break}}t.pendingApprovals.value=i.pendingApprovals,t.status.value={...i.status,busy:i.busy},t.olderAvailable.value=!!i.olderAvailable,t.oldestSeq.value=i.oldestSeq,t.goal.value=i.goal,t.todos.value=i.todos,a!==void 0&&t.goalAwaitingMutation!==null&&t.goalAwaitingMutation.generation===a&&t.goalMutationGeneration===a&&(t.goalAwaitingMutation=null,e.syncGoalRequestPending()),(f||p)&&(t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),p&&n("消息未送达,已恢复连接。","error")),t.seq=i.seq,t.epoch=i.epoch,t.workDir.value=i.workDir}return e.fetchSnapshot=o,{fetchSnapshot:o}}function ky(e){const{s:t,showToast:n}=e;function s(c){if(!c)return;if(t.connectionStatus.value==="idle"){n("暂无会话,请先新建会话。","warning");return}if(t.connectionStatus.value!=="connected"){e.enqueueOfflinePrompt(c),n("连接已断开,消息已排队,重连后自动发送。","warning"),e.connect();return}if(t.isBusy.value)return;const d=`client_${Date.now()}_${Math.random().toString(36).slice(2,8)}`,f=yn();t.sentMessageIds.set(d,{messageId:f,connectionGeneration:t.connectionGeneration}),t.promptGeneration++,t.pendingPromptAccepted=!1,t.promptPending.value=!0,t.messages.value.push({id:f,role:"user",content:c,clientMessageId:d,tools:[],ts:Date.now()}),e.recordRecentPrompt(c),e.send({type:"prompt",text:c,clientMessageId:d})}function o(c,d){if(t.connectionStatus.value==="idle"){n("暂无会话,请先新建会话。","warning");return}if(t.connectionStatus.value!=="connected"){n("连接已断开,命令未发送。","error"),e.connect();return}if(t.isBusy.value&&c!=="btw"){n(`会话忙碌中,无法执行 /${c},请稍后再试。`,"warning");return}const f=["compact","plan","auto","yes","fork","title"];let p=null;f.includes(c)&&(p=yn(),t.messages.value.push({id:p,role:"system",content:`正在执行 /${c}${d?` ${d}`:""}...`,tools:[],pending:!0,ts:Date.now(),local:!0})),e.send({type:"command",command:c,...d?{args:d}:{},...p?{pendingMsgId:p}:{}})}function r(){t.messages.value=[],t.pendingApprovals.value=[]}function i(c){t.messages.value.push({id:yn(),role:"system",content:c,tools:[],ts:Date.now(),local:!0})}function a(c,d,f,p){if(t.connectionStatus.value!=="connected"){n("连接已断开,审批结果未发送。","error"),e.connect();return}t.pendingApprovals.value=t.pendingApprovals.value.filter(g=>g.id!==c),e.send({type:"approval_response",id:c,decision:d,...f?{feedback:f}:{},...p?{scope:p}:{}})}function l(){e.send({type:"abort"})}async function u(){var f;const c=t.sessionId.value,d=t.oldestSeq.value;if(!c||d===void 0)return 0;try{const p=await fetch(`${Ge}/sessions/${c}/messages?before=${d}&tail=50`);if(!p.ok)return 0;const g=await p.json();if(g.messages.length===0)return 0;const y=g.messages.map(S=>({...S,id:S.id??yn()}));return t.messages.value=[...y,...t.messages.value],t.oldestSeq.value=((f=y[0])==null?void 0:f.seq)??d,t.olderAvailable.value=g.hasMore,y.length}catch{return 0}}return Yt(t,"user_message",c=>{var d;if(t.liveGeneration++,c.clientMessageId&&t.sentMessageIds.has(c.clientMessageId)){t.pendingPromptAccepted=!0,((d=t.sentMessageIds.get(c.clientMessageId))==null?void 0:d.queueText)!==void 0&&e.flushQueueNext();return}t.messages.value.push({id:yn(),role:"user",content:c.text,clientMessageId:c.clientMessageId,tools:[],ts:Date.now()})}),Yt(t,"approval_request",c=>{t.liveGeneration++,t.pendingApprovals.value=[...t.pendingApprovals.value,{id:c.id,toolName:c.toolName,action:c.action,display:c.display}]}),Yt(t,"approval_resolved",c=>{t.liveGeneration++,t.pendingApprovals.value=t.pendingApprovals.value.filter(d=>d.id!==c.id)}),Yt(t,"command_result",c=>{const d=c.pendingMsgId?t.messages.value.findIndex(p=>p.id===c.pendingMsgId):-1,f=d>=0;if(d>=0){const p=t.messages.value[d];t.messages.value[d]={...p,content:c.message,isError:!c.ok,pending:!1}}else t.messages.value.push({id:yn(),role:"system",content:c.message,tools:[],isError:!c.ok,ts:Date.now(),local:!0});(c.command==="fork"||c.command==="title")&&e.fetchSessions(),c.ok&&c.command==="fork"&&c.sessionId&&f&&e.switchSession(c.sessionId),c.ok&&c.command==="compact"&&e.fetchSnapshot()}),Yt(t,"error",c=>{if(t.error.value=c.message,c.clientMessageId){const d=t.sentMessageIds.get(c.clientMessageId);if(d){t.sentMessageIds.delete(c.clientMessageId),t.promptPending.value=!1,t.pendingPromptAccepted=!1;const f=t.messages.value.find(p=>p.id===d.messageId);f&&(f.isError=!0),n(`消息未发送:${c.message}`,"error"),d.queueText!==void 0&&e.removeOfflineQueueItem(d.queueText)}}}),e.appendSystemMessage=i,{sendPrompt:s,sendCommand:o,clearMessages:r,appendSystemMessage:i,abort:l,resolveApproval:a,loadOlderMessages:u}}function wy(e){const{s:t,showToast:n}=e;async function s(){try{const c=await fetch(`${Ge}/sessions`);if(!c.ok)return;t.sessions.value=await c.json()}catch{}}async function o(c){const d=t.sessionGeneration,f=t.connectionGeneration;try{return(await fetch(`${Ge}/sessions/${c}/activate`,{method:"POST"})).ok&&t.connectionGeneration===f&&wr(t.sessionId.value,t.sessionGeneration,c,d)}catch{return!1}}async function r(){const c=ft(t);try{const d=(c==null?void 0:c.sessionId)??t.currentSessionId.value,f=d?`?sessionId=${encodeURIComponent(d)}`:"",p=await fetch(`${Ge}/git/status${f}`);if(c&&!Ei(t,c)||!p.ok)return;const g=await p.json();t.gitStatus.value=g.isRepo?g:null}catch{}}async function i(c,d){try{const f=await fetch(`${Ge}/sessions`,{method:"POST",...c?{headers:{"Content-Type":"application/json"},body:JSON.stringify({workDir:c})}:{}});if(!f.ok){const g=await f.json().catch(()=>null),y=g&&typeof g.message=="string"?g.message:"";n(`新建会话失败:${y||`HTTP ${f.status}`}`,"error");return}const p=await f.json();t.sessions.value=[p,...t.sessions.value],d==null||d(p.sessionId),await a(p.sessionId)}catch(f){n(`新建会话失败:${f instanceof Error?f.message:String(f)}`,"error")}}async function a(c){t.currentSessionId.value===c&&t.connectionStatus.value==="connected"||(t.currentSessionId.value=c,t.sessionId.value=c,t.sessionGeneration++,e.resetGoalRequestState(),t.seq=0,t.epoch=0,t.journalGapCount=0,t.messages.value=[],t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.goal.value=null,t.todos.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.subagents.value=[],t.sessionActive.value=!1,t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.snapshotRetryTimer!==null&&(clearTimeout(t.snapshotRetryTimer),t.snapshotRetryTimer=null),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null),e.stopHeartbeat(),e.connect())}async function l(c){try{const d=await fetch(`${Ge}/sessions/${c}`,{method:"DELETE"});if(!d.ok){n(`删除会话失败(HTTP ${d.status})`,"error");return}if(t.sessions.value=t.sessions.value.filter(f=>f.sessionId!==c),t.currentSessionId.value===c){const f=t.sessions.value[0];f?await a(f.sessionId):(t.sessionGeneration++,e.resetGoalRequestState(),t.sessionId.value=null,t.currentSessionId.value=null,t.sessionActive.value=!1,t.seq=0,t.epoch=0,t.journalGapCount=0,t.messages.value=[],t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.goal.value=null,t.todos.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.subagents.value=[],t.promptPending.value=!1,t.pendingPromptAccepted=!1,t.sentMessageIds.clear(),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null),e.stopHeartbeat(),e.setConnectionStatus("idle"))}}catch(d){n(`删除会话失败:${d instanceof Error?d.message:String(d)}`,"error")}}async function u(c){try{const d=await fetch(`${Ge}/sessions/${c}/export`);if(!d.ok){n(`导出会话失败(HTTP ${d.status})`,"error");return}const f=await d.blob(),p=URL.createObjectURL(f),g=document.createElement("a");g.href=p,g.download=`${c}.md`,g.click(),URL.revokeObjectURL(p)}catch(d){n(`导出会话失败:${d instanceof Error?d.message:String(d)}`,"error")}}return e.fetchSessions=s,e.switchSession=a,e.fetchGitStatus=r,e.activateSession=o,{fetchSessions:s,fetchGitStatus:r,createSession:i,switchSession:a,deleteSession:l,exportSession:u}}function Sy(e){const{s:t,showToast:n}=e;async function s(){try{const u=await fetch(`${Ge}/models`);if(!u.ok){t.modelsError.value=`模型列表加载失败(HTTP ${u.status})`;return}const c=await u.json();t.models.value=c.models,t.modelsError.value=null}catch(u){t.modelsError.value=`模型列表加载失败:${u instanceof Error?u.message:String(u)}`}}async function o(){try{const u=await fetch(`${Ge}/like`);if(!u.ok)return;t.like.value=await u.json()}catch{}}async function r(u){try{return(await fetch(`${Ge}/like`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)})).ok?(t.like.value=u,!0):!1}catch{return!1}}async function i(u,c,d){const f=t.sessionId.value;if(!f){n("请先打开一个会话","warning");return}const p=t.sessionGeneration,g=t.connectionGeneration,y=++t.sessionMutationGeneration;try{const S=await fetch(`${Ge}/sessions/${f}/${u}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(c)}),k=await S.json();if(t.sessionId.value!==f||t.sessionGeneration!==p||t.connectionGeneration!==g||t.sessionMutationGeneration!==y)return;if(!S.ok){n(k.message??`请求失败(HTTP ${S.status})`,"error");return}k.status&&(t.status.value={...t.status.value,...k.status}),n(d,"success")}catch(S){if(t.sessionId.value!==f||t.sessionGeneration!==p||t.connectionGeneration!==g||t.sessionMutationGeneration!==y)return;n(`请求失败:${S instanceof Error?S.message:String(S)}`,"error")}}async function a(u){u!==t.status.value.model&&await i("model",{model:u},`已切换模型:${u}`)}async function l(u){u!==t.status.value.thinkingLevel&&await i("thinking",{level:u},`思考强度已切换为 ${u}`)}return Yt(t,"status",u=>{t.liveGeneration++,t.status.value={...t.status.value,...u.status}}),e.fetchModels=s,{fetchModels:s,fetchLike:o,updateLike:r,switchModel:a,switchThinking:l}}function _y(e){const{s:t}=e;function n(){t.goalRequestPending.value=t.goalRequestInFlight||t.goalAwaitingMutation!==null}function s(){t.goalMutationGeneration++,t.goalAwaitingMutation=null,t.goalRequestInFlight=!1,t.snapshotRetryGoalGeneration=null,t.goalRequestPending.value=!1,t.goalRequestError.value=null}async function o(f,p,g,y){const S=t.sessionId.value;if(!S)return t.goalRequestError.value="暂无可操作的会话。",null;if(t.connectionStatus.value!=="connected")return t.goalRequestError.value="连接已断开,请等待重连后再试。",null;if(t.isArchived.value)return t.goalRequestError.value="当前会话已归档,无法修改 Goal。",null;if(t.goalRequestInFlight)return t.goalRequestError.value="正在处理上一个请求,请稍候。",null;t.goalAwaitingMutation!==null&&(t.goalAwaitingMutation=null,n());const k=t.sessionGeneration,w=++t.goalMutationGeneration;t.goalRequestInFlight=!0,n(),t.goalRequestError.value=null;try{const b=await fetch(`${Ge}/sessions/${S}/goal${f}`,{method:p,headers:{"Content-Type":"application/json"},body:JSON.stringify(g)}),_=await b.json().catch(()=>({}));return!wr(t.sessionId.value,t.sessionGeneration,S,k)||t.goalMutationGeneration!==w?null:b.ok?(y&&(t.goalAwaitingMutation={generation:w},t.snapshotRetryGoalGeneration=w),_):(t.goalRequestError.value=typeof _.message=="string"?_.message:`请求失败(HTTP ${b.status})`,null)}catch(b){return wr(t.sessionId.value,t.sessionGeneration,S,k)&&t.goalMutationGeneration===w&&(t.goalRequestError.value=`请求失败:${b instanceof Error?b.message:String(b)}`),null}finally{wr(t.sessionId.value,t.sessionGeneration,S,k)&&t.goalMutationGeneration===w&&(t.goalRequestInFlight=!1,n())}}async function r(f){const p=await o("/refine","POST",{description:f},!1);return typeof(p==null?void 0:p.objective)=="string"?p.objective:null}async function i(f){return await o("","POST",ny(f),!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}async function a(f){return await o("","PATCH",sy(f),!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}async function l(f){return await o(f,"POST",{},!0)===null?!1:(t.goalAwaitingMutation!==null&&e.fetchSnapshot(t.goalAwaitingMutation.generation),!0)}function u(){return l("/pause")}function c(){return l("/resume")}function d(){return l("/cancel")}return e.resetGoalRequestState=s,e.syncGoalRequestPending=n,{refineGoal:r,createGoal:i,updateGoal:a,pauseGoal:u,resumeGoal:c,cancelGoal:d}}function $y(e){const{s:t,showToast:n}=e;let s=0,o=0,r=0,i=0;function a(_){return _!==null&&Ei(t,_)}async function l(){const _=ft(t);if(!_)return;const B=++s;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/status`);if(!a(_)||B!==s||!D.ok)return;const E=await D.json();t.status.value={...t.status.value,...E}}catch{}}async function u(){const _=ft(t);if(!_)return;const B=++o;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/usage`);if(!a(_)||B!==o||!D.ok)return;const E=await D.json();t.status.value={...t.status.value,usage:E}}catch{}}async function c(){const _=ft(t);if(!_)return;const B=++r;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/context`);if(!a(_)||B!==r||!D.ok)return;const E=await D.json();E.tokenCount!==void 0&&(t.status.value={...t.status.value,contextTokens:E.tokenCount})}catch{}}async function d(){const _=ft(t);if(!_)return;const B=++i;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plan`);if(!a(_)||B!==i||!D.ok)return;t.sessionPlan.value=await D.json()}catch{}}async function f(){const _=ft(t);if(!_)return!1;const B=++i;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plan/clear`,{method:"POST"});return!a(_)||B!==i||!D.ok?!1:(t.sessionPlan.value=null,!0)}catch{return!1}}async function p(_,B){const D=ft(t);if(!D)return!1;if(t.connectionStatus.value!=="connected")return n("连接已断开,操作未发送。","error"),e.connect(),!1;try{const E=await fetch(`${Ge}/sessions/${D.sessionId}/${_}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(B??{})});if(!a(D))return!1;if(!E.ok){const A=await E.json().catch(()=>({}));return a(D)&&n(A.message??`操作失败(HTTP ${E.status})`,"error"),!1}return!0}catch(E){return a(D)&&n(`操作失败:${E instanceof Error?E.message:String(E)}`,"error"),!1}}async function g(_){const B=t.sessionId.value,D=t.sessionGeneration,E=t.connectionGeneration,A=++t.permissionMutationGeneration,T=t.status.value.permission;return t.status.value={...t.status.value,permission:_},await p("permission",{mode:_})?(await l(),!0):(t.sessionId.value!==B||t.sessionGeneration!==D||t.connectionGeneration!==E||t.permissionMutationGeneration!==A||(t.status.value={...t.status.value,permission:T}),!1)}async function y(_,B){const D=await p("plan",{enabled:_,...B?{strategy:B}:{}});return D&&await l(),D}async function S(_){const B=await p("wolfpack",{enabled:_});return B&&await l(),B}async function k(_,B){const D=await p("rlm",{enabled:_,...B!==void 0?{maxDepth:B}:{}});return D&&await l(),D}async function w(_=1){return p("undo",{count:_})}async function b(_){return p("compact",_?{instruction:_}:{})}return e.postSessionAction=p,{fetchSessionStatus:l,fetchSessionUsage:u,fetchSessionContext:c,fetchSessionPlan:d,clearPlan:f,switchPermission:g,switchPlanMode:y,switchWolfpack:S,switchRlm:k,undoHistory:w,compact:b}}function Cy(e){const{s:t}=e;let n=0,s=0,o=0;function r(b){return b!==null&&Ei(t,b)}async function i(){const b=ft(t);if(!b)return;const _=++n;try{const B=await fetch(`${Ge}/sessions/${b.sessionId}/skills`);if(!r(b)||_!==n)return;if(!B.ok){t.skillsError.value=`技能列表加载失败(HTTP ${B.status})`;return}t.skills.value=await B.json(),t.skillsError.value=null}catch(B){if(!r(b)||_!==n)return;t.skillsError.value=`技能列表加载失败:${B instanceof Error?B.message:String(B)}`}}async function a(b,_){return e.postSessionAction(`skills/${encodeURIComponent(b)}/activate`,_?{args:_}:{})}async function l(b){const _=ft(t);if(!_)return!1;++n;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/skills/${encodeURIComponent(b)}`,{method:"DELETE"});return!r(_)||!B.ok?!1:(t.skills.value=t.skills.value.filter(D=>D.name!==b),!0)}catch{return!1}}async function u(){const b=ft(t);if(!b)return;const _=++s;try{const B=await fetch(`${Ge}/sessions/${b.sessionId}/plugins`);if(!r(b)||_!==s||!B.ok)return;t.plugins.value=await B.json()}catch{}}async function c(b){const _=ft(t);if(!_)return;const B=++o;try{const D=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/${encodeURIComponent(b)}`);if(!r(_)||B!==o||!D.ok)return;t.pluginInfo.value=await D.json()}catch{}}async function d(b){const _=ft(t);if(!_)return null;++s;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/install`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({source:b})});if(!r(_)||!B.ok)return null;const D=await B.json();return await u(),r(_)?D:null}catch{return null}}async function f(b,_){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/enable`,{enabled:_})}async function p(b,_,B){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/mcp/${encodeURIComponent(_)}/enable`,{enabled:B})}async function g(b){const _=ft(t);if(!_)return!1;++s;try{const B=await fetch(`${Ge}/sessions/${_.sessionId}/plugins/${encodeURIComponent(b)}`,{method:"DELETE"});return!r(_)||!B.ok?!1:(t.plugins.value=t.plugins.value.filter(D=>D.id!==b),!0)}catch{return!1}}async function y(){const b=ft(t);if(!b)return null;++s;try{const _=await fetch(`${Ge}/sessions/${b.sessionId}/plugins/reload`,{method:"POST"});if(!r(b)||!_.ok)return null;const B=await _.json();return await u(),r(b)?B:null}catch{return null}}async function S(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/activate`)}async function k(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/deactivate`)}async function w(b){return e.postSessionAction(`plugins/${encodeURIComponent(b)}/inject`)}return{fetchSkills:i,activateSkill:a,removeSkill:l,fetchPlugins:u,fetchPluginInfo:c,installPlugin:d,setPluginEnabled:f,setPluginMcpServerEnabled:p,removePlugin:g,reloadPlugins:y,activatePlugin:S,deactivatePlugin:k,injectPlugin:w}}function xy(e){const{s:t}=e;let n=0,s=0,o=0,r=0;function i(S){return S!==null&&Ei(t,S)}async function a(){const S=ft(t);if(!S)return;const k=++n;try{const w=await fetch(`${Ge}/sessions/${S.sessionId}/mcp`);if(!i(S)||k!==n||!w.ok)return;t.mcpServers.value=await w.json()}catch{}}async function l(){const S=ft(t);if(!S)return;const k=++s;try{const w=await fetch(`${Ge}/sessions/${S.sessionId}/mcp/startup-metrics`);if(!i(S)||k!==s||!w.ok)return;t.mcpStartupMetrics.value=await w.json()}catch{}}async function u(S,k){return e.postSessionAction("mcp/add",{name:S,config:k})}async function c(S){return e.postSessionAction(`mcp/${encodeURIComponent(S)}/reconnect`)}async function d(S){return e.postSessionAction(`mcp/${encodeURIComponent(S)}/stop`)}async function f(S){const k=ft(t);if(!k)return!1;try{const w=await fetch(`${Ge}/sessions/${k.sessionId}/mcp/${encodeURIComponent(S)}`,{method:"DELETE"});return!i(k)||!w.ok?!1:(t.mcpServers.value=t.mcpServers.value.filter(b=>b.name!==S),!0)}catch{return!1}}async function p(S,k){const w=ft(t);if(!w)return;const b=++o;try{const _=new URLSearchParams;S!==void 0&&_.set("activeOnly",String(S)),k!==void 0&&_.set("limit",String(k));const B=_.toString(),D=await fetch(`${Ge}/sessions/${w.sessionId}/tasks${B?`?${B}`:""}`);if(!i(w)||b!==o||!D.ok)return;t.backgroundTasks.value=await D.json()}catch{}}async function g(S,k){const w=ft(t);if(!w)return;const b=++r;try{const _=k!==void 0?`?tail=${k}`:"",B=await fetch(`${Ge}/sessions/${w.sessionId}/tasks/${encodeURIComponent(S)}/output${_}`);if(!i(w)||b!==r||!B.ok)return;const D=await B.json();t.backgroundTaskOutput.value=D.output}catch{}}async function y(S,k){return e.postSessionAction(`tasks/${encodeURIComponent(S)}/stop`,k?{reason:k}:{})}return{fetchMcpServers:a,fetchMcpStartupMetrics:l,addMcpServer:u,reconnectMcpServer:c,stopMcpServer:d,removeMcpServer:f,fetchBackgroundTasks:p,fetchBackgroundTaskOutput:g,stopBackgroundTask:y}}function Iy(e){const{s:t}=e;async function n(){try{const a=await fetch(`${Ge}/config`);if(!a.ok)return;t.config.value=await a.json()}catch{}}async function s(a){try{const l=await fetch(`${Ge}/config`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({patch:a})});return l.ok?(t.config.value=await l.json(),!0):!1}catch{return!1}}async function o(a){try{return(await fetch(`${Ge}/config/providers/${encodeURIComponent(a)}`,{method:"DELETE"})).ok?(await n(),!0):!1}catch{return!1}}async function r(){try{const a=await fetch(`${Ge}/experimental-flags`);if(!a.ok)return;t.experimentalFlags.value=await a.json()}catch{}}async function i(){try{if(!(await fetch(`${Ge}/preflight`)).ok)return;t.preflightOk.value=!0}catch{}}return{fetchConfig:n,setConfig:s,removeProvider:o,fetchExperimentalFlags:r,preflight:i}}function Ty(e){const{s:t}=e;return function(s){const o=t.wsHandlers.get(s.type);if(o!==void 0){o(s);return}t.wsUnknownFrames++,console.error(`[webClient] 收到未注册的 WS 帧类型 "${s.type}"(第 ${t.wsUnknownFrames} 次),该帧已被丢弃;请在对应域模块用 onWsMessage 注册处理器。`,s)}}function Ey(e){const{s:t,showToast:n}=e,s=Ty(e);function o(){const g=`${window.location.protocol==="https:"?"wss:":"ws:"}//${window.location.host}/api/v1/ws`;return t.currentSessionId.value?`${g}?sessionId=${encodeURIComponent(t.currentSessionId.value)}`:g}function r(p){t.connectionStatus.value=p}function i(p=8e3){if(t.connectionStatus.value==="connected")return Promise.resolve(!0);if(t.connectionStatus.value==="idle"||t.disposed)return Promise.resolve(!1);const g=t.sessionId.value;if(!g)return Promise.resolve(!1);const y=Number.isFinite(p)&&p>0?p:8e3;return new Promise(S=>{const k=Date.now(),w=window.setInterval(()=>{t.sessionId.value!==g?(window.clearInterval(w),S(!1)):t.connectionStatus.value==="connected"?(window.clearInterval(w),S(!0)):(t.connectionStatus.value==="idle"||t.disposed||Date.now()-k>=y)&&(window.clearInterval(w),S(!1))},50)})}function a(p){var g;((g=t.ws)==null?void 0:g.readyState)===WebSocket.OPEN&&t.ws.send(JSON.stringify(p))}function l(p){u();const g=Number.isFinite(p)&&p>=1e3&&p<=12e4?p:15e3;t.lastPongAt=Date.now(),t.heartbeatTimer=window.setInterval(()=>{var y;if(Date.now()-t.lastPongAt>Xv){(y=t.ws)==null||y.close();return}a({type:"ping"})},g)}function u(){t.heartbeatTimer!==null&&(clearInterval(t.heartbeatTimer),t.heartbeatTimer=null)}function c(){if(t.disposed||t.reconnectTimer!==null)return;if(t.reconnectAttempt>=pc){r("disconnected"),t.error.value=`连接失败:自动重试已达上限(${pc} 次),请手动重试`;return}r("reconnecting"),t.reconnectAttempt++;const p=Math.min(1e3*2**t.reconnectAttempt,3e4);t.reconnectTimer=window.setTimeout(()=>{t.reconnectTimer=null,f()},p)}function d(){if(!t.disposed){if(t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.ws!==null){try{t.ws.close()}catch{}t.ws=null}t.reconnectAttempt=0,f()}}function f(){if(t.disposed||t.ws&&(t.ws.readyState===WebSocket.CONNECTING||t.ws.readyState===WebSocket.OPEN))return;r("connecting"),t.error.value=null,e.resetGoalRequestState(),t.connectionGeneration++;const p=new WebSocket(o());t.ws=p,p.onclose=g=>{if(t.ws===p&&(t.ws=null,u(),t.connectionStatus.value!=="idle")){if(g.code===1008){t.sessionGeneration++,e.resetGoalRequestState(),t.sessionId.value=null,t.currentSessionId.value=null,t.sessionActive.value=!1,t.goal.value=null,t.todos.value=[],t.subagents.value=[],t.sessionPlan.value=null,t.skills.value=[],t.skillsError.value=null,t.plugins.value=[],t.pluginInfo.value=null,t.mcpServers.value=[],t.mcpStartupMetrics.value=null,t.backgroundTasks.value=[],t.backgroundTaskOutput.value="",t.pendingApprovals.value=[],t.status.value={busy:!1},t.gitStatus.value=null,t.workDir.value=null,t.messages.value=[],t.error.value=null,t.promptPending.value=!1,t.sentMessageIds.clear(),r("idle"),g.reason!=="unauthorized"&&(n("会话不可用或已被删除","warning"),e.fetchSessions());return}r("disconnected"),c()}},p.onerror=()=>{t.ws===p&&r("reconnecting")},p.onmessage=g=>{if(t.ws!==p)return;t.lastPongAt=Date.now();let y;try{y=JSON.parse(g.data)}catch{return}s(y)}}return Yt(t,"server_hello",p=>{t.sessionId.value=p.sessionId,t.workDir.value=p.workDir,t.currentSessionId.value=p.sessionId,t.sessionActive.value=p.active;const g=t.epoch;t.epoch=p.epoch,l(p.heartbeat_ms),a({type:"client_hello",lastSeq:t.seq,epoch:g}),g!==0&&g!==p.epoch&&(t.seq=0),r("connected"),t.reconnectAttempt=0,e.flushQueue();const y=t.sessionGeneration,S=t.connectionGeneration,k=()=>t.sessionId.value===p.sessionId&&t.currentSessionId.value===p.sessionId&&t.sessionGeneration===y&&t.connectionGeneration===S,w=()=>{k()&&(e.fetchSnapshot().finally(()=>{var b;k()&&((b=e.refreshSessionResources)==null||b.call(e))}),e.fetchSessions(),e.fetchGitStatus())};p.active?w():e.activateSession(p.sessionId).then(b=>{k()&&(b&&t.sessionId.value===p.sessionId&&(t.sessionActive.value=!0),w())})}),Yt(t,"server_empty",()=>{r("idle")}),Yt(t,"pong",()=>{}),e.connect=f,e.waitForConnected=i,e.send=a,e.stopHeartbeat=u,e.setConnectionStatus=r,{connect:f,waitForConnected:i,send:a,reconnectNow:d,stopHeartbeat:u}}function Ay(){const e=Qv(),t=e.s;ey(e);const n=yy(e),s=by(e),o=ky(e),r=wy(e),i=Sy(e),a=_y(e),l=$y(e),u=Cy(e),c=xy(e),d=Iy(e),f=Ey(e);e.refreshSessionResources=async()=>{t.sessionId.value&&await Promise.all([l.fetchSessionStatus(),l.fetchSessionUsage(),l.fetchSessionContext(),l.fetchSessionPlan(),u.fetchSkills(),u.fetchPlugins(),c.fetchMcpServers(),c.fetchMcpStartupMetrics(),c.fetchBackgroundTasks()])},f.connect(),r.fetchSessions(),i.fetchModels();const p=()=>{f.connect()},g=()=>{!document.hidden&&t.connectionStatus.value!=="connected"&&f.connect()};window.addEventListener("online",p),document.addEventListener("visibilitychange",g),st(()=>{t.disposed=!0,n.disposeStreaming(),window.removeEventListener("online",p),document.removeEventListener("visibilitychange",g),f.stopHeartbeat(),t.reconnectTimer!==null&&(clearTimeout(t.reconnectTimer),t.reconnectTimer=null),t.snapshotRetryTimer!==null&&(clearTimeout(t.snapshotRetryTimer),t.snapshotRetryTimer=null),t.ws&&(t.ws.onclose=null,t.ws.close(),t.ws=null)}),Se(t.skills,S=>dc(S),{immediate:!0});const y={connectionStatus:t.connectionStatus,waitForConnected:f.waitForConnected,messages:t.messages,pendingApprovals:t.pendingApprovals,status:t.status,goal:t.goal,todos:t.todos,goalRequestPending:t.goalRequestPending,goalRequestError:t.goalRequestError,error:t.error,sessionId:t.sessionId,workDir:t.workDir,isBusy:t.isBusy,isArchived:t.isArchived,sessions:t.sessions,currentSessionId:t.currentSessionId,gitStatus:t.gitStatus,models:t.models,modelsError:t.modelsError,like:t.like,fetchLike:i.fetchLike,updateLike:i.updateLike,sendPrompt:o.sendPrompt,sendCommand:o.sendCommand,clearMessages:o.clearMessages,appendSystemMessage:o.appendSystemMessage,abort:o.abort,resolveApproval:o.resolveApproval,fetchSessions:r.fetchSessions,fetchGitStatus:r.fetchGitStatus,fetchModels:i.fetchModels,reconnectNow:f.reconnectNow,olderAvailable:t.olderAvailable,oldestSeq:t.oldestSeq,loadOlderMessages:o.loadOlderMessages,switchModel:i.switchModel,switchThinking:i.switchThinking,refineGoal:a.refineGoal,createGoal:a.createGoal,updateGoal:a.updateGoal,pauseGoal:a.pauseGoal,resumeGoal:a.resumeGoal,cancelGoal:a.cancelGoal,createSession:r.createSession,switchSession:r.switchSession,deleteSession:r.deleteSession,exportSession:r.exportSession,fetchSnapshot:s.fetchSnapshot,fetchSessionStatus:l.fetchSessionStatus,fetchSessionUsage:l.fetchSessionUsage,fetchSessionContext:l.fetchSessionContext,fetchSessionPlan:l.fetchSessionPlan,sessionPlan:t.sessionPlan,clearPlan:l.clearPlan,switchPermission:l.switchPermission,switchPlanMode:l.switchPlanMode,switchWolfpack:l.switchWolfpack,switchRlm:l.switchRlm,undoHistory:l.undoHistory,compact:l.compact,skills:t.skills,skillsError:t.skillsError,fetchSkills:u.fetchSkills,activateSkill:u.activateSkill,removeSkill:u.removeSkill,plugins:t.plugins,pluginInfo:t.pluginInfo,fetchPlugins:u.fetchPlugins,fetchPluginInfo:u.fetchPluginInfo,installPlugin:u.installPlugin,setPluginEnabled:u.setPluginEnabled,setPluginMcpServerEnabled:u.setPluginMcpServerEnabled,removePlugin:u.removePlugin,reloadPlugins:u.reloadPlugins,activatePlugin:u.activatePlugin,deactivatePlugin:u.deactivatePlugin,injectPlugin:u.injectPlugin,mcpServers:t.mcpServers,mcpStartupMetrics:t.mcpStartupMetrics,fetchMcpServers:c.fetchMcpServers,fetchMcpStartupMetrics:c.fetchMcpStartupMetrics,addMcpServer:c.addMcpServer,reconnectMcpServer:c.reconnectMcpServer,stopMcpServer:c.stopMcpServer,removeMcpServer:c.removeMcpServer,backgroundTasks:t.backgroundTasks,backgroundTaskOutput:t.backgroundTaskOutput,subagents:t.subagents,fetchBackgroundTasks:c.fetchBackgroundTasks,fetchBackgroundTaskOutput:c.fetchBackgroundTaskOutput,stopBackgroundTask:c.stopBackgroundTask,config:t.config,fetchConfig:d.fetchConfig,setConfig:d.setConfig,removeProvider:d.removeProvider,experimentalFlags:t.experimentalFlags,fetchExperimentalFlags:d.fetchExperimentalFlags,preflightOk:t.preflightOk,preflight:d.preflight};return qv(y),st(()=>{Vv(y),dc([])}),y}const My=["compact","auto","ask","yes","bot","plan","fork","title","btw"];function bc(e){const t=(e==null?void 0:e.trim().toLowerCase())??"";return t.length===0?"toggle":t==="on"?!0:t==="off"?!1:null}function Ry(e){const t=(e==null?void 0:e.trim())??"";if(t.length===0)return 1;if(!/^[1-9]\d*$/.test(t))return null;const n=Number(t);return Number.isSafeInteger(n)?n:null}function Py(e){const t=(e==null?void 0:e.trim())??"";if(!/^\d+$/.test(t))return null;const n=Number(t);return Number.isSafeInteger(n)?n:null}function lh(e){const{showToast:t}=Qs();async function n(){var f;try{if(await((f=e.ensureSession)==null?void 0:f.call(e))===!1)return null}catch(p){return t(`无法创建会话:${p instanceof Error?p.message:String(p)}`,"error"),null}const d=Ha();return!d||!d.sessionId.value?(t("请先创建或打开一个会话。","warning"),null):d}async function s(d,f){try{await d()&&t(f,"success")}catch(p){t(`操作失败:${p instanceof Error?p.message:String(p)}`,"error")}}async function o(d){const f=bc(d);if(f===null){t("用法:/wolfpack [on|off]","warning");return}const p=await n();if(!p)return;const g=f==="toggle"?p.status.value.wolfpackMode!==!0:f;await s(()=>p.switchWolfpack(g),`Wolfpack 模式已${g?"开启":"关闭"}`)}async function r(d){const f=bc(d);if(f===null){t("用法:/rlm [on|off]","warning");return}const p=await n();if(!p)return;const g=f==="toggle"?p.status.value.rlmEnabled!==!0:f;await s(()=>p.switchRlm(g),`RLM 模式已${g?"开启":"关闭"}`)}async function i(d){const f=(d==null?void 0:d.trim())??"";if(f.length===0){const S=await n();if(!S)return;const k=S.status.value.rlmMaxDepth??null;e.appendSystemMessage(k===null?"RLM 最大深度:无限(默认)。":`RLM 最大深度:${k}。`);return}const p=Py(f);if(p===null){t("RLM 深度需为 0 或非负整数。","warning");return}const g=await n();if(!g)return;const y=g.status.value.rlmEnabled===!0;await s(()=>g.switchRlm(y,p),p===0?"RLM 递归深度已设为无限。":`RLM 最大深度已设为 ${p}。`)}async function a(d){const f=(d==null?void 0:d.trim().toLowerCase())??"";if(f!==""&&f!=="on"&&f!=="off"){t("用法:/fusionplan [on|off]","warning");return}const p=await n();if(!p)return;const g=p.status.value.planMode===!0&&p.status.value.planStrategy==="fusion",y=f==="off"?!1:f==="on"?!0:!g;await s(()=>p.switchPlanMode(y,y?"fusion":void 0),`融合计划模式已${y?"开启":"关闭"}`)}async function l(d){const f=Ry(d);if(f===null){t("用法:/revoke [正整数轮数]","warning");return}const p=await n();if(p){if(p.isBusy.value){t("当前回合正在运行,无法撤销。","error");return}try{if(!await p.undoHistory(f))return;await p.fetchSnapshot(),t(`已撤销最近 ${f} 轮。`,"success")}catch(g){t(`撤销失败:${g instanceof Error?g.message:String(g)}`,"error")}}}async function u(d,f){var S;if(await((S=e.ensureSession)==null?void 0:S.call(e))===!1)return;const g=e.onSkill??(async(k,w)=>{const b=Ha();return b?await b.activateSkill(k,w):!1});let y=!1;try{y=await g(d,f)}catch(k){y=!1,t(`技能激活失败:${k instanceof Error?k.message:String(k)}`,"error");return}y?t(`技能已激活:/${d}`,"success"):t(`技能激活失败:/${d}`,"error")}async function c(d,f){var p,g,y;if(My.includes(d)){if(await((p=e.ensureSession)==null?void 0:p.call(e))===!1)return;e.sendCommand(d,f)}else d==="wolfpack"?await o(f):d==="rlm"?await r(f):d==="rlm-max-depth"?await i(f):d==="fusionplan"?await a(f):d==="revoke"?await l(f):d==="clear"?e.clearMessages():d==="new"?e.onNew():d==="help"?e.appendSystemMessage(Wv()):d==="model"?(g=e.openModelPicker)!=null&&g.call(e)||e.appendSystemMessage(`当前模型:${((y=e.currentModel)==null?void 0:y.call(e))??"unknown"}`):d==="status"||d==="usage"?e.showInfo?e.showInfo(d):e.appendSystemMessage("请在对话页查看会话详情"):Hv(d)?await u(d,f):t(`未知命令:/${d}`,"error")}return{onCommand:c}}const Ly=640,Dy=1024,Fl=768,kc=264,Vr=420,Ny=288,wc=56,Wa=300,uh=.7,Oy=320,ch=400;function ss(e,t,n){const s=Number.isFinite(e)?e:t,o=Math.max(t,n);return Math.round(Math.max(t,Math.min(o,s)))}function Gy(e){return ss(e*.45,Wa,Math.round(e*uh))}function By(e){const{viewportWidth:t,rightPanelOpen:n,rightPanelWidth:s}=e;if(t<=Ly)return Vr;const o=t<Fl,r=o?Oy:ch,i=!o&&n?s:0;return Math.min(Vr,t-r-i)}function Fy(e){const{viewportWidth:t,sidebarOpen:n,sidebarWidth:s}=e,o=Math.round(t*uh);if(t<Fl)return o;const r=n?s:0;return Math.min(o,t-ch-r)}function Kr(e){try{return localStorage.getItem(e)??void 0}catch{return}}function Zr(e,t){try{localStorage.setItem(e,t)}catch{}}function Uy(e){try{const t=localStorage.getItem(e);return t===null?void 0:JSON.parse(t)}catch{return}}function jy(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}function Sc(e){const{storageKey:t,minWidth:n,side:s}=e,o=b=>typeof b=="function"?b():b,r=()=>o(e.maxWidth);function i(){var _;const b=Uy(t);return typeof b=="number"&&Number.isFinite(b)&&b>=n&&(((_=e.acceptStoredWidth)==null?void 0:_.call(e,b))??!0)?Math.round(b):o(e.defaultWidth)}const a=O(i()),l=O(!1);let u=null;function c(){jy(t,a.value)}function d(b){return s==="left"?b:window.innerWidth-b}function f(b){if(!(e.canDrag&&!e.canDrag())){b.preventDefault(),l.value=!0,u=b.pointerId;try{b.currentTarget.setPointerCapture(b.pointerId)}catch{}}}function p(b){!l.value||b.pointerId!==u||(a.value=ss(d(b.clientX),n,r()))}function g(b){!l.value||b.pointerId!==u||y()}function y(){l.value=!1,u=null,c()}function S(){a.value=ss(o(e.defaultWidth),n,r()),c()}function k(b){const _=b.shiftKey?32:12,B=s==="left"?1:-1;if(b.key==="ArrowLeft")b.preventDefault(),a.value=ss(a.value-B*_,n,r());else if(b.key==="ArrowRight")b.preventDefault(),a.value=ss(a.value+B*_,n,r());else if(b.key==="Home")b.preventDefault(),a.value=n;else if(b.key==="End")b.preventDefault(),a.value=ss(r(),n,r());else if(b.key==="Enter")b.preventDefault(),S();else return;c()}const w=G(()=>ss(a.value,n,r()));return{width:a,effectiveWidth:w,resizing:l,onPointerDown:f,onPointerMove:p,onPointerUp:g,onKeydown:k,reset:S,release:y}}const Ul=new Map;function Pn(e){return Ul.set(e.kind,e),e}function dh(e){const t=Ul.get(e);if(!t)throw new Error(`unregistered dock tab kind: ${e}`);return t}function zy(e){return typeof e=="string"&&Ul.has(e)}Pn({kind:"file",label:"文件",icon:"file",singleton:!1});Pn({kind:"detail",label:"会话详情",icon:"layers",singleton:!0});Pn({kind:"control",label:"会话控制",icon:"wrench",singleton:!0});Pn({kind:"agents",label:"协作代理",icon:"bot",singleton:!0});Pn({kind:"run",label:"运行状态",icon:"activity",singleton:!0});Pn({kind:"git",label:"Git",icon:"git-branch",singleton:!0});Pn({kind:"todo",label:"Todo",icon:"clipboard",singleton:!0});Pn({kind:"goal",label:"目标",icon:"target",singleton:!0});Pn({kind:"like",label:"偏好",icon:"user",singleton:!0});function fh(e){return`dock:${e}`}function Yr(e){return`dock-tab-${encodeURIComponent(e)}`}function qa(e){return`dock-panel-${encodeURIComponent(e)}`}function Hy(e,t){return(e==null?void 0:e.displayMode)??t??"source"}function Wy(e,t){const n=e.find(r=>r.id===t.tabId);if(!n)return[...e,{id:t.tabId,kind:"file",label:t.fileName,filePath:t.filePath,sourceSessionId:t.sourceSessionId,initialDisplayMode:t.modeHint,viewerState:t.modeHint?{displayMode:t.modeHint,wrapLines:!1,scrollTop:0,scrollLeft:0}:void 0,viewerRevision:0}];if(n.kind!=="file")return e;const s=!!(t.sourceSessionId&&n.sourceSessionId!==t.sourceSessionId);return!s&&!t.modeHint?e:e.map(r=>{var a;if(r.id!==t.tabId||r.kind!=="file")return r;const i={...r};return s&&(i.sourceSessionId=t.sourceSessionId),t.modeHint?(i.initialDisplayMode=t.modeHint,i.viewerState={displayMode:t.modeHint,wrapLines:((a=r.viewerState)==null?void 0:a.wrapLines)??!1,scrollTop:0,scrollLeft:0},i.viewerRevision=(r.viewerRevision??0)+1):s&&(i.viewerRevision=(r.viewerRevision??0)+1),i})}function qy(e,t){const n=fh(t);return e.some(s=>s.id===n)?e:[...e,{id:n,kind:t,label:dh(t).label}]}function Vy(e,t,n,s){const o=e.findIndex(a=>a.id===t&&a.kind==="file");if(o===-1)return e;const r=e[o];if((r.viewerRevision??0)!==n)return e;const i=[...e];return i[o]={...r,viewerState:s},i}const hh="scream-file-tabs";function Ky(){try{const e=localStorage.getItem(hh);return e?JSON.parse(e):{}}catch{return{}}}function Zo(e){try{localStorage.setItem(hh,JSON.stringify(e))}catch{}}function Zy(e){return typeof e.id!="string"||typeof e.label!="string"?null:e.kind===void 0?typeof e.filePath=="string"?{...e,kind:"file"}:null:zy(e.kind)?e.kind==="file"?typeof e.filePath!="string"?null:e:{id:e.id,kind:e.kind,label:e.label}:null}const Go=Ky(),sa=(Array.isArray(Go.tabs)?Go.tabs:[]).map(e=>Zy(e)).filter(e=>e!==null),_c=typeof Go.activeTabId=="string"?Go.activeTabId:null;var Od;const we=Wn({tabs:sa,activeTabId:sa.some(e=>e.id===_c)?_c:((Od=sa.at(-1))==null?void 0:Od.id)??null,panelOpen:Go.panelOpen===!0});function Yy(){var e;if(we.tabs.length===0){we.activeTabId=null;return}we.tabs.some(t=>t.id===we.activeTabId)||(we.activeTabId=((e=we.tabs.at(-1))==null?void 0:e.id)??null)}function vs(e,t={}){const n=e.split("/").pop()||e,s=e;return we.tabs=Wy(we.tabs,{fileName:t.label??n,filePath:e,modeHint:t.modeHint,sourceSessionId:t.sessionId??null,tabId:s}),we.activeTabId=s,we.panelOpen=!0,Zo(we),s}function Sr(e){const t=fh(e);return we.tabs=qy(we.tabs,e),we.activeTabId=t,we.panelOpen=!0,Zo(we),t}function Xy(e){we.tabs.some(t=>t.id===e)&&(we.activeTabId=e,Zo(we))}function Jy(e){const t=we.tabs.findIndex(n=>n.id===e);if(t!==-1){if(we.tabs=we.tabs.filter(n=>n.id!==e),we.activeTabId===e){const n=we.tabs[t]??we.tabs[t-1]??null;we.activeTabId=n?n.id:null}we.tabs.length===0&&(we.panelOpen=!1,we.activeTabId=null),Zo(we)}}function jl(e){we.panelOpen=e,e&&Yy(),Zo(we)}function Qy(){jl(!we.panelOpen)}const Va=()=>we.tabs.find(e=>e.id===we.activeTabId),eb=()=>{const e=Va();return e&&e.kind==="file"?e:void 0},Ai=O(!1);let Xr=0;function tb(){Xr++}function nb(){Xr=Math.max(0,Xr-1)}function sb(){return Xr>0}function ph(){return sb()?(Ai.value=!0,!0):!1}function ob(){Ai.value=!0}function Jr(){Ai.value=!1}function gh(){return{open:Ai,openSettingsModal:ob,closeSettingsModal:Jr,tryOpenSettingsModal:ph}}const mh="scream-workspace-preference",Mi=O(Kr(mh)||null),zl=O(null);let co=null;function rb(e){Mi.value=e,Zr(mh,e??"")}async function ib(){return co||(co=(async()=>{try{const e=await fetch(`${Ge}/workdir`);if(!e.ok)return;const t=await e.json();typeof t.workDir=="string"&&t.workDir&&(zl.value=t.workDir)}catch{}finally{co=null}})(),co)}const ab=G(()=>Mi.value??zl.value??""),lb=G(()=>!!Mi.value);function Hl(){return{preferredWorkDir:Mi,serverWorkDir:zl,displayWorkDir:ab,hasPreference:lb,setPreferredWorkDir:rb,fetchServerWorkDir:ib}}function Ka(e){const t=e.replace(/[\\/]+$/,"");return t.split(/[\\/]/).filter(Boolean).at(-1)??t??e}const ub=["type","disabled"],cb=Ie({__name:"Button",props:{variant:{default:"primary"},size:{default:"md"},disabled:{type:Boolean},type:{default:"button"}},setup(e){return(t,n)=>(m(),v("button",{class:ue(["ui-btn",[`ui-btn--${e.variant}`,`ui-btn--${e.size}`]]),type:e.type,disabled:e.disabled},[Co(t.$slots,"default",{},void 0)],10,ub))}}),Te=(e,t)=>{const n=e.__vccOpts||e;for(const[s,o]of t)n[s]=o;return n},Ht=Te(cb,[["__scopeId","data-v-293d37e0"]]),db={key:0,class:"approval-card"},fb={class:"approval-header"},hb={class:"approval-title"},pb={class:"tool-name"},gb={class:"action-summary"},mb={key:0,class:"approval-count"},vb={class:"approval-action"},yb={key:0,class:"feedback-area"},bb={class:"approval-buttons"},kb={key:0,class:"busy-indicator","aria-label":"处理中"},wb=Ie({__name:"ApprovalCard",props:{approvals:{}},emits:["resolve"],setup(e,{emit:t}){const n=e,s=t,o=O(!1),r=O(!1),i=O(""),a=O(new Set),l=G(()=>n.approvals[0]);Se(()=>n.approvals.map(g=>g.id).join(","),()=>{r.value=!1,i.value="";const g=new Set(n.approvals.map(y=>y.id));a.value=new Set([...a.value].filter(y=>g.has(y)))});function u(g){return typeof g.display=="string"?g.display:g.display&&typeof g.display=="object"&&"description"in g.display?String(g.display.description??""):g.action??"执行该操作"}function c(g){return a.value.has(g)}function d(g,y,S){const k=l.value;!k||c(k.id)||(a.value=new Set([...a.value,k.id]),s("resolve",k.id,g,y,S))}function f(){const g=i.value.trim();g&&d("rejected",g)}function p(g){if(!l.value||o.value)return;const S=g.target;if(S&&(S.tagName==="TEXTAREA"||S.tagName==="INPUT")){r.value&&g.key==="Enter"&&!g.shiftKey&&(g.preventDefault(),f());return}switch(g.key){case"1":g.preventDefault(),d("approved",void 0,"once");break;case"2":g.preventDefault(),d("approved",void 0,"session");break;case"3":g.preventDefault(),d("rejected");break;case"4":g.preventDefault(),r.value=!r.value;break}}return et(()=>window.addEventListener("keydown",p)),st(()=>window.removeEventListener("keydown",p)),(g,y)=>e.approvals.length?(m(),v("div",db,[o.value?(m(),v("button",{key:0,class:"approval-minibar",onClick:y[0]||(y[0]=S=>o.value=!1)}," ⚠ "+C(e.approvals.length)+" 个待审批请求 — 点击展开 ",1)):l.value?(m(),v(ne,{key:1},[h("div",fb,[y[7]||(y[7]=h("span",{class:"approval-icon"},"⚠",-1)),h("span",hb,[h("span",pb,C(l.value.toolName),1),h("span",gb,C(u(l.value)),1)]),e.approvals.length>1?(m(),v("span",mb,"+"+C(e.approvals.length-1),1)):U("",!0),h("button",{class:"icon-btn",title:"最小化","aria-label":"最小化",onClick:y[1]||(y[1]=S=>o.value=!0)},"—")]),h("pre",vb,C(u(l.value)),1),r.value?(m(),v("div",yb,[Ze(h("textarea",{"onUpdate:modelValue":y[2]||(y[2]=S=>i.value=S),class:"feedback-input",rows:"2",name:"approval-feedback","aria-label":"拒绝反馈",placeholder:"输入反馈,Enter 提交(将作为拒绝原因反馈给 Agent)"},null,512),[[it,i.value]])])):U("",!0),h("div",bb,[X(Ht,{variant:"primary",disabled:c(l.value.id),onClick:y[3]||(y[3]=S=>d("approved",void 0,"once"))},{default:ot(()=>[...y[8]||(y[8]=[h("kbd",null,"1",-1),Ae(" 批准 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"secondary",disabled:c(l.value.id),onClick:y[4]||(y[4]=S=>d("approved",void 0,"session"))},{default:ot(()=>[...y[9]||(y[9]=[h("kbd",null,"2",-1),Ae(" 会话批准 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"danger",disabled:c(l.value.id),onClick:y[5]||(y[5]=S=>d("rejected"))},{default:ot(()=>[...y[10]||(y[10]=[h("kbd",null,"3",-1),Ae(" 拒绝 ",-1)])]),_:1},8,["disabled"]),X(Ht,{variant:"secondary",class:ue({"feedback-active":r.value}),disabled:c(l.value.id),onClick:y[6]||(y[6]=S=>r.value=!r.value)},{default:ot(()=>[...y[11]||(y[11]=[h("kbd",null,"4",-1),Ae(" 反馈 ",-1)])]),_:1},8,["class","disabled"]),c(l.value.id)?(m(),v("span",kb,[...y[12]||(y[12]=[h("span",{class:"spinner"},null,-1),Ae(" 处理中… ",-1)])])):U("",!0)])],64)):U("",!0)])):U("",!0)}}),Sb=Te(wb,[["__scopeId","data-v-137fa416"]]);function _b(e){const t=/(?:^|\s)@"([^"\n]*)$/.exec(e);if(t)return{start:e.length-(t[1].length+2),query:t[1],quoted:!0};const n=/(?:^|\s)@([^\s"]*)$/.exec(e);return n?{start:e.length-(n[1].length+1),query:n[1],quoted:!1}:null}function $c(e){let t=0;for(let n=0;n<e.length;n++)e[n]==="/"&&t++;return t}function Cc(e,t){if(!e)return!0;let n=0;for(let s=0;s<t.length&&n<e.length;s++)t[s]===e[n]&&n++;return n===e.length}function $b(e,t){const n=e.path.toLowerCase();let s=0;if(t.includes("/"))n===t?s=100:n.startsWith(t)?s=80:n.includes(t)?s=50:Cc(t,n)&&(s=10);else{const o=n.lastIndexOf("/"),r=o===-1?n:n.slice(o+1);r===t?s=100:r.startsWith(t)?s=80:r.includes(t)?s=50:n.includes(t)?s=30:Cc(t,n)&&(s=10)}return e.isDir&&s>0&&(s+=10),s}const Cb=20;function vh(e,t,n=Cb){const s=t.toLowerCase();if(!s)return e.slice(0,n);const o=[];for(const r of e){const i=$b(r,s);i>0&&o.push({entry:r,score:i})}return o.sort((r,i)=>i.score-r.score||$c(r.entry.path)-$c(i.entry.path)||r.entry.path.localeCompare(i.entry.path)),o.slice(0,n).map(r=>r.entry)}function xb(e,t){const n=t?`${e}/`:e,s=n.includes(" ");if(t){const r=s?`@"${n}"`:`@${n}`;return{text:r,cursorOffset:s?r.length-1:r.length}}const o=s?`@"${n}" `:`@${n} `;return{text:o,cursorOffset:o.length}}const Ib="/api/v1/files",Tb=3e4,Eb=200,os=new Map,_r=new Map;async function Wl(e){const t=os.get(e);if(t){if(Date.now()-t.at<Tb)return t.entries;os.delete(e)}const n=_r.get(e);if(n)return n;const s=(async()=>{try{const o=await fetch(`${Ib}/list?path=${encodeURIComponent(e)}`);if(!o.ok)return null;const r=await o.json();if(r.entries)for(os.set(e,{entries:r.entries,at:Date.now()});os.size>Eb;){const i=os.keys().next().value;if(i===void 0)break;os.delete(i)}return r.entries??null}catch{return null}finally{_r.delete(e)}})();return _r.set(e,s),s}function Ab(e){os.delete(e),_r.delete(e)}function Mb(e,t){const n=e.replace(/\/+$/,""),s=n.split("/").filter(Boolean),o=[...s];for(const i of t.split("/"))if(!(!i||i===".")){if(i===".."){if(o.length<=s.length)return null;o.pop();continue}o.push(i)}const r=`/${o.join("/")}`;return r===n||r.startsWith(`${n}/`)?r:null}function Rb(e,t,n){const s=O(null),o=O([]),r=O(!1),i=O(!1),a=O(0),l=O(!1),u=O(null),c=O("");let d=null;function f(){d||(d=(async()=>{var A;try{const T=await fetch("/api/v1/files/root"),Z=T.ok?await T.json():{};c.value=((A=Z.roots)==null?void 0:A[0])??""}catch{c.value=""}b()})())}const p=G(()=>{const A=u.value;if(!A)return[];const T=A.query.lastIndexOf("/"),Z=A.query.slice(T+1);return vh(o.value,Z)}),g=G(()=>u.value!==null&&!l.value&&(r.value||p.value.length>0));function y(A){const T=A.lastIndexOf("/");return T===-1?{dirRel:"",tail:A}:{dirRel:A.slice(0,T),tail:A.slice(T+1)}}let S=!1,k=0;async function w(A,T){const Z=++k;r.value=!0;try{const W=await Wl(A);if(W===null)throw new Error("listing failed");if(Z!==k)return;const j=T?`${T.replace(/\/+$/,"")}/`:"";o.value=W.map(te=>({path:`${j}${te.name}`,isDir:te.type==="dir"})),i.value=!1}catch{if(Z!==k)return;o.value=[],i.value=!0,s.value=null}finally{Z===k&&(r.value=!1)}}function b(){var M;if(S)return;const A=t.value;if(A&&A.value!==e.value){u.value=null;return}let T=(M=n.value)==null?void 0:M.trim();if(T||(f(),T=c.value),!A||!T){u.value=null;return}const Z=A.selectionStart??A.value.length,W=_b(A.value.slice(0,Z));if(!W){u.value=null,l.value=!1;return}const j=u.value;(!j||j.start!==W.start||j.query!==W.query)&&(l.value=!1),u.value=W,a.value=0;const{dirRel:te}=y(W.query),I=Mb(T,te);if(I===null){s.value=null,o.value=[],i.value=!0;return}s.value!==I&&(s.value=I,w(I,te))}function _(A){const T=p.value.length;T>0&&(a.value=(a.value+A+T)%T)}function B(A){const T=u.value,Z=A??p.value[a.value];if(!T||!Z)return!1;const W=t.value;if(!W)return!1;const j=W.selectionStart??W.value.length,te=xb(Z.path,Z.isDir),I=e.value.slice(0,T.start),M=e.value.slice(j);e.value=I+te.text+M,S=!0;const V=()=>{const ie=T.start+te.cursorOffset;W.focus(),W.setSelectionRange(ie,ie),S=!1,b()};return typeof requestAnimationFrame=="function"?requestAnimationFrame(V):Promise.resolve().then(V),!0}function D(){l.value=!0}function E(){u.value=null,l.value=!1,a.value=0}return{visible:g,suggestions:p,index:a,dirLoading:r,dirMissing:i,refresh:b,move:_,confirm:B,dismiss:D,reset:E}}const yh=50;function Pb(e,t=yh){const n=new Set,s=[];for(let o=e.length-1;o>=0&&s.length<t;o-=1){const r=e[o];if(!r||r.role!=="user"||r.local)continue;const i=(r.content??"").trim();!i||n.has(i)||(n.add(i),s.push(i))}return s}function Lb(e,t,n=yh){const s=new Set,o=[],r=i=>{const a=i.trim();!a||s.has(a)||(s.add(a),o.push(a))};for(const i of t)r(i);for(let i=e.length-1;i>=0;i-=1){const a=e[i];a!==void 0&&r(a)}return o.slice(0,n).toReversed()}function Za(e,t){return[{title:t,entries:e}]}function Db(){if(typeof navigator>"u")return"Ctrl";const e=`${navigator.platform??""} ${navigator.userAgent??""}`;return/Mac|iPhone|iPad|iPod/.test(e)?"⌘":"Ctrl"}const $r=Db(),Nb=["width","height"],Ob={key:0,d:"M4 7h16M4 12h16M4 17h16"},Gb={key:1,d:"M12 5v14M5 12h14"},Bb={key:5,d:"M4 6h16M7 12h10M10 18h4"},Fb={key:6,d:"M12 3v12m0 0 4-4m-4 4-4-4M5 20h14"},Ub={key:7,d:"M4 7h16M9 7V4h6v3m3 0-1 13H7L6 7m4 4v5m4-5v5"},jb={key:8,d:"M3 12h4l2-7 4 14 2-7h6"},zb={key:10,d:"m15 18-6-6 6-6"},Hb={key:11,d:"m9 18 6-6-6-6"},Wb={key:12,d:"m6 9 6 6 6-6"},qb={key:16,d:"M20 15.5A8.5 8.5 0 0 1 8.5 4 8.5 8.5 0 1 0 20 15.5Z"},Vb={key:18,d:"M5 9a11 11 0 0 1 14 0M8.5 12.5a6 6 0 0 1 7 0M12 17h.01"},Kb={key:19,d:"M12 20h9M16.5 3.5a2.1 2.1 0 0 1 3 3L8 18l-4 1 1-4Z"},Zb={key:20,d:"M12 16V4m0 0-4 4m4-4 4 4M5 20h14"},Yb={key:21,d:"m15 4 5 5M17.5 6.5 10 14m-2-2 4 4-3 4H3l1-6Z"},Xb={key:22,d:"M9 6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3Z"},Jb={key:24,d:"m22 2-7 20-4-9-9-4ZM22 2 11 13"},Qb={key:25,x:"6",y:"6",width:"12",height:"12",rx:"2"},ek={key:26,d:"m8 3 4 4 4-4M8 21l4-4 4 4M12 7v10"},tk={key:27,d:"M9.5 4.5A3 3 0 0 0 5 7a3 3 0 0 0 .5 5.5A3 3 0 0 0 9 17v2a2 2 0 0 0 4 0V5a2.5 2.5 0 0 0-3.5-.5ZM13 6a3 3 0 0 1 5 2 3 3 0 0 1 .5 5.5A3 3 0 0 1 15 18"},nk={key:30,d:"M21 12a8 8 0 0 1-9 8 9 9 0 0 1-4-.9L3 21l1.7-4A9 9 0 1 1 21 12Z"},sk={key:31,d:"M20 13 13 20l-9-9V4h7ZM8.5 8.5h.01"},ok={key:32,d:"m12 3 1.3 3.7L17 8l-3.7 1.3L12 13l-1.3-3.7L7 8l3.7-1.3ZM5 15l.8 2.2L8 18l-2.2.8L5 21l-.8-2.2L2 18l2.2-.8ZM19 14l.7 1.8 1.8.7-1.8.7L19 19l-.7-1.8-1.8-.7 1.8-.7Z"},rk={key:34,d:"M3 6h7l2 2h9v11H3Z"},ik={key:35,d:"m5 12 4 4L19 6"},ak={key:39,d:"M21 12a9 9 0 1 1-2.6-6.4M21 3v6h-6"},lk={key:46,d:"M14.7 6.3a4 4 0 0 0-5.4 5.4L3 18l3 3 6.3-6.3a4 4 0 0 0 5.4-5.4l-2.5 2.5-3-3Z"},uk={key:47,d:"M12 19V5m0 0-6 6m6-6 6 6"},ck={key:48,d:"M18 6 6 18M6 6l12 12"},dk={key:51,d:"M9 4H4v5M15 4h5v5M9 20H4v-5M15 20h5v-5"},fk={key:52,d:"M4 9h5V4M20 9h-5V4M4 15h5v5M20 15h-5v5"},hk={key:56,d:"M4 20V10M10 20V4M16 20v-7M21 20H3"},pk=Ie({__name:"SvgIcon",props:{name:{},size:{default:20}},setup(e){return(t,n)=>(m(),v("svg",{class:"svg-icon",width:e.size,height:e.size,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1.8","stroke-linecap":"round","stroke-linejoin":"round","aria-hidden":"true"},[e.name==="menu"?(m(),v("path",Ob)):e.name==="plus"?(m(),v("path",Gb)):e.name==="panel-left"?(m(),v(ne,{key:2},[n[0]||(n[0]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[1]||(n[1]=h("path",{d:"M9 4v16"},null,-1))],64)):e.name==="panel-right"?(m(),v(ne,{key:3},[n[2]||(n[2]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[3]||(n[3]=h("path",{d:"M15 4v16"},null,-1))],64)):e.name==="search"?(m(),v(ne,{key:4},[n[4]||(n[4]=h("circle",{cx:"11",cy:"11",r:"7"},null,-1)),n[5]||(n[5]=h("path",{d:"m20 20-4-4"},null,-1))],64)):e.name==="filter"?(m(),v("path",Bb)):e.name==="download"?(m(),v("path",Fb)):e.name==="trash"?(m(),v("path",Ub)):e.name==="activity"?(m(),v("path",jb)):e.name==="help"?(m(),v(ne,{key:9},[n[6]||(n[6]=h("circle",{cx:"12",cy:"12",r:"9"},null,-1)),n[7]||(n[7]=h("path",{d:"M9.7 9a2.5 2.5 0 1 1 3.5 2.3c-.8.4-1.2 1-1.2 1.7M12 17h.01"},null,-1))],64)):e.name==="chevron-left"?(m(),v("path",zb)):e.name==="chevron-right"?(m(),v("path",Hb)):e.name==="chevron-down"?(m(),v("path",Wb)):e.name==="bot"?(m(),v(ne,{key:13},[n[8]||(n[8]=h("rect",{x:"4",y:"7",width:"16",height:"12",rx:"3"},null,-1)),n[9]||(n[9]=h("path",{d:"M12 3v4M8 12h.01M16 12h.01M9 16h6"},null,-1))],64)):e.name==="git-branch"?(m(),v(ne,{key:14},[n[10]||(n[10]=h("circle",{cx:"6",cy:"5",r:"2"},null,-1)),n[11]||(n[11]=h("circle",{cx:"18",cy:"7",r:"2"},null,-1)),n[12]||(n[12]=h("circle",{cx:"6",cy:"19",r:"2"},null,-1)),n[13]||(n[13]=h("path",{d:"M6 7v10M8 10c5 0 3-3 8-3"},null,-1))],64)):e.name==="sun"?(m(),v(ne,{key:15},[n[14]||(n[14]=h("circle",{cx:"12",cy:"12",r:"4"},null,-1)),n[15]||(n[15]=h("path",{d:"M12 2v2M12 20v2M4.93 4.93l1.42 1.42m11.3 11.3 1.42 1.42M2 12h2m16 0h2M4.93 19.07l1.42-1.42m11.3-11.3 1.42-1.42"},null,-1))],64)):e.name==="moon"?(m(),v("path",qb)):e.name==="monitor"?(m(),v(ne,{key:17},[n[16]||(n[16]=h("rect",{x:"3",y:"4",width:"18",height:"13",rx:"2"},null,-1)),n[17]||(n[17]=h("path",{d:"M8 21h8M12 17v4"},null,-1))],64)):e.name==="wifi"?(m(),v("path",Vb)):e.name==="edit"?(m(),v("path",Kb)):e.name==="upload"?(m(),v("path",Zb)):e.name==="broom"?(m(),v("path",Yb)):e.name==="command"?(m(),v("path",Xb)):e.name==="at"?(m(),v(ne,{key:23},[n[18]||(n[18]=h("circle",{cx:"12",cy:"12",r:"4"},null,-1)),n[19]||(n[19]=h("path",{d:"M16 12v1.5a2.5 2.5 0 0 0 5 0V12a9 9 0 1 0-3.5 7"},null,-1))],64)):e.name==="send"?(m(),v("path",Jb)):e.name==="stop"?(m(),v("rect",Qb)):e.name==="compact"?(m(),v("path",ek)):e.name==="brain"?(m(),v("path",tk)):e.name==="clipboard"?(m(),v(ne,{key:28},[n[20]||(n[20]=h("rect",{x:"5",y:"4",width:"14",height:"17",rx:"2"},null,-1)),n[21]||(n[21]=h("path",{d:"M9 4V2h6v2M9 10h6M9 14h6"},null,-1))],64)):e.name==="fork"?(m(),v(ne,{key:29},[n[22]||(n[22]=h("circle",{cx:"6",cy:"4",r:"2"},null,-1)),n[23]||(n[23]=h("circle",{cx:"18",cy:"6",r:"2"},null,-1)),n[24]||(n[24]=h("circle",{cx:"6",cy:"20",r:"2"},null,-1)),n[25]||(n[25]=h("path",{d:"M6 6v12M8 10c6 0 4-4 8-4"},null,-1))],64)):e.name==="message-circle"?(m(),v("path",nk)):e.name==="tag"?(m(),v("path",sk)):e.name==="sparkles"?(m(),v("path",ok)):e.name==="terminal"?(m(),v(ne,{key:33},[n[26]||(n[26]=h("rect",{x:"3",y:"4",width:"18",height:"16",rx:"2"},null,-1)),n[27]||(n[27]=h("path",{d:"m7 9 3 3-3 3m5 0h5"},null,-1))],64)):e.name==="folder"?(m(),v("path",rk)):e.name==="check"?(m(),v("path",ik)):e.name==="speaker"?(m(),v(ne,{key:36},[n[28]||(n[28]=h("path",{d:"M11 5 6 9H3v6h3l5 4V5z"},null,-1)),n[29]||(n[29]=h("path",{d:"M15.5 8.5a5 5 0 0 1 0 7"},null,-1)),n[30]||(n[30]=h("path",{d:"M18 6a8.5 8.5 0 0 1 0 12"},null,-1))],64)):e.name==="speaker-off"?(m(),v(ne,{key:37},[n[31]||(n[31]=h("path",{d:"M11 5 6 9H3v6h3l5 4V5z"},null,-1)),n[32]||(n[32]=h("path",{d:"m16 9 5 6M21 9l-5 6"},null,-1))],64)):e.name==="copy"?(m(),v(ne,{key:38},[n[33]||(n[33]=h("rect",{x:"8",y:"8",width:"12",height:"12",rx:"2"},null,-1)),n[34]||(n[34]=h("path",{d:"M16 8V4H4v12h4"},null,-1))],64)):e.name==="refresh"?(m(),v("path",ak)):e.name==="target"?(m(),v(ne,{key:40},[n[35]||(n[35]=h("circle",{cx:"12",cy:"12",r:"9"},null,-1)),n[36]||(n[36]=h("circle",{cx:"12",cy:"12",r:"5"},null,-1)),n[37]||(n[37]=h("circle",{cx:"12",cy:"12",r:"1"},null,-1))],64)):e.name==="settings"?(m(),v(ne,{key:41},[n[38]||(n[38]=h("circle",{cx:"12",cy:"12",r:"3"},null,-1)),n[39]||(n[39]=h("path",{d:"M19.4 15a1.7 1.7 0 0 0 .34 1.87l.06.06a2 2 0 1 1-2.83 2.83l-.06-.06a1.7 1.7 0 0 0-1.87-.34 1.7 1.7 0 0 0-1 1.55V21a2 2 0 1 1-4 0v-.09a1.7 1.7 0 0 0-1-1.55 1.7 1.7 0 0 0-1.87.34l-.06.06a2 2 0 1 1-2.83-2.83l.06-.06a1.7 1.7 0 0 0 .34-1.87 1.7 1.7 0 0 0-1.55-1H3a2 2 0 1 1 0-4h.09a1.7 1.7 0 0 0 1.55-1 1.7 1.7 0 0 0-.34-1.87l-.06-.06a2 2 0 1 1 2.83-2.83l.06.06a1.7 1.7 0 0 0 1.87.34h.09a1.7 1.7 0 0 0 1-1.55V3a2 2 0 1 1 4 0v.09a1.7 1.7 0 0 0 1 1.55 1.7 1.7 0 0 0 1.87-.34l.06-.06a2 2 0 1 1 2.83 2.83l-.06.06a1.7 1.7 0 0 0-.34 1.87v.09a1.7 1.7 0 0 0 1.55 1H21a2 2 0 1 1 0 4h-.09a1.7 1.7 0 0 0-1.55 1Z"},null,-1))],64)):e.name==="home"?(m(),v(ne,{key:42},[n[40]||(n[40]=h("path",{d:"M3 10.5 12 3l9 7.5"},null,-1)),n[41]||(n[41]=h("path",{d:"M5 9.5V21h14V9.5"},null,-1))],64)):e.name==="bell"?(m(),v(ne,{key:43},[n[42]||(n[42]=h("path",{d:"M6 9a6 6 0 1 1 12 0c0 5 2 6 2 6H4s2-1 2-6"},null,-1)),n[43]||(n[43]=h("path",{d:"M10 19a2 2 0 0 0 4 0"},null,-1))],64)):e.name==="book"?(m(),v(ne,{key:44},[n[44]||(n[44]=h("path",{d:"M4 5a2 2 0 0 1 2-2h13v18H6a2 2 0 0 0-2 2Z"},null,-1)),n[45]||(n[45]=h("path",{d:"M6 3v18"},null,-1))],64)):e.name==="layers"?(m(),v(ne,{key:45},[n[46]||(n[46]=h("path",{d:"m12 3 9 5-9 5-9-5Z"},null,-1)),n[47]||(n[47]=h("path",{d:"m3 13 9 5 9-5"},null,-1))],64)):e.name==="wrench"?(m(),v("path",lk)):e.name==="arrow-up"?(m(),v("path",uk)):e.name==="x"?(m(),v("path",ck)):e.name==="file"?(m(),v(ne,{key:49},[n[48]||(n[48]=h("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8Z"},null,-1)),n[49]||(n[49]=h("path",{d:"M14 2v6h6"},null,-1))],64)):e.name==="user"?(m(),v(ne,{key:50},[n[50]||(n[50]=h("circle",{cx:"12",cy:"8",r:"3.5"},null,-1)),n[51]||(n[51]=h("path",{d:"M5 20a7 7 0 0 1 14 0"},null,-1))],64)):e.name==="expand"?(m(),v("path",dk)):e.name==="minimize"?(m(),v("path",fk)):e.name==="shield"?(m(),v(ne,{key:53},[n[52]||(n[52]=h("path",{d:"M12 3 5 6v5.5c0 4.2 2.9 7.6 7 9.5 4.1-1.9 7-5.3 7-9.5V6Z"},null,-1)),n[53]||(n[53]=h("path",{d:"M9.5 12.2 11.3 14l3.4-3.6"},null,-1))],64)):e.name==="queue"?(m(),v(ne,{key:54},[n[54]||(n[54]=h("path",{d:"M4 7h11M4 12h11M4 17h7"},null,-1)),n[55]||(n[55]=h("path",{d:"M17.5 15.5 20 18l2.5-2.5M20 18v-6"},null,-1))],64)):e.name==="more"?(m(),v(ne,{key:55},[n[56]||(n[56]=h("circle",{cx:"5.5",cy:"12",r:"1.4"},null,-1)),n[57]||(n[57]=h("circle",{cx:"12",cy:"12",r:"1.4"},null,-1)),n[58]||(n[58]=h("circle",{cx:"18.5",cy:"12",r:"1.4"},null,-1))],64)):e.name==="bar-chart"?(m(),v("path",hk)):U("",!0)],8,Nb))}}),ce=Te(pk,[["__scopeId","data-v-421b9da7"]]),gk={class:"at-menu",role:"listbox","aria-label":"文件提及"},mk={key:0,class:"at-status"},vk={key:1,class:"at-status"},yk=["data-active","aria-selected","onClick","onMousemove"],bk={class:"at-item-name"},kk={key:0,class:"at-item-dir"},wk={class:"at-hints"},Sk={class:"at-hint"},_k=["title"],$k=Ie({__name:"AtFileMenu",props:{suggestions:{},activeIndex:{},loading:{type:Boolean,default:!1},workDir:{default:""}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,o=O(null);Se(()=>n.activeIndex,async()=>{var u;await Fe();const l=(u=o.value)==null?void 0:u.querySelector('[data-active="true"]');l==null||l.scrollIntoView({block:"nearest"})});const r=l=>l.split("/").pop()||l;function i(l){return r(l.path)}function a(l){const u=l.path.lastIndexOf("/");return u===-1?"":l.path.slice(0,u)}return(l,u)=>{var c;return m(),v("div",gk,[e.loading&&e.suggestions.length===0?(m(),v("div",mk,"加载文件列表…")):e.suggestions.length===0?(m(),v("div",vk,"无匹配文件")):(m(),v("ul",{key:2,ref_key:"listRef",ref:o,class:"at-list"},[(m(!0),v(ne,null,Ce(e.suggestions,(d,f)=>(m(),v("li",{key:d.path},[h("button",{class:ue(["at-item",{selected:f===e.activeIndex}]),"data-active":f===e.activeIndex?"true":void 0,role:"option","aria-selected":f===e.activeIndex,onClick:p=>s("select",d),onMousemove:p=>s("hover",f)},[h("span",{class:ue(["at-item-icon",{"is-dir":d.isDir}])},[X(ce,{name:d.isDir?"folder":"file",size:14},null,8,["name"])],2),h("span",bk,C(i(d)),1),a(d)?(m(),v("span",kk,C(a(d)),1)):U("",!0)],42,yk)]))),128))],512)),h("div",wk,[u[1]||(u[1]=h("span",{class:"at-hint"},[h("kbd",null,"↑↓"),Ae("选择")],-1)),h("span",Sk,[u[0]||(u[0]=h("kbd",null,"Tab/Enter",-1)),Ae(C((c=e.suggestions[e.activeIndex])!=null&&c.isDir?"进入目录":"插入引用"),1)]),u[2]||(u[2]=h("span",{class:"at-hint"},[h("kbd",null,"Esc"),Ae("关闭")],-1)),e.workDir?(m(),v("span",{key:0,class:"at-root",title:e.workDir},"根:"+C(r(e.workDir)),9,_k)):U("",!0)])])}}}),Ck=Te($k,[["__scopeId","data-v-9c8e827b"]]),xk=["title","aria-label"],Ik=["width","height","viewBox"],Tk=["cx","cy","r"],Ek=["cx","cy","r","stroke-dasharray","stroke-dashoffset","transform"],oa=2,Ak=Ie({__name:"ContextRing",props:{usage:{default:void 0},size:{default:16}},setup(e){iv(l=>({v1d95ffa8:a.value}));const t=e,n=G(()=>{if(t.usage===void 0||Number.isNaN(t.usage))return 0;const l=t.usage>1?t.usage/100:t.usage;return Math.min(1,Math.max(0,l))}),s=G(()=>Math.round(n.value*100)),o=G(()=>(t.size-oa)/2),r=G(()=>2*Math.PI*o.value),i=G(()=>r.value*(1-n.value)),a=G(()=>n.value>=.9?"var(--color-danger)":n.value>=.7?"var(--color-warning)":"var(--color-accent)");return(l,u)=>(m(),v("span",{class:"context-ring",role:"img",title:`上下文占用 ${s.value}%`,"aria-label":`上下文占用 ${s.value}%`},[(m(),v("svg",{width:e.size,height:e.size,viewBox:`0 0 ${e.size} ${e.size}`},[h("circle",{class:"ring-track",cx:e.size/2,cy:e.size/2,r:o.value,"stroke-width":oa,fill:"none"},null,8,Tk),h("circle",{class:"ring-value",cx:e.size/2,cy:e.size/2,r:o.value,"stroke-width":oa,fill:"none","stroke-linecap":"round","stroke-dasharray":r.value,"stroke-dashoffset":i.value,transform:`rotate(-90 ${e.size/2} ${e.size/2})`},null,8,Ek)],8,Ik))],8,xk))}}),bh=Te(Ak,[["__scopeId","data-v-3ffc343b"]]),Mk=["data-goal-status"],Rk={class:"goal-status"},Pk=["title"],Lk={class:"goal-metric",title:"已用轮次"},Dk={class:"goal-actions"},Nk=["disabled","title"],Ok=["disabled","title"],Gk=["disabled","title"],Bk=Ie({__name:"GoalBar",props:{goal:{},disabled:{type:Boolean,default:!1},disabledReason:{default:""},busy:{type:Boolean,default:!1},pending:{type:Boolean,default:!1}},emits:["pause","resume","cancel","edit"],setup(e,{emit:t}){const n=e,s=t,o={active:"进行中",paused:"已暂停",blocked:"受阻",complete:"已完成"},r=G(()=>!!n.goal&&n.goal.status!=="complete"),i=G(()=>{var c;return((c=n.goal)==null?void 0:c.status)==="active"}),a=G(()=>{var c;return o[((c=n.goal)==null?void 0:c.status)??""]??"目标"}),l=G(()=>n.disabled?n.disabledReason||"当前不可操作":""),u=G(()=>{var f;const c=n.goal;if(!c)return"";const d=(f=c.budget)==null?void 0:f.turnBudget;return d?`${c.turnsUsed}/${d} 轮`:`${c.turnsUsed} 轮`});return(c,d)=>r.value&&e.goal?(m(),v("div",{key:0,class:"goal-bar","data-goal-bar":"","data-goal-status":e.goal.status},[X(ce,{name:"target",size:14,class:"goal-icon"}),h("span",Rk,C(a.value),1),h("span",{class:"goal-objective",title:e.goal.objective},C(e.goal.objective),9,Pk),h("span",Lk,C(u.value),1),h("div",Dk,[h("button",{class:"goal-action",type:"button",title:"编辑目标与预算(在右栏 Goal 面板)","aria-label":"编辑目标",onClick:d[0]||(d[0]=f=>s("edit"))},[X(ce,{name:"edit",size:13}),d[4]||(d[4]=h("span",null,"编辑",-1))]),i.value?(m(),v("button",{key:0,class:"goal-action",type:"button",disabled:e.disabled||e.busy||e.pending,title:e.disabled||e.pending?l.value:"暂停目标执行","aria-label":"暂停目标",onClick:d[1]||(d[1]=f=>s("pause"))},[...d[5]||(d[5]=[h("span",null,"暂停",-1)])],8,Nk)):(m(),v("button",{key:1,class:"goal-action",type:"button",disabled:e.disabled||e.busy||e.pending,title:e.disabled||e.pending?l.value:"继续目标执行","aria-label":"继续目标",onClick:d[2]||(d[2]=f=>s("resume"))},[...d[6]||(d[6]=[h("span",null,"继续",-1)])],8,Ok)),h("button",{class:"goal-action is-danger",type:"button",disabled:e.disabled||e.pending,title:e.disabled?l.value:"取消目标(可在右栏 Goal 面板查看结果)","aria-label":"取消目标",onClick:d[3]||(d[3]=f=>s("cancel"))}," 清除 ",8,Gk)])],8,Mk)):U("",!0)}}),Fk=Te(Bk,[["__scopeId","data-v-c7806e90"]]),Uk={class:"history-menu",role:"listbox","aria-label":"输入历史"},jk={class:"history-header",title:"输入历史"},zk=["data-active","aria-selected","onClick","onMousemove"],Hk={class:"history-item-index"},Wk={class:"history-item-text"},qk=Ie({__name:"HistoryMenu",props:{items:{},activeIndex:{}},emits:["apply","hover"],setup(e,{emit:t}){const n=e,s=t,o=O(null);return Se(()=>n.activeIndex,async()=>{var i;await Fe();const r=(i=o.value)==null?void 0:i.querySelector('[data-active="true"]');r==null||r.scrollIntoView({block:"nearest"})}),et(async()=>{var i;await Fe();const r=(i=o.value)==null?void 0:i.querySelector('[data-active="true"]');r==null||r.scrollIntoView({block:"nearest"})}),(r,i)=>(m(),v("div",Uk,[h("div",jk,[X(ce,{name:"refresh",size:14}),i[0]||(i[0]=h("span",{class:"history-hints"},[h("span",{class:"history-hint"},[h("kbd",null,"↑↓"),Ae("选择")]),h("span",{class:"history-hint"},[h("kbd",null,"Tab/Enter"),Ae("填入")]),h("span",{class:"history-hint"},[h("kbd",null,"Esc"),Ae("关闭")])],-1))]),h("ul",{ref_key:"listRef",ref:o,class:"history-list"},[(m(!0),v(ne,null,Ce(e.items,(a,l)=>(m(),v("li",{key:`${l}:${a}`},[h("button",{class:ue(["history-item",{selected:l===e.activeIndex}]),"data-active":l===e.activeIndex?"true":void 0,role:"option","aria-selected":l===e.activeIndex,onClick:u=>s("apply",a),onMousemove:u=>s("hover",l)},[h("span",Hk,C(l+1),1),h("span",Wk,C(a),1)],42,zk)]))),128))],512)]))}}),Vk=Te(qk,[["__scopeId","data-v-41efc12f"]]);function ql(e,t){const n=t.gap??6,s=t.edge??8,o={position:"fixed",maxWidth:`${t.maxWidth}px`};return t.placement==="top"?o.bottom=`${window.innerHeight-e.top+n}px`:o.top=`${e.bottom+n}px`,t.align==="right"?o.right=`${Math.max(s,window.innerWidth-e.right)}px`:o.left=`${Math.min(Math.max(s,e.left),Math.max(s,window.innerWidth-t.maxWidth-s))}px`,o}const Kk=["aria-label"],Zk={key:0,class:"menu-heading"},Yk={key:0,class:"menu-group-title"},Xk=["disabled","title","aria-current","onClick"],Jk={class:"entry-label"};let Ls=null;function Qk(e){Ls==null||Ls(),Ls=e}function xc(e){Ls===e&&(Ls=null)}const e1=Ie({__name:"MenuPopover",props:{label:{},groups:{},open:{type:Boolean},align:{default:"right"},placement:{default:"top"},maxWidth:{default:300},heading:{default:void 0}},emits:["select","update:open"],setup(e,{emit:t}){const n=e,s=t,o=O(null),r=O({});function i(){n.open&&s("update:open",!1)}Se(()=>n.open,d=>{d?(Qk(i),a(),document.addEventListener("scroll",c,!0),window.addEventListener("resize",c)):(xc(i),document.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c))});function a(){const d=o.value;d&&(r.value=ql(d.getBoundingClientRect(),{placement:n.placement,align:n.align,maxWidth:n.maxWidth}))}function l(d){const f=d.target;if(!(f instanceof Node))return;const p=o.value;p!=null&&p.contains(f)||f instanceof Element&&f.closest("[data-menu-popover]")||i()}function u(d){d.key==="Escape"&&n.open&&(d.stopPropagation(),i())}function c(){i()}return et(()=>{document.addEventListener("pointerdown",l,!0),window.addEventListener("keydown",u,!0),n.open&&(a(),document.addEventListener("scroll",c,!0),window.addEventListener("resize",c))}),st(()=>{xc(i),document.removeEventListener("pointerdown",l,!0),window.removeEventListener("keydown",u,!0),document.removeEventListener("scroll",c,!0),window.removeEventListener("resize",c)}),(d,f)=>(m(),v("span",{ref_key:"rootRef",ref:o,class:"menu-root"},[Co(d.$slots,"default",{},void 0),(m(),De(Js,{to:"body"},[e.open?(m(),v("div",{key:0,class:ue(["menu-popover",[`is-align-${e.align}`,`is-placement-${e.placement}`]]),style:bt(r.value),role:"menu","aria-label":e.label,"data-menu-popover":""},[e.heading?(m(),v("p",Zk,C(e.heading),1)):U("",!0),(m(!0),v(ne,null,Ce(e.groups,(p,g)=>(m(),v(ne,{key:`g${g}`},[p.title?(m(),v("p",Yk,C(p.title),1)):U("",!0),(m(!0),v(ne,null,Ce(p.entries,y=>(m(),v("button",{key:y.key,class:ue(["menu-entry",{"is-active":y.checked,"is-danger":y.tone==="danger"}]),role:"menuitem",type:"button",disabled:y.disabled,title:y.title??y.label,"aria-current":y.checked?"true":void 0,onClick:S=>s("select",y.key)},[y.icon?(m(),De(ce,{key:0,name:y.icon,size:14},null,8,["name"])):U("",!0),h("span",Jk,C(y.label),1),y.checked?(m(),De(ce,{key:1,name:"check",size:14,class:"entry-check"})):U("",!0)],10,Xk))),128))],64))),128))],14,Kk)):U("",!0)]))],512))}}),Ya=Te(e1,[["__scopeId","data-v-e68e06d8"]]),t1=["onKeydown"],n1={key:0,class:"picker-empty"},s1={class:"picker-group-title"},o1=["onClick"],r1={class:"row-main"},i1={class:"row-name"},a1={class:"row-alias"},l1={class:"row-meta"},u1={key:0,class:"row-check"},c1={class:"picker-thinking"},d1={class:"thinking-options"},f1=["onClick"],h1=Ie({__name:"ModelPicker",props:{models:{},currentModel:{},currentThinking:{},open:{type:Boolean,default:!0}},emits:["apply-model","apply-thinking","close","update:open"],setup(e,{emit:t}){const n=e,s=t,o=["off","low","medium","high"],r={off:"关闭",low:"低",medium:"中",high:"高",xhigh:"超高",max:"最大"},i=O(""),a=O(null),l=G(()=>{const I=i.value.trim().toLowerCase();return I?n.models.filter(M=>M.alias.toLowerCase().includes(I)||M.provider.toLowerCase().includes(I)||(M.displayName??"").toLowerCase().includes(I)):n.models}),u=G(()=>{const I=new Map;for(const M of l.value){const V=I.get(M.provider)??[];V.push(M),I.set(M.provider,V)}return[...I.entries()].map(([M,V])=>({provider:M,models:V}))}),c=G(()=>n.models.find(I=>I.alias===n.currentModel)),d=G(()=>{var I;return((I=c.value)==null?void 0:I.thinkingLevels)??o});function f(I){return r[I]??I}function p(I){return I>=1e3?`${Math.round(I/1e3)}k`:String(I)}function g(I){return I.displayName??I.model}const y=O(null),S=O(null),k=O({});function w(){s("close"),s("update:open",!1)}function b(){var ae;const I=y.value;if(!I)return;const V=(((ae=I.closest(".chip-slot"))==null?void 0:ae.querySelector(".model-select"))??document.querySelector(".model-select")??I).getBoundingClientRect(),ie=6,me=8,_e=ql(V,{placement:"top",align:"right",maxWidth:Math.min(320,window.innerWidth-me*2),gap:ie,edge:me}),he=Math.max(240,V.top-ie-me);_e.maxHeight=`min(60vh, ${he}px)`,k.value=_e}function _(I){const M=I.target;M instanceof Element&&M.closest(".model-select")||S.value&&!S.value.contains(M)&&w()}function B(I){var V;const M=I.target;M instanceof Node&&((V=S.value)!=null&&V.contains(M))||w()}function D(){document.addEventListener("scroll",B,!0),window.addEventListener("resize",B)}function E(){document.removeEventListener("scroll",B,!0),window.removeEventListener("resize",B)}et(()=>{var I;document.addEventListener("mousedown",_,!0),n.open&&((I=a.value)==null||I.focus(),b(),D())}),Se(()=>n.open,I=>{if(!I){E();return}D(),Fe(()=>{var M;b(),(M=a.value)==null||M.focus()})}),st(()=>{document.removeEventListener("mousedown",_,!0),E()});function A(I){I!==n.currentModel&&s("apply-model",I),w()}const T=O(null);function Z(){const I=T.value;return I?Array.from(I.querySelectorAll(".picker-row")):[]}function W(){var I;(I=Z()[0])==null||I.focus()}function j(I){var ie,me,_e;if(I.key!=="ArrowDown"&&I.key!=="ArrowUp")return;const M=Z();if(M.length===0)return;const V=M.indexOf(document.activeElement);I.preventDefault(),V===-1?(ie=M[0])==null||ie.focus():I.key==="ArrowDown"?(me=M[(V+1)%M.length])==null||me.focus():(_e=M[(V-1+M.length)%M.length])==null||_e.focus()}function te(I){I!==n.currentThinking&&s("apply-thinking",I)}return(I,M)=>(m(),v("span",{ref_key:"anchorRef",ref:y,class:"model-picker model-picker--anchor"},[(m(),De(Js,{to:"body"},[e.open?(m(),v("div",{key:0,ref_key:"rootRef",ref:S,class:"model-picker",style:bt(k.value),role:"dialog","aria-label":"模型选择",onKeydown:M[1]||(M[1]=Vn(tt(V=>w(),["stop"]),["esc"]))},[Ze(h("input",{ref_key:"searchRef",ref:a,"onUpdate:modelValue":M[0]||(M[0]=V=>i.value=V),class:"picker-search",type:"text",placeholder:"搜索模型…",id:"model-search-input",name:"model-search",autocomplete:"off",spellcheck:"false",onKeydown:Vn(tt(W,["prevent"]),["arrow-down"])},null,40,t1),[[it,i.value]]),h("div",{ref_key:"listRef",ref:T,class:"picker-list",onKeydown:j},[u.value.length===0?(m(),v("div",n1,"无匹配模型")):U("",!0),(m(!0),v(ne,null,Ce(u.value,V=>(m(),v("div",{key:V.provider,class:"picker-group"},[h("div",s1,C(V.provider),1),(m(!0),v(ne,null,Ce(V.models,ie=>(m(),v("button",{key:ie.alias,class:ue(["picker-row",{active:ie.alias===e.currentModel}]),onClick:me=>A(ie.alias)},[h("span",r1,[h("span",i1,C(g(ie)),1),h("span",a1,C(ie.alias),1)]),h("span",l1,C(p(ie.maxContextSize)),1),ie.alias===e.currentModel?(m(),v("span",u1,"✓")):U("",!0)],10,o1))),128))]))),128))],544),h("div",c1,[M[2]||(M[2]=h("span",{class:"thinking-label"},"思考强度",-1)),h("div",d1,[(m(!0),v(ne,null,Ce(d.value,V=>(m(),v("button",{key:V,class:ue(["thinking-btn",{active:V===e.currentThinking}]),onClick:ie=>te(V)},C(f(V)),11,f1))),128))])])],36)):U("",!0)]))],512))}}),p1=Te(h1,[["__scopeId","data-v-0271ee16"]]),g1={class:"slash-menu",role:"listbox","aria-label":"斜杠命令与技能"},m1={key:0,class:"slash-search"},v1=["value"],y1={class:"slash-list"},b1={key:0,class:"slash-group"},k1={class:"slash-group-label"},w1={key:0,class:"slash-group-hint"},S1=["aria-selected","onMousedown","onMouseenter"],_1={class:"slash-name"},$1={key:0,class:"slash-aliases"},C1={class:"slash-desc"},x1={key:0,class:"slash-badge slash-badge-source"},I1={key:0,class:"slash-badge slash-badge-input"},T1={key:1,class:"slash-badge"},E1=Ie({__name:"SlashMenu",props:{commands:{},activeIndex:{}},emits:["select","hover"],setup(e,{emit:t}){const n=e,s=t,o={builtin:"内置",user:"用户",extra:"扩展",project:"项目"};function r(d){return d?d.startsWith("plugin:")?`插件 ${d.slice(7)}`:o[d]||d:""}const i=G(()=>{const d=[];let f="";return n.commands.forEach((p,g)=>{const y=p.kind==="skill"?"skills":p.group==="advanced"?"advanced":"commands";y!==f&&(f=y,d.push({type:"header",label:a[y]})),d.push({type:"item",cmd:p,index:g})}),f!=="advanced"&&Uv()&&d.push({type:"header",label:a.advanced,hint:"输入继续筛选"}),d}),a={commands:"命令",advanced:"高级",skills:"技能"},l=O(""),u=G(()=>n.commands.length>Fv||l.value!=="");function c(d){l.value=d.target.value,Gv(l.value)}return st(()=>{l.value&&(l.value="",Bv())}),(d,f)=>(m(),v("div",g1,[u.value?(m(),v("div",m1,[h("input",{class:"slash-search-input",type:"text",value:l.value,placeholder:"筛选命令与技能…","aria-label":"筛选命令与技能",onInput:c,onMousedown:f[0]||(f[0]=tt(()=>{},["stop"]))},null,40,v1)])):U("",!0),h("div",y1,[(m(!0),v(ne,null,Ce(i.value,(p,g)=>{var y;return m(),v(ne,{key:g},[p.type==="header"?(m(),v("div",b1,[h("span",k1,C(p.label),1),p.hint?(m(),v("span",w1,C(p.hint),1)):U("",!0)])):(m(),v("button",{key:1,class:ue(["slash-item",{active:p.index===e.activeIndex}]),role:"option","aria-selected":p.index===e.activeIndex,onMousedown:tt(S=>s("select",p.cmd),["prevent"]),onMouseenter:S=>s("hover",p.index)},[h("span",_1,[Ae("/"+C(p.cmd.name),1),(y=p.cmd.aliases)!=null&&y.length?(m(),v("span",$1,C(p.cmd.aliases.map(S=>`/${S}`).join(" ")),1)):U("",!0)]),h("span",C1,C(p.cmd.description),1),p.cmd.kind==="skill"?(m(),v(ne,{key:0},[p.cmd.source?(m(),v("span",x1,C(r(p.cmd.source)),1)):U("",!0),f[1]||(f[1]=h("span",{class:"slash-badge slash-badge-skill"},"技能",-1))],64)):(m(),v(ne,{key:1},[p.cmd.acceptsInput?(m(),v("span",I1,"输入参数")):U("",!0),p.cmd.target==="backend"?(m(),v("span",T1,"服务端")):U("",!0)],64))],42,S1))],64)}),128))]),f[2]||(f[2]=h("div",{class:"slash-hint"},"↑↓ 选择 · Enter/Tab 执行 · Esc 关闭",-1))]))}}),A1=Te(E1,[["__scopeId","data-v-b0de79ca"]]),M1=34;function Cr(e){const t=e.split("/"),n=t.at(-1)??e;return t.length<=2?{dir:t.length===2?`${t[0]}/`:"",base:n}:e.length<=M1?{dir:`${t.slice(0,-1).join("/")}/`,base:n}:{dir:`…/${t.at(-2)}/`,base:n}}const R1={class:"picker-input-row"},P1=["placeholder","onKeydown"],L1=["disabled","title"],D1={key:0,class:"picker-warn"},N1={class:"picker-rows"},O1=["title","onClick"],G1={class:"row-base"},B1={class:"row-path"},F1={class:"picker-rows"},U1=["title","onClick"],j1={class:"row-base"},z1=Ie({__name:"WorkspacePicker",props:{current:{default:""},defaultDir:{default:""},recentWorkDirs:{default:()=>[]}},emits:["select","close"],setup(e,{emit:t}){const n=e,s=t,o=O(n.current||n.defaultDir),r=O(null),i=O(null),a=O(null),l=O({}),u=G(()=>o.value.trim().startsWith("/")),c=G(()=>u.value&&o.value.trim().length>0);function d(){c.value&&s("select",o.value.trim())}const f=O([]);let p;Se(o,w=>{clearTimeout(p);const b=w.trim();if(!b.startsWith("/")){f.value=[];return}p=setTimeout(async()=>{const _=await Wl(b);o.value.trim()===b&&(f.value=(_??[]).filter(B=>B.type==="dir").slice(0,8))},250)});function g(w){var b;o.value=w.path,(b=r.value)==null||b.focus()}function y(){var A;const w=i.value;if(!w)return;const _=(((A=w.closest(".chip-slot"))==null?void 0:A.querySelector(".workspace-select"))??document.querySelector(".workspace-select")??w).getBoundingClientRect(),B=6,D=8,E=ql(_,{placement:"top",align:"left",maxWidth:Math.min(360,window.innerWidth-D*2),gap:B,edge:D});E.maxHeight=`min(60vh, ${Math.max(240,_.top-B-D)}px)`,l.value=E}function S(w){const b=w.target;b instanceof Element&&b.closest(".workspace-select")||a.value&&!a.value.contains(b)&&s("close")}function k(w){var _;const b=w.target;b instanceof Node&&((_=a.value)!=null&&_.contains(b))||s("close")}return et(()=>{document.addEventListener("mousedown",S,!0),document.addEventListener("scroll",k,!0),window.addEventListener("resize",k),Fe(()=>{var w,b;y(),(w=r.value)==null||w.focus(),(b=r.value)==null||b.select()})}),st(()=>{document.removeEventListener("mousedown",S,!0),document.removeEventListener("scroll",k,!0),window.removeEventListener("resize",k),clearTimeout(p)}),(w,b)=>(m(),v("span",{ref_key:"anchorRef",ref:i,class:"workspace-picker workspace-picker--anchor"},[(m(),De(Js,{to:"body"},[h("div",{ref_key:"rootRef",ref:a,class:"workspace-picker",style:bt(l.value),role:"dialog","aria-label":"选择工作区",onKeydown:b[1]||(b[1]=Vn(tt(_=>s("close"),["stop"]),["esc"]))},[b[4]||(b[4]=h("p",{class:"picker-title"},"工作区(下一次新建)",-1)),h("div",R1,[Ze(h("input",{ref_key:"inputRef",ref:r,"onUpdate:modelValue":b[0]||(b[0]=_=>o.value=_),class:"picker-path-input","data-testid":"workspace-path-input",placeholder:e.defaultDir||"输入绝对路径,如 /Users/you/project",spellcheck:"false",onKeydown:Vn(tt(d,["prevent"]),["enter"])},null,40,P1),[[it,o.value]]),h("button",{class:"picker-apply","data-testid":"workspace-apply",disabled:!c.value,title:c.value?"使用该目录新建会话":"工作区必须是绝对路径",onClick:d}," 选择 ",8,L1)]),o.value.trim()&&!u.value?(m(),v("p",D1,"需要绝对路径(以 / 开头)")):U("",!0),e.recentWorkDirs.length?(m(),v(ne,{key:1},[b[2]||(b[2]=h("p",{class:"picker-section"},"最近使用",-1)),h("div",N1,[(m(!0),v(ne,null,Ce(e.recentWorkDirs,_=>(m(),v("button",{key:_,class:"picker-row",title:_,onClick:B=>s("select",_)},[X(ce,{name:"folder",size:14}),h("span",G1,C(F(Ka)(_)),1),h("span",B1,C(F(Cr)(_).dir),1)],8,O1))),128))])],64)):U("",!0),f.value.length?(m(),v(ne,{key:2},[b[3]||(b[3]=h("p",{class:"picker-section"},"子目录",-1)),h("div",F1,[(m(!0),v(ne,null,Ce(f.value,_=>(m(),v("button",{key:_.path,class:"picker-row",title:_.path,onClick:B=>g(_)},[X(ce,{name:"folder",size:14}),h("span",j1,C(_.name),1)],8,U1))),128))])],64)):U("",!0)],36)]))],512))}}),H1=Te(z1,[["__scopeId","data-v-a02cc634"]]),W1=["data-placeholder-state","placeholder"],q1={class:"composer-capsule-row"},V1={class:"composer-chips"},K1=["title"],Z1={class:"chip-text"},Y1={key:1,class:"chip-slot"},X1=["disabled","title","aria-haspopup","aria-expanded"],J1={class:"chip-text"},Q1={key:2,class:"chip-slot"},ew=["disabled","title","aria-haspopup","aria-expanded"],tw={class:"chip-text"},nw=["disabled","title","aria-expanded"],sw={class:"chip-text"},ow=["disabled","title","aria-expanded"],rw={class:"chip-text"},iw=["title"],aw={class:"chip-text"},lw=["title"],uw={class:"chip-text"},cw=["data-action","disabled","title","aria-label"],dw={key:0,class:"primary-label"},Ic=50,fw=5e3,hw=Ie({__name:"Composer",props:{busy:{type:Boolean},status:{default:void 0},sessionId:{default:null},models:{default:()=>[]},workDir:{default:""},variant:{default:"chat"},placeholder:{default:void 0},messages:{},connectionStatus:{default:"idle"},goal:{default:null},recentWorkDirs:{default:()=>[]}},emits:["send","abort","command","switch-model","switch-thinking","switch-permission","goal-pause","goal-resume","goal-cancel","goal-edit"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=O(""),i=O(null),a=G(()=>s.workDir||void 0),l=Rb(r,i,a),u=O(0),c=O(!1),d=G(()=>{const L=r.value;return!L.startsWith("/")||L.includes(`
20
+ `)||/\s/.test(L.slice(1))?null:L.slice(1)}),f=G(()=>d.value===null?[]:jv(d.value)),p=G(()=>d.value!==null&&f.value.length>0&&!c.value);Se(d,()=>{u.value=0,c.value=!1});function g(L){const re=L??f.value[u.value];if(re){if(re.acceptsInput){r.value=`/${re.name} `,c.value=!0,Fe(()=>{var Me;(Me=i.value)==null||Me.focus(),I()});return}E(`/${re.name}`),_e(),o("command",re.name)}}const y=O([]);Se(()=>s.sessionId,()=>{y.value=[]}),Se(()=>s.busy,L=>{if(!L&&y.value.length>0){const[re,...Me]=y.value;y.value=Me,re&&o("send",re)}});let S=0;const k=O([]),w=G(()=>Lb(k.value,Pb(s.messages??[]),Ic)),b=O(!1),_=O(0);function B(){return`scream-history:${s.sessionId??"default"}`}function D(){try{const L=localStorage.getItem(B());k.value=L?JSON.parse(L):[]}catch{k.value=[]}}function E(L){if(k.value.at(-1)!==L){k.value=[...k.value,L].slice(-Ic);try{localStorage.setItem(B(),JSON.stringify(k.value))}catch{}}}function A(L){r.value=L,b.value=!1,Fe(()=>{const re=i.value;re&&(re.focus(),re.setSelectionRange(re.value.length,re.value.length),I(),l.reset())})}function T(){c.value=!0,l.dismiss(),_.value=Math.max(0,w.value.length-1),b.value=!0}function Z(L){const re=w.value.length;re!==0&&(_.value=Math.min(re-1,Math.max(0,_.value+L)))}Se(()=>w.value.length,()=>{_.value>=w.value.length&&(_.value=Math.max(0,w.value.length-1))});function W(){return`scream-draft:${s.sessionId??"default"}`}let j=null,te;Se(r,()=>{I(),b.value=!1,l.refresh(),clearTimeout(te),te=setTimeout(()=>{try{r.value?localStorage.setItem(W(),r.value):localStorage.removeItem(W())}catch{}},300)}),Se(()=>s.sessionId,()=>{if(clearTimeout(te),D(),b.value=!1,_.value=0,j&&Date.now()-j.at<=fw){r.value=j.text,j=null,Fe(I);return}j=null;let L="";try{L=localStorage.getItem(W())??""}catch{L=""}r.value=L,Fe(I)},{immediate:!0});function I(){const L=i.value;if(!L)return;L.style.height="auto";const re=Math.round(window.innerHeight*.25);L.style.height=`${Math.min(Math.max(L.scrollHeight,36),re)}px`}function M(){l.refresh()}const V=O(0);function ie(){const L=window.visualViewport;if(!L)return;const re=Math.round(window.innerHeight-L.height-L.offsetTop);V.value=re>120?re:0}"visualViewport"in window&&(et(()=>{var L;(L=window.visualViewport)==null||L.addEventListener("resize",ie),ie()}),st(()=>{var L;(L=window.visualViewport)==null||L.removeEventListener("resize",ie),V.value=0}));function me(L){const re=L.target;re instanceof Element&&(re.closest(".history-menu")||re.closest("#composer-input")||(b.value=!1,p.value&&!re.closest(".composer-chips")&&(c.value=!0)))}et(()=>document.addEventListener("mousedown",me)),st(()=>document.removeEventListener("mousedown",me));function _e(){r.value="",l.reset(),b.value=!1,Fe(()=>{i.value&&(i.value.style.height="auto")})}function he(){const L=r.value.trim();if(L){if(L.startsWith("/")){const re=L.indexOf(" "),Me=(re===-1?L.slice(1):L.slice(1,re)).toLowerCase(),Zn=zv(Me),eg=re===-1?"":L.slice(re+1).trim();E(L),o("command",Zn,eg),_e();return}if(s.busy){ae();return}E(L),o("send",L),_e()}}function ae(){const L=r.value.trim();L&&(E(L),y.value=[...y.value,L],_e())}function pe(L){if(l.visible.value){if(L.key==="ArrowDown"){L.preventDefault(),l.move(1);return}if(L.key==="ArrowUp"){L.preventDefault(),l.move(-1);return}if((L.key==="Tab"||L.key==="Enter"&&!L.shiftKey)&&(L.isComposing||(L.preventDefault(),l.dirLoading.value)||l.confirm()))return;if(L.key==="Escape"){L.preventDefault(),l.dismiss();return}}if(p.value){if(L.key==="ArrowUp"){L.preventDefault(),u.value=(u.value-1+f.value.length)%f.value.length;return}if(L.key==="ArrowDown"){L.preventDefault(),u.value=(u.value+1)%f.value.length;return}if(L.key==="Tab"||L.key==="Enter"&&!L.shiftKey){if(L.key==="Enter"&&L.isComposing)return;L.preventDefault(),g();return}if(L.key==="Escape"){L.preventDefault(),c.value=!0;return}}if((L.ctrlKey||L.metaKey)&&L.key.toLowerCase()==="s"){L.preventDefault(),s.busy?ae():he();return}if(b.value&&!L.isComposing){if(L.key==="ArrowDown"){L.preventDefault(),Z(1);return}if(L.key==="ArrowUp"){L.preventDefault(),Z(-1);return}if(L.key==="Escape"){L.preventDefault(),b.value=!1;return}if((L.key==="Tab"||L.key==="Enter"&&!L.shiftKey)&&w.value[_.value]!==void 0){L.preventDefault(),A(w.value[_.value]);return}}if(L.key==="Enter"&&!L.shiftKey){if(L.isComposing||Date.now()-S<100)return;L.preventDefault(),he();return}L.key==="ArrowUp"&&!L.isComposing&&!s.busy&&r.value.trim().length===0&&w.value.length>0&&(L.preventDefault(),T())}function oe(){y.value=[],o("abort")}function ge(L){r.value=L,b.value=!1,Fe(()=>{var re;I(),(re=i.value)==null||re.focus()})}function $e(L,re={}){const Me=re.activate!==!1;j={text:L,at:Date.now()},r.value=L,c.value=!0,l.dismiss(),b.value=!1,Fe(()=>{I();const Zn=i.value;!Zn||!Me||(Zn.focus(),Zn.setSelectionRange(Zn.value.length,Zn.value.length))})}function Ne(L){r.value+=L,Fe(()=>{var re;I(),(re=i.value)==null||re.focus()})}const Ue=G(()=>{var L;return(L=s.status)==null?void 0:L.model}),Ke=G(()=>{var L;return(L=s.status)==null?void 0:L.permission}),Ye=G(()=>{var L;return(L=s.status)==null?void 0:L.contextUsage}),rt=G(()=>s.connectionStatus==="disconnected"||s.connectionStatus==="reconnecting"),Dt={offline:"连接已断开,正在重连 — 可以先打字,回车会把消息排队",plan:"计划模式:只做只读分析与方案输出,回车提交这个问题",queue:`已排队:回车继续排队下一条,${$r}S 立即注入`,busy:`回合进行中:现在打字然后回车,消息会排队随下一轮注入(${$r}S 立即注入)`,"no-workspace":"这个会话还没有工作目录:@ 文件提及暂不可用,可以直接提问",idle:"输入消息,@ 提及文件,/ 触发指令"},x=G(()=>{var L;return rt.value?"offline":s.busy?r.value.trim()?"queue":"busy":(L=s.status)!=null&&L.planMode?"plan":s.variant==="chat"&&!s.workDir?"no-workspace":"idle"}),P=G(()=>x.value==="idle"&&s.placeholder?s.placeholder:Dt[x.value]),z={off:"关闭",low:"低",medium:"中",high:"高",xhigh:"超高",max:"最大"},ee=G(()=>{var re;const L=(re=s.status)==null?void 0:re.model;if(L)return s.models.find(Me=>Me.alias===L)}),J=G(()=>{var L;return((L=ee.value)==null?void 0:L.thinkingLevels)??[]}),R=G(()=>{var L;return(L=s.status)==null?void 0:L.thinkingLevel}),K=G(()=>{const L=R.value;return!L||L==="none"?"默认":z[L]??L}),N={manual:"手动",auto:"自动",yolo:"YOLO",bot:"无人值守",ask:"询问"},Q=["manual","auto","yolo","bot","ask"],$={manual:"每次工具调用都要你确认",auto:"安全操作自动放行,敏感操作仍要确认",yolo:"全部自动放行,不再打断",bot:"无人值守模式:批量接管确认",ask:"遇到需要决定的操作时询问你"},H=G(()=>N[Ke.value??""]??Ke.value??"手动"),q=G(()=>{switch(Ke.value){case"auto":return"perm-auto";case"yolo":return"perm-yolo";case"bot":return"perm-bot";default:return"perm-manual"}}),se=G(()=>{const L=Ye.value;return L===void 0?"":`${Math.round(L*100)}%`}),{preferredWorkDir:fe,serverWorkDir:ye,displayWorkDir:Ee,setPreferredWorkDir:ke}=Hl(),be=G(()=>{const re=s.variant==="chat"?rt.value?"连接已断开,正在重连 — 重连后可以切换":s.sessionId?"":"还没有打开会话,先新建或选择一个会话":"",Me=s.models.length===0?"后端没有返回可选模型,暂时不能切换":"";return{model:{label:s.variant==="home"?"通用智能体":Ue.value??"",title:Me||re||(Ue.value?`当前模型:${Ue.value},点击切换`:"会话状态还没回来"),enabled:!Me&&!re,visible:!!Ue.value||s.variant==="home"},thinking:{label:`思考 · ${K.value}`,title:re||`思考力度:${K.value},点击调整(可选:${J.value.join(" / ")})`,enabled:!re,visible:s.variant==="chat"&&J.value.length>0},permission:{label:Ke.value?H.value:"权限",title:re||(Ke.value?`权限模式:${H.value},点击切换(会记录到会话日志)`:"权限模式:点击切换(会记录到会话日志)"),enabled:!re,visible:s.variant==="chat"},workspace:s.variant==="chat"?{label:s.workDir?Ka(s.workDir):"工作区",title:s.workDir?`工作区:${s.workDir} — 工作区随会话创建,不可中途更换`:"这个会话还没有工作目录",enabled:!1,visible:!0}:{label:Ee.value?Ka(Ee.value):"默认工作区",title:Ee.value?`工作区:${Ee.value},点击为下一次新建选择目录`:"还没拿到服务器默认工作区,点击可手动输入目录",enabled:!0,visible:!0},context:{label:se.value,title:Ye.value===void 0?"上下文占用还没回来":`上下文占用 ${(Ye.value*100).toFixed(1)}%`,enabled:!1,visible:Ye.value!==void 0}}}),Oe=O(null);function lt(L){ke(L),Oe.value=null}function gt(L,re){re&&(b.value=!1,Oe.value=Oe.value===L?null:L)}function sn(L,re){re?Oe.value=L:Oe.value===L&&(Oe.value=null)}function Ss(){return be.value.model.enabled?(Oe.value="model",!0):!1}const mt=G(()=>Oe.value==="model"),Nt=G(()=>Za(J.value.map(L=>({key:L,label:L==="off"||L==="none"?"关闭":z[L]??L,checked:R.value===L})),"思考力度")),_s=G(()=>Za(Q.map(L=>({key:L,label:N[L]??L,checked:Ke.value===L,title:$[L]})),"权限模式"));function $s(L){o("switch-model",L),Oe.value=null}function oo(L){o("switch-thinking",L),Oe.value=null}function Ui(L){o("switch-permission",L),Oe.value=null}const on=G(()=>s.busy?"stop":"send"),Cs={send:{icon:"arrow-up",label:"发送",title:"发送(回车)"},stop:{icon:"stop",label:"停止",title:"停止当前回合"}},ji=G(()=>Cs[on.value].icon),ro=G(()=>Cs[on.value].label),zi=G(()=>on.value==="stop"&&r.value.trim()?`${Cs.stop.title}(回车把当前输入排队,${$r}S 立即注入)`:Cs[on.value].title),er=G(()=>on.value==="send"&&!r.value.trim());function xs(){if(on.value==="stop"){oe();return}he()}const tr=G(()=>!!s.goal&&(s.goal.status==="active"||s.goal.status==="paused"||s.goal.status==="blocked")),de=G(()=>rt.value||!s.sessionId),ve=G(()=>rt.value?"连接已断开,正在重连":s.sessionId?"":"还没有打开会话");return t({insertText:ge,insertDraft:$e,openModelPicker:Ss}),(L,re)=>(m(),v("div",{class:"composer",style:bt(V.value?{paddingBottom:V.value+"px"}:void 0)},[p.value?(m(),De(A1,{key:0,commands:f.value,"active-index":u.value,onSelect:g,onHover:re[0]||(re[0]=Me=>u.value=Me)},null,8,["commands","active-index"])):U("",!0),F(l).visible.value?(m(),De(Ck,{key:1,suggestions:F(l).suggestions.value,"active-index":F(l).index.value,loading:F(l).dirLoading.value,"work-dir":e.workDir,onSelect:re[1]||(re[1]=Me=>F(l).confirm(Me)),onHover:re[2]||(re[2]=Me=>F(l).index.value=Me)},null,8,["suggestions","active-index","loading","work-dir"])):U("",!0),b.value&&w.value.length>0?(m(),De(Vk,{key:2,items:w.value,"active-index":_.value,onApply:A,onHover:re[3]||(re[3]=Me=>_.value=Me)},null,8,["items","active-index"])):U("",!0),tr.value?(m(),De(Fk,{key:3,goal:e.goal??null,busy:e.busy,disabled:de.value,"disabled-reason":ve.value,onPause:re[4]||(re[4]=Me=>o("goal-pause")),onResume:re[5]||(re[5]=Me=>o("goal-resume")),onCancel:re[6]||(re[6]=Me=>o("goal-cancel")),onEdit:re[7]||(re[7]=Me=>o("goal-edit"))},null,8,["goal","busy","disabled","disabled-reason"])):U("",!0),Ze(h("textarea",{ref_key:"textareaRef",ref:i,"onUpdate:modelValue":re[8]||(re[8]=Me=>r.value=Me),id:"composer-input",name:"message",class:"composer-input",rows:"1","data-placeholder-state":x.value,placeholder:P.value,onKeydown:pe,onCompositionend:re[9]||(re[9]=Me=>ht(S)?S.value=Date.now():S=Date.now()),onClick:M,onKeyup:M},null,40,W1),[[it,r.value]]),h("div",q1,[h("div",V1,[e.variant==="chat"?(m(),v("button",{key:0,class:"composer-chip","data-chip":"mention",title:"插入 @ 提及文件",onClick:re[10]||(re[10]=Me=>Ne("@"))},[X(ce,{name:"at",size:14}),re[20]||(re[20]=h("span",{class:"chip-text"},"提及",-1))])):U("",!0),h("button",{class:"composer-chip","data-chip":"slash",title:e.variant==="home"?"插入 / 触发技能":"插入 / 触发指令",onClick:re[11]||(re[11]=Me=>Ne("/"))},[X(ce,{name:"command",size:14}),h("span",Z1,C(e.variant==="home"?"技能":"指令"),1)],8,K1),be.value.workspace.visible?(m(),v("span",Y1,[h("button",{class:ue(["composer-chip workspace-select",{"is-clickable":be.value.workspace.enabled}]),"data-chip":"workspace",disabled:!be.value.workspace.enabled,title:be.value.workspace.title,"aria-haspopup":be.value.workspace.enabled?"dialog":void 0,"aria-expanded":Oe.value==="workspace"?"true":"false",onClick:re[12]||(re[12]=Me=>gt("workspace",be.value.workspace.enabled))},[X(ce,{name:"folder",size:14}),h("span",J1,C(be.value.workspace.label),1),be.value.workspace.enabled?(m(),De(ce,{key:0,name:"chevron-down",size:12})):U("",!0)],10,X1),Oe.value==="workspace"?(m(),De(H1,{key:0,current:F(fe)??"","default-dir":F(ye)??"","recent-work-dirs":e.recentWorkDirs,onSelect:lt,onClose:re[13]||(re[13]=Me=>Oe.value=null)},null,8,["current","default-dir","recent-work-dirs"])):U("",!0)])):U("",!0),be.value.model.visible?(m(),v("span",Q1,[h("button",{class:ue(["composer-chip model-select",{"is-clickable":be.value.model.enabled}]),"data-chip":"model",disabled:!be.value.model.enabled,title:be.value.model.title,"aria-haspopup":be.value.model.enabled?"dialog":void 0,"aria-expanded":mt.value?"true":"false",onClick:re[14]||(re[14]=Me=>gt("model",be.value.model.enabled))},[X(ce,{name:"brain",size:14}),h("span",tw,C(be.value.model.label),1),be.value.model.enabled?(m(),De(ce,{key:0,name:"chevron-down",size:12})):U("",!0)],10,ew),X(Ol,{name:"picker"},{default:ot(()=>[mt.value?(m(),De(p1,{key:0,models:e.models,"current-model":Ue.value,"current-thinking":R.value,onApplyModel:$s,onApplyThinking:oo,onClose:re[15]||(re[15]=Me=>Oe.value=null)},null,8,["models","current-model","current-thinking"])):U("",!0)]),_:1})])):U("",!0),be.value.thinking.visible?(m(),De(Ya,{key:3,class:"chip-slot",label:"思考力度",heading:"思考力度",groups:Nt.value,open:Oe.value==="thinking",placement:"top",align:"left","onUpdate:open":re[17]||(re[17]=Me=>sn("thinking",Me)),onSelect:oo},{default:ot(()=>[h("button",{class:ue(["composer-chip",{"is-clickable":be.value.thinking.enabled}]),"data-chip":"thinking",disabled:!be.value.thinking.enabled,title:be.value.thinking.title,"aria-haspopup":"menu","aria-expanded":Oe.value==="thinking"?"true":"false",onClick:re[16]||(re[16]=Me=>gt("thinking",be.value.thinking.enabled))},[X(ce,{name:"activity",size:14}),h("span",sw,C(be.value.thinking.label),1),X(ce,{name:"chevron-down",size:12})],10,nw)]),_:1},8,["groups","open"])):U("",!0),be.value.permission.visible?(m(),De(Ya,{key:4,class:"chip-slot",label:"权限模式",groups:_s.value,open:Oe.value==="permission",placement:"top",align:"left","onUpdate:open":re[19]||(re[19]=Me=>sn("permission",Me)),onSelect:Ui},{default:ot(()=>[h("button",{class:ue(["composer-chip",["is-clickable",q.value]]),"data-chip":"permission",disabled:!be.value.permission.enabled,title:be.value.permission.title,"aria-haspopup":"menu","aria-expanded":Oe.value==="permission"?"true":"false",onClick:re[18]||(re[18]=Me=>gt("permission",be.value.permission.enabled))},[X(ce,{name:"shield",size:14}),h("span",rw,C(be.value.permission.label),1),X(ce,{name:"chevron-down",size:12})],10,ow)]),_:1},8,["groups","open"])):U("",!0),be.value.context.visible?(m(),v("span",{key:5,class:"composer-chip is-static","data-chip":"context",title:be.value.context.title},[X(bh,{usage:Ye.value,size:14},null,8,["usage"]),h("span",aw,C(be.value.context.label),1)],8,iw)):U("",!0),y.value.length?(m(),v("span",{key:6,class:"composer-chip is-static","data-chip":"queue",title:`已排队 ${y.value.length} 条,当前回合结束后自动发送`},[X(ce,{name:"queue",size:14}),h("span",uw,"排队 "+C(y.value.length),1)],8,lw)):U("",!0)]),h("button",{class:"composer-primary","data-action":on.value,disabled:er.value,title:zi.value,"aria-label":ro.value,onClick:xs},[X(ce,{name:ji.value,size:16},null,8,["name"]),on.value!=="send"?(m(),v("span",dw,C(ro.value),1)):U("",!0)],8,cw)])],4))}}),kh=Te(hw,[["__scopeId","data-v-f2ac71a6"]]),pw={class:"conv-bar"},gw={class:"conv-bar-left"},mw=["title"],vw=["title"],yw={key:1,class:"title-text"},bw={class:"conv-bar-right"},kw=["title","aria-label","aria-expanded"],ww={key:0,class:"stats-metric mono"},Sw={key:1,class:"stats-sep","aria-hidden":"true"},_w={key:2,class:"stats-metric mono"},$w=["aria-expanded"],Cw=["title","aria-label"],xw=Ie({__name:"ConversationHeader",props:{title:{default:null},busy:{type:Boolean,default:!1},statsOpen:{type:Boolean,default:!1},turnTokens:{default:null},turnCount:{default:null}},emits:["home","rename","export","fork","clear","controls","agents","toggle-stats"],setup(e,{emit:t}){const n=e,s=t,o=G(()=>we.panelOpen),r=G(()=>(n.turnCount??0)>0||(n.turnTokens??0)>0);function i(){we.panelOpen?jl(!1):Sr("detail")}function a(k){return k===null||k<=0?"":k>=1e6?`${(k/1e6).toFixed(1)}M`:k>=1e3?`${(k/1e3).toFixed(1)}k`:String(k)}const l=O(!1),u=G(()=>Za([{key:"controls",label:"会话控制",icon:"wrench",title:"打开会话控制面板"},{key:"agents",label:"协作代理",icon:"bot",title:"查看子代理执行状态"},{key:"export",label:"导出 Markdown",icon:"download",disabled:!r.value,title:r.value?"把当前会话导出成 Markdown 文件":"还没有消息可导出"},{key:"fork",label:"分叉会话",icon:"fork",disabled:!r.value,title:r.value?"从当前会话分叉出新会话":"还没有消息可分叉"},{key:"clear",label:"清空本地消息",icon:"broom",tone:"danger",disabled:!r.value,title:r.value?"清空本地 journal(服务端记录不受影响)":"还没有消息可清空"},{key:"files",label:o.value?"收起文件面板":"打开文件面板",icon:"file",title:o.value?"收起右侧面板":"在右侧面板打开文件视图"}]));function c(k){l.value=!1,k==="controls"?s("controls"):k==="agents"?s("agents"):k==="export"?s("export"):k==="fork"?s("fork"):k==="clear"?s("clear"):k==="files"&&Qy()}const d=O(!1),f=O("");function p(){f.value=n.title??"",d.value=!0}function g(){const k=f.value.trim();d.value=!1,k&&k!==n.title&&s("rename",k)}function y(k){k.key==="Enter"?(k.preventDefault(),g()):k.key==="Escape"&&(k.preventDefault(),d.value=!1)}const S=G(()=>n.busy?"运行中":"就绪");return(k,w)=>(m(),v("header",pw,[h("div",gw,[h("button",{class:"ghost-btn back-btn",title:"返回工作台","aria-label":"返回工作台",onClick:w[0]||(w[0]=b=>s("home"))},[X(ce,{name:"chevron-left",size:20})]),h("span",{class:ue(["status-dot",{busy:e.busy}]),title:S.value,"aria-hidden":"true"},null,10,mw),h("button",{class:"title-btn",title:d.value?"":"点击重命名",onClick:p},[d.value?Ze((m(),v("input",{key:0,"onUpdate:modelValue":w[1]||(w[1]=b=>f.value=b),class:"title-input","aria-label":"会话标题",onKeydown:y,onBlur:g,onClick:w[2]||(w[2]=tt(()=>{},["stop"]))},null,544)),[[it,f.value]]):(m(),v("span",yw,C(e.title||"新会话"),1))],8,vw)]),h("div",bw,[h("button",{class:ue(["ghost-btn stats-btn",{active:e.statsOpen}]),title:e.statsOpen?"收起会话统计":"会话统计:轮次与 token 用量","aria-label":e.statsOpen?"收起会话统计":"会话统计","aria-expanded":e.statsOpen,"data-stats-pill":"",onPointerdown:w[3]||(w[3]=tt(()=>{},["stop"])),onClick:w[4]||(w[4]=b=>s("toggle-stats"))},[X(ce,{name:"bar-chart",size:16}),e.turnCount?(m(),v("span",ww,C(e.turnCount)+" 轮",1)):U("",!0),e.turnCount&&a(e.turnTokens)?(m(),v("span",Sw,"·")):U("",!0),a(e.turnTokens)?(m(),v("span",_w,C(a(e.turnTokens)),1)):U("",!0)],42,kw),X(Ya,{open:l.value,"onUpdate:open":w[6]||(w[6]=b=>l.value=b),label:"更多会话操作",groups:u.value,placement:"bottom",align:"right",onSelect:c},{default:ot(()=>[h("button",{class:ue(["ghost-btn more-btn",{active:l.value}]),title:"更多操作","aria-label":"更多操作","aria-haspopup":"menu","aria-expanded":l.value,onClick:w[5]||(w[5]=b=>l.value=!l.value)},[X(ce,{name:"more",size:18})],10,$w)]),_:1},8,["open","groups"]),h("button",{class:ue(["ghost-btn",{active:o.value}]),title:o.value?"收起右栏":"打开右栏","aria-label":o.value?"收起右栏":"打开右栏",onClick:i},[X(ce,{name:"panel-right",size:18})],10,Cw)])]))}}),Iw=Te(xw,[["__scopeId","data-v-8f306594"]]),Tw={key:0,class:"ui-dialog-header"},Ew={class:"ui-dialog-title"},Aw={class:"ui-dialog-body"},Mw={key:1,class:"ui-dialog-footer"},Rw='a[href], button:not([disabled]), textarea, input:not([disabled]), select:not([disabled]), [tabindex]:not([tabindex="-1"])',Pw=Ie({__name:"Dialog",props:{open:{type:Boolean},title:{default:void 0},closable:{type:Boolean,default:!0},maxWidth:{default:void 0}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=O(null);let r=null;function i(){const l=o.value;return l?Array.from(l.querySelectorAll(Rw)).filter(u=>u.offsetParent!==null||u===document.activeElement):[]}function a(l){var p,g,y;if(!n.open)return;if(l.key==="Escape"&&n.closable!==!1){l.stopPropagation(),s("close");return}if(l.key!=="Tab")return;const u=i();if(u.length===0){l.preventDefault(),(p=o.value)==null||p.focus();return}const c=u[0],d=u[u.length-1],f=document.activeElement;l.shiftKey?(f===c||!((g=o.value)!=null&&g.contains(f)))&&(l.preventDefault(),d.focus()):(f===d||!((y=o.value)!=null&&y.contains(f)))&&(l.preventDefault(),c.focus())}return Se(()=>n.open,l=>{l?(r=document.activeElement instanceof HTMLElement?document.activeElement:null,Fe(()=>{const u=i()[0]??o.value;u==null||u.focus()})):r&&(r.focus(),r=null)},{immediate:!1}),et(()=>window.addEventListener("keydown",a,!0)),st(()=>window.removeEventListener("keydown",a,!0)),(l,u)=>(m(),De(Js,{to:"body"},[X(Ol,{name:"dialog"},{default:ot(()=>[e.open?(m(),v("div",{key:0,class:"ui-dialog-overlay",onClick:u[1]||(u[1]=tt(c=>e.closable!==!1&&s("close"),["self"]))},[h("div",{ref_key:"dialogRef",ref:o,class:"ui-dialog",style:bt(e.maxWidth?{maxWidth:e.maxWidth}:void 0),role:"dialog","aria-modal":"true",tabindex:"-1"},[e.title||l.$slots.header?(m(),v("div",Tw,[Co(l.$slots,"header",{},()=>[h("span",Ew,C(e.title),1)],!0),e.closable!==!1?(m(),v("button",{key:0,class:"ui-dialog-close","aria-label":"关闭",onClick:u[0]||(u[0]=c=>s("close"))},"✕")):U("",!0)])):U("",!0),h("div",Aw,[Co(l.$slots,"default",{},void 0,!0)]),l.$slots.footer?(m(),v("div",Mw,[Co(l.$slots,"footer",{},void 0,!0)])):U("",!0)],4)])):U("",!0)]),_:3})]))}}),Vl=Te(Pw,[["__scopeId","data-v-396acebf"]]),Lw={class:"info-row"},Dw={class:"info-val mono"},Nw={class:"info-row"},Ow={class:"info-val mono"},Gw={class:"info-row"},Bw={class:"info-val"},Fw={class:"info-row"},Uw={class:"info-val"},jw={class:"info-row"},zw={class:"info-val"},Hw={class:"info-row"},Ww={class:"info-val"},qw={class:"info-row"},Vw={class:"info-val"},Kw={class:"info-row"},Zw={class:"info-val"},Yw={class:"info-row"},Xw={class:"info-val"},Jw={class:"info-row"},Qw={class:"info-val"},e0={key:0,class:"info-row"},t0={class:"info-val"},n0={key:1,class:"info-row"},s0={class:"info-val"},o0={class:"info-val mono"},r0={class:"info-val"},i0={key:3,class:"info-empty"},a0=Ie({__name:"InfoPanel",props:{mode:{},status:{},sessionId:{},workDir:{}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=G(()=>n.mode==="status"?"会话状态":"Token 用量");function r(p){switch(p){case"auto":return"自动 (auto)";case"yolo":return"YOLO";case"manual":return"手动 (manual)";default:return p??"-"}}function i(p){return p?"开启":"关闭"}function a(p){return p!=null}function l(p){return typeof p=="number"?p.toLocaleString():"-"}function u(p){return typeof p!="number"?"-":`${(p>1?p:p*100).toFixed(1)}%`}function c(p){return p?p.inputOther+p.output+p.inputCacheRead+p.inputCacheCreation:0}function d(p){return p!=null&&p.byModel?Object.entries(p.byModel).map(([g,y])=>({model:g,tokens:c(y),output:y.output,cacheRead:y.inputCacheRead})):[]}const f=G(()=>a(n.status.usage)||a(n.status.contextTokens));return(p,g)=>(m(),De(Vl,{open:!0,title:o.value,onClose:g[0]||(g[0]=y=>s("close"))},{default:ot(()=>{var y,S;return[e.mode==="status"?(m(),v(ne,{key:0},[h("div",Lw,[g[1]||(g[1]=h("span",{class:"info-key"},"会话 ID",-1)),h("span",Dw,C(e.sessionId??"-"),1)]),h("div",Nw,[g[2]||(g[2]=h("span",{class:"info-key"},"工作目录",-1)),h("span",Ow,C(e.workDir??"-"),1)]),h("div",Gw,[g[3]||(g[3]=h("span",{class:"info-key"},"模型",-1)),h("span",Bw,C(e.status.model??"-"),1)]),h("div",Fw,[g[4]||(g[4]=h("span",{class:"info-key"},"权限模式",-1)),h("span",Uw,C(r(e.status.permission)),1)]),h("div",jw,[g[5]||(g[5]=h("span",{class:"info-key"},"思考级别",-1)),h("span",zw,C(e.status.thinkingLevel??"-"),1)]),h("div",Hw,[g[6]||(g[6]=h("span",{class:"info-key"},"计划模式",-1)),h("span",Ww,C(i(e.status.planMode)),1)]),h("div",qw,[g[7]||(g[7]=h("span",{class:"info-key"},"WolfPack 模式",-1)),h("span",Vw,C(i(e.status.wolfpackMode)),1)]),h("div",Kw,[g[8]||(g[8]=h("span",{class:"info-key"},"上下文",-1)),h("span",Zw,C(l(e.status.contextTokens))+" / "+C(l(e.status.maxContextTokens))+" ("+C(u(e.status.contextUsage))+")",1)])],64)):(m(),v(ne,{key:1},[h("div",Yw,[g[9]||(g[9]=h("span",{class:"info-key"},"上下文 Token",-1)),h("span",Xw,C(l(e.status.contextTokens))+" / "+C(l(e.status.maxContextTokens)),1)]),h("div",Jw,[g[10]||(g[10]=h("span",{class:"info-key"},"上下文占比",-1)),h("span",Qw,C(u(e.status.contextUsage)),1)]),(y=e.status.usage)!=null&&y.total?(m(),v("div",e0,[g[11]||(g[11]=h("span",{class:"info-key"},"累计 Token",-1)),h("span",t0,C(l(c(e.status.usage.total))),1)])):U("",!0),(S=e.status.usage)!=null&&S.currentTurn?(m(),v("div",n0,[g[12]||(g[12]=h("span",{class:"info-key"},"当前回合",-1)),h("span",s0,C(l(c(e.status.usage.currentTurn))),1)])):U("",!0),d(e.status.usage).length?(m(),v(ne,{key:2},[g[13]||(g[13]=h("div",{class:"info-subhead"},"按模型",-1)),(m(!0),v(ne,null,Ce(d(e.status.usage),k=>(m(),v("div",{key:k.model,class:"info-row info-row-model"},[h("span",o0,C(k.model),1),h("span",r0,C(l(k.tokens))+"(输出 "+C(l(k.output))+" · 缓存读 "+C(l(k.cacheRead))+")",1)]))),128))],64)):U("",!0),f.value?U("",!0):(m(),v("div",i0,"暂无用量数据"))],64))]}),_:1},8,["title"]))}}),wh=Te(a0,[["__scopeId","data-v-1555711d"]]);function l0(e,t=Date.now()){const n=new Date(e),s=new Date(t),o=n.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"});return n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate()?o:`${n.getFullYear()===s.getFullYear()?`${n.getMonth()+1}月${n.getDate()}日`:`${n.getFullYear()}年${n.getMonth()+1}月${n.getDate()}日`} ${o}`}function u0(e,t){const n=new Date(e),s=new Date(t);return n.getFullYear()===s.getFullYear()&&n.getMonth()===s.getMonth()&&n.getDate()===s.getDate()}function c0(e,t=Date.now()){const n=new Date(e),s=new Date(t);return n.getFullYear()===s.getFullYear()?`${n.getMonth()+1}月${n.getDate()}日`:`${n.getFullYear()}年${n.getMonth()+1}月${n.getDate()}日`}const d0=new Set(["edit","str_replace","replace","write","multi_edit","create_file","edit_file","apply_patch"]);function Sh(e){return d0.has(e.toLowerCase())}function Ri(e,t=!0){return e.suspended?"suspended":e.isError?"error":e.output===void 0?t?"running":"unknown":"ok"}function f0(e,t=!0){const n=new Set(e.map(s=>Ri(s,t)));return n.has("running")?"running":n.has("error")?"error":n.has("suspended")?"suspended":n.has("unknown")?"unknown":"ok"}function h0(e){if(!e||typeof e!="object")return null;const t=e,n=t.file_path??t.path;return typeof n=="string"&&n.length>0?n:null}function Kl(e,t){if(e.startsWith("/")||e.startsWith("~"))return e;let n=e;for(;n.startsWith("./");)n=n.slice(2);return t?`${t.replace(/\/+$/,"")}/${n}`:n}function p0(e,t){const n=new Set,s=[];for(const o of e.tools){if(!Sh(o.name)||Ri(o,!1)!=="ok")continue;const r=h0(o.args);if(!r)continue;const i=Kl(r,t);n.has(i)||(n.add(i),s.push({filePath:i,toolName:o.name}))}return s}function Zl(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var ks=Zl();function _h(e){ks=e}var To={exec:()=>null};function Ve(e,t=""){let n=typeof e=="string"?e:e.source;const s={replace:(o,r)=>{let i=typeof r=="string"?r:r.source;return i=i.replace(Pt.caret,"$1"),n=n.replace(o,i),s},getRegex:()=>new RegExp(n,t)};return s}var Pt={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},g0=/^(?:[ \t]*(?:\n|$))+/,m0=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,v0=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Yo=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,y0=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,Yl=/(?:[*+-]|\d{1,9}[.)])/,$h=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Ch=Ve($h).replace(/bull/g,Yl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),b0=Ve($h).replace(/bull/g,Yl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),Xl=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,k0=/^[^\n]+/,Jl=/(?!\s*\])(?:\\.|[^\[\]\\])+/,w0=Ve(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",Jl).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),S0=Ve(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Yl).getRegex(),Pi="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Ql=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,_0=Ve("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",Ql).replace("tag",Pi).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),xh=Ve(Xl).replace("hr",Yo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Pi).getRegex(),$0=Ve(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",xh).getRegex(),eu={blockquote:$0,code:m0,def:w0,fences:v0,heading:y0,hr:Yo,html:_0,lheading:Ch,list:S0,newline:g0,paragraph:xh,table:To,text:k0},Tc=Ve("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Yo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Pi).getRegex(),C0={...eu,lheading:b0,table:Tc,paragraph:Ve(Xl).replace("hr",Yo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",Tc).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Pi).getRegex()},x0={...eu,html:Ve(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Ql).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:To,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Ve(Xl).replace("hr",Yo).replace("heading",` *#{1,6} *[^
21
+ ]`).replace("lheading",Ch).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},I0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,T0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Ih=/^( {2,}|\\)\n(?!\s*$)/,E0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Li=/[\p{P}\p{S}]/u,tu=/[\s\p{P}\p{S}]/u,Th=/[^\s\p{P}\p{S}]/u,A0=Ve(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,tu).getRegex(),Eh=/(?!~)[\p{P}\p{S}]/u,M0=/(?!~)[\s\p{P}\p{S}]/u,R0=/(?:[^\s\p{P}\p{S}]|~)/u,P0=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,Ah=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,L0=Ve(Ah,"u").replace(/punct/g,Li).getRegex(),D0=Ve(Ah,"u").replace(/punct/g,Eh).getRegex(),Mh="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",N0=Ve(Mh,"gu").replace(/notPunctSpace/g,Th).replace(/punctSpace/g,tu).replace(/punct/g,Li).getRegex(),O0=Ve(Mh,"gu").replace(/notPunctSpace/g,R0).replace(/punctSpace/g,M0).replace(/punct/g,Eh).getRegex(),G0=Ve("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,Th).replace(/punctSpace/g,tu).replace(/punct/g,Li).getRegex(),B0=Ve(/\\(punct)/,"gu").replace(/punct/g,Li).getRegex(),F0=Ve(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),U0=Ve(Ql).replace("(?:-->|$)","-->").getRegex(),j0=Ve("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",U0).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Qr=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,z0=Ve(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Qr).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Rh=Ve(/^!?\[(label)\]\[(ref)\]/).replace("label",Qr).replace("ref",Jl).getRegex(),Ph=Ve(/^!?\[(ref)\](?:\[\])?/).replace("ref",Jl).getRegex(),H0=Ve("reflink|nolink(?!\\()","g").replace("reflink",Rh).replace("nolink",Ph).getRegex(),nu={_backpedal:To,anyPunctuation:B0,autolink:F0,blockSkip:P0,br:Ih,code:T0,del:To,emStrongLDelim:L0,emStrongRDelimAst:N0,emStrongRDelimUnd:G0,escape:I0,link:z0,nolink:Ph,punctuation:A0,reflink:Rh,reflinkSearch:H0,tag:j0,text:E0,url:To},W0={...nu,link:Ve(/^!?\[(label)\]\((.*?)\)/).replace("label",Qr).getRegex(),reflink:Ve(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Qr).getRegex()},Xa={...nu,emStrongRDelimAst:O0,emStrongLDelim:D0,url:Ve(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},q0={...Xa,br:Ve(Ih).replace("{2,}","*").getRegex(),text:Ve(Xa.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ar={normal:eu,gfm:C0,pedantic:x0},fo={normal:nu,gfm:Xa,breaks:q0,pedantic:W0},V0={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ec=e=>V0[e];function ln(e,t){if(t){if(Pt.escapeTest.test(e))return e.replace(Pt.escapeReplace,Ec)}else if(Pt.escapeTestNoEncode.test(e))return e.replace(Pt.escapeReplaceNoEncode,Ec);return e}function Ac(e){try{e=encodeURI(e).replace(Pt.percentDecode,"%")}catch{return null}return e}function Mc(e,t){var r;const n=e.replace(Pt.findPipe,(i,a,l)=>{let u=!1,c=a;for(;--c>=0&&l[c]==="\\";)u=!u;return u?"|":" |"}),s=n.split(Pt.splitPipe);let o=0;if(s[0].trim()||s.shift(),s.length>0&&!((r=s.at(-1))!=null&&r.trim())&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;o<s.length;o++)s[o]=s[o].trim().replace(Pt.slashPipe,"|");return s}function ho(e,t,n){const s=e.length;if(s===0)return"";let o=0;for(;o<s&&e.charAt(s-o-1)===t;)o++;return e.slice(0,s-o)}function K0(e,t){if(e.indexOf(t[1])===-1)return-1;let n=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])n++;else if(e[s]===t[1]&&(n--,n<0))return s;return n>0?-2:-1}function Rc(e,t,n,s,o){const r=t.href,i=t.title||null,a=e[1].replace(o.other.outputLinkReplace,"$1");s.state.inLink=!0;const l={type:e[0].charAt(0)==="!"?"image":"link",raw:n,href:r,title:i,text:a,tokens:s.inlineTokens(a)};return s.state.inLink=!1,l}function Z0(e,t,n){const s=e.match(n.other.indentCodeCompensation);if(s===null)return t;const o=s[1];return t.split(`
22
22
  `).map(r=>{const i=r.match(n.other.beginningSpace);if(i===null)return r;const[a]=i;return a.length>=o.length?r.slice(o.length):r}).join(`
23
- `)}var Qr=class{constructor(e){Y(this,"options");Y(this,"rules");Y(this,"lexer");this.options=e||bs}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:fo(n,`
24
- `)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const n=t[0],s=K0(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){const s=fo(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:fo(t[0],`
25
- `)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let n=fo(t[0],`
23
+ `)}var ei=class{constructor(e){Y(this,"options");Y(this,"rules");Y(this,"lexer");this.options=e||ks}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const n=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:ho(n,`
24
+ `)}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const n=t[0],s=Z0(n,t[3]||"",this.rules);return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:s}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let n=t[2].trim();if(this.rules.other.endingHash.test(n)){const s=ho(n,"#");(this.options.pedantic||!s||this.rules.other.endingSpaceChar.test(s))&&(n=s.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:ho(t[0],`
25
+ `)}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){let n=ho(t[0],`
26
26
  `).split(`
27
27
  `),s="",o="";const r=[];for(;n.length>0;){let i=!1;const a=[];let l;for(l=0;l<n.length;l++)if(this.rules.other.blockquoteStart.test(n[l]))a.push(n[l]),i=!0;else if(!i)a.push(n[l]);else break;n=n.slice(l);const u=a.join(`
28
28
  `),c=u.replace(this.rules.other.blockquoteSetextReplace,`
@@ -42,7 +42,7 @@ ${c}`:c;const d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.block
42
42
  `+f}!p&&!f.trim()&&(p=!0),u+=D+`
43
43
  `,e=e.substring(D.length+1),d=E.slice(g)}}o.loose||(i?o.loose=!0:this.rules.other.doubleBlankLine.test(u)&&(i=!0));let y=null,S;this.options.gfm&&(y=this.rules.other.listIsTask.exec(c),y&&(S=y[0]!=="[ ] ",c=c.replace(this.rules.other.listReplaceTask,""))),o.items.push({type:"list_item",raw:u,task:!!y,checked:S,loose:!1,text:c,tokens:[]}),o.raw+=u}const a=o.items.at(-1);if(a)a.raw=a.raw.trimEnd(),a.text=a.text.trimEnd();else return;o.raw=o.raw.trimEnd();for(let l=0;l<o.items.length;l++)if(this.lexer.state.top=!1,o.items[l].tokens=this.lexer.blockTokens(o.items[l].text,[]),!o.loose){const u=o.items[l].tokens.filter(d=>d.type==="space"),c=u.length>0&&u.some(d=>this.rules.other.anyLine.test(d.raw));o.loose=c}if(o.loose)for(let l=0;l<o.items.length;l++)o.items[l].loose=!0;return o}}html(e){const t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:t[1]==="pre"||t[1]==="script"||t[1]==="style",text:t[0]}}def(e){const t=this.rules.block.def.exec(e);if(t){const n=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),s=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",o=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:s,title:o}}}table(e){var i;const t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;const n=Mc(t[1]),s=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),o=(i=t[3])!=null&&i.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split(`
44
44
  `):[],r={type:"table",raw:t[0],header:[],align:[],rows:[]};if(n.length===s.length){for(const a of s)this.rules.other.tableAlignRight.test(a)?r.align.push("right"):this.rules.other.tableAlignCenter.test(a)?r.align.push("center"):this.rules.other.tableAlignLeft.test(a)?r.align.push("left"):r.align.push(null);for(let a=0;a<n.length;a++)r.header.push({text:n[a],tokens:this.lexer.inline(n[a]),header:!0,align:r.align[a]});for(const a of o)r.rows.push(Mc(a,r.header.length).map((l,u)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:r.align[u]})));return r}}lheading(e){const t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[2].charAt(0)==="="?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){const t=this.rules.block.paragraph.exec(e);if(t){const n=t[1].charAt(t[1].length-1)===`
45
- `?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;const r=fo(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{const r=V0(t[2],"()");if(r===-2)return;if(r>-1){const a=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let s=t[2],o="";if(this.options.pedantic){const r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],o=r[3])}else o=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Rc(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=t[s.toLowerCase()];if(!o){const r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return Rc(n,o,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!s||s[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const r=[...s[0]].length-1;let i,a,l=r,u=0;const c=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+r);(s=c.exec(t))!=null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(a=[...i].length,s[3]||s[4]){l+=a;continue}else if((s[5]||s[6])&&r%3&&!((r+a)%3)){u+=a;continue}if(l-=a,l>0)continue;a=Math.min(a,a+l+u);const d=[...s[0]][0].length,f=e.slice(0,r+s.index+d+a);if(Math.min(r,a)%2){const g=f.slice(1,-1);return{type:"em",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}const p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," ");const s=this.rules.other.nonSpaceChar.test(n),o=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&o&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){var n;let t;if(t=this.rules.inline.url.exec(e)){let s,o;if(t[2]==="@")s=t[0],o="mailto:"+s;else{let r;do r=t[0],t[0]=((n=this.rules.inline._backpedal.exec(t[0]))==null?void 0:n[0])??"";while(r!==t[0]);s=t[0],t[1]==="www."?o="http://"+t[0]:o=t[0]}return{type:"link",raw:t[0],text:s,href:o,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){const n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},_n=class Ja{constructor(t){Y(this,"tokens");Y(this,"options");Y(this,"state");Y(this,"tokenizer");Y(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||bs,this.options.tokenizer=this.options.tokenizer||new Qr,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={other:Pt,block:ir.normal,inline:co.normal};this.options.pedantic?(n.block=ir.pedantic,n.inline=co.pedantic):this.options.gfm&&(n.block=ir.gfm,this.options.breaks?n.inline=co.breaks:n.inline=co.gfm),this.tokenizer.rules=n}static get rules(){return{block:ir,inline:co}}static lex(t,n){return new Ja(n).lex(t)}static lexInline(t,n){return new Ja(n).inlineTokens(t)}lex(t){t=t.replace(Pt.carriageReturn,`
45
+ `?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:n,tokens:this.lexer.inline(n)}}}text(e){const t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){const t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){const t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const n=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(n)){if(!this.rules.other.endAngleBracket.test(n))return;const r=ho(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{const r=K0(t[2],"()");if(r===-2)return;if(r>-1){const a=(t[0].indexOf("!")===0?5:4)+t[1].length+r;t[2]=t[2].substring(0,r),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let s=t[2],o="";if(this.options.pedantic){const r=this.rules.other.pedanticHrefTitle.exec(s);r&&(s=r[1],o=r[3])}else o=t[3]?t[3].slice(1,-1):"";return s=s.trim(),this.rules.other.startAngleBracket.test(s)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(n)?s=s.slice(1):s=s.slice(1,-1)),Rc(t,{href:s&&s.replace(this.rules.inline.anyPunctuation,"$1"),title:o&&o.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){const s=(n[2]||n[1]).replace(this.rules.other.multipleSpaceGlobal," "),o=t[s.toLowerCase()];if(!o){const r=n[0].charAt(0);return{type:"text",raw:r,text:r}}return Rc(n,o,n[0],this.lexer,this.rules)}}emStrong(e,t,n=""){let s=this.rules.inline.emStrongLDelim.exec(e);if(!s||s[3]&&n.match(this.rules.other.unicodeAlphaNumeric))return;if(!(s[1]||s[2]||"")||!n||this.rules.inline.punctuation.exec(n)){const r=[...s[0]].length-1;let i,a,l=r,u=0;const c=s[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+r);(s=c.exec(t))!=null;){if(i=s[1]||s[2]||s[3]||s[4]||s[5]||s[6],!i)continue;if(a=[...i].length,s[3]||s[4]){l+=a;continue}else if((s[5]||s[6])&&r%3&&!((r+a)%3)){u+=a;continue}if(l-=a,l>0)continue;a=Math.min(a,a+l+u);const d=[...s[0]][0].length,f=e.slice(0,r+s.index+d+a);if(Math.min(r,a)%2){const g=f.slice(1,-1);return{type:"em",raw:f,text:g,tokens:this.lexer.inlineTokens(g)}}const p=f.slice(2,-2);return{type:"strong",raw:f,text:p,tokens:this.lexer.inlineTokens(p)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let n=t[2].replace(this.rules.other.newLineCharGlobal," ");const s=this.rules.other.nonSpaceChar.test(n),o=this.rules.other.startingSpaceChar.test(n)&&this.rules.other.endingSpaceChar.test(n);return s&&o&&(n=n.substring(1,n.length-1)),{type:"codespan",raw:t[0],text:n}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){const t=this.rules.inline.autolink.exec(e);if(t){let n,s;return t[2]==="@"?(n=t[1],s="mailto:"+n):(n=t[1],s=n),{type:"link",raw:t[0],text:n,href:s,tokens:[{type:"text",raw:n,text:n}]}}}url(e){var n;let t;if(t=this.rules.inline.url.exec(e)){let s,o;if(t[2]==="@")s=t[0],o="mailto:"+s;else{let r;do r=t[0],t[0]=((n=this.rules.inline._backpedal.exec(t[0]))==null?void 0:n[0])??"";while(r!==t[0]);s=t[0],t[1]==="www."?o="http://"+t[0]:o=t[0]}return{type:"link",raw:t[0],text:s,href:o,tokens:[{type:"text",raw:s,text:s}]}}}inlineText(e){const t=this.rules.inline.text.exec(e);if(t){const n=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:n}}}},_n=class Ja{constructor(t){Y(this,"tokens");Y(this,"options");Y(this,"state");Y(this,"tokenizer");Y(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||ks,this.options.tokenizer=this.options.tokenizer||new ei,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const n={other:Pt,block:ar.normal,inline:fo.normal};this.options.pedantic?(n.block=ar.pedantic,n.inline=fo.pedantic):this.options.gfm&&(n.block=ar.gfm,this.options.breaks?n.inline=fo.breaks:n.inline=fo.gfm),this.tokenizer.rules=n}static get rules(){return{block:ar,inline:fo}}static lex(t,n){return new Ja(n).lex(t)}static lexInline(t,n){return new Ja(n).inlineTokens(t)}lex(t){t=t.replace(Pt.carriageReturn,`
46
46
  `),this.blockTokens(t,this.tokens);for(let n=0;n<this.inlineQueue.length;n++){const s=this.inlineQueue[n];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,n=[],s=!1){var o,r,i;for(this.options.pedantic&&(t=t.replace(Pt.tabCharGlobal," ").replace(Pt.spaceLine,""));t;){let a;if((r=(o=this.options.extensions)==null?void 0:o.block)!=null&&r.some(u=>(a=u.call({lexer:this},t,n))?(t=t.substring(a.raw.length),n.push(a),!0):!1))continue;if(a=this.tokenizer.space(t)){t=t.substring(a.raw.length);const u=n.at(-1);a.raw.length===1&&u!==void 0?u.raw+=`
47
47
  `:n.push(a);continue}if(a=this.tokenizer.code(t)){t=t.substring(a.raw.length);const u=n.at(-1);(u==null?void 0:u.type)==="paragraph"||(u==null?void 0:u.type)==="text"?(u.raw+=`
48
48
  `+a.raw,u.text+=`
@@ -52,7 +52,7 @@ ${c}`:c;const d=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.block
52
52
  `+a.raw,u.text+=`
53
53
  `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):n.push(a),s=l.length!==t.length,t=t.substring(a.raw.length);continue}if(a=this.tokenizer.text(t)){t=t.substring(a.raw.length);const u=n.at(-1);(u==null?void 0:u.type)==="text"?(u.raw+=`
54
54
  `+a.raw,u.text+=`
55
- `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):n.push(a);continue}if(t){const u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){var a,l,u;let s=t,o=null;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)c.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(o=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let r=!1,i="";for(;t;){r||(i=""),r=!1;let c;if((l=(a=this.options.extensions)==null?void 0:a.inline)!=null&&l.some(f=>(c=f.call({lexer:this},t,n))?(t=t.substring(c.raw.length),n.push(c),!0):!1))continue;if(c=this.tokenizer.escape(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.tag(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.link(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(c.raw.length);const f=n.at(-1);c.type==="text"&&(f==null?void 0:f.type)==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(c=this.tokenizer.emStrong(t,s,i)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.codespan(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.br(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.del(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.autolink(t)){t=t.substring(c.raw.length),n.push(c);continue}if(!this.state.inLink&&(c=this.tokenizer.url(t))){t=t.substring(c.raw.length),n.push(c);continue}let d=t;if((u=this.options.extensions)!=null&&u.startInline){let f=1/0;const p=t.slice(1);let g;this.options.extensions.startInline.forEach(y=>{g=y.call({lexer:this},p),typeof g=="number"&&g>=0&&(f=Math.min(f,g))}),f<1/0&&f>=0&&(d=t.substring(0,f+1))}if(c=this.tokenizer.inlineText(d)){t=t.substring(c.raw.length),c.raw.slice(-1)!=="_"&&(i=c.raw.slice(-1)),r=!0;const f=n.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(t){const f="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return n}},ei=class{constructor(e){Y(this,"options");Y(this,"parser");this.options=e||bs}space(e){return""}code({text:e,lang:t,escaped:n}){var r;const s=(r=(t||"").match(Pt.notSpaceStart))==null?void 0:r[0],o=e.replace(Pt.endingNewline,"")+`
55
+ `+a.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=u.text):n.push(a);continue}if(t){const u="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(u);break}else throw new Error(u)}}return this.state.top=!0,n}inline(t,n=[]){return this.inlineQueue.push({src:t,tokens:n}),n}inlineTokens(t,n=[]){var a,l,u;let s=t,o=null;if(this.tokens.links){const c=Object.keys(this.tokens.links);if(c.length>0)for(;(o=this.tokenizer.rules.inline.reflinkSearch.exec(s))!=null;)c.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(o=this.tokenizer.rules.inline.anyPunctuation.exec(s))!=null;)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(o=this.tokenizer.rules.inline.blockSkip.exec(s))!=null;)s=s.slice(0,o.index)+"["+"a".repeat(o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let r=!1,i="";for(;t;){r||(i=""),r=!1;let c;if((l=(a=this.options.extensions)==null?void 0:a.inline)!=null&&l.some(f=>(c=f.call({lexer:this},t,n))?(t=t.substring(c.raw.length),n.push(c),!0):!1))continue;if(c=this.tokenizer.escape(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.tag(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.link(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(c.raw.length);const f=n.at(-1);c.type==="text"&&(f==null?void 0:f.type)==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(c=this.tokenizer.emStrong(t,s,i)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.codespan(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.br(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.del(t)){t=t.substring(c.raw.length),n.push(c);continue}if(c=this.tokenizer.autolink(t)){t=t.substring(c.raw.length),n.push(c);continue}if(!this.state.inLink&&(c=this.tokenizer.url(t))){t=t.substring(c.raw.length),n.push(c);continue}let d=t;if((u=this.options.extensions)!=null&&u.startInline){let f=1/0;const p=t.slice(1);let g;this.options.extensions.startInline.forEach(y=>{g=y.call({lexer:this},p),typeof g=="number"&&g>=0&&(f=Math.min(f,g))}),f<1/0&&f>=0&&(d=t.substring(0,f+1))}if(c=this.tokenizer.inlineText(d)){t=t.substring(c.raw.length),c.raw.slice(-1)!=="_"&&(i=c.raw.slice(-1)),r=!0;const f=n.at(-1);(f==null?void 0:f.type)==="text"?(f.raw+=c.raw,f.text+=c.text):n.push(c);continue}if(t){const f="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(f);break}else throw new Error(f)}}return n}},ti=class{constructor(e){Y(this,"options");Y(this,"parser");this.options=e||ks}space(e){return""}code({text:e,lang:t,escaped:n}){var r;const s=(r=(t||"").match(Pt.notSpaceStart))==null?void 0:r[0],o=e.replace(Pt.endingNewline,"")+`
56
56
  `;return s?'<pre><code class="language-'+ln(s)+'">'+(n?o:ln(o,!0))+`</code></pre>
57
57
  `:"<pre><code>"+(n?o:ln(o,!0))+`</code></pre>
58
58
  `}blockquote({tokens:e}){return`<blockquote>
@@ -70,11 +70,11 @@ ${this.parser.parse(e)}</blockquote>
70
70
  `}tablerow({text:e}){return`<tr>
71
71
  ${e}</tr>
72
72
  `}tablecell(e){const t=this.parser.parseInline(e.tokens),n=e.header?"th":"td";return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`</${n}>
73
- `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ln(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){const s=this.parser.parseInline(n),o=Ac(e);if(o===null)return s;e=o;let r='<a href="'+e+'"';return t&&(r+=' title="'+ln(t)+'"'),r+=">"+s+"</a>",r}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));const o=Ac(e);if(o===null)return ln(n);e=o;let r=`<img src="${e}" alt="${n}"`;return t&&(r+=` title="${ln(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ln(e.text)}},su=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},$n=class Qa{constructor(t){Y(this,"options");Y(this,"renderer");Y(this,"textRenderer");this.options=t||bs,this.options.renderer=this.options.renderer||new ei,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new su}static parse(t,n){return new Qa(n).parse(t)}static parseInline(t,n){return new Qa(n).parseInline(t)}parse(t,n=!0){var o,r;let s="";for(let i=0;i<t.length;i++){const a=t[i];if((r=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&r[a.type]){const u=a,c=this.options.extensions.renderers[u.type].call({parser:this},u);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(u.type)){s+=c||"";continue}}const l=a;switch(l.type){case"space":{s+=this.renderer.space(l);continue}case"hr":{s+=this.renderer.hr(l);continue}case"heading":{s+=this.renderer.heading(l);continue}case"code":{s+=this.renderer.code(l);continue}case"table":{s+=this.renderer.table(l);continue}case"blockquote":{s+=this.renderer.blockquote(l);continue}case"list":{s+=this.renderer.list(l);continue}case"html":{s+=this.renderer.html(l);continue}case"paragraph":{s+=this.renderer.paragraph(l);continue}case"text":{let u=l,c=this.renderer.text(u);for(;i+1<t.length&&t[i+1].type==="text";)u=t[++i],c+=`
74
- `+this.renderer.text(u);n?s+=this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c,escaped:!0}]}):s+=c;continue}default:{const u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return s}parseInline(t,n=this.renderer){var o,r;let s="";for(let i=0;i<t.length;i++){const a=t[i];if((r=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&r[a.type]){const u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=u||"";continue}}const l=a;switch(l.type){case"escape":{s+=n.text(l);break}case"html":{s+=n.html(l);break}case"link":{s+=n.link(l);break}case"image":{s+=n.image(l);break}case"strong":{s+=n.strong(l);break}case"em":{s+=n.em(l);break}case"codespan":{s+=n.codespan(l);break}case"br":{s+=n.br(l);break}case"del":{s+=n.del(l);break}case"text":{s+=n.text(l);break}default:{const u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return s}},Ia,Cr=(Ia=class{constructor(e){Y(this,"options");Y(this,"block");this.options=e||bs}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?_n.lex:_n.lexInline}provideParser(){return this.block?$n.parse:$n.parseInline}},Y(Ia,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),Ia),Z0=class{constructor(...e){Y(this,"defaults",Zl());Y(this,"options",this.setOptions);Y(this,"parse",this.parseMarkdown(!0));Y(this,"parseInline",this.parseMarkdown(!1));Y(this,"Parser",$n);Y(this,"Renderer",ei);Y(this,"TextRenderer",su);Y(this,"Lexer",_n);Y(this,"Tokenizer",Qr);Y(this,"Hooks",Cr);this.use(...e)}walkTokens(e,t){var s,o;let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{const i=r;for(const a of i.header)n=n.concat(this.walkTokens(a.tokens,t));for(const a of i.rows)for(const l of a)n=n.concat(this.walkTokens(l.tokens,t));break}case"list":{const i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{const i=r;(o=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&o[i.type]?this.defaults.extensions.childTokens[i.type].forEach(a=>{const l=i[a].flat(1/0);n=n.concat(this.walkTokens(l,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{const s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){const r=t.renderers[o.name];r?t.renderers[o.name]=function(...i){let a=o.renderer.apply(this,i);return a===!1&&(a=r.apply(this,i)),a}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=t[o.level];r?r.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),s.extensions=t),n.renderer){const o=this.defaults.renderer||new ei(this.defaults);for(const r in n.renderer){if(!(r in o))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const i=r,a=n.renderer[i],l=o[i];o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c||""}}s.renderer=o}if(n.tokenizer){const o=this.defaults.tokenizer||new Qr(this.defaults);for(const r in n.tokenizer){if(!(r in o))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const i=r,a=n.tokenizer[i],l=o[i];o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c}}s.tokenizer=o}if(n.hooks){const o=this.defaults.hooks||new Cr;for(const r in n.hooks){if(!(r in o))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;const i=r,a=n.hooks[i],l=o[i];Cr.passThroughHooks.has(r)?o[i]=u=>{if(this.defaults.async)return Promise.resolve(a.call(o,u)).then(d=>l.call(o,d));const c=a.call(o,u);return l.call(o,c)}:o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c}}s.hooks=o}if(n.walkTokens){const o=this.defaults.walkTokens,r=n.walkTokens;s.walkTokens=function(i){let a=[];return a.push(r.call(this,i)),o&&(a=a.concat(o.call(this,i))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return _n.lex(e,t??this.defaults)}parser(e,t){return $n.parse(e,t??this.defaults)}parseMarkdown(e){return(n,s)=>{const o={...s},r={...this.defaults,...o},i=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&o.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));r.hooks&&(r.hooks.options=r,r.hooks.block=e);const a=r.hooks?r.hooks.provideLexer():e?_n.lex:_n.lexInline,l=r.hooks?r.hooks.provideParser():e?$n.parse:$n.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then(u=>a(u,r)).then(u=>r.hooks?r.hooks.processAllTokens(u):u).then(u=>r.walkTokens?Promise.all(this.walkTokens(u,r.walkTokens)).then(()=>u):u).then(u=>l(u,r)).then(u=>r.hooks?r.hooks.postprocess(u):u).catch(i);try{r.hooks&&(n=r.hooks.preprocess(n));let u=a(n,r);r.hooks&&(u=r.hooks.processAllTokens(u)),r.walkTokens&&this.walkTokens(u,r.walkTokens);let c=l(u,r);return r.hooks&&(c=r.hooks.postprocess(c)),c}catch(u){return i(u)}}}onError(e,t){return n=>{if(n.message+=`
75
- Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An error occurred:</p><pre>"+ln(n.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},vs=new Z0;function We(e,t){return vs.parse(e,t)}We.options=We.setOptions=function(e){return vs.setOptions(e),We.defaults=vs.defaults,_h(We.defaults),We};We.getDefaults=Zl;We.defaults=bs;We.use=function(...e){return vs.use(...e),We.defaults=vs.defaults,_h(We.defaults),We};We.walkTokens=function(e,t){return vs.walkTokens(e,t)};We.parseInline=vs.parseInline;We.Parser=$n;We.parser=$n.parse;We.Renderer=ei;We.TextRenderer=su;We.Lexer=_n;We.lexer=_n.lex;We.Tokenizer=Qr;We.Hooks=Cr;We.parse=We;We.options;We.setOptions;We.use;We.walkTokens;We.parseInline;$n.parse;_n.lex;const Y0="modulepreload",X0=function(e,t){return new URL(e,t).href},Pc={},Be=function(t,n,s){let o=Promise.resolve();if(n&&n.length>0){let i=function(c){return Promise.all(c.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const a=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),u=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=i(n.map(c=>{if(c=X0(c,s),c in Pc)return;Pc[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(!!s)for(let y=a.length-1;y>=0;y--){const S=a[y];if(S.href===c&&(!d||S.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const g=document.createElement("link");if(g.rel=d?"stylesheet":Y0,d||(g.as="script"),g.crossOrigin="",g.href=c,u&&g.setAttribute("nonce",u),document.head.appendChild(g),d)return new Promise((y,S)=>{g.addEventListener("load",y),g.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return o.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};let vt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function J0(e){return ou(e)}function ou(e){return Array.isArray(e)?Q0(e):e instanceof RegExp?e:typeof e=="object"?eS(e):e}function Q0(e){let t=[];for(let n=0,s=e.length;n<s;n++)t[n]=ou(e[n]);return t}function eS(e){let t={};for(let n in e)t[n]=ou(e[n]);return t}function Lh(e,...t){return t.forEach(n=>{for(let s in n)e[s]=n[s]}),e}function Dh(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Dh(e.substring(0,e.length-1)):e.substr(~t+1)}var oa=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,ar=class{static hasCaptures(e){return e===null?!1:(oa.lastIndex=0,oa.test(e))}static replaceCaptures(e,t,n){return e.replace(oa,(s,o,r,i)=>{let a=n[parseInt(o||r,10)];if(a){let l=t.substring(a.start,a.end);for(;l[0]===".";)l=l.substring(1);switch(i){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return s})}};function Nh(e,t){return e<t?-1:e>t?1:0}function Oh(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,s=t.length;if(n===s){for(let o=0;o<n;o++){let r=Nh(e[o],t[o]);if(r!==0)return r}return 0}return n-s}function Lc(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Gh(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Bh=class{constructor(e){Y(this,"cache",new Map);this.fn=e}get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},ti=class{constructor(e,t,n){Y(this,"_cachedMatchRoot",new Bh(e=>this._root.match(e)));this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(sS(e),t)}static createFromParsedTheme(e,t){return rS(e,t)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,s=this._cachedMatchRoot.get(t).find(o=>tS(e.parent,o.parentScopes));return s?new Fh(s.fontStyle,s.foreground,s.background):null}},ra=class xr{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const s of n)t=new xr(t,s);return t}static from(...t){let n=null;for(let s=0;s<t.length;s++)n=new xr(n,t[s]);return n}push(t){return new xr(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let s=this;for(;s&&s!==t;)n.push(s.scopeName),s=s.parent;return s===t?n.reverse():void 0}};function tS(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let s=t[n],o=!1;if(s===">"){if(n===t.length-1)return!1;s=t[++n],o=!0}for(;e&&!nS(e.scopeName,s);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function nS(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Fh=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function sS(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],s=0;for(let o=0,r=t.length;o<r;o++){let i=t[o];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let d=i.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),a=d.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let l=-1;if(typeof i.settings.fontStyle=="string"){l=0;let d=i.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof i.settings.foreground=="string"&&Lc(i.settings.foreground)&&(u=i.settings.foreground);let c=null;typeof i.settings.background=="string"&&Lc(i.settings.background)&&(c=i.settings.background);for(let d=0,f=a.length;d<f;d++){let g=a[d].trim().split(" "),y=g[g.length-1],S=null;g.length>1&&(S=g.slice(0,g.length-1),S.reverse()),n[s++]=new oS(y,S,o,l,u,c)}}return n}var oS=class{constructor(e,t,n,s,o,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=s,this.foreground=o,this.background=r}},It=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(It||{});function rS(e,t){e.sort((l,u)=>{let c=Nh(l.scope,u.scope);return c!==0||(c=Oh(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let n=0,s="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(n=l.fontStyle),l.foreground!==null&&(s=l.foreground),l.background!==null&&(o=l.background)}let r=new iS(t),i=new Fh(n,r.getId(s),r.getId(o)),a=new lS(new el(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];a.insert(0,c.scope,c.parentScopes,c.fontStyle,r.getId(c.foreground),r.getId(c.background))}return new ti(r,i,a)}var iS=class{constructor(e){Y(this,"_isFrozen");Y(this,"_lastColorId");Y(this,"_id2color");Y(this,"_color2id");if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},aS=Object.freeze([]),el=class Uh{constructor(t,n,s,o,r){Y(this,"scopeDepth");Y(this,"parentScopes");Y(this,"fontStyle");Y(this,"foreground");Y(this,"background");this.scopeDepth=t,this.parentScopes=n||aS,this.fontStyle=s,this.foreground=o,this.background=r}clone(){return new Uh(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let s=0,o=t.length;s<o;s++)n[s]=t[s].clone();return n}acceptOverwrite(t,n,s,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),s!==0&&(this.foreground=s),o!==0&&(this.background=o)}},lS=class tl{constructor(t,n=[],s={}){Y(this,"_rulesWithParentScopes");this._mainRule=t,this._children=s,this._rulesWithParentScopes=n}static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let s=0,o=0;for(;t.parentScopes[s]===">"&&s++,n.parentScopes[o]===">"&&o++,!(s>=t.parentScopes.length||o>=n.parentScopes.length);){const r=n.parentScopes[o].length-t.parentScopes[s].length;if(r!==0)return r;s++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let s=t.indexOf("."),o,r;if(s===-1?(o=t,r=""):(o=t.substring(0,s),r=t.substring(s+1)),this._children.hasOwnProperty(o))return this._children[o].match(r)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(tl._cmpBySpecificity),n}insert(t,n,s,o,r,i){if(n===""){this._doInsertHere(t,s,o,r,i);return}let a=n.indexOf("."),l,u;a===-1?(l=n,u=""):(l=n.substring(0,a),u=n.substring(a+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new tl(this._mainRule.clone(),el.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,s,o,r,i)}_doInsertHere(t,n,s,o,r){if(n===null){this._mainRule.acceptOverwrite(t,s,o,r);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let l=this._rulesWithParentScopes[i];if(Oh(l.parentScopes,n)===0){l.acceptOverwrite(t,s,o,r);return}}s===-1&&(s=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),r===0&&(r=this._mainRule.background),this._rulesWithParentScopes.push(new el(t,n,s,o,r))}},Ys=class Ft{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=Ft.getLanguageId(t),s=Ft.getTokenType(t),o=Ft.getFontStyle(t),r=Ft.getForeground(t),i=Ft.getBackground(t);console.log({languageId:n,tokenType:s,fontStyle:o,foreground:r,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,s,o,r,i,a){let l=Ft.getLanguageId(t),u=Ft.getTokenType(t),c=Ft.containsBalancedBrackets(t)?1:0,d=Ft.getFontStyle(t),f=Ft.getForeground(t),p=Ft.getBackground(t);return n!==0&&(l=n),s!==8&&(u=s),o!==null&&(c=o?1:0),r!==-1&&(d=r),i!==0&&(f=i),a!==0&&(p=a),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function ni(e,t){const n=[],s=uS(e);let o=s.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=s.next()}let u=i();if(n.push({matcher:u,priority:l}),o!==",")break;o=s.next()}return n;function r(){if(o==="-"){o=s.next();const l=r();return u=>!!l&&!l(u)}if(o==="("){o=s.next();const l=a();return o===")"&&(o=s.next()),l}if(Dc(o)){const l=[];do l.push(o),o=s.next();while(Dc(o));return u=>t(l,u)}return null}function i(){const l=[];let u=r();for(;u;)l.push(u),u=r();return c=>l.every(d=>d(c))}function a(){const l=[];let u=i();for(;u&&(l.push(u),o==="|"||o===",");){do o=s.next();while(o==="|"||o===",");u=i()}return c=>l.some(d=>d(c))}}function Dc(e){return!!e&&!!e.match(/[\w\.:]+/)}function uS(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const s=n[0];return n=t.exec(e),s}}}function jh(e){typeof e.dispose=="function"&&e.dispose()}var Go=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},cS=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},dS=class{constructor(){Y(this,"_references",[]);Y(this,"_seenReferenceKeys",new Set);Y(this,"visitedRule",new Set)}get references(){return this._references}add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},fS=class{constructor(e,t){Y(this,"seenFullScopeRequests",new Set);Y(this,"seenPartialScopeRequests",new Set);Y(this,"Q");this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Go(this.initialScopeName)]}processQueue(){const e=this.Q;this.Q=[];const t=new dS;for(const n of e)hS(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof Go){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function hS(e,t,n,s){const o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const r=n.lookup(t);e instanceof Go?Ir({baseGrammar:r,selfGrammar:o},s):nl(e.ruleName,{baseGrammar:r,selfGrammar:o,repository:o.repository},s);const i=n.injections(e.scopeName);if(i)for(const a of i)s.add(new Go(a))}function nl(e,t,n){if(t.repository&&t.repository[e]){const s=t.repository[e];si([s],t,n)}}function Ir(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&si(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&si(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function si(e,t,n){for(const s of e){if(n.visitedRule.has(s))continue;n.visitedRule.add(s);const o=s.repository?Lh({},t.repository,s.repository):t.repository;Array.isArray(s.patterns)&&si(s.patterns,{...t,repository:o},n);const r=s.include;if(!r)continue;const i=zh(r);switch(i.kind){case 0:Ir({...t,selfGrammar:t.baseGrammar},n);break;case 1:Ir(t,n);break;case 2:nl(i.ruleName,{...t,repository:o},n);break;case 3:case 4:const a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){const l={baseGrammar:t.baseGrammar,selfGrammar:a,repository:o};i.kind===4?nl(i.ruleName,l,n):Ir(l,n)}else i.kind===4?n.add(new cS(i.scopeName,i.ruleName)):n.add(new Go(i.scopeName));break}}}var pS=class{constructor(){Y(this,"kind",0)}},gS=class{constructor(){Y(this,"kind",1)}},mS=class{constructor(e){Y(this,"kind",2);this.ruleName=e}},vS=class{constructor(e){Y(this,"kind",3);this.scopeName=e}},yS=class{constructor(e,t){Y(this,"kind",4);this.scopeName=e,this.ruleName=t}};function zh(e){if(e==="$base")return new pS;if(e==="$self")return new gS;const t=e.indexOf("#");if(t===-1)return new vS(e);if(t===0)return new mS(e.substring(1));{const n=e.substring(0,t),s=e.substring(t+1);return new yS(n,s)}}var bS=/\\(\d+)/,Nc=/\\(\d+)/g,kS=-1,Hh=-2;var Yo=class{constructor(e,t,n,s){Y(this,"$location");Y(this,"id");Y(this,"_nameIsCapturing");Y(this,"_name");Y(this,"_contentNameIsCapturing");Y(this,"_contentName");this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=ar.hasCaptures(this._name),this._contentName=s||null,this._contentNameIsCapturing=ar.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${Dh(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:ar.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:ar.replaceCaptures(this._contentName,e,t)}},wS=class extends Yo{constructor(t,n,s,o,r){super(t,n,s,o);Y(this,"retokenizeCapturedWithRuleId");this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(t,n){throw new Error("Not supported!")}compile(t,n){throw new Error("Not supported!")}compileAG(t,n,s,o){throw new Error("Not supported!")}},SS=class extends Yo{constructor(t,n,s,o,r){super(t,n,s,null);Y(this,"_match");Y(this,"captures");Y(this,"_cachedCompiledPatterns");this._match=new Bo(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(t,n){n.push(this._match)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Fo,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Oc=class extends Yo{constructor(t,n,s,o,r){super(t,n,s,o);Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(t,n){for(const s of this.patterns)t.getRule(s).collectPatterns(t,n)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Fo,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},sl=class extends Yo{constructor(t,n,s,o,r,i,a,l,u,c){super(t,n,s,o);Y(this,"_begin");Y(this,"beginCaptures");Y(this,"_end");Y(this,"endHasBackReferences");Y(this,"endCaptures");Y(this,"applyEndPatternLast");Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");this._begin=new Bo(r,this.id),this.beginCaptures=i,this._end=new Bo(a||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=l,this.applyEndPatternLast=u||!1,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(t,n){return this._end.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t,n).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t,n).compileAG(t,s,o)}_getCachedCompiledPatterns(t,n){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Fo;for(const s of this.patterns)t.getRule(s).collectPatterns(t,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,n):this._cachedCompiledPatterns.setSource(0,n)),this._cachedCompiledPatterns}},oi=class extends Yo{constructor(t,n,s,o,r,i,a,l,u){super(t,n,s,o);Y(this,"_begin");Y(this,"beginCaptures");Y(this,"whileCaptures");Y(this,"_while");Y(this,"whileHasBackReferences");Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");Y(this,"_cachedCompiledWhilePatterns");this._begin=new Bo(r,this.id),this.beginCaptures=i,this.whileCaptures=l,this._while=new Bo(a,Hh),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(t,n){return this._while.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Fo;for(const n of this.patterns)t.getRule(n).collectPatterns(t,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(t,n){return this._getCachedCompiledWhilePatterns(t,n).compile(t)}compileWhileAG(t,n,s,o){return this._getCachedCompiledWhilePatterns(t,n).compileAG(t,s,o)}_getCachedCompiledWhilePatterns(t,n){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Fo,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,n||"￿"),this._cachedCompiledWhilePatterns}},Wh=class _t{static createCaptureRule(t,n,s,o,r){return t.registerRule(i=>new wS(n,i,s,o,r))}static getCompiledRuleId(t,n,s){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new SS(t.$vscodeTextmateLocation,t.id,t.name,t.match,_t._compileCaptures(t.captures,n,s));if(typeof t.begin>"u"){t.repository&&(s=Lh({},s,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new Oc(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,_t._compilePatterns(r,n,s))}return t.while?new oi(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,_t._compileCaptures(t.beginCaptures||t.captures,n,s),t.while,_t._compileCaptures(t.whileCaptures||t.captures,n,s),_t._compilePatterns(t.patterns,n,s)):new sl(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,_t._compileCaptures(t.beginCaptures||t.captures,n,s),t.end,_t._compileCaptures(t.endCaptures||t.captures,n,s),t.applyEndPatternLast,_t._compilePatterns(t.patterns,n,s))}),t.id}static _compileCaptures(t,n,s){let o=[];if(t){let r=0;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);a>r&&(r=a)}for(let i=0;i<=r;i++)o[i]=null;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);let l=0;t[i].patterns&&(l=_t.getCompiledRuleId(t[i],n,s)),o[a]=_t.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,l)}}return o}static _compilePatterns(t,n,s){let o=[];if(t)for(let r=0,i=t.length;r<i;r++){const a=t[r];let l=-1;if(a.include){const u=zh(a.include);switch(u.kind){case 0:case 1:l=_t.getCompiledRuleId(s[a.include],n,s);break;case 2:let c=s[u.ruleName];c&&(l=_t.getCompiledRuleId(c,n,s));break;case 3:case 4:const d=u.scopeName,f=u.kind===4?u.ruleName:null,p=n.getExternalGrammar(d,s);if(p)if(f){let g=p.repository[f];g&&(l=_t.getCompiledRuleId(g,n,p.repository))}else l=_t.getCompiledRuleId(p.repository.$self,n,p.repository);break}}else l=_t.getCompiledRuleId(a,n,s);if(l!==-1){const u=n.getRule(l);let c=!1;if((u instanceof Oc||u instanceof sl||u instanceof oi)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Bo=class qh{constructor(t,n){Y(this,"source");Y(this,"ruleId");Y(this,"hasAnchor");Y(this,"hasBackReferences");Y(this,"_anchorCache");if(t&&typeof t=="string"){const s=t.length;let o=0,r=[],i=!1;for(let a=0;a<s;a++)if(t.charAt(a)==="\\"&&a+1<s){const u=t.charAt(a+1);u==="z"?(r.push(t.substring(o,a)),r.push("$(?!\\n)(?<!\\n)"),o=a+2):(u==="A"||u==="G")&&(i=!0),a++}this.hasAnchor=i,o===0?this.source=t:(r.push(t.substring(o,s)),this.source=r.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=bS.test(this.source):this.hasBackReferences=!1}clone(){return new qh(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let s=n.map(o=>t.substring(o.start,o.end));return Nc.lastIndex=0,this.source.replace(Nc,(o,r)=>Gh(s[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],s=[],o=[],r,i,a,l;for(r=0,i=this.source.length;r<i;r++)a=this.source.charAt(r),t[r]=a,n[r]=a,s[r]=a,o[r]=a,a==="\\"&&r+1<i&&(l=this.source.charAt(r+1),l==="A"?(t[r+1]="￿",n[r+1]="￿",s[r+1]="A",o[r+1]="A"):l==="G"?(t[r+1]="￿",n[r+1]="G",s[r+1]="￿",o[r+1]="G"):(t[r+1]=l,n[r+1]=l,s[r+1]=l,o[r+1]=l),r++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:s.join(""),A1_G1:o.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Fo=class{constructor(){Y(this,"_items");Y(this,"_hasAnchors");Y(this,"_cached");Y(this,"_anchorCache");this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Gc(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let s=this._items.map(o=>o.resolveAnchors(t,n));return new Gc(e,s,this._items.map(o=>o.ruleId))}},Gc=class{constructor(e,t,n){Y(this,"scanner");this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
76
- `)}findNextMatchSync(e,t,n){const s=this.scanner.findNextMatchSync(e,t,n);return s?{ruleId:this.rules[s.index],captureIndices:s.captureIndices}:null}},ia=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Sn,_S=(Sn=class{constructor(t,n){Y(this,"_defaultAttributes");Y(this,"_embeddedLanguagesMatcher");Y(this,"_getBasicScopeAttributes",new Bh(t=>{const n=this._scopeToLanguage(t),s=this._toStandardTokenType(t);return new ia(n,s)}));this._defaultAttributes=new ia(t,8),this._embeddedLanguagesMatcher=new $S(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Sn._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(Sn.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}},Y(Sn,"_NULL_SCOPE_METADATA",new ia(0,0)),Y(Sn,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),Sn),$S=class{constructor(e){Y(this,"values");Y(this,"scopesRegExp");if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,s])=>Gh(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Bc=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Vh(e,t,n,s,o,r,i,a){const l=t.content.length;let u=!1,c=-1;if(i){const p=CS(e,t,n,s,o,r);o=p.stack,s=p.linePos,n=p.isFirstLine,c=p.anchorPosition}const d=Date.now();for(;!u;){if(a!==0&&Date.now()-d>a)return new Bc(o,!0);f()}return new Bc(o,!1);function f(){const p=xS(e,t,n,s,o,c);if(!p){r.produce(o,l),u=!0;return}const g=p.captureIndices,y=p.matchedRuleId,S=g&&g.length>0?g[0].end>s:!1;if(y===kS){const k=o.getRule(e);r.produce(o,g[0].start),o=o.withContentNameScopesList(o.nameScopesList),bo(e,t,n,o,r,k.endCaptures,g),r.produce(o,g[0].end);const w=o;if(o=o.parent,c=w.getAnchorPos(),!S&&w.getEnterPos()===s){o=w,r.produce(o,l),u=!0;return}}else{const k=e.getRule(y);r.produce(o,g[0].start);const w=o,b=k.getName(t.content,g),_=o.contentNameScopesList.pushAttributed(b,e);if(o=o.push(y,s,c,g[0].end===l,null,_,_),k instanceof sl){const B=k;bo(e,t,n,o,r,B.beginCaptures,g),r.produce(o,g[0].end),c=g[0].end;const D=B.getContentName(t.content,g),E=_.pushAttributed(D,e);if(o=o.withContentNameScopesList(E),B.endHasBackReferences&&(o=o.withEndRule(B.getEndWithResolvedBackReferences(t.content,g))),!S&&w.hasSameRuleAs(o)){o=o.pop(),r.produce(o,l),u=!0;return}}else if(k instanceof oi){const B=k;bo(e,t,n,o,r,B.beginCaptures,g),r.produce(o,g[0].end),c=g[0].end;const D=B.getContentName(t.content,g),E=_.pushAttributed(D,e);if(o=o.withContentNameScopesList(E),B.whileHasBackReferences&&(o=o.withEndRule(B.getWhileWithResolvedBackReferences(t.content,g))),!S&&w.hasSameRuleAs(o)){o=o.pop(),r.produce(o,l),u=!0;return}}else if(bo(e,t,n,o,r,k.captures,g),r.produce(o,g[0].end),o=o.pop(),!S){o=o.safePop(),r.produce(o,l),u=!0;return}}g[0].end>s&&(s=g[0].end,n=!1)}}function CS(e,t,n,s,o,r){let i=o.beginRuleCapturedEOL?0:-1;const a=[];for(let l=o;l;l=l.pop()){const u=l.getRule(e);u instanceof oi&&a.push({rule:u,stack:l})}for(let l=a.pop();l;l=a.pop()){const{ruleScanner:u,findOptions:c}=ES(l.rule,e,l.stack.endRule,n,s===i),d=u.findNextMatchSync(t,s,c);if(d){if(d.ruleId!==Hh){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(r.produce(l.stack,d.captureIndices[0].start),bo(e,t,n,l.stack,r,l.rule.whileCaptures,d.captureIndices),r.produce(l.stack,d.captureIndices[0].end),i=d.captureIndices[0].end,d.captureIndices[0].end>s&&(s=d.captureIndices[0].end,n=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:s,anchorPosition:i,isFirstLine:n}}function xS(e,t,n,s,o,r){const i=IS(e,t,n,s,o,r),a=e.getInjections();if(a.length===0)return i;const l=TS(a,e,t,n,s,o,r);if(!l)return i;if(!i)return l;const u=i.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:i}function IS(e,t,n,s,o,r){const i=o.getRule(e),{ruleScanner:a,findOptions:l}=Kh(i,e,o.endRule,n,s===r),u=a.findNextMatchSync(t,s,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function TS(e,t,n,s,o,r,i){let a=Number.MAX_VALUE,l=null,u,c=0;const d=r.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){const g=e[f];if(!g.matcher(d))continue;const y=t.getRule(g.ruleId),{ruleScanner:S,findOptions:k}=Kh(y,t,null,s,o===i),w=S.findNextMatchSync(n,o,k);if(!w)continue;const b=w.captureIndices[0].start;if(!(b>=a)&&(a=b,l=w.captureIndices,u=w.ruleId,c=g.priority,a===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function Kh(e,t,n,s,o){return{ruleScanner:e.compileAG(t,n,s,o),findOptions:0}}function ES(e,t,n,s,o){return{ruleScanner:e.compileWhileAG(t,n,s,o),findOptions:0}}function bo(e,t,n,s,o,r,i){if(r.length===0)return;const a=t.content,l=Math.min(r.length,i.length),u=[],c=i[0].end;for(let d=0;d<l;d++){const f=r[d];if(f===null)continue;const p=i[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(s,p.start),f.retokenizeCapturedWithRuleId){const y=f.getName(a,i),S=s.contentNameScopesList.pushAttributed(y,e),k=f.getContentName(a,i),w=S.pushAttributed(k,e),b=s.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,S,w),_=e.createOnigString(a.substring(0,p.end));Vh(e,_,n&&p.start===0,p.start,b,o,!1,0),jh(_);continue}const g=f.getName(a,i);if(g!==null){const S=(u.length>0?u[u.length-1].scopes:s.contentNameScopesList).pushAttributed(g,e);u.push(new AS(S,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var AS=class{constructor(e,t){Y(this,"scopes");Y(this,"endPos");this.scopes=e,this.endPos=t}};function MS(e,t,n,s,o,r,i,a){return new PS(e,t,n,s,o,r,i,a)}function Fc(e,t,n,s,o){const r=ni(t,ri),i=Wh.getCompiledRuleId(n,s,o.repository);for(const a of r)e.push({debugSelector:t,matcher:a.matcher,ruleId:i,grammar:o,priority:a.priority})}function ri(e,t){if(t.length<e.length)return!1;let n=0;return e.every(s=>{for(let o=n;o<t.length;o++)if(RS(t[o],s))return n=o+1,!0;return!1})}function RS(e,t){if(!e)return!1;if(e===t)return!0;const n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var PS=class{constructor(e,t,n,s,o,r,i,a){Y(this,"_rootId");Y(this,"_lastRuleId");Y(this,"_ruleId2desc");Y(this,"_includedGrammars");Y(this,"_grammarRepository");Y(this,"_grammar");Y(this,"_injections");Y(this,"_basicScopeAttributesProvider");Y(this,"_tokenTypeMatchers");if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=a,this._basicScopeAttributesProvider=new _S(n,s),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=i,this._grammar=Uc(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(const l of Object.keys(o)){const u=ni(l,ri);for(const c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],n=this._rootScopeName,s=e.lookup(n);if(s){const o=s.injections;if(o)for(let i in o)Fc(t,i,o[i],this,s);const r=this._grammarRepository.injections(n);r&&r.forEach(i=>{const a=this.getExternalGrammar(i);if(a){const l=a.injectionSelector;l&&Fc(t,l,a,this,a)}})}return t.sort((o,r)=>o.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Uc(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const s=this._tokenize(e,t,!1,n);return{tokens:s.lineTokens.getResult(s.ruleStack,s.lineLength),ruleStack:s.ruleStack,stoppedEarly:s.stoppedEarly}}tokenizeLine2(e,t,n=0){const s=this._tokenize(e,t,!0,n);return{tokens:s.lineTokens.getBinaryResult(s.ruleStack,s.lineLength),ruleStack:s.ruleStack,stoppedEarly:s.stoppedEarly}}_tokenize(e,t,n,s){this._rootId===-1&&(this._rootId=Wh.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===ol.NULL){o=!0;const u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=Ys.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null);let p;f?p=To.createRootAndLookUpScopeName(f,d,this):p=To.createRoot("unknown",d),t=new ol(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
77
- `;const r=this.createOnigString(e),i=r.content.length,a=new DS(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Vh(this,r,o,0,t,a,!0,s);return jh(r),{lineLength:i,lineTokens:a,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Uc(e,t){return e=J0(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var To=class un{constructor(t,n,s){this.parent=t,this.scopePath=n,this.tokenAttributes=s}static fromExtension(t,n){let s=t,o=(t==null?void 0:t.scopePath)??null;for(const r of n)o=ra.push(o,r.scopeNames),s=new un(s,o,r.encodedTokenAttributes);return s}static createRoot(t,n){return new un(null,new ra(null,t),n)}static createRootAndLookUpScopeName(t,n,s){const o=s.getMetadataForScope(t),r=new ra(null,t),i=s.themeProvider.themeMatch(r),a=un.mergeAttributes(n,o,i);return new un(null,r,a)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return un.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,s){let o=-1,r=0,i=0;return s!==null&&(o=s.fontStyle,r=s.foregroundId,i=s.backgroundId),Ys.set(t,n.languageId,n.tokenType,null,o,r,i)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return un._pushAttributed(this,t,n);const s=t.split(/ /g);let o=this;for(const r of s)o=un._pushAttributed(o,r,n);return o}static _pushAttributed(t,n,s){const o=s.getMetadataForScope(n),r=t.scopePath.push(n),i=s.themeProvider.themeMatch(r),a=un.mergeAttributes(t.tokenAttributes,o,i);return new un(t,r,a)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){var o;const n=[];let s=this;for(;s&&s!==t;)n.push({encodedTokenAttributes:s.tokenAttributes,scopeNames:s.scopePath.getExtensionIfDefined(((o=s.parent)==null?void 0:o.scopePath)??null)}),s=s.parent;return s===t?n.reverse():void 0}},jt,ol=(jt=class{constructor(t,n,s,o,r,i,a,l){Y(this,"_stackElementBrand");Y(this,"_enterPos");Y(this,"_anchorPos");Y(this,"depth");this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=i,this.nameScopesList=a,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=s,this._anchorPos=o}equals(t){return t===null?!1:jt._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?To.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){jt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,s,o,r,i,a){return new jt(this,t,n,s,o,r,i,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){const t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){var s,o;return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${(s=this.nameScopesList)==null?void 0:s.toString()}, ${(o=this.contentNameScopesList)==null?void 0:o.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new jt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){var t,n,s;return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:((n=this.nameScopesList)==null?void 0:n.getExtensionIfDefined(((t=this.parent)==null?void 0:t.nameScopesList)??null))??[],contentNameScopesList:((s=this.contentNameScopesList)==null?void 0:s.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(t,n){const s=To.fromExtension((t==null?void 0:t.nameScopesList)??null,n.nameScopesList);return new jt(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,s,To.fromExtension(s,n.contentNameScopesList))}},Y(jt,"NULL",new jt(null,0,0,0,!1,null,null,null)),jt),LS=class{constructor(e,t){Y(this,"balancedBracketScopes");Y(this,"unbalancedBracketScopes");Y(this,"allowAny",!1);this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):ni(n,ri).map(s=>s.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>ni(n,ri).map(s=>s.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},DS=class{constructor(e,t,n,s){Y(this,"_emitBinaryTokens");Y(this,"_lineText");Y(this,"_tokens");Y(this,"_binaryTokens");Y(this,"_lastTokenEndIndex");Y(this,"_tokenTypeOverrides");this.balancedBracketSelectors=s,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){var s;if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=(e==null?void 0:e.tokenAttributes)??0,r=!1;if((s=this.balancedBracketSelectors)!=null&&s.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const i=(e==null?void 0:e.getScopeNames())??[];for(const a of this._tokenTypeOverrides)a.matcher(i)&&(o=Ys.set(o,0,a.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(i))}if(r&&(o=Ys.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}const n=(e==null?void 0:e.getScopeNames())??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let s=0,o=this._binaryTokens.length;s<o;s++)n[s]=this._binaryTokens[s];return n}},NS=class{constructor(e,t){Y(this,"_grammars",new Map);Y(this,"_rawGrammars",new Map);Y(this,"_injectionGrammars",new Map);Y(this,"_theme");this._onigLib=t,this._theme=e}dispose(){for(const e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,s,o){if(!this._grammars.has(e)){let r=this._rawGrammars.get(e);if(!r)return null;this._grammars.set(e,MS(e,r,t,n,s,o,this,this._onigLib))}return this._grammars.get(e)}},OS=class{constructor(t){Y(this,"_options");Y(this,"_syncRegistry");Y(this,"_ensureGrammarCache");this._options=t,this._syncRegistry=new NS(ti.createFromRawTheme(t.theme,t.colorMap),t.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(t,n){this._syncRegistry.setTheme(ti.createFromRawTheme(t,n))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(t,n,s){return this.loadGrammarWithConfiguration(t,n,{embeddedLanguages:s})}loadGrammarWithConfiguration(t,n,s){return this._loadGrammar(t,n,s.embeddedLanguages,s.tokenTypes,new LS(s.balancedBracketSelectors||[],s.unbalancedBracketSelectors||[]))}loadGrammar(t){return this._loadGrammar(t,0,null,null,null)}_loadGrammar(t,n,s,o,r){const i=new fS(this._syncRegistry,t);for(;i.Q.length>0;)i.Q.map(a=>this._loadSingleGrammar(a.scopeName)),i.processQueue();return this._grammarForScopeName(t,n,s,o,r)}_loadSingleGrammar(t){this._ensureGrammarCache.has(t)||(this._doLoadSingleGrammar(t),this._ensureGrammarCache.set(t,!0))}_doLoadSingleGrammar(t){const n=this._options.loadGrammar(t);if(n){const s=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,s)}}addGrammar(t,n=[],s=0,o=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,s,o)}_grammarForScopeName(t,n=0,s=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(t,n,s,o,r)}},rl=ol.NULL;const GS=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Xo{constructor(t,n,s){this.normal=n,this.property=t,s&&(this.space=s)}}Xo.prototype.normal={};Xo.prototype.property={};Xo.prototype.space=void 0;function Zh(e,t){const n={},s={};for(const o of e)Object.assign(n,o.property),Object.assign(s,o.normal);return new Xo(n,s,t)}function il(e){return e.toLowerCase()}class Ot{constructor(t,n){this.attribute=n,this.property=t}}Ot.prototype.attribute="";Ot.prototype.booleanish=!1;Ot.prototype.boolean=!1;Ot.prototype.commaOrSpaceSeparated=!1;Ot.prototype.commaSeparated=!1;Ot.prototype.defined=!1;Ot.prototype.mustUseProperty=!1;Ot.prototype.number=!1;Ot.prototype.overloadedBoolean=!1;Ot.prototype.property="";Ot.prototype.spaceSeparated=!1;Ot.prototype.space=void 0;let BS=0;const Re=ks(),ut=ks(),al=ks(),le=ks(),Xe=ks(),ps=ks(),Gt=ks();function ks(){return 2**++BS}const ll=Object.freeze(Object.defineProperty({__proto__:null,boolean:Re,booleanish:ut,commaOrSpaceSeparated:Gt,commaSeparated:ps,number:le,overloadedBoolean:al,spaceSeparated:Xe},Symbol.toStringTag,{value:"Module"})),aa=Object.keys(ll);class ru extends Ot{constructor(t,n,s,o){let r=-1;if(super(t,n),jc(this,"space",o),typeof s=="number")for(;++r<aa.length;){const i=aa[r];jc(this,aa[r],(s&ll[i])===ll[i])}}}ru.prototype.defined=!0;function jc(e,t,n){n&&(e[t]=n)}function Qs(e){const t={},n={};for(const[s,o]of Object.entries(e.properties)){const r=new ru(s,e.transform(e.attributes||{},s),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(s)&&(r.mustUseProperty=!0),t[s]=r,n[il(s)]=s,n[il(r.attribute)]=s}return new Xo(t,n,e.space)}const Yh=Qs({properties:{ariaActiveDescendant:null,ariaAtomic:ut,ariaAutoComplete:null,ariaBusy:ut,ariaChecked:ut,ariaColCount:le,ariaColIndex:le,ariaColSpan:le,ariaControls:Xe,ariaCurrent:null,ariaDescribedBy:Xe,ariaDetails:null,ariaDisabled:ut,ariaDropEffect:Xe,ariaErrorMessage:null,ariaExpanded:ut,ariaFlowTo:Xe,ariaGrabbed:ut,ariaHasPopup:null,ariaHidden:ut,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Xe,ariaLevel:le,ariaLive:null,ariaModal:ut,ariaMultiLine:ut,ariaMultiSelectable:ut,ariaOrientation:null,ariaOwns:Xe,ariaPlaceholder:null,ariaPosInSet:le,ariaPressed:ut,ariaReadOnly:ut,ariaRelevant:null,ariaRequired:ut,ariaRoleDescription:Xe,ariaRowCount:le,ariaRowIndex:le,ariaRowSpan:le,ariaSelected:ut,ariaSetSize:le,ariaSort:null,ariaValueMax:le,ariaValueMin:le,ariaValueNow:le,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Xh(e,t){return t in e?e[t]:t}function Jh(e,t){return Xh(e,t.toLowerCase())}const FS=Qs({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:ps,acceptCharset:Xe,accessKey:Xe,action:null,allow:null,allowFullScreen:Re,allowPaymentRequest:Re,allowUserMedia:Re,alpha:Re,alt:null,as:null,async:Re,autoCapitalize:null,autoComplete:Xe,autoFocus:Re,autoPlay:Re,blocking:Xe,capture:null,charSet:null,checked:Re,cite:null,className:Xe,closedBy:null,colorSpace:null,cols:le,colSpan:le,command:null,commandFor:null,content:null,contentEditable:ut,controls:Re,controlsList:Xe,coords:le|ps,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Re,defer:Re,dir:null,dirName:null,disabled:Re,download:al,draggable:ut,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Re,formTarget:null,headers:Xe,height:le,hidden:al,high:le,href:null,hrefLang:null,htmlFor:Xe,httpEquiv:Xe,id:null,imageSizes:null,imageSrcSet:null,inert:Re,inputMode:null,integrity:null,is:null,isMap:Re,itemId:null,itemProp:Xe,itemRef:Xe,itemScope:Re,itemType:Xe,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Re,low:le,manifest:null,max:null,maxLength:le,media:null,method:null,min:null,minLength:le,multiple:Re,muted:Re,name:null,nonce:null,noModule:Re,noValidate:Re,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Re,optimum:le,pattern:null,ping:Xe,placeholder:null,playsInline:Re,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Re,referrerPolicy:null,rel:Xe,required:Re,reversed:Re,rows:le,rowSpan:le,sandbox:Xe,scope:null,scoped:Re,seamless:Re,selected:Re,shadowRootClonable:Re,shadowRootCustomElementRegistry:Re,shadowRootDelegatesFocus:Re,shadowRootMode:null,shadowRootSerializable:Re,shape:null,size:le,sizes:null,slot:null,span:le,spellCheck:ut,src:null,srcDoc:null,srcLang:null,srcSet:null,start:le,step:null,style:null,tabIndex:le,target:null,title:null,translate:null,type:null,typeMustMatch:Re,useMap:null,value:ut,width:le,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Xe,axis:null,background:null,bgColor:null,border:le,borderColor:null,bottomMargin:le,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Re,declare:Re,event:null,face:null,frame:null,frameBorder:null,hSpace:le,leftMargin:le,link:null,longDesc:null,lowSrc:null,marginHeight:le,marginWidth:le,noResize:Re,noHref:Re,noShade:Re,noWrap:Re,object:null,profile:null,prompt:null,rev:null,rightMargin:le,rules:null,scheme:null,scrolling:ut,standby:null,summary:null,text:null,topMargin:le,valueType:null,version:null,vAlign:null,vLink:null,vSpace:le,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Re,disablePictureInPicture:Re,disableRemotePlayback:Re,exportParts:ps,part:Xe,prefix:null,property:null,results:le,security:null,unselectable:null},space:"html",transform:Jh}),US=Qs({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Gt,accentHeight:le,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:le,amplitude:le,arabicForm:null,ascent:le,attributeName:null,attributeType:null,azimuth:le,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:le,by:null,calcMode:null,capHeight:le,className:Xe,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:le,diffuseConstant:le,direction:null,display:null,dur:null,divisor:le,dominantBaseline:null,download:Re,dx:null,dy:null,edgeMode:null,editable:null,elevation:le,enableBackground:null,end:null,event:null,exponent:le,externalResourcesRequired:null,fill:null,fillOpacity:le,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:ps,g2:ps,glyphName:ps,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:le,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:le,horizOriginX:le,horizOriginY:le,id:null,ideographic:le,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:le,k:le,k1:le,k2:le,k3:le,k4:le,kernelMatrix:Gt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:le,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:le,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:le,overlineThickness:le,paintOrder:null,panose1:null,path:null,pathLength:le,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Xe,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:le,pointsAtY:le,pointsAtZ:le,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Gt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Gt,rev:Gt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Gt,requiredFeatures:Gt,requiredFonts:Gt,requiredFormats:Gt,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:le,specularExponent:le,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:le,strikethroughThickness:le,string:null,stroke:null,strokeDashArray:Gt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:le,strokeOpacity:le,strokeWidth:null,style:null,surfaceScale:le,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Gt,tabIndex:le,tableValues:null,target:null,targetX:le,targetY:le,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Gt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:le,underlineThickness:le,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:le,values:null,vAlphabetic:le,vMathematical:le,vectorEffect:null,vHanging:le,vIdeographic:le,version:null,vertAdvY:le,vertOriginX:le,vertOriginY:le,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:le,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Xh}),Qh=Qs({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),ep=Qs({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Jh}),tp=Qs({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),jS=/[A-Z]/g,zc=/-[a-z]/g,zS=/^data[-\w.:]+$/i;function HS(e,t){const n=il(t);let s=t,o=Ot;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&zS.test(t)){if(t.charAt(4)==="-"){const r=t.slice(5).replace(zc,qS);s="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{const r=t.slice(4);if(!zc.test(r)){let i=r.replace(jS,WS);i.charAt(0)!=="-"&&(i="-"+i),t="data"+i}}o=ru}return new o(s,t)}function WS(e){return"-"+e.toLowerCase()}function qS(e){return e.charAt(1).toUpperCase()}const VS=Zh([Yh,FS,Qh,ep,tp],"html"),np=Zh([Yh,US,Qh,ep,tp],"svg"),Hc={}.hasOwnProperty;function KS(e,t){const n=t||{};function s(o,...r){let i=s.invalid;const a=s.handlers;if(o&&Hc.call(o,e)){const l=String(o[e]);i=Hc.call(a,l)?a[l]:s.unknown}if(i)return i.call(this,o,...r)}return s.handlers=n.handlers||{},s.invalid=n.invalid,s.unknown=n.unknown,s}const ZS=/["&'<>`]/g,YS=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,XS=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,JS=/[|\\{}()[\]^$+*?.]/g,Wc=new WeakMap;function QS(e,t){if(e=e.replace(t.subset?e_(t.subset):ZS,s),t.subset||t.escapeOnly)return e;return e.replace(YS,n).replace(XS,s);function n(o,r,i){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,i.charCodeAt(r+2),t)}function s(o,r,i){return t.format(o.charCodeAt(0),i.charCodeAt(r+1),t)}}function e_(e){let t=Wc.get(e);return t||(t=t_(e),Wc.set(e,t)),t}function t_(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(JS,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}const n_=/[\dA-Fa-f]/;function s_(e,t,n){const s="&#x"+e.toString(16).toUpperCase();return n&&t&&!n_.test(String.fromCharCode(t))?s:s+";"}const o_=/\d/;function r_(e,t,n){const s="&#"+String(e);return n&&t&&!o_.test(String.fromCharCode(t))?s:s+";"}const i_=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],la={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},a_=["cent","copy","divide","gt","lt","not","para","times"],sp={}.hasOwnProperty,ul={};let lr;for(lr in la)sp.call(la,lr)&&(ul[la[lr]]=lr);const l_=/[^\dA-Za-z]/;function u_(e,t,n,s){const o=String.fromCharCode(e);if(sp.call(ul,o)){const r=ul[o],i="&"+r;return n&&i_.includes(r)&&!a_.includes(r)&&(!s||t&&t!==61&&l_.test(String.fromCharCode(t)))?i:i+";"}return""}function c_(e,t,n){let s=s_(e,t,n.omitOptionalSemicolons),o;if((n.useNamedReferences||n.useShortestReferences)&&(o=u_(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!o)&&n.useShortestReferences){const r=r_(e,t,n.omitOptionalSemicolons);r.length<s.length&&(s=r)}return o&&(!n.useShortestReferences||o.length<s.length)?o:s}function Hs(e,t){return QS(e,Object.assign({format:c_},t))}const d_=/^>|^->|<!--|-->|--!>|<!-$/g,f_=[">"],h_=["<",">"];function p_(e,t,n,s){return s.settings.bogusComments?"<?"+Hs(e.value,Object.assign({},s.settings.characterReferences,{subset:f_}))+">":"<!--"+e.value.replace(d_,o)+"-->";function o(r){return Hs(r,Object.assign({},s.settings.characterReferences,{subset:h_}))}}function g_(e,t,n,s){return"<!"+(s.settings.upperDoctype?"DOCTYPE":"doctype")+(s.settings.tightDoctype?"":" ")+"html>"}function qc(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let s=0,o=n.indexOf(t);for(;o!==-1;)s++,o=n.indexOf(t,o+t.length);return s}function m_(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function v_(e){return e.join(" ").trim()}const y_=/[ \t\n\f\r]/g;function iu(e){return typeof e=="object"?e.type==="text"?Vc(e.value):!1:Vc(e)}function Vc(e){return e.replace(y_,"")===""}const pt=rp(1),op=rp(-1),b_=[];function rp(e){return t;function t(n,s,o){const r=n?n.children:b_;let i=(s||0)+e,a=r[i];if(!o)for(;a&&iu(a);)i+=e,a=r[i];return a}}const k_={}.hasOwnProperty;function ip(e){return t;function t(n,s,o){return k_.call(e,n.tagName)&&e[n.tagName](n,s,o)}}const au=ip({body:S_,caption:ua,colgroup:ua,dd:x_,dt:C_,head:ua,html:w_,li:$_,optgroup:I_,option:T_,p:__,rp:Kc,rt:Kc,tbody:A_,td:Zc,tfoot:M_,th:Zc,thead:E_,tr:R_});function ua(e,t,n){const s=pt(n,t,!0);return!s||s.type!=="comment"&&!(s.type==="text"&&iu(s.value.charAt(0)))}function w_(e,t,n){const s=pt(n,t);return!s||s.type!=="comment"}function S_(e,t,n){const s=pt(n,t);return!s||s.type!=="comment"}function __(e,t,n){const s=pt(n,t);return s?s.type==="element"&&(s.tagName==="address"||s.tagName==="article"||s.tagName==="aside"||s.tagName==="blockquote"||s.tagName==="details"||s.tagName==="div"||s.tagName==="dl"||s.tagName==="fieldset"||s.tagName==="figcaption"||s.tagName==="figure"||s.tagName==="footer"||s.tagName==="form"||s.tagName==="h1"||s.tagName==="h2"||s.tagName==="h3"||s.tagName==="h4"||s.tagName==="h5"||s.tagName==="h6"||s.tagName==="header"||s.tagName==="hgroup"||s.tagName==="hr"||s.tagName==="main"||s.tagName==="menu"||s.tagName==="nav"||s.tagName==="ol"||s.tagName==="p"||s.tagName==="pre"||s.tagName==="section"||s.tagName==="table"||s.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function $_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="li"}function C_(e,t,n){const s=pt(n,t);return!!(s&&s.type==="element"&&(s.tagName==="dt"||s.tagName==="dd"))}function x_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="dt"||s.tagName==="dd")}function Kc(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="rp"||s.tagName==="rt")}function I_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="optgroup"}function T_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="option"||s.tagName==="optgroup")}function E_(e,t,n){const s=pt(n,t);return!!(s&&s.type==="element"&&(s.tagName==="tbody"||s.tagName==="tfoot"))}function A_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="tbody"||s.tagName==="tfoot")}function M_(e,t,n){return!pt(n,t)}function R_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="tr"}function Zc(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="td"||s.tagName==="th")}const P_=ip({body:N_,colgroup:O_,head:D_,html:L_,tbody:G_});function L_(e){const t=pt(e,-1);return!t||t.type!=="comment"}function D_(e){const t=new Set;for(const s of e.children)if(s.type==="element"&&(s.tagName==="base"||s.tagName==="title")){if(t.has(s.tagName))return!1;t.add(s.tagName)}const n=e.children[0];return!n||n.type==="element"}function N_(e){const t=pt(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&iu(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function O_(e,t,n){const s=op(n,t),o=pt(e,-1,!0);return n&&s&&s.type==="element"&&s.tagName==="colgroup"&&au(s,n.children.indexOf(s),n)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function G_(e,t,n){const s=op(n,t),o=pt(e,-1);return n&&s&&s.type==="element"&&(s.tagName==="thead"||s.tagName==="tbody")&&au(s,n.children.indexOf(s),n)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}const ur={name:[[`
73
+ `}strong({tokens:e}){return`<strong>${this.parser.parseInline(e)}</strong>`}em({tokens:e}){return`<em>${this.parser.parseInline(e)}</em>`}codespan({text:e}){return`<code>${ln(e,!0)}</code>`}br(e){return"<br>"}del({tokens:e}){return`<del>${this.parser.parseInline(e)}</del>`}link({href:e,title:t,tokens:n}){const s=this.parser.parseInline(n),o=Ac(e);if(o===null)return s;e=o;let r='<a href="'+e+'"';return t&&(r+=' title="'+ln(t)+'"'),r+=">"+s+"</a>",r}image({href:e,title:t,text:n,tokens:s}){s&&(n=this.parser.parseInline(s,this.parser.textRenderer));const o=Ac(e);if(o===null)return ln(n);e=o;let r=`<img src="${e}" alt="${n}"`;return t&&(r+=` title="${ln(t)}"`),r+=">",r}text(e){return"tokens"in e&&e.tokens?this.parser.parseInline(e.tokens):"escaped"in e&&e.escaped?e.text:ln(e.text)}},su=class{strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return""+e}image({text:e}){return""+e}br(){return""}},$n=class Qa{constructor(t){Y(this,"options");Y(this,"renderer");Y(this,"textRenderer");this.options=t||ks,this.options.renderer=this.options.renderer||new ti,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new su}static parse(t,n){return new Qa(n).parse(t)}static parseInline(t,n){return new Qa(n).parseInline(t)}parse(t,n=!0){var o,r;let s="";for(let i=0;i<t.length;i++){const a=t[i];if((r=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&r[a.type]){const u=a,c=this.options.extensions.renderers[u.type].call({parser:this},u);if(c!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(u.type)){s+=c||"";continue}}const l=a;switch(l.type){case"space":{s+=this.renderer.space(l);continue}case"hr":{s+=this.renderer.hr(l);continue}case"heading":{s+=this.renderer.heading(l);continue}case"code":{s+=this.renderer.code(l);continue}case"table":{s+=this.renderer.table(l);continue}case"blockquote":{s+=this.renderer.blockquote(l);continue}case"list":{s+=this.renderer.list(l);continue}case"html":{s+=this.renderer.html(l);continue}case"paragraph":{s+=this.renderer.paragraph(l);continue}case"text":{let u=l,c=this.renderer.text(u);for(;i+1<t.length&&t[i+1].type==="text";)u=t[++i],c+=`
74
+ `+this.renderer.text(u);n?s+=this.renderer.paragraph({type:"paragraph",raw:c,text:c,tokens:[{type:"text",raw:c,text:c,escaped:!0}]}):s+=c;continue}default:{const u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return s}parseInline(t,n=this.renderer){var o,r;let s="";for(let i=0;i<t.length;i++){const a=t[i];if((r=(o=this.options.extensions)==null?void 0:o.renderers)!=null&&r[a.type]){const u=this.options.extensions.renderers[a.type].call({parser:this},a);if(u!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(a.type)){s+=u||"";continue}}const l=a;switch(l.type){case"escape":{s+=n.text(l);break}case"html":{s+=n.html(l);break}case"link":{s+=n.link(l);break}case"image":{s+=n.image(l);break}case"strong":{s+=n.strong(l);break}case"em":{s+=n.em(l);break}case"codespan":{s+=n.codespan(l);break}case"br":{s+=n.br(l);break}case"del":{s+=n.del(l);break}case"text":{s+=n.text(l);break}default:{const u='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(u),"";throw new Error(u)}}}return s}},Ta,xr=(Ta=class{constructor(e){Y(this,"options");Y(this,"block");this.options=e||ks}preprocess(e){return e}postprocess(e){return e}processAllTokens(e){return e}provideLexer(){return this.block?_n.lex:_n.lexInline}provideParser(){return this.block?$n.parse:$n.parseInline}},Y(Ta,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),Ta),Y0=class{constructor(...e){Y(this,"defaults",Zl());Y(this,"options",this.setOptions);Y(this,"parse",this.parseMarkdown(!0));Y(this,"parseInline",this.parseMarkdown(!1));Y(this,"Parser",$n);Y(this,"Renderer",ti);Y(this,"TextRenderer",su);Y(this,"Lexer",_n);Y(this,"Tokenizer",ei);Y(this,"Hooks",xr);this.use(...e)}walkTokens(e,t){var s,o;let n=[];for(const r of e)switch(n=n.concat(t.call(this,r)),r.type){case"table":{const i=r;for(const a of i.header)n=n.concat(this.walkTokens(a.tokens,t));for(const a of i.rows)for(const l of a)n=n.concat(this.walkTokens(l.tokens,t));break}case"list":{const i=r;n=n.concat(this.walkTokens(i.items,t));break}default:{const i=r;(o=(s=this.defaults.extensions)==null?void 0:s.childTokens)!=null&&o[i.type]?this.defaults.extensions.childTokens[i.type].forEach(a=>{const l=i[a].flat(1/0);n=n.concat(this.walkTokens(l,t))}):i.tokens&&(n=n.concat(this.walkTokens(i.tokens,t)))}}return n}use(...e){const t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(n=>{const s={...n};if(s.async=this.defaults.async||s.async||!1,n.extensions&&(n.extensions.forEach(o=>{if(!o.name)throw new Error("extension name required");if("renderer"in o){const r=t.renderers[o.name];r?t.renderers[o.name]=function(...i){let a=o.renderer.apply(this,i);return a===!1&&(a=r.apply(this,i)),a}:t.renderers[o.name]=o.renderer}if("tokenizer"in o){if(!o.level||o.level!=="block"&&o.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const r=t[o.level];r?r.unshift(o.tokenizer):t[o.level]=[o.tokenizer],o.start&&(o.level==="block"?t.startBlock?t.startBlock.push(o.start):t.startBlock=[o.start]:o.level==="inline"&&(t.startInline?t.startInline.push(o.start):t.startInline=[o.start]))}"childTokens"in o&&o.childTokens&&(t.childTokens[o.name]=o.childTokens)}),s.extensions=t),n.renderer){const o=this.defaults.renderer||new ti(this.defaults);for(const r in n.renderer){if(!(r in o))throw new Error(`renderer '${r}' does not exist`);if(["options","parser"].includes(r))continue;const i=r,a=n.renderer[i],l=o[i];o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c||""}}s.renderer=o}if(n.tokenizer){const o=this.defaults.tokenizer||new ei(this.defaults);for(const r in n.tokenizer){if(!(r in o))throw new Error(`tokenizer '${r}' does not exist`);if(["options","rules","lexer"].includes(r))continue;const i=r,a=n.tokenizer[i],l=o[i];o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c}}s.tokenizer=o}if(n.hooks){const o=this.defaults.hooks||new xr;for(const r in n.hooks){if(!(r in o))throw new Error(`hook '${r}' does not exist`);if(["options","block"].includes(r))continue;const i=r,a=n.hooks[i],l=o[i];xr.passThroughHooks.has(r)?o[i]=u=>{if(this.defaults.async)return Promise.resolve(a.call(o,u)).then(d=>l.call(o,d));const c=a.call(o,u);return l.call(o,c)}:o[i]=(...u)=>{let c=a.apply(o,u);return c===!1&&(c=l.apply(o,u)),c}}s.hooks=o}if(n.walkTokens){const o=this.defaults.walkTokens,r=n.walkTokens;s.walkTokens=function(i){let a=[];return a.push(r.call(this,i)),o&&(a=a.concat(o.call(this,i))),a}}this.defaults={...this.defaults,...s}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return _n.lex(e,t??this.defaults)}parser(e,t){return $n.parse(e,t??this.defaults)}parseMarkdown(e){return(n,s)=>{const o={...s},r={...this.defaults,...o},i=this.onError(!!r.silent,!!r.async);if(this.defaults.async===!0&&o.async===!1)return i(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof n>"u"||n===null)return i(new Error("marked(): input parameter is undefined or null"));if(typeof n!="string")return i(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(n)+", string expected"));r.hooks&&(r.hooks.options=r,r.hooks.block=e);const a=r.hooks?r.hooks.provideLexer():e?_n.lex:_n.lexInline,l=r.hooks?r.hooks.provideParser():e?$n.parse:$n.parseInline;if(r.async)return Promise.resolve(r.hooks?r.hooks.preprocess(n):n).then(u=>a(u,r)).then(u=>r.hooks?r.hooks.processAllTokens(u):u).then(u=>r.walkTokens?Promise.all(this.walkTokens(u,r.walkTokens)).then(()=>u):u).then(u=>l(u,r)).then(u=>r.hooks?r.hooks.postprocess(u):u).catch(i);try{r.hooks&&(n=r.hooks.preprocess(n));let u=a(n,r);r.hooks&&(u=r.hooks.processAllTokens(u)),r.walkTokens&&this.walkTokens(u,r.walkTokens);let c=l(u,r);return r.hooks&&(c=r.hooks.postprocess(c)),c}catch(u){return i(u)}}}onError(e,t){return n=>{if(n.message+=`
75
+ Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An error occurred:</p><pre>"+ln(n.message+"",!0)+"</pre>";return t?Promise.resolve(s):s}if(t)return Promise.reject(n);throw n}}},ys=new Y0;function We(e,t){return ys.parse(e,t)}We.options=We.setOptions=function(e){return ys.setOptions(e),We.defaults=ys.defaults,_h(We.defaults),We};We.getDefaults=Zl;We.defaults=ks;We.use=function(...e){return ys.use(...e),We.defaults=ys.defaults,_h(We.defaults),We};We.walkTokens=function(e,t){return ys.walkTokens(e,t)};We.parseInline=ys.parseInline;We.Parser=$n;We.parser=$n.parse;We.Renderer=ti;We.TextRenderer=su;We.Lexer=_n;We.lexer=_n.lex;We.Tokenizer=ei;We.Hooks=xr;We.parse=We;We.options;We.setOptions;We.use;We.walkTokens;We.parseInline;$n.parse;_n.lex;const X0="modulepreload",J0=function(e,t){return new URL(e,t).href},Pc={},Be=function(t,n,s){let o=Promise.resolve();if(n&&n.length>0){let i=function(c){return Promise.all(c.map(d=>Promise.resolve(d).then(f=>({status:"fulfilled",value:f}),f=>({status:"rejected",reason:f}))))};const a=document.getElementsByTagName("link"),l=document.querySelector("meta[property=csp-nonce]"),u=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=i(n.map(c=>{if(c=J0(c,s),c in Pc)return;Pc[c]=!0;const d=c.endsWith(".css"),f=d?'[rel="stylesheet"]':"";if(!!s)for(let y=a.length-1;y>=0;y--){const S=a[y];if(S.href===c&&(!d||S.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${c}"]${f}`))return;const g=document.createElement("link");if(g.rel=d?"stylesheet":X0,d||(g.as="script"),g.crossOrigin="",g.href=c,u&&g.setAttribute("nonce",u),document.head.appendChild(g),d)return new Promise((y,S)=>{g.addEventListener("load",y),g.addEventListener("error",()=>S(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(i){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=i,window.dispatchEvent(a),!a.defaultPrevented)throw i}return o.then(i=>{for(const a of i||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};let vt=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function Q0(e){return ou(e)}function ou(e){return Array.isArray(e)?eS(e):e instanceof RegExp?e:typeof e=="object"?tS(e):e}function eS(e){let t=[];for(let n=0,s=e.length;n<s;n++)t[n]=ou(e[n]);return t}function tS(e){let t={};for(let n in e)t[n]=ou(e[n]);return t}function Lh(e,...t){return t.forEach(n=>{for(let s in n)e[s]=n[s]}),e}function Dh(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Dh(e.substring(0,e.length-1)):e.substr(~t+1)}var ra=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,lr=class{static hasCaptures(e){return e===null?!1:(ra.lastIndex=0,ra.test(e))}static replaceCaptures(e,t,n){return e.replace(ra,(s,o,r,i)=>{let a=n[parseInt(o||r,10)];if(a){let l=t.substring(a.start,a.end);for(;l[0]===".";)l=l.substring(1);switch(i){case"downcase":return l.toLowerCase();case"upcase":return l.toUpperCase();default:return l}}else return s})}};function Nh(e,t){return e<t?-1:e>t?1:0}function Oh(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,s=t.length;if(n===s){for(let o=0;o<n;o++){let r=Nh(e[o],t[o]);if(r!==0)return r}return 0}return n-s}function Lc(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function Gh(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Bh=class{constructor(e){Y(this,"cache",new Map);this.fn=e}get(e){if(this.cache.has(e))return this.cache.get(e);const t=this.fn(e);return this.cache.set(e,t),t}},ni=class{constructor(e,t,n){Y(this,"_cachedMatchRoot",new Bh(e=>this._root.match(e)));this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(oS(e),t)}static createFromParsedTheme(e,t){return iS(e,t)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,s=this._cachedMatchRoot.get(t).find(o=>nS(e.parent,o.parentScopes));return s?new Fh(s.fontStyle,s.foreground,s.background):null}},ia=class Ir{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const s of n)t=new Ir(t,s);return t}static from(...t){let n=null;for(let s=0;s<t.length;s++)n=new Ir(n,t[s]);return n}push(t){return new Ir(this,t)}getSegments(){let t=this;const n=[];for(;t;)n.push(t.scopeName),t=t.parent;return n.reverse(),n}toString(){return this.getSegments().join(" ")}extends(t){return this===t?!0:this.parent===null?!1:this.parent.extends(t)}getExtensionIfDefined(t){const n=[];let s=this;for(;s&&s!==t;)n.push(s.scopeName),s=s.parent;return s===t?n.reverse():void 0}};function nS(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let s=t[n],o=!1;if(s===">"){if(n===t.length-1)return!1;s=t[++n],o=!0}for(;e&&!sS(e.scopeName,s);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function sS(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Fh=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function oS(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],s=0;for(let o=0,r=t.length;o<r;o++){let i=t[o];if(!i.settings)continue;let a;if(typeof i.scope=="string"){let d=i.scope;d=d.replace(/^[,]+/,""),d=d.replace(/[,]+$/,""),a=d.split(",")}else Array.isArray(i.scope)?a=i.scope:a=[""];let l=-1;if(typeof i.settings.fontStyle=="string"){l=0;let d=i.settings.fontStyle.split(" ");for(let f=0,p=d.length;f<p;f++)switch(d[f]){case"italic":l=l|1;break;case"bold":l=l|2;break;case"underline":l=l|4;break;case"strikethrough":l=l|8;break}}let u=null;typeof i.settings.foreground=="string"&&Lc(i.settings.foreground)&&(u=i.settings.foreground);let c=null;typeof i.settings.background=="string"&&Lc(i.settings.background)&&(c=i.settings.background);for(let d=0,f=a.length;d<f;d++){let g=a[d].trim().split(" "),y=g[g.length-1],S=null;g.length>1&&(S=g.slice(0,g.length-1),S.reverse()),n[s++]=new rS(y,S,o,l,u,c)}}return n}var rS=class{constructor(e,t,n,s,o,r){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=s,this.foreground=o,this.background=r}},It=(e=>(e[e.NotSet=-1]="NotSet",e[e.None=0]="None",e[e.Italic=1]="Italic",e[e.Bold=2]="Bold",e[e.Underline=4]="Underline",e[e.Strikethrough=8]="Strikethrough",e))(It||{});function iS(e,t){e.sort((l,u)=>{let c=Nh(l.scope,u.scope);return c!==0||(c=Oh(l.parentScopes,u.parentScopes),c!==0)?c:l.index-u.index});let n=0,s="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let l=e.shift();l.fontStyle!==-1&&(n=l.fontStyle),l.foreground!==null&&(s=l.foreground),l.background!==null&&(o=l.background)}let r=new aS(t),i=new Fh(n,r.getId(s),r.getId(o)),a=new uS(new el(0,null,-1,0,0),[]);for(let l=0,u=e.length;l<u;l++){let c=e[l];a.insert(0,c.scope,c.parentScopes,c.fontStyle,r.getId(c.foreground),r.getId(c.background))}return new ni(r,i,a)}var aS=class{constructor(e){Y(this,"_isFrozen");Y(this,"_lastColorId");Y(this,"_id2color");Y(this,"_color2id");if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw new Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},lS=Object.freeze([]),el=class Uh{constructor(t,n,s,o,r){Y(this,"scopeDepth");Y(this,"parentScopes");Y(this,"fontStyle");Y(this,"foreground");Y(this,"background");this.scopeDepth=t,this.parentScopes=n||lS,this.fontStyle=s,this.foreground=o,this.background=r}clone(){return new Uh(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let s=0,o=t.length;s<o;s++)n[s]=t[s].clone();return n}acceptOverwrite(t,n,s,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),s!==0&&(this.foreground=s),o!==0&&(this.background=o)}},uS=class tl{constructor(t,n=[],s={}){Y(this,"_rulesWithParentScopes");this._mainRule=t,this._children=s,this._rulesWithParentScopes=n}static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let s=0,o=0;for(;t.parentScopes[s]===">"&&s++,n.parentScopes[o]===">"&&o++,!(s>=t.parentScopes.length||o>=n.parentScopes.length);){const r=n.parentScopes[o].length-t.parentScopes[s].length;if(r!==0)return r;s++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let s=t.indexOf("."),o,r;if(s===-1?(o=t,r=""):(o=t.substring(0,s),r=t.substring(s+1)),this._children.hasOwnProperty(o))return this._children[o].match(r)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(tl._cmpBySpecificity),n}insert(t,n,s,o,r,i){if(n===""){this._doInsertHere(t,s,o,r,i);return}let a=n.indexOf("."),l,u;a===-1?(l=n,u=""):(l=n.substring(0,a),u=n.substring(a+1));let c;this._children.hasOwnProperty(l)?c=this._children[l]:(c=new tl(this._mainRule.clone(),el.cloneArr(this._rulesWithParentScopes)),this._children[l]=c),c.insert(t+1,u,s,o,r,i)}_doInsertHere(t,n,s,o,r){if(n===null){this._mainRule.acceptOverwrite(t,s,o,r);return}for(let i=0,a=this._rulesWithParentScopes.length;i<a;i++){let l=this._rulesWithParentScopes[i];if(Oh(l.parentScopes,n)===0){l.acceptOverwrite(t,s,o,r);return}}s===-1&&(s=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),r===0&&(r=this._mainRule.background),this._rulesWithParentScopes.push(new el(t,n,s,o,r))}},Xs=class Ft{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=Ft.getLanguageId(t),s=Ft.getTokenType(t),o=Ft.getFontStyle(t),r=Ft.getForeground(t),i=Ft.getBackground(t);console.log({languageId:n,tokenType:s,fontStyle:o,foreground:r,background:i})}static getLanguageId(t){return(t&255)>>>0}static getTokenType(t){return(t&768)>>>8}static containsBalancedBrackets(t){return(t&1024)!==0}static getFontStyle(t){return(t&30720)>>>11}static getForeground(t){return(t&16744448)>>>15}static getBackground(t){return(t&4278190080)>>>24}static set(t,n,s,o,r,i,a){let l=Ft.getLanguageId(t),u=Ft.getTokenType(t),c=Ft.containsBalancedBrackets(t)?1:0,d=Ft.getFontStyle(t),f=Ft.getForeground(t),p=Ft.getBackground(t);return n!==0&&(l=n),s!==8&&(u=s),o!==null&&(c=o?1:0),r!==-1&&(d=r),i!==0&&(f=i),a!==0&&(p=a),(l<<0|u<<8|c<<10|d<<11|f<<15|p<<24)>>>0}};function si(e,t){const n=[],s=cS(e);let o=s.next();for(;o!==null;){let l=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":l=1;break;case"L":l=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=s.next()}let u=i();if(n.push({matcher:u,priority:l}),o!==",")break;o=s.next()}return n;function r(){if(o==="-"){o=s.next();const l=r();return u=>!!l&&!l(u)}if(o==="("){o=s.next();const l=a();return o===")"&&(o=s.next()),l}if(Dc(o)){const l=[];do l.push(o),o=s.next();while(Dc(o));return u=>t(l,u)}return null}function i(){const l=[];let u=r();for(;u;)l.push(u),u=r();return c=>l.every(d=>d(c))}function a(){const l=[];let u=i();for(;u&&(l.push(u),o==="|"||o===",");){do o=s.next();while(o==="|"||o===",");u=i()}return c=>l.some(d=>d(c))}}function Dc(e){return!!e&&!!e.match(/[\w\.:]+/)}function cS(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const s=n[0];return n=t.exec(e),s}}}function jh(e){typeof e.dispose=="function"&&e.dispose()}var Bo=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},dS=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},fS=class{constructor(){Y(this,"_references",[]);Y(this,"_seenReferenceKeys",new Set);Y(this,"visitedRule",new Set)}get references(){return this._references}add(e){const t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},hS=class{constructor(e,t){Y(this,"seenFullScopeRequests",new Set);Y(this,"seenPartialScopeRequests",new Set);Y(this,"Q");this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new Bo(this.initialScopeName)]}processQueue(){const e=this.Q;this.Q=[];const t=new fS;for(const n of e)pS(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof Bo){if(this.seenFullScopeRequests.has(n.scopeName))continue;this.seenFullScopeRequests.add(n.scopeName),this.Q.push(n)}else{if(this.seenFullScopeRequests.has(n.scopeName)||this.seenPartialScopeRequests.has(n.toKey()))continue;this.seenPartialScopeRequests.add(n.toKey()),this.Q.push(n)}}};function pS(e,t,n,s){const o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const r=n.lookup(t);e instanceof Bo?Tr({baseGrammar:r,selfGrammar:o},s):nl(e.ruleName,{baseGrammar:r,selfGrammar:o,repository:o.repository},s);const i=n.injections(e.scopeName);if(i)for(const a of i)s.add(new Bo(a))}function nl(e,t,n){if(t.repository&&t.repository[e]){const s=t.repository[e];oi([s],t,n)}}function Tr(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&oi(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&oi(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function oi(e,t,n){for(const s of e){if(n.visitedRule.has(s))continue;n.visitedRule.add(s);const o=s.repository?Lh({},t.repository,s.repository):t.repository;Array.isArray(s.patterns)&&oi(s.patterns,{...t,repository:o},n);const r=s.include;if(!r)continue;const i=zh(r);switch(i.kind){case 0:Tr({...t,selfGrammar:t.baseGrammar},n);break;case 1:Tr(t,n);break;case 2:nl(i.ruleName,{...t,repository:o},n);break;case 3:case 4:const a=i.scopeName===t.selfGrammar.scopeName?t.selfGrammar:i.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(a){const l={baseGrammar:t.baseGrammar,selfGrammar:a,repository:o};i.kind===4?nl(i.ruleName,l,n):Tr(l,n)}else i.kind===4?n.add(new dS(i.scopeName,i.ruleName)):n.add(new Bo(i.scopeName));break}}}var gS=class{constructor(){Y(this,"kind",0)}},mS=class{constructor(){Y(this,"kind",1)}},vS=class{constructor(e){Y(this,"kind",2);this.ruleName=e}},yS=class{constructor(e){Y(this,"kind",3);this.scopeName=e}},bS=class{constructor(e,t){Y(this,"kind",4);this.scopeName=e,this.ruleName=t}};function zh(e){if(e==="$base")return new gS;if(e==="$self")return new mS;const t=e.indexOf("#");if(t===-1)return new yS(e);if(t===0)return new vS(e.substring(1));{const n=e.substring(0,t),s=e.substring(t+1);return new bS(n,s)}}var kS=/\\(\d+)/,Nc=/\\(\d+)/g,wS=-1,Hh=-2;var Xo=class{constructor(e,t,n,s){Y(this,"$location");Y(this,"id");Y(this,"_nameIsCapturing");Y(this,"_name");Y(this,"_contentNameIsCapturing");Y(this,"_contentName");this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=lr.hasCaptures(this._name),this._contentName=s||null,this._contentNameIsCapturing=lr.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${Dh(this.$location.filename)}:${this.$location.line}`:"unknown";return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:lr.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:lr.replaceCaptures(this._contentName,e,t)}},SS=class extends Xo{constructor(t,n,s,o,r){super(t,n,s,o);Y(this,"retokenizeCapturedWithRuleId");this.retokenizeCapturedWithRuleId=r}dispose(){}collectPatterns(t,n){throw new Error("Not supported!")}compile(t,n){throw new Error("Not supported!")}compileAG(t,n,s,o){throw new Error("Not supported!")}},_S=class extends Xo{constructor(t,n,s,o,r){super(t,n,s,null);Y(this,"_match");Y(this,"captures");Y(this,"_cachedCompiledPatterns");this._match=new Fo(o,this.id),this.captures=r,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(t,n){n.push(this._match)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uo,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},Oc=class extends Xo{constructor(t,n,s,o,r){super(t,n,s,o);Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");this.patterns=r.patterns,this.hasMissingPatterns=r.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(t,n){for(const s of this.patterns)t.getRule(s).collectPatterns(t,n)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new Uo,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},sl=class extends Xo{constructor(t,n,s,o,r,i,a,l,u,c){super(t,n,s,o);Y(this,"_begin");Y(this,"beginCaptures");Y(this,"_end");Y(this,"endHasBackReferences");Y(this,"endCaptures");Y(this,"applyEndPatternLast");Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");this._begin=new Fo(r,this.id),this.beginCaptures=i,this._end=new Fo(a||"￿",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=l,this.applyEndPatternLast=u||!1,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(t,n){return this._end.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t,n).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t,n).compileAG(t,s,o)}_getCachedCompiledPatterns(t,n){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uo;for(const s of this.patterns)t.getRule(s).collectPatterns(t,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,n):this._cachedCompiledPatterns.setSource(0,n)),this._cachedCompiledPatterns}},ri=class extends Xo{constructor(t,n,s,o,r,i,a,l,u){super(t,n,s,o);Y(this,"_begin");Y(this,"beginCaptures");Y(this,"whileCaptures");Y(this,"_while");Y(this,"whileHasBackReferences");Y(this,"hasMissingPatterns");Y(this,"patterns");Y(this,"_cachedCompiledPatterns");Y(this,"_cachedCompiledWhilePatterns");this._begin=new Fo(r,this.id),this.beginCaptures=i,this.whileCaptures=l,this._while=new Fo(a,Hh),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=u.patterns,this.hasMissingPatterns=u.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null),this._cachedCompiledWhilePatterns&&(this._cachedCompiledWhilePatterns.dispose(),this._cachedCompiledWhilePatterns=null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(t,n){return this._while.resolveBackReferences(t,n)}collectPatterns(t,n){n.push(this._begin)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,s,o){return this._getCachedCompiledPatterns(t).compileAG(t,s,o)}_getCachedCompiledPatterns(t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new Uo;for(const n of this.patterns)t.getRule(n).collectPatterns(t,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(t,n){return this._getCachedCompiledWhilePatterns(t,n).compile(t)}compileWhileAG(t,n,s,o){return this._getCachedCompiledWhilePatterns(t,n).compileAG(t,s,o)}_getCachedCompiledWhilePatterns(t,n){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new Uo,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,n||"￿"),this._cachedCompiledWhilePatterns}},Wh=class _t{static createCaptureRule(t,n,s,o,r){return t.registerRule(i=>new SS(n,i,s,o,r))}static getCompiledRuleId(t,n,s){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new _S(t.$vscodeTextmateLocation,t.id,t.name,t.match,_t._compileCaptures(t.captures,n,s));if(typeof t.begin>"u"){t.repository&&(s=Lh({},s,t.repository));let r=t.patterns;return typeof r>"u"&&t.include&&(r=[{include:t.include}]),new Oc(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,_t._compilePatterns(r,n,s))}return t.while?new ri(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,_t._compileCaptures(t.beginCaptures||t.captures,n,s),t.while,_t._compileCaptures(t.whileCaptures||t.captures,n,s),_t._compilePatterns(t.patterns,n,s)):new sl(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,_t._compileCaptures(t.beginCaptures||t.captures,n,s),t.end,_t._compileCaptures(t.endCaptures||t.captures,n,s),t.applyEndPatternLast,_t._compilePatterns(t.patterns,n,s))}),t.id}static _compileCaptures(t,n,s){let o=[];if(t){let r=0;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);a>r&&(r=a)}for(let i=0;i<=r;i++)o[i]=null;for(const i in t){if(i==="$vscodeTextmateLocation")continue;const a=parseInt(i,10);let l=0;t[i].patterns&&(l=_t.getCompiledRuleId(t[i],n,s)),o[a]=_t.createCaptureRule(n,t[i].$vscodeTextmateLocation,t[i].name,t[i].contentName,l)}}return o}static _compilePatterns(t,n,s){let o=[];if(t)for(let r=0,i=t.length;r<i;r++){const a=t[r];let l=-1;if(a.include){const u=zh(a.include);switch(u.kind){case 0:case 1:l=_t.getCompiledRuleId(s[a.include],n,s);break;case 2:let c=s[u.ruleName];c&&(l=_t.getCompiledRuleId(c,n,s));break;case 3:case 4:const d=u.scopeName,f=u.kind===4?u.ruleName:null,p=n.getExternalGrammar(d,s);if(p)if(f){let g=p.repository[f];g&&(l=_t.getCompiledRuleId(g,n,p.repository))}else l=_t.getCompiledRuleId(p.repository.$self,n,p.repository);break}}else l=_t.getCompiledRuleId(a,n,s);if(l!==-1){const u=n.getRule(l);let c=!1;if((u instanceof Oc||u instanceof sl||u instanceof ri)&&u.hasMissingPatterns&&u.patterns.length===0&&(c=!0),c)continue;o.push(l)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Fo=class qh{constructor(t,n){Y(this,"source");Y(this,"ruleId");Y(this,"hasAnchor");Y(this,"hasBackReferences");Y(this,"_anchorCache");if(t&&typeof t=="string"){const s=t.length;let o=0,r=[],i=!1;for(let a=0;a<s;a++)if(t.charAt(a)==="\\"&&a+1<s){const u=t.charAt(a+1);u==="z"?(r.push(t.substring(o,a)),r.push("$(?!\\n)(?<!\\n)"),o=a+2):(u==="A"||u==="G")&&(i=!0),a++}this.hasAnchor=i,o===0?this.source=t:(r.push(t.substring(o,s)),this.source=r.join(""))}else this.hasAnchor=!1,this.source=t;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=n,typeof this.source=="string"?this.hasBackReferences=kS.test(this.source):this.hasBackReferences=!1}clone(){return new qh(this.source,this.ruleId)}setSource(t){this.source!==t&&(this.source=t,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(t,n){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let s=n.map(o=>t.substring(o.start,o.end));return Nc.lastIndex=0,this.source.replace(Nc,(o,r)=>Gh(s[parseInt(r,10)]||""))}_buildAnchorCache(){if(typeof this.source!="string")throw new Error("This method should only be called if the source is a string");let t=[],n=[],s=[],o=[],r,i,a,l;for(r=0,i=this.source.length;r<i;r++)a=this.source.charAt(r),t[r]=a,n[r]=a,s[r]=a,o[r]=a,a==="\\"&&r+1<i&&(l=this.source.charAt(r+1),l==="A"?(t[r+1]="￿",n[r+1]="￿",s[r+1]="A",o[r+1]="A"):l==="G"?(t[r+1]="￿",n[r+1]="G",s[r+1]="￿",o[r+1]="G"):(t[r+1]=l,n[r+1]=l,s[r+1]=l,o[r+1]=l),r++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:s.join(""),A1_G1:o.join("")}}resolveAnchors(t,n){return!this.hasAnchor||!this._anchorCache||typeof this.source!="string"?this.source:t?n?this._anchorCache.A1_G1:this._anchorCache.A1_G0:n?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},Uo=class{constructor(){Y(this,"_items");Y(this,"_hasAnchors");Y(this,"_cached");Y(this,"_anchorCache");this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&(this._cached.dispose(),this._cached=null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){if(!this._cached){let t=this._items.map(n=>n.source);this._cached=new Gc(e,t,this._items.map(n=>n.ruleId))}return this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){let s=this._items.map(o=>o.resolveAnchors(t,n));return new Gc(e,s,this._items.map(o=>o.ruleId))}},Gc=class{constructor(e,t,n){Y(this,"scanner");this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}dispose(){typeof this.scanner.dispose=="function"&&this.scanner.dispose()}toString(){const e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(" - "+this.rules[t]+": "+this.regExps[t]);return e.join(`
76
+ `)}findNextMatchSync(e,t,n){const s=this.scanner.findNextMatchSync(e,t,n);return s?{ruleId:this.rules[s.index],captureIndices:s.captureIndices}:null}},aa=class{constructor(e,t){this.languageId=e,this.tokenType=t}},Sn,$S=(Sn=class{constructor(t,n){Y(this,"_defaultAttributes");Y(this,"_embeddedLanguagesMatcher");Y(this,"_getBasicScopeAttributes",new Bh(t=>{const n=this._scopeToLanguage(t),s=this._toStandardTokenType(t);return new aa(n,s)}));this._defaultAttributes=new aa(t,8),this._embeddedLanguagesMatcher=new CS(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?Sn._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(Sn.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case"comment":return 1;case"string":return 2;case"regex":return 3;case"meta.embedded":return 0}throw new Error("Unexpected match for standard token type!")}},Y(Sn,"_NULL_SCOPE_METADATA",new aa(0,0)),Y(Sn,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),Sn),CS=class{constructor(e){Y(this,"values");Y(this,"scopesRegExp");if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,s])=>Gh(n));t.sort(),t.reverse(),this.scopesRegExp=new RegExp(`^((${t.join(")|(")}))($|\\.)`,"")}}match(e){if(!this.scopesRegExp)return;const t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}},Bc=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Vh(e,t,n,s,o,r,i,a){const l=t.content.length;let u=!1,c=-1;if(i){const p=xS(e,t,n,s,o,r);o=p.stack,s=p.linePos,n=p.isFirstLine,c=p.anchorPosition}const d=Date.now();for(;!u;){if(a!==0&&Date.now()-d>a)return new Bc(o,!0);f()}return new Bc(o,!1);function f(){const p=IS(e,t,n,s,o,c);if(!p){r.produce(o,l),u=!0;return}const g=p.captureIndices,y=p.matchedRuleId,S=g&&g.length>0?g[0].end>s:!1;if(y===wS){const k=o.getRule(e);r.produce(o,g[0].start),o=o.withContentNameScopesList(o.nameScopesList),ko(e,t,n,o,r,k.endCaptures,g),r.produce(o,g[0].end);const w=o;if(o=o.parent,c=w.getAnchorPos(),!S&&w.getEnterPos()===s){o=w,r.produce(o,l),u=!0;return}}else{const k=e.getRule(y);r.produce(o,g[0].start);const w=o,b=k.getName(t.content,g),_=o.contentNameScopesList.pushAttributed(b,e);if(o=o.push(y,s,c,g[0].end===l,null,_,_),k instanceof sl){const B=k;ko(e,t,n,o,r,B.beginCaptures,g),r.produce(o,g[0].end),c=g[0].end;const D=B.getContentName(t.content,g),E=_.pushAttributed(D,e);if(o=o.withContentNameScopesList(E),B.endHasBackReferences&&(o=o.withEndRule(B.getEndWithResolvedBackReferences(t.content,g))),!S&&w.hasSameRuleAs(o)){o=o.pop(),r.produce(o,l),u=!0;return}}else if(k instanceof ri){const B=k;ko(e,t,n,o,r,B.beginCaptures,g),r.produce(o,g[0].end),c=g[0].end;const D=B.getContentName(t.content,g),E=_.pushAttributed(D,e);if(o=o.withContentNameScopesList(E),B.whileHasBackReferences&&(o=o.withEndRule(B.getWhileWithResolvedBackReferences(t.content,g))),!S&&w.hasSameRuleAs(o)){o=o.pop(),r.produce(o,l),u=!0;return}}else if(ko(e,t,n,o,r,k.captures,g),r.produce(o,g[0].end),o=o.pop(),!S){o=o.safePop(),r.produce(o,l),u=!0;return}}g[0].end>s&&(s=g[0].end,n=!1)}}function xS(e,t,n,s,o,r){let i=o.beginRuleCapturedEOL?0:-1;const a=[];for(let l=o;l;l=l.pop()){const u=l.getRule(e);u instanceof ri&&a.push({rule:u,stack:l})}for(let l=a.pop();l;l=a.pop()){const{ruleScanner:u,findOptions:c}=AS(l.rule,e,l.stack.endRule,n,s===i),d=u.findNextMatchSync(t,s,c);if(d){if(d.ruleId!==Hh){o=l.stack.pop();break}d.captureIndices&&d.captureIndices.length&&(r.produce(l.stack,d.captureIndices[0].start),ko(e,t,n,l.stack,r,l.rule.whileCaptures,d.captureIndices),r.produce(l.stack,d.captureIndices[0].end),i=d.captureIndices[0].end,d.captureIndices[0].end>s&&(s=d.captureIndices[0].end,n=!1))}else{o=l.stack.pop();break}}return{stack:o,linePos:s,anchorPosition:i,isFirstLine:n}}function IS(e,t,n,s,o,r){const i=TS(e,t,n,s,o,r),a=e.getInjections();if(a.length===0)return i;const l=ES(a,e,t,n,s,o,r);if(!l)return i;if(!i)return l;const u=i.captureIndices[0].start,c=l.captureIndices[0].start;return c<u||l.priorityMatch&&c===u?l:i}function TS(e,t,n,s,o,r){const i=o.getRule(e),{ruleScanner:a,findOptions:l}=Kh(i,e,o.endRule,n,s===r),u=a.findNextMatchSync(t,s,l);return u?{captureIndices:u.captureIndices,matchedRuleId:u.ruleId}:null}function ES(e,t,n,s,o,r,i){let a=Number.MAX_VALUE,l=null,u,c=0;const d=r.contentNameScopesList.getScopeNames();for(let f=0,p=e.length;f<p;f++){const g=e[f];if(!g.matcher(d))continue;const y=t.getRule(g.ruleId),{ruleScanner:S,findOptions:k}=Kh(y,t,null,s,o===i),w=S.findNextMatchSync(n,o,k);if(!w)continue;const b=w.captureIndices[0].start;if(!(b>=a)&&(a=b,l=w.captureIndices,u=w.ruleId,c=g.priority,a===o))break}return l?{priorityMatch:c===-1,captureIndices:l,matchedRuleId:u}:null}function Kh(e,t,n,s,o){return{ruleScanner:e.compileAG(t,n,s,o),findOptions:0}}function AS(e,t,n,s,o){return{ruleScanner:e.compileWhileAG(t,n,s,o),findOptions:0}}function ko(e,t,n,s,o,r,i){if(r.length===0)return;const a=t.content,l=Math.min(r.length,i.length),u=[],c=i[0].end;for(let d=0;d<l;d++){const f=r[d];if(f===null)continue;const p=i[d];if(p.length===0)continue;if(p.start>c)break;for(;u.length>0&&u[u.length-1].endPos<=p.start;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop();if(u.length>0?o.produceFromScopes(u[u.length-1].scopes,p.start):o.produce(s,p.start),f.retokenizeCapturedWithRuleId){const y=f.getName(a,i),S=s.contentNameScopesList.pushAttributed(y,e),k=f.getContentName(a,i),w=S.pushAttributed(k,e),b=s.push(f.retokenizeCapturedWithRuleId,p.start,-1,!1,null,S,w),_=e.createOnigString(a.substring(0,p.end));Vh(e,_,n&&p.start===0,p.start,b,o,!1,0),jh(_);continue}const g=f.getName(a,i);if(g!==null){const S=(u.length>0?u[u.length-1].scopes:s.contentNameScopesList).pushAttributed(g,e);u.push(new MS(S,p.end))}}for(;u.length>0;)o.produceFromScopes(u[u.length-1].scopes,u[u.length-1].endPos),u.pop()}var MS=class{constructor(e,t){Y(this,"scopes");Y(this,"endPos");this.scopes=e,this.endPos=t}};function RS(e,t,n,s,o,r,i,a){return new LS(e,t,n,s,o,r,i,a)}function Fc(e,t,n,s,o){const r=si(t,ii),i=Wh.getCompiledRuleId(n,s,o.repository);for(const a of r)e.push({debugSelector:t,matcher:a.matcher,ruleId:i,grammar:o,priority:a.priority})}function ii(e,t){if(t.length<e.length)return!1;let n=0;return e.every(s=>{for(let o=n;o<t.length;o++)if(PS(t[o],s))return n=o+1,!0;return!1})}function PS(e,t){if(!e)return!1;if(e===t)return!0;const n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]==="."}var LS=class{constructor(e,t,n,s,o,r,i,a){Y(this,"_rootId");Y(this,"_lastRuleId");Y(this,"_ruleId2desc");Y(this,"_includedGrammars");Y(this,"_grammarRepository");Y(this,"_grammar");Y(this,"_injections");Y(this,"_basicScopeAttributesProvider");Y(this,"_tokenTypeMatchers");if(this._rootScopeName=e,this.balancedBracketSelectors=r,this._onigLib=a,this._basicScopeAttributesProvider=new $S(n,s),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=i,this._grammar=Uc(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(const l of Object.keys(o)){const u=si(l,ii);for(const c of u)this._tokenTypeMatchers.push({matcher:c.matcher,type:o[l]})}}get themeProvider(){return this._grammarRepository}dispose(){for(const e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){const e={lookup:o=>o===this._rootScopeName?this._grammar:this.getExternalGrammar(o),injections:o=>this._grammarRepository.injections(o)},t=[],n=this._rootScopeName,s=e.lookup(n);if(s){const o=s.injections;if(o)for(let i in o)Fc(t,i,o[i],this,s);const r=this._grammarRepository.injections(n);r&&r.forEach(i=>{const a=this.getExternalGrammar(i);if(a){const l=a.injectionSelector;l&&Fc(t,l,a,this,a)}})}return t.sort((o,r)=>o.priority-r.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){const t=++this._lastRuleId,n=e(t);return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[e]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){const n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Uc(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const s=this._tokenize(e,t,!1,n);return{tokens:s.lineTokens.getResult(s.ruleStack,s.lineLength),ruleStack:s.ruleStack,stoppedEarly:s.stoppedEarly}}tokenizeLine2(e,t,n=0){const s=this._tokenize(e,t,!0,n);return{tokens:s.lineTokens.getBinaryResult(s.ruleStack,s.lineLength),ruleStack:s.ruleStack,stoppedEarly:s.stoppedEarly}}_tokenize(e,t,n,s){this._rootId===-1&&(this._rootId=Wh.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===ol.NULL){o=!0;const u=this._basicScopeAttributesProvider.getDefaultAttributes(),c=this.themeProvider.getDefaults(),d=Xs.set(0,u.languageId,u.tokenType,null,c.fontStyle,c.foregroundId,c.backgroundId),f=this.getRule(this._rootId).getName(null,null);let p;f?p=Eo.createRootAndLookUpScopeName(f,d,this):p=Eo.createRoot("unknown",d),t=new ol(null,this._rootId,-1,-1,!1,null,p,p)}else o=!1,t.reset();e=e+`
77
+ `;const r=this.createOnigString(e),i=r.content.length,a=new NS(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),l=Vh(this,r,o,0,t,a,!0,s);return jh(r),{lineLength:i,lineTokens:a,ruleStack:l.stack,stoppedEarly:l.stoppedEarly}}};function Uc(e,t){return e=Q0(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Eo=class un{constructor(t,n,s){this.parent=t,this.scopePath=n,this.tokenAttributes=s}static fromExtension(t,n){let s=t,o=(t==null?void 0:t.scopePath)??null;for(const r of n)o=ia.push(o,r.scopeNames),s=new un(s,o,r.encodedTokenAttributes);return s}static createRoot(t,n){return new un(null,new ia(null,t),n)}static createRootAndLookUpScopeName(t,n,s){const o=s.getMetadataForScope(t),r=new ia(null,t),i=s.themeProvider.themeMatch(r),a=un.mergeAttributes(n,o,i);return new un(null,r,a)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return un.equals(this,t)}static equals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.scopeName!==n.scopeName||t.tokenAttributes!==n.tokenAttributes)return!1;t=t.parent,n=n.parent}while(!0)}static mergeAttributes(t,n,s){let o=-1,r=0,i=0;return s!==null&&(o=s.fontStyle,r=s.foregroundId,i=s.backgroundId),Xs.set(t,n.languageId,n.tokenType,null,o,r,i)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return un._pushAttributed(this,t,n);const s=t.split(/ /g);let o=this;for(const r of s)o=un._pushAttributed(o,r,n);return o}static _pushAttributed(t,n,s){const o=s.getMetadataForScope(n),r=t.scopePath.push(n),i=s.themeProvider.themeMatch(r),a=un.mergeAttributes(t.tokenAttributes,o,i);return new un(t,r,a)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){var o;const n=[];let s=this;for(;s&&s!==t;)n.push({encodedTokenAttributes:s.tokenAttributes,scopeNames:s.scopePath.getExtensionIfDefined(((o=s.parent)==null?void 0:o.scopePath)??null)}),s=s.parent;return s===t?n.reverse():void 0}},jt,ol=(jt=class{constructor(t,n,s,o,r,i,a,l){Y(this,"_stackElementBrand");Y(this,"_enterPos");Y(this,"_anchorPos");Y(this,"depth");this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=r,this.endRule=i,this.nameScopesList=a,this.contentNameScopesList=l,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=s,this._anchorPos=o}equals(t){return t===null?!1:jt._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?Eo.equals(t.contentNameScopesList,n.contentNameScopesList):!1}static _structuralEquals(t,n){do{if(t===n||!t&&!n)return!0;if(!t||!n||t.depth!==n.depth||t.ruleId!==n.ruleId||t.endRule!==n.endRule)return!1;t=t.parent,n=n.parent}while(!0)}clone(){return this}static _reset(t){for(;t;)t._enterPos=-1,t._anchorPos=-1,t=t.parent}reset(){jt._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,s,o,r,i,a){return new jt(this,t,n,s,o,r,i,a)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(t){return t.getRule(this.ruleId)}toString(){const t=[];return this._writeString(t,0),"["+t.join(",")+"]"}_writeString(t,n){var s,o;return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${(s=this.nameScopesList)==null?void 0:s.toString()}, ${(o=this.contentNameScopesList)==null?void 0:o.toString()})`,n}withContentNameScopesList(t){return this.contentNameScopesList===t?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,t)}withEndRule(t){return this.endRule===t?this:new jt(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(t){let n=this;for(;n&&n._enterPos===t._enterPos;){if(n.ruleId===t.ruleId)return!0;n=n.parent}return!1}toStateStackFrame(){var t,n,s;return{ruleId:this.ruleId,beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:((n=this.nameScopesList)==null?void 0:n.getExtensionIfDefined(((t=this.parent)==null?void 0:t.nameScopesList)??null))??[],contentNameScopesList:((s=this.contentNameScopesList)==null?void 0:s.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(t,n){const s=Eo.fromExtension((t==null?void 0:t.nameScopesList)??null,n.nameScopesList);return new jt(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,s,Eo.fromExtension(s,n.contentNameScopesList))}},Y(jt,"NULL",new jt(null,0,0,0,!1,null,null,null)),jt),DS=class{constructor(e,t){Y(this,"balancedBracketScopes");Y(this,"unbalancedBracketScopes");Y(this,"allowAny",!1);this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):si(n,ii).map(s=>s.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>si(n,ii).map(s=>s.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(const t of this.unbalancedBracketScopes)if(t(e))return!1;for(const t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},NS=class{constructor(e,t,n,s){Y(this,"_emitBinaryTokens");Y(this,"_lineText");Y(this,"_tokens");Y(this,"_binaryTokens");Y(this,"_lastTokenEndIndex");Y(this,"_tokenTypeOverrides");this.balancedBracketSelectors=s,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){var s;if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=(e==null?void 0:e.tokenAttributes)??0,r=!1;if((s=this.balancedBracketSelectors)!=null&&s.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const i=(e==null?void 0:e.getScopeNames())??[];for(const a of this._tokenTypeOverrides)a.matcher(i)&&(o=Xs.set(o,0,a.type,null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(i))}if(r&&(o=Xs.set(o,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===o){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(o),this._lastTokenEndIndex=t;return}const n=(e==null?void 0:e.getScopeNames())??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);const n=new Uint32Array(this._binaryTokens.length);for(let s=0,o=this._binaryTokens.length;s<o;s++)n[s]=this._binaryTokens[s];return n}},OS=class{constructor(e,t){Y(this,"_grammars",new Map);Y(this,"_rawGrammars",new Map);Y(this,"_injectionGrammars",new Map);Y(this,"_theme");this._onigLib=t,this._theme=e}dispose(){for(const e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,s,o){if(!this._grammars.has(e)){let r=this._rawGrammars.get(e);if(!r)return null;this._grammars.set(e,RS(e,r,t,n,s,o,this,this._onigLib))}return this._grammars.get(e)}},GS=class{constructor(t){Y(this,"_options");Y(this,"_syncRegistry");Y(this,"_ensureGrammarCache");this._options=t,this._syncRegistry=new OS(ni.createFromRawTheme(t.theme,t.colorMap),t.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(t,n){this._syncRegistry.setTheme(ni.createFromRawTheme(t,n))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(t,n,s){return this.loadGrammarWithConfiguration(t,n,{embeddedLanguages:s})}loadGrammarWithConfiguration(t,n,s){return this._loadGrammar(t,n,s.embeddedLanguages,s.tokenTypes,new DS(s.balancedBracketSelectors||[],s.unbalancedBracketSelectors||[]))}loadGrammar(t){return this._loadGrammar(t,0,null,null,null)}_loadGrammar(t,n,s,o,r){const i=new hS(this._syncRegistry,t);for(;i.Q.length>0;)i.Q.map(a=>this._loadSingleGrammar(a.scopeName)),i.processQueue();return this._grammarForScopeName(t,n,s,o,r)}_loadSingleGrammar(t){this._ensureGrammarCache.has(t)||(this._doLoadSingleGrammar(t),this._ensureGrammarCache.set(t,!0))}_doLoadSingleGrammar(t){const n=this._options.loadGrammar(t);if(n){const s=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,s)}}addGrammar(t,n=[],s=0,o=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,s,o)}_grammarForScopeName(t,n=0,s=null,o=null,r=null){return this._syncRegistry.grammarForScopeName(t,n,s,o,r)}},rl=ol.NULL;const BS=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Jo{constructor(t,n,s){this.normal=n,this.property=t,s&&(this.space=s)}}Jo.prototype.normal={};Jo.prototype.property={};Jo.prototype.space=void 0;function Zh(e,t){const n={},s={};for(const o of e)Object.assign(n,o.property),Object.assign(s,o.normal);return new Jo(n,s,t)}function il(e){return e.toLowerCase()}class Ot{constructor(t,n){this.attribute=n,this.property=t}}Ot.prototype.attribute="";Ot.prototype.booleanish=!1;Ot.prototype.boolean=!1;Ot.prototype.commaOrSpaceSeparated=!1;Ot.prototype.commaSeparated=!1;Ot.prototype.defined=!1;Ot.prototype.mustUseProperty=!1;Ot.prototype.number=!1;Ot.prototype.overloadedBoolean=!1;Ot.prototype.property="";Ot.prototype.spaceSeparated=!1;Ot.prototype.space=void 0;let FS=0;const Re=ws(),ut=ws(),al=ws(),le=ws(),Xe=ws(),gs=ws(),Gt=ws();function ws(){return 2**++FS}const ll=Object.freeze(Object.defineProperty({__proto__:null,boolean:Re,booleanish:ut,commaOrSpaceSeparated:Gt,commaSeparated:gs,number:le,overloadedBoolean:al,spaceSeparated:Xe},Symbol.toStringTag,{value:"Module"})),la=Object.keys(ll);class ru extends Ot{constructor(t,n,s,o){let r=-1;if(super(t,n),jc(this,"space",o),typeof s=="number")for(;++r<la.length;){const i=la[r];jc(this,la[r],(s&ll[i])===ll[i])}}}ru.prototype.defined=!0;function jc(e,t,n){n&&(e[t]=n)}function eo(e){const t={},n={};for(const[s,o]of Object.entries(e.properties)){const r=new ru(s,e.transform(e.attributes||{},s),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(s)&&(r.mustUseProperty=!0),t[s]=r,n[il(s)]=s,n[il(r.attribute)]=s}return new Jo(t,n,e.space)}const Yh=eo({properties:{ariaActiveDescendant:null,ariaAtomic:ut,ariaAutoComplete:null,ariaBusy:ut,ariaChecked:ut,ariaColCount:le,ariaColIndex:le,ariaColSpan:le,ariaControls:Xe,ariaCurrent:null,ariaDescribedBy:Xe,ariaDetails:null,ariaDisabled:ut,ariaDropEffect:Xe,ariaErrorMessage:null,ariaExpanded:ut,ariaFlowTo:Xe,ariaGrabbed:ut,ariaHasPopup:null,ariaHidden:ut,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:Xe,ariaLevel:le,ariaLive:null,ariaModal:ut,ariaMultiLine:ut,ariaMultiSelectable:ut,ariaOrientation:null,ariaOwns:Xe,ariaPlaceholder:null,ariaPosInSet:le,ariaPressed:ut,ariaReadOnly:ut,ariaRelevant:null,ariaRequired:ut,ariaRoleDescription:Xe,ariaRowCount:le,ariaRowIndex:le,ariaRowSpan:le,ariaSelected:ut,ariaSetSize:le,ariaSort:null,ariaValueMax:le,ariaValueMin:le,ariaValueNow:le,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function Xh(e,t){return t in e?e[t]:t}function Jh(e,t){return Xh(e,t.toLowerCase())}const US=eo({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:gs,acceptCharset:Xe,accessKey:Xe,action:null,allow:null,allowFullScreen:Re,allowPaymentRequest:Re,allowUserMedia:Re,alpha:Re,alt:null,as:null,async:Re,autoCapitalize:null,autoComplete:Xe,autoFocus:Re,autoPlay:Re,blocking:Xe,capture:null,charSet:null,checked:Re,cite:null,className:Xe,closedBy:null,colorSpace:null,cols:le,colSpan:le,command:null,commandFor:null,content:null,contentEditable:ut,controls:Re,controlsList:Xe,coords:le|gs,crossOrigin:null,data:null,dateTime:null,decoding:null,default:Re,defer:Re,dir:null,dirName:null,disabled:Re,download:al,draggable:ut,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:Re,formTarget:null,headers:Xe,height:le,hidden:al,high:le,href:null,hrefLang:null,htmlFor:Xe,httpEquiv:Xe,id:null,imageSizes:null,imageSrcSet:null,inert:Re,inputMode:null,integrity:null,is:null,isMap:Re,itemId:null,itemProp:Xe,itemRef:Xe,itemScope:Re,itemType:Xe,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:Re,low:le,manifest:null,max:null,maxLength:le,media:null,method:null,min:null,minLength:le,multiple:Re,muted:Re,name:null,nonce:null,noModule:Re,noValidate:Re,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:Re,optimum:le,pattern:null,ping:Xe,placeholder:null,playsInline:Re,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:Re,referrerPolicy:null,rel:Xe,required:Re,reversed:Re,rows:le,rowSpan:le,sandbox:Xe,scope:null,scoped:Re,seamless:Re,selected:Re,shadowRootClonable:Re,shadowRootCustomElementRegistry:Re,shadowRootDelegatesFocus:Re,shadowRootMode:null,shadowRootSerializable:Re,shape:null,size:le,sizes:null,slot:null,span:le,spellCheck:ut,src:null,srcDoc:null,srcLang:null,srcSet:null,start:le,step:null,style:null,tabIndex:le,target:null,title:null,translate:null,type:null,typeMustMatch:Re,useMap:null,value:ut,width:le,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:Xe,axis:null,background:null,bgColor:null,border:le,borderColor:null,bottomMargin:le,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:Re,declare:Re,event:null,face:null,frame:null,frameBorder:null,hSpace:le,leftMargin:le,link:null,longDesc:null,lowSrc:null,marginHeight:le,marginWidth:le,noResize:Re,noHref:Re,noShade:Re,noWrap:Re,object:null,profile:null,prompt:null,rev:null,rightMargin:le,rules:null,scheme:null,scrolling:ut,standby:null,summary:null,text:null,topMargin:le,valueType:null,version:null,vAlign:null,vLink:null,vSpace:le,allowTransparency:null,autoCorrect:null,autoSave:null,credentialless:Re,disablePictureInPicture:Re,disableRemotePlayback:Re,exportParts:gs,part:Xe,prefix:null,property:null,results:le,security:null,unselectable:null},space:"html",transform:Jh}),jS=eo({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",maskType:"mask-type",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:Gt,accentHeight:le,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:le,amplitude:le,arabicForm:null,ascent:le,attributeName:null,attributeType:null,azimuth:le,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:le,by:null,calcMode:null,capHeight:le,className:Xe,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:le,diffuseConstant:le,direction:null,display:null,dur:null,divisor:le,dominantBaseline:null,download:Re,dx:null,dy:null,edgeMode:null,editable:null,elevation:le,enableBackground:null,end:null,event:null,exponent:le,externalResourcesRequired:null,fill:null,fillOpacity:le,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:gs,g2:gs,glyphName:gs,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:le,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:le,horizOriginX:le,horizOriginY:le,id:null,ideographic:le,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:le,k:le,k1:le,k2:le,k3:le,k4:le,kernelMatrix:Gt,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:le,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskType:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:le,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:le,overlineThickness:le,paintOrder:null,panose1:null,path:null,pathLength:le,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:Xe,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:le,pointsAtY:le,pointsAtZ:le,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:Gt,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:Gt,rev:Gt,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:Gt,requiredFeatures:Gt,requiredFonts:Gt,requiredFormats:Gt,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:le,specularExponent:le,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:le,strikethroughThickness:le,string:null,stroke:null,strokeDashArray:Gt,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:le,strokeOpacity:le,strokeWidth:null,style:null,surfaceScale:le,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:Gt,tabIndex:le,tableValues:null,target:null,targetX:le,targetY:le,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:Gt,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:le,underlineThickness:le,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:le,values:null,vAlphabetic:le,vMathematical:le,vectorEffect:null,vHanging:le,vIdeographic:le,version:null,vertAdvY:le,vertOriginX:le,vertOriginY:le,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:le,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:Xh}),Qh=eo({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform(e,t){return"xlink:"+t.slice(5).toLowerCase()}}),ep=eo({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:Jh}),tp=eo({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),zS=/[A-Z]/g,zc=/-[a-z]/g,HS=/^data[-\w.:]+$/i;function WS(e,t){const n=il(t);let s=t,o=Ot;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&HS.test(t)){if(t.charAt(4)==="-"){const r=t.slice(5).replace(zc,VS);s="data"+r.charAt(0).toUpperCase()+r.slice(1)}else{const r=t.slice(4);if(!zc.test(r)){let i=r.replace(zS,qS);i.charAt(0)!=="-"&&(i="-"+i),t="data"+i}}o=ru}return new o(s,t)}function qS(e){return"-"+e.toLowerCase()}function VS(e){return e.charAt(1).toUpperCase()}const KS=Zh([Yh,US,Qh,ep,tp],"html"),np=Zh([Yh,jS,Qh,ep,tp],"svg"),Hc={}.hasOwnProperty;function ZS(e,t){const n=t||{};function s(o,...r){let i=s.invalid;const a=s.handlers;if(o&&Hc.call(o,e)){const l=String(o[e]);i=Hc.call(a,l)?a[l]:s.unknown}if(i)return i.call(this,o,...r)}return s.handlers=n.handlers||{},s.invalid=n.invalid,s.unknown=n.unknown,s}const YS=/["&'<>`]/g,XS=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,JS=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,QS=/[|\\{}()[\]^$+*?.]/g,Wc=new WeakMap;function e_(e,t){if(e=e.replace(t.subset?t_(t.subset):YS,s),t.subset||t.escapeOnly)return e;return e.replace(XS,n).replace(JS,s);function n(o,r,i){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,i.charCodeAt(r+2),t)}function s(o,r,i){return t.format(o.charCodeAt(0),i.charCodeAt(r+1),t)}}function t_(e){let t=Wc.get(e);return t||(t=n_(e),Wc.set(e,t)),t}function n_(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(QS,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}const s_=/[\dA-Fa-f]/;function o_(e,t,n){const s="&#x"+e.toString(16).toUpperCase();return n&&t&&!s_.test(String.fromCharCode(t))?s:s+";"}const r_=/\d/;function i_(e,t,n){const s="&#"+String(e);return n&&t&&!r_.test(String.fromCharCode(t))?s:s+";"}const a_=["AElig","AMP","Aacute","Acirc","Agrave","Aring","Atilde","Auml","COPY","Ccedil","ETH","Eacute","Ecirc","Egrave","Euml","GT","Iacute","Icirc","Igrave","Iuml","LT","Ntilde","Oacute","Ocirc","Ograve","Oslash","Otilde","Ouml","QUOT","REG","THORN","Uacute","Ucirc","Ugrave","Uuml","Yacute","aacute","acirc","acute","aelig","agrave","amp","aring","atilde","auml","brvbar","ccedil","cedil","cent","copy","curren","deg","divide","eacute","ecirc","egrave","eth","euml","frac12","frac14","frac34","gt","iacute","icirc","iexcl","igrave","iquest","iuml","laquo","lt","macr","micro","middot","nbsp","not","ntilde","oacute","ocirc","ograve","ordf","ordm","oslash","otilde","ouml","para","plusmn","pound","quot","raquo","reg","sect","shy","sup1","sup2","sup3","szlig","thorn","times","uacute","ucirc","ugrave","uml","uuml","yacute","yen","yuml"],ua={nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",fnof:"ƒ",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",bull:"•",hellip:"…",prime:"′",Prime:"″",oline:"‾",frasl:"⁄",weierp:"℘",image:"ℑ",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦",quot:'"',amp:"&",lt:"<",gt:">",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",circ:"ˆ",tilde:"˜",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",permil:"‰",lsaquo:"‹",rsaquo:"›",euro:"€"},l_=["cent","copy","divide","gt","lt","not","para","times"],sp={}.hasOwnProperty,ul={};let ur;for(ur in ua)sp.call(ua,ur)&&(ul[ua[ur]]=ur);const u_=/[^\dA-Za-z]/;function c_(e,t,n,s){const o=String.fromCharCode(e);if(sp.call(ul,o)){const r=ul[o],i="&"+r;return n&&a_.includes(r)&&!l_.includes(r)&&(!s||t&&t!==61&&u_.test(String.fromCharCode(t)))?i:i+";"}return""}function d_(e,t,n){let s=o_(e,t,n.omitOptionalSemicolons),o;if((n.useNamedReferences||n.useShortestReferences)&&(o=c_(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!o)&&n.useShortestReferences){const r=i_(e,t,n.omitOptionalSemicolons);r.length<s.length&&(s=r)}return o&&(!n.useShortestReferences||o.length<s.length)?o:s}function Ws(e,t){return e_(e,Object.assign({format:d_},t))}const f_=/^>|^->|<!--|-->|--!>|<!-$/g,h_=[">"],p_=["<",">"];function g_(e,t,n,s){return s.settings.bogusComments?"<?"+Ws(e.value,Object.assign({},s.settings.characterReferences,{subset:h_}))+">":"<!--"+e.value.replace(f_,o)+"-->";function o(r){return Ws(r,Object.assign({},s.settings.characterReferences,{subset:p_}))}}function m_(e,t,n,s){return"<!"+(s.settings.upperDoctype?"DOCTYPE":"doctype")+(s.settings.tightDoctype?"":" ")+"html>"}function qc(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let s=0,o=n.indexOf(t);for(;o!==-1;)s++,o=n.indexOf(t,o+t.length);return s}function v_(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function y_(e){return e.join(" ").trim()}const b_=/[ \t\n\f\r]/g;function iu(e){return typeof e=="object"?e.type==="text"?Vc(e.value):!1:Vc(e)}function Vc(e){return e.replace(b_,"")===""}const pt=rp(1),op=rp(-1),k_=[];function rp(e){return t;function t(n,s,o){const r=n?n.children:k_;let i=(s||0)+e,a=r[i];if(!o)for(;a&&iu(a);)i+=e,a=r[i];return a}}const w_={}.hasOwnProperty;function ip(e){return t;function t(n,s,o){return w_.call(e,n.tagName)&&e[n.tagName](n,s,o)}}const au=ip({body:__,caption:ca,colgroup:ca,dd:I_,dt:x_,head:ca,html:S_,li:C_,optgroup:T_,option:E_,p:$_,rp:Kc,rt:Kc,tbody:M_,td:Zc,tfoot:R_,th:Zc,thead:A_,tr:P_});function ca(e,t,n){const s=pt(n,t,!0);return!s||s.type!=="comment"&&!(s.type==="text"&&iu(s.value.charAt(0)))}function S_(e,t,n){const s=pt(n,t);return!s||s.type!=="comment"}function __(e,t,n){const s=pt(n,t);return!s||s.type!=="comment"}function $_(e,t,n){const s=pt(n,t);return s?s.type==="element"&&(s.tagName==="address"||s.tagName==="article"||s.tagName==="aside"||s.tagName==="blockquote"||s.tagName==="details"||s.tagName==="div"||s.tagName==="dl"||s.tagName==="fieldset"||s.tagName==="figcaption"||s.tagName==="figure"||s.tagName==="footer"||s.tagName==="form"||s.tagName==="h1"||s.tagName==="h2"||s.tagName==="h3"||s.tagName==="h4"||s.tagName==="h5"||s.tagName==="h6"||s.tagName==="header"||s.tagName==="hgroup"||s.tagName==="hr"||s.tagName==="main"||s.tagName==="menu"||s.tagName==="nav"||s.tagName==="ol"||s.tagName==="p"||s.tagName==="pre"||s.tagName==="section"||s.tagName==="table"||s.tagName==="ul"):!n||!(n.type==="element"&&(n.tagName==="a"||n.tagName==="audio"||n.tagName==="del"||n.tagName==="ins"||n.tagName==="map"||n.tagName==="noscript"||n.tagName==="video"))}function C_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="li"}function x_(e,t,n){const s=pt(n,t);return!!(s&&s.type==="element"&&(s.tagName==="dt"||s.tagName==="dd"))}function I_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="dt"||s.tagName==="dd")}function Kc(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="rp"||s.tagName==="rt")}function T_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="optgroup"}function E_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="option"||s.tagName==="optgroup")}function A_(e,t,n){const s=pt(n,t);return!!(s&&s.type==="element"&&(s.tagName==="tbody"||s.tagName==="tfoot"))}function M_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="tbody"||s.tagName==="tfoot")}function R_(e,t,n){return!pt(n,t)}function P_(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&s.tagName==="tr"}function Zc(e,t,n){const s=pt(n,t);return!s||s.type==="element"&&(s.tagName==="td"||s.tagName==="th")}const L_=ip({body:O_,colgroup:G_,head:N_,html:D_,tbody:B_});function D_(e){const t=pt(e,-1);return!t||t.type!=="comment"}function N_(e){const t=new Set;for(const s of e.children)if(s.type==="element"&&(s.tagName==="base"||s.tagName==="title")){if(t.has(s.tagName))return!1;t.add(s.tagName)}const n=e.children[0];return!n||n.type==="element"}function O_(e){const t=pt(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&iu(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function G_(e,t,n){const s=op(n,t),o=pt(e,-1,!0);return n&&s&&s.type==="element"&&s.tagName==="colgroup"&&au(s,n.children.indexOf(s),n)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function B_(e,t,n){const s=op(n,t),o=pt(e,-1);return n&&s&&s.type==="element"&&(s.tagName==="thead"||s.tagName==="tbody")&&au(s,n.children.indexOf(s),n)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}const cr={name:[[`
78
78
  \f\r &/=>`.split(""),`
79
79
  \f\r "&'/=>\``.split("")],[`\0
80
80
  \f\r "&'/<=>`.split(""),`\0
@@ -82,8 +82,8 @@ Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An err
82
82
  \f\r &>`.split(""),`\0
83
83
  \f\r "&'<=>\``.split("")],[`\0
84
84
  \f\r "&'<=>\``.split(""),`\0
85
- \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function B_(e,t,n,s){const o=s.schema,r=o.space==="svg"?!1:s.settings.omitOptionalTags;let i=o.space==="svg"?s.settings.closeEmptyElements:s.settings.voids.includes(e.tagName.toLowerCase());const a=[];let l;o.space==="html"&&e.tagName==="svg"&&(s.schema=np);const u=F_(s,e.properties),c=s.all(o.space==="html"&&e.tagName==="template"?e.content:e);return s.schema=o,c&&(i=!1),(u||!r||!P_(e,t,n))&&(a.push("<",e.tagName,u?" "+u:""),i&&(o.space==="svg"||s.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!s.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&a.push(" "),a.push("/")),a.push(">")),a.push(c),!i&&(!r||!au(e,t,n))&&a.push("</"+e.tagName+">"),a.join("")}function F_(e,t){const n=[];let s=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){const r=U_(e,o,t[o]);r&&n.push(r)}}for(;++s<n.length;){const r=e.settings.tightAttributes?n[s].charAt(n[s].length-1):void 0;s!==n.length-1&&r!=='"'&&r!=="'"&&(n[s]+=" ")}return n.join("")}function U_(e,t,n){const s=HS(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,r=e.settings.allowDangerousCharacters?0:1;let i=e.quote,a;if(s.overloadedBoolean&&(n===s.attribute||n==="")?n=!0:(s.boolean||s.overloadedBoolean)&&(typeof n!="string"||n===s.attribute||n==="")&&(n=!!n),n==null||n===!1||typeof n=="number"&&Number.isNaN(n))return"";const l=Hs(s.attribute,Object.assign({},e.settings.characterReferences,{subset:ur.name[o][r]}));return n===!0||(n=Array.isArray(n)?(s.commaSeparated?m_:v_)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?l:(e.settings.preferUnquoted&&(a=Hs(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:ur.unquoted[o][r]}))),a!==n&&(e.settings.quoteSmart&&qc(n,i)>qc(n,e.alternative)&&(i=e.alternative),a=i+Hs(n,Object.assign({},e.settings.characterReferences,{subset:(i==="'"?ur.single:ur.double)[o][r],attribute:!0}))+i),l+(a&&"="+a))}const j_=["<","&"];function ap(e,t,n,s){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Hs(e.value,Object.assign({},s.settings.characterReferences,{subset:j_}))}function z_(e,t,n,s){return s.settings.allowDangerousHtml?e.value:ap(e,t,n,s)}function H_(e,t,n,s){return s.all(e)}const W_=KS("type",{invalid:q_,unknown:V_,handlers:{comment:p_,doctype:g_,element:B_,raw:z_,root:H_,text:ap}});function q_(e){throw new Error("Expected node, not `"+e+"`")}function V_(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const K_={},Z_={},Y_=[];function X_(e,t){const n=t||K_,s=n.quote||'"',o=s==='"'?"'":'"';if(s!=='"'&&s!=="'")throw new Error("Invalid quote `"+s+"`, expected `'` or `\"`");return{one:J_,all:Q_,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||GS,characterReferences:n.characterReferences||Z_,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?np:VS,quote:s,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function J_(e,t,n){return W_(e,t,n,this)}function Q_(e){const t=[],n=e&&e.children||Y_;let s=-1;for(;++s<n.length;)t[s]=this.one(n[s],s,e);return t.join("")}function ii(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},s=typeof e=="string"?e:e.name;for(const[o,r]of Object.entries((t==null?void 0:t.colorReplacements)||{}))typeof r=="string"?n[o]=r:o===s&&Object.assign(n,r);return n}function zn(e,t){return e&&((t==null?void 0:t[e==null?void 0:e.toLowerCase()])||e)}function e$(e){return Array.isArray(e)?e:[e]}async function lp(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function lu(e){return!e||["plaintext","txt","text","plain"].includes(e)}function t$(e){return e==="ansi"||lu(e)}function uu(e){return e==="none"}function n$(e){return uu(e)}function up(e,t){var s;if(!t)return e;e.properties||(e.properties={}),(s=e.properties).class||(s.class=[]),typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(/\s+/g);for(const o of n)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function Li(e,t=!1){var r;if(e.length===0)return[["",0]];const n=e.split(/(\r?\n)/g);let s=0;const o=[];for(let i=0;i<n.length;i+=2){const a=t?n[i]+(n[i+1]||""):n[i];o.push([a,s]),s+=n[i].length,s+=((r=n[i+1])==null?void 0:r.length)||0}return o}function s$(e){const t=Li(e,!0).map(([o])=>o);function n(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let r=o,i=0;for(const a of t){if(r<a.length)break;r-=a.length,i++}return{line:i,character:r}}function s(o,r){let i=0;for(let a=0;a<o;a++)i+=t[a].length;return i+=r,i}return{lines:t,indexToPos:n,posToIndex:s}}const cu="light-dark()",o$=["color","background-color"];function r$(e,t){let n=0;const s=[];for(const o of t)o>n&&s.push({...e,content:e.content.slice(n,o),offset:e.offset+n}),n=o;return n<e.content.length&&s.push({...e,content:e.content.slice(n),offset:e.offset+n}),s}function i$(e,t){const n=Array.from(t instanceof Set?t:new Set(t)).sort((s,o)=>s-o);return n.length?e.map(s=>s.flatMap(o=>{const r=n.filter(i=>o.offset<i&&i<o.offset+o.content.length).map(i=>i-o.offset).sort((i,a)=>i-a);return r.length?r$(o,r):o})):e}function a$(e,t,n,s,o="css-vars"){const r={content:e.content,explanation:e.explanation,offset:e.offset},i=t.map(c=>ai(e.variants[c])),a=new Set(i.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{const f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return n+t[c]+(d==="color"?"":f)};return i.forEach((c,d)=>{for(const f of a){const p=c[f]||"inherit";if(d===0&&s&&o$.includes(f))if(s===cu&&i.length>1){const g=t.findIndex(w=>w==="light"),y=t.findIndex(w=>w==="dark");if(g===-1||y===-1)throw new vt('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const S=i[g][f]||"inherit",k=i[y][f]||"inherit";l[f]=`light-dark(${S}, ${k})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),r.htmlStyle=l,r}function ai(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&It.Italic&&(t["font-style"]="italic"),e.fontStyle&It.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&It.Underline&&n.push("underline"),e.fontStyle&It.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function cl(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}const cp=new WeakMap;function Di(e,t){cp.set(e,t)}function Uo(e){return cp.get(e)}class eo{constructor(...t){Y(this,"_stacks",{});Y(this,"lang");if(t.length===2){const[n,s]=t;this.lang=s,this._stacks=n}else{const[n,s,o]=t;this.lang=s,this._stacks={[o]:n}}}get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new eo(Object.fromEntries(e$(n).map(s=>[s,rl])),t)}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return l$(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}}function l$(e){const t=[],n=new Set;function s(o){var i;if(n.has(o))return;n.add(o);const r=(i=o==null?void 0:o.nameScopesList)==null?void 0:i.scopeName;r&&t.push(r),o.parent&&s(o.parent)}return s(e),t}function u$(e,t){if(!(e instanceof eo))throw new vt("Invalid grammar state");return e.getInternalStack(t)}function c$(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let s=function(i){if(typeof i=="number"){if(i<0||i>n.source.length)throw new vt(`Invalid decoration offset: ${i}. Code length: ${n.source.length}`);return{...o.indexToPos(i),offset:i}}else{const a=o.lines[i.line];if(a===void 0)throw new vt(`Invalid decoration position ${JSON.stringify(i)}. Lines length: ${o.lines.length}`);let l=i.character;if(l<0&&(l=a.length+l),l<0||l>a.length)throw new vt(`Invalid decoration position ${JSON.stringify(i)}. Line ${i.line} length: ${a.length}`);return{...i,character:l,offset:o.posToIndex(i.line,l)}}};const o=s$(n.source),r=(n.options.decorations||[]).map(i=>({...i,start:s(i.start),end:s(i.end)}));d$(r),e.set(n.meta,{decorations:r,converter:o,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){var i;if(!((i=this.options.decorations)!=null&&i.length))return;const o=t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]);return i$(n,o)},code(n){var c;if(!((c=this.options.decorations)!=null&&c.length))return;const s=t(this),o=Array.from(n.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==s.converter.lines.length)throw new vt(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${s.converter.lines.length}). Failed to apply decorations.`);function r(d,f,p,g){const y=o[d];let S="",k=-1,w=-1;if(f===0&&(k=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=y.children.length),k===-1||w===-1)for(let _=0;_<y.children.length;_++)S+=dp(y.children[_]),k===-1&&S.length===f&&(k=_+1),w===-1&&S.length===p&&(w=_+1);if(k===-1)throw new vt(`Failed to find start index for decoration ${JSON.stringify(g.start)}`);if(w===-1)throw new vt(`Failed to find end index for decoration ${JSON.stringify(g.end)}`);const b=y.children.slice(k,w);if(!g.alwaysWrap&&b.length===y.children.length)a(y,g,"line");else if(!g.alwaysWrap&&b.length===1&&b[0].type==="element")a(b[0],g,"token");else{const _={type:"element",tagName:"span",properties:{},children:b};a(_,g,"wrapper"),y.children.splice(k,b.length,_)}}function i(d,f){o[d]=a(o[d],f,"line")}function a(d,f,p){var S;const g=f.properties||{},y=f.transform||(k=>k);return d.tagName=f.tagName||"span",d.properties={...d.properties,...g,class:d.properties.class},(S=f.properties)!=null&&S.class&&up(d,f.properties.class),d=y(d,p)||d,d}const l=[],u=s.decorations.sort((d,f)=>f.start.offset-d.start.offset||d.end.offset-f.end.offset);for(const d of u){const{start:f,end:p}=d;if(f.line===p.line)r(f.line,f.character,p.character,d);else if(f.line<p.line){r(f.line,f.character,Number.POSITIVE_INFINITY,d);for(let g=f.line+1;g<p.line;g++)l.unshift(()=>i(g,d));r(p.line,0,p.character,d)}}l.forEach(d=>d())}}}function d$(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new vt(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let s=t+1;s<e.length;s++){const o=e[s],r=n.start.offset<=o.start.offset&&o.start.offset<n.end.offset,i=n.start.offset<o.end.offset&&o.end.offset<=n.end.offset,a=o.start.offset<=n.start.offset&&n.start.offset<o.end.offset,l=o.start.offset<n.end.offset&&n.end.offset<=o.end.offset;if(r||i||a||l){if(r&&i||a&&l||a&&n.start.offset===n.end.offset||i&&o.start.offset===o.end.offset)continue;throw new vt(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function dp(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(dp).join(""):""}const f$=[c$()];function li(e){const t=h$(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...f$]}function h$(e){const t=[],n=[],s=[];for(const o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":n.push(o);break;default:s.push(o)}return{pre:t,post:n,normal:s}}var ls=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],ca={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function p$(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const s=e.indexOf("m",n);if(s!==-1)return{sequence:e.substring(n+2,s).split(";"),startPosition:n,position:s+1}}return{position:e.length}}function Yc(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(s=>Number.parseInt(s));return n.length!==3||n.some(s=>Number.isNaN(s))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function g$(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const s=Number.parseInt(n);if(!Number.isNaN(s))if(s===0)t.push({type:"resetAll"});else if(s<=9)ca[s]&&t.push({type:"setDecoration",value:ca[s]});else if(s<=29){const o=ca[s-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(s<=37)t.push({type:"setForegroundColor",value:{type:"named",name:ls[s-30]}});else if(s===38){const o=Yc(e);o&&t.push({type:"setForegroundColor",value:o})}else if(s===39)t.push({type:"resetForegroundColor"});else if(s<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:ls[s-40]}});else if(s===48){const o=Yc(e);o&&t.push({type:"setBackgroundColor",value:o})}else s===49?t.push({type:"resetBackgroundColor"}):s===53?t.push({type:"setDecoration",value:"overline"}):s===55?t.push({type:"resetDecoration",value:"overline"}):s>=90&&s<=97?t.push({type:"setForegroundColor",value:{type:"named",name:ls[s-90+8]}}):s>=100&&s<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:ls[s-100+8]}})}return t}function m$(){let e=null,t=null,n=new Set;return{parse(s){const o=[];let r=0;do{const i=p$(s,r),a=i.sequence?s.substring(r,i.startPosition):s.substring(r);if(a.length>0&&o.push({value:a,foreground:e,background:t,decorations:new Set(n)}),i.sequence){const l=g$(i.sequence);for(const u of l)u.type==="resetAll"?(e=null,t=null,n.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&n.delete(u.value);for(const u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&n.add(u.value)}r=i.position}while(r<s.length);return o}}}var v$={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function y$(e=v$){function t(a){return e[a]}function n(a){return`#${a.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let s;function o(){if(s)return s;s=[];for(let u=0;u<ls.length;u++)s.push(t(ls[u]));let a=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)s.push(n([a[u],a[c],a[d]]));let l=8;for(let u=0;u<24;u++,l+=10)s.push(n([l,l,l]));return s}function r(a){return o()[a]}function i(a){switch(a.type){case"named":return t(a.name);case"rgb":return n(a.rgb);case"table":return r(a.index)}}return{value:i}}const b$={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function k$(e,t,n){const s=ii(e,n),o=Li(t),r=Object.fromEntries(ls.map(l=>{var d;const u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=(d=e.colors)==null?void 0:d[u];return[l,c||b$[l]]})),i=y$(r),a=m$();return o.map(l=>a.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?i.value(u.background):e.bg,d=u.foreground?i.value(u.foreground):e.fg):(c=u.foreground?i.value(u.foreground):e.fg,d=u.background?i.value(u.background):void 0),c=zn(c,s),d=zn(d,s),u.decorations.has("dim")&&(c=w$(c));let f=It.None;return u.decorations.has("bold")&&(f|=It.Bold),u.decorations.has("italic")&&(f|=It.Italic),u.decorations.has("underline")&&(f|=It.Underline),u.decorations.has("strikethrough")&&(f|=It.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function w$(e){const t=e.match(/#([0-9a-f]{3,8})/i);if(t){const s=t[1];if(s.length===8){const o=Math.round(Number.parseInt(s.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${s.slice(0,6)}${o}`}else{if(s.length===6)return`#${s}80`;if(s.length===4){const o=s[0],r=s[1],i=s[2],a=s[3],l=Math.round(Number.parseInt(`${a}${a}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${r}${r}${i}${i}${l}`}else if(s.length===3){const o=s[0],r=s[1],i=s[2];return`#${o}${o}${r}${r}${i}${i}80`}}}const n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function du(e,t,n={}){const{theme:s=e.getLoadedThemes()[0]}=n,o=e.resolveLangAlias(n.lang||"text");if(lu(o)||uu(s))return Li(t).map(l=>[{content:l[0],offset:l[1]}]);const{theme:r,colorMap:i}=e.setTheme(s);if(o==="ansi")return k$(r,t,n);const a=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==a.name)throw new vt(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${a.name}"`);if(!n.grammarState.themes.includes(r.name))throw new vt(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${r.name}"`)}return _$(t,a,r,i,n)}function S$(...e){if(e.length===2)return Uo(e[1]);const[t,n,s={}]=e,{lang:o="text",theme:r=t.getLoadedThemes()[0]}=s;if(lu(o)||uu(r))throw new vt("Plain language does not have grammar state");if(o==="ansi")throw new vt("ANSI language does not have grammar state");const{theme:i,colorMap:a}=t.setTheme(r),l=t.getLanguage(o);return new eo(fu(n,l,i,a,s).stateStack,l.name,i.name)}function _$(e,t,n,s,o){const r=fu(e,t,n,s,o),i=new eo(r.stateStack,t.name,n.name);return Di(r.tokens,i),r.tokens}function fu(e,t,n,s,o){const r=ii(n,o),{tokenizeMaxLineLength:i=0,tokenizeTimeLimit:a=500}=o,l=Li(e);let u=o.grammarState?u$(o.grammarState,n.name)??rl:o.grammarContextCode!=null?fu(o.grammarContextCode,t,n,s,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:rl,c=[];const d=[];for(let f=0,p=l.length;f<p;f++){const[g,y]=l[f];if(g===""){c=[],d.push([]);continue}if(i>0&&g.length>=i){c=[],d.push([{content:g,offset:y,color:"",fontStyle:0}]);continue}let S,k,w;o.includeExplanation&&(S=t.tokenizeLine(g,u,a),k=S.tokens,w=0);const b=t.tokenizeLine2(g,u,a),_=b.tokens.length/2;for(let B=0;B<_;B++){const D=b.tokens[2*B],E=B+1<_?b.tokens[2*B+2]:g.length;if(D===E)continue;const M=b.tokens[2*B+1],T=zn(s[Ys.getForeground(M)],r),Z=Ys.getFontStyle(M),W={content:g.substring(D,E),offset:y+D,color:T,fontStyle:Z};if(o.includeExplanation){const j=[];if(o.includeExplanation!=="scopeName")for(const I of n.settings){let A;switch(typeof I.scope){case"string":A=I.scope.split(/,/).map(V=>V.trim());break;case"object":A=I.scope;break;default:continue}j.push({settings:I,selectors:A.map(V=>V.split(/ /))})}W.explanation=[];let te=0;for(;D+te<E;){const I=k[w],A=g.substring(I.startIndex,I.endIndex);te+=A.length,W.explanation.push({content:A,scopes:o.includeExplanation==="scopeName"?$$(I.scopes):C$(j,I.scopes)}),w+=1}}c.push(W)}d.push(c),c=[],u=b.ruleStack}return{tokens:d,stateStack:u}}function $$(e){return e.map(t=>({scopeName:t}))}function C$(e,t){const n=[];for(let s=0,o=t.length;s<o;s++){const r=t[s];n[s]={scopeName:r,themeMatches:I$(e,r,t.slice(0,s))}}return n}function Xc(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function x$(e,t,n){if(!Xc(e[e.length-1],t))return!1;let s=e.length-2,o=n.length-1;for(;s>=0&&o>=0;)Xc(e[s],n[o])&&(s-=1),o-=1;return s===-1}function I$(e,t,n){const s=[];for(const{selectors:o,settings:r}of e)for(const i of o)if(x$(i,t,n)){s.push(r);break}return s}function fp(e,t,n){const s=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=s.map(l=>{const u=du(e,t,{...n,theme:l.theme}),c=Uo(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),r=T$(...o.map(l=>l.tokens)),i=r[0].map((l,u)=>l.map((c,d)=>{const f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in n&&n.includeExplanation&&(f.explanation=c.explanation),r.forEach((p,g)=>{const{content:y,explanation:S,offset:k,...w}=p[u][d];f.variants[s[g].color]=w}),f})),a=o[0].state?new eo(Object.fromEntries(o.map(l=>{var u;return[l.theme,(u=l.state)==null?void 0:u.getInternalStack(l.theme)]})),o[0].state.lang):void 0;return a&&Di(i,a),i}function T$(...e){const t=e.map(()=>[]),n=e.length;for(let s=0;s<e[0].length;s++){const o=e.map(l=>l[s]),r=t.map(()=>[]);t.forEach((l,u)=>l.push(r[u]));const i=o.map(()=>0),a=o.map(l=>l[0]);for(;a.every(l=>l);){const l=Math.min(...a.map(u=>u.content.length));for(let u=0;u<n;u++){const c=a[u];c.content.length===l?(r[u].push(c),i[u]+=1,a[u]=o[u][i[u]]):(r[u].push({...c,content:c.content.slice(0,l)}),a[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function ui(e,t,n){let s,o,r,i,a,l;if("themes"in n){const{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=n,f=Object.entries(n.themes).filter(k=>k[1]).map(k=>({color:k[0],theme:k[1]})).sort((k,w)=>k.color===u?-1:w.color===u?1:0);if(f.length===0)throw new vt("`themes` option must not be empty");const p=fp(e,t,n);if(l=Uo(p),u&&cu!==u&&!f.find(k=>k.color===u))throw new vt(`\`themes\` option must contain the defaultColor key \`${u}\``);const g=f.map(k=>e.getTheme(k.theme)),y=f.map(k=>k.color);r=p.map(k=>k.map(w=>a$(w,y,c,u,d))),l&&Di(r,l);const S=f.map(k=>ii(k.theme,n));o=Jc(f,g,S,c,u,"fg",d),s=Jc(f,g,S,c,u,"bg",d),i=`shiki-themes ${g.map(k=>k.name).join(" ")}`,a=u?void 0:[o,s].join(";")}else if("theme"in n){const u=ii(n.theme,n);r=du(e,t,n);const c=e.getTheme(n.theme);s=zn(c.bg,u),o=zn(c.fg,u),i=c.name,l=Uo(r)}else throw new vt("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:o,bg:s,themeName:i,rootStyle:a,grammarState:l}}function Jc(e,t,n,s,o,r,i){return e.map((a,l)=>{const u=zn(t[l][r],n[l])||"inherit",c=`${s+a.color}${r==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===cu&&e.length>1){const d=e.findIndex(y=>y.color==="light"),f=e.findIndex(y=>y.color==="dark");if(d===-1||f===-1)throw new vt('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const p=zn(t[d][r],n[d])||"inherit",g=zn(t[f][r],n[f])||"inherit";return`light-dark(${p}, ${g});${c}`}return u}return i==="css-vars"?c:null}).filter(a=>!!a).join(";")}function ci(e,t,n,s={meta:{},options:n,codeToHast:(o,r)=>ci(e,o,r),codeToTokens:(o,r)=>ui(e,o,r)}){var g,y;let o=t;for(const S of li(n))o=((g=S.preprocess)==null?void 0:g.call(s,o,n))||o;let{tokens:r,fg:i,bg:a,themeName:l,rootStyle:u,grammarState:c}=ui(e,o,n);const{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?r=A$(r):d==="never"&&(r=M$(r)),f&&(r=R$(r));const p={...s,get source(){return o}};for(const S of li(n))r=((y=S.tokens)==null?void 0:y.call(p,r))||r;return E$(r,{...n,fg:i,bg:a,themeName:l,rootStyle:n.rootStyle===!1?!1:n.rootStyle??u},p,c)}function E$(e,t,n,s=Uo(e)){var y,S,k,w;const o=li(t),r=[],i={type:"root",children:[]},{structure:a="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(const[b,_]of Object.entries(t.meta||{}))b.startsWith("_")||(u[b]=_);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:r};const f=[],p={...n,structure:a,addClassToHast:up,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return i},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((b,_)=>{var E,M;_&&(a==="inline"?i.children.push({type:"element",tagName:"br",properties:{},children:[]}):a==="classic"&&r.push({type:"text",value:`
86
- `}));let B={type:"element",tagName:"span",properties:{class:"line"},children:[]},D=0;for(const T of b){let Z={type:"element",tagName:"span",properties:{...T.htmlAttrs},children:[{type:"text",value:T.content}]};const W=cl(T.htmlStyle||ai(T));W&&(Z.properties.style=W);for(const j of o)Z=((E=j==null?void 0:j.span)==null?void 0:E.call(p,Z,_+1,D,B,T))||Z;a==="inline"?i.children.push(Z):a==="classic"&&B.children.push(Z),D+=T.content.length}if(a==="classic"){for(const T of o)B=((M=T==null?void 0:T.line)==null?void 0:M.call(p,B,_+1))||B;f.push(B),r.push(B)}else a==="inline"&&f.push(B)}),a==="classic"){for(const b of o)d=((y=b==null?void 0:b.code)==null?void 0:y.call(p,d))||d;c.children.push(d);for(const b of o)c=((S=b==null?void 0:b.pre)==null?void 0:S.call(p,c))||c;i.children.push(c)}else if(a==="inline"){const b=[];let _={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const E of i.children)E.type==="element"&&E.tagName==="br"?(b.push(_),_={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(E.type==="element"||E.type==="text")&&_.children.push(E);b.push(_);let D={type:"element",tagName:"code",properties:{},children:b};for(const E of o)D=((k=E==null?void 0:E.code)==null?void 0:k.call(p,D))||D;i.children=[];for(let E=0;E<D.children.length;E++){E>0&&i.children.push({type:"element",tagName:"br",properties:{},children:[]});const M=D.children[E];M.type==="element"&&i.children.push(...M.children)}}let g=i;for(const b of o)g=((w=b==null?void 0:b.root)==null?void 0:w.call(p,g))||g;return s&&Di(g,s),g}function A$(e){return e.map(t=>{const n=[];let s="",o;return t.forEach((r,i)=>{const l=!(r.fontStyle&&(r.fontStyle&It.Underline||r.fontStyle&It.Strikethrough));l&&r.content.match(/^\s+$/)&&t[i+1]?(o===void 0&&(o=r.offset),s+=r.content):s?(l?n.push({...r,offset:o,content:s+r.content}):n.push({content:s,offset:o},r),o=void 0,s=""):n.push(r)}),n})}function M$(e){return e.map(t=>t.flatMap(n=>{if(n.content.match(/^\s+$/))return n;const s=n.content.match(/^(\s*)(.*?)(\s*)$/);if(!s)return n;const[,o,r,i]=s;if(!o&&!i)return n;const a=[{...n,offset:n.offset+o.length,content:r}];return o&&a.unshift({content:o,offset:n.offset}),i&&a.push({content:i,offset:n.offset+o.length+r.length}),a}))}function R$(e){return e.map(t=>{const n=[];for(const s of t){if(n.length===0){n.push({...s});continue}const o=n[n.length-1],r=cl(o.htmlStyle||ai(o)),i=cl(s.htmlStyle||ai(s)),a=o.fontStyle&&(o.fontStyle&It.Underline||o.fontStyle&It.Strikethrough),l=s.fontStyle&&(s.fontStyle&It.Underline||s.fontStyle&It.Strikethrough);!a&&!l&&r===i?o.content+=s.content:n.push({...s})}return n})}const P$=X_;function L$(e,t,n){var r;const s={meta:{},options:n,codeToHast:(i,a)=>ci(e,i,a),codeToTokens:(i,a)=>ui(e,i,a)};let o=P$(ci(e,t,n,s));for(const i of li(n))o=((r=i.postprocess)==null?void 0:r.call(s,o,n))||o;return o}const Qc={light:"#333333",dark:"#bbbbbb"},ed={light:"#fffffe",dark:"#1e1e1e"},td="__shiki_resolved";function hu(e){var a,l,u,c,d;if(e!=null&&e[td])return e;const t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||(t.type="dark"),t.colorReplacements={...t.colorReplacements},t.settings||(t.settings=[]);let{bg:n,fg:s}=t;if(!n||!s){const f=t.settings?t.settings.find(p=>!p.name&&!p.scope):void 0;(a=f==null?void 0:f.settings)!=null&&a.foreground&&(s=f.settings.foreground),(l=f==null?void 0:f.settings)!=null&&l.background&&(n=f.settings.background),!s&&((u=t==null?void 0:t.colors)!=null&&u["editor.foreground"])&&(s=t.colors["editor.foreground"]),!n&&((c=t==null?void 0:t.colors)!=null&&c["editor.background"])&&(n=t.colors["editor.background"]),s||(s=t.type==="light"?Qc.light:Qc.dark),n||(n=t.type==="light"?ed.light:ed.dark),t.fg=s,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0;const r=new Map;function i(f){var g;if(r.has(f))return r.get(f);o+=1;const p=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return(g=t.colorReplacements)!=null&&g[`#${p}`]?i(f):(r.set(f,p),p)}t.settings=t.settings.map(f=>{var S,k;const p=((S=f.settings)==null?void 0:S.foreground)&&!f.settings.foreground.startsWith("#"),g=((k=f.settings)==null?void 0:k.background)&&!f.settings.background.startsWith("#");if(!p&&!g)return f;const y={...f,settings:{...f.settings}};if(p){const w=i(f.settings.foreground);t.colorReplacements[w]=f.settings.foreground,y.settings.foreground=w}if(g){const w=i(f.settings.background);t.colorReplacements[w]=f.settings.background,y.settings.background=w}return y});for(const f of Object.keys(t.colors||{}))if((f==="editor.foreground"||f==="editor.background"||f.startsWith("terminal.ansi"))&&!((d=t.colors[f])!=null&&d.startsWith("#"))){const p=i(t.colors[f]);t.colorReplacements[p]=t.colors[f],t.colors[f]=p}return Object.defineProperty(t,td,{enumerable:!1,writable:!1,value:!0}),t}async function hp(e){return Array.from(new Set((await Promise.all(e.filter(t=>!t$(t)).map(async t=>await lp(t).then(n=>Array.isArray(n)?n:[n])))).flat()))}async function pp(e){return(await Promise.all(e.map(async n=>n$(n)?null:hu(await lp(n))))).filter(n=>!!n)}let D$=3;function N$(e,t=3){t>D$||console.trace(`[SHIKI DEPRECATE]: ${e}`)}class Ls extends Error{constructor(t){super(t),this.name="ShikiError"}}function gp(e,t){if(!t)return e;if(t[e]){const n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new Ls(`Circular alias \`${Array.from(n).join(" -> ")} -> ${e}\``);n.add(e)}}return e}class O$ extends OS{constructor(n,s,o,r={}){super(n);Y(this,"_resolvedThemes",new Map);Y(this,"_resolvedGrammars",new Map);Y(this,"_langMap",new Map);Y(this,"_langGraph",new Map);Y(this,"_textmateThemeCache",new WeakMap);Y(this,"_loadedThemesCache",null);Y(this,"_loadedLanguagesCache",null);this._resolver=n,this._themes=s,this._langs=o,this._alias=r,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(n){return typeof n=="string"?this._resolvedThemes.get(n):this.loadTheme(n)}loadTheme(n){const s=hu(n);return s.name&&(this._resolvedThemes.set(s.name,s),this._loadedThemesCache=null),s}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(n){let s=this._textmateThemeCache.get(n);s||(s=ti.createFromRawTheme(n),this._textmateThemeCache.set(n,s)),this._syncRegistry.setTheme(s)}getGrammar(n){return n=gp(n,this._alias),this._resolvedGrammars.get(n)}loadLanguage(n){var i,a,l,u;if(this.getGrammar(n.name))return;const s=new Set([...this._langMap.values()].filter(c=>{var d;return(d=c.embeddedLangsLazy)==null?void 0:d.includes(n.name)}));this._resolver.addLanguage(n);const o={balancedBracketSelectors:n.balancedBracketSelectors||["*"],unbalancedBracketSelectors:n.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(n.scopeName,n);const r=this.loadGrammarWithConfiguration(n.scopeName,1,o);if(r.name=n.name,this._resolvedGrammars.set(n.name,r),n.aliases&&n.aliases.forEach(c=>{this._alias[c]=n.name}),this._loadedLanguagesCache=null,s.size)for(const c of s)this._resolvedGrammars.delete(c.name),this._loadedLanguagesCache=null,(a=(i=this._syncRegistry)==null?void 0:i._injectionGrammars)==null||a.delete(c.scopeName),(u=(l=this._syncRegistry)==null?void 0:l._grammars)==null||u.delete(c.scopeName),this.loadLanguage(this._langMap.get(c.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(n){for(const r of n)this.resolveEmbeddedLanguages(r);const s=Array.from(this._langGraph.entries()),o=s.filter(([r,i])=>!i);if(o.length){const r=s.filter(([i,a])=>{if(!a)return!1;const l=a.embeddedLanguages||a.embeddedLangs;return l==null?void 0:l.some(u=>o.map(([c])=>c).includes(u))}).filter(i=>!o.includes(i));throw new Ls(`Missing languages ${o.map(([i])=>`\`${i}\``).join(", ")}, required by ${r.map(([i])=>`\`${i}\``).join(", ")}`)}for(const[r,i]of s)this._resolver.addLanguage(i);for(const[r,i]of s)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(n){this._langMap.set(n.name,n),this._langGraph.set(n.name,n);const s=n.embeddedLanguages??n.embeddedLangs;if(s)for(const o of s)this._langGraph.set(o,this._langMap.get(o))}}class G${constructor(t,n){Y(this,"_langs",new Map);Y(this,"_scopeToLang",new Map);Y(this,"_injections",new Map);Y(this,"_onigLib");this._onigLib={createOnigScanner:s=>t.createScanner(s),createOnigString:s=>t.createString(s)},n.forEach(s=>this.addLanguage(s))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(n=>{this._langs.set(n,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(n=>{this._injections.get(n)||this._injections.set(n,[]),this._injections.get(n).push(t.scopeName)})}getInjections(t){const n=t.split(".");let s=[];for(let o=1;o<=n.length;o++){const r=n.slice(0,o).join(".");s=[...s,...this._injections.get(r)||[]]}return s}}let ho=0;function B$(e){ho+=1,e.warnings!==!1&&ho>=10&&ho%10===0&&console.warn(`[Shiki] ${ho} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Ls("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),s=(e.themes||[]).flat(1).map(hu),o=new G$(e.engine,n),r=new O$(o,s,n,e.langAlias);let i;function a(b){return gp(b,e.langAlias)}function l(b){k();const _=r.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new Ls(`Language \`${b}\` not found, you may need to load it first`);return _}function u(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};k();const _=r.getTheme(b);if(!_)throw new Ls(`Theme \`${b}\` not found, you may need to load it first`);return _}function c(b){k();const _=u(b);i!==b&&(r.setTheme(_),i=b);const B=r.getColorMap();return{theme:_,colorMap:B}}function d(){return k(),r.getLoadedThemes()}function f(){return k(),r.getLoadedLanguages()}function p(...b){k(),r.loadLanguages(b.flat(1))}async function g(...b){return p(await hp(b))}function y(...b){k();for(const _ of b.flat(1))r.loadTheme(_)}async function S(...b){return k(),y(await pp(b))}function k(){if(t)throw new Ls("Shiki instance has been disposed")}function w(){t||(t=!0,r.dispose(),ho-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:a,loadLanguage:g,loadLanguageSync:p,loadTheme:S,loadThemeSync:y,dispose:w,[Symbol.dispose]:w}}async function F$(e){e.engine||N$("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,s]=await Promise.all([pp(e.themes||[]),hp(e.langs||[]),e.engine]);return B$({...e,themes:t,langs:n,engine:s})}async function U$(e){const t=await F$(e);return{getLastGrammarState:(...n)=>S$(t,...n),codeToTokensBase:(n,s)=>du(t,n,s),codeToTokensWithThemes:(n,s)=>fp(t,n,s),codeToTokens:(n,s)=>ui(t,n,s),codeToHast:(n,s)=>ci(t,n,s),codeToHtml:(n,s)=>L$(t,n,s),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function to(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function j$(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const pu=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),yt=String.raw;function no(e,t){if(e==null)throw new Error(t??"Value expected");return e}const mp=yt`\[\^?`,vp=`c.? | C(?:-.?)?|${yt`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${yt`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${yt`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${yt`o\{[^\}]*\}?`}|${yt`\d{1,3}`}`,gu=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,cr=new RegExp(yt`
85
+ \f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function F_(e,t,n,s){const o=s.schema,r=o.space==="svg"?!1:s.settings.omitOptionalTags;let i=o.space==="svg"?s.settings.closeEmptyElements:s.settings.voids.includes(e.tagName.toLowerCase());const a=[];let l;o.space==="html"&&e.tagName==="svg"&&(s.schema=np);const u=U_(s,e.properties),c=s.all(o.space==="html"&&e.tagName==="template"?e.content:e);return s.schema=o,c&&(i=!1),(u||!r||!L_(e,t,n))&&(a.push("<",e.tagName,u?" "+u:""),i&&(o.space==="svg"||s.settings.closeSelfClosing)&&(l=u.charAt(u.length-1),(!s.settings.tightSelfClosing||l==="/"||l&&l!=='"'&&l!=="'")&&a.push(" "),a.push("/")),a.push(">")),a.push(c),!i&&(!r||!au(e,t,n))&&a.push("</"+e.tagName+">"),a.join("")}function U_(e,t){const n=[];let s=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){const r=j_(e,o,t[o]);r&&n.push(r)}}for(;++s<n.length;){const r=e.settings.tightAttributes?n[s].charAt(n[s].length-1):void 0;s!==n.length-1&&r!=='"'&&r!=="'"&&(n[s]+=" ")}return n.join("")}function j_(e,t,n){const s=WS(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,r=e.settings.allowDangerousCharacters?0:1;let i=e.quote,a;if(s.overloadedBoolean&&(n===s.attribute||n==="")?n=!0:(s.boolean||s.overloadedBoolean)&&(typeof n!="string"||n===s.attribute||n==="")&&(n=!!n),n==null||n===!1||typeof n=="number"&&Number.isNaN(n))return"";const l=Ws(s.attribute,Object.assign({},e.settings.characterReferences,{subset:cr.name[o][r]}));return n===!0||(n=Array.isArray(n)?(s.commaSeparated?v_:y_)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?l:(e.settings.preferUnquoted&&(a=Ws(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:cr.unquoted[o][r]}))),a!==n&&(e.settings.quoteSmart&&qc(n,i)>qc(n,e.alternative)&&(i=e.alternative),a=i+Ws(n,Object.assign({},e.settings.characterReferences,{subset:(i==="'"?cr.single:cr.double)[o][r],attribute:!0}))+i),l+(a&&"="+a))}const z_=["<","&"];function ap(e,t,n,s){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Ws(e.value,Object.assign({},s.settings.characterReferences,{subset:z_}))}function H_(e,t,n,s){return s.settings.allowDangerousHtml?e.value:ap(e,t,n,s)}function W_(e,t,n,s){return s.all(e)}const q_=ZS("type",{invalid:V_,unknown:K_,handlers:{comment:g_,doctype:m_,element:F_,raw:H_,root:W_,text:ap}});function V_(e){throw new Error("Expected node, not `"+e+"`")}function K_(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const Z_={},Y_={},X_=[];function J_(e,t){const n=t||Z_,s=n.quote||'"',o=s==='"'?"'":'"';if(s!=='"'&&s!=="'")throw new Error("Invalid quote `"+s+"`, expected `'` or `\"`");return{one:Q_,all:e$,settings:{omitOptionalTags:n.omitOptionalTags||!1,allowParseErrors:n.allowParseErrors||!1,allowDangerousCharacters:n.allowDangerousCharacters||!1,quoteSmart:n.quoteSmart||!1,preferUnquoted:n.preferUnquoted||!1,tightAttributes:n.tightAttributes||!1,upperDoctype:n.upperDoctype||!1,tightDoctype:n.tightDoctype||!1,bogusComments:n.bogusComments||!1,tightCommaSeparatedLists:n.tightCommaSeparatedLists||!1,tightSelfClosing:n.tightSelfClosing||!1,collapseEmptyAttributes:n.collapseEmptyAttributes||!1,allowDangerousHtml:n.allowDangerousHtml||!1,voids:n.voids||BS,characterReferences:n.characterReferences||Y_,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?np:KS,quote:s,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function Q_(e,t,n){return q_(e,t,n,this)}function e$(e){const t=[],n=e&&e.children||X_;let s=-1;for(;++s<n.length;)t[s]=this.one(n[s],s,e);return t.join("")}function ai(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},s=typeof e=="string"?e:e.name;for(const[o,r]of Object.entries((t==null?void 0:t.colorReplacements)||{}))typeof r=="string"?n[o]=r:o===s&&Object.assign(n,r);return n}function zn(e,t){return e&&((t==null?void 0:t[e==null?void 0:e.toLowerCase()])||e)}function t$(e){return Array.isArray(e)?e:[e]}async function lp(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function lu(e){return!e||["plaintext","txt","text","plain"].includes(e)}function n$(e){return e==="ansi"||lu(e)}function uu(e){return e==="none"}function s$(e){return uu(e)}function up(e,t){var s;if(!t)return e;e.properties||(e.properties={}),(s=e.properties).class||(s.class=[]),typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(/\s+/g)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(/\s+/g);for(const o of n)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}function Di(e,t=!1){var r;if(e.length===0)return[["",0]];const n=e.split(/(\r?\n)/g);let s=0;const o=[];for(let i=0;i<n.length;i+=2){const a=t?n[i]+(n[i+1]||""):n[i];o.push([a,s]),s+=n[i].length,s+=((r=n[i+1])==null?void 0:r.length)||0}return o}function o$(e){const t=Di(e,!0).map(([o])=>o);function n(o){if(o===e.length)return{line:t.length-1,character:t[t.length-1].length};let r=o,i=0;for(const a of t){if(r<a.length)break;r-=a.length,i++}return{line:i,character:r}}function s(o,r){let i=0;for(let a=0;a<o;a++)i+=t[a].length;return i+=r,i}return{lines:t,indexToPos:n,posToIndex:s}}const cu="light-dark()",r$=["color","background-color"];function i$(e,t){let n=0;const s=[];for(const o of t)o>n&&s.push({...e,content:e.content.slice(n,o),offset:e.offset+n}),n=o;return n<e.content.length&&s.push({...e,content:e.content.slice(n),offset:e.offset+n}),s}function a$(e,t){const n=Array.from(t instanceof Set?t:new Set(t)).sort((s,o)=>s-o);return n.length?e.map(s=>s.flatMap(o=>{const r=n.filter(i=>o.offset<i&&i<o.offset+o.content.length).map(i=>i-o.offset).sort((i,a)=>i-a);return r.length?i$(o,r):o})):e}function l$(e,t,n,s,o="css-vars"){const r={content:e.content,explanation:e.explanation,offset:e.offset},i=t.map(c=>li(e.variants[c])),a=new Set(i.flatMap(c=>Object.keys(c))),l={},u=(c,d)=>{const f=d==="color"?"":d==="background-color"?"-bg":`-${d}`;return n+t[c]+(d==="color"?"":f)};return i.forEach((c,d)=>{for(const f of a){const p=c[f]||"inherit";if(d===0&&s&&r$.includes(f))if(s===cu&&i.length>1){const g=t.findIndex(w=>w==="light"),y=t.findIndex(w=>w==="dark");if(g===-1||y===-1)throw new vt('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const S=i[g][f]||"inherit",k=i[y][f]||"inherit";l[f]=`light-dark(${S}, ${k})`,o==="css-vars"&&(l[u(d,f)]=p)}else l[f]=p;else o==="css-vars"&&(l[u(d,f)]=p)}}),r.htmlStyle=l,r}function li(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&It.Italic&&(t["font-style"]="italic"),e.fontStyle&It.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&It.Underline&&n.push("underline"),e.fontStyle&It.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function cl(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}const cp=new WeakMap;function Ni(e,t){cp.set(e,t)}function jo(e){return cp.get(e)}class to{constructor(...t){Y(this,"_stacks",{});Y(this,"lang");if(t.length===2){const[n,s]=t;this.lang=s,this._stacks=n}else{const[n,s,o]=t;this.lang=s,this._stacks={[o]:n}}}get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new to(Object.fromEntries(t$(n).map(s=>[s,rl])),t)}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return u$(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}}function u$(e){const t=[],n=new Set;function s(o){var i;if(n.has(o))return;n.add(o);const r=(i=o==null?void 0:o.nameScopesList)==null?void 0:i.scopeName;r&&t.push(r),o.parent&&s(o.parent)}return s(e),t}function c$(e,t){if(!(e instanceof to))throw new vt("Invalid grammar state");return e.getInternalStack(t)}function d$(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let s=function(i){if(typeof i=="number"){if(i<0||i>n.source.length)throw new vt(`Invalid decoration offset: ${i}. Code length: ${n.source.length}`);return{...o.indexToPos(i),offset:i}}else{const a=o.lines[i.line];if(a===void 0)throw new vt(`Invalid decoration position ${JSON.stringify(i)}. Lines length: ${o.lines.length}`);let l=i.character;if(l<0&&(l=a.length+l),l<0||l>a.length)throw new vt(`Invalid decoration position ${JSON.stringify(i)}. Line ${i.line} length: ${a.length}`);return{...i,character:l,offset:o.posToIndex(i.line,l)}}};const o=o$(n.source),r=(n.options.decorations||[]).map(i=>({...i,start:s(i.start),end:s(i.end)}));f$(r),e.set(n.meta,{decorations:r,converter:o,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){var i;if(!((i=this.options.decorations)!=null&&i.length))return;const o=t(this).decorations.flatMap(a=>[a.start.offset,a.end.offset]);return a$(n,o)},code(n){var c;if(!((c=this.options.decorations)!=null&&c.length))return;const s=t(this),o=Array.from(n.children).filter(d=>d.type==="element"&&d.tagName==="span");if(o.length!==s.converter.lines.length)throw new vt(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${s.converter.lines.length}). Failed to apply decorations.`);function r(d,f,p,g){const y=o[d];let S="",k=-1,w=-1;if(f===0&&(k=0),p===0&&(w=0),p===Number.POSITIVE_INFINITY&&(w=y.children.length),k===-1||w===-1)for(let _=0;_<y.children.length;_++)S+=dp(y.children[_]),k===-1&&S.length===f&&(k=_+1),w===-1&&S.length===p&&(w=_+1);if(k===-1)throw new vt(`Failed to find start index for decoration ${JSON.stringify(g.start)}`);if(w===-1)throw new vt(`Failed to find end index for decoration ${JSON.stringify(g.end)}`);const b=y.children.slice(k,w);if(!g.alwaysWrap&&b.length===y.children.length)a(y,g,"line");else if(!g.alwaysWrap&&b.length===1&&b[0].type==="element")a(b[0],g,"token");else{const _={type:"element",tagName:"span",properties:{},children:b};a(_,g,"wrapper"),y.children.splice(k,b.length,_)}}function i(d,f){o[d]=a(o[d],f,"line")}function a(d,f,p){var S;const g=f.properties||{},y=f.transform||(k=>k);return d.tagName=f.tagName||"span",d.properties={...d.properties,...g,class:d.properties.class},(S=f.properties)!=null&&S.class&&up(d,f.properties.class),d=y(d,p)||d,d}const l=[],u=s.decorations.sort((d,f)=>f.start.offset-d.start.offset||d.end.offset-f.end.offset);for(const d of u){const{start:f,end:p}=d;if(f.line===p.line)r(f.line,f.character,p.character,d);else if(f.line<p.line){r(f.line,f.character,Number.POSITIVE_INFINITY,d);for(let g=f.line+1;g<p.line;g++)l.unshift(()=>i(g,d));r(p.line,0,p.character,d)}}l.forEach(d=>d())}}}function f$(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new vt(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let s=t+1;s<e.length;s++){const o=e[s],r=n.start.offset<=o.start.offset&&o.start.offset<n.end.offset,i=n.start.offset<o.end.offset&&o.end.offset<=n.end.offset,a=o.start.offset<=n.start.offset&&n.start.offset<o.end.offset,l=o.start.offset<n.end.offset&&n.end.offset<=o.end.offset;if(r||i||a||l){if(r&&i||a&&l||a&&n.start.offset===n.end.offset||i&&o.start.offset===o.end.offset)continue;throw new vt(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function dp(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(dp).join(""):""}const h$=[d$()];function ui(e){const t=p$(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...h$]}function p$(e){const t=[],n=[],s=[];for(const o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":n.push(o);break;default:s.push(o)}return{pre:t,post:n,normal:s}}var us=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],da={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function g$(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const s=e.indexOf("m",n);if(s!==-1)return{sequence:e.substring(n+2,s).split(";"),startPosition:n,position:s+1}}return{position:e.length}}function Yc(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(s=>Number.parseInt(s));return n.length!==3||n.some(s=>Number.isNaN(s))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function m$(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const s=Number.parseInt(n);if(!Number.isNaN(s))if(s===0)t.push({type:"resetAll"});else if(s<=9)da[s]&&t.push({type:"setDecoration",value:da[s]});else if(s<=29){const o=da[s-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(s<=37)t.push({type:"setForegroundColor",value:{type:"named",name:us[s-30]}});else if(s===38){const o=Yc(e);o&&t.push({type:"setForegroundColor",value:o})}else if(s===39)t.push({type:"resetForegroundColor"});else if(s<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:us[s-40]}});else if(s===48){const o=Yc(e);o&&t.push({type:"setBackgroundColor",value:o})}else s===49?t.push({type:"resetBackgroundColor"}):s===53?t.push({type:"setDecoration",value:"overline"}):s===55?t.push({type:"resetDecoration",value:"overline"}):s>=90&&s<=97?t.push({type:"setForegroundColor",value:{type:"named",name:us[s-90+8]}}):s>=100&&s<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:us[s-100+8]}})}return t}function v$(){let e=null,t=null,n=new Set;return{parse(s){const o=[];let r=0;do{const i=g$(s,r),a=i.sequence?s.substring(r,i.startPosition):s.substring(r);if(a.length>0&&o.push({value:a,foreground:e,background:t,decorations:new Set(n)}),i.sequence){const l=m$(i.sequence);for(const u of l)u.type==="resetAll"?(e=null,t=null,n.clear()):u.type==="resetForegroundColor"?e=null:u.type==="resetBackgroundColor"?t=null:u.type==="resetDecoration"&&n.delete(u.value);for(const u of l)u.type==="setForegroundColor"?e=u.value:u.type==="setBackgroundColor"?t=u.value:u.type==="setDecoration"&&n.add(u.value)}r=i.position}while(r<s.length);return o}}}var y$={black:"#000000",red:"#bb0000",green:"#00bb00",yellow:"#bbbb00",blue:"#0000bb",magenta:"#ff00ff",cyan:"#00bbbb",white:"#eeeeee",brightBlack:"#555555",brightRed:"#ff5555",brightGreen:"#00ff00",brightYellow:"#ffff55",brightBlue:"#5555ff",brightMagenta:"#ff55ff",brightCyan:"#55ffff",brightWhite:"#ffffff"};function b$(e=y$){function t(a){return e[a]}function n(a){return`#${a.map(l=>Math.max(0,Math.min(l,255)).toString(16).padStart(2,"0")).join("")}`}let s;function o(){if(s)return s;s=[];for(let u=0;u<us.length;u++)s.push(t(us[u]));let a=[0,95,135,175,215,255];for(let u=0;u<6;u++)for(let c=0;c<6;c++)for(let d=0;d<6;d++)s.push(n([a[u],a[c],a[d]]));let l=8;for(let u=0;u<24;u++,l+=10)s.push(n([l,l,l]));return s}function r(a){return o()[a]}function i(a){switch(a.type){case"named":return t(a.name);case"rgb":return n(a.rgb);case"table":return r(a.index)}}return{value:i}}const k$={black:"#000000",red:"#cd3131",green:"#0DBC79",yellow:"#E5E510",blue:"#2472C8",magenta:"#BC3FBC",cyan:"#11A8CD",white:"#E5E5E5",brightBlack:"#666666",brightRed:"#F14C4C",brightGreen:"#23D18B",brightYellow:"#F5F543",brightBlue:"#3B8EEA",brightMagenta:"#D670D6",brightCyan:"#29B8DB",brightWhite:"#FFFFFF"};function w$(e,t,n){const s=ai(e,n),o=Di(t),r=Object.fromEntries(us.map(l=>{var d;const u=`terminal.ansi${l[0].toUpperCase()}${l.substring(1)}`,c=(d=e.colors)==null?void 0:d[u];return[l,c||k$[l]]})),i=b$(r),a=v$();return o.map(l=>a.parse(l[0]).map(u=>{let c,d;u.decorations.has("reverse")?(c=u.background?i.value(u.background):e.bg,d=u.foreground?i.value(u.foreground):e.fg):(c=u.foreground?i.value(u.foreground):e.fg,d=u.background?i.value(u.background):void 0),c=zn(c,s),d=zn(d,s),u.decorations.has("dim")&&(c=S$(c));let f=It.None;return u.decorations.has("bold")&&(f|=It.Bold),u.decorations.has("italic")&&(f|=It.Italic),u.decorations.has("underline")&&(f|=It.Underline),u.decorations.has("strikethrough")&&(f|=It.Strikethrough),{content:u.value,offset:l[1],color:c,bgColor:d,fontStyle:f}}))}function S$(e){const t=e.match(/#([0-9a-f]{3,8})/i);if(t){const s=t[1];if(s.length===8){const o=Math.round(Number.parseInt(s.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${s.slice(0,6)}${o}`}else{if(s.length===6)return`#${s}80`;if(s.length===4){const o=s[0],r=s[1],i=s[2],a=s[3],l=Math.round(Number.parseInt(`${a}${a}`,16)/2).toString(16).padStart(2,"0");return`#${o}${o}${r}${r}${i}${i}${l}`}else if(s.length===3){const o=s[0],r=s[1],i=s[2];return`#${o}${o}${r}${r}${i}${i}80`}}}const n=e.match(/var\((--[\w-]+-ansi-[\w-]+)\)/);return n?`var(${n[1]}-dim)`:e}function du(e,t,n={}){const{theme:s=e.getLoadedThemes()[0]}=n,o=e.resolveLangAlias(n.lang||"text");if(lu(o)||uu(s))return Di(t).map(l=>[{content:l[0],offset:l[1]}]);const{theme:r,colorMap:i}=e.setTheme(s);if(o==="ansi")return w$(r,t,n);const a=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==a.name)throw new vt(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${a.name}"`);if(!n.grammarState.themes.includes(r.name))throw new vt(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${r.name}"`)}return $$(t,a,r,i,n)}function _$(...e){if(e.length===2)return jo(e[1]);const[t,n,s={}]=e,{lang:o="text",theme:r=t.getLoadedThemes()[0]}=s;if(lu(o)||uu(r))throw new vt("Plain language does not have grammar state");if(o==="ansi")throw new vt("ANSI language does not have grammar state");const{theme:i,colorMap:a}=t.setTheme(r),l=t.getLanguage(o);return new to(fu(n,l,i,a,s).stateStack,l.name,i.name)}function $$(e,t,n,s,o){const r=fu(e,t,n,s,o),i=new to(r.stateStack,t.name,n.name);return Ni(r.tokens,i),r.tokens}function fu(e,t,n,s,o){const r=ai(n,o),{tokenizeMaxLineLength:i=0,tokenizeTimeLimit:a=500}=o,l=Di(e);let u=o.grammarState?c$(o.grammarState,n.name)??rl:o.grammarContextCode!=null?fu(o.grammarContextCode,t,n,s,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:rl,c=[];const d=[];for(let f=0,p=l.length;f<p;f++){const[g,y]=l[f];if(g===""){c=[],d.push([]);continue}if(i>0&&g.length>=i){c=[],d.push([{content:g,offset:y,color:"",fontStyle:0}]);continue}let S,k,w;o.includeExplanation&&(S=t.tokenizeLine(g,u,a),k=S.tokens,w=0);const b=t.tokenizeLine2(g,u,a),_=b.tokens.length/2;for(let B=0;B<_;B++){const D=b.tokens[2*B],E=B+1<_?b.tokens[2*B+2]:g.length;if(D===E)continue;const A=b.tokens[2*B+1],T=zn(s[Xs.getForeground(A)],r),Z=Xs.getFontStyle(A),W={content:g.substring(D,E),offset:y+D,color:T,fontStyle:Z};if(o.includeExplanation){const j=[];if(o.includeExplanation!=="scopeName")for(const I of n.settings){let M;switch(typeof I.scope){case"string":M=I.scope.split(/,/).map(V=>V.trim());break;case"object":M=I.scope;break;default:continue}j.push({settings:I,selectors:M.map(V=>V.split(/ /))})}W.explanation=[];let te=0;for(;D+te<E;){const I=k[w],M=g.substring(I.startIndex,I.endIndex);te+=M.length,W.explanation.push({content:M,scopes:o.includeExplanation==="scopeName"?C$(I.scopes):x$(j,I.scopes)}),w+=1}}c.push(W)}d.push(c),c=[],u=b.ruleStack}return{tokens:d,stateStack:u}}function C$(e){return e.map(t=>({scopeName:t}))}function x$(e,t){const n=[];for(let s=0,o=t.length;s<o;s++){const r=t[s];n[s]={scopeName:r,themeMatches:T$(e,r,t.slice(0,s))}}return n}function Xc(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function I$(e,t,n){if(!Xc(e[e.length-1],t))return!1;let s=e.length-2,o=n.length-1;for(;s>=0&&o>=0;)Xc(e[s],n[o])&&(s-=1),o-=1;return s===-1}function T$(e,t,n){const s=[];for(const{selectors:o,settings:r}of e)for(const i of o)if(I$(i,t,n)){s.push(r);break}return s}function fp(e,t,n){const s=Object.entries(n.themes).filter(l=>l[1]).map(l=>({color:l[0],theme:l[1]})),o=s.map(l=>{const u=du(e,t,{...n,theme:l.theme}),c=jo(u),d=typeof l.theme=="string"?l.theme:l.theme.name;return{tokens:u,state:c,theme:d}}),r=E$(...o.map(l=>l.tokens)),i=r[0].map((l,u)=>l.map((c,d)=>{const f={content:c.content,variants:{},offset:c.offset};return"includeExplanation"in n&&n.includeExplanation&&(f.explanation=c.explanation),r.forEach((p,g)=>{const{content:y,explanation:S,offset:k,...w}=p[u][d];f.variants[s[g].color]=w}),f})),a=o[0].state?new to(Object.fromEntries(o.map(l=>{var u;return[l.theme,(u=l.state)==null?void 0:u.getInternalStack(l.theme)]})),o[0].state.lang):void 0;return a&&Ni(i,a),i}function E$(...e){const t=e.map(()=>[]),n=e.length;for(let s=0;s<e[0].length;s++){const o=e.map(l=>l[s]),r=t.map(()=>[]);t.forEach((l,u)=>l.push(r[u]));const i=o.map(()=>0),a=o.map(l=>l[0]);for(;a.every(l=>l);){const l=Math.min(...a.map(u=>u.content.length));for(let u=0;u<n;u++){const c=a[u];c.content.length===l?(r[u].push(c),i[u]+=1,a[u]=o[u][i[u]]):(r[u].push({...c,content:c.content.slice(0,l)}),a[u]={...c,content:c.content.slice(l),offset:c.offset+l})}}}return t}function ci(e,t,n){let s,o,r,i,a,l;if("themes"in n){const{defaultColor:u="light",cssVariablePrefix:c="--shiki-",colorsRendering:d="css-vars"}=n,f=Object.entries(n.themes).filter(k=>k[1]).map(k=>({color:k[0],theme:k[1]})).sort((k,w)=>k.color===u?-1:w.color===u?1:0);if(f.length===0)throw new vt("`themes` option must not be empty");const p=fp(e,t,n);if(l=jo(p),u&&cu!==u&&!f.find(k=>k.color===u))throw new vt(`\`themes\` option must contain the defaultColor key \`${u}\``);const g=f.map(k=>e.getTheme(k.theme)),y=f.map(k=>k.color);r=p.map(k=>k.map(w=>l$(w,y,c,u,d))),l&&Ni(r,l);const S=f.map(k=>ai(k.theme,n));o=Jc(f,g,S,c,u,"fg",d),s=Jc(f,g,S,c,u,"bg",d),i=`shiki-themes ${g.map(k=>k.name).join(" ")}`,a=u?void 0:[o,s].join(";")}else if("theme"in n){const u=ai(n.theme,n);r=du(e,t,n);const c=e.getTheme(n.theme);s=zn(c.bg,u),o=zn(c.fg,u),i=c.name,l=jo(r)}else throw new vt("Invalid options, either `theme` or `themes` must be provided");return{tokens:r,fg:o,bg:s,themeName:i,rootStyle:a,grammarState:l}}function Jc(e,t,n,s,o,r,i){return e.map((a,l)=>{const u=zn(t[l][r],n[l])||"inherit",c=`${s+a.color}${r==="bg"?"-bg":""}:${u}`;if(l===0&&o){if(o===cu&&e.length>1){const d=e.findIndex(y=>y.color==="light"),f=e.findIndex(y=>y.color==="dark");if(d===-1||f===-1)throw new vt('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');const p=zn(t[d][r],n[d])||"inherit",g=zn(t[f][r],n[f])||"inherit";return`light-dark(${p}, ${g});${c}`}return u}return i==="css-vars"?c:null}).filter(a=>!!a).join(";")}function di(e,t,n,s={meta:{},options:n,codeToHast:(o,r)=>di(e,o,r),codeToTokens:(o,r)=>ci(e,o,r)}){var g,y;let o=t;for(const S of ui(n))o=((g=S.preprocess)==null?void 0:g.call(s,o,n))||o;let{tokens:r,fg:i,bg:a,themeName:l,rootStyle:u,grammarState:c}=ci(e,o,n);const{mergeWhitespaces:d=!0,mergeSameStyleTokens:f=!1}=n;d===!0?r=M$(r):d==="never"&&(r=R$(r)),f&&(r=P$(r));const p={...s,get source(){return o}};for(const S of ui(n))r=((y=S.tokens)==null?void 0:y.call(p,r))||r;return A$(r,{...n,fg:i,bg:a,themeName:l,rootStyle:n.rootStyle===!1?!1:n.rootStyle??u},p,c)}function A$(e,t,n,s=jo(e)){var y,S,k,w;const o=ui(t),r=[],i={type:"root",children:[]},{structure:a="classic",tabindex:l="0"}=t,u={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?u.style=t.rootStyle:u.style=`background-color:${t.bg};color:${t.fg}`),l!==!1&&l!=null&&(u.tabindex=l.toString());for(const[b,_]of Object.entries(t.meta||{}))b.startsWith("_")||(u[b]=_);let c={type:"element",tagName:"pre",properties:u,children:[],data:t.data},d={type:"element",tagName:"code",properties:{},children:r};const f=[],p={...n,structure:a,addClassToHast:up,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return i},get pre(){return c},get code(){return d},get lines(){return f}};if(e.forEach((b,_)=>{var E,A;_&&(a==="inline"?i.children.push({type:"element",tagName:"br",properties:{},children:[]}):a==="classic"&&r.push({type:"text",value:`
86
+ `}));let B={type:"element",tagName:"span",properties:{class:"line"},children:[]},D=0;for(const T of b){let Z={type:"element",tagName:"span",properties:{...T.htmlAttrs},children:[{type:"text",value:T.content}]};const W=cl(T.htmlStyle||li(T));W&&(Z.properties.style=W);for(const j of o)Z=((E=j==null?void 0:j.span)==null?void 0:E.call(p,Z,_+1,D,B,T))||Z;a==="inline"?i.children.push(Z):a==="classic"&&B.children.push(Z),D+=T.content.length}if(a==="classic"){for(const T of o)B=((A=T==null?void 0:T.line)==null?void 0:A.call(p,B,_+1))||B;f.push(B),r.push(B)}else a==="inline"&&f.push(B)}),a==="classic"){for(const b of o)d=((y=b==null?void 0:b.code)==null?void 0:y.call(p,d))||d;c.children.push(d);for(const b of o)c=((S=b==null?void 0:b.pre)==null?void 0:S.call(p,c))||c;i.children.push(c)}else if(a==="inline"){const b=[];let _={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const E of i.children)E.type==="element"&&E.tagName==="br"?(b.push(_),_={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(E.type==="element"||E.type==="text")&&_.children.push(E);b.push(_);let D={type:"element",tagName:"code",properties:{},children:b};for(const E of o)D=((k=E==null?void 0:E.code)==null?void 0:k.call(p,D))||D;i.children=[];for(let E=0;E<D.children.length;E++){E>0&&i.children.push({type:"element",tagName:"br",properties:{},children:[]});const A=D.children[E];A.type==="element"&&i.children.push(...A.children)}}let g=i;for(const b of o)g=((w=b==null?void 0:b.root)==null?void 0:w.call(p,g))||g;return s&&Ni(g,s),g}function M$(e){return e.map(t=>{const n=[];let s="",o;return t.forEach((r,i)=>{const l=!(r.fontStyle&&(r.fontStyle&It.Underline||r.fontStyle&It.Strikethrough));l&&r.content.match(/^\s+$/)&&t[i+1]?(o===void 0&&(o=r.offset),s+=r.content):s?(l?n.push({...r,offset:o,content:s+r.content}):n.push({content:s,offset:o},r),o=void 0,s=""):n.push(r)}),n})}function R$(e){return e.map(t=>t.flatMap(n=>{if(n.content.match(/^\s+$/))return n;const s=n.content.match(/^(\s*)(.*?)(\s*)$/);if(!s)return n;const[,o,r,i]=s;if(!o&&!i)return n;const a=[{...n,offset:n.offset+o.length,content:r}];return o&&a.unshift({content:o,offset:n.offset}),i&&a.push({content:i,offset:n.offset+o.length+r.length}),a}))}function P$(e){return e.map(t=>{const n=[];for(const s of t){if(n.length===0){n.push({...s});continue}const o=n[n.length-1],r=cl(o.htmlStyle||li(o)),i=cl(s.htmlStyle||li(s)),a=o.fontStyle&&(o.fontStyle&It.Underline||o.fontStyle&It.Strikethrough),l=s.fontStyle&&(s.fontStyle&It.Underline||s.fontStyle&It.Strikethrough);!a&&!l&&r===i?o.content+=s.content:n.push({...s})}return n})}const L$=J_;function D$(e,t,n){var r;const s={meta:{},options:n,codeToHast:(i,a)=>di(e,i,a),codeToTokens:(i,a)=>ci(e,i,a)};let o=L$(di(e,t,n,s));for(const i of ui(n))o=((r=i.postprocess)==null?void 0:r.call(s,o,n))||o;return o}const Qc={light:"#333333",dark:"#bbbbbb"},ed={light:"#fffffe",dark:"#1e1e1e"},td="__shiki_resolved";function hu(e){var a,l,u,c,d;if(e!=null&&e[td])return e;const t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||(t.type="dark"),t.colorReplacements={...t.colorReplacements},t.settings||(t.settings=[]);let{bg:n,fg:s}=t;if(!n||!s){const f=t.settings?t.settings.find(p=>!p.name&&!p.scope):void 0;(a=f==null?void 0:f.settings)!=null&&a.foreground&&(s=f.settings.foreground),(l=f==null?void 0:f.settings)!=null&&l.background&&(n=f.settings.background),!s&&((u=t==null?void 0:t.colors)!=null&&u["editor.foreground"])&&(s=t.colors["editor.foreground"]),!n&&((c=t==null?void 0:t.colors)!=null&&c["editor.background"])&&(n=t.colors["editor.background"]),s||(s=t.type==="light"?Qc.light:Qc.dark),n||(n=t.type==="light"?ed.light:ed.dark),t.fg=s,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let o=0;const r=new Map;function i(f){var g;if(r.has(f))return r.get(f);o+=1;const p=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return(g=t.colorReplacements)!=null&&g[`#${p}`]?i(f):(r.set(f,p),p)}t.settings=t.settings.map(f=>{var S,k;const p=((S=f.settings)==null?void 0:S.foreground)&&!f.settings.foreground.startsWith("#"),g=((k=f.settings)==null?void 0:k.background)&&!f.settings.background.startsWith("#");if(!p&&!g)return f;const y={...f,settings:{...f.settings}};if(p){const w=i(f.settings.foreground);t.colorReplacements[w]=f.settings.foreground,y.settings.foreground=w}if(g){const w=i(f.settings.background);t.colorReplacements[w]=f.settings.background,y.settings.background=w}return y});for(const f of Object.keys(t.colors||{}))if((f==="editor.foreground"||f==="editor.background"||f.startsWith("terminal.ansi"))&&!((d=t.colors[f])!=null&&d.startsWith("#"))){const p=i(t.colors[f]);t.colorReplacements[p]=t.colors[f],t.colors[f]=p}return Object.defineProperty(t,td,{enumerable:!1,writable:!1,value:!0}),t}async function hp(e){return Array.from(new Set((await Promise.all(e.filter(t=>!n$(t)).map(async t=>await lp(t).then(n=>Array.isArray(n)?n:[n])))).flat()))}async function pp(e){return(await Promise.all(e.map(async n=>s$(n)?null:hu(await lp(n))))).filter(n=>!!n)}let N$=3;function O$(e,t=3){t>N$||console.trace(`[SHIKI DEPRECATE]: ${e}`)}class Ds extends Error{constructor(t){super(t),this.name="ShikiError"}}function gp(e,t){if(!t)return e;if(t[e]){const n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new Ds(`Circular alias \`${Array.from(n).join(" -> ")} -> ${e}\``);n.add(e)}}return e}class G$ extends GS{constructor(n,s,o,r={}){super(n);Y(this,"_resolvedThemes",new Map);Y(this,"_resolvedGrammars",new Map);Y(this,"_langMap",new Map);Y(this,"_langGraph",new Map);Y(this,"_textmateThemeCache",new WeakMap);Y(this,"_loadedThemesCache",null);Y(this,"_loadedLanguagesCache",null);this._resolver=n,this._themes=s,this._langs=o,this._alias=r,this._themes.map(i=>this.loadTheme(i)),this.loadLanguages(this._langs)}getTheme(n){return typeof n=="string"?this._resolvedThemes.get(n):this.loadTheme(n)}loadTheme(n){const s=hu(n);return s.name&&(this._resolvedThemes.set(s.name,s),this._loadedThemesCache=null),s}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(n){let s=this._textmateThemeCache.get(n);s||(s=ni.createFromRawTheme(n),this._textmateThemeCache.set(n,s)),this._syncRegistry.setTheme(s)}getGrammar(n){return n=gp(n,this._alias),this._resolvedGrammars.get(n)}loadLanguage(n){var i,a,l,u;if(this.getGrammar(n.name))return;const s=new Set([...this._langMap.values()].filter(c=>{var d;return(d=c.embeddedLangsLazy)==null?void 0:d.includes(n.name)}));this._resolver.addLanguage(n);const o={balancedBracketSelectors:n.balancedBracketSelectors||["*"],unbalancedBracketSelectors:n.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(n.scopeName,n);const r=this.loadGrammarWithConfiguration(n.scopeName,1,o);if(r.name=n.name,this._resolvedGrammars.set(n.name,r),n.aliases&&n.aliases.forEach(c=>{this._alias[c]=n.name}),this._loadedLanguagesCache=null,s.size)for(const c of s)this._resolvedGrammars.delete(c.name),this._loadedLanguagesCache=null,(a=(i=this._syncRegistry)==null?void 0:i._injectionGrammars)==null||a.delete(c.scopeName),(u=(l=this._syncRegistry)==null?void 0:l._grammars)==null||u.delete(c.scopeName),this.loadLanguage(this._langMap.get(c.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(n){for(const r of n)this.resolveEmbeddedLanguages(r);const s=Array.from(this._langGraph.entries()),o=s.filter(([r,i])=>!i);if(o.length){const r=s.filter(([i,a])=>{if(!a)return!1;const l=a.embeddedLanguages||a.embeddedLangs;return l==null?void 0:l.some(u=>o.map(([c])=>c).includes(u))}).filter(i=>!o.includes(i));throw new Ds(`Missing languages ${o.map(([i])=>`\`${i}\``).join(", ")}, required by ${r.map(([i])=>`\`${i}\``).join(", ")}`)}for(const[r,i]of s)this._resolver.addLanguage(i);for(const[r,i]of s)this.loadLanguage(i)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(n){this._langMap.set(n.name,n),this._langGraph.set(n.name,n);const s=n.embeddedLanguages??n.embeddedLangs;if(s)for(const o of s)this._langGraph.set(o,this._langMap.get(o))}}class B${constructor(t,n){Y(this,"_langs",new Map);Y(this,"_scopeToLang",new Map);Y(this,"_injections",new Map);Y(this,"_onigLib");this._onigLib={createOnigScanner:s=>t.createScanner(s),createOnigString:s=>t.createString(s)},n.forEach(s=>this.addLanguage(s))}get onigLib(){return this._onigLib}getLangRegistration(t){return this._langs.get(t)}loadGrammar(t){return this._scopeToLang.get(t)}addLanguage(t){this._langs.set(t.name,t),t.aliases&&t.aliases.forEach(n=>{this._langs.set(n,t)}),this._scopeToLang.set(t.scopeName,t),t.injectTo&&t.injectTo.forEach(n=>{this._injections.get(n)||this._injections.set(n,[]),this._injections.get(n).push(t.scopeName)})}getInjections(t){const n=t.split(".");let s=[];for(let o=1;o<=n.length;o++){const r=n.slice(0,o).join(".");s=[...s,...this._injections.get(r)||[]]}return s}}let po=0;function F$(e){po+=1,e.warnings!==!1&&po>=10&&po%10===0&&console.warn(`[Shiki] ${po} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new Ds("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),s=(e.themes||[]).flat(1).map(hu),o=new B$(e.engine,n),r=new G$(o,s,n,e.langAlias);let i;function a(b){return gp(b,e.langAlias)}function l(b){k();const _=r.getGrammar(typeof b=="string"?b:b.name);if(!_)throw new Ds(`Language \`${b}\` not found, you may need to load it first`);return _}function u(b){if(b==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};k();const _=r.getTheme(b);if(!_)throw new Ds(`Theme \`${b}\` not found, you may need to load it first`);return _}function c(b){k();const _=u(b);i!==b&&(r.setTheme(_),i=b);const B=r.getColorMap();return{theme:_,colorMap:B}}function d(){return k(),r.getLoadedThemes()}function f(){return k(),r.getLoadedLanguages()}function p(...b){k(),r.loadLanguages(b.flat(1))}async function g(...b){return p(await hp(b))}function y(...b){k();for(const _ of b.flat(1))r.loadTheme(_)}async function S(...b){return k(),y(await pp(b))}function k(){if(t)throw new Ds("Shiki instance has been disposed")}function w(){t||(t=!0,r.dispose(),po-=1)}return{setTheme:c,getTheme:u,getLanguage:l,getLoadedThemes:d,getLoadedLanguages:f,resolveLangAlias:a,loadLanguage:g,loadLanguageSync:p,loadTheme:S,loadThemeSync:y,dispose:w,[Symbol.dispose]:w}}async function U$(e){e.engine||O$("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,s]=await Promise.all([pp(e.themes||[]),hp(e.langs||[]),e.engine]);return F$({...e,themes:t,langs:n,engine:s})}async function j$(e){const t=await U$(e);return{getLastGrammarState:(...n)=>_$(t,...n),codeToTokensBase:(n,s)=>du(t,n,s),codeToTokensWithThemes:(n,s)=>fp(t,n,s),codeToTokens:(n,s)=>ci(t,n,s),codeToHast:(n,s)=>di(t,n,s),codeToHtml:(n,s)=>D$(t,n,s),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function no(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function z$(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const pu=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),yt=String.raw;function so(e,t){if(e==null)throw new Error(t??"Value expected");return e}const mp=yt`\[\^?`,vp=`c.? | C(?:-.?)?|${yt`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${yt`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${yt`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${yt`o\{[^\}]*\}?`}|${yt`\d{1,3}`}`,gu=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,dr=new RegExp(yt`
87
87
  \\ (?:
88
88
  ${vp}
89
89
  | [gk]<[^>]*>?
@@ -105,7 +105,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An err
105
105
  | (?:${gu.source})+
106
106
  | ${mp}
107
107
  | .
108
- `.replace(/\s+/g,""),"gsu"),da=new RegExp(yt`
108
+ `.replace(/\s+/g,""),"gsu"),fa=new RegExp(yt`
109
109
  \\ (?:
110
110
  ${vp}
111
111
  | .
@@ -114,8 +114,8 @@ Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An err
114
114
  | ${mp}
115
115
  | &&
116
116
  | .
117
- `.replace(/\s+/g,""),"gsu");function z$(e,t={}){const n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");const s=lC(n.flags),o=[s.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return o.at(-1)},numOpenGroups:0,popModX(){o.pop()},pushModX(d){o.push(d)},replaceCurrentModX(d){o[o.length-1]=d},singleline:n.rules.singleline};let i=[],a;for(cr.lastIndex=0;a=cr.exec(e);){const d=H$(r,e,a[0],cr.lastIndex);d.tokens?i.push(...d.tokens):d.token&&i.push(d.token),d.lastIndex!==void 0&&(cr.lastIndex=d.lastIndex)}const l=[];let u=0;i.filter(d=>d.type==="GroupOpen").forEach(d=>{d.kind==="capturing"?d.number=++u:d.raw==="("&&l.push(d)}),u||l.forEach((d,f)=>{d.kind="capturing",d.number=f+1});const c=u||l.length;return{tokens:i.map(d=>d.type==="EscapedNumber"?cC(d,c):d).flat(),flags:s}}function H$(e,t,n,s){const[o,r]=n;if(n==="["||n==="[^"){const i=W$(t,n,s);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(o==="\\"){if("AbBGyYzZ".includes(r))return{token:nd(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:tC(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:bp(n)}}if(r==="K")return{token:kp("keep",n)};if(r==="N"||r==="R")return{token:us("newline",n,{negate:r==="N"})};if(r==="O")return{token:us("any",n)};if(r==="X")return{token:us("text_segment",n)};const i=yp(n,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(o==="("){if(r==="*")return{token:rC(n)};if(n==="(?{")throw new Error(`Unsupported callout "${n}"`);if(n.startsWith("(?#")){if(t[s]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:s+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:oC(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Ms("group",n)};if(n==="(?>")return{token:Ms("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?<!")return{token:Ms(n[2]==="<"?"lookbehind":"lookahead",n,{negate:n.endsWith("!")})};if(n==="("&&e.captureGroup||n.startsWith("(?<")&&n.endsWith(">")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Ms("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error(`Unsupported absence function kind "${n}"`);return{token:Ms("absence_repeater",n)}}throw n==="(?("?new Error(`Unsupported conditional "${n}"`):new Error(`Invalid or unsupported group option "${n}"`)}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:J$(n)}}if(e.getCurrentModX()){if(n==="#"){const i=t.indexOf(`
118
- `,s);return{lastIndex:i===-1?t.length:i}}if(/^\s$/.test(n)){const i=/\s+/y;return i.lastIndex=s,{lastIndex:i.exec(t)?i.lastIndex:s}}}if(n===".")return{token:us("dot",n)};if(n==="^"||n==="$"){const i=e.singleline?{"^":yt`\A`,$:yt`\Z`}[n]:n;return{token:nd(i,n)}}return n==="|"?{token:V$(n)}:gu.test(n)?{tokens:dC(n)}:{token:Cn(to(n),n)}}function W$(e,t,n){const s=[sd(t[1]==="^",t)];let o=1,r;for(da.lastIndex=n;r=da.exec(e);){const i=r[0];if(i[0]==="["&&i[1]!==":")o++,s.push(sd(i[1]==="^",i));else if(i==="]"){if(s.at(-1).type==="CharacterClassOpen")s.push(Cn(93,i));else if(o--,s.push(K$(i)),!o)break}else{const a=q$(i);Array.isArray(a)?s.push(...a):s.push(a)}}return{tokens:s,lastIndex:da.lastIndex||e.length}}function q$(e){if(e[0]==="\\")return yp(e,{inCharClass:!0});if(e[0]==="["){const t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!pu.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return us("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?Z$(e):e==="&&"?Y$(e):Cn(to(e),e)}function yp(e,{inCharClass:t}){const n=e[1];if(n==="c"||n==="C")return sC(e);if("dDhHsSwW".includes(n))return iC(e);if(e.startsWith(yt`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return aC(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const s=e.split(/\\x/).slice(1).map(i=>parseInt(i,16)),o=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(s)),r=new TextEncoder;return[...o].map(i=>{const a=[...r.encode(i)].map(l=>`\\x${l.toString(16)}`).join("");return Cn(to(i),a)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return Cn(uC(e),e);if(od.has(n))return Cn(od.get(n),e);if(/\d/.test(n))return X$(t,e);if(e==="\\")throw new Error(yt`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return Cn(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function V$(e){return{type:"Alternator",raw:e}}function nd(e,t){return{type:"Assertion",kind:e,raw:t}}function bp(e){return{type:"Backreference",raw:e}}function Cn(e,t){return{type:"Character",value:e,raw:t}}function K$(e){return{type:"CharacterClassClose",raw:e}}function Z$(e){return{type:"CharacterClassHyphen",raw:e}}function Y$(e){return{type:"CharacterClassIntersector",raw:e}}function sd(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function us(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function kp(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:no(n.flags),raw:t}}function X$(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function J$(e){return{type:"GroupClose",raw:e}}function Ms(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function Q$(e,t,n,s){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:s}}function eC(e,t,n,s){return{type:"Quantifier",kind:e,min:t,max:n,raw:s}}function tC(e){return{type:"Subroutine",raw:e}}const nC=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),od=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function sC(e){const t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return Cn(to(t.toUpperCase())-64,e)}function oC(e,t){let{on:n,off:s}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;s??(s="");const o=(t.getCurrentModX()||n.includes("x"))&&!s.includes("x"),r=id(n),i=id(s),a={};if(r&&(a.enable=r),i&&(a.disable=i),e.endsWith(")"))return t.replaceCurrentModX(o),kp("flags",e,{flags:a});if(e.endsWith(":"))return t.pushModX(o),t.numOpenGroups++,Ms("group",e,{...(r||i)&&{flags:a}});throw new Error(`Unexpected flag modifier "${e}"`)}function rC(e){const t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);const{name:n,tag:s,args:o}=t.groups;if(!n)throw new Error(`Invalid named callout "${e}"`);if(s==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const r=o?o.split(",").filter(c=>c!=="").map(c=>/^[+-]?\d+$/.test(c)?+c:c):[],[i,a,l]=r,u=nC.has(n)?n.toLowerCase():"custom";switch(u){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error(`Named callout arguments not allowed "${r}"`);break;case"error":if(r.length>1)throw new Error(`Named callout allows only one argument "${r}"`);if(typeof i=="string")throw new Error(`Named callout argument must be a number "${i}"`);break;case"max":if(!r.length||r.length>2)throw new Error(`Named callout must have one or two arguments "${r}"`);if(typeof i=="string"&&!/^[A-Za-z_]\w*$/.test(i))throw new Error(`Named callout argument one must be a tag or number "${i}"`);if(r.length===2&&(typeof a=="number"||!/^[<>X]$/.test(a)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${a}"`);break;case"count":case"total_count":if(r.length>1)throw new Error(`Named callout allows only one argument "${r}"`);if(r.length===1&&(typeof i=="number"||!/^[<>X]$/.test(i)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${i}"`);break;case"cmp":if(r.length!==3)throw new Error(`Named callout must have three arguments "${r}"`);if(typeof i=="string"&&!/^[A-Za-z_]\w*$/.test(i))throw new Error(`Named callout argument one must be a tag or number "${i}"`);if(typeof a=="number"||!/^(?:[<>!=]=|[<>])$/.test(a))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${a}"`);if(typeof l=="string"&&!/^[A-Za-z_]\w*$/.test(l))throw new Error(`Named callout argument three must be a tag or number "${l}"`);break;case"custom":throw new Error(`Undefined callout name "${n}"`);default:throw new Error(`Unexpected named callout kind "${u}"`)}return Q$(u,s??null,(o==null?void 0:o.split(","))??null,e)}function rd(e){let t=null,n,s;if(e[0]==="{"){const{minStr:o,maxStr:r}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,i=1e5;if(+o>i||r&&+r>i)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+o,s=r===void 0?+o:r===""?1/0:+r,n>s&&(t="possessive",[n,s]=[s,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,s=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return eC(t,n,s,e)}function iC(e){const t=e[1].toLowerCase();return us({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function aC(e){const{p:t,neg:n,value:s}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return us("property",e,{value:s,negate:t==="P"&&!n||t==="p"&&!!n})}function id(e){const t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function lC(e){const t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){const s=e[n];if(!"imxDPSWy".includes(s))throw new Error(`Invalid flag "${s}"`);if(s==="y"){if(!/^y{[gw]}/.test(e.slice(n)))throw new Error('Invalid or unspecified flag "y" mode');t.textSegmentMode=e[n+2]==="g"?"grapheme":"word",n+=3;continue}t[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[s]]=!0}return t}function uC(e){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(e))throw new Error(`Incomplete or invalid escape "${e}"`);const t=e[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function cC(e,t){const{raw:n,inCharClass:s}=e,o=n.slice(1);if(!s&&(o!=="0"&&o.length===1||o[0]!=="0"&&+o<=t))return[bp(n)];const r=[],i=o.match(/^[0-7]+|\d/g);for(let a=0;a<i.length;a++){const l=i[a];let u;if(a===0&&l!=="8"&&l!=="9"){if(u=parseInt(l,8),u>127)throw new Error(yt`Octal encoded byte above 177 unsupported "${n}"`)}else u=to(l);r.push(Cn(u,(a===0?"\\":"")+l))}return r}function dC(e){const t=[],n=new RegExp(gu,"gy");let s;for(;s=n.exec(e);){const o=s[0];if(o[0]==="{"){const r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(o);if(r){const{min:i,max:a}=r.groups;if(+i>+a&&o.endsWith("?")){n.lastIndex--,t.push(rd(o.slice(0,-1)));continue}}}t.push(rd(o))}return t}function wp(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;const n=e.body[0];return!t||Object.keys(t).every(s=>t[s]===n[s])}function fC(e){return hC.has(e.type)}const hC=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function Sp(e,t={}){const n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},s=z$(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),o=(f,p)=>{const g=s.tokens[r.nextIndex];switch(r.parent=f,r.nextIndex++,g.type){case"Alternator":return ys();case"Assertion":return pC(g);case"Backreference":return gC(g,r);case"Character":return Ni(g.value,{useLastValid:!!p.isCheckingRangeEnd});case"CharacterClassHyphen":return mC(g,r,p);case"CharacterClassOpen":return vC(g,r,p);case"CharacterSet":return yC(g,r);case"Directive":return $C(g.kind,{flags:g.flags});case"GroupOpen":return bC(g,r,p);case"NamedCallout":return xC(g.kind,g.tag,g.arguments);case"Quantifier":return kC(g,r);case"Subroutine":return wC(g,r);default:throw new Error(`Unexpected token type "${g.type}"`)}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:s.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:o},i=TC(CC(s.flags));let a=i.body[0];for(;r.nextIndex<s.tokens.length;){const f=o(a,{});f.type==="Alternative"?(i.body.push(f),a=f):a.body.push(f)}const{capturingGroups:l,hasNumberedRef:u,namedGroupsByName:c,subroutines:d}=r;if(u&&c.size&&!n.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:f}of d)if(typeof f=="number"){if(f>l.length)throw new Error("Subroutine uses a group number that's not defined");f&&(l[f-1].isSubroutined=!0)}else if(c.has(f)){if(c.get(f).length>1)throw new Error(yt`Subroutine uses a duplicate group name "\g<${f}>"`);c.get(f)[0].isSubroutined=!0}else throw new Error(yt`Subroutine uses a group name that's not defined "\g<${f}>"`);return i}function pC({kind:e}){return dl(no({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===yt`\B`||e===yt`\Y`})}function gC({raw:e},t){const n=/^\\k[<']/.test(e),s=n?e.slice(3,-1):e.slice(1),o=(r,i=!1)=>{const a=t.capturingGroups.length;let l=!1;if(r>a)if(t.skipBackrefValidation)l=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,fl(i?a+1-r:r,{orphan:l})};if(n){const r=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(s);if(r)return o(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(s))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(s))throw new Error(`Group name not defined to the left "${e}"`);return fl(s)}return o(+s)}function mC(e,t,n){const{tokens:s,walk:o}=t,r=t.parent,i=r.body.at(-1),a=s[t.nextIndex];if(!n.isCheckingRangeEnd&&i&&i.type!=="CharacterClass"&&i.type!=="CharacterClassRange"&&a&&a.type!=="CharacterClassOpen"&&a.type!=="CharacterClassClose"&&a.type!=="CharacterClassIntersector"){const l=o(r,{...n,isCheckingRangeEnd:!0});if(i.type==="Character"&&l.type==="Character")return r.body.pop(),_C(i,l);throw new Error("Invalid character class range")}return Ni(to("-"))}function vC({negate:e},t,n){const{tokens:s,walk:o}=t,r=[Tr()],i=s[t.nextIndex];let a=ud(i);for(;a.type!=="CharacterClassClose";){if(a.type==="CharacterClassIntersector")r.push(Tr()),t.nextIndex++;else{const u=r.at(-1);u.body.push(o(u,n))}a=ud(s[t.nextIndex],i)}const l=Tr({negate:e});return r.length===1?l.body=r[0].body:(l.kind="intersection",l.body=r.map(u=>u.body.length===1?u.body[0]:u)),t.nextIndex++,l}function yC({kind:e,negate:t,value:n},s){const{normalizeUnknownPropertyNames:o,skipPropertyNameValidation:r,unicodePropertyMap:i}=s;if(e==="property"){const a=Oi(n);if(pu.has(a)&&!(i!=null&&i.has(a)))e="posix",n=a;else return Rs(n,{negate:t,normalizeUnknownPropertyNames:o,skipPropertyNameValidation:r,unicodePropertyMap:i})}return e==="posix"?IC(n,{negate:t}):hl(e,{negate:t})}function bC(e,t,n){const{tokens:s,capturingGroups:o,namedGroupsByName:r,skipLookbehindValidation:i,walk:a}=t,l=EC(e),u=l.type==="AbsenceFunction",c=ld(l),d=c&&l.negate;if(l.type==="CapturingGroup"&&(o.push(l),l.name&&j$(r,l.name,[]).push(l)),u&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let f=cd(s[t.nextIndex]);for(;f.type!=="GroupClose";){if(f.type==="Alternator")l.body.push(ys()),t.nextIndex++;else{const p=l.body.at(-1),g=a(p,{...n,isInAbsenceFunction:n.isInAbsenceFunction||u,isInLookbehind:n.isInLookbehind||c,isInNegLookbehind:n.isInNegLookbehind||d});if(p.body.push(g),(c||n.isInLookbehind)&&!i){const y="Lookbehind includes a pattern not allowed by Oniguruma";if(d||n.isInNegLookbehind){if(ad(g)||g.type==="CapturingGroup")throw new Error(y)}else if(ad(g)||ld(g)&&g.negate)throw new Error(y)}}f=cd(s[t.nextIndex])}return t.nextIndex++,l}function kC({kind:e,min:t,max:n},s){const o=s.parent,r=o.body.at(-1);if(!r||!fC(r))throw new Error("Quantifier requires a repeatable token");const i=$p(e,t,n,r);return o.body.pop(),i}function wC({raw:e},t){const{capturingGroups:n,subroutines:s}=t;let o=e.slice(3,-1);const r=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(o);if(r){const a=+r.groups.num,l=n.length;if(t.hasNumberedRef=!0,o={"":a,"+":l+a,"-":l+1-a}[r.groups.sign],o<1)throw new Error("Invalid subroutine number")}else o==="0"&&(o=0);const i=Cp(o);return s.push(i),i}function SC(e,t){return{type:"AbsenceFunction",kind:e,body:Jo(t==null?void 0:t.body)}}function ys(e){return{type:"Alternative",body:xp(e==null?void 0:e.body)}}function dl(e,t){const n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!(t!=null&&t.negate)),n}function fl(e,t){const n=!!(t!=null&&t.orphan);return{type:"Backreference",ref:e,...n&&{orphan:n}}}function _p(e,t){const n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!AC(n.name))throw new Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Jo(t==null?void 0:t.body)}}function Ni(e,t){const n={useLastValid:!1,...t};if(e>1114111){const s=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${s}}"`):new Error(`Invalid code point out of range in JS "\\x{${s}}"`)}return{type:"Character",value:e}}function Tr(e){const t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:xp(e==null?void 0:e.body)}}function _C(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:t}}function hl(e,t){const n=!!(t!=null&&t.negate),s={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(s.negate=n),(e==="text_segment"||e==="newline"&&!n)&&(s.variableLength=!0),s}function $C(e,t={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:no(t.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function CC(e){return{type:"Flags",...e}}function Xt(e){const t=e==null?void 0:e.atomic,n=e==null?void 0:e.flags;if(t&&n)throw new Error("Atomic group cannot have flags");return{type:"Group",...t&&{atomic:t},...n&&{flags:n},body:Jo(e==null?void 0:e.body)}}function as(e){const t={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:t.behind?"lookbehind":"lookahead",negate:t.negate,body:Jo(e==null?void 0:e.body)}}function xC(e,t,n){return{type:"NamedCallout",kind:e,tag:t,arguments:n}}function IC(e,t){const n=!!(t!=null&&t.negate);if(!pu.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:n}}function $p(e,t,n,s){if(t>n)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:s}}function TC(e,t){return{type:"Regex",body:Jo(t==null?void 0:t.body),flags:e}}function Cp(e){return{type:"Subroutine",ref:e}}function Rs(e,t){var o;const n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t};let s=(o=n.unicodePropertyMap)==null?void 0:o.get(Oi(e));if(!s){if(n.normalizeUnknownPropertyNames)s=MC(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(yt`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:s??e,negate:n.negate}}function EC({flags:e,kind:t,name:n,negate:s,number:o}){switch(t){case"absence_repeater":return SC("repeater");case"atomic":return Xt({atomic:!0});case"capturing":return _p(o,{name:n});case"group":return Xt({flags:e});case"lookahead":case"lookbehind":return as({behind:t==="lookbehind",negate:s});default:throw new Error(`Unexpected group kind "${t}"`)}}function Jo(e){if(e===void 0)e=[ys()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function xp(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function ad(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function ld(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function AC(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function MC(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Oi(e){return e.replace(/[- _]+/g,"").toLowerCase()}function ud(e,t){const n=t;return no(e,`Unclosed character class${(n==null?void 0:n.type)==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""}`)}function cd(e){return no(e,"Unclosed group")}function Eo(e,t,n=null){function s(r,i){for(let a=0;a<r.length;a++){const l=o(r[a],i,a,r);a=Math.max(-1,a+l)}}function o(r,i=null,a=null,l=null){var k,w;let u=0,c=!1;const d={node:r,parent:i,key:a,container:l,root:e,remove(){dr(l).splice(Math.max(0,Is(a)+u),1),u--,c=!0},removeAllNextSiblings(){return dr(l).splice(Is(a)+1)},removeAllPrevSiblings(){const b=Is(a)+u;return u-=b,dr(l).splice(0,Math.max(0,b))},replaceWith(b,_={}){const B=!!_.traverse;l?l[Math.max(0,Is(a)+u)]=b:no(i,"Can't replace root node")[a]=b,B&&o(b,i,a,l),c=!0},replaceWithMultiple(b,_={}){const B=!!_.traverse;if(dr(l).splice(Math.max(0,Is(a)+u),1,...b),u+=b.length-1,B){let D=0;for(let E=0;E<b.length;E++)D+=o(b[E],i,Is(a)+E+D,l)}c=!0},skip(){c=!0}},{type:f}=r,p=t["*"],g=t[f],y=typeof p=="function"?p:p==null?void 0:p.enter,S=typeof g=="function"?g:g==null?void 0:g.enter;if(y==null||y(d,n),S==null||S(d,n),!c)switch(f){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":s(r.body,r);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":o(r.min,r,"min"),o(r.max,r,"max");break;case"Quantifier":o(r.body,r,"body");break;case"Regex":s(r.body,r),o(r.flags,r,"flags");break;default:throw new Error(`Unexpected node type "${f}"`)}return(k=g==null?void 0:g.exit)==null||k.call(g,d,n),(w=p==null?void 0:p.exit)==null||w.call(p,d,n),u}return o(e),e}function dr(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function Is(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}const RC=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function PC(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function LC(e,t,n,s){return e.slice(0,t)+s+e.slice(t+n.length)}const Wt=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function mu(e,t,n,s){const o=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),r=[!1];let i=0,a="";for(const l of e.matchAll(o)){const{0:u,groups:{$skip:c}}=l;if(!c&&(!s||s===Wt.DEFAULT==!i)){n instanceof Function?a+=n(l,{context:i?Wt.CHAR_CLASS:Wt.DEFAULT,negated:r[r.length-1]}):a+=n;continue}u[0]==="["?(i++,r.push(u[1]==="^")):u==="]"&&i&&(i--,r.pop()),a+=u}return a}function Ip(e,t,n,s){mu(e,t,n,s)}function DC(e,t,n=0,s){if(!new RegExp(t,"su").test(e))return null;const o=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");o.lastIndex=n;let r=0,i;for(;i=o.exec(e);){const{0:a,groups:{$skip:l}}=i;if(!l&&(!s||s===Wt.DEFAULT==!r))return i;a==="["?r++:a==="]"&&r&&r--,o.lastIndex==i.index&&o.lastIndex++}return null}function fr(e,t,n){return!!DC(e,t,0,n)}function NC(e,t){const n=/\\?./gsu;n.lastIndex=t;let s=e.length,o=0,r=1,i;for(;i=n.exec(e);){const[a]=i;if(a==="[")o++;else if(o)a==="]"&&o--;else if(a==="(")r++;else if(a===")"&&(r--,!r)){s=i.index;break}}return e.slice(t,s)}const dd=new RegExp(String.raw`(?<noncapturingStart>${RC})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function OC(e,t){const n=(t==null?void 0:t.hiddenCaptures)??[];let s=(t==null?void 0:t.captureTransfers)??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:s,hiddenCaptures:n};const o="(?>",r="(?:(?=(",i=[0],a=[];let l=0,u=0,c=NaN,d;do{d=!1;let f=0,p=0,g=!1,y;for(dd.lastIndex=Number.isNaN(c)?0:c+r.length;y=dd.exec(e);){const{0:S,index:k,groups:{capturingStart:w,noncapturingStart:b}}=y;if(S==="[")f++;else if(f)S==="]"&&f--;else if(S===o&&!g)c=k,g=!0;else if(g&&b)p++;else if(w)g?p++:(l++,i.push(l+u));else if(S===")"&&g){if(!p){u++;const _=l+u;if(e=`${e.slice(0,c)}${r}${e.slice(c+o.length,k)}))<$$${_}>)${e.slice(k+1)}`,d=!0,a.push(_),PC(n,_),s.size){const B=new Map;s.forEach((D,E)=>{B.set(E>=_?E+1:E,D.map(M=>M>=_?M+1:M))}),s=B}break}p--}}}while(d);return n.push(...a),e=mu(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:f,groups:{backrefNum:p,wrappedBackrefNum:g}})=>{if(p){const y=+p;if(y>i.length-1)throw new Error(`Backref "${f}" greater than number of captures`);return`\\${i[y]}`}return`\\${g}`},Wt.DEFAULT),{pattern:e,captureTransfers:s,hiddenCaptures:n}}const Tp=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,fa=new RegExp(String.raw`
117
+ `.replace(/\s+/g,""),"gsu");function H$(e,t={}){const n={flags:"",...t,rules:{captureGroup:!1,singleline:!1,...t.rules}};if(typeof e!="string")throw new Error("String expected as pattern");const s=uC(n.flags),o=[s.extended],r={captureGroup:n.rules.captureGroup,getCurrentModX(){return o.at(-1)},numOpenGroups:0,popModX(){o.pop()},pushModX(d){o.push(d)},replaceCurrentModX(d){o[o.length-1]=d},singleline:n.rules.singleline};let i=[],a;for(dr.lastIndex=0;a=dr.exec(e);){const d=W$(r,e,a[0],dr.lastIndex);d.tokens?i.push(...d.tokens):d.token&&i.push(d.token),d.lastIndex!==void 0&&(dr.lastIndex=d.lastIndex)}const l=[];let u=0;i.filter(d=>d.type==="GroupOpen").forEach(d=>{d.kind==="capturing"?d.number=++u:d.raw==="("&&l.push(d)}),u||l.forEach((d,f)=>{d.kind="capturing",d.number=f+1});const c=u||l.length;return{tokens:i.map(d=>d.type==="EscapedNumber"?dC(d,c):d).flat(),flags:s}}function W$(e,t,n,s){const[o,r]=n;if(n==="["||n==="[^"){const i=q$(t,n,s);return{tokens:i.tokens,lastIndex:i.lastIndex}}if(o==="\\"){if("AbBGyYzZ".includes(r))return{token:nd(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:nC(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:bp(n)}}if(r==="K")return{token:kp("keep",n)};if(r==="N"||r==="R")return{token:cs("newline",n,{negate:r==="N"})};if(r==="O")return{token:cs("any",n)};if(r==="X")return{token:cs("text_segment",n)};const i=yp(n,{inCharClass:!1});return Array.isArray(i)?{tokens:i}:{token:i}}if(o==="("){if(r==="*")return{token:iC(n)};if(n==="(?{")throw new Error(`Unsupported callout "${n}"`);if(n.startsWith("(?#")){if(t[s]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:s+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:rC(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Rs("group",n)};if(n==="(?>")return{token:Rs("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?<!")return{token:Rs(n[2]==="<"?"lookbehind":"lookahead",n,{negate:n.endsWith("!")})};if(n==="("&&e.captureGroup||n.startsWith("(?<")&&n.endsWith(">")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Rs("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error(`Unsupported absence function kind "${n}"`);return{token:Rs("absence_repeater",n)}}throw n==="(?("?new Error(`Unsupported conditional "${n}"`):new Error(`Invalid or unsupported group option "${n}"`)}if(n===")"){if(e.popModX(),e.numOpenGroups--,e.numOpenGroups<0)throw new Error('Unmatched ")"');return{token:Q$(n)}}if(e.getCurrentModX()){if(n==="#"){const i=t.indexOf(`
118
+ `,s);return{lastIndex:i===-1?t.length:i}}if(/^\s$/.test(n)){const i=/\s+/y;return i.lastIndex=s,{lastIndex:i.exec(t)?i.lastIndex:s}}}if(n===".")return{token:cs("dot",n)};if(n==="^"||n==="$"){const i=e.singleline?{"^":yt`\A`,$:yt`\Z`}[n]:n;return{token:nd(i,n)}}return n==="|"?{token:K$(n)}:gu.test(n)?{tokens:fC(n)}:{token:Cn(no(n),n)}}function q$(e,t,n){const s=[sd(t[1]==="^",t)];let o=1,r;for(fa.lastIndex=n;r=fa.exec(e);){const i=r[0];if(i[0]==="["&&i[1]!==":")o++,s.push(sd(i[1]==="^",i));else if(i==="]"){if(s.at(-1).type==="CharacterClassOpen")s.push(Cn(93,i));else if(o--,s.push(Z$(i)),!o)break}else{const a=V$(i);Array.isArray(a)?s.push(...a):s.push(a)}}return{tokens:s,lastIndex:fa.lastIndex||e.length}}function V$(e){if(e[0]==="\\")return yp(e,{inCharClass:!0});if(e[0]==="["){const t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!pu.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return cs("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?Y$(e):e==="&&"?X$(e):Cn(no(e),e)}function yp(e,{inCharClass:t}){const n=e[1];if(n==="c"||n==="C")return oC(e);if("dDhHsSwW".includes(n))return aC(e);if(e.startsWith(yt`\o{`))throw new Error(`Incomplete, invalid, or unsupported octal code point "${e}"`);if(/^\\[pP]\{/.test(e)){if(e.length===3)throw new Error(`Incomplete or invalid Unicode property "${e}"`);return lC(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const s=e.split(/\\x/).slice(1).map(i=>parseInt(i,16)),o=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(s)),r=new TextEncoder;return[...o].map(i=>{const a=[...r.encode(i)].map(l=>`\\x${l.toString(16)}`).join("");return Cn(no(i),a)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return Cn(cC(e),e);if(od.has(n))return Cn(od.get(n),e);if(/\d/.test(n))return J$(t,e);if(e==="\\")throw new Error(yt`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return Cn(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function K$(e){return{type:"Alternator",raw:e}}function nd(e,t){return{type:"Assertion",kind:e,raw:t}}function bp(e){return{type:"Backreference",raw:e}}function Cn(e,t){return{type:"Character",value:e,raw:t}}function Z$(e){return{type:"CharacterClassClose",raw:e}}function Y$(e){return{type:"CharacterClassHyphen",raw:e}}function X$(e){return{type:"CharacterClassIntersector",raw:e}}function sd(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function cs(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function kp(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:so(n.flags),raw:t}}function J$(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function Q$(e){return{type:"GroupClose",raw:e}}function Rs(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function eC(e,t,n,s){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:s}}function tC(e,t,n,s){return{type:"Quantifier",kind:e,min:t,max:n,raw:s}}function nC(e){return{type:"Subroutine",raw:e}}const sC=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),od=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function oC(e){const t=e[1]==="c"?e[2]:e[3];if(!t||!/[A-Za-z]/.test(t))throw new Error(`Unsupported control character "${e}"`);return Cn(no(t.toUpperCase())-64,e)}function rC(e,t){let{on:n,off:s}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;s??(s="");const o=(t.getCurrentModX()||n.includes("x"))&&!s.includes("x"),r=id(n),i=id(s),a={};if(r&&(a.enable=r),i&&(a.disable=i),e.endsWith(")"))return t.replaceCurrentModX(o),kp("flags",e,{flags:a});if(e.endsWith(":"))return t.pushModX(o),t.numOpenGroups++,Rs("group",e,{...(r||i)&&{flags:a}});throw new Error(`Unexpected flag modifier "${e}"`)}function iC(e){const t=/\(\*(?<name>[A-Za-z_]\w*)?(?:\[(?<tag>(?:[A-Za-z_]\w*)?)\])?(?:\{(?<args>[^}]*)\})?\)/.exec(e);if(!t)throw new Error(`Incomplete or invalid named callout "${e}"`);const{name:n,tag:s,args:o}=t.groups;if(!n)throw new Error(`Invalid named callout "${e}"`);if(s==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const r=o?o.split(",").filter(c=>c!=="").map(c=>/^[+-]?\d+$/.test(c)?+c:c):[],[i,a,l]=r,u=sC.has(n)?n.toLowerCase():"custom";switch(u){case"fail":case"mismatch":case"skip":if(r.length>0)throw new Error(`Named callout arguments not allowed "${r}"`);break;case"error":if(r.length>1)throw new Error(`Named callout allows only one argument "${r}"`);if(typeof i=="string")throw new Error(`Named callout argument must be a number "${i}"`);break;case"max":if(!r.length||r.length>2)throw new Error(`Named callout must have one or two arguments "${r}"`);if(typeof i=="string"&&!/^[A-Za-z_]\w*$/.test(i))throw new Error(`Named callout argument one must be a tag or number "${i}"`);if(r.length===2&&(typeof a=="number"||!/^[<>X]$/.test(a)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${a}"`);break;case"count":case"total_count":if(r.length>1)throw new Error(`Named callout allows only one argument "${r}"`);if(r.length===1&&(typeof i=="number"||!/^[<>X]$/.test(i)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${i}"`);break;case"cmp":if(r.length!==3)throw new Error(`Named callout must have three arguments "${r}"`);if(typeof i=="string"&&!/^[A-Za-z_]\w*$/.test(i))throw new Error(`Named callout argument one must be a tag or number "${i}"`);if(typeof a=="number"||!/^(?:[<>!=]=|[<>])$/.test(a))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${a}"`);if(typeof l=="string"&&!/^[A-Za-z_]\w*$/.test(l))throw new Error(`Named callout argument three must be a tag or number "${l}"`);break;case"custom":throw new Error(`Undefined callout name "${n}"`);default:throw new Error(`Unexpected named callout kind "${u}"`)}return eC(u,s??null,(o==null?void 0:o.split(","))??null,e)}function rd(e){let t=null,n,s;if(e[0]==="{"){const{minStr:o,maxStr:r}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,i=1e5;if(+o>i||r&&+r>i)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+o,s=r===void 0?+o:r===""?1/0:+r,n>s&&(t="possessive",[n,s]=[s,n]),e.endsWith("?")){if(t==="possessive")throw new Error('Unsupported possessive interval quantifier chain with "?"');t="lazy"}else t||(t="greedy")}else n=e[0]==="+"?1:0,s=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return tC(t,n,s,e)}function aC(e){const t=e[1].toLowerCase();return cs({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function lC(e){const{p:t,neg:n,value:s}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return cs("property",e,{value:s,negate:t==="P"&&!n||t==="p"&&!!n})}function id(e){const t={};return e.includes("i")&&(t.ignoreCase=!0),e.includes("m")&&(t.dotAll=!0),e.includes("x")&&(t.extended=!0),Object.keys(t).length?t:null}function uC(e){const t={ignoreCase:!1,dotAll:!1,extended:!1,digitIsAscii:!1,posixIsAscii:!1,spaceIsAscii:!1,wordIsAscii:!1,textSegmentMode:null};for(let n=0;n<e.length;n++){const s=e[n];if(!"imxDPSWy".includes(s))throw new Error(`Invalid flag "${s}"`);if(s==="y"){if(!/^y{[gw]}/.test(e.slice(n)))throw new Error('Invalid or unspecified flag "y" mode');t.textSegmentMode=e[n+2]==="g"?"grapheme":"word",n+=3;continue}t[{i:"ignoreCase",m:"dotAll",x:"extended",D:"digitIsAscii",P:"posixIsAscii",S:"spaceIsAscii",W:"wordIsAscii"}[s]]=!0}return t}function cC(e){if(new RegExp("^(?:\\\\u(?!\\p{AHex}{4})|\\\\x(?!\\p{AHex}{1,2}|\\{\\p{AHex}{1,8}\\}))","u").test(e))throw new Error(`Incomplete or invalid escape "${e}"`);const t=e[2]==="{"?new RegExp("^\\\\x\\{\\s*(?<hex>\\p{AHex}+)","u").exec(e).groups.hex:e.slice(2);return parseInt(t,16)}function dC(e,t){const{raw:n,inCharClass:s}=e,o=n.slice(1);if(!s&&(o!=="0"&&o.length===1||o[0]!=="0"&&+o<=t))return[bp(n)];const r=[],i=o.match(/^[0-7]+|\d/g);for(let a=0;a<i.length;a++){const l=i[a];let u;if(a===0&&l!=="8"&&l!=="9"){if(u=parseInt(l,8),u>127)throw new Error(yt`Octal encoded byte above 177 unsupported "${n}"`)}else u=no(l);r.push(Cn(u,(a===0?"\\":"")+l))}return r}function fC(e){const t=[],n=new RegExp(gu,"gy");let s;for(;s=n.exec(e);){const o=s[0];if(o[0]==="{"){const r=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(o);if(r){const{min:i,max:a}=r.groups;if(+i>+a&&o.endsWith("?")){n.lastIndex--,t.push(rd(o.slice(0,-1)));continue}}}t.push(rd(o))}return t}function wp(e,t){if(!Array.isArray(e.body))throw new Error("Expected node with body array");if(e.body.length!==1)return!1;const n=e.body[0];return!t||Object.keys(t).every(s=>t[s]===n[s])}function hC(e){return pC.has(e.type)}const pC=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function Sp(e,t={}){const n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},s=H$(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),o=(f,p)=>{const g=s.tokens[r.nextIndex];switch(r.parent=f,r.nextIndex++,g.type){case"Alternator":return bs();case"Assertion":return gC(g);case"Backreference":return mC(g,r);case"Character":return Oi(g.value,{useLastValid:!!p.isCheckingRangeEnd});case"CharacterClassHyphen":return vC(g,r,p);case"CharacterClassOpen":return yC(g,r,p);case"CharacterSet":return bC(g,r);case"Directive":return CC(g.kind,{flags:g.flags});case"GroupOpen":return kC(g,r,p);case"NamedCallout":return IC(g.kind,g.tag,g.arguments);case"Quantifier":return wC(g,r);case"Subroutine":return SC(g,r);default:throw new Error(`Unexpected token type "${g.type}"`)}},r={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:s.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:o},i=EC(xC(s.flags));let a=i.body[0];for(;r.nextIndex<s.tokens.length;){const f=o(a,{});f.type==="Alternative"?(i.body.push(f),a=f):a.body.push(f)}const{capturingGroups:l,hasNumberedRef:u,namedGroupsByName:c,subroutines:d}=r;if(u&&c.size&&!n.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:f}of d)if(typeof f=="number"){if(f>l.length)throw new Error("Subroutine uses a group number that's not defined");f&&(l[f-1].isSubroutined=!0)}else if(c.has(f)){if(c.get(f).length>1)throw new Error(yt`Subroutine uses a duplicate group name "\g<${f}>"`);c.get(f)[0].isSubroutined=!0}else throw new Error(yt`Subroutine uses a group name that's not defined "\g<${f}>"`);return i}function gC({kind:e}){return dl(so({"^":"line_start",$:"line_end","\\A":"string_start","\\b":"word_boundary","\\B":"word_boundary","\\G":"search_start","\\y":"text_segment_boundary","\\Y":"text_segment_boundary","\\z":"string_end","\\Z":"string_end_newline"}[e],`Unexpected assertion kind "${e}"`),{negate:e===yt`\B`||e===yt`\Y`})}function mC({raw:e},t){const n=/^\\k[<']/.test(e),s=n?e.slice(3,-1):e.slice(1),o=(r,i=!1)=>{const a=t.capturingGroups.length;let l=!1;if(r>a)if(t.skipBackrefValidation)l=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,fl(i?a+1-r:r,{orphan:l})};if(n){const r=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(s);if(r)return o(+r.groups.num,!!r.groups.sign);if(/[-+]/.test(s))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(s))throw new Error(`Group name not defined to the left "${e}"`);return fl(s)}return o(+s)}function vC(e,t,n){const{tokens:s,walk:o}=t,r=t.parent,i=r.body.at(-1),a=s[t.nextIndex];if(!n.isCheckingRangeEnd&&i&&i.type!=="CharacterClass"&&i.type!=="CharacterClassRange"&&a&&a.type!=="CharacterClassOpen"&&a.type!=="CharacterClassClose"&&a.type!=="CharacterClassIntersector"){const l=o(r,{...n,isCheckingRangeEnd:!0});if(i.type==="Character"&&l.type==="Character")return r.body.pop(),$C(i,l);throw new Error("Invalid character class range")}return Oi(no("-"))}function yC({negate:e},t,n){const{tokens:s,walk:o}=t,r=[Er()],i=s[t.nextIndex];let a=ud(i);for(;a.type!=="CharacterClassClose";){if(a.type==="CharacterClassIntersector")r.push(Er()),t.nextIndex++;else{const u=r.at(-1);u.body.push(o(u,n))}a=ud(s[t.nextIndex],i)}const l=Er({negate:e});return r.length===1?l.body=r[0].body:(l.kind="intersection",l.body=r.map(u=>u.body.length===1?u.body[0]:u)),t.nextIndex++,l}function bC({kind:e,negate:t,value:n},s){const{normalizeUnknownPropertyNames:o,skipPropertyNameValidation:r,unicodePropertyMap:i}=s;if(e==="property"){const a=Gi(n);if(pu.has(a)&&!(i!=null&&i.has(a)))e="posix",n=a;else return Ps(n,{negate:t,normalizeUnknownPropertyNames:o,skipPropertyNameValidation:r,unicodePropertyMap:i})}return e==="posix"?TC(n,{negate:t}):hl(e,{negate:t})}function kC(e,t,n){const{tokens:s,capturingGroups:o,namedGroupsByName:r,skipLookbehindValidation:i,walk:a}=t,l=AC(e),u=l.type==="AbsenceFunction",c=ld(l),d=c&&l.negate;if(l.type==="CapturingGroup"&&(o.push(l),l.name&&z$(r,l.name,[]).push(l)),u&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let f=cd(s[t.nextIndex]);for(;f.type!=="GroupClose";){if(f.type==="Alternator")l.body.push(bs()),t.nextIndex++;else{const p=l.body.at(-1),g=a(p,{...n,isInAbsenceFunction:n.isInAbsenceFunction||u,isInLookbehind:n.isInLookbehind||c,isInNegLookbehind:n.isInNegLookbehind||d});if(p.body.push(g),(c||n.isInLookbehind)&&!i){const y="Lookbehind includes a pattern not allowed by Oniguruma";if(d||n.isInNegLookbehind){if(ad(g)||g.type==="CapturingGroup")throw new Error(y)}else if(ad(g)||ld(g)&&g.negate)throw new Error(y)}}f=cd(s[t.nextIndex])}return t.nextIndex++,l}function wC({kind:e,min:t,max:n},s){const o=s.parent,r=o.body.at(-1);if(!r||!hC(r))throw new Error("Quantifier requires a repeatable token");const i=$p(e,t,n,r);return o.body.pop(),i}function SC({raw:e},t){const{capturingGroups:n,subroutines:s}=t;let o=e.slice(3,-1);const r=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(o);if(r){const a=+r.groups.num,l=n.length;if(t.hasNumberedRef=!0,o={"":a,"+":l+a,"-":l+1-a}[r.groups.sign],o<1)throw new Error("Invalid subroutine number")}else o==="0"&&(o=0);const i=Cp(o);return s.push(i),i}function _C(e,t){return{type:"AbsenceFunction",kind:e,body:Qo(t==null?void 0:t.body)}}function bs(e){return{type:"Alternative",body:xp(e==null?void 0:e.body)}}function dl(e,t){const n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!(t!=null&&t.negate)),n}function fl(e,t){const n=!!(t!=null&&t.orphan);return{type:"Backreference",ref:e,...n&&{orphan:n}}}function _p(e,t){const n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!MC(n.name))throw new Error(`Group name "${n.name}" invalid in Oniguruma`);return{type:"CapturingGroup",number:e,...n.name&&{name:n.name},...n.isSubroutined&&{isSubroutined:n.isSubroutined},body:Qo(t==null?void 0:t.body)}}function Oi(e,t){const n={useLastValid:!1,...t};if(e>1114111){const s=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${s}}"`):new Error(`Invalid code point out of range in JS "\\x{${s}}"`)}return{type:"Character",value:e}}function Er(e){const t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:xp(e==null?void 0:e.body)}}function $C(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:t}}function hl(e,t){const n=!!(t!=null&&t.negate),s={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(s.negate=n),(e==="text_segment"||e==="newline"&&!n)&&(s.variableLength=!0),s}function CC(e,t={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:so(t.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function xC(e){return{type:"Flags",...e}}function Xt(e){const t=e==null?void 0:e.atomic,n=e==null?void 0:e.flags;if(t&&n)throw new Error("Atomic group cannot have flags");return{type:"Group",...t&&{atomic:t},...n&&{flags:n},body:Qo(e==null?void 0:e.body)}}function ls(e){const t={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:t.behind?"lookbehind":"lookahead",negate:t.negate,body:Qo(e==null?void 0:e.body)}}function IC(e,t,n){return{type:"NamedCallout",kind:e,tag:t,arguments:n}}function TC(e,t){const n=!!(t!=null&&t.negate);if(!pu.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:n}}function $p(e,t,n,s){if(t>n)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:s}}function EC(e,t){return{type:"Regex",body:Qo(t==null?void 0:t.body),flags:e}}function Cp(e){return{type:"Subroutine",ref:e}}function Ps(e,t){var o;const n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t};let s=(o=n.unicodePropertyMap)==null?void 0:o.get(Gi(e));if(!s){if(n.normalizeUnknownPropertyNames)s=RC(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(yt`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:s??e,negate:n.negate}}function AC({flags:e,kind:t,name:n,negate:s,number:o}){switch(t){case"absence_repeater":return _C("repeater");case"atomic":return Xt({atomic:!0});case"capturing":return _p(o,{name:n});case"group":return Xt({flags:e});case"lookahead":case"lookbehind":return ls({behind:t==="lookbehind",negate:s});default:throw new Error(`Unexpected group kind "${t}"`)}}function Qo(e){if(e===void 0)e=[bs()];else if(!Array.isArray(e)||!e.length||!e.every(t=>t.type==="Alternative"))throw new Error("Invalid body; expected array of one or more Alternative nodes");return e}function xp(e){if(e===void 0)e=[];else if(!Array.isArray(e)||!e.every(t=>!!t.type))throw new Error("Invalid body; expected array of nodes");return e}function ad(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function ld(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function MC(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function RC(e){return e.trim().replace(/[- _]+/g,"_").replace(/[A-Z][a-z]+(?=[A-Z])/g,"$&_").replace(/[A-Za-z]+/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function Gi(e){return e.replace(/[- _]+/g,"").toLowerCase()}function ud(e,t){const n=t;return so(e,`Unclosed character class${(n==null?void 0:n.type)==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""}`)}function cd(e){return so(e,"Unclosed group")}function Ao(e,t,n=null){function s(r,i){for(let a=0;a<r.length;a++){const l=o(r[a],i,a,r);a=Math.max(-1,a+l)}}function o(r,i=null,a=null,l=null){var k,w;let u=0,c=!1;const d={node:r,parent:i,key:a,container:l,root:e,remove(){fr(l).splice(Math.max(0,Ts(a)+u),1),u--,c=!0},removeAllNextSiblings(){return fr(l).splice(Ts(a)+1)},removeAllPrevSiblings(){const b=Ts(a)+u;return u-=b,fr(l).splice(0,Math.max(0,b))},replaceWith(b,_={}){const B=!!_.traverse;l?l[Math.max(0,Ts(a)+u)]=b:so(i,"Can't replace root node")[a]=b,B&&o(b,i,a,l),c=!0},replaceWithMultiple(b,_={}){const B=!!_.traverse;if(fr(l).splice(Math.max(0,Ts(a)+u),1,...b),u+=b.length-1,B){let D=0;for(let E=0;E<b.length;E++)D+=o(b[E],i,Ts(a)+E+D,l)}c=!0},skip(){c=!0}},{type:f}=r,p=t["*"],g=t[f],y=typeof p=="function"?p:p==null?void 0:p.enter,S=typeof g=="function"?g:g==null?void 0:g.enter;if(y==null||y(d,n),S==null||S(d,n),!c)switch(f){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":s(r.body,r);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":o(r.min,r,"min"),o(r.max,r,"max");break;case"Quantifier":o(r.body,r,"body");break;case"Regex":s(r.body,r),o(r.flags,r,"flags");break;default:throw new Error(`Unexpected node type "${f}"`)}return(k=g==null?void 0:g.exit)==null||k.call(g,d,n),(w=p==null?void 0:p.exit)==null||w.call(p,d,n),u}return o(e),e}function fr(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function Ts(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}const PC=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function LC(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function DC(e,t,n,s){return e.slice(0,t)+s+e.slice(t+n.length)}const Wt=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function mu(e,t,n,s){const o=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),r=[!1];let i=0,a="";for(const l of e.matchAll(o)){const{0:u,groups:{$skip:c}}=l;if(!c&&(!s||s===Wt.DEFAULT==!i)){n instanceof Function?a+=n(l,{context:i?Wt.CHAR_CLASS:Wt.DEFAULT,negated:r[r.length-1]}):a+=n;continue}u[0]==="["?(i++,r.push(u[1]==="^")):u==="]"&&i&&(i--,r.pop()),a+=u}return a}function Ip(e,t,n,s){mu(e,t,n,s)}function NC(e,t,n=0,s){if(!new RegExp(t,"su").test(e))return null;const o=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");o.lastIndex=n;let r=0,i;for(;i=o.exec(e);){const{0:a,groups:{$skip:l}}=i;if(!l&&(!s||s===Wt.DEFAULT==!r))return i;a==="["?r++:a==="]"&&r&&r--,o.lastIndex==i.index&&o.lastIndex++}return null}function hr(e,t,n){return!!NC(e,t,0,n)}function OC(e,t){const n=/\\?./gsu;n.lastIndex=t;let s=e.length,o=0,r=1,i;for(;i=n.exec(e);){const[a]=i;if(a==="[")o++;else if(o)a==="]"&&o--;else if(a==="(")r++;else if(a===")"&&(r--,!r)){s=i.index;break}}return e.slice(t,s)}const dd=new RegExp(String.raw`(?<noncapturingStart>${PC})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function GC(e,t){const n=(t==null?void 0:t.hiddenCaptures)??[];let s=(t==null?void 0:t.captureTransfers)??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:s,hiddenCaptures:n};const o="(?>",r="(?:(?=(",i=[0],a=[];let l=0,u=0,c=NaN,d;do{d=!1;let f=0,p=0,g=!1,y;for(dd.lastIndex=Number.isNaN(c)?0:c+r.length;y=dd.exec(e);){const{0:S,index:k,groups:{capturingStart:w,noncapturingStart:b}}=y;if(S==="[")f++;else if(f)S==="]"&&f--;else if(S===o&&!g)c=k,g=!0;else if(g&&b)p++;else if(w)g?p++:(l++,i.push(l+u));else if(S===")"&&g){if(!p){u++;const _=l+u;if(e=`${e.slice(0,c)}${r}${e.slice(c+o.length,k)}))<$$${_}>)${e.slice(k+1)}`,d=!0,a.push(_),LC(n,_),s.size){const B=new Map;s.forEach((D,E)=>{B.set(E>=_?E+1:E,D.map(A=>A>=_?A+1:A))}),s=B}break}p--}}}while(d);return n.push(...a),e=mu(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:f,groups:{backrefNum:p,wrappedBackrefNum:g}})=>{if(p){const y=+p;if(y>i.length-1)throw new Error(`Backref "${f}" greater than number of captures`);return`\\${i[y]}`}return`\\${g}`},Wt.DEFAULT),{pattern:e,captureTransfers:s,hiddenCaptures:n}}const Tp=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,ha=new RegExp(String.raw`
119
119
  \\(?: \d+
120
120
  | c[A-Za-z]
121
121
  | [gk]<[^>]+>
@@ -130,7 +130,7 @@ Please report this to https://github.com/markedjs/marked.`,e){const s="<p>An err
130
130
  ))?
131
131
  | (?<qBase>${Tp})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
132
132
  | \\?.
133
- `.replace(/\s+/g,""),"gsu");function GC(e){if(!new RegExp(`${Tp}\\+`).test(e))return{pattern:e};const t=[];let n=null,s=null,o="",r=0,i;for(fa.lastIndex=0;i=fa.exec(e);){const{0:a,index:l,groups:{qBase:u,qMod:c,invalidQ:d}}=i;if(a==="[")r||(s=l),r++;else if(a==="]")r?r--:s=null;else if(!r)if(c==="+"&&o&&!o.startsWith("(")){if(d)throw new Error(`Invalid quantifier "${a}"`);let f=-1;if(/^\{\d+\}$/.test(u))e=LC(e,l+u.length,c,"");else{if(o===")"||o==="]"){const p=o===")"?n:s;if(p===null)throw new Error(`Invalid unmatched "${o}"`);e=`${e.slice(0,p)}(?>${e.slice(p,l)}${u})${e.slice(l+a.length)}`}else e=`${e.slice(0,l-o.length)}(?>${o}${u})${e.slice(l+a.length)}`;f+=4}fa.lastIndex+=f}else a[0]==="("?t.push(l):a===")"&&(n=t.length?t.pop():null);o=a}return{pattern:e}}const zt=String.raw,BC=zt`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,pl=zt`\(\?R=(?<rDepth>[^\)]+)\)|${BC}`,Gi=zt`\(\?<(?![=!])(?<captureName>[^>]+)>`,Ep=zt`${Gi}|(?<unnamed>\()(?!\?)`,es=new RegExp(zt`${Gi}|${pl}|\(\?|\\?.`,"gsu"),ha="Cannot use multiple overlapping recursions";function FC(e,t){const{hiddenCaptures:n,mode:s}={hiddenCaptures:[],mode:"plugin",...t};let o=(t==null?void 0:t.captureTransfers)??new Map;if(!new RegExp(pl,"su").test(e))return{pattern:e,captureTransfers:o,hiddenCaptures:n};if(s==="plugin"&&fr(e,zt`\(\?\(DEFINE\)`,Wt.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const r=[],i=fr(e,zt`\\[1-9]`,Wt.DEFAULT),a=new Map,l=[];let u=!1,c=0,d=0,f;for(es.lastIndex=0;f=es.exec(e);){const{0:p,groups:{captureName:g,rDepth:y,gRNameOrNum:S,gRDepth:k}}=f;if(p==="[")c++;else if(c)p==="]"&&c--;else if(y){if(fd(y),u)throw new Error(ha);if(i)throw new Error(`${s==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const w=e.slice(0,f.index),b=e.slice(es.lastIndex);if(fr(b,pl,Wt.DEFAULT))throw new Error(ha);const _=+y-1;e=hd(w,b,_,!1,n,r,d),o=gd(o,w,_,r.length,0,d);break}else if(S){fd(k);let w=!1;for(const j of l)if(j.name===S||j.num===+S){if(w=!0,j.hasRecursedWithin)throw new Error(ha);break}if(!w)throw new Error(zt`Recursive \g cannot be used outside the referenced group "${s==="external"?S:zt`\g<${S}&R=${k}>`}"`);const b=a.get(S),_=NC(e,b);if(i&&fr(_,zt`${Gi}|\((?!\?)`,Wt.DEFAULT))throw new Error(`${s==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const B=e.slice(b,f.index),D=_.slice(B.length+p.length),E=r.length,M=+k-1,T=hd(B,D,M,!0,n,r,d);o=gd(o,B,M,r.length-E,E,d);const Z=e.slice(0,b),W=e.slice(b+_.length);e=`${Z}${T}${W}`,es.lastIndex+=T.length-p.length-B.length-D.length,l.forEach(j=>j.hasRecursedWithin=!0),u=!0}else if(g)d++,a.set(String(d),es.lastIndex),a.set(g,es.lastIndex),l.push({num:d,name:g});else if(p[0]==="("){const w=p==="(";w&&(d++,a.set(String(d),es.lastIndex)),l.push(w?{num:d}:{})}else p===")"&&l.pop()}return n.push(...r),{pattern:e,captureTransfers:o,hiddenCaptures:n}}function fd(e){const t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function hd(e,t,n,s,o,r,i){const a=new Set;s&&Ip(e+t,Gi,({groups:{captureName:u}})=>{a.add(u)},Wt.DEFAULT);const l=[n,s?a:null,o,r,i];return`${e}${pd(`(?:${e}`,"forward",...l)}(?:)${pd(`${t})`,"backward",...l)}${t}`}function pd(e,t,n,s,o,r,i){const l=c=>t==="forward"?c+2:n-c+2-1;let u="";for(let c=0;c<n;c++){const d=l(c);u+=mu(e,zt`${Ep}|\\k<(?<backref>[^>]+)>`,({0:f,groups:{captureName:p,unnamed:g,backref:y}})=>{if(y&&s&&!s.has(y))return f;const S=`_$${d}`;if(g||p){const k=i+r.length+1;return r.push(k),UC(o,k),g?f:`(?<${p}${S}>`}return zt`\k<${y}${S}>`},Wt.DEFAULT)}return u}function UC(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function gd(e,t,n,s,o,r){if(e.size&&s){let i=0;Ip(t,Ep,()=>i++,Wt.DEFAULT);const a=r-i+o,l=new Map;return e.forEach((u,c)=>{const d=(s-i*n)/n,f=i*n,p=c>a+i?c+s:c,g=[];for(const y of u)if(y<=a)g.push(y);else if(y>a+i+d)g.push(y+s);else if(y<=a+i)for(let S=0;S<=n;S++)g.push(y+i*S);else for(let S=0;S<=n;S++)g.push(y+f+d*S);l.set(p,g)}),l}return e}var dt=String.fromCodePoint,Le=String.raw,en={},Bi=globalThis.RegExp;en.flagGroups=(()=>{try{new Bi("(?i:)")}catch{return!1}return!0})();en.unicodeSets=(()=>{try{new Bi("[[]]","v")}catch{return!1}return!0})();en.bugFlagVLiteralHyphenIsRange=en.unicodeSets?(()=>{try{new Bi(Le`[\d\-a]`,"v")}catch{return!0}return!1})():!1;en.bugNestedClassIgnoresNegation=en.unicodeSets&&new Bi("[[^a]]","v").test("a");function di(e,{enable:t,disable:n}){return{dotAll:!(n!=null&&n.dotAll)&&!!(t!=null&&t.dotAll||e.dotAll),ignoreCase:!(n!=null&&n.ignoreCase)&&!!(t!=null&&t.ignoreCase||e.ignoreCase)}}function jo(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function gl(e,t){return md[e]>=md[t]}function jC(e,t){if(e==null)throw new Error(t??"Value expected");return e}var md={ES2025:2025,ES2024:2024,ES2018:2018},zC={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function Ap(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!zC[e.target])throw new Error(`Unexpected target "${e.target}"`);const t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=en.flagGroups?"ES2025":en.unicodeSets?"ES2024":"ES2018"),t}var HC="[ -\r ]",WC=new Set([dt(304),dt(305)]),pn=Le`[\p{L}\p{M}\p{N}\p{Pc}]`;function Mp(e){if(WC.has(e))return[e];const t=new Set,n=e.toLowerCase(),s=n.toUpperCase(),o=KC.get(n),r=qC.get(n),i=VC.get(n);return[...s].length===1&&t.add(s),i&&t.add(i),o&&t.add(o),t.add(n),r&&t.add(r),[...t]}var vu=new Map(`C Other
133
+ `.replace(/\s+/g,""),"gsu");function BC(e){if(!new RegExp(`${Tp}\\+`).test(e))return{pattern:e};const t=[];let n=null,s=null,o="",r=0,i;for(ha.lastIndex=0;i=ha.exec(e);){const{0:a,index:l,groups:{qBase:u,qMod:c,invalidQ:d}}=i;if(a==="[")r||(s=l),r++;else if(a==="]")r?r--:s=null;else if(!r)if(c==="+"&&o&&!o.startsWith("(")){if(d)throw new Error(`Invalid quantifier "${a}"`);let f=-1;if(/^\{\d+\}$/.test(u))e=DC(e,l+u.length,c,"");else{if(o===")"||o==="]"){const p=o===")"?n:s;if(p===null)throw new Error(`Invalid unmatched "${o}"`);e=`${e.slice(0,p)}(?>${e.slice(p,l)}${u})${e.slice(l+a.length)}`}else e=`${e.slice(0,l-o.length)}(?>${o}${u})${e.slice(l+a.length)}`;f+=4}ha.lastIndex+=f}else a[0]==="("?t.push(l):a===")"&&(n=t.length?t.pop():null);o=a}return{pattern:e}}const zt=String.raw,FC=zt`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,pl=zt`\(\?R=(?<rDepth>[^\)]+)\)|${FC}`,Bi=zt`\(\?<(?![=!])(?<captureName>[^>]+)>`,Ep=zt`${Bi}|(?<unnamed>\()(?!\?)`,es=new RegExp(zt`${Bi}|${pl}|\(\?|\\?.`,"gsu"),pa="Cannot use multiple overlapping recursions";function UC(e,t){const{hiddenCaptures:n,mode:s}={hiddenCaptures:[],mode:"plugin",...t};let o=(t==null?void 0:t.captureTransfers)??new Map;if(!new RegExp(pl,"su").test(e))return{pattern:e,captureTransfers:o,hiddenCaptures:n};if(s==="plugin"&&hr(e,zt`\(\?\(DEFINE\)`,Wt.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const r=[],i=hr(e,zt`\\[1-9]`,Wt.DEFAULT),a=new Map,l=[];let u=!1,c=0,d=0,f;for(es.lastIndex=0;f=es.exec(e);){const{0:p,groups:{captureName:g,rDepth:y,gRNameOrNum:S,gRDepth:k}}=f;if(p==="[")c++;else if(c)p==="]"&&c--;else if(y){if(fd(y),u)throw new Error(pa);if(i)throw new Error(`${s==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const w=e.slice(0,f.index),b=e.slice(es.lastIndex);if(hr(b,pl,Wt.DEFAULT))throw new Error(pa);const _=+y-1;e=hd(w,b,_,!1,n,r,d),o=gd(o,w,_,r.length,0,d);break}else if(S){fd(k);let w=!1;for(const j of l)if(j.name===S||j.num===+S){if(w=!0,j.hasRecursedWithin)throw new Error(pa);break}if(!w)throw new Error(zt`Recursive \g cannot be used outside the referenced group "${s==="external"?S:zt`\g<${S}&R=${k}>`}"`);const b=a.get(S),_=OC(e,b);if(i&&hr(_,zt`${Bi}|\((?!\?)`,Wt.DEFAULT))throw new Error(`${s==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const B=e.slice(b,f.index),D=_.slice(B.length+p.length),E=r.length,A=+k-1,T=hd(B,D,A,!0,n,r,d);o=gd(o,B,A,r.length-E,E,d);const Z=e.slice(0,b),W=e.slice(b+_.length);e=`${Z}${T}${W}`,es.lastIndex+=T.length-p.length-B.length-D.length,l.forEach(j=>j.hasRecursedWithin=!0),u=!0}else if(g)d++,a.set(String(d),es.lastIndex),a.set(g,es.lastIndex),l.push({num:d,name:g});else if(p[0]==="("){const w=p==="(";w&&(d++,a.set(String(d),es.lastIndex)),l.push(w?{num:d}:{})}else p===")"&&l.pop()}return n.push(...r),{pattern:e,captureTransfers:o,hiddenCaptures:n}}function fd(e){const t=`Max depth must be integer between 2 and 100; used ${e}`;if(!/^[1-9]\d*$/.test(e))throw new Error(t);if(e=+e,e<2||e>100)throw new Error(t)}function hd(e,t,n,s,o,r,i){const a=new Set;s&&Ip(e+t,Bi,({groups:{captureName:u}})=>{a.add(u)},Wt.DEFAULT);const l=[n,s?a:null,o,r,i];return`${e}${pd(`(?:${e}`,"forward",...l)}(?:)${pd(`${t})`,"backward",...l)}${t}`}function pd(e,t,n,s,o,r,i){const l=c=>t==="forward"?c+2:n-c+2-1;let u="";for(let c=0;c<n;c++){const d=l(c);u+=mu(e,zt`${Ep}|\\k<(?<backref>[^>]+)>`,({0:f,groups:{captureName:p,unnamed:g,backref:y}})=>{if(y&&s&&!s.has(y))return f;const S=`_$${d}`;if(g||p){const k=i+r.length+1;return r.push(k),jC(o,k),g?f:`(?<${p}${S}>`}return zt`\k<${y}${S}>`},Wt.DEFAULT)}return u}function jC(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function gd(e,t,n,s,o,r){if(e.size&&s){let i=0;Ip(t,Ep,()=>i++,Wt.DEFAULT);const a=r-i+o,l=new Map;return e.forEach((u,c)=>{const d=(s-i*n)/n,f=i*n,p=c>a+i?c+s:c,g=[];for(const y of u)if(y<=a)g.push(y);else if(y>a+i+d)g.push(y+s);else if(y<=a+i)for(let S=0;S<=n;S++)g.push(y+i*S);else for(let S=0;S<=n;S++)g.push(y+f+d*S);l.set(p,g)}),l}return e}var dt=String.fromCodePoint,Le=String.raw,en={},Fi=globalThis.RegExp;en.flagGroups=(()=>{try{new Fi("(?i:)")}catch{return!1}return!0})();en.unicodeSets=(()=>{try{new Fi("[[]]","v")}catch{return!1}return!0})();en.bugFlagVLiteralHyphenIsRange=en.unicodeSets?(()=>{try{new Fi(Le`[\d\-a]`,"v")}catch{return!0}return!1})():!1;en.bugNestedClassIgnoresNegation=en.unicodeSets&&new Fi("[[^a]]","v").test("a");function fi(e,{enable:t,disable:n}){return{dotAll:!(n!=null&&n.dotAll)&&!!(t!=null&&t.dotAll||e.dotAll),ignoreCase:!(n!=null&&n.ignoreCase)&&!!(t!=null&&t.ignoreCase||e.ignoreCase)}}function zo(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function gl(e,t){return md[e]>=md[t]}function zC(e,t){if(e==null)throw new Error(t??"Value expected");return e}var md={ES2025:2025,ES2024:2024,ES2018:2018},HC={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function Ap(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!HC[e.target])throw new Error(`Unexpected target "${e.target}"`);const t={accuracy:"default",avoidSubclass:!1,flags:"",global:!1,hasIndices:!1,lazyCompileLength:1/0,target:"auto",verbose:!1,...e,rules:{allowOrphanBackrefs:!1,asciiWordBoundaries:!1,captureGroup:!1,recursionLimit:20,singleline:!1,...e.rules}};return t.target==="auto"&&(t.target=en.flagGroups?"ES2025":en.unicodeSets?"ES2024":"ES2018"),t}var WC="[ -\r ]",qC=new Set([dt(304),dt(305)]),pn=Le`[\p{L}\p{M}\p{N}\p{Pc}]`;function Mp(e){if(qC.has(e))return[e];const t=new Set,n=e.toLowerCase(),s=n.toUpperCase(),o=ZC.get(n),r=VC.get(n),i=KC.get(n);return[...s].length===1&&t.add(s),i&&t.add(i),o&&t.add(o),t.add(n),r&&t.add(r),[...t]}var vu=new Map(`C Other
134
134
  Cc Control cntrl
135
135
  Cf Format
136
136
  Cn Unassigned
@@ -220,21 +220,21 @@ Uppercase Upper
220
220
  Variation_Selector VS
221
221
  White_Space space
222
222
  XID_Continue XIDC
223
- XID_Start XIDS`.split(/\s/).map(e=>[Oi(e),e])),qC=new Map([["s",dt(383)],[dt(383),"s"]]),VC=new Map([[dt(223),dt(7838)],[dt(107),dt(8490)],[dt(229),dt(8491)],[dt(969),dt(8486)]]),KC=new Map([On(453),On(456),On(459),On(498),...pa(8072,8079),...pa(8088,8095),...pa(8104,8111),On(8124),On(8140),On(8188)]),ZC=new Map([["alnum",Le`[\p{Alpha}\p{Nd}]`],["alpha",Le`\p{Alpha}`],["ascii",Le`\p{ASCII}`],["blank",Le`[\p{Zs}\t]`],["cntrl",Le`\p{Cc}`],["digit",Le`\p{Nd}`],["graph",Le`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",Le`\p{Lower}`],["print",Le`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",Le`[\p{P}\p{S}]`],["space",Le`\p{space}`],["upper",Le`\p{Upper}`],["word",Le`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",Le`\p{AHex}`]]);function YC(e,t){const n=[];for(let s=e;s<=t;s++)n.push(s);return n}function On(e){const t=dt(e);return[t.toLowerCase(),t]}function pa(e,t){return YC(e,t).map(n=>On(n))}var Rp=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function XC(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};Pp(e);const s={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:gl(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};Eo(e,JC,s);const o={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:o,prevFlags:null,globalFlags:o,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:s.subroutineRefMap};Eo(e,QC,r);const i={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return Eo(e,ex,i),e._originMap=r.groupOriginByCopy,e._strategy=s.strategy,e}var JC={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:s,kind:o}=e;if(o==="repeater"){const r=Xt();r.body[0].body.push(as({negate:!0,body:s}),Rs("Any"));const i=Xt();i.body[0].body.push($p("greedy",0,1/0,r)),n(at(i,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:s}){const o=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r<t.body.length;r++){const i=t.body[r];jo(s,i,[]).push(...o)}},exit({node:e},{flagDirectivesByAlt:t}){var n;if((n=t.get(e))!=null&&n.length){const s=Dp(t.get(e));if(s){const o=Xt({flags:s});o.body[0].body=e.body,e.body=[at(o,e)]}}}},Assertion({node:e,parent:t,key:n,container:s,root:o,remove:r,replaceWith:i},a){const{kind:l,negate:u}=e,{asciiWordBoundaries:c,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=a;if(l==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${u?"Y":"y"}"`);if(l==="line_end")i(at(as({body:[ys({body:[dl("string_end")]}),ys({body:[Ni(10)]})]}),t));else if(l==="line_start")i(at(gn(Le`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(l==="search_start")if(f.has(e))o.flags.sticky=!0,r();else{const g=s[n-1];if(g&&ix(g))i(at(as({negate:!0}),t));else{if(d)throw new Error(Le`Uses "\G" in a way that requires a subclass`);i(Gn(dl("string_start"),t)),a.strategy="clip_search"}}else if(!(l==="string_end"||l==="string_start"))if(l==="string_end_newline")i(at(gn(Le`(?=\n?\z)`),t));else if(l==="word_boundary"){if(!p&&!c){const g=`(?:(?<=${pn})(?!${pn})|(?<!${pn})(?=${pn}))`,y=`(?:(?<=${pn})(?=${pn})|(?<!${pn})(?!${pn}))`;i(at(gn(u?y:g),t))}}else throw new Error(`Unexpected assertion kind "${l}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!ma(n)&&(n=ga(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:s}=e;s&&!ma(s)&&(s=ga(s,t),e.name=s),n.set(e.number,e),s&&n.set(s,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){if(t.kind==="intersection"){const s=Tr({body:[e]});n(at(s,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:s,minTargetEs2024:o,digitIsAscii:r,spaceIsAscii:i,wordIsAscii:a}){const{kind:l,negate:u,value:c}=e;if(r&&(l==="digit"||c==="digit")){n(Gn(hl("digit",{negate:u}),t));return}if(i&&(l==="space"||c==="space")){n(at(va(gn(HC),u),t));return}if(a&&(l==="word"||c==="word")){n(Gn(hl("word",{negate:u}),t));return}if(l==="any")n(Gn(Rs("Any"),t));else if(l==="digit")n(Gn(Rs("Nd",{negate:u}),t));else if(l!=="dot")if(l==="text_segment"){if(s==="strict")throw new Error(Le`Use of "\X" requires non-strict accuracy`);const d="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=Le`\p{RI}{2}|${d}(?:\u200D${d})*`;n(at(gn(Le`(?>\r\n|${o?Le`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(l==="hex")n(Gn(Rs("AHex",{negate:u}),t));else if(l==="newline")n(at(gn(u?`[^
223
+ XID_Start XIDS`.split(/\s/).map(e=>[Gi(e),e])),VC=new Map([["s",dt(383)],[dt(383),"s"]]),KC=new Map([[dt(223),dt(7838)],[dt(107),dt(8490)],[dt(229),dt(8491)],[dt(969),dt(8486)]]),ZC=new Map([On(453),On(456),On(459),On(498),...ga(8072,8079),...ga(8088,8095),...ga(8104,8111),On(8124),On(8140),On(8188)]),YC=new Map([["alnum",Le`[\p{Alpha}\p{Nd}]`],["alpha",Le`\p{Alpha}`],["ascii",Le`\p{ASCII}`],["blank",Le`[\p{Zs}\t]`],["cntrl",Le`\p{Cc}`],["digit",Le`\p{Nd}`],["graph",Le`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",Le`\p{Lower}`],["print",Le`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",Le`[\p{P}\p{S}]`],["space",Le`\p{space}`],["upper",Le`\p{Upper}`],["word",Le`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",Le`\p{AHex}`]]);function XC(e,t){const n=[];for(let s=e;s<=t;s++)n.push(s);return n}function On(e){const t=dt(e);return[t.toLowerCase(),t]}function ga(e,t){return XC(e,t).map(n=>On(n))}var Rp=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function JC(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};Pp(e);const s={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:gl(n.bestEffortTarget,"ES2024"),passedLookbehind:!1,strategy:null,subroutineRefMap:new Map,supportedGNodes:new Set,digitIsAscii:e.flags.digitIsAscii,spaceIsAscii:e.flags.spaceIsAscii,wordIsAscii:e.flags.wordIsAscii};Ao(e,QC,s);const o={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},r={currentFlags:o,prevFlags:null,globalFlags:o,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:s.subroutineRefMap};Ao(e,ex,r);const i={groupsByName:r.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:r.reffedNodesByReferencer};return Ao(e,tx,i),e._originMap=r.groupOriginByCopy,e._strategy=s.strategy,e}var QC={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:s,kind:o}=e;if(o==="repeater"){const r=Xt();r.body[0].body.push(ls({negate:!0,body:s}),Ps("Any"));const i=Xt();i.body[0].body.push($p("greedy",0,1/0,r)),n(at(i,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:s}){const o=e.body.filter(r=>r.kind==="flags");for(let r=n+1;r<t.body.length;r++){const i=t.body[r];zo(s,i,[]).push(...o)}},exit({node:e},{flagDirectivesByAlt:t}){var n;if((n=t.get(e))!=null&&n.length){const s=Dp(t.get(e));if(s){const o=Xt({flags:s});o.body[0].body=e.body,e.body=[at(o,e)]}}}},Assertion({node:e,parent:t,key:n,container:s,root:o,remove:r,replaceWith:i},a){const{kind:l,negate:u}=e,{asciiWordBoundaries:c,avoidSubclass:d,supportedGNodes:f,wordIsAscii:p}=a;if(l==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${u?"Y":"y"}"`);if(l==="line_end")i(at(ls({body:[bs({body:[dl("string_end")]}),bs({body:[Oi(10)]})]}),t));else if(l==="line_start")i(at(gn(Le`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(l==="search_start")if(f.has(e))o.flags.sticky=!0,r();else{const g=s[n-1];if(g&&ax(g))i(at(ls({negate:!0}),t));else{if(d)throw new Error(Le`Uses "\G" in a way that requires a subclass`);i(Gn(dl("string_start"),t)),a.strategy="clip_search"}}else if(!(l==="string_end"||l==="string_start"))if(l==="string_end_newline")i(at(gn(Le`(?=\n?\z)`),t));else if(l==="word_boundary"){if(!p&&!c){const g=`(?:(?<=${pn})(?!${pn})|(?<!${pn})(?=${pn}))`,y=`(?:(?<=${pn})(?=${pn})|(?<!${pn})(?!${pn}))`;i(at(gn(u?y:g),t))}}else throw new Error(`Unexpected assertion kind "${l}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!va(n)&&(n=ma(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:s}=e;s&&!va(s)&&(s=ma(s,t),e.name=s),n.set(e.number,e),s&&n.set(s,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){if(t.kind==="intersection"){const s=Er({body:[e]});n(at(s,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:s,minTargetEs2024:o,digitIsAscii:r,spaceIsAscii:i,wordIsAscii:a}){const{kind:l,negate:u,value:c}=e;if(r&&(l==="digit"||c==="digit")){n(Gn(hl("digit",{negate:u}),t));return}if(i&&(l==="space"||c==="space")){n(at(ya(gn(WC),u),t));return}if(a&&(l==="word"||c==="word")){n(Gn(hl("word",{negate:u}),t));return}if(l==="any")n(Gn(Ps("Any"),t));else if(l==="digit")n(Gn(Ps("Nd",{negate:u}),t));else if(l!=="dot")if(l==="text_segment"){if(s==="strict")throw new Error(Le`Use of "\X" requires non-strict accuracy`);const d="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",f=Le`\p{RI}{2}|${d}(?:\u200D${d})*`;n(at(gn(Le`(?>\r\n|${o?Le`\p{RGI_Emoji}`:f}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(l==="hex")n(Gn(Ps("AHex",{negate:u}),t));else if(l==="newline")n(at(gn(u?`[^
224
224
  ]`:`(?>\r
225
225
  ?|[
226
- \v\f…\u2028\u2029])`),t));else if(l==="posix")if(!o&&(c==="graph"||c==="print")){if(s==="strict")throw new Error(`POSIX class "${c}" requires min target ES2024 or non-strict accuracy`);let d={graph:"!-~",print:" -~"}[c];u&&(d=`\0-${dt(d.codePointAt(0)-1)}${dt(d.codePointAt(2)+1)}-􏿿`),n(at(gn(`[${d}]`),t))}else n(at(va(gn(ZC.get(c)),u),t));else if(l==="property")vu.has(Oi(c))||(e.key="sc");else if(l==="space")n(Gn(Rs("space",{negate:u}),t));else if(l==="word")n(at(va(gn(pn),u),t));else throw new Error(`Unexpected character set kind "${l}"`)},Directive({node:e,parent:t,root:n,remove:s,replaceWith:o,removeAllPrevSiblings:r,removeAllNextSiblings:i}){const{kind:a,flags:l}=e;if(a==="flags")if(!l.enable&&!l.disable)s();else{const u=Xt({flags:l});u.body[0].body=i(),o(at(u,t),{traverse:!0})}else if(a==="keep"){const u=n.body[0],d=n.body.length===1&&wp(u,{type:"Group"})&&u.body[0].body.length===1?u.body[0]:n;if(t.parent!==d||d.body.length>1)throw new Error(Le`Uses "\K" in a way that's unsupported`);const f=as({behind:!0});f.body[0].body=r(),o(at(f,t))}else throw new Error(`Unexpected directive kind "${a}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t!=null&&t.extended&&delete t.extended,n!=null&&n.extended&&delete n.extended,t!=null&&t.dotAll&&(n!=null&&n.dotAll)&&delete t.dotAll,t!=null&&t.ignoreCase&&(n!=null&&n.ignoreCase)&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:s}=e;if(s==="fail")n(at(as({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${s.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Xt();t.body[0].body.push(e.body),e.body=at(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let s=!1,o=!1;for(const r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{const i=Op(r.body);i?(s=!0,Array.isArray(i)?n.push(...i):n.push(i)):o=!0}s&&!o&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:s}){if(t==="strict"&&n&&s)throw new Error(Le`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!ma(n)&&(n=ga(n,t),e.ref=n)}},QC={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:s,ref:o}=e;s||n.set(e,[...t.get(o).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:s},{groupOriginByCopy:o,groupsByName:r,multiplexCapturesToLeftByRef:i,openRefs:a,reffedNodesByReferencer:l}){const u=o.get(e);if(u&&a.has(e.number)){const d=Gn(vd(e.number),t);l.set(d,a.get(e.number)),n(d);return}a.set(e.number,e),i.set(e.number,[]),e.name&&jo(i,e.name,[]);const c=i.get(e.name??e.number);for(let d=0;d<c.length;d++){const f=c[d];if(u===f.node||u&&u===f.origin||e===f.origin){c.splice(d,1);break}}if(i.get(e.number).push({node:e,origin:u}),e.name&&i.get(e.name).push({node:e,origin:u}),e.name){const d=jo(r,e.name,new Map);let f=!1;if(u)f=!0;else for(const p of d.values())if(!p.hasDuplicateNameToRemove){f=!0;break}r.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=di(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},s){const{isRecursive:o,ref:r}=e;if(o){let c=t;for(;(c=c.parent)&&!(c.type==="CapturingGroup"&&(c.name===r||c.number===r)););s.reffedNodesByReferencer.set(e,c);return}const i=s.subroutineRefMap.get(r),a=r===0,l=a?vd(0):Lp(i,s.groupOriginByCopy,null);let u=l;if(!a){const c=Dp(sx(i,f=>f.type==="Group"&&!!f.flags)),d=c?di(s.globalFlags,c):s.globalFlags;tx(d,s.currentFlags)||(u=Xt({flags:ox(d)}),u.body[0].body.push(l))}n(at(u,t),{traverse:!a})}},ex={Backreference({node:e,parent:t,replaceWith:n},s){if(e.orphan){s.highestOrphanBackref=Math.max(s.highestOrphanBackref,e.ref);return}const r=s.reffedNodesByReferencer.get(e).filter(i=>nx(i,e));if(!r.length)n(at(as({negate:!0}),t));else if(r.length>1){const i=Xt({atomic:!0,body:r.reverse().map(a=>ys({body:[fl(a.number)]}))});n(at(i,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let s=0;s<n;s++){const o=_p();e.body.at(-1).body.push(o)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function Pp(e){Eo(e,{"*"({node:t,parent:n}){t.parent=n}})}function tx(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function nx(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const s=Np(n.parent);for(const o of s){if(o===n)break;if(o===e||Gp(o,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function Lp(e,t,n,s){const o=Array.isArray(e)?[]:{};for(const[r,i]of Object.entries(e))r==="parent"?o.parent=Array.isArray(n)?s:n:i&&typeof i=="object"?o[r]=Lp(i,t,o,n):(r==="type"&&i==="CapturingGroup"&&t.set(o,t.get(e)??e),o[r]=i);return o}function vd(e){const t=Cp(e);return t.isRecursive=!0,t}function sx(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function ga(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function Dp(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:s})=>{t.forEach(o=>{var r,i;(r=s.enable)!=null&&r[o]&&(delete n.disable[o],n.enable[o]=!0),(i=s.disable)!=null&&i[o]&&(n.disable[o]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function ox({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function Np(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Op(e){const t=e.find(n=>n.kind==="search_start"||ax(n,{negate:!1})||!rx(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const s of t.body){const o=Op(s.body);if(!o)return null;Array.isArray(o)?n.push(...o):n.push(o)}return n}return null}function Gp(e,t){const n=Np(e)??[];for(const s of n)if(s===t||Gp(s,t))return!0;return!1}function rx({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function ix(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function ax(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&wp(e.body[0],{type:"Assertion",kind:"search_start"})}function ma(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function gn(e,t){const s=Sp(e,{...t,unicodePropertyMap:vu}).body;return s.length>1||s[0].body.length>1?Xt({body:s}):s[0].body[0]}function va(e,t){return e.negate=t,e}function Gn(e,t){return e.parent=t,e}function at(e,t){return Pp(e),e.parent=t,e}function lx(e,t){const n=Ap(t),s=gl(n.target,"ES2024"),o=gl(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let i=null,a=null;if(!o){const p=[e.flags.ignoreCase];Eo(e,ux,{getCurrentModI:()=>p.at(-1),popModI(){p.pop()},pushModI(g){p.push(g)},setHasCasedChar(){p.at(-1)?i=!0:a=!0}})}const l={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||i)&&!a)};let u=e;const c={accuracy:n.accuracy,appliedGlobalFlags:l,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:u,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!o&&i&&a),useFlagMods:o,useFlagV:s,verbose:n.verbose};function d(p){return c.lastNode=u,u=p,jC(cx[p.type],`Unexpected node type "${p.type}"`)(p,c,d)}const f={pattern:e.body.map(d).join("|"),flags:d(e.flags),options:{...e.options}};return s||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],c.captureMap.forEach((p,g)=>{p.hidden&&f._hiddenCaptures.push(g),p.transferTo&&jo(f._captureTransfers,p.transferTo,[]).push(g)}),f}var ux={"*":{enter({node:e},t){if(bd(e)){const n=t.getCurrentModI();t.pushModI(e.flags?di({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){bd(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){yu(dt(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Bp(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&Rp.has(e.value)&&t.setHasCasedChar()}},cx={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?Le`\B`:Le`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:s,name:o,number:r}=e,i={ignoreCase:t.currentFlags.ignoreCase},a=t.originMap.get(e);return a&&(i.hidden=!0,r>a.number&&(i.transferTo=a.number)),t.captureMap.set(r,i),`(${o?`?<${o}>`:""}${s.map(n).join("|")})`},Character({value:e},t){const n=dt(e),s=Ts(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(s!==n)return s;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&yu(n)){const o=Mp(n);return t.inCharClass?o.join(""):o.length>1?`[${o.join("")}]`:o[0]}return n},CharacterClass(e,t,n){const{kind:s,negate:o,parent:r}=e;let{body:i}=e;if(s==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");en.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&i.some(kd)&&(i=[Ni(45),...i.filter(u=>!kd(u))]);const a=()=>`[${o?"^":""}${i.map(n).join(s==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||en.bugNestedClassIgnoresNegation)&&!o){const c=i.filter(d=>d.type==="CharacterClass"&&d.kind==="union"&&d.negate);if(c.length){const d=Xt(),f=d.body[0];return d.parent=r,f.parent=d,i=i.filter(p=>!c.includes(p)),e.body=i,i.length?(e.parent=f,f.body.push(e)):d.body.pop(),c.forEach(p=>{const g=ys({body:[p]});p.parent=g,g.parent=d,d.body.push(g)}),n(d)}}t.inCharClass=!0;const u=a();return t.inCharClass=!1,u}const l=i[0];if(s==="union"&&!o&&l&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(en.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&i.length===1&&l.type!=="CharacterClassRange"))return i.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return a()},CharacterClassRange(e,t){const n=e.min.value,s=e.max.value,o={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=Ts(n,o),i=Ts(s,o),a=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const l=Bp(e);gx(l).forEach(c=>{a.add(Array.isArray(c)?`${Ts(c[0],o)}-${Ts(c[1],o)}`:Ts(c,o))})}return`${r}-${i}${[...a].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:s},o){if(e==="dot")return o.currentFlags.dotAll?o.appliedGlobalFlags.dotAll||o.useFlagMods?".":"[^]":Le`[^\n]`;if(e==="digit")return t?Le`\D`:Le`\d`;if(e==="property"){if(o.useAppliedIgnoreCase&&o.currentFlags.ignoreCase&&Rp.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?Le`\P`:Le`\p`}{${s?`${s}=`:""}${n}}`}if(e==="word")return t?Le`\W`:Le`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:s},o,r){const i=o.currentFlags;n&&(o.currentFlags=di(i,n));const a=t.map(r).join("|"),l=!o.verbose&&t.length===1&&s.type!=="Quantifier"&&!e&&(!o.useFlagMods||!n)?a:`(?${mx(e,n,o.useFlagMods)}${a})`;return o.currentFlags=i,l},LookaroundAssertion({body:e,kind:t,negate:n},s,o){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(o).join("|")})`},Quantifier(e,t,n){return n(e.body)+vx(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const s=n.recursionLimit;return t===0?`(?R=${s})`:Le`\g<${t}&R=${s}>`}},dx=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),fx=new Set(["-","\\","]","^","["]),hx=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),yd=new Map([[9,Le`\t`],[10,Le`\n`],[11,Le`\v`],[12,Le`\f`],[13,Le`\r`],[8232,Le`\u2028`],[8233,Le`\u2029`],[65279,Le`\uFEFF`]]),px=new RegExp("^\\p{Cased}$","u");function yu(e){return px.test(e)}function Bp(e,t){const n=!!(t!=null&&t.firstOnly),s=e.min.value,o=e.max.value,r=[];if(s<65&&(o===65535||o>=131071)||s===65536&&o>=131071)return r;for(let i=s;i<=o;i++){const a=dt(i);if(!yu(a))continue;const l=Mp(a).filter(u=>{const c=u.codePointAt(0);return c<s||c>o});if(l.length&&(r.push(...l),n))break}return r}function Ts(e,{escDigit:t,inCharClass:n,useFlagV:s}){if(yd.has(e))return yd.get(e);if(e<32||e>126&&e<160||e>262143||t&&yx(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const o=n?s?hx:fx:dx,r=dt(e);return(o.has(r)?"\\":"")+r}function gx(e){const t=e.map(o=>o.codePointAt(0)).sort((o,r)=>o-r),n=[];let s=null;for(let o=0;o<t.length;o++)t[o+1]===t[o]+1?s??(s=t[o]):s===null?n.push(t[o]):(n.push([s,t[o]]),s=null);return n}function mx(e,t,n){if(e)return">";let s="";if(t&&n){const{enable:o,disable:r}=t;s=(o!=null&&o.ignoreCase?"i":"")+(o!=null&&o.dotAll?"s":"")+(r?"-":"")+(r!=null&&r.ignoreCase?"i":"")+(r!=null&&r.dotAll?"s":"")}return`${s}:`}function vx({kind:e,max:t,min:n}){let s;return!n&&t===1?s="?":!n&&t===1/0?s="*":n===1&&t===1/0?s="+":n===t?s=`{${n}}`:s=`{${n},${t===1/0?"":t}}`,s+{greedy:"",lazy:"?",possessive:"+"}[e]}function bd({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function yx(e){return e>47&&e<58}function kd({type:e,value:t}){return e==="Character"&&t===45}var Fn,bn,cs,Un,ds,zo,ml,Hn,bx=(Hn=class extends RegExp{constructor(n,s,o){var t=(...m3)=>(super(...m3),Yn(this,zo),Yn(this,Fn,new Map),Yn(this,bn,null),Yn(this,cs),Yn(this,Un,null),Yn(this,ds,null),Y(this,"rawOptions",{}),this);const r=!!(o!=null&&o.lazyCompile);if(n instanceof RegExp){if(o)throw new Error("Cannot provide options when copying a regexp");const i=n;t(i,s),Kt(this,cs,i.source),i instanceof Hn&&(Kt(this,Fn,Tt(i,Fn)),Kt(this,Un,Tt(i,Un)),Kt(this,ds,Tt(i,ds)),this.rawOptions=i.rawOptions)}else{const i={hiddenCaptures:[],strategy:null,transfers:[],...o};t(r?"":n,s),Kt(this,cs,n),Kt(this,Fn,wx(i.hiddenCaptures,i.transfers)),Kt(this,ds,i.strategy),this.rawOptions=o??{}}r||Kt(this,bn,this)}get source(){return Tt(this,cs)||"(?:)"}exec(n){if(!Tt(this,bn)){const{lazyCompile:r,...i}=this.rawOptions;Kt(this,bn,new Hn(Tt(this,cs),this.flags,i))}const s=this.global||this.sticky,o=this.lastIndex;if(Tt(this,ds)==="clip_search"&&s&&o){this.lastIndex=0;const r=Hi(this,zo,ml).call(this,n.slice(o));return r&&(kx(r,o,n,this.hasIndices),this.lastIndex+=o),r}return Hi(this,zo,ml).call(this,n)}},Fn=new WeakMap,bn=new WeakMap,cs=new WeakMap,Un=new WeakMap,ds=new WeakMap,zo=new WeakSet,ml=function(n){Tt(this,bn).lastIndex=this.lastIndex;const s=_u(Hn.prototype,this,"exec").call(Tt(this,bn),n);if(this.lastIndex=Tt(this,bn).lastIndex,!s||!Tt(this,Fn).size)return s;const o=[...s];s.length=1;let r;this.hasIndices&&(r=[...s.indices],s.indices.length=1);const i=[0];for(let a=1;a<o.length;a++){const{hidden:l,transferTo:u}=Tt(this,Fn).get(a)??{};if(l?i.push(null):(i.push(s.length),s.push(o[a]),this.hasIndices&&s.indices.push(r[a])),u&&o[a]!==void 0){const c=i[u];if(!c)throw new Error(`Invalid capture transfer to "${c}"`);if(s[c]=o[a],this.hasIndices&&(s.indices[c]=r[a]),s.groups){Tt(this,Un)||Kt(this,Un,Sx(this.source));const d=Tt(this,Un).get(u);d&&(s.groups[d]=o[a],this.hasIndices&&(s.indices.groups[d]=r[a]))}}}return s},Hn);function kx(e,t,n,s){if(e.index+=t,e.input=n,s){const o=e.indices;for(let i=0;i<o.length;i++){const a=o[i];a&&(o[i]=[a[0]+t,a[1]+t])}const r=o.groups;r&&Object.keys(r).forEach(i=>{const a=r[i];a&&(r[i]=[a[0]+t,a[1]+t])})}}function wx(e,t){const n=new Map;for(const s of e)n.set(s,{hidden:!0});for(const[s,o]of t)for(const r of o)jo(n,r,{}).transferTo=s;return n}function Sx(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let s=0,o=0,r;for(;r=t.exec(e);){const{0:i,groups:{capture:a,name:l}}=r;i==="["?s++:s?i==="]"&&s--:a&&(o++,l&&n.set(o,l))}return n}function _x(e,t){const n=$x(e,t);return n.options?new bx(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function $x(e,t){const n=Ap(t),s=Sp(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:vu}),o=XC(s,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=lx(o,n),i=FC(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),a=GC(i.pattern),l=OC(a.pattern,{captureTransfers:i.captureTransfers,hiddenCaptures:i.hiddenCaptures}),u={pattern:l.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${r.flags}${r.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const c=l.hiddenCaptures.sort((g,y)=>g-y),d=Array.from(l.captureTransfers),f=o._strategy,p=u.pattern.length>=n.lazyCompileLength;(c.length||d.length||f||p)&&(u.options={...c.length&&{hiddenCaptures:c},...d.length&&{transfers:d},...f&&{strategy:f},...p&&{lazyCompile:p}})}return u}const wd=4294967295;class Cx{constructor(t,n={}){Y(this,"regexps");this.patterns=t,this.options=n;const{forgiving:s=!1,cache:o,regexConstructor:r}=n;if(!r)throw new Error("Option `regexConstructor` is not provided");this.regexps=t.map(i=>{if(typeof i!="string")return i;const a=o==null?void 0:o.get(i);if(a){if(a instanceof RegExp)return a;if(s)return null;throw a}try{const l=r(i);return o==null||o.set(i,l),l}catch(l){if(o==null||o.set(i,l),s)return null;throw l}})}findNextMatchSync(t,n,s){const o=typeof t=="string"?t:t.content,r=[];function i(a,l,u=0){return{index:a,captureIndices:l.indices.map(c=>c==null?{start:wd,end:wd,length:0}:{start:c[0]+u,end:c[1]+u,length:c[1]-c[0]})}}for(let a=0;a<this.regexps.length;a++){const l=this.regexps[a];if(l)try{l.lastIndex=n;const u=l.exec(o);if(!u)continue;if(u.index===n)return i(a,u,0);r.push([a,u,0])}catch(u){if(this.options.forgiving)continue;throw u}}if(r.length){const a=Math.min(...r.map(l=>l[1].index));for(const[l,u,c]of r)if(u.index===a)return i(l,u,c)}return null}}function xx(e,t){return _x(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Ix(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||(t.regexConstructor=n=>xx(n,{target:t.target})),{createScanner(n){return new Cx(n,t)},createString(n){return{content:n}}}}const Tx=["typescript","tsx","javascript","jsx","json","bash","python","yaml"];let Ds=null;const Ns=new Set,ya=new Set,hr=new Map,Ex={js:"javascript",ts:"typescript",py:"python",sh:"bash",shell:"bash",shscript:"bash","shell-script":"bash",yml:"yaml",md:"markdown",rs:"rust",rb:"ruby",go:"go",java:"java",c:"c",cpp:"cpp","c++":"cpp",cs:"csharp","c#":"csharp",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",dart:"dart",lua:"lua",r:"r",sql:"sql",toml:"toml",ini:"ini",xml:"xml",svelte:"svelte",astro:"astro",dockerfile:"docker",makefile:"make",graphql:"graphql",proto:"protobuf",pl:"perl",pm:"perl"};function Sd(e){const t=e.toLowerCase();return Ex[t]??t}async function bu(){if(Ds)return Ds;const[e,t]=await Promise.all([Be(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url),Be(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url)]);return Ds=await U$({themes:[e.default,t.default],langs:[],engine:Ix()}),Ds}const Ax={typescript:()=>Be(()=>import("./typescript-BPQ3VLAy.js"),[],import.meta.url),tsx:()=>Be(()=>import("./tsx-COt5Ahok.js"),[],import.meta.url),javascript:()=>Be(()=>import("./javascript-wDzz0qaB.js"),[],import.meta.url),jsx:()=>Be(()=>import("./jsx-g9-lgVsj.js"),[],import.meta.url),json:()=>Be(()=>import("./json-Cp-IABpG.js"),[],import.meta.url),bash:()=>Be(()=>import("./bash-Yzrsuije.js"),[],import.meta.url),python:()=>Be(()=>import("./python-B6aJPvgy.js"),[],import.meta.url),yaml:()=>Be(()=>import("./yaml-Buea-lGh.js"),[],import.meta.url),markdown:()=>Be(()=>import("./markdown-Cvjx9yec.js"),[],import.meta.url),rust:()=>Be(()=>import("./rust-B1yitclQ.js"),[],import.meta.url),ruby:()=>Be(()=>import("./ruby-CcrC3V9I.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url),go:()=>Be(()=>import("./go-CxLEBnE3.js"),[],import.meta.url),java:()=>Be(()=>import("./java-CylS5w8V.js"),[],import.meta.url),c:()=>Be(()=>import("./c-BIGW1oBm.js"),[],import.meta.url),cpp:()=>Be(()=>import("./cpp-BRuaLJcg.js"),__vite__mapDeps([11,12,6]),import.meta.url),csharp:()=>Be(()=>import("./csharp-COcwbKMJ.js"),[],import.meta.url),kotlin:()=>Be(()=>import("./kotlin-BdnUsdx6.js"),[],import.meta.url),scala:()=>Be(()=>import("./scala-C151Ov-r.js"),[],import.meta.url),swift:()=>Be(()=>import("./swift-D82vCrfD.js"),[],import.meta.url),dart:()=>Be(()=>import("./dart-CF10PKvl.js"),[],import.meta.url),lua:()=>Be(()=>import("./lua-BaeVxFsk.js"),__vite__mapDeps([14,12]),import.meta.url),r:()=>Be(()=>import("./r-Dspwwk_N.js"),[],import.meta.url),sql:()=>Be(()=>import("./sql-BLtJtn59.js"),[],import.meta.url),toml:()=>Be(()=>import("./toml-vGWfd6FD.js"),[],import.meta.url),ini:()=>Be(()=>import("./ini-BEwlwnbL.js"),[],import.meta.url),xml:()=>Be(()=>import("./xml-sdJ4AIDG.js"),__vite__mapDeps([4,5]),import.meta.url),svelte:()=>Be(()=>import("./svelte-U4fHntn6.js"),__vite__mapDeps([16,2,8,3,17]),import.meta.url),astro:()=>Be(()=>import("./astro-DAp21e1Q.js"),__vite__mapDeps([18,19,2,8,3,17,10]),import.meta.url),docker:()=>Be(()=>import("./docker-BcOcwvcX.js"),[],import.meta.url),make:()=>Be(()=>import("./make-CHLpvVh8.js"),[],import.meta.url),graphql:()=>Be(()=>import("./graphql-ChdNCCLP.js"),__vite__mapDeps([7,2,8,9,10]),import.meta.url),protobuf:()=>Be(()=>import("./protobuf-C7zT0LnQ.js"),[],import.meta.url),perl:()=>Be(()=>import("./perl-CptaX86O.js"),__vite__mapDeps([20,1,2,3,4,5,6]),import.meta.url)};async function vl(e){if(Ns.has(e))return!0;if(ya.has(e))return!1;const t=Ax[e];if(!t)return ya.add(e),!1;if(hr.has(e))return await hr.get(e),Ns.has(e);const n=(async()=>{try{const s=await bu(),o=await t();await s.loadLanguage(o.default),Ns.add(e)}catch{ya.add(e)}})();return hr.set(e,n),await n,hr.delete(e),Ns.has(e)}function _d(e){return Ns.has(e)}function Fp(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function Es(e){return`<pre class="shiki-fallback"><code>${Fp(e)}</code></pre>`}function Mx(e){const t=[];return e.color&&t.push(`color:${e.color}`),e.fontStyle&&(e.fontStyle&1&&t.push("font-style:italic"),e.fontStyle&2&&t.push("font-weight:bold"),e.fontStyle&4&&t.push("text-decoration:underline")),`<span${t.length>0?` style="${t.join(";")}"`:""}>${Fp(e.content)}</span>`}function Rx(e,t,n,s){if(!Ds||!Ns.has(t))return null;const o={lang:t,theme:n};s&&(o.grammarState=s);const r=Ds.codeToTokens(e,o);return{lines:r.tokens.map(i=>`<span class="line">${i.map(Mx).join("")}</span>`),fg:r.fg,bg:r.bg,grammarState:r.grammarState??s}}let wt=null;const Ws=new Map;function Px(){return wt||(wt=new IntersectionObserver(e=>{for(const t of e){if(!t.isIntersecting)continue;const n=Ws.get(t.target);n&&(Ws.delete(t.target),wt==null||wt.unobserve(t.target),n())}Ws.size===0&&(wt==null||wt.disconnect(),wt=null)},{rootMargin:"200px 0px"})),wt}function ku(){return typeof IntersectionObserver<"u"}function Lx(e,t){return ku()?(Ws.set(e,t),Px().observe(e),()=>{Ws.delete(e),wt==null||wt.unobserve(e),Ws.size===0&&(wt==null||wt.disconnect(),wt=null)}):null}ku()&&setTimeout(()=>{bu().then(()=>Promise.all(Tx.map(e=>vl(e))))},0);const Dx={class:"code-header"},Nx={class:"code-lang"},Ox={class:"code-content"},Gx=["innerHTML"],Bx={key:0,class:"line"},Fx=["innerHTML"],$d=32,Ux=Ie({__name:"CodeBlock",props:{code:{},lang:{},streaming:{type:Boolean}},setup(e){const t=e,n=In("effectiveTheme",O(typeof document<"u"&&document.documentElement.dataset.theme==="dark"?"dark":"light")),s=O(""),o=O(""),r=O(!1),i=ku(),a=O(!i);let l=null;const u=O(null),c=O([]),d=O(""),f=O(null);let p=null,g="",y="",S="",k=null,w=null;const b=new Set,_=G(()=>{const I=c.value,A=[];for(let V=0;V<I.length;V+=$d)A.push({key:V,html:I.slice(V,V+$d).join("")});return A});function B(){c.value=[],d.value="",f.value=null,p=null}function D(I){b.has(I)||(b.add(I),vl(I).then(A=>{!A||!t.streaming||I!==g||M()}))}function E(){var pe;const I=Sd(((pe=t.lang)==null?void 0:pe.toLowerCase())??"text"),A=n.value==="light"?"github-light":"github-dark";if((I!==g||A!==y)&&(B(),g=I,y=A),!a.value||!i||!_d(I))return o.value=Es(t.code),a.value&&i&&!_d(I)&&D(I),!1;const V=t.code,ie=V.lastIndexOf(`
226
+ \v\f…\u2028\u2029])`),t));else if(l==="posix")if(!o&&(c==="graph"||c==="print")){if(s==="strict")throw new Error(`POSIX class "${c}" requires min target ES2024 or non-strict accuracy`);let d={graph:"!-~",print:" -~"}[c];u&&(d=`\0-${dt(d.codePointAt(0)-1)}${dt(d.codePointAt(2)+1)}-􏿿`),n(at(gn(`[${d}]`),t))}else n(at(ya(gn(YC.get(c)),u),t));else if(l==="property")vu.has(Gi(c))||(e.key="sc");else if(l==="space")n(Gn(Ps("space",{negate:u}),t));else if(l==="word")n(at(ya(gn(pn),u),t));else throw new Error(`Unexpected character set kind "${l}"`)},Directive({node:e,parent:t,root:n,remove:s,replaceWith:o,removeAllPrevSiblings:r,removeAllNextSiblings:i}){const{kind:a,flags:l}=e;if(a==="flags")if(!l.enable&&!l.disable)s();else{const u=Xt({flags:l});u.body[0].body=i(),o(at(u,t),{traverse:!0})}else if(a==="keep"){const u=n.body[0],d=n.body.length===1&&wp(u,{type:"Group"})&&u.body[0].body.length===1?u.body[0]:n;if(t.parent!==d||d.body.length>1)throw new Error(Le`Uses "\K" in a way that's unsupported`);const f=ls({behind:!0});f.body[0].body=r(),o(at(f,t))}else throw new Error(`Unexpected directive kind "${a}"`)},Flags({node:e,parent:t}){if(e.posixIsAscii)throw new Error('Unsupported flag "P"');if(e.textSegmentMode==="word")throw new Error('Unsupported flag "y{w}"');["digitIsAscii","extended","posixIsAscii","spaceIsAscii","wordIsAscii","textSegmentMode"].forEach(n=>delete e[n]),Object.assign(e,{global:!1,hasIndices:!1,multiline:!1,sticky:e.sticky??!1}),t.options={disable:{x:!0,n:!0},force:{v:!0}}},Group({node:e}){if(!e.flags)return;const{enable:t,disable:n}=e.flags;t!=null&&t.extended&&delete t.extended,n!=null&&n.extended&&delete n.extended,t!=null&&t.dotAll&&(n!=null&&n.dotAll)&&delete t.dotAll,t!=null&&t.ignoreCase&&(n!=null&&n.ignoreCase)&&delete t.ignoreCase,t&&!Object.keys(t).length&&delete e.flags.enable,n&&!Object.keys(n).length&&delete e.flags.disable,!e.flags.enable&&!e.flags.disable&&delete e.flags},LookaroundAssertion({node:e},t){const{kind:n}=e;n==="lookbehind"&&(t.passedLookbehind=!0)},NamedCallout({node:e,parent:t,replaceWith:n}){const{kind:s}=e;if(s==="fail")n(at(ls({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${s.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Xt();t.body[0].body.push(e.body),e.body=at(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let s=!1,o=!1;for(const r of e.body)if(r.body.length===1&&r.body[0].kind==="search_start")r.body.pop();else{const i=Op(r.body);i?(s=!0,Array.isArray(i)?n.push(...i):n.push(i)):o=!0}s&&!o&&n.forEach(r=>t.add(r))},exit(e,{accuracy:t,passedLookbehind:n,strategy:s}){if(t==="strict"&&n&&s)throw new Error(Le`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!va(n)&&(n=ma(n,t),e.ref=n)}},ex={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:s,ref:o}=e;s||n.set(e,[...t.get(o).map(({node:r})=>r)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:s},{groupOriginByCopy:o,groupsByName:r,multiplexCapturesToLeftByRef:i,openRefs:a,reffedNodesByReferencer:l}){const u=o.get(e);if(u&&a.has(e.number)){const d=Gn(vd(e.number),t);l.set(d,a.get(e.number)),n(d);return}a.set(e.number,e),i.set(e.number,[]),e.name&&zo(i,e.name,[]);const c=i.get(e.name??e.number);for(let d=0;d<c.length;d++){const f=c[d];if(u===f.node||u&&u===f.origin||e===f.origin){c.splice(d,1);break}}if(i.get(e.number).push({node:e,origin:u}),e.name&&i.get(e.name).push({node:e,origin:u}),e.name){const d=zo(r,e.name,new Map);let f=!1;if(u)f=!0;else for(const p of d.values())if(!p.hasDuplicateNameToRemove){f=!0;break}r.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:f})}},exit({node:e},{openRefs:t}){t.get(e.number)===e&&t.delete(e.number)}},Group:{enter({node:e},t){t.prevFlags=t.currentFlags,e.flags&&(t.currentFlags=fi(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},s){const{isRecursive:o,ref:r}=e;if(o){let c=t;for(;(c=c.parent)&&!(c.type==="CapturingGroup"&&(c.name===r||c.number===r)););s.reffedNodesByReferencer.set(e,c);return}const i=s.subroutineRefMap.get(r),a=r===0,l=a?vd(0):Lp(i,s.groupOriginByCopy,null);let u=l;if(!a){const c=Dp(ox(i,f=>f.type==="Group"&&!!f.flags)),d=c?fi(s.globalFlags,c):s.globalFlags;nx(d,s.currentFlags)||(u=Xt({flags:rx(d)}),u.body[0].body.push(l))}n(at(u,t),{traverse:!a})}},tx={Backreference({node:e,parent:t,replaceWith:n},s){if(e.orphan){s.highestOrphanBackref=Math.max(s.highestOrphanBackref,e.ref);return}const r=s.reffedNodesByReferencer.get(e).filter(i=>sx(i,e));if(!r.length)n(at(ls({negate:!0}),t));else if(r.length>1){const i=Xt({atomic:!0,body:r.reverse().map(a=>bs({body:[fl(a.number)]}))});n(at(i,t))}else e.ref=r[0].number},CapturingGroup({node:e},t){e.number=++t.numCapturesToLeft,e.name&&t.groupsByName.get(e.name).get(e).hasDuplicateNameToRemove&&delete e.name},Regex:{exit({node:e},t){const n=Math.max(t.highestOrphanBackref-t.numCapturesToLeft,0);for(let s=0;s<n;s++){const o=_p();e.body.at(-1).body.push(o)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function Pp(e){Ao(e,{"*"({node:t,parent:n}){t.parent=n}})}function nx(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function sx(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const s=Np(n.parent);for(const o of s){if(o===n)break;if(o===e||Gp(o,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function Lp(e,t,n,s){const o=Array.isArray(e)?[]:{};for(const[r,i]of Object.entries(e))r==="parent"?o.parent=Array.isArray(n)?s:n:i&&typeof i=="object"?o[r]=Lp(i,t,o,n):(r==="type"&&i==="CapturingGroup"&&t.set(o,t.get(e)??e),o[r]=i);return o}function vd(e){const t=Cp(e);return t.isRecursive=!0,t}function ox(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function ma(e,t){if(t.has(e))return t.get(e);const n=`$${t.size}_${e.replace(/^[^$_\p{IDS}]|[^$\u200C\u200D\p{IDC}]/ug,"_")}`;return t.set(e,n),n}function Dp(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:s})=>{t.forEach(o=>{var r,i;(r=s.enable)!=null&&r[o]&&(delete n.disable[o],n.enable[o]=!0),(i=s.disable)!=null&&i[o]&&(n.disable[o]=!0)})}),Object.keys(n.enable).length||delete n.enable,Object.keys(n.disable).length||delete n.disable,n.enable||n.disable?n:null}function rx({dotAll:e,ignoreCase:t}){const n={};return(e||t)&&(n.enable={},e&&(n.enable.dotAll=!0),t&&(n.enable.ignoreCase=!0)),(!e||!t)&&(n.disable={},!e&&(n.disable.dotAll=!0),!t&&(n.disable.ignoreCase=!0)),n}function Np(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function Op(e){const t=e.find(n=>n.kind==="search_start"||lx(n,{negate:!1})||!ix(n));if(!t)return null;if(t.kind==="search_start")return t;if(t.type==="LookaroundAssertion")return t.body[0].body[0];if(t.type==="CapturingGroup"||t.type==="Group"){const n=[];for(const s of t.body){const o=Op(s.body);if(!o)return null;Array.isArray(o)?n.push(...o):n.push(o)}return n}return null}function Gp(e,t){const n=Np(e)??[];for(const s of n)if(s===t||Gp(s,t))return!0;return!1}function ix({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function ax(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function lx(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&wp(e.body[0],{type:"Assertion",kind:"search_start"})}function va(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function gn(e,t){const s=Sp(e,{...t,unicodePropertyMap:vu}).body;return s.length>1||s[0].body.length>1?Xt({body:s}):s[0].body[0]}function ya(e,t){return e.negate=t,e}function Gn(e,t){return e.parent=t,e}function at(e,t){return Pp(e),e.parent=t,e}function ux(e,t){const n=Ap(t),s=gl(n.target,"ES2024"),o=gl(n.target,"ES2025"),r=n.rules.recursionLimit;if(!Number.isInteger(r)||r<2||r>20)throw new Error("Invalid recursionLimit; use 2-20");let i=null,a=null;if(!o){const p=[e.flags.ignoreCase];Ao(e,cx,{getCurrentModI:()=>p.at(-1),popModI(){p.pop()},pushModI(g){p.push(g)},setHasCasedChar(){p.at(-1)?i=!0:a=!0}})}const l={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||i)&&!a)};let u=e;const c={accuracy:n.accuracy,appliedGlobalFlags:l,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:u,originMap:e._originMap,recursionLimit:r,useAppliedIgnoreCase:!!(!o&&i&&a),useFlagMods:o,useFlagV:s,verbose:n.verbose};function d(p){return c.lastNode=u,u=p,zC(dx[p.type],`Unexpected node type "${p.type}"`)(p,c,d)}const f={pattern:e.body.map(d).join("|"),flags:d(e.flags),options:{...e.options}};return s||(delete f.options.force.v,f.options.disable.v=!0,f.options.unicodeSetsPlugin=null),f._captureTransfers=new Map,f._hiddenCaptures=[],c.captureMap.forEach((p,g)=>{p.hidden&&f._hiddenCaptures.push(g),p.transferTo&&zo(f._captureTransfers,p.transferTo,[]).push(g)}),f}var cx={"*":{enter({node:e},t){if(bd(e)){const n=t.getCurrentModI();t.pushModI(e.flags?fi({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){bd(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){yu(dt(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),Bp(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&Rp.has(e.value)&&t.setHasCasedChar()}},dx={Alternative({body:e},t,n){return e.map(n).join("")},Assertion({kind:e,negate:t}){if(e==="string_end")return"$";if(e==="string_start")return"^";if(e==="word_boundary")return t?Le`\B`:Le`\b`;throw new Error(`Unexpected assertion kind "${e}"`)},Backreference({ref:e},t){if(typeof e!="number")throw new Error("Unexpected named backref in transformed AST");if(!t.useFlagMods&&t.accuracy==="strict"&&t.currentFlags.ignoreCase&&!t.captureMap.get(e).ignoreCase)throw new Error("Use of case-insensitive backref to case-sensitive group requires target ES2025 or non-strict accuracy");return"\\"+e},CapturingGroup(e,t,n){const{body:s,name:o,number:r}=e,i={ignoreCase:t.currentFlags.ignoreCase},a=t.originMap.get(e);return a&&(i.hidden=!0,r>a.number&&(i.transferTo=a.number)),t.captureMap.set(r,i),`(${o?`?<${o}>`:""}${s.map(n).join("|")})`},Character({value:e},t){const n=dt(e),s=Es(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(s!==n)return s;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&yu(n)){const o=Mp(n);return t.inCharClass?o.join(""):o.length>1?`[${o.join("")}]`:o[0]}return n},CharacterClass(e,t,n){const{kind:s,negate:o,parent:r}=e;let{body:i}=e;if(s==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");en.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&i.some(kd)&&(i=[Oi(45),...i.filter(u=>!kd(u))]);const a=()=>`[${o?"^":""}${i.map(n).join(s==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||en.bugNestedClassIgnoresNegation)&&!o){const c=i.filter(d=>d.type==="CharacterClass"&&d.kind==="union"&&d.negate);if(c.length){const d=Xt(),f=d.body[0];return d.parent=r,f.parent=d,i=i.filter(p=>!c.includes(p)),e.body=i,i.length?(e.parent=f,f.body.push(e)):d.body.pop(),c.forEach(p=>{const g=bs({body:[p]});p.parent=g,g.parent=d,d.body.push(g)}),n(d)}}t.inCharClass=!0;const u=a();return t.inCharClass=!1,u}const l=i[0];if(s==="union"&&!o&&l&&((!t.useFlagV||!t.verbose)&&r.kind==="union"&&!(en.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&r.kind==="intersection"&&i.length===1&&l.type!=="CharacterClassRange"))return i.map(n).join("");if(!t.useFlagV&&r.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return a()},CharacterClassRange(e,t){const n=e.min.value,s=e.max.value,o={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},r=Es(n,o),i=Es(s,o),a=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const l=Bp(e);mx(l).forEach(c=>{a.add(Array.isArray(c)?`${Es(c[0],o)}-${Es(c[1],o)}`:Es(c,o))})}return`${r}-${i}${[...a].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:s},o){if(e==="dot")return o.currentFlags.dotAll?o.appliedGlobalFlags.dotAll||o.useFlagMods?".":"[^]":Le`[^\n]`;if(e==="digit")return t?Le`\D`:Le`\d`;if(e==="property"){if(o.useAppliedIgnoreCase&&o.currentFlags.ignoreCase&&Rp.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?Le`\P`:Le`\p`}{${s?`${s}=`:""}${n}}`}if(e==="word")return t?Le`\W`:Le`\w`;throw new Error(`Unexpected character set kind "${e}"`)},Flags(e,t){return(t.appliedGlobalFlags.ignoreCase?"i":"")+(e.dotAll?"s":"")+(e.sticky?"y":"")},Group({atomic:e,body:t,flags:n,parent:s},o,r){const i=o.currentFlags;n&&(o.currentFlags=fi(i,n));const a=t.map(r).join("|"),l=!o.verbose&&t.length===1&&s.type!=="Quantifier"&&!e&&(!o.useFlagMods||!n)?a:`(?${vx(e,n,o.useFlagMods)}${a})`;return o.currentFlags=i,l},LookaroundAssertion({body:e,kind:t,negate:n},s,o){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(o).join("|")})`},Quantifier(e,t,n){return n(e.body)+yx(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const s=n.recursionLimit;return t===0?`(?R=${s})`:Le`\g<${t}&R=${s}>`}},fx=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),hx=new Set(["-","\\","]","^","["]),px=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),yd=new Map([[9,Le`\t`],[10,Le`\n`],[11,Le`\v`],[12,Le`\f`],[13,Le`\r`],[8232,Le`\u2028`],[8233,Le`\u2029`],[65279,Le`\uFEFF`]]),gx=new RegExp("^\\p{Cased}$","u");function yu(e){return gx.test(e)}function Bp(e,t){const n=!!(t!=null&&t.firstOnly),s=e.min.value,o=e.max.value,r=[];if(s<65&&(o===65535||o>=131071)||s===65536&&o>=131071)return r;for(let i=s;i<=o;i++){const a=dt(i);if(!yu(a))continue;const l=Mp(a).filter(u=>{const c=u.codePointAt(0);return c<s||c>o});if(l.length&&(r.push(...l),n))break}return r}function Es(e,{escDigit:t,inCharClass:n,useFlagV:s}){if(yd.has(e))return yd.get(e);if(e<32||e>126&&e<160||e>262143||t&&bx(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const o=n?s?px:hx:fx,r=dt(e);return(o.has(r)?"\\":"")+r}function mx(e){const t=e.map(o=>o.codePointAt(0)).sort((o,r)=>o-r),n=[];let s=null;for(let o=0;o<t.length;o++)t[o+1]===t[o]+1?s??(s=t[o]):s===null?n.push(t[o]):(n.push([s,t[o]]),s=null);return n}function vx(e,t,n){if(e)return">";let s="";if(t&&n){const{enable:o,disable:r}=t;s=(o!=null&&o.ignoreCase?"i":"")+(o!=null&&o.dotAll?"s":"")+(r?"-":"")+(r!=null&&r.ignoreCase?"i":"")+(r!=null&&r.dotAll?"s":"")}return`${s}:`}function yx({kind:e,max:t,min:n}){let s;return!n&&t===1?s="?":!n&&t===1/0?s="*":n===1&&t===1/0?s="+":n===t?s=`{${n}}`:s=`{${n},${t===1/0?"":t}}`,s+{greedy:"",lazy:"?",possessive:"+"}[e]}function bd({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function bx(e){return e>47&&e<58}function kd({type:e,value:t}){return e==="Character"&&t===45}var Fn,bn,ds,Un,fs,Ho,ml,Hn,kx=(Hn=class extends RegExp{constructor(n,s,o){var t=(...v3)=>(super(...v3),Yn(this,Ho),Yn(this,Fn,new Map),Yn(this,bn,null),Yn(this,ds),Yn(this,Un,null),Yn(this,fs,null),Y(this,"rawOptions",{}),this);const r=!!(o!=null&&o.lazyCompile);if(n instanceof RegExp){if(o)throw new Error("Cannot provide options when copying a regexp");const i=n;t(i,s),Kt(this,ds,i.source),i instanceof Hn&&(Kt(this,Fn,Tt(i,Fn)),Kt(this,Un,Tt(i,Un)),Kt(this,fs,Tt(i,fs)),this.rawOptions=i.rawOptions)}else{const i={hiddenCaptures:[],strategy:null,transfers:[],...o};t(r?"":n,s),Kt(this,ds,n),Kt(this,Fn,Sx(i.hiddenCaptures,i.transfers)),Kt(this,fs,i.strategy),this.rawOptions=o??{}}r||Kt(this,bn,this)}get source(){return Tt(this,ds)||"(?:)"}exec(n){if(!Tt(this,bn)){const{lazyCompile:r,...i}=this.rawOptions;Kt(this,bn,new Hn(Tt(this,ds),this.flags,i))}const s=this.global||this.sticky,o=this.lastIndex;if(Tt(this,fs)==="clip_search"&&s&&o){this.lastIndex=0;const r=Wi(this,Ho,ml).call(this,n.slice(o));return r&&(wx(r,o,n,this.hasIndices),this.lastIndex+=o),r}return Wi(this,Ho,ml).call(this,n)}},Fn=new WeakMap,bn=new WeakMap,ds=new WeakMap,Un=new WeakMap,fs=new WeakMap,Ho=new WeakSet,ml=function(n){Tt(this,bn).lastIndex=this.lastIndex;const s=_u(Hn.prototype,this,"exec").call(Tt(this,bn),n);if(this.lastIndex=Tt(this,bn).lastIndex,!s||!Tt(this,Fn).size)return s;const o=[...s];s.length=1;let r;this.hasIndices&&(r=[...s.indices],s.indices.length=1);const i=[0];for(let a=1;a<o.length;a++){const{hidden:l,transferTo:u}=Tt(this,Fn).get(a)??{};if(l?i.push(null):(i.push(s.length),s.push(o[a]),this.hasIndices&&s.indices.push(r[a])),u&&o[a]!==void 0){const c=i[u];if(!c)throw new Error(`Invalid capture transfer to "${c}"`);if(s[c]=o[a],this.hasIndices&&(s.indices[c]=r[a]),s.groups){Tt(this,Un)||Kt(this,Un,_x(this.source));const d=Tt(this,Un).get(u);d&&(s.groups[d]=o[a],this.hasIndices&&(s.indices.groups[d]=r[a]))}}}return s},Hn);function wx(e,t,n,s){if(e.index+=t,e.input=n,s){const o=e.indices;for(let i=0;i<o.length;i++){const a=o[i];a&&(o[i]=[a[0]+t,a[1]+t])}const r=o.groups;r&&Object.keys(r).forEach(i=>{const a=r[i];a&&(r[i]=[a[0]+t,a[1]+t])})}}function Sx(e,t){const n=new Map;for(const s of e)n.set(s,{hidden:!0});for(const[s,o]of t)for(const r of o)zo(n,r,{}).transferTo=s;return n}function _x(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let s=0,o=0,r;for(;r=t.exec(e);){const{0:i,groups:{capture:a,name:l}}=r;i==="["?s++:s?i==="]"&&s--:a&&(o++,l&&n.set(o,l))}return n}function $x(e,t){const n=Cx(e,t);return n.options?new kx(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function Cx(e,t){const n=Ap(t),s=Sp(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:vu}),o=JC(s,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),r=ux(o,n),i=UC(r.pattern,{captureTransfers:r._captureTransfers,hiddenCaptures:r._hiddenCaptures,mode:"external"}),a=BC(i.pattern),l=GC(a.pattern,{captureTransfers:i.captureTransfers,hiddenCaptures:i.hiddenCaptures}),u={pattern:l.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${r.flags}${r.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const c=l.hiddenCaptures.sort((g,y)=>g-y),d=Array.from(l.captureTransfers),f=o._strategy,p=u.pattern.length>=n.lazyCompileLength;(c.length||d.length||f||p)&&(u.options={...c.length&&{hiddenCaptures:c},...d.length&&{transfers:d},...f&&{strategy:f},...p&&{lazyCompile:p}})}return u}const wd=4294967295;class xx{constructor(t,n={}){Y(this,"regexps");this.patterns=t,this.options=n;const{forgiving:s=!1,cache:o,regexConstructor:r}=n;if(!r)throw new Error("Option `regexConstructor` is not provided");this.regexps=t.map(i=>{if(typeof i!="string")return i;const a=o==null?void 0:o.get(i);if(a){if(a instanceof RegExp)return a;if(s)return null;throw a}try{const l=r(i);return o==null||o.set(i,l),l}catch(l){if(o==null||o.set(i,l),s)return null;throw l}})}findNextMatchSync(t,n,s){const o=typeof t=="string"?t:t.content,r=[];function i(a,l,u=0){return{index:a,captureIndices:l.indices.map(c=>c==null?{start:wd,end:wd,length:0}:{start:c[0]+u,end:c[1]+u,length:c[1]-c[0]})}}for(let a=0;a<this.regexps.length;a++){const l=this.regexps[a];if(l)try{l.lastIndex=n;const u=l.exec(o);if(!u)continue;if(u.index===n)return i(a,u,0);r.push([a,u,0])}catch(u){if(this.options.forgiving)continue;throw u}}if(r.length){const a=Math.min(...r.map(l=>l[1].index));for(const[l,u,c]of r)if(u.index===a)return i(l,u,c)}return null}}function Ix(e,t){return $x(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Tx(e={}){const t=Object.assign({target:"auto",cache:new Map},e);return t.regexConstructor||(t.regexConstructor=n=>Ix(n,{target:t.target})),{createScanner(n){return new xx(n,t)},createString(n){return{content:n}}}}const Ex=["typescript","tsx","javascript","jsx","json","bash","python","yaml"];let Ns=null;const Os=new Set,ba=new Set,pr=new Map,Ax={js:"javascript",ts:"typescript",py:"python",sh:"bash",shell:"bash",shscript:"bash","shell-script":"bash",yml:"yaml",md:"markdown",rs:"rust",rb:"ruby",go:"go",java:"java",c:"c",cpp:"cpp","c++":"cpp",cs:"csharp","c#":"csharp",kt:"kotlin",kts:"kotlin",scala:"scala",swift:"swift",dart:"dart",lua:"lua",r:"r",sql:"sql",toml:"toml",ini:"ini",xml:"xml",svelte:"svelte",astro:"astro",dockerfile:"docker",makefile:"make",graphql:"graphql",proto:"protobuf",pl:"perl",pm:"perl"};function Sd(e){const t=e.toLowerCase();return Ax[t]??t}async function bu(){if(Ns)return Ns;const[e,t]=await Promise.all([Be(()=>import("./github-dark-DHJKELXO.js"),[],import.meta.url),Be(()=>import("./github-light-DAi9KRSo.js"),[],import.meta.url)]);return Ns=await j$({themes:[e.default,t.default],langs:[],engine:Tx()}),Ns}const Mx={typescript:()=>Be(()=>import("./typescript-BPQ3VLAy.js"),[],import.meta.url),tsx:()=>Be(()=>import("./tsx-COt5Ahok.js"),[],import.meta.url),javascript:()=>Be(()=>import("./javascript-wDzz0qaB.js"),[],import.meta.url),jsx:()=>Be(()=>import("./jsx-g9-lgVsj.js"),[],import.meta.url),json:()=>Be(()=>import("./json-Cp-IABpG.js"),[],import.meta.url),bash:()=>Be(()=>import("./bash-Yzrsuije.js"),[],import.meta.url),python:()=>Be(()=>import("./python-B6aJPvgy.js"),[],import.meta.url),yaml:()=>Be(()=>import("./yaml-Buea-lGh.js"),[],import.meta.url),markdown:()=>Be(()=>import("./markdown-Cvjx9yec.js"),[],import.meta.url),rust:()=>Be(()=>import("./rust-B1yitclQ.js"),[],import.meta.url),ruby:()=>Be(()=>import("./ruby-CcrC3V9I.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]),import.meta.url),go:()=>Be(()=>import("./go-CxLEBnE3.js"),[],import.meta.url),java:()=>Be(()=>import("./java-CylS5w8V.js"),[],import.meta.url),c:()=>Be(()=>import("./c-BIGW1oBm.js"),[],import.meta.url),cpp:()=>Be(()=>import("./cpp-BRuaLJcg.js"),__vite__mapDeps([11,12,6]),import.meta.url),csharp:()=>Be(()=>import("./csharp-COcwbKMJ.js"),[],import.meta.url),kotlin:()=>Be(()=>import("./kotlin-BdnUsdx6.js"),[],import.meta.url),scala:()=>Be(()=>import("./scala-C151Ov-r.js"),[],import.meta.url),swift:()=>Be(()=>import("./swift-D82vCrfD.js"),[],import.meta.url),dart:()=>Be(()=>import("./dart-CF10PKvl.js"),[],import.meta.url),lua:()=>Be(()=>import("./lua-BaeVxFsk.js"),__vite__mapDeps([14,12]),import.meta.url),r:()=>Be(()=>import("./r-Dspwwk_N.js"),[],import.meta.url),sql:()=>Be(()=>import("./sql-BLtJtn59.js"),[],import.meta.url),toml:()=>Be(()=>import("./toml-vGWfd6FD.js"),[],import.meta.url),ini:()=>Be(()=>import("./ini-BEwlwnbL.js"),[],import.meta.url),xml:()=>Be(()=>import("./xml-sdJ4AIDG.js"),__vite__mapDeps([4,5]),import.meta.url),svelte:()=>Be(()=>import("./svelte-U4fHntn6.js"),__vite__mapDeps([16,2,8,3,17]),import.meta.url),astro:()=>Be(()=>import("./astro-DAp21e1Q.js"),__vite__mapDeps([18,19,2,8,3,17,10]),import.meta.url),docker:()=>Be(()=>import("./docker-BcOcwvcX.js"),[],import.meta.url),make:()=>Be(()=>import("./make-CHLpvVh8.js"),[],import.meta.url),graphql:()=>Be(()=>import("./graphql-ChdNCCLP.js"),__vite__mapDeps([7,2,8,9,10]),import.meta.url),protobuf:()=>Be(()=>import("./protobuf-C7zT0LnQ.js"),[],import.meta.url),perl:()=>Be(()=>import("./perl-CptaX86O.js"),__vite__mapDeps([20,1,2,3,4,5,6]),import.meta.url)};async function vl(e){if(Os.has(e))return!0;if(ba.has(e))return!1;const t=Mx[e];if(!t)return ba.add(e),!1;if(pr.has(e))return await pr.get(e),Os.has(e);const n=(async()=>{try{const s=await bu(),o=await t();await s.loadLanguage(o.default),Os.add(e)}catch{ba.add(e)}})();return pr.set(e,n),await n,pr.delete(e),Os.has(e)}function _d(e){return Os.has(e)}function Fp(e){return e.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}function As(e){return`<pre class="shiki-fallback"><code>${Fp(e)}</code></pre>`}function Rx(e){const t=[];return e.color&&t.push(`color:${e.color}`),e.fontStyle&&(e.fontStyle&1&&t.push("font-style:italic"),e.fontStyle&2&&t.push("font-weight:bold"),e.fontStyle&4&&t.push("text-decoration:underline")),`<span${t.length>0?` style="${t.join(";")}"`:""}>${Fp(e.content)}</span>`}function Px(e,t,n,s){if(!Ns||!Os.has(t))return null;const o={lang:t,theme:n};s&&(o.grammarState=s);const r=Ns.codeToTokens(e,o);return{lines:r.tokens.map(i=>`<span class="line">${i.map(Rx).join("")}</span>`),fg:r.fg,bg:r.bg,grammarState:r.grammarState??s}}let wt=null;const qs=new Map;function Lx(){return wt||(wt=new IntersectionObserver(e=>{for(const t of e){if(!t.isIntersecting)continue;const n=qs.get(t.target);n&&(qs.delete(t.target),wt==null||wt.unobserve(t.target),n())}qs.size===0&&(wt==null||wt.disconnect(),wt=null)},{rootMargin:"200px 0px"})),wt}function ku(){return typeof IntersectionObserver<"u"}function Dx(e,t){return ku()?(qs.set(e,t),Lx().observe(e),()=>{qs.delete(e),wt==null||wt.unobserve(e),qs.size===0&&(wt==null||wt.disconnect(),wt=null)}):null}ku()&&setTimeout(()=>{bu().then(()=>Promise.all(Ex.map(e=>vl(e))))},0);const Nx={class:"code-header"},Ox={class:"code-lang"},Gx={class:"code-content"},Bx=["innerHTML"],Fx={key:0,class:"line"},Ux=["innerHTML"],$d=32,jx=Ie({__name:"CodeBlock",props:{code:{},lang:{},streaming:{type:Boolean}},setup(e){const t=e,n=In("effectiveTheme",O(typeof document<"u"&&document.documentElement.dataset.theme==="dark"?"dark":"light")),s=O(""),o=O(""),r=O(!1),i=ku(),a=O(!i);let l=null;const u=O(null),c=O([]),d=O(""),f=O(null);let p=null,g="",y="",S="",k=null,w=null;const b=new Set,_=G(()=>{const I=c.value,M=[];for(let V=0;V<I.length;V+=$d)M.push({key:V,html:I.slice(V,V+$d).join("")});return M});function B(){c.value=[],d.value="",f.value=null,p=null}function D(I){b.has(I)||(b.add(I),vl(I).then(M=>{!M||!t.streaming||I!==g||A()}))}function E(){var pe;const I=Sd(((pe=t.lang)==null?void 0:pe.toLowerCase())??"text"),M=n.value==="light"?"github-light":"github-dark";if((I!==g||M!==y)&&(B(),g=I,y=M),!a.value||!i||!_d(I))return o.value=As(t.code),a.value&&i&&!_d(I)&&D(I),!1;const V=t.code,ie=V.lastIndexOf(`
227
227
  `),me=ie===-1?"":V.slice(0,ie),_e=ie===-1?V:V.slice(ie+1),he=ie===-1?[]:me.split(`
228
- `);he.length<c.value.length&&B();const ae=he.slice(c.value.length);if(ae.length>0){const oe=Rx(ae.join(`
229
- `),I,A,p);if(!oe)return o.value=Es(V),!1;p=oe.grammarState,f.value||(f.value={theme:A,style:`background-color:${oe.bg};color:${oe.fg}`}),c.value=c.value.concat(oe.lines)}return f.value?(d.value=_e,S=V,!0):(o.value=Es(V),!1)}function M(){t.streaming&&E()}function T(){return f.value?t.code===S?!0:t.code.startsWith(S)?E():!1:!1}function Z(){if(t.streaming){M();return}T()||j()}function W(){a.value=!0,t.streaming?M():j()}async function j(){var ie;if(!a.value){o.value=Es(t.code);return}const I=Sd(((ie=t.lang)==null?void 0:ie.toLowerCase())??"text"),A=n.value==="light"?"github-light":"github-dark",V=`${t.code}${I}${A}`;if(!(V===k||V===w)){w=V;try{const me=await bu();await vl(I)?s.value=me.codeToHtml(t.code,{lang:I,theme:A}):s.value=Es(t.code)}catch{s.value=Es(t.code)}finally{w=null,k=V}f.value=null}}function te(){navigator.clipboard.writeText(t.code).then(()=>{r.value=!0,setTimeout(()=>r.value=!1,1500)})}return et(()=>{u.value&&(l=Lx(u.value,W))}),st(()=>{l==null||l()}),Se(()=>[t.code,t.lang,n.value],()=>Z(),{immediate:!0}),Se(()=>t.streaming,(I,A)=>{A&&!I&&Z()}),(I,A)=>(m(),v("div",{class:"code-block",ref_key:"rootEl",ref:u},[h("div",Dx,[h("span",Nx,C(e.lang||"text"),1),h("button",{class:ue(["code-copy",{copied:r.value}]),onClick:te},C(r.value?"已复制":"复制"),3)]),h("div",Ox,[f.value?(m(),v("pre",{key:0,class:ue(["shiki",f.value.theme]),style:bt(f.value.style),tabindex:"0"},[h("code",null,[(m(!0),v(ne,null,Ce(_.value,V=>(m(),v("span",{key:V.key,class:"shiki-group",innerHTML:V.html},null,8,Gx))),128)),d.value?(m(),v("span",Bx,C(d.value),1)):U("",!0)])],6)):(m(),v("div",{key:1,innerHTML:t.streaming?o.value:s.value||o.value},null,8,Fx))])],512))}}),yl=Te(Ux,[["__scopeId","data-v-d595bf82"]]),jn=Wn({open:!1,src:"",alt:""});function Up(e,t=""){e&&(jn.src=e,jn.alt=t,jn.open=!0)}function ba(){jn.open=!1}const jx=200;function zx(e){const t=e.raw??"";return`${e.type}:${t.length}:${Hx(t).toString(36)}`}function Hx(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+(e.codePointAt(n)??0)|0;return t>>>0}function Wx(e){const t=[...e];for(;t.length>0;){const n=t.pop();if(typeof n.type=="object")return!0;if(Array.isArray(n.children))for(const s of n.children)Ks(s)&&t.push(s)}return!1}function qx(e=jx){let t=new Map,n="";return{render(s,o,r){n.length>0&&o.startsWith(n)||t.clear(),n=o;const a=[],l=new Set;for(const u of s){const c=zx(u),d=u.raw??"",f=t.get(c);if(f&&f.raw===d&&!l.has(c)){l.add(c),a.push(...f.vnodes);continue}l.add(c);const p=r(u);p.length>0&&!Wx(p)&&(t.size>=e&&(t=new Map),t.set(c,{raw:d,vnodes:p})),a.push(...p)}return a},size:()=>t.size,clear:()=>{t=new Map,n=""}}}We.setOptions({gfm:!0,breaks:!1});const Vx=4e4,Er=6e3,Kx=Ie({props:{content:{type:String,required:!0},streaming:{type:Boolean,default:!1}},setup(e){const t=O(e.content);let n=null;const s=O(!1);let o=e.content;Se(()=>e.content,u=>{!u.startsWith(o)&&!o.startsWith(u)&&(s.value=!1),o=u});const r=G(()=>!e.streaming&&!s.value&&t.value.length>Vx);Se(()=>e.content,u=>{if(!e.streaming){t.value=u;return}n===null&&(n=requestAnimationFrame(()=>{n=null,t.value=e.content}))}),Se(()=>e.streaming,(u,c)=>{c&&!u&&(n!==null&&(cancelAnimationFrame(n),n=null),t.value=e.content)});const i=qx(),a=G(()=>{const u=r.value?Zx(t.value):t.value,c=Yx(u),d=We.lexer(c);return i.render(d,c,f=>bl(f,e.streaming))}),l=G(()=>t.value.length);return()=>{const u=a.value.slice();return r.value&&u.push(ze("button",{class:"md-expand",type:"button",onClick:()=>{s.value=!0}},`展开全文(共 ${l.value.toLocaleString()} 字符,当前仅预览前 ${Er.toLocaleString()})`)),ze("div",{class:"markdown-body"},u)}}});function Zx(e){const t=e.lastIndexOf(`
230
- `,Er);return(t>Er/2?e.slice(0,t):e.slice(0,Er))+`
231
- …`}function Yx(e){const t=/^(`{3,})/gm;let n=null,s=-1,o=0,r;for(;(r=t.exec(e))!==null;){const i=r[1];n===null?(n=i,s=r.index,o=i.length):i.length>=o&&(n=null)}return n!==null?e.substring(0,s).trimEnd():e}function bl(e,t=!1){const n=e;switch(n.type){case"paragraph":return[ze("p",{class:"md-p"},xn(n.tokens??[]))];case"heading":return[ze(`h${n.depth??2}`,{class:`md-h${n.depth??2}`},xn(n.tokens??[]))];case"code":return[ze(yl,{code:n.text??"",lang:n.lang??"text",streaming:t})];case"blockquote":return[ze("blockquote",{class:"md-blockquote"},(n.tokens??[]).flatMap(s=>bl(s,t)))];case"list":{const s=(n.items??[]).map(o=>{const r=[];return o.task&&r.push(ze("input",{type:"checkbox",checked:o.checked,disabled:!0,class:"md-checkbox"})),r.push(...o.tokens.flatMap(i=>bl(i,t))),ze("li",{class:["md-li",o.task?"md-task":""]},r)});return[ze(n.ordered?"ol":"ul",{class:n.ordered?"md-ol":"md-ul"},s)]}case"hr":return[ze("hr",{class:"md-hr"})];case"space":return[];case"html":return[ze("pre",{class:"md-raw-html"},n.text??"")];case"table":return[ze("div",{class:"md-table-wrap",style:"overflow-x:auto"},[Xx(n)])];case"br":return[ze("br")];case"text":return[ze("span",{class:"md-text"},n.tokens?xn(n.tokens):n.text??"")];case"def":return[];default:return[ze("p",{class:"md-p"},n.raw??"")]}}function Xx(e){const t=(e.header??[]).map((s,o)=>{var a;const r=(a=e.align)==null?void 0:a[o],i=s;return ze("th",{class:"md-th",style:r?`text-align:${r}`:""},i.tokens?xn(i.tokens):String(i.text??""))}),n=(e.rows??[]).map(s=>ze("tr",{},s.map((o,r)=>{var l;const i=(l=e.align)==null?void 0:l[r],a=o;return ze("td",{class:"md-td",style:i?`text-align:${i}`:""},a.tokens?xn(a.tokens):String(a.text??""))})));return ze("table",{class:"md-table"},[ze("thead",{},[ze("tr",{},t)]),ze("tbody",{},n)])}function xn(e){return e.map(t=>{const n=t;switch(n.type){case"text":return n.text??"";case"codespan":return ze("code",{class:"md-code"},n.text??"");case"strong":return ze("strong",{class:"md-strong"},xn(n.tokens??[]));case"em":return ze("em",{class:"md-em"},xn(n.tokens??[]));case"del":return ze("del",{class:"md-del"},xn(n.tokens??[]));case"link":{const s=n.href;return s&&!/^(https?:|mailto:|#|\/)/i.test(s)?n.raw??"":ze("a",{class:"md-a",href:s,target:"_blank",rel:"noopener"},xn(n.tokens??[]))}case"image":{const s=n.href??"";return ze("button",{type:"button",class:"md-img-btn",title:"点击图片放大预览","aria-label":n.text?`放大预览图片:${n.text}`:"放大预览图片",onClick:()=>Up(s,n.text??"")},[ze("img",{class:"md-img",src:s,alt:n.text??"",loading:"lazy"})])}case"br":return ze("br");case"html":return ze("code",{class:"md-raw-inline"},n.text??"");case"escape":return n.text??"";default:return n.raw??""}})}const jp=Te(Kx,[["__scopeId","data-v-b42f9687"]]);function zp(e,t,n){const s=O("");let o;function r(){o!==void 0&&(clearInterval(o),o=void 0)}return Se(()=>[e.value.durationMs,t.value],()=>{r();const i=e.value.durationMs;if(i!==void 0){s.value=ta(i);return}if(s.value="",t.value!=="running"||!n())return;const a=py(e.value.toolCallId);a!==void 0&&(s.value=ta(Date.now()-a),o=setInterval(()=>{s.value=ta(Date.now()-a)},1e3))},{immediate:!0}),st(r),s}const Jx=["onKeydown"],Qx={class:"tool-name"},eI=["title"],tI=["title"],nI={class:"tool-collapse-inner"},sI={class:"tool-body"},oI={key:0,class:"tool-args"},rI={key:1,class:"tool-result"},iI={key:2,class:"tool-image-wrap"},aI=["src"],lI={key:3,class:"tool-output-actions"},uI={key:4,class:"tool-running-hint"},cI=Ie({__name:"GenericToolCard",props:{tool:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=G(()=>Mi(t.tool,t.live)),s=G(()=>{switch(n.value){case"ok":return"✓";case"error":return"✗";default:return""}}),o=O(!1);let r=!1;Se(n,D=>{r||(o.value=D==="running")},{immediate:!0});function i(){r=!0,o.value=!o.value}const a=new Set(["path","file_path","filePath","file","filename"]),l=G(()=>{const D=t.tool.args;if(!D||typeof D!="object")return null;for(const[E,M]of Object.entries(D))if(a.has(E)&&typeof M=="string"&&M.length>0&&!M.includes(`
232
- `))return M;return null});function u(){const D=l.value;D&&ms(Kl(D,t.workDir||void 0),{sessionId:t.sessionId||null})}const c=G(()=>{const D=t.tool.args;if(!D||typeof D!="object")return D===void 0?"":String(D);const E=[];for(const[M,T]of Object.entries(D)){if(l.value!==null&&a.has(M)&&T===l.value)continue;let Z;if(typeof T=="string")Z=T.length>40?`${T.slice(0,40)}…`:T;else{try{Z=JSON.stringify(T)}catch{Z=String(T)}Z.length>40&&(Z=`${Z.slice(0,40)}…`)}if(E.push(`${M}=${Z}`),E.length>=3)break}return E.join(" ")});function d(){if(!t.tool.args)return"";try{return JSON.stringify(t.tool.args,null,2)}catch{return String(t.tool.args)}}function f(D){return D??""}const p=G(()=>f(t.tool.output)),g=G(()=>p.value.length>8192),y=O(!1),S=G(()=>{const D=p.value;return g.value&&!y.value?`…${D.slice(-400)}`:D}),k=G(()=>{var M;const D=t.tool.progress;if(!D)return"";const E=D.split(`
233
- `).filter(T=>T.trim());return((M=E[E.length-1])==null?void 0:M.slice(0,60))??""}),w=zp(G(()=>t.tool),n,()=>t.live);async function b(){var D;try{await((D=navigator.clipboard)==null?void 0:D.writeText(p.value))}catch{}}const _=G(()=>{const D=p.value.trim();return!/^[\w@./-]+\.(png|jpe?g|gif|webp|avif)$/i.test(D)||D.includes("..")||D.startsWith("/")||g.value?null:`/api/v1/files/raw?path=${encodeURIComponent(D)}`});function B(){const D=_.value;D&&Up(D)}return(D,E)=>(m(),v("div",{class:ue(["tool-card",`is-${n.value}`])},[h("div",{class:"tool-header",role:"button",tabindex:"0",onClick:i,onKeydown:Vn(tt(i,["prevent"]),["enter"])},[h("span",{class:ue(["status-dot",n.value])},[s.value?(m(),v(ne,{key:0},[Ae(C(s.value),1)],64)):U("",!0)],2),h("span",Qx,C(e.tool.name),1),l.value?(m(),v("button",{key:0,class:"tool-pathlink",title:`在文件面板中打开 ${l.value}`,onClick:tt(u,["stop"])},C(l.value),9,eI)):U("",!0),c.value?(m(),v("span",{key:1,class:"tool-params",title:c.value},C(c.value),9,tI)):U("",!0),F(w)?(m(),v("span",{key:2,class:ue(["tool-duration",{live:e.tool.durationMs===void 0}])},C(F(w)),3)):U("",!0),h("span",{class:ue(["tool-chevron",{open:o.value}])},"▸",2)],40,Jx),h("div",{class:ue(["tool-collapse",{open:o.value}])},[h("div",nI,[h("div",sI,[d()?(m(),v("pre",oI,[h("code",null,C(d()),1)])):U("",!0),e.tool.output!==void 0&&!_.value?(m(),v("pre",rI,[h("code",null,C(S.value||"(无输出)"),1)])):U("",!0),e.tool.output!==void 0&&_.value?(m(),v("div",iI,[h("button",{type:"button",class:"tool-image-btn",title:"点击图片放大预览","aria-label":"放大预览图片",onClick:B},[h("img",{class:"tool-image",src:_.value,alt:"",loading:"lazy",onError:E[0]||(E[0]=M=>M.currentTarget.style.display="none")},null,40,aI)])])):U("",!0),g.value?(m(),v("div",lI,[h("button",{class:"tool-output-btn",onClick:E[1]||(E[1]=M=>y.value=!y.value)},C(y.value?"收起":"展开全文"),1),h("button",{class:"tool-output-btn",onClick:b},"复制")])):n.value==="running"?(m(),v("div",uI,C(k.value||"执行中…"),1)):U("",!0)])])],2)],2))}}),dI=Te(cI,[["__scopeId","data-v-e65f250b"]]),fI=500;function hI(e,t){const n=e.length,s=t.length,o=Array.from({length:n+1},()=>new Array(s+1).fill(0));for(let r=1;r<=n;r++)for(let i=1;i<=s;i++)o[r][i]=e[r-1]===t[i-1]?o[r-1][i-1]+1:Math.max(o[r-1][i],o[r][i-1]);return o}function pI(e,t,n,s,o){const r=[];for(;s>0||o>0;)s>0&&o>0&&t[s-1]===n[o-1]?(r.unshift({type:"context",text:t[s-1],oldNo:s,newNo:o}),s--,o--):o>0&&(s===0||e[s][o-1]>=e[s-1][o])?(r.unshift({type:"add",text:n[o-1],newNo:o}),o--):(r.unshift({type:"del",text:t[s-1],oldNo:s}),s--);return r}function Hp(e){const t=[],n=e.replaceAll(`\r
228
+ `);he.length<c.value.length&&B();const ae=he.slice(c.value.length);if(ae.length>0){const oe=Px(ae.join(`
229
+ `),I,M,p);if(!oe)return o.value=As(V),!1;p=oe.grammarState,f.value||(f.value={theme:M,style:`background-color:${oe.bg};color:${oe.fg}`}),c.value=c.value.concat(oe.lines)}return f.value?(d.value=_e,S=V,!0):(o.value=As(V),!1)}function A(){t.streaming&&E()}function T(){return f.value?t.code===S?!0:t.code.startsWith(S)?E():!1:!1}function Z(){if(t.streaming){A();return}T()||j()}function W(){a.value=!0,t.streaming?A():j()}async function j(){var ie;if(!a.value){o.value=As(t.code);return}const I=Sd(((ie=t.lang)==null?void 0:ie.toLowerCase())??"text"),M=n.value==="light"?"github-light":"github-dark",V=`${t.code}${I}${M}`;if(!(V===k||V===w)){w=V;try{const me=await bu();await vl(I)?s.value=me.codeToHtml(t.code,{lang:I,theme:M}):s.value=As(t.code)}catch{s.value=As(t.code)}finally{w=null,k=V}f.value=null}}function te(){navigator.clipboard.writeText(t.code).then(()=>{r.value=!0,setTimeout(()=>r.value=!1,1500)})}return et(()=>{u.value&&(l=Dx(u.value,W))}),st(()=>{l==null||l()}),Se(()=>[t.code,t.lang,n.value],()=>Z(),{immediate:!0}),Se(()=>t.streaming,(I,M)=>{M&&!I&&Z()}),(I,M)=>(m(),v("div",{class:"code-block",ref_key:"rootEl",ref:u},[h("div",Nx,[h("span",Ox,C(e.lang||"text"),1),h("button",{class:ue(["code-copy",{copied:r.value}]),onClick:te},C(r.value?"已复制":"复制"),3)]),h("div",Gx,[f.value?(m(),v("pre",{key:0,class:ue(["shiki",f.value.theme]),style:bt(f.value.style),tabindex:"0"},[h("code",null,[(m(!0),v(ne,null,Ce(_.value,V=>(m(),v("span",{key:V.key,class:"shiki-group",innerHTML:V.html},null,8,Bx))),128)),d.value?(m(),v("span",Fx,C(d.value),1)):U("",!0)])],6)):(m(),v("div",{key:1,innerHTML:t.streaming?o.value:s.value||o.value},null,8,Ux))])],512))}}),yl=Te(jx,[["__scopeId","data-v-d595bf82"]]),jn=Wn({open:!1,src:"",alt:""});function Up(e,t=""){e&&(jn.src=e,jn.alt=t,jn.open=!0)}function ka(){jn.open=!1}const zx=200;function Hx(e){const t=e.raw??"";return`${e.type}:${t.length}:${Wx(t).toString(36)}`}function Wx(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+(e.codePointAt(n)??0)|0;return t>>>0}function qx(e){const t=[...e];for(;t.length>0;){const n=t.pop();if(typeof n.type=="object")return!0;if(Array.isArray(n.children))for(const s of n.children)Zs(s)&&t.push(s)}return!1}function Vx(e=zx){let t=new Map,n="";return{render(s,o,r){n.length>0&&o.startsWith(n)||t.clear(),n=o;const a=[],l=new Set;for(const u of s){const c=Hx(u),d=u.raw??"",f=t.get(c);if(f&&f.raw===d&&!l.has(c)){l.add(c),a.push(...f.vnodes);continue}l.add(c);const p=r(u);p.length>0&&!qx(p)&&(t.size>=e&&(t=new Map),t.set(c,{raw:d,vnodes:p})),a.push(...p)}return a},size:()=>t.size,clear:()=>{t=new Map,n=""}}}We.setOptions({gfm:!0,breaks:!1});const Kx=4e4,Ar=6e3,Zx=Ie({props:{content:{type:String,required:!0},streaming:{type:Boolean,default:!1}},setup(e){const t=O(e.content);let n=null;const s=O(!1);let o=e.content;Se(()=>e.content,u=>{!u.startsWith(o)&&!o.startsWith(u)&&(s.value=!1),o=u});const r=G(()=>!e.streaming&&!s.value&&t.value.length>Kx);Se(()=>e.content,u=>{if(!e.streaming){t.value=u;return}n===null&&(n=requestAnimationFrame(()=>{n=null,t.value=e.content}))}),Se(()=>e.streaming,(u,c)=>{c&&!u&&(n!==null&&(cancelAnimationFrame(n),n=null),t.value=e.content)});const i=Vx(),a=G(()=>{const u=r.value?Yx(t.value):t.value,c=Xx(u),d=We.lexer(c);return i.render(d,c,f=>bl(f,e.streaming))}),l=G(()=>t.value.length);return()=>{const u=a.value.slice();return r.value&&u.push(ze("button",{class:"md-expand",type:"button",onClick:()=>{s.value=!0}},`展开全文(共 ${l.value.toLocaleString()} 字符,当前仅预览前 ${Ar.toLocaleString()})`)),ze("div",{class:"markdown-body"},u)}}});function Yx(e){const t=e.lastIndexOf(`
230
+ `,Ar);return(t>Ar/2?e.slice(0,t):e.slice(0,Ar))+`
231
+ …`}function Xx(e){const t=/^(`{3,})/gm;let n=null,s=-1,o=0,r;for(;(r=t.exec(e))!==null;){const i=r[1];n===null?(n=i,s=r.index,o=i.length):i.length>=o&&(n=null)}return n!==null?e.substring(0,s).trimEnd():e}function bl(e,t=!1){const n=e;switch(n.type){case"paragraph":return[ze("p",{class:"md-p"},xn(n.tokens??[]))];case"heading":return[ze(`h${n.depth??2}`,{class:`md-h${n.depth??2}`},xn(n.tokens??[]))];case"code":return[ze(yl,{code:n.text??"",lang:n.lang??"text",streaming:t})];case"blockquote":return[ze("blockquote",{class:"md-blockquote"},(n.tokens??[]).flatMap(s=>bl(s,t)))];case"list":{const s=(n.items??[]).map(o=>{const r=[];return o.task&&r.push(ze("input",{type:"checkbox",checked:o.checked,disabled:!0,class:"md-checkbox"})),r.push(...o.tokens.flatMap(i=>bl(i,t))),ze("li",{class:["md-li",o.task?"md-task":""]},r)});return[ze(n.ordered?"ol":"ul",{class:n.ordered?"md-ol":"md-ul"},s)]}case"hr":return[ze("hr",{class:"md-hr"})];case"space":return[];case"html":return[ze("pre",{class:"md-raw-html"},n.text??"")];case"table":return[ze("div",{class:"md-table-wrap",style:"overflow-x:auto"},[Jx(n)])];case"br":return[ze("br")];case"text":return[ze("span",{class:"md-text"},n.tokens?xn(n.tokens):n.text??"")];case"def":return[];default:return[ze("p",{class:"md-p"},n.raw??"")]}}function Jx(e){const t=(e.header??[]).map((s,o)=>{var a;const r=(a=e.align)==null?void 0:a[o],i=s;return ze("th",{class:"md-th",style:r?`text-align:${r}`:""},i.tokens?xn(i.tokens):String(i.text??""))}),n=(e.rows??[]).map(s=>ze("tr",{},s.map((o,r)=>{var l;const i=(l=e.align)==null?void 0:l[r],a=o;return ze("td",{class:"md-td",style:i?`text-align:${i}`:""},a.tokens?xn(a.tokens):String(a.text??""))})));return ze("table",{class:"md-table"},[ze("thead",{},[ze("tr",{},t)]),ze("tbody",{},n)])}function xn(e){return e.map(t=>{const n=t;switch(n.type){case"text":return n.text??"";case"codespan":return ze("code",{class:"md-code"},n.text??"");case"strong":return ze("strong",{class:"md-strong"},xn(n.tokens??[]));case"em":return ze("em",{class:"md-em"},xn(n.tokens??[]));case"del":return ze("del",{class:"md-del"},xn(n.tokens??[]));case"link":{const s=n.href;return s&&!/^(https?:|mailto:|#|\/)/i.test(s)?n.raw??"":ze("a",{class:"md-a",href:s,target:"_blank",rel:"noopener"},xn(n.tokens??[]))}case"image":{const s=n.href??"";return ze("button",{type:"button",class:"md-img-btn",title:"点击图片放大预览","aria-label":n.text?`放大预览图片:${n.text}`:"放大预览图片",onClick:()=>Up(s,n.text??"")},[ze("img",{class:"md-img",src:s,alt:n.text??"",loading:"lazy"})])}case"br":return ze("br");case"html":return ze("code",{class:"md-raw-inline"},n.text??"");case"escape":return n.text??"";default:return n.raw??""}})}const jp=Te(Zx,[["__scopeId","data-v-b42f9687"]]);function zp(e,t,n){const s=O("");let o;function r(){o!==void 0&&(clearInterval(o),o=void 0)}return Se(()=>[e.value.durationMs,t.value],()=>{r();const i=e.value.durationMs;if(i!==void 0){s.value=na(i);return}if(s.value="",t.value!=="running"||!n())return;const a=py(e.value.toolCallId);a!==void 0&&(s.value=na(Date.now()-a),o=setInterval(()=>{s.value=na(Date.now()-a)},1e3))},{immediate:!0}),st(r),s}const Qx=["onKeydown"],eI={class:"tool-name"},tI=["title"],nI=["title"],sI={class:"tool-collapse-inner"},oI={class:"tool-body"},rI={key:0,class:"tool-args"},iI={key:1,class:"tool-result"},aI={key:2,class:"tool-image-wrap"},lI=["src"],uI={key:3,class:"tool-output-actions"},cI={key:4,class:"tool-running-hint"},dI=Ie({__name:"GenericToolCard",props:{tool:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=G(()=>Ri(t.tool,t.live)),s=G(()=>{switch(n.value){case"ok":return"✓";case"error":return"✗";default:return""}}),o=O(!1);let r=!1;Se(n,D=>{r||(o.value=D==="running")},{immediate:!0});function i(){r=!0,o.value=!o.value}const a=new Set(["path","file_path","filePath","file","filename"]),l=G(()=>{const D=t.tool.args;if(!D||typeof D!="object")return null;for(const[E,A]of Object.entries(D))if(a.has(E)&&typeof A=="string"&&A.length>0&&!A.includes(`
232
+ `))return A;return null});function u(){const D=l.value;D&&vs(Kl(D,t.workDir||void 0),{sessionId:t.sessionId||null})}const c=G(()=>{const D=t.tool.args;if(!D||typeof D!="object")return D===void 0?"":String(D);const E=[];for(const[A,T]of Object.entries(D)){if(l.value!==null&&a.has(A)&&T===l.value)continue;let Z;if(typeof T=="string")Z=T.length>40?`${T.slice(0,40)}…`:T;else{try{Z=JSON.stringify(T)}catch{Z=String(T)}Z.length>40&&(Z=`${Z.slice(0,40)}…`)}if(E.push(`${A}=${Z}`),E.length>=3)break}return E.join(" ")});function d(){if(!t.tool.args)return"";try{return JSON.stringify(t.tool.args,null,2)}catch{return String(t.tool.args)}}function f(D){return D??""}const p=G(()=>f(t.tool.output)),g=G(()=>p.value.length>8192),y=O(!1),S=G(()=>{const D=p.value;return g.value&&!y.value?`…${D.slice(-400)}`:D}),k=G(()=>{var A;const D=t.tool.progress;if(!D)return"";const E=D.split(`
233
+ `).filter(T=>T.trim());return((A=E[E.length-1])==null?void 0:A.slice(0,60))??""}),w=zp(G(()=>t.tool),n,()=>t.live);async function b(){var D;try{await((D=navigator.clipboard)==null?void 0:D.writeText(p.value))}catch{}}const _=G(()=>{const D=p.value.trim();return!/^[\w@./-]+\.(png|jpe?g|gif|webp|avif)$/i.test(D)||D.includes("..")||D.startsWith("/")||g.value?null:`/api/v1/files/raw?path=${encodeURIComponent(D)}`});function B(){const D=_.value;D&&Up(D)}return(D,E)=>(m(),v("div",{class:ue(["tool-card",`is-${n.value}`])},[h("div",{class:"tool-header",role:"button",tabindex:"0",onClick:i,onKeydown:Vn(tt(i,["prevent"]),["enter"])},[h("span",{class:ue(["status-dot",n.value])},[s.value?(m(),v(ne,{key:0},[Ae(C(s.value),1)],64)):U("",!0)],2),h("span",eI,C(e.tool.name),1),l.value?(m(),v("button",{key:0,class:"tool-pathlink",title:`在文件面板中打开 ${l.value}`,onClick:tt(u,["stop"])},C(l.value),9,tI)):U("",!0),c.value?(m(),v("span",{key:1,class:"tool-params",title:c.value},C(c.value),9,nI)):U("",!0),F(w)?(m(),v("span",{key:2,class:ue(["tool-duration",{live:e.tool.durationMs===void 0}])},C(F(w)),3)):U("",!0),h("span",{class:ue(["tool-chevron",{open:o.value}])},"▸",2)],40,Qx),h("div",{class:ue(["tool-collapse",{open:o.value}])},[h("div",sI,[h("div",oI,[d()?(m(),v("pre",rI,[h("code",null,C(d()),1)])):U("",!0),e.tool.output!==void 0&&!_.value?(m(),v("pre",iI,[h("code",null,C(S.value||"(无输出)"),1)])):U("",!0),e.tool.output!==void 0&&_.value?(m(),v("div",aI,[h("button",{type:"button",class:"tool-image-btn",title:"点击图片放大预览","aria-label":"放大预览图片",onClick:B},[h("img",{class:"tool-image",src:_.value,alt:"",loading:"lazy",onError:E[0]||(E[0]=A=>A.currentTarget.style.display="none")},null,40,lI)])])):U("",!0),g.value?(m(),v("div",uI,[h("button",{class:"tool-output-btn",onClick:E[1]||(E[1]=A=>y.value=!y.value)},C(y.value?"收起":"展开全文"),1),h("button",{class:"tool-output-btn",onClick:b},"复制")])):n.value==="running"?(m(),v("div",cI,C(k.value||"执行中…"),1)):U("",!0)])])],2)],2))}}),fI=Te(dI,[["__scopeId","data-v-e65f250b"]]),hI=500;function pI(e,t){const n=e.length,s=t.length,o=Array.from({length:n+1},()=>new Array(s+1).fill(0));for(let r=1;r<=n;r++)for(let i=1;i<=s;i++)o[r][i]=e[r-1]===t[i-1]?o[r-1][i-1]+1:Math.max(o[r-1][i],o[r][i-1]);return o}function gI(e,t,n,s,o){const r=[];for(;s>0||o>0;)s>0&&o>0&&t[s-1]===n[o-1]?(r.unshift({type:"context",text:t[s-1],oldNo:s,newNo:o}),s--,o--):o>0&&(s===0||e[s][o-1]>=e[s-1][o])?(r.unshift({type:"add",text:n[o-1],newNo:o}),o--):(r.unshift({type:"del",text:t[s-1],oldNo:s}),s--);return r}function Hp(e){const t=[],n=e.replaceAll(`\r
234
234
  `,`
235
235
  `).split(`
236
- `);let s=0,o=0;for(const r of n){if(r.startsWith("@@")){const i=/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(r);s=i?Number(i[1]):0,o=i?Number(i[2]):0;const a=r.startsWith("@@")?r.slice(r.indexOf("@@")+2,r.lastIndexOf("@@")||r.length):"";t.push({type:"context",text:a.trim()?`@@ hunk ${s},${o} @@`:r,oldNo:s,newNo:o});continue}if(r.startsWith("+++")||r.startsWith("---")){t.push({type:"context",text:r,oldNo:s,newNo:o});continue}r.startsWith("+")?(o+=1,t.push({type:"add",text:r.slice(1),newNo:o})):r.startsWith("-")?(s+=1,t.push({type:"del",text:r.slice(1),oldNo:s})):(s+=1,o+=1,t.push({type:"context",text:r,oldNo:s,newNo:o}))}return t}function gI(e,t){const n=e.split(`
236
+ `);let s=0,o=0;for(const r of n){if(r.startsWith("@@")){const i=/@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(r);s=i?Number(i[1]):0,o=i?Number(i[2]):0;const a=r.startsWith("@@")?r.slice(r.indexOf("@@")+2,r.lastIndexOf("@@")||r.length):"";t.push({type:"context",text:a.trim()?`@@ hunk ${s},${o} @@`:r,oldNo:s,newNo:o});continue}if(r.startsWith("+++")||r.startsWith("---")){t.push({type:"context",text:r,oldNo:s,newNo:o});continue}r.startsWith("+")?(o+=1,t.push({type:"add",text:r.slice(1),newNo:o})):r.startsWith("-")?(s+=1,t.push({type:"del",text:r.slice(1),oldNo:s})):(s+=1,o+=1,t.push({type:"context",text:r,oldNo:s,newNo:o}))}return t}function mI(e,t){const n=e.split(`
237
237
  `),s=t.split(`
238
- `);if(n.length+s.length>fI){const r=[];return n.forEach((i,a)=>r.push({type:"del",text:i,oldNo:a+1})),s.forEach((i,a)=>r.push({type:"add",text:i,newNo:a+1})),r}const o=hI(n,s);return pI(o,n,s,n.length,s.length)}function mI(e){let t=0,n=0;for(const s of e)s.type==="add"?t++:s.type==="del"&&n++;return{added:t,removed:n}}const vI=["old_string","oldString","old_str","old_text","oldText","old","search"],yI=["new_string","newString","new_str","new_text","newText","new","replace","content"],bI=["path","file_path","filePath","file","filename"];function ka(e,t){for(const n of t){const s=e[n];if(typeof s=="string"&&s.length>0)return s}}function kI(e){if(!e||typeof e!="object")return null;const t=e,n=ka(t,bI),s=ka(t,vI),o=ka(t,yI);if(!o&&!s)return null;const r=gI(s??"",o??""),i=mI(r);return{path:n,diff:r,stats:i}}const wI={class:"diff-lines"},SI={class:"dl-gutter old"},_I={class:"dl-gutter new"},$I={class:"dl-sign"},CI={class:"dl-text"},xI=Ie({__name:"DiffLines",props:{lines:{}},setup(e){return(t,n)=>(m(),v("div",wI,[(m(!0),v(ne,null,Ce(e.lines,(s,o)=>(m(),v("div",{key:o,class:ue(["dl",`dl-${s.type}`])},[h("span",SI,C(s.oldNo??""),1),h("span",_I,C(s.newNo??""),1),h("span",$I,C(s.type==="add"?"+":s.type==="del"?"−":" "),1),h("span",CI,C(s.text),1)],2))),128))]))}}),wu=Te(xI,[["__scopeId","data-v-e2e145aa"]]),II=["onKeydown"],TI={class:"tool-name"},EI=["title"],AI={key:1,class:"diff-chip"},MI={class:"tool-collapse-inner"},RI={class:"tool-body"},PI={key:1,class:"tool-result"},LI={key:2,class:"tool-running-hint"},DI=Ie({__name:"EditToolCard",props:{tool:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=G(()=>Mi(t.tool,t.live)),s=G(()=>{switch(n.value){case"ok":return"✓";case"error":return"✗";default:return""}}),o=G(()=>kI(t.tool.args)),r=G(()=>{const y=o.value;if(!y||n.value==="error")return"";const{added:S,removed:k}=y.stats;return!S&&!k?"":`+${S} −${k}`}),i=G(()=>{var y;return(y=o.value)==null?void 0:y.path}),a=O(!1);let l=!1;Se(n,y=>{l||(a.value=y==="running")},{immediate:!0});function u(){l=!0,a.value=!a.value}const c=G(()=>{var y;return((y=o.value)==null?void 0:y.diff)??[]}),d=G(()=>c.value.length>0),f=zp(G(()=>t.tool),n,()=>t.live);function p(){const y=i.value;y&&ms(Kl(y,t.workDir||void 0),{modeHint:"diff",sessionId:t.sessionId||null})}const g=G(()=>{var k;const y=t.tool.progress;if(!y)return"";const S=y.split(`
239
- `).filter(w=>w.trim());return((k=S[S.length-1])==null?void 0:k.slice(0,60))??""});return(y,S)=>(m(),v("div",{class:ue(["tool-card",`is-${n.value}`,"edit-tool-card"])},[h("div",{class:"tool-header",role:"button",tabindex:"0",onClick:u,onKeydown:Vn(tt(u,["prevent"]),["enter"])},[h("span",{class:ue(["status-dot",n.value])},[s.value?(m(),v(ne,{key:0},[Ae(C(s.value),1)],64)):U("",!0)],2),h("span",TI,C(e.tool.name),1),i.value?(m(),v("button",{key:0,class:"tool-filepath",title:`在文件面板中打开(diff) ${i.value}`,onClick:tt(p,["stop"])},C(i.value),9,EI)):U("",!0),r.value?(m(),v("span",AI,C(r.value),1)):U("",!0),F(f)?(m(),v("span",{key:2,class:ue(["tool-duration",{live:e.tool.durationMs===void 0}])},C(F(f)),3)):U("",!0),h("span",{class:ue(["tool-chevron",{open:a.value}])},"▸",2)],40,II),h("div",{class:ue(["tool-collapse",{open:a.value}])},[h("div",MI,[h("div",RI,[d.value?(m(),De(wu,{key:0,lines:c.value},null,8,["lines"])):U("",!0),e.tool.output!==void 0?(m(),v("pre",PI,[h("code",null,C(e.tool.output||"(无输出)"),1)])):(m(),v("div",LI,C(g.value||"执行中…"),1))])])],2)],2))}}),NI=Te(DI,[["__scopeId","data-v-a5355539"]]),OI=["aria-expanded"],GI={class:"process-label"},BI={class:"process-meta"},FI=["title"],UI={class:"process-collapse"},jI={class:"process-inner"},zI={key:0,class:"process-more"},HI=["aria-expanded"],wa=20,WI=Ie({__name:"ToolGroup",props:{name:{},tools:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=O(!1),s=G(()=>d0(t.tools,t.live)),o=G(()=>t.tools.filter(c=>c.output!==void 0&&!c.isError).length),r=G(()=>s.value==="running"?"执行中":s.value==="error"?"含失败调用":s.value==="suspended"?"含挂起等待":s.value==="unknown"?"结果未持久化":`已完成 ${o.value} 项`);function i(){n.value=!n.value}const a=O(!1),l=G(()=>Math.max(0,t.tools.length-wa)),u=G(()=>a.value?t.tools:t.tools.slice(0,wa));return(c,d)=>(m(),v("section",{class:ue(["tool-process",{open:n.value,running:s.value==="running",error:s.value==="error"}])},[h("button",{class:"process-head",type:"button","aria-expanded":n.value,onClick:i},[X(ce,{name:"chevron-down",size:12,class:"chevron"}),h("span",{class:ue(["process-dot",s.value]),"aria-hidden":"true"},null,2),h("span",GI,C(e.name),1),h("span",BI,C(r.value)+" · "+C(e.tools.length)+" 步",1),h("span",{class:"process-names",title:e.tools.map(f=>f.name).join("、")},C(e.tools.map(f=>f.name).join(" · ")),9,FI)],8,OI),h("div",UI,[h("div",jI,[(m(!0),v(ne,null,Ce(u.value,f=>(m(),De(Tf(F(Sh)(f.name)?NI:dI),{key:f.toolCallId,tool:f,live:e.live,"work-dir":e.workDir,"session-id":e.sessionId},null,8,["tool","live","work-dir","session-id"]))),128)),n.value&&l.value>0?(m(),v("div",zI,[h("button",{type:"button",class:"process-more-btn","aria-expanded":a.value,onClick:d[0]||(d[0]=f=>a.value=!a.value)},C(a.value?`收起,只看前 ${wa} 条`:`还有 ${l.value} 条 · 显示全部`),9,HI)])):U("",!0)])])],2))}}),qI=Te(WI,[["__scopeId","data-v-4441817e"]]),VI={class:"thinking-block"},KI=["title"],ZI={class:"teaser-text"},YI={class:"teaser-open"},XI={key:1,class:"thinking-stream","data-state":"running"},JI={class:"thinking-panel",role:"dialog","aria-label":"思考过程"},QI={class:"panel-body"},eT=Ie({__name:"ThinkingBlock",props:{tool:{},active:{type:Boolean,default:!1},sessionId:{default:""},msgSeq:{default:void 0}},setup(e){const t=e,n=O(!1),s=O(null),o=O(!1),r=O(!1),i=O(t.tool.output??"");Se(()=>t.tool.output,f=>{f!==void 0&&!o.value&&!r.value&&(i.value=f)});const a=G(()=>!!t.tool.truncated);async function l(){if(!(!a.value||r.value||o.value)&&!(!t.sessionId||t.msgSeq===void 0)){o.value=!0;try{const p=await(await fetch(`/api/v1/sessions/${t.sessionId}/messages?seq=${t.msgSeq}&tool=${encodeURIComponent(t.tool.toolCallId)}`)).json();typeof p.output=="string"&&p.output.length>0&&(i.value=p.output,r.value=!0)}catch{}finally{o.value=!1}}}const u=G(()=>i.value.split(/\n+/).map(p=>p.trim()).filter(Boolean).at(-1)??"");Se(i,()=>{t.active&&Fe(()=>{const f=s.value;f&&(f.scrollTop=f.scrollHeight)})});function c(){l(),n.value=!0}function d(){n.value=!1}return(f,p)=>(m(),v("div",VI,[e.active?(m(),v("div",XI,[p[1]||(p[1]=h("div",{class:"stream-header"},[h("span",{class:"stream-icon"},"💭"),h("span",{class:"stream-title"},"思考中…"),h("span",{class:"stream-dot"})],-1)),h("div",{ref_key:"streamRef",ref:s,class:"stream-body"},C(i.value),513)])):(m(),v("button",{key:0,class:"thinking-teaser",title:a.value?"思考较长,点击查看完整思考过程":"点击查看完整思考过程",onClick:c},[p[0]||(p[0]=h("span",{class:"teaser-icon"},"💭",-1)),h("span",ZI,C(o.value?"加载完整思考…":u.value||"思考过程"),1),h("span",YI,C(a.value?"查看全文":"展开"),1)],8,KI)),(m(),De(Xs,{to:"body"},[n.value?(m(),v("div",{key:0,class:"thinking-overlay",onClick:tt(d,["self"])},[h("aside",JI,[h("header",{class:"panel-header"},[p[2]||(p[2]=h("span",null,"💭 思考过程",-1)),h("button",{class:"panel-close","aria-label":"关闭",onClick:d},"✕")]),h("div",QI,C(i.value||"(空)"),1)])])):U("",!0)]))]))}}),tT=Te(eT,[["__scopeId","data-v-9382b07d"]]),nT={key:0,class:"clock"},sT={class:"stat"},oT={class:"stat"},rT={class:"stat"},iT={class:"stat"},aT={class:"stat"},lT={class:"stat"},uT=Ie({__name:"TurnStats",props:{stats:{},inline:{type:Boolean}},setup(e){const t=e,n=O(null);let s=null;function o(){s!==null&&(clearInterval(s),s=null)}function r(){o();const l=t.stats.llmMs??0,u=Date.now();n.value=l,s=setInterval(()=>{n.value=l+(Date.now()-u)},300)}Se(()=>t.stats.status,l=>{l==="running"?r():o()},{immediate:!0}),st(o);function i(l){return l==null?"—":l<1e3?`${Math.round(l)}ms`:`${(l/1e3).toFixed(1)}s`}function a(l){return l==null?"—":l>=1e3?`${(l/1e3).toFixed(1)}k`:`${l}`}return(l,u)=>(m(),v("div",{class:ue(["turn-stats",[`is-${e.stats.status}`,{"is-inline":e.inline}]]),"aria-live":"polite"},[e.stats.status==="running"?(m(),v(ne,{key:0},[u[0]||(u[0]=h("span",{class:"badge-gradient"},"正在思考",-1)),n.value!==null?(m(),v("span",nT,C(i(n.value)),1)):U("",!0)],64)):(m(),v(ne,{key:1},[h("span",sT,C(e.stats.turn)+" 轮 · "+C(e.stats.step)+" 步",1),u[10]||(u[10]=h("span",{class:"dot"},"·",-1)),h("span",oT,[u[1]||(u[1]=h("span",{class:"k"},"LLM",-1)),Ae(" "+C(i(e.stats.llmMs)),1)]),e.stats.toolMs?(m(),v(ne,{key:0},[u[3]||(u[3]=h("span",{class:"dot"},"·",-1)),h("span",rT,[u[2]||(u[2]=h("span",{class:"k"},"工具",-1)),Ae(" "+C(i(e.stats.toolMs)),1)])],64)):U("",!0),e.stats.firstTokenMs!==null&&e.stats.firstTokenMs!==void 0?(m(),v(ne,{key:1},[u[5]||(u[5]=h("span",{class:"dot"},"·",-1)),h("span",iT,[u[4]||(u[4]=h("span",{class:"k"},"首token",-1)),Ae(" "+C(i(e.stats.firstTokenMs)),1)])],64)):U("",!0),e.stats.tokens!==null&&e.stats.tokens!==void 0?(m(),v(ne,{key:2},[u[7]||(u[7]=h("span",{class:"dot"},"·",-1)),h("span",aT,[u[6]||(u[6]=h("span",{class:"k"},"tokens",-1)),Ae(" "+C(a(e.stats.tokens)),1)])],64)):U("",!0),e.stats.tokensPerSec!==null&&e.stats.tokensPerSec!==void 0?(m(),v(ne,{key:3},[u[9]||(u[9]=h("span",{class:"dot"},"·",-1)),h("span",lT,[u[8]||(u[8]=h("span",{class:"k"},"tok/s",-1)),Ae(" "+C(e.stats.tokensPerSec),1)])],64)):U("",!0)],64))],2))}}),Cd=Te(uT,[["__scopeId","data-v-dad21b9b"]]),cT=["data-message-id","data-message-role"],dT={key:0,class:"user-wrap"},fT={class:"user-head"},hT={key:0,class:"meta-time"},pT={class:"user-avatar","aria-hidden":"true"},gT={class:"user-bubble"},mT=["title","onClick"],vT={key:0,class:"message-meta user-meta"},yT={key:1,class:"assistant-wrap"},bT={key:0,class:"assistant-brand"},kT=["title"],wT={key:1,class:"brand-streaming"},ST={key:3,class:"brand-time"},_T={class:"assistant-body"},$T={key:0,class:"degraded-note"},CT={key:4,class:"streaming-cursor","aria-label":"正在生成"},xT={key:6,class:"written-files",role:"group","aria-label":"本回合写入的文件"},IT=["title","onClick"],TT={class:"written-file-name"},ET={key:7,class:"message-meta"},AT=["title"],MT=["title"],RT=Ie({__name:"MessageItem",props:{message:{},isLatestUser:{type:Boolean,default:!1},idle:{type:Boolean,default:!0},streaming:{type:Boolean,default:!1},canFork:{type:Boolean,default:!1},showTimestamp:{type:Boolean,default:!0},showModel:{type:Boolean,default:!0},sessionId:{default:""},workDir:{default:""}},emits:["edit","retry","fork"],setup(e,{emit:t}){const n=e,s=t,o=O(!1);let r=null;const i=G(()=>n.message.role==="user"),a=G(()=>n.message.role==="assistant"),l=G(()=>{var W;return((W=n.message.turnStats)==null?void 0:W.status)==="running"}),u=G(()=>n.message.tools.filter(W=>W.name==="thinking")),c=G(()=>n.message.tools.filter(W=>W.name!=="thinking")),d=G(()=>n.message.ts!==void 0?a0(n.message.ts):""),f=G(()=>{const W=n.message.model??"",j=W.lastIndexOf("/");return j>=0&&j<W.length-1?W.slice(j+1):W}),p=G(()=>i.value&&n.isLatestUser&&n.idle),g=G(()=>a.value&&!n.streaming?h0(n.message,n.workDir||void 0):[]);function y(W){return W.split("/").pop()||W}function S(W){ms(W,{sessionId:n.sessionId||void 0})}const k=/(^|\s)@("[^"\n]+"|[^\s"]+)/g;function w(W){if(!W||W.startsWith("/")||W.startsWith("~"))return W;const j=n.workDir.trim();if(!j)return W;let te=W;for(;te.startsWith("./");)te=te.slice(2);return`${j.replace(/\/+$/,"")}/${te}`}const b=G(()=>{const W=n.message.content;if(!i.value||!W||!W.includes("@"))return[];const j=[];let te=0;k.lastIndex=0;let I;for(;(I=k.exec(W))!==null;){const A=I.index+I[1].length;A>te&&j.push({text:W.slice(te,A),path:null});const V=I[2],ie=V.startsWith('"')?V.slice(1,-1):V;j.push({text:W.slice(A,A+1+V.length),path:w(ie)}),te=A+1+V.length}return te<W.length&&j.push({text:W.slice(te),path:null}),j});function _(W){ms(W,{sessionId:n.sessionId||void 0})}const B=In("showThinking",O(!0)),D=In("showTools",O(!0)),E=O(!1);let M=null;function T(){if(typeof window>"u"||!("speechSynthesis"in window))return;if(E.value){window.speechSynthesis.cancel(),E.value=!1,M=null;return}const W=n.message.content;if(!W)return;const j=new SpeechSynthesisUtterance(W);j.lang="zh-CN";const te=()=>{M===te&&(E.value=!1,M=null)};M=te,j.addEventListener("end",te),j.addEventListener("error",te),window.speechSynthesis.cancel(),requestAnimationFrame(()=>{window.speechSynthesis.speak(j)}),E.value=!0}st(()=>{E.value&&"speechSynthesis"in window&&window.speechSynthesis.cancel()});async function Z(){try{await navigator.clipboard.writeText(n.message.content)}catch{const W=document.createElement("textarea");W.value=n.message.content,document.body.append(W),W.select(),document.execCommand("copy"),W.remove()}o.value=!0,r!==null&&clearTimeout(r),r=window.setTimeout(()=>{o.value=!1},1500)}return(W,j)=>(m(),v("article",{class:ue(["message",e.message.role,{error:e.message.isError}]),"data-message-id":e.message.id,"data-message-role":e.message.role},[i.value?(m(),v("div",dT,[h("div",fT,[d.value?(m(),v("span",hT,C(d.value),1)):U("",!0),j[3]||(j[3]=h("span",{class:"head-name"},"你",-1)),h("span",pT,[X(ce,{name:"user",size:12})])]),h("div",gT,[b.value.length?(m(!0),v(ne,{key:0},Ce(b.value,(te,I)=>(m(),v(ne,{key:I},[te.path!==null?(m(),v("button",{key:0,class:"at-link",title:`在文件面板中打开 ${te.path}`,onClick:A=>_(te.path??"")},C(te.text),9,mT)):(m(),v(ne,{key:1},[Ae(C(te.text),1)],64))],64))),128)):(m(),v(ne,{key:1},[Ae(C(e.message.content),1)],64))]),p.value?(m(),v("div",vT,[h("button",{title:"编辑并重新发送",onClick:j[0]||(j[0]=te=>s("edit",e.message.content))},[X(ce,{name:"edit",size:12}),j[4]||(j[4]=Ae("编辑重发",-1))])])):U("",!0)])):(m(),v("div",yT,[a.value&&(e.message.model&&e.showModel||e.streaming||l.value||e.showTimestamp&&d.value)?(m(),v("div",bT,[e.message.model&&e.showModel?(m(),v("span",{key:0,class:"brand-model",title:e.message.model},C(f.value),9,kT)):U("",!0),e.streaming?(m(),v("span",wT,[...j[5]||(j[5]=[h("i",{"aria-hidden":"true"},null,-1),Ae("生成中",-1)])])):U("",!0),l.value?(m(),De(Cd,{key:2,stats:e.message.turnStats,inline:""},null,8,["stats"])):U("",!0),e.showTimestamp&&d.value?(m(),v("time",ST,C(d.value),1)):U("",!0)])):U("",!0),h("div",_T,[e.message.degraded?(m(),v("p",$T,"该回合早于持久化快照:正文与思考在服务重启后无法恢复(工具记录与消息结构已保留)。")):U("",!0),F(B)?(m(!0),v(ne,{key:1},Ce(u.value,te=>(m(),De(tT,{key:te.toolCallId,tool:te,active:e.streaming,"session-id":e.sessionId,"msg-seq":e.message.seq},null,8,["tool","active","session-id","msg-seq"]))),128)):U("",!0),c.value.length&&F(D)?(m(),De(qI,{key:2,name:"工具调用过程",tools:c.value,live:e.streaming,"work-dir":e.workDir,"session-id":e.sessionId},null,8,["tools","live","work-dir","session-id"])):U("",!0),e.message.content?(m(),De(jp,{key:3,class:"assistant-content",content:e.message.content,streaming:e.streaming},null,8,["content","streaming"])):e.streaming?(m(),v("span",CT)):U("",!0),e.message.turnStats&&e.message.turnStats.status!=="running"?(m(),De(Cd,{key:5,stats:e.message.turnStats},null,8,["stats"])):U("",!0),g.value.length?(m(),v("div",xT,[(m(!0),v(ne,null,Ce(g.value,te=>(m(),v("button",{key:te.filePath,type:"button",class:"written-file",title:`在文件面板中打开 ${te.filePath}`,onClick:I=>S(te.filePath)},[X(ce,{name:"file",size:12}),h("span",TT,C(y(te.filePath)),1)],8,IT))),128))])):U("",!0),e.message.content||e.message.isError&&!e.streaming||e.canFork?(m(),v("div",ET,[e.message.content?(m(),v("button",{key:0,title:o.value?"已复制":"复制内容",onClick:Z},[X(ce,{name:o.value?"check":"copy",size:12},null,8,["name"]),Ae(C(o.value?"已复制":"复制"),1)],8,AT)):U("",!0),e.message.content?(m(),v("button",{key:1,title:E.value?"停止朗读":"朗读",onClick:T},[X(ce,{name:E.value?"speaker-off":"speaker",size:12},null,8,["name"]),Ae(C(E.value?"停止":"朗读"),1)],8,MT)):U("",!0),e.message.isError&&!e.streaming?(m(),v("button",{key:2,class:"retry-btn",title:"重发最后一条消息",onClick:j[1]||(j[1]=te=>s("retry"))},[X(ce,{name:"refresh",size:12}),j[6]||(j[6]=Ae("重试",-1))])):U("",!0),a.value&&e.canFork&&!e.streaming?(m(),v("button",{key:3,title:"以当前对话为起点创建一个新会话",onClick:j[2]||(j[2]=te=>s("fork"))},[X(ce,{name:"fork",size:12}),j[7]||(j[7]=Ae("Fork",-1))])):U("",!0)])):U("",!0)])]))],10,cT))}}),PT=Te(RT,[["__scopeId","data-v-c06917b6"]]),LT=["title","aria-label","onMouseenter","onClick"],DT={key:0,class:"minimap-tooltip"},NT="(min-width: 960px)",OT="(prefers-reduced-motion: reduce)",GT=24,BT=1e3,FT=Ie({__name:"ChatMinimap",props:{messages:{},host:{},revision:{},revealMessage:{type:Function}},setup(e){const t=e,n=O(null),s=typeof window.matchMedia=="function",o=s?window.matchMedia(NT):null,r=s?window.matchMedia(OT):null,i=O((o==null?void 0:o.matches)??!1),a=O((r==null?void 0:r.matches)??!1);function l(oe){i.value=oe.matches}function u(oe){a.value=oe.matches}et(()=>o==null?void 0:o.addEventListener("change",l)),st(()=>o==null?void 0:o.removeEventListener("change",l)),et(()=>r==null?void 0:r.addEventListener("change",u)),st(()=>r==null?void 0:r.removeEventListener("change",u));function c(oe){var $e;const ge=(($e=oe.content)==null?void 0:$e.length)??0;return ge<=0?.2:.2+.8*(1-1/(1+ge/200))}const d=G(()=>{let oe=0;return t.messages.map((ge,$e)=>{const Ne=c(ge),Ue={id:ge.id??`seq-${$e}`,seq:ge.seq??$e,role:ge.role??"tool",ratio:Ne,offset:oe};return oe+=Ne,Ue})}),f=G(()=>d.value.reduce((oe,ge)=>oe+ge.ratio,0)||1),p=O({scrollTop:0,scrollHeight:0,clientHeight:0,trackHeight:0}),g=O(!1),y=O(!1),S=O(!1),k=O(null),w=G(()=>p.value.scrollHeight>p.value.clientHeight),b=G(()=>{const{scrollTop:oe,scrollHeight:ge,clientHeight:$e,trackHeight:Ne}=p.value;if(!g.value||!w.value||Ne<=0)return{};const Ue=Math.max(GT,$e/ge*Ne),Ke=Math.max(Ne-Ue,0);return{top:`${Math.min(Math.max(oe/ge*Ne,0),Ke)}px`,height:`${Ue}px`}}),_=G(()=>y.value||n.value!==null),B=G(()=>S.value&&!_.value&&!a.value);let D=null;function E(){S.value=!1,!a.value&&(D!==null&&clearTimeout(D),D=setTimeout(()=>{D=null,S.value=!0},BT))}function M(){D!==null&&(clearTimeout(D),D=null)}let T=null;function Z(){var $e;const oe=t.host;if(!oe){g.value=!1;return}const ge=(($e=k.value)==null?void 0:$e.clientHeight)??0;p.value={scrollTop:oe.scrollTop,scrollHeight:oe.scrollHeight,clientHeight:oe.clientHeight,trackHeight:ge||oe.clientHeight},g.value=oe.scrollHeight>0}function W(){T===null&&(T=requestAnimationFrame(()=>{T=null,Z()}))}function j(){E(),W()}function te(){y.value=!0,E()}function I(){y.value=!1,E()}let A=null;function V(){const oe=t.host;A==null||A.disconnect(),A=null,oe&&(oe.addEventListener("scroll",j,{passive:!0}),typeof ResizeObserver<"u"&&(A=new ResizeObserver(()=>W()),A.observe(oe)))}function ie(){var oe;(oe=t.host)==null||oe.removeEventListener("scroll",j),A==null||A.disconnect(),A=null}et(()=>{i.value&&(V(),E(),W())}),st(()=>{ie(),M(),T!==null&&(cancelAnimationFrame(T),T=null)}),Se([()=>t.host,i],()=>{ie(),g.value=!1,Fe(()=>{i.value&&(V(),W())})});const me=G(()=>{var oe,ge;return`${((oe=t.messages[0])==null?void 0:oe.id)??""}|${((ge=t.messages.at(-1))==null?void 0:ge.id)??""}`});let _e="",he="";Se(me,oe=>{const[ge,$e]=oe.split("|"),Ne=_e!==""&&ge!==_e&&$e!==he;_e=ge??"",he=$e??"",Ne&&(g.value=!1),W()},{immediate:!0}),Se(w,oe=>{oe&&Fe(W)}),Se([()=>t.messages.length,()=>t.revision,f,i],()=>{W()});function ae(oe){var Ue;const ge=t.host;if(!ge)return;(Ue=t.revealMessage)==null||Ue.call(t,oe);const $e=`[data-message-id="${CSS.escape(oe)}"]`,Ne=()=>{var Ke;(Ke=ge.querySelector($e))==null||Ke.scrollIntoView({behavior:"smooth",block:"start"})};ge.querySelector($e)?Ne():Fe(Ne)}function pe(oe){const ge=oe.role==="user"?"用户":oe.role==="assistant"?"助手":"工具";return`#${oe.seq} ${ge}`}return(oe,ge)=>i.value&&d.value.length>0&&w.value?(m(),v("div",{key:0,class:ue(["minimap",{"is-quiet":B.value,"is-hovered":_.value}]),role:"navigation","aria-label":"消息地图",onPointerenter:te,onPointerleave:I},[h("div",{ref_key:"trackRef",ref:k,class:"minimap-track"},[(m(!0),v(ne,null,Ce(d.value,$e=>(m(),v("button",{key:$e.id,class:ue(["minimap-block",`role-${$e.role}`]),style:bt({top:`${$e.offset/f.value*100}%`,height:`${Math.max($e.ratio/f.value*100,2)}%`}),title:pe($e),"aria-label":pe($e),onMouseenter:Ne=>n.value=$e.seq,onMouseleave:ge[0]||(ge[0]=Ne=>n.value=null),onClick:Ne=>ae($e.id)},[n.value===$e.seq?(m(),v("span",DT,C(pe($e)),1)):U("",!0)],46,LT))),128)),h("div",{class:ue(["minimap-thumb",{"is-ready":g.value}]),style:bt(b.value),"aria-hidden":"true"},null,6)],512)],34)):U("",!0)}}),UT=Te(FT,[["__scopeId","data-v-b3335103"]]);function xd(e,t){return e-t}function Id(e,t){return Math.max(0,e-t)}const jT={class:"message-list-wrapper"},zT={key:0,class:"conn-banner",role:"status"},HT=["disabled"],WT={key:0,class:"day-divider",role:"separator"},qT={key:1,class:"turn-divider","aria-hidden":"true"},VT={key:1,class:"message-skeleton","aria-hidden":"true"},KT=["aria-label"],ZT={key:0,class:"scroll-badge"},YT=80,XT=40,JT=8,Td=24,QT=Ie({__name:"MessageList",props:{messages:{},busy:{type:Boolean,default:!1},workDir:{default:null},sessionId:{default:""},connected:{type:Boolean,default:!1},olderAvailable:{type:Boolean,default:!1},olderLoading:{type:Boolean,default:!1}},emits:["edit","retry-connection","retry-message","load-older","fork"],setup(e,{emit:t}){const n=e,s=t,o=O(null),r=O(null);let i=null;const a=G(()=>{for(let $=n.messages.length-1;$>=0;$--)if(n.messages[$].role==="user")return n.messages[$].id;return null}),l=G(()=>{var $;return(($=n.messages.at(-1))==null?void 0:$.id)??null}),u=G(()=>{var $;return(($=[...n.messages].reverse().find(H=>H.role==="assistant"))==null?void 0:$.id)??null});function c($){const H=n.messages[$];if(!H)return!1;if(H.role!=="assistant")return!0;const q=n.messages[$+1];return!q||q.role!=="assistant"||H.ts!==void 0&&q.ts!==void 0&&q.ts-H.ts>300*1e3}function d($){const H=n.messages[$];if(!H||H.role!=="assistant"||!H.model)return!1;const q=n.messages[$-1];return!q||q.role!=="assistant"?!0:q.model!==H.model}function f($){const H=n.messages[$];return!!H&&$>0&&H.role==="user"}function p($){const H=n.messages[$],q=$>0?n.messages[$-1]:void 0;return!H||!q||H.ts===void 0||q.ts===void 0||l0(q.ts,H.ts)?null:u0(H.ts)}const g={streaming:!1,isLatestUser:!1,canFork:!1,showTimestamp:!1,showModel:!1,idle:!0},y=G(()=>{const $=a.value,H=l.value,q=u.value,se=[];return n.messages.forEach((fe,ye)=>{const Ee=p(ye);Ee!==null?se.push({kind:"day-divider",key:`${fe.id}-divider`,dividerText:Ee,flags:g}):f(ye)&&se.push({kind:"turn-divider",key:`${fe.id}-divider`,dividerText:null,flags:g}),se.push({kind:"message",key:fe.id,message:fe,dividerText:null,flags:{streaming:n.busy&&fe.id===H&&fe.role==="assistant",isLatestUser:fe.id===$,canFork:!n.busy&&fe.id===q,showTimestamp:c(ye),showModel:d(ye),idle:!n.busy}})}),se});function S($){return Math.max(0,$-YT)}const k=O(S(y.value.length)),w=G(()=>{const $=y.value.length,H=Math.min(Math.max(0,k.value),$);return y.value.slice(H)}),b=G(()=>k.value>0||n.olderAvailable);function _($){const H=y.value;for(let q=0;q<H.length;q++){const se=H[q];if(se.kind==="message"&&se.message.id===$)return q}return-1}function B($){const H=_($);return H<0?!1:(H>=k.value||D(()=>{k.value=Math.max(0,H-JT)}),!0)}function D($){const H=o.value;if(!H){$();return}const q=xd(H.scrollHeight,H.scrollTop);$(),Fe(()=>{const se=o.value;se&&(se.scrollTop=Id(se.scrollHeight,q))})}let E=!1;const M=G(()=>{var q;const $=n.messages.at(-1);if(!$)return 0;let H=$.content.length;for(const se of $.tools)H+=((q=se.output)==null?void 0:q.length)??0;return H});let T=!1;const Z=O(!1),W=O(0);function j(){const $=o.value;return $?$.scrollHeight-$.scrollTop-$.clientHeight<Td:!0}function te(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function I($){k.value=S(y.value.length),requestAnimationFrame(()=>{const H=o.value;if(!H)return;const q=te()?"auto":$;q==="smooth"&&_e(),H.scrollTo({top:H.scrollHeight,behavior:q})})}let A=!1,V=null,ie=null;function me(){const $=o.value;V&&$&&$.removeEventListener("scrollend",V),V=null,A=!1,ie!==null&&(clearTimeout(ie),ie=null)}function _e(){const $=o.value;$&&(me(),A=!0,V=()=>me(),$.addEventListener("scrollend",V),ie=setTimeout(me,1500))}function he(){const $=o.value;!A||!$||($.scrollTo({top:$.scrollTop,behavior:"auto"}),me())}let ae=null,pe=null,oe=0,ge=null;const $e=new Set;function Ne(){const $=pe,H=o.value;if(!$||!H)return;const q=new Set(Array.from(H.children));for(const se of Array.from($e))q.has(se)||($.unobserve(se),$e.delete(se));for(const se of q)$e.has(se)||($.observe(se),$e.add(se))}function Ue(){const $=o.value;if(!$)return;const H=$.scrollHeight,q=H>oe;oe=H,q&&(J||E||(T||j())&&ge===null&&(ge=requestAnimationFrame(()=>{ge=null,I("auto")})))}function Ke($){return $.seq!==void 0?`${$.role}:${$.seq}`:`id:${$.id}`}function Ye($){for(const H of n.messages)if(Ke(H)===$)return H;return null}function rt($){const H=$.querySelectorAll("[data-message-id]");for(const q of H)if(q.offsetTop+q.offsetHeight>$.scrollTop){const se=q.dataset.messageId;if(se)return{id:se,offsetTop:q.offsetTop}}return null}function Dt(){const $=o.value,H=n.sessionId;!$||!H||ae===null&&(ae=requestAnimationFrame(()=>{ae=null;try{const q=rt($);if(!q)return;const se=n.messages.find(ye=>ye.id===q.id),fe=se?Ke(se):`id:${q.id}`;localStorage.setItem(`scream-scroll:${H}`,`v3:${fe}:${Math.round(q.offsetTop-$.scrollTop)}`)}catch{}}))}function x($){try{return localStorage.getItem(`scream-scroll:${$}`)!==null}catch{return!1}}function P(){k.value=S(y.value.length);const $=o.value;$&&($.scrollTop=$.scrollHeight)}async function z($,H){if(!B($))return"unusable";await Fe();const q=o.value;if(!q)return"unusable";const se=Array.from(q.querySelectorAll("[data-message-id]")).find(fe=>fe.dataset.messageId===$);return se?(q.scrollTop=se.offsetTop-H,"restored"):"unusable"}async function ee(){const $=o.value,H=n.sessionId;if(!$||!H)return"missing";let q=null;try{q=localStorage.getItem(`scream-scroll:${H}`)}catch{}if(!q)return"missing";if(q.startsWith("v3:")){const fe=q.slice(3),ye=fe.lastIndexOf(":");if(ye<=0)return"unusable";const Ee=fe.slice(0,ye),ke=Number(fe.slice(ye+1));if(!Number.isFinite(ke))return"unusable";const be=Ye(Ee);return be?z(be.id,ke):"unusable"}if(q.startsWith("v2:")){const fe=q.split(":"),ye=fe[1],Ee=Number(fe[2]);return!ye||!Number.isFinite(Ee)||!n.messages.some(ke=>ke.id===ye)?"unusable":z(ye,Ee)}const se=Number(q);if(!Number.isFinite(se))return"unusable";if(!(se>0))return"restored";if(se>$.scrollHeight-$.clientHeight&&k.value>0){k.value=0,await Fe();const fe=o.value;return fe&&(fe.scrollTop=se),"restored"}return $.scrollTop=se,"restored"}let J=!1;Se(()=>{var $;return[(($=n.messages[0])==null?void 0:$.id)??null,n.messages.length,n.sessionId]},([$,H,q],[se,fe,ye])=>{const Ee=H>0&&$!==null&&se!==null&&$!==se&&H>(fe??0)&&q===ye;if(J=Ee,!Ee)return;E=!0;const ke=o.value;if(!ke)return;const be=xd(ke.scrollHeight,ke.scrollTop);Fe(()=>{ke.scrollTop=Id(ke.scrollHeight,be)})}),Se(()=>y.value.length,($,H)=>{const q=H??0;if(E){E=!1;return}k.value===S(q)&&!Z.value?k.value=S($):k.value>S($)&&D(()=>{k.value=S($)})});function R(){const $=o.value;if(!$)return;const H=$.scrollHeight-$.scrollTop-$.clientHeight>Td;Z.value=H,H||(W.value=0),H&&T&&(T=!1),n.busy||Dt()}let K="";Se(()=>n.sessionId,()=>{K="",W.value=0,J=!1,k.value=S(y.value.length)}),Se(()=>[n.messages.length,M.value],([$],[H])=>{if($!==H){const q=J;if(J=!1,$>0&&K!==n.sessionId){K=n.sessionId;const se=(H??0)===0;if(se&&!x(n.sessionId)){Fe(P);return}requestAnimationFrame(()=>requestAnimationFrame(async()=>{const fe=await ee();fe!=="restored"&&(se||fe==="unusable")&&P()}));return}if(q)return;if(!j()){W.value=Math.max(0,W.value+Math.max(0,$-(H??0)));return}T=!0,Z.value=!1,I("smooth");return}!T&&!j()||I("auto")}),Se(()=>n.busy,$=>{$||(T=!1)});function N(){T=!0,Z.value=!1,W.value=0,I("smooth")}const Q=G(()=>!n.busy||n.messages.length===0?!1:n.messages.at(-1).role==="user");return et(()=>{var $,H,q,se;($=o.value)==null||$.addEventListener("scroll",R,{passive:!0}),(H=o.value)==null||H.addEventListener("wheel",he,{passive:!0}),(q=o.value)==null||q.addEventListener("touchstart",he,{passive:!0}),typeof IntersectionObserver<"u"&&(i=new IntersectionObserver(fe=>{var ye;(ye=fe[0])!=null&&ye.isIntersecting&&(k.value>0&&D(()=>{k.value=Math.max(0,k.value-XT)}),k.value===0&&n.olderAvailable&&!n.olderLoading&&n.messages.length>0&&s("load-older"))},{root:o.value,rootMargin:"120px 0px 0px 0px"}),r.value&&i.observe(r.value)),typeof ResizeObserver<"u"&&(oe=((se=o.value)==null?void 0:se.scrollHeight)??0,pe=new ResizeObserver(Ue),Ne()),Rl(()=>Ne()),requestAnimationFrame(()=>requestAnimationFrame(async()=>{await ee()==="unusable"&&P()}))}),_i(()=>{var $,H,q;($=o.value)==null||$.removeEventListener("scroll",R),(H=o.value)==null||H.removeEventListener("wheel",he),(q=o.value)==null||q.removeEventListener("touchstart",he),i==null||i.disconnect(),i=null,pe==null||pe.disconnect(),pe=null,$e.clear(),ge!==null&&(cancelAnimationFrame(ge),ge=null),me(),ae!==null&&(cancelAnimationFrame(ae),ae=null)}),Se(r,$=>{i&&(i.disconnect(),$&&i.observe($))}),($,H)=>(m(),v("div",jT,[!e.connected&&e.messages.length>0?(m(),v("div",zT,[H[7]||(H[7]=h("span",{class:"conn-dot","aria-hidden":"true"},null,-1)),H[8]||(H[8]=h("span",null,"连接中断,自动恢复中…",-1)),h("button",{class:"conn-retry",onClick:H[0]||(H[0]=q=>s("retry-connection"))},"立即重试")])):U("",!0),h("div",{ref_key:"listRef",ref:o,class:"message-list"},[b.value?(m(),v("div",{key:0,ref_key:"topSentinelRef",ref:r,class:"load-older-row"},[e.olderAvailable?(m(),v("button",{key:0,class:"load-older-btn",disabled:e.olderLoading,onClick:H[1]||(H[1]=q=>s("load-older"))},C(e.olderLoading?"加载中…":"加载更早消息"),9,HT)):U("",!0)],512)):U("",!0),(m(!0),v(ne,null,Ce(w.value,(q,se,fe,ye)=>{const Ee=[q.message,q.flags.streaming,q.flags.isLatestUser,q.flags.canFork,q.flags.showTimestamp,q.flags.showModel,q.flags.idle,q.dividerText,e.busy,e.sessionId,e.workDir];if(ye&&ye.el&&ye.key===q.key&&Xm(ye,Ee))return ye;const ke=(m(),v(ne,{key:q.key},[q.kind==="day-divider"?(m(),v("div",WT,[h("span",null,C(q.dividerText),1)])):q.kind==="turn-divider"?(m(),v("div",qT)):(m(),De(PT,{key:2,message:q.message,"is-latest-user":q.flags.isLatestUser,idle:q.flags.idle,streaming:q.flags.streaming,"session-id":e.sessionId,"can-fork":q.flags.canFork,"show-timestamp":q.flags.showTimestamp,"show-model":q.flags.showModel,"work-dir":e.workDir??void 0,onEdit:H[2]||(H[2]=be=>s("edit",be)),onRetry:H[3]||(H[3]=be=>s("retry-message")),onFork:H[4]||(H[4]=be=>s("fork"))},null,8,["message","is-latest-user","idle","streaming","session-id","can-fork","show-timestamp","show-model","work-dir"]))],64));return ke.memo=Ee,ke},H,5),128)),Q.value?(m(),v("div",VT,[...H[9]||(H[9]=[h("div",{class:"sk-body"},[h("div",{class:"sk-line sk-w-60"}),h("div",{class:"sk-line sk-w-90"}),h("div",{class:"sk-line sk-w-40"})],-1)])])):U("",!0)],512),X(UT,{messages:e.messages,host:o.value,revision:k.value,"reveal-message":B},null,8,["messages","host","revision"]),X(Ol,{name:"scroll-btn"},{default:ot(()=>[Z.value?(m(),v("button",{key:0,class:ue(["scroll-to-bottom",{streaming:e.busy}]),title:"滚动到最新消息","aria-label":W.value>0?`滚动到最新消息,${W.value} 条新消息`:"滚动到最新消息",onClick:N},[X(ce,{name:"chevron-down",size:18}),W.value>0?(m(),v("span",ZT,C(W.value>99?"99+":W.value),1)):U("",!0)],10,KT)):U("",!0)]),_:1})]))}}),eE=Te(QT,[["__scopeId","data-v-af6b9f2e"]]),tE={class:"stats-head"},nE={class:"stats-body"},sE={class:"stats-section"},oE={class:"stats-label-row"},rE={class:"stats-value mono"},iE=["aria-valuenow","aria-label"],aE={key:0,class:"stats-section"},lE={class:"stats-label-row"},uE={class:"stats-value mono"},cE={class:"stats-section"},dE={class:"stats-label-row"},fE={class:"stats-value mono"},hE={class:"stats-grid"},pE={class:"stats-cell-label"},gE={class:"stats-cell-value mono"},mE={key:1,class:"stats-section"},vE=["title"],yE={class:"model-tokens mono"},bE={class:"model-dims mono"},kE={key:1,class:"stats-empty"},wE=Ie({__name:"SessionStatsPanel",props:{status:{},fetchUsage:{type:Function},fetchContext:{type:Function}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=O(null);et(()=>{n.fetchUsage(),n.fetchContext()});function r(w){const b=o.value;b&&!b.contains(w.target)&&s("close")}function i(w){w.key==="Escape"&&s("close")}et(()=>{document.addEventListener("pointerdown",r),window.addEventListener("keydown",i)}),st(()=>{document.removeEventListener("pointerdown",r),window.removeEventListener("keydown",i)});function a(w){return w?w.inputOther+w.output+w.inputCacheRead+w.inputCacheCreation:0}function l(w){return typeof w!="number"?"-":w>=1e6?`${(w/1e6).toFixed(1)}M`:w>=1e3?`${(w/1e3).toFixed(1)}k`:String(w)}function u(w){return typeof w=="number"?w.toLocaleString():"-"}const c=G(()=>{const w=n.status.contextUsage;if(typeof w=="number"&&Number.isFinite(w)){const B=w>1?w:w*100;return Math.max(0,Math.min(B,100))}const b=n.status.contextTokens??0,_=n.status.maxContextTokens??0;return _<=0?0:Math.max(0,Math.min(b/_*100,100))}),d=G(()=>typeof n.status.contextTokens=="number"&&typeof n.status.maxContextTokens=="number"?`${u(n.status.contextTokens)} / ${u(n.status.maxContextTokens)}`:c.value>0?`${c.value.toFixed(1)}%`:"-"),f=G(()=>{var w;return(w=n.status.usage)==null?void 0:w.total}),p=G(()=>{var w;return(w=n.status.usage)==null?void 0:w.currentTurn}),g=G(()=>a(f.value)),y=G(()=>{var b;const w=(b=n.status.usage)==null?void 0:b.byModel;return w?Object.entries(w).map(([_,B])=>({model:_,tokens:a(B),input:B.inputOther,output:B.output,cacheRead:B.inputCacheRead,cacheCreation:B.inputCacheCreation})):[]}),S=G(()=>g.value>0||y.value.length>0||a(p.value)>0),k=G(()=>{var w,b,_,B;return[{key:"input",label:"输入",value:(w=f.value)==null?void 0:w.inputOther},{key:"output",label:"输出",value:(b=f.value)==null?void 0:b.output},{key:"cacheRead",label:"缓存读",value:(_=f.value)==null?void 0:_.inputCacheRead},{key:"cacheCreation",label:"缓存写",value:(B=f.value)==null?void 0:B.inputCacheCreation}]});return(w,b)=>(m(),v("div",{ref_key:"rootRef",ref:o,class:"stats-panel",role:"dialog","aria-label":"会话统计"},[h("div",tE,[b[1]||(b[1]=h("span",{class:"stats-title"},"会话统计",-1)),h("button",{class:"stats-close","aria-label":"关闭统计面板",onClick:b[0]||(b[0]=_=>s("close"))},[X(ce,{name:"x",size:14})])]),h("div",nE,[h("div",sE,[h("div",oE,[b[2]||(b[2]=h("span",{class:"stats-label"},"上下文水位",-1)),h("span",rE,C(d.value),1)]),h("div",{class:"ctx-track",role:"progressbar","aria-valuenow":Math.round(c.value),"aria-valuemin":"0","aria-valuemax":"100","aria-label":`上下文 ${c.value.toFixed(1)}%`},[h("div",{class:"ctx-fill",style:bt({width:`${c.value}%`})},null,4)],8,iE)]),S.value?(m(),v(ne,{key:0},[a(p.value)>0?(m(),v("div",aE,[h("div",lE,[b[3]||(b[3]=h("span",{class:"stats-label"},"当前回合",-1)),h("span",uE,C(l(a(p.value)))+" tokens",1)])])):U("",!0),h("div",cE,[h("div",dE,[b[4]||(b[4]=h("span",{class:"stats-label"},"本会话累计",-1)),h("span",fE,C(l(g.value))+" tokens",1)]),h("div",hE,[(m(!0),v(ne,null,Ce(k.value,_=>(m(),v("div",{key:_.key,class:"stats-cell"},[h("span",pE,C(_.label),1),h("span",gE,C(u(_.value)),1)]))),128))])]),y.value.length>0?(m(),v("div",mE,[b[5]||(b[5]=h("div",{class:"stats-label"},"按模型",-1)),(m(!0),v(ne,null,Ce(y.value,_=>(m(),v("div",{key:_.model,class:"model-row"},[h("span",{class:"model-name",title:_.model},C(_.model),9,vE),h("span",yE,C(u(_.tokens)),1),h("span",bE," 入 "+C(u(_.input))+" · 出 "+C(u(_.output))+" · 缓存 "+C(u(_.cacheRead+_.cacheCreation)),1)]))),128))])):U("",!0)],64)):(m(),v("div",kE,"暂无用量数据"))])],512))}}),SE=Te(wE,[["__scopeId","data-v-631485c2"]]),_E={class:"conversation"},$E={key:1,class:"stats-anchor"},CE={class:"chat-stage"},xE={class:"chat-column"},IE={class:"composer-dock"},TE=Ie({__name:"ConversationView",props:{client:{}},emits:["home"],setup(e,{expose:t,emit:n}){const s=e,o=n,{connectionStatus:r,messages:i,pendingApprovals:a,status:l,sessionId:u,workDir:c,isBusy:d,models:f,sendPrompt:p,sendCommand:g,clearMessages:y,appendSystemMessage:S,abort:k,resolveApproval:w,exportSession:b,fetchSnapshot:_,switchModel:B,switchThinking:D,switchPermission:E,goal:M,pauseGoal:T,resumeGoal:Z,cancelGoal:W}=s.client;async function j(){var ee,J;const P=s.client.sessionId.value;return!P||s.client.connectionStatus.value==="idle"?!1:await(((J=(ee=s.client).waitForConnected)==null?void 0:J.call(ee))??Promise.resolve(s.client.connectionStatus.value==="connected"))&&s.client.sessionId.value===P&&s.client.connectionStatus.value==="connected"}const te=O(null),I=O(!1),A=O(!1),V=O("status"),ie=G(()=>{var ee;const P=(ee=l.value.usage)==null?void 0:ee.currentTurn;if(!P)return null;const z=P.inputOther+P.output+P.inputCacheRead+P.inputCacheCreation;return z>0?z:null}),me=G(()=>{const P=s.client.sessions.value.find(J=>J.sessionId===s.client.currentSessionId.value),z=P==null?void 0:P.title;if(z&&z!=="新会话"&&z!=="New Session")return z;const ee=i.value.find(J=>J.role==="user");if(ee){const J=ee.content.replace(/\s+/g," ").trim();if(J)return J.length>24?`${J.slice(0,24)}…`:J}return z??null}),_e=G(()=>{var P,z;for(let ee=i.value.length-1;ee>=0;ee-=1){const J=(z=(P=i.value[ee])==null?void 0:P.turnStats)==null?void 0:z.turn;if(J)return J}return i.value.filter(ee=>ee.role==="user").length}),he=G(()=>i.value.length===0&&!d.value);function ae(P){var z;(z=te.value)==null||z.insertText(P)}function pe(P,z){return te.value?(te.value.insertDraft(P,z),!0):!1}t({insertDraft:pe});async function oe(){window.confirm("取消目标会让它进入已结束态,确定继续?")&&await W()}function ge(){wr("goal")}function $e(P){_(),V.value=P,A.value=!0}function Ne(){var P;return((P=te.value)==null?void 0:P.openModelPicker())??!1}const{onCommand:Ue}=lh({sendCommand:g,clearMessages:y,appendSystemMessage:S,ensureSession:j,onNew:()=>o("home"),openModelPicker:Ne,showInfo:$e,currentModel:()=>l.value.model});function Ke(P){g("title",P)}function Ye(){if(d.value||!r.value)return;const P=[...i.value].reverse().find(z=>z.role==="user");P&&p(P.content)}const rt=O(!1);async function Dt(){rt.value=!0,await s.client.loadOlderMessages(),rt.value=!1}function x(){d.value||g("fork")}return(P,z)=>(m(),v("div",_E,[he.value?U("",!0):(m(),De(xw,{key:0,title:me.value,busy:F(d),"stats-open":I.value,"turn-tokens":ie.value,"turn-count":_e.value,onHome:z[0]||(z[0]=ee=>o("home")),onRename:Ke,onExport:z[1]||(z[1]=ee=>F(u)&&F(b)(F(u))),onFork:x,onClear:F(y),onControls:z[2]||(z[2]=ee=>F(wr)("control")),onAgents:z[3]||(z[3]=ee=>F(wr)("agents")),onToggleStats:z[4]||(z[4]=ee=>I.value=!I.value)},null,8,["title","busy","stats-open","turn-tokens","turn-count","onClear"])),I.value?(m(),v("div",$E,[X(SE,{status:F(l),"fetch-usage":s.client.fetchSessionUsage,"fetch-context":s.client.fetchSessionContext,onClose:z[5]||(z[5]=ee=>I.value=!1)},null,8,["status","fetch-usage","fetch-context"])])):U("",!0),h("div",CE,[h("div",xE,[X(eE,{messages:F(i),busy:F(d),"work-dir":F(c),"session-id":F(u)??"",connected:F(r)==="connected","older-available":s.client.olderAvailable.value,"older-loading":rt.value,onEdit:ae,onRetryConnection:z[6]||(z[6]=ee=>s.client.reconnectNow()),onRetryMessage:Ye,onLoadOlder:Dt,onFork:x},null,8,["messages","busy","work-dir","session-id","connected","older-available","older-loading"]),h("div",IE,[X(Sb,{approvals:F(a),onResolve:F(w)},null,8,["approvals","onResolve"]),X(kh,{ref_key:"composerRef",ref:te,busy:F(d),status:F(l),"session-id":F(u),models:F(f),"work-dir":F(c)||"",messages:F(i),"connection-status":F(r),goal:F(M),onSend:F(p),onAbort:F(k),onCommand:F(Ue),onSwitchModel:F(B),onSwitchThinking:F(D),onSwitchPermission:F(E),onGoalPause:F(T),onGoalResume:F(Z),onGoalCancel:oe,onGoalEdit:ge},null,8,["busy","status","session-id","models","work-dir","messages","connection-status","goal","onSend","onAbort","onCommand","onSwitchModel","onSwitchThinking","onSwitchPermission","onGoalPause","onGoalResume"])])])]),A.value?(m(),De(wh,{key:2,mode:V.value,status:F(l),"session-id":F(u),"work-dir":F(c),onClose:z[7]||(z[7]=ee=>A.value=!1)},null,8,["mode","status","session-id","work-dir"])):U("",!0)]))}}),EE=Te(TE,[["__scopeId","data-v-44a6943d"]]),AE=new Set(["png","jpg","jpeg","gif","webp","svg","avif","ico"]),ME=new Set(["mp3","wav","m4a","ogg"]),RE=new Set(["md","markdown"]);function Wp(e){const t=e.split(/[\\/]/).pop()??e,n=t.lastIndexOf(".");return n>0?t.slice(n+1).toLowerCase():""}function PE(e){const t=Wp(e);return AE.has(t)?"image":ME.has(t)?"audio":RE.has(t)?"markdown":t==="pdf"?"pdf":"source"}const LE={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",mjs:"javascript",cjs:"javascript",py:"python",rs:"rust",go:"go",java:"java",c:"c",h:"c",cpp:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",sh:"bash",bash:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",json:"json",toml:"toml",ini:"ini",xml:"xml",html:"html",css:"css",scss:"scss",less:"less",sql:"sql",md:"markdown",markdown:"markdown",vue:"vue",svelte:"svelte",swift:"swift",kt:"kotlin",lua:"lua",r:"r",dart:"dart",graphql:"graphql",proto:"protobuf",txt:"text"};function Ed(e){const t=(e.split(/[\\/]/).pop()??"").toLowerCase();return t==="dockerfile"?"docker":t==="makefile"?"make":LE[Wp(e)]??"text"}const DE={key:0,class:"file-viewer"},NE={class:"fv-toolbar"},OE=["title","aria-label"],GE={class:"fv-path-text"},BE={class:"fv-modes",role:"tablist","aria-label":"显示模式"},FE=["aria-selected","title","onClick"],UE={class:"fv-body"},jE={key:0,class:"fv-status"},zE={key:1,class:"fv-status fv-error"},HE={class:"fv-error-name"},WE={class:"fv-error-msg"},qE={key:0,class:"fv-scroll"},VE={key:1,class:"fv-status"},KE={key:0,class:"fv-media"},ZE=["src","alt"],YE={key:1,class:"fv-media"},XE=["src"],JE={key:2,class:"fv-media fv-pdf"},QE=["src","title"],eA={key:3,class:"fv-scroll fv-markdown"},tA={key:4,class:"fv-scroll"},nA={key:4,class:"fv-scroll"},sA={key:0,class:"fv-note"},oA={key:1,class:"fv-empty"},Sa="/api/v1",rA=Ie({__name:"FileViewer",props:{client:{}},setup(e){const t=e,n=[{id:"source",label:"源码"},{id:"preview",label:"预览"},{id:"diff",label:"Diff"}],s=G(()=>eb()),o=G(()=>s.value?Hy(s.value.viewerState,s.value.initialDisplayMode):"source"),r=G(()=>s.value?PE(s.value.filePath):"source"),i=O(0),a=G(()=>{if(!s.value)return"";const T=i.value>0?`&t=${i.value}`:"";return`${Sa}/files/raw?path=${encodeURIComponent(s.value.filePath)}${T}`}),l=Wn(new Map),u=Wn(new Map);async function c(T){try{const Z=await T.json();return Z.message??Z.error??`HTTP ${T.status}`}catch{return`HTTP ${T.status}`}}function d(T){var te,I;const Z=(te=t.client)==null?void 0:te.gitStatus.value,W=((I=t.client)==null?void 0:I.workDir.value)??"";if(!(Z!=null&&Z.files)||Z.files.length===0)return null;const j=W&&T.startsWith(`${W}/`)?T.slice(W.length+1):T.startsWith("/")?null:T;if(j){const A=Z.files.find(V=>(V.displayPath??V.path)===j);if(A)return A.path;for(const V of Z.files){const ie=V.displayPath??V.path;if(ie&&V.path.endsWith(ie))return V.path.slice(0,V.path.length-ie.length)+j}}return null}function f(T){var te;const Z=[],W=I=>{I&&I!==T&&!Z.includes(I)&&Z.push(I)};W(d(T)),Z.push(T);const j=((te=t.client)==null?void 0:te.workDir.value)??"";return j&&T.startsWith(`${j}/`)&&W(T.slice(j.length+1)),Z}async function p(){var Z,W;const T=s.value;if(!(!T||u.has(T.filePath)))try{for(const j of f(T.filePath)){const te=((Z=t.client)==null?void 0:Z.currentSessionId.value)??((W=t.client)==null?void 0:W.sessionId.value),I=new URLSearchParams({path:j});te&&I.set("sessionId",te);const A=await fetch(`${Sa}/git/diff?${I.toString()}`);if(!A.ok){u.set(T.filePath,{status:"error",message:await c(A)});return}const V=await A.json();if((V.patch??"")!==""){u.set(T.filePath,{status:"ok",patch:V.patch??""});return}}u.set(T.filePath,{status:"ok",patch:""})}catch(j){u.set(T.filePath,{status:"error",message:j instanceof Error?j.message:String(j)})}}async function g(){const T=s.value;if(T){if(o.value==="diff"){await p();return}if(!(o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf"))&&!l.has(T.filePath))try{const Z=await fetch(`${Sa}/files/read?path=${encodeURIComponent(T.filePath)}`);if(!Z.ok)l.set(T.filePath,{status:"error",message:await c(Z)});else{const W=await Z.json();l.set(T.filePath,{status:"ok",content:W.content,truncated:W.truncated===!0})}}catch(Z){l.set(T.filePath,{status:"error",message:Z instanceof Error?Z.message:String(Z)})}}}Se(()=>{var T;return[(T=s.value)==null?void 0:T.id,o.value]},()=>{g()},{immediate:!0});const y=G(()=>{const T=s.value;if(T)return o.value==="diff"?u.get(T.filePath):o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf")?{status:"ok"}:l.get(T.filePath)}),S=G(()=>s.value!==void 0&&y.value===void 0),k=G(()=>{var T;return((T=y.value)==null?void 0:T.status)==="error"?y.value:null}),w=G(()=>{const T=s.value?l.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"?T.content:""}),b=G(()=>{const T=s.value?l.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"?T.truncated:!1}),_=G(()=>{const T=s.value?u.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"&&T.patch.trim()!==""?Hp(T.patch):[]});function B(T){var j,te,I;const Z=s.value;if(!Z||o.value===T)return;const W={displayMode:T,wrapLines:((j=Z.viewerState)==null?void 0:j.wrapLines)??!1,scrollTop:((te=Z.viewerState)==null?void 0:te.scrollTop)??0,scrollLeft:((I=Z.viewerState)==null?void 0:I.scrollLeft)??0};we.tabs=Vy(we.tabs,Z.id,Z.viewerRevision??0,W)}function D(){const T=s.value;if(T){if(o.value==="diff")u.delete(T.filePath);else if(o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf")){i.value+=1;return}else l.delete(T.filePath);g()}}const E=O(!1);function M(){var Z;const T=s.value;T&&((Z=navigator.clipboard)==null||Z.writeText(T.filePath).then(()=>{E.value=!0,setTimeout(()=>E.value=!1,1500)}).catch(()=>{}))}return(T,Z)=>s.value?(m(),v("div",DE,[h("div",NE,[h("button",{class:"fv-path",title:E.value?"已复制路径":`复制路径:${s.value.filePath}`,"aria-label":`文件路径 ${s.value.filePath}`,onClick:M},[X(ce,{name:"copy",size:12,class:"fv-path-icon"}),h("span",GE,C(s.value.filePath),1)],8,OE),h("div",BE,[(m(),v(ne,null,Ce(n,W=>h("button",{key:W.id,class:ue(["fv-mode",{active:o.value===W.id}]),role:"tab","aria-selected":o.value===W.id,title:`${W.label}模式`,onClick:j=>B(W.id)},C(W.label),11,FE)),64))]),h("button",{class:"fv-icon-btn",title:"刷新","aria-label":"刷新",onClick:D},[X(ce,{name:"refresh",size:14})])]),h("div",UE,[S.value?(m(),v("div",jE,[...Z[0]||(Z[0]=[h("span",{class:"fv-spinner","aria-hidden":"true"},null,-1),h("span",null,"加载中…",-1)])])):k.value?(m(),v("div",zE,[h("p",HE,C(s.value.label),1),h("p",WE,C(k.value.message),1),h("button",{class:"fv-retry",onClick:D},"重试")])):o.value==="diff"?(m(),v(ne,{key:2},[_.value.length>0?(m(),v("div",qE,[X(wu,{lines:_.value},null,8,["lines"])])):(m(),v("div",VE,"该文件没有未提交的改动。"))],64)):o.value==="preview"?(m(),v(ne,{key:3},[r.value==="image"?(m(),v("div",KE,[h("img",{src:a.value,alt:s.value.label},null,8,ZE)])):r.value==="audio"?(m(),v("div",YE,[h("audio",{class:"fv-audio",controls:"",src:a.value},null,8,XE)])):r.value==="pdf"?(m(),v("div",JE,[h("iframe",{class:"fv-pdf-frame",src:a.value,title:s.value.label},null,8,QE)])):r.value==="markdown"?(m(),v("div",eA,[X(jp,{content:w.value},null,8,["content"])])):(m(),v("div",tA,[Z[1]||(Z[1]=h("p",{class:"fv-note"},"该类型暂不支持预览,显示源码内容。",-1)),X(yl,{code:w.value,lang:F(Ed)(s.value.filePath)},null,8,["code","lang"])]))],64)):(m(),v("div",nA,[b.value?(m(),v("p",sA,"文件较大,仅显示前 256KB。")):U("",!0),X(yl,{code:w.value,lang:F(Ed)(s.value.filePath)},null,8,["code","lang"])]))])])):(m(),v("div",oA,"从工具卡片、文件浏览或消息中选择文件打开"))}}),iA=Te(rA,[["__scopeId","data-v-1f5a4490"]]),aA={class:"panel-head-row"},lA=["aria-expanded"],uA={class:"head-icon"},cA=["title"],dA={key:1,class:"head-hint"},fA={class:"head-tail"},hA={key:0,class:"head-count"},pA={class:"panel-body"},gA={key:0,class:"git-files"},mA=["title","onClick"],vA={class:"git-file-name"},yA={key:0,class:"git-file-dir"},bA={class:"git-file-base"},kA={key:0,class:"git-file-stat"},wA={key:0,class:"add"},SA={key:1,class:"del"},_A={key:2,class:"diff-body"},$A={key:3,class:"panel-empty"},CA={key:1,class:"diff-empty"},xA=8,Ad="scream-panel-git-open",IA=Ie({__name:"GitPanel",props:{gitStatus:{default:null}},emits:["refresh","diff"],setup(e,{emit:t}){const n=e,s=t,o={M:"M",A:"A",D:"D",R:"R",U:"U","??":"?","?":"?"},r={D:"danger",A:"success",R:"success",U:"danger","??":"warning","?":"warning"},i=O(!1),a=O(!0);try{a.value=localStorage.getItem(Ad)!=="0"}catch{}function l(){a.value=!a.value;try{localStorage.setItem(Ad,a.value?"1":"0")}catch{}}function u(){s("refresh")}const c=G(()=>{var g;const p=((g=n.gitStatus)==null?void 0:g.files)??[];return i.value?p:p.slice(0,xA)}),d=G(()=>{var p,g;return Math.max(0,(((g=(p=n.gitStatus)==null?void 0:p.files)==null?void 0:g.length)??0)-c.value.length)}),f=G(()=>{var S,k;const p=((S=n.gitStatus)==null?void 0:S.ahead)??0,g=((k=n.gitStatus)==null?void 0:k.behind)??0;if(!p&&!g)return"";const y=[];return p&&y.push(`↑${p}`),g&&y.push(`↓${g}`),` · ${y.join(" ")}`});return(p,g)=>{var y;return m(),v("section",{class:ue(["panel-section","git-panel",{"is-open":a.value}])},[h("div",aA,[h("button",{class:"panel-head","aria-expanded":a.value,onClick:l},[h("span",uA,[X(ce,{name:"git-branch",size:14})]),g[1]||(g[1]=h("span",{class:"head-title"},"Git 变更",-1)),e.gitStatus?(m(),v("span",{key:0,class:"head-hint",title:`${e.gitStatus.branch??"detached"}${f.value}`},C(e.gitStatus.branch??"detached")+C(f.value),9,cA)):(m(),v("span",dA,"状态不可用")),h("span",fA,[e.gitStatus?(m(),v("span",hA,C(e.gitStatus.changed),1)):U("",!0),X(ce,{class:ue(["chevron",{rotated:a.value}]),name:"chevron-down",size:14},null,8,["class"])])],8,lA),h("button",{class:"icon-btn",title:"刷新","aria-label":"刷新 Git 状态",onClick:u},[X(ce,{name:"refresh",size:14})])]),Ze(h("div",pA,[e.gitStatus?(m(),v(ne,{key:0},[c.value.length?(m(),v("ul",gA,[(m(!0),v(ne,null,Ce(c.value,S=>(m(),v("li",{key:S.path},[h("button",{class:"git-file",title:`查看 ${S.displayPath??S.path} 的 diff`,onClick:k=>s("diff",{path:S.path,display:S.displayPath??S.path,adds:S.adds,dels:S.dels})},[h("span",{class:ue(["git-file-status",r[S.status]??""])},C(o[S.status]??S.status),3),h("span",vA,[F($r)(S.displayPath??S.path).dir?(m(),v("span",yA,C(F($r)(S.displayPath??S.path).dir),1)):U("",!0),h("span",bA,C(F($r)(S.displayPath??S.path).base),1)]),S.adds!==void 0||S.dels!==void 0?(m(),v("span",kA,[S.adds?(m(),v("span",wA,"+"+C(S.adds),1)):U("",!0),S.dels?(m(),v("span",SA,"−"+C(S.dels),1)):U("",!0)])):U("",!0)],8,mA)]))),128))])):U("",!0),d.value?(m(),v("button",{key:1,class:"git-more",onClick:g[0]||(g[0]=S=>i.value=!i.value)},C(i.value?"收起列表":`显示全部 ${((y=e.gitStatus.files)==null?void 0:y.length)??0} 个文件`),1)):U("",!0),e.gitStatus.diffStat?(m(),v("pre",_A,C(e.gitStatus.diffStat),1)):c.value.length?U("",!0):(m(),v("div",$A,[X(ce,{name:"check",size:18}),g[2]||(g[2]=h("span",null,"工作区干净,没有变更",-1))]))],64)):(m(),v("div",CA,"读取 Git 状态失败,点右上角刷新重试。"))],512),[[Br,a.value]])],2)}}}),qp=Te(IA,[["__scopeId","data-v-39f0d843"]]),TA={class:"goal-panel panel-section"},EA={class:"section-heading"},AA={class:"head-icon"},MA=["title"],RA={key:0,class:"head-tail"},PA={class:"panel-body"},LA={key:0,class:"empty-state"},DA=["disabled"],NA={class:"refine-row"},OA=["disabled"],GA={key:0},BA=["disabled"],FA={class:"budget-grid"},UA=["disabled"],jA=["disabled"],zA={class:"time-budget"},HA=["disabled"],WA=["disabled"],qA=["disabled"],VA={key:0,class:"goal-summary"},KA={class:"objective"},ZA={class:"criterion"},YA={key:0,class:"reason"},XA={class:"goal-metrics"},JA={class:"goal-metric"},QA={key:0,class:"bar"},eM={class:"goal-metric"},tM={key:0,class:"bar"},nM={class:"goal-metric"},sM={key:0,class:"bar"},oM={key:1,class:"budget-warning"},rM={key:2,class:"notes"},iM={class:"panel-actions"},aM=["disabled"],lM=["disabled"],uM=["disabled"],cM=["disabled"],dM=["disabled"],fM={class:"budget-grid"},hM=["disabled"],pM=["disabled"],gM={class:"time-budget"},mM=["disabled"],vM=["disabled"],yM={class:"edit-actions"},bM=["disabled"],kM=["disabled"],wM={key:3,class:"form-error"},SM={key:4,class:"pending-copy"},_M=Ie({__name:"GoalPanel",props:{goal:{},sessionId:{default:null},connectionStatus:{},busy:{type:Boolean,default:!1},archived:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},error:{default:null},refineGoal:{},createGoal:{},updateGoal:{},pauseGoal:{},resumeGoal:{},cancelGoal:{}},setup(e){const t=e,n=O(""),s=O(""),o=O(""),r=O(""),i=O(""),a=O("minutes"),l=O(!1),u=O(null),c=O(!1),d=G(()=>t.connectionStatus==="connected"),f=G(()=>!t.sessionId||!d.value||t.archived||t.pending),p=G(()=>f.value),g=G(()=>{var I;return{active:"进行中",paused:"已暂停",blocked:"受阻",complete:"已完成"}[((I=t.goal)==null?void 0:I.status)??"active"]}),y=G(()=>t.sessionId?t.archived?"归档会话为只读状态":d.value?t.pending?"正在提交请求…":t.goal?"状态由核心事件实时同步":"创建后 Agent 将自动开始执行":"连接恢复后可继续管理":"选择或新建会话后即可配置");Se(()=>t.sessionId,()=>{l.value=!1,S()}),Se(()=>{var I;return(I=t.goal)==null?void 0:I.goalId},(I,A)=>{l.value=!1,I!==A&&S()});function S(){n.value="",s.value="",o.value="",r.value="",i.value="",a.value="minutes",c.value=!1,u.value=null}function k(I,A){const V=I.trim();if(!V)return null;const ie=Number(V);if(!Number.isSafeInteger(ie)||ie<=0){u.value=`${A}必须是正整数。`;return}return ie}function w(){u.value=null;const I=k(o.value,"轮次预算");if(I===void 0)return null;const A=k(r.value,"Token 预算");if(A===void 0)return null;const V=k(i.value,"时间预算");if(V===void 0)return null;const ie=[];return I!==null&&ie.push({value:I,unit:"turns"}),A!==null&&ie.push({value:A,unit:"tokens"}),V!==null&&ie.push({value:V,unit:a.value}),ie}async function b(){const I=n.value.trim();if(!I){u.value="请先输入需要优化的目标描述。";return}u.value=null,c.value=!1;const A=await t.refineGoal(I);A!==null&&(n.value=A,c.value=!0)}async function _(){const I=n.value.trim();if(!I){u.value="目标内容不能为空。";return}const A=w();if(A===null)return;await t.createGoal({objective:I,completionCriterion:s.value.trim()||void 0,replace:!1,budgets:A})&&(c.value=!1)}function B(I){I===null?(i.value="",a.value="minutes"):I%36e5===0?(i.value=String(I/36e5),a.value="hours"):I%6e4===0?(i.value=String(I/6e4),a.value="minutes"):I%1e3===0?(i.value=String(I/1e3),a.value="seconds"):(i.value=String(I),a.value="milliseconds")}function D(){const I=t.goal;I&&(n.value=I.objective,o.value=I.budget.turnBudget===null?"":String(I.budget.turnBudget),r.value=I.budget.tokenBudget===null?"":String(I.budget.tokenBudget),B(I.budget.wallClockBudgetMs),u.value=null,l.value=!0)}function E(I,A){return A==="hours"?I*36e5:A==="minutes"?I*6e4:A==="seconds"?I*1e3:I}async function M(){const I=t.goal;if(!I)return;const A=n.value.trim();if(!A){u.value="目标内容不能为空。";return}const V=w();if(V===null)return;const ie=k(o.value,"轮次预算"),me=k(r.value,"Token 预算"),_e=k(i.value,"时间预算");if(ie===void 0||me===void 0||_e===void 0)return;if(I.budget.turnBudget!==null&&ie===null){u.value="当前协议不支持清除已有轮次预算,请填写新的正整数。";return}if(I.budget.tokenBudget!==null&&me===null){u.value="当前协议不支持清除已有 Token 预算,请填写新的正整数。";return}if(I.budget.wallClockBudgetMs!==null&&_e===null){u.value="当前协议不支持清除已有时间预算,请填写新的正整数。";return}const he=V.filter(oe=>oe.unit==="turns"?oe.value!==I.budget.turnBudget:oe.unit==="tokens"?oe.value!==I.budget.tokenBudget:E(oe.value,oe.unit)!==I.budget.wallClockBudgetMs),ae=A===I.objective?void 0:A;if(ae===void 0&&he.length===0){u.value="目标与预算没有变化。";return}await t.updateGoal({objective:ae,budgets:he})&&(l.value=!1)}async function T(I){u.value=null,!(I==="cancel"&&!window.confirm("确定取消当前 Goal?当前 Goal 状态将被清除。"))&&(I==="pause"?await t.pauseGoal():I==="resume"?await t.resumeGoal():await t.cancelGoal())}function Z(I){return I.toLocaleString("zh-CN")}function W(I){if(I<1e3)return`${I} 毫秒`;const A=Math.floor(I/1e3);if(A<60)return`${A} 秒`;const V=Math.floor(A/3600),ie=Math.floor(A%3600/60);return V>0?`${V} 小时 ${ie} 分钟`:`${ie} 分钟`}function j(I,A){return A===null||A<=0?0:Math.min(100,Math.round(I/A*100))}function te(I){return new Date(I).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}return(I,A)=>(m(),v("section",TA,[h("div",EA,[h("span",AA,[X(ce,{name:"target",size:14})]),A[15]||(A[15]=h("span",{class:"head-title"},"Goal 管理",-1)),h("span",{class:"head-hint",title:y.value},C(y.value),9,MA),e.goal?(m(),v("span",RA,[h("span",{class:ue(["status-pill",`is-${e.goal.status}`])},C(g.value),3)])):U("",!0)]),h("div",PA,[e.sessionId?e.goal?(m(),v(ne,{key:2},[l.value?(m(),v("form",{key:1,class:"goal-form edit-form",onSubmit:tt(M,["prevent"])},[h("label",null,[A[33]||(A[33]=h("span",null,"目标内容",-1)),Ze(h("textarea",{"onUpdate:modelValue":A[9]||(A[9]=V=>n.value=V),rows:"3",maxlength:"4000",disabled:f.value||e.busy},null,8,dM),[[it,n.value]])]),A[38]||(A[38]=h("div",{class:"budget-title"},[Ae("更新预算 "),h("small",null,"仅提交发生变化的预算")],-1)),h("div",fM,[h("label",null,[A[34]||(A[34]=h("span",null,"轮次",-1)),Ze(h("input",{"onUpdate:modelValue":A[10]||(A[10]=V=>o.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,hM),[[it,o.value]])]),h("label",null,[A[35]||(A[35]=h("span",null,"Token",-1)),Ze(h("input",{"onUpdate:modelValue":A[11]||(A[11]=V=>r.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,pM),[[it,r.value]])])]),h("div",gM,[h("label",null,[A[36]||(A[36]=h("span",null,"时间",-1)),Ze(h("input",{"onUpdate:modelValue":A[12]||(A[12]=V=>i.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,mM),[[it,i.value]])]),Ze(h("select",{"onUpdate:modelValue":A[13]||(A[13]=V=>a.value=V),"aria-label":"时间预算单位",disabled:f.value||e.busy},[...A[37]||(A[37]=[h("option",{value:"minutes"},"分钟",-1),h("option",{value:"hours"},"小时",-1),h("option",{value:"seconds"},"秒",-1),h("option",{value:"milliseconds"},"毫秒",-1)])],8,vM),[[lc,a.value]])]),h("div",yM,[h("button",{type:"button",class:"secondary",disabled:e.pending,onClick:A[14]||(A[14]=V=>l.value=!1)},"返回",8,bM),h("button",{class:"primary small",type:"submit",disabled:f.value||e.busy},"保存修改",8,kM)])],32)):(m(),v("div",VA,[h("div",KA,[A[26]||(A[26]=h("small",null,"目标",-1)),h("p",null,C(e.goal.objective),1)]),h("div",ZA,[A[27]||(A[27]=h("small",null,"完成标准",-1)),h("p",null,C(e.goal.completionCriterion??"未设置,由 Agent 根据目标判断完成。"),1)]),e.goal.terminalReason?(m(),v("div",YA,[A[28]||(A[28]=h("strong",null,"状态原因",-1)),h("span",null,C(e.goal.terminalReason),1)])):U("",!0),h("dl",XA,[h("div",JA,[A[29]||(A[29]=h("dt",null,"轮次",-1)),h("dd",null,C(e.goal.turnsUsed)+" / "+C(e.goal.budget.turnBudget??"不限"),1),e.goal.budget.turnBudget!==null?(m(),v("i",QA,[h("i",{style:bt({width:`${j(e.goal.turnsUsed,e.goal.budget.turnBudget)}%`})},null,4)])):U("",!0)]),h("div",eM,[A[30]||(A[30]=h("dt",null,"Token",-1)),h("dd",null,C(Z(e.goal.tokensUsed))+" / "+C(e.goal.budget.tokenBudget===null?"不限":Z(e.goal.budget.tokenBudget)),1),e.goal.budget.tokenBudget!==null?(m(),v("i",tM,[h("i",{style:bt({width:`${j(e.goal.tokensUsed,e.goal.budget.tokenBudget)}%`})},null,4)])):U("",!0)]),h("div",nM,[A[31]||(A[31]=h("dt",null,"时间",-1)),h("dd",null,C(W(e.goal.wallClockMs))+" / "+C(e.goal.budget.wallClockBudgetMs===null?"不限":W(e.goal.budget.wallClockBudgetMs)),1),e.goal.budget.wallClockBudgetMs!==null?(m(),v("i",sM,[h("i",{style:bt({width:`${j(e.goal.wallClockMs,e.goal.budget.wallClockBudgetMs)}%`})},null,4)])):U("",!0)])]),e.goal.budget.overBudget?(m(),v("div",oM,"已达到或超过执行预算。")):U("",!0),e.goal.notes.length?(m(),v("details",rM,[h("summary",null,"工作记录("+C(e.goal.notes.length)+")",1),h("ol",null,[(m(!0),v(ne,null,Ce(e.goal.notes,V=>(m(),v("li",{key:`${V.time}-${V.content}`},[h("time",null,C(te(V.time)),1),h("span",null,C(V.content),1)]))),128))])])):U("",!0),h("div",iM,[e.goal.status!=="complete"?(m(),v("button",{key:0,class:"secondary",disabled:f.value||e.busy,onClick:D},[X(ce,{name:"edit",size:14}),A[32]||(A[32]=Ae("编辑",-1))],8,aM)):U("",!0),e.goal.status==="active"?(m(),v("button",{key:1,class:"secondary",disabled:f.value,onClick:A[6]||(A[6]=V=>T("pause"))},"暂停",8,lM)):U("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(m(),v("button",{key:2,class:"primary small",disabled:f.value||e.busy,onClick:A[7]||(A[7]=V=>T("resume"))},"继续",8,uM)):U("",!0),h("button",{class:"danger",disabled:f.value,onClick:A[8]||(A[8]=V=>T("cancel"))},"取消 Goal",8,cM)])]))],64)):(m(),v("form",{key:1,class:"goal-form",onSubmit:tt(_,["prevent"])},[h("label",null,[A[18]||(A[18]=h("span",null,"目标内容",-1)),Ze(h("textarea",{"onUpdate:modelValue":A[0]||(A[0]=V=>n.value=V),rows:"3",maxlength:"4000",placeholder:"描述希望 Agent 持续完成的目标",disabled:p.value},null,8,DA),[[it,n.value]])]),h("div",NA,[h("button",{type:"button",class:"secondary",disabled:p.value||!n.value.trim(),onClick:b},[X(ce,{name:"sparkles",size:15}),A[19]||(A[19]=Ae(" AI 优化 ",-1))],8,OA),c.value?(m(),v("small",GA,"已优化,请确认或继续编辑后再创建。")):U("",!0)]),h("label",null,[A[20]||(A[20]=h("span",null,[Ae("完成标准 "),h("small",null,"可选")],-1)),Ze(h("textarea",{"onUpdate:modelValue":A[1]||(A[1]=V=>s.value=V),rows:"2",placeholder:"例如:聚焦测试、类型检查与 Web 构建全部通过",disabled:p.value},null,8,BA),[[it,s.value]])]),A[25]||(A[25]=h("div",{class:"budget-title"},[Ae("执行预算 "),h("small",null,"留空表示不限制")],-1)),h("div",FA,[h("label",null,[A[21]||(A[21]=h("span",null,"轮次",-1)),Ze(h("input",{"onUpdate:modelValue":A[2]||(A[2]=V=>o.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,UA),[[it,o.value]])]),h("label",null,[A[22]||(A[22]=h("span",null,"Token",-1)),Ze(h("input",{"onUpdate:modelValue":A[3]||(A[3]=V=>r.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,jA),[[it,r.value]])])]),h("div",zA,[h("label",null,[A[23]||(A[23]=h("span",null,"时间",-1)),Ze(h("input",{"onUpdate:modelValue":A[4]||(A[4]=V=>i.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,HA),[[it,i.value]])]),Ze(h("select",{"onUpdate:modelValue":A[5]||(A[5]=V=>a.value=V),"aria-label":"时间预算单位",disabled:p.value},[...A[24]||(A[24]=[h("option",{value:"minutes"},"分钟",-1),h("option",{value:"hours"},"小时",-1),h("option",{value:"seconds"},"秒",-1),h("option",{value:"milliseconds"},"毫秒",-1)])],8,WA),[[lc,a.value]])]),h("button",{class:"primary",type:"submit",disabled:p.value||!n.value.trim()},C(e.pending?"正在创建…":"创建并开始执行"),9,qA)],32)):(m(),v("div",LA,[X(ce,{name:"target",size:18}),A[16]||(A[16]=h("span",null,"暂无会话",-1)),A[17]||(A[17]=h("small",null,"选择或新建会话后即可配置目标。",-1))])),u.value||e.error?(m(),v("p",wM,C(u.value??e.error),1)):e.pending?(m(),v("p",SM,"请求处理中,状态将在核心事件到达后同步。")):U("",!0)])]))}}),Vp=Te(_M,[["__scopeId","data-v-cf530861"]]),$M={class:"nsm-body"},CM={class:"nsm-section"},xM=["placeholder"],IM={key:0,class:"nsm-error"},TM={key:1,class:"nsm-recents"},EM=["title","onClick"],AM={class:"nsm-section"},MM={class:"nsm-models",role:"radiogroup","aria-label":"选择模型"},RM=["aria-checked"],PM=["aria-checked","onClick"],LM={class:"nsm-model-name"},DM={class:"nsm-model-alias"},NM=Ie({__name:"NewSessionModal",props:{open:{type:Boolean},models:{},recentWorkDirs:{},defaultDir:{},currentModel:{}},emits:["close","confirm"],setup(e,{emit:t}){const n=e,s=t,o=O(n.defaultDir),r=O(n.currentModel||null);Se(()=>n.open,c=>{c&&(o.value=n.defaultDir,r.value=n.currentModel||null)},{immediate:!0});const i=G(()=>{const c=o.value.trim();return c?c.startsWith("/"):!0}),a=G(()=>o.value.trim()&&!i.value?"请输入绝对路径(如 /home/user/projects)":"");function l(c){o.value=c}function u(){const c=o.value.trim();s("confirm",{workDir:c||null,model:r.value})}return(c,d)=>(m(),De(Vl,{open:e.open,title:"新建会话","max-width":"480px",onClose:d[3]||(d[3]=f=>s("close"))},{footer:ot(()=>[X(Ht,{variant:"ghost",onClick:d[2]||(d[2]=f=>s("close"))},{default:ot(()=>[...d[7]||(d[7]=[Ae("取消",-1)])]),_:1}),X(Ht,{variant:"primary",disabled:!i.value,onClick:u},{default:ot(()=>[...d[8]||(d[8]=[Ae("进入新会话",-1)])]),_:1},8,["disabled"])]),default:ot(()=>[h("div",$M,[h("section",CM,[d[4]||(d[4]=h("div",{class:"nsm-label"},"工作区",-1)),Ze(h("input",{"onUpdate:modelValue":d[0]||(d[0]=f=>o.value=f),class:ue(["nsm-input",{"is-invalid":!!a.value}]),type:"text",spellcheck:"false",placeholder:e.defaultDir||"服务器默认工作区"},null,10,xM),[[it,o.value]]),a.value?(m(),v("div",IM,C(a.value),1)):U("",!0),e.recentWorkDirs.length?(m(),v("div",TM,[(m(!0),v(ne,null,Ce(e.recentWorkDirs,f=>(m(),v("button",{key:f,type:"button",class:ue(["nsm-recent",{"is-active":o.value===f}]),title:f,onClick:p=>l(f)},C(f.split("/").filter(Boolean).pop()||f),11,EM))),128))])):U("",!0)]),h("section",AM,[d[6]||(d[6]=h("div",{class:"nsm-label"},"模型",-1)),h("div",MM,[h("button",{type:"button",class:ue(["nsm-model",{"is-active":r.value===null}]),role:"radio","aria-checked":r.value===null,onClick:d[1]||(d[1]=f=>r.value=null)},[...d[5]||(d[5]=[h("span",{class:"nsm-model-name"},"跟随服务器默认",-1)])],10,RM),(m(!0),v(ne,null,Ce(e.models,f=>(m(),v("button",{key:f.alias,type:"button",class:ue(["nsm-model",{"is-active":r.value===f.alias}]),role:"radio","aria-checked":r.value===f.alias,onClick:p=>r.value=f.alias},[h("span",LM,C(f.displayName||f.model),1),h("span",DM,C(f.provider)+"/"+C(f.model),1)],10,PM))),128))])])])]),_:1},8,["open"]))}}),OM=Te(NM,[["__scopeId","data-v-7bb09c54"]]),GM={class:"panel-section like-section"},BM={class:"section-heading"},FM={class:"head-icon"},UM={class:"panel-body"},jM={class:"kv-rows"},zM={class:"dialog"},HM=["onUpdate:modelValue","placeholder"],WM={key:0,class:"dialog-error"},qM={class:"dialog-actions"},VM=["disabled"],KM=Ie({__name:"LikePanel",props:{like:{},updateLike:{type:Function}},setup(e){const t=e,n=O(!1),s=O(!1),o=O(""),r=O({}),i=[{key:"nickname",label:"昵称",placeholder:"用户称呼,如:老板"},{key:"tone",label:"语气",placeholder:"AI 风格,如:专业不拖沓"},{key:"other",label:"偏好",placeholder:"其他用户偏好"},{key:"doNot",label:"禁止",placeholder:"用户明确不让做的事"}];function a(){r.value={...t.like},o.value="",n.value=!0}async function l(){s.value=!0,o.value="";const u=await t.updateLike(r.value);s.value=!1,u?n.value=!1:o.value="保存失败"}return(u,c)=>(m(),v("section",GM,[h("div",BM,[h("span",FM,[X(ce,{name:"settings",size:14})]),c[2]||(c[2]=h("span",{class:"head-title"},"偏好设置",-1)),c[3]||(c[3]=h("span",{class:"head-hint"},"/like 用户偏好",-1))]),h("div",UM,[h("dl",jM,[(m(),v(ne,null,Ce(i,d=>h("div",{key:d.key,class:"kv-row"},[h("dt",null,C(d.label),1),h("dd",null,C((e.like[d.key]??"").trim()||"未设置"),1)])),64))]),h("div",{class:"panel-actions"},[h("button",{class:"like-edit",onClick:a},"编辑偏好")])]),n.value?(m(),v("div",{key:0,class:"dialog-overlay",onClick:c[1]||(c[1]=tt(d=>n.value=!1,["self"]))},[h("div",zM,[c[4]||(c[4]=h("div",{class:"dialog-title"},"编辑用户偏好",-1)),(m(),v(ne,null,Ce(i,d=>h("label",{key:d.key,class:"dialog-field"},[h("span",null,C(d.label),1),Ze(h("input",{"onUpdate:modelValue":f=>r.value[d.key]=f,placeholder:d.placeholder},null,8,HM),[[it,r.value[d.key]]])])),64)),o.value?(m(),v("div",WM,C(o.value),1)):U("",!0),h("div",qM,[h("button",{onClick:c[0]||(c[0]=d=>n.value=!1)},"取消"),h("button",{disabled:s.value,onClick:l},C(s.value?"保存中…":"确认"),9,VM)])])])):U("",!0)]))}}),Kp=Te(KM,[["__scopeId","data-v-2eac026c"]]),ZM=["aria-expanded"],YM={class:"head-icon"},XM={class:"head-hint"},JM={class:"head-tail"},QM=["title"],eR={class:"panel-body"},tR={class:"stat-grid"},nR={class:"stat"},sR={class:"stat"},oR=["title"],rR={key:1,class:"faint"},iR={class:"stat wide"},aR={class:"mono"},Md="scream-panel-runstatus-open",lR=Ie({__name:"RunStatusPanel",props:{status:{},busy:{type:Boolean,default:!1},connectionStatus:{}},setup(e){const t=e,n=O(!0);try{n.value=localStorage.getItem(Md)!=="0"}catch{}function s(){n.value=!n.value;try{localStorage.setItem(Md,n.value?"1":"0")}catch{}}const o=G(()=>{const a=t.status.contextUsage;return a===void 0?null:Math.round((a>1?a/100:a)*100)}),r=G(()=>{var a,l;return`Tokens: ${((a=t.status.contextTokens)==null?void 0:a.toLocaleString())??"-"} / ${((l=t.status.maxContextTokens)==null?void 0:l.toLocaleString())??"-"}`}),i=G(()=>({connected:"已连接",connecting:"连接中",reconnecting:"重连中",disconnected:"已断开",idle:"空闲"})[t.connectionStatus]??"空闲");return Se(()=>t.busy,()=>{t.busy&&!n.value&&(n.value=!0)}),(a,l)=>{var u,c;return m(),v("section",{class:ue(["panel-section","run-status",{"is-open":n.value}])},[h("button",{class:"panel-head","aria-expanded":n.value,onClick:s},[h("span",YM,[X(ce,{name:"activity",size:14})]),l[0]||(l[0]=h("span",{class:"head-title"},"运行状态",-1)),h("span",XM,C(e.busy?"正在处理会话":"已就绪,等待任务"),1),h("span",JM,[h("span",{class:ue(["head-dot",{busy:e.busy}]),title:e.busy?"Agent 正在处理":"空闲"},null,10,QM),X(ce,{class:ue(["chevron",{rotated:n.value}]),name:"chevron-down",size:14},null,8,["class"])])],8,ZM),Ze(h("div",eR,[h("dl",tR,[h("div",nR,[l[1]||(l[1]=h("dt",null,"连接",-1)),h("dd",null,[h("span",{class:ue(["conn-dot",e.connectionStatus]),"aria-hidden":"true"},null,2),h("span",{class:ue(["conn",e.connectionStatus])},C(i.value),3)])]),h("div",sR,[l[2]||(l[2]=h("dt",null,"上下文占用",-1)),o.value!==null?(m(),v("dd",{key:0,title:r.value},[X(bh,{usage:e.status.contextUsage,size:14},null,8,["usage"]),Ae(C(o.value)+"% ",1)],8,oR)):(m(),v("dd",rR,"未知"))]),h("div",iR,[l[3]||(l[3]=h("dt",null,"Token(输入 / 上限)",-1)),h("dd",aR,C(((u=e.status.contextTokens)==null?void 0:u.toLocaleString())??"-")+" / "+C(((c=e.status.maxContextTokens)==null?void 0:c.toLocaleString())??"-"),1)])])],512),[[Br,n.value]])],2)}}}),Zp=Te(lR,[["__scopeId","data-v-59b0c4e7"]]),uR={class:"todo-panel panel-section"},cR={class:"section-heading"},dR={class:"head-icon"},fR={class:"head-hint"},hR={class:"head-tail"},pR={class:"head-count"},gR={key:0,class:"panel-body"},mR={class:"empty-state"},vR={key:1,class:"panel-body"},yR={class:"progress-row"},bR={class:"bar","aria-hidden":"true"},kR={class:"progress-value"},wR=["title"],SR={class:"todo-title"},_R=Ie({__name:"TodoPanel",props:{todos:{}},setup(e){const t=e,n=G(()=>iy(t.todos)),s=G(()=>t.todos.filter(u=>u.status==="done").length),o=G(()=>t.todos.filter(u=>u.status==="in_progress").length),r=G(()=>t.todos.filter(u=>u.status==="pending").length),i=G(()=>t.todos.length?Math.round(s.value/t.todos.length*100):0),a=G(()=>{if(!t.todos.length)return"直接来自 Agent 核心状态";if(s.value===t.todos.length)return"全部完成";const u=[];return o.value&&u.push(`进行中 ${o.value}`),r.value&&u.push(`待处理 ${r.value}`),u.join(" · ")||"直接来自 Agent 核心状态"}),l={pending:{label:"待处理",symbol:"○"},in_progress:{label:"进行中",symbol:"●"},done:{label:"已完成",symbol:"✓"}};return(u,c)=>(m(),v("section",uR,[h("div",cR,[h("span",dR,[X(ce,{name:"clipboard",size:14})]),c[0]||(c[0]=h("span",{class:"head-title"},"核心 Todo",-1)),h("span",fR,C(a.value),1),h("span",hR,[h("span",pR,C(s.value)+"/"+C(e.todos.length),1)])]),e.todos.length===0?(m(),v("div",gR,[h("div",mR,[X(ce,{name:"check",size:18}),c[1]||(c[1]=h("span",null,"暂无 Todo",-1)),c[2]||(c[2]=h("small",null,"Agent 创建任务清单后会在这里实时显示。",-1))])])):(m(),v("div",vR,[h("div",yR,[h("i",bR,[h("i",{style:bt({width:`${i.value}%`})},null,4)]),h("span",kR,C(i.value)+"%",1)]),(m(!0),v(ne,null,Ce(n.value,(d,f)=>(m(),v("section",{key:d.phase??`unphased-${f}`,class:"todo-group"},[h("h4",null,C(d.phase??"未分阶段"),1),h("ol",null,[(m(!0),v(ne,null,Ce(d.items,(p,g)=>(m(),v("li",{key:`${f}-${g}-${p.title}`,class:ue(`is-${p.status}`)},[h("span",{class:"status-symbol",title:l[p.status].label},C(l[p.status].symbol),9,wR),h("span",SR,C(p.title),1),h("small",null,C(l[p.status].label),1)],2))),128))])]))),128))]))]))}}),Yp=Te(_R,[["__scopeId","data-v-6a025f22"]]),$R={class:"detail-view"},CR={class:"git-diff-head"},xR=["title"],IR={class:"git-diff-tools"},TR={key:0,class:"git-diff-stat"},ER={key:0,class:"add"},AR={key:1,class:"del"},MR={key:0,class:"git-diff-body"},RR={key:1,class:"git-diff-empty"},PR=Ie({__name:"SessionDetailView",props:{client:{}},setup(e){const t=e,n=O(null),s=O(null);let o=0;async function r(E){var W,j,te;const M=++o,T=t.client.currentSessionId.value??t.client.sessionId.value;n.value={...E,lines:[],loading:!0};try{const I=new URLSearchParams({path:E.path});T&&I.set("sessionId",T);const V=await(await fetch(`/api/v1/git/diff?${I.toString()}`)).json();if(M!==o||T!==(t.client.currentSessionId.value??t.client.sessionId.value))return;const ie=Hp(V.patch??""),me=E.adds??(E.dels===void 0?ie.filter(_e=>_e.type==="add").length:void 0);n.value={...E,adds:me,lines:ie,loading:!1}}catch{if(M!==o)return;n.value={...E,lines:[],loading:!1}}await Fe();const Z=((j=(W=globalThis.window)==null?void 0:W.matchMedia)==null?void 0:j.call(W,"(prefers-reduced-motion: reduce)").matches)===!0;(te=s.value)==null||te.scrollIntoView({block:"start",behavior:Z?"auto":"smooth"})}Se(()=>t.client.currentSessionId.value??t.client.sessionId.value,()=>{o++,n.value=null});const{connectionStatus:i,status:a,sessionId:l,isBusy:u,isArchived:c,goal:d,todos:f,goalRequestPending:p,goalRequestError:g,like:y,gitStatus:S,refineGoal:k,createGoal:w,updateGoal:b,pauseGoal:_,resumeGoal:B,cancelGoal:D}=t.client;return(E,M)=>(m(),v("div",$R,[X(Zp,{status:F(a),busy:F(u),"connection-status":F(i)},null,8,["status","busy","connection-status"]),X(qp,{"git-status":F(S),onRefresh:M[0]||(M[0]=T=>t.client.fetchGitStatus()),onDiff:r},null,8,["git-status"]),n.value?(m(),v("div",{key:0,ref_key:"diffRef",ref:s,class:"git-diff-view"},[h("div",CR,[h("span",{class:"git-diff-title",title:n.value.path},C(n.value.loading?"加载中…":n.value.display),9,xR),h("span",IR,[!n.value.loading&&(n.value.adds||n.value.dels)?(m(),v("span",TR,[n.value.adds?(m(),v("span",ER,"+"+C(n.value.adds),1)):U("",!0),n.value.dels?(m(),v("span",AR,"−"+C(n.value.dels),1)):U("",!0)])):U("",!0),h("button",{class:"git-diff-close",title:"关闭 diff","aria-label":"关闭 diff",onClick:M[1]||(M[1]=T=>n.value=null)},"✕")])]),n.value.lines.length?(m(),v("div",MR,[X(wu,{lines:n.value.lines},null,8,["lines"])])):n.value.loading?U("",!0):(m(),v("p",RR,"该文件无差异内容(可能是二进制文件或已被忽略)。"))],512)):U("",!0),X(Yp,{todos:F(f)},null,8,["todos"]),X(Kp,{like:F(y),"update-like":t.client.updateLike},null,8,["like","update-like"]),X(Vp,{goal:F(d),"session-id":F(l),"connection-status":F(i),busy:F(u),archived:F(c),pending:F(p),error:F(g),"refine-goal":F(k),"create-goal":F(w),"update-goal":F(b),"pause-goal":F(_),"resume-goal":F(B),"cancel-goal":F(D)},null,8,["goal","session-id","connection-status","busy","archived","pending","error","refine-goal","create-goal","update-goal","pause-goal","resume-goal","cancel-goal"])]))}}),LR=Te(PR,[["__scopeId","data-v-f2bcdf8d"]]),DR={class:"session-controls","aria-label":"会话控制"},NR={class:"controls-head"},OR={class:"controls-heading"},GR={class:"controls-icon"},BR=["disabled"],FR={class:"controls-body"},UR={class:"control-group","aria-label":"计划模式"},jR={class:"group-label"},zR={key:0,class:"mode-state"},HR={class:"segmented",role:"group","aria-label":"计划模式"},WR=["aria-pressed","disabled"],qR=["aria-pressed","disabled"],VR=["aria-pressed","disabled"],KR=["disabled"],ZR={class:"control-group","aria-label":"并行与递归模式"},YR={class:"switch-row"},XR=["checked","disabled"],JR={class:"switch-row"},QR=["checked","disabled"],e2={key:0,class:"depth-field"},t2=["disabled"],n2=["disabled"],s2={class:"control-group control-group--actions","aria-label":"会话操作"},o2=["disabled"],r2=["disabled"],i2=Ie({__name:"SessionControlsPanel",props:{client:{}},setup(e){const t=e,{showToast:n}=Js(),s=O(!1),o=O("0");let r=0;const i=G(()=>t.client.sessionId.value!==null),a=G(()=>t.client.isArchived.value),l=G(()=>t.client.isBusy.value),u=G(()=>i.value?a.value?"当前会话已归档,仅可查看记录":t.client.connectionStatus.value!=="connected"?"连接恢复后可调整控制项":l.value?"当前回合结束后可调整控制项":"":"打开会话后可调整控制项"),c=G(()=>!!u.value||s.value),d=G(()=>t.client.status.value.planMode===!0),f=G(()=>{var E;return t.client.status.value.planStrategy??((E=t.client.sessionPlan.value)==null?void 0:E.strategy)??"normal"});async function p(){if(!i.value||a.value||t.client.connectionStatus.value!=="connected")return;await Promise.all([t.client.fetchSessionStatus(),t.client.fetchSessionPlan()]);const E=t.client.status.value.rlmMaxDepth;o.value=E==null?"0":String(E)}async function g(E,M){if(c.value)return;const T=r;s.value=!0;try{await E()&&T===r&&await(M==null?void 0:M())}finally{if(T!==r)return;await p(),s.value=!1}}function y(E,M){g(()=>t.client.switchPlanMode(E,M))}function S(E){const M=E.currentTarget.checked;g(()=>t.client.switchWolfpack(M))}function k(){const E=o.value.trim();return/^\d+$/.test(E)?Number(E):(n("RLM 深度需为 0 或正整数","warning"),null)}function w(E){const M=E.currentTarget.checked;g(()=>t.client.switchRlm(M))}function b(){const E=k();E!==null&&g(()=>t.client.switchRlm(!0,E))}function _(){g(()=>t.client.clearPlan())}function B(){g(()=>t.client.undoHistory(),async()=>{await t.client.fetchSnapshot()})}function D(){g(()=>t.client.compact())}return et(()=>{p()}),Se(()=>t.client.sessionId.value,()=>{r++,s.value=!1,o.value="0",p()}),(E,M)=>(m(),v("section",DR,[h("header",NR,[h("div",OR,[h("span",GR,[X(ce,{name:"wrench",size:16})]),h("div",null,[M[4]||(M[4]=h("h2",null,"会话控制",-1)),h("p",null,C(u.value||"已就绪"),1)])]),h("button",{class:"icon-button",title:"刷新会话状态","aria-label":"刷新会话状态",disabled:s.value||!i.value||a.value,onClick:p},[X(ce,{name:"refresh",size:15})],8,BR)]),h("div",FR,[h("section",UR,[h("div",jR,[M[5]||(M[5]=h("span",null,"计划",-1)),d.value?(m(),v("span",zR,C(f.value==="fusion"?"融合":"标准"),1)):U("",!0)]),h("div",HR,[h("button",{class:ue({active:!d.value}),"aria-pressed":!d.value,disabled:c.value,onClick:M[0]||(M[0]=T=>y(!1))},"关闭",10,WR),h("button",{class:ue({active:d.value&&f.value==="normal"}),"aria-pressed":d.value&&f.value==="normal",disabled:c.value,onClick:M[1]||(M[1]=T=>y(!0,"normal"))},"计划",10,qR),h("button",{class:ue({active:d.value&&f.value==="fusion"}),"aria-pressed":d.value&&f.value==="fusion",disabled:c.value,onClick:M[2]||(M[2]=T=>y(!0,"fusion"))},"融合",10,VR)]),t.client.sessionPlan.value?(m(),v("button",{key:0,class:"text-action",disabled:c.value,onClick:_},[X(ce,{name:"broom",size:14}),M[6]||(M[6]=Ae(" 清除计划 ",-1))],8,KR)):U("",!0)]),h("section",ZR,[h("label",YR,[M[7]||(M[7]=h("span",null,[h("strong",null,"Wolfpack"),h("small",null,"并行协作")],-1)),h("input",{type:"checkbox",checked:t.client.status.value.wolfpackMode===!0,disabled:c.value,onChange:S},null,40,XR),M[8]||(M[8]=h("i",{"aria-hidden":"true"},null,-1))]),M[12]||(M[12]=h("div",{class:"rule"},null,-1)),h("label",JR,[M[9]||(M[9]=h("span",null,[h("strong",null,"RLM"),h("small",null,"持久 Python")],-1)),h("input",{type:"checkbox",checked:t.client.status.value.rlmEnabled===!0,disabled:c.value,onChange:w},null,40,QR),M[10]||(M[10]=h("i",{"aria-hidden":"true"},null,-1))]),t.client.status.value.rlmEnabled?(m(),v("label",e2,[M[11]||(M[11]=h("span",null,"最大深度",-1)),h("div",null,[Ze(h("input",{"onUpdate:modelValue":M[3]||(M[3]=T=>o.value=T),inputmode:"numeric",min:"0",type:"number",disabled:c.value,"aria-label":"RLM 最大深度"},null,8,t2),[[it,o.value]]),h("button",{title:"保存 RLM 最大深度","aria-label":"保存 RLM 最大深度",disabled:c.value,onClick:b},[X(ce,{name:"check",size:14})],8,n2)])])):U("",!0)]),h("section",s2,[h("button",{class:"command-action",disabled:c.value,onClick:D},[X(ce,{name:"compact",size:16}),M[13]||(M[13]=h("span",null,"压缩上下文",-1))],8,o2),h("button",{class:"command-action danger",disabled:c.value,onClick:B},[X(ce,{name:"broom",size:16}),M[14]||(M[14]=h("span",null,"撤销上一轮",-1))],8,r2)])])]))}}),a2=Te(i2,[["__scopeId","data-v-bca142e2"]]),l2={class:"subagents-panel","aria-label":"协作代理"},u2={class:"agents-head"},c2={class:"agents-heading"},d2={class:"agents-icon"},f2={role:"status","aria-live":"polite"},h2=["aria-label"],p2={class:"agents-body"},g2={key:0,class:"agents-empty"},m2={key:1,class:"agent-list"},v2={class:"agent-row-head"},y2={class:"agent-title"},b2={key:0,class:"background-badge"},k2={key:1,class:"agent-description"},w2={key:0,class:"agent-result error"},S2={key:1,class:"agent-result"},_2={key:2,class:"agent-meta"},$2={key:0},C2={key:1},x2={key:2},I2={key:3},T2=Ie({__name:"SubagentPanel",props:{subagents:{}},setup(e){const t=e,n=G(()=>t.subagents.filter(a=>a.state==="spawning"||a.state==="running").length);function s(a){return a.state==="spawning"?a.runInBackground?"后台排队":"准备中":a.state==="running"?a.runInBackground?"后台运行":"运行中":a.state==="completed"?"已完成":"失败"}function o(a){return a===void 0||a<0?null:a<1e3?"< 1 秒":a<6e4?`${(a/1e3).toFixed(a<1e4?1:0)} 秒`:`${Math.floor(a/6e4)} 分 ${Math.round(a%6e4/1e3)} 秒`}function r(a){const l=a.usage;return l?l.inputOther+l.output+l.inputCacheRead+l.inputCacheCreation:null}function i(a){return a.toLocaleString()}return(a,l)=>(m(),v("section",l2,[h("header",u2,[h("div",c2,[h("span",d2,[X(ce,{name:"bot",size:16})]),h("div",null,[l[0]||(l[0]=h("h2",null,"协作代理",-1)),h("p",f2,C(n.value>0?`${n.value} 个正在执行`:"最近的子代理执行记录"),1)])]),n.value>0?(m(),v("span",{key:0,class:"active-count","aria-label":`${n.value} 个代理正在执行`},C(n.value),9,h2)):U("",!0)]),h("div",p2,[e.subagents.length===0?(m(),v("p",g2,"当前会话还没有子代理活动")):(m(),v("ol",m2,[(m(!0),v(ne,null,Ce(e.subagents,u=>(m(),v("li",{key:u.subagentId,class:"agent-row"},[h("div",v2,[h("span",{class:ue(["agent-mark",u.state]),"aria-hidden":"true"},[X(ce,{name:u.state==="failed"?"x":u.state==="completed"?"check":"bot",size:14},null,8,["name"])],2),h("div",y2,[h("strong",null,C(u.name),1),u.runInBackground?(m(),v("span",b2,"后台")):U("",!0),u.description?(m(),v("span",k2,C(u.description),1)):U("",!0)]),h("span",{class:ue(["agent-state",u.state])},C(s(u)),3)]),u.error?(m(),v("p",w2,C(u.error),1)):u.resultSummary?(m(),v("p",S2,C(u.resultSummary),1)):U("",!0),u.turns||u.toolCallCount||o(u.durationMs)||r(u)!==null?(m(),v("dl",_2,[u.turns?(m(),v("div",$2,[l[1]||(l[1]=h("dt",null,"回合",-1)),h("dd",null,C(u.turns),1)])):U("",!0),u.toolCallCount?(m(),v("div",C2,[l[2]||(l[2]=h("dt",null,"工具",-1)),h("dd",null,C(u.toolCallCount),1)])):U("",!0),o(u.durationMs)?(m(),v("div",x2,[l[3]||(l[3]=h("dt",null,"耗时",-1)),h("dd",null,C(o(u.durationMs)),1)])):U("",!0),r(u)!==null?(m(),v("div",I2,[l[4]||(l[4]=h("dt",null,"Token",-1)),h("dd",null,C(i(r(u))),1)])):U("",!0)])):U("",!0)]))),128))]))])]))}}),E2=Te(T2,[["__scopeId","data-v-7f938bff"]]),A2={class:"settings"},M2={class:"settings-layout"},R2={class:"rail","aria-label":"设置分区"},P2=["aria-current","onClick"],L2={class:"pane"},D2={key:0,class:"pane-section"},N2={class:"block"},O2={class:"theme-grid",role:"radiogroup","aria-label":"主题"},G2=["aria-checked","onClick"],B2={class:"block"},F2={class:"like-fields"},U2={class:"like-label"},j2=["onUpdate:modelValue","placeholder","aria-label"],z2={class:"like-actions"},H2={key:0,class:"saved-hint"},W2={key:1,class:"pane-section"},q2={key:0,class:"notice-bar"},V2={key:1,class:"error-row",role:"alert"},K2={class:"error-text"},Z2={key:2,class:"empty"},Y2={key:3,class:"list"},X2={class:"row-main"},J2={class:"row-title"},Q2={class:"row-sub"},eP=["disabled","onClick"],tP={key:2,class:"pane-section"},nP={key:0,class:"empty"},sP={key:1,class:"list"},oP={class:"row-main"},rP={class:"row-title"},iP={class:"row-sub"},aP={class:"row-actions"},lP=["disabled","onClick"],uP=["disabled","onClick"],cP={key:3,class:"pane-section"},dP={class:"block"},fP={class:"inline-form"},hP={key:0,class:"hint"},pP={key:0,class:"empty"},gP={key:1,class:"list"},mP={class:"row-main"},vP={class:"row-title"},yP={key:0,class:"version"},bP={class:"row-sub"},kP=["disabled","onClick"],wP={key:4,class:"pane-section"},SP={key:0,class:"hint"},_P={key:1,class:"empty"},$P={key:2,class:"list"},CP={class:"row-main"},xP={class:"row-title"},IP={class:"row-sub"},TP={class:"row-actions"},EP=["disabled","onClick"],AP=["disabled","onClick"],MP=["disabled","onClick"],RP={key:5,class:"pane-section"},PP={class:"task-title-row"},LP={key:0,class:"hint"},DP={key:1,class:"empty"},NP={key:2,class:"list"},OP={class:"row-main"},GP={class:"row-title"},BP={class:"row-sub"},FP={class:"row-actions"},UP=["disabled","onClick"],jP=["disabled","onClick"],zP={key:3,class:"task-inspector","aria-label":"任务输出"},HP={class:"task-inspector-head"},WP=["title"],qP={class:"task-inspector-actions"},VP=["disabled"],KP={key:0,class:"task-output"},ZP={key:1,class:"task-output-empty"},YP={class:"task-meta"},XP={key:0},JP={key:1},QP=Ie({__name:"SettingsView",props:{like:{default:()=>({})},client:{}},emits:["update-like"],setup(e,{emit:t}){const n=e,s=t;function o(R){return R!==null&&typeof R=="object"&&R.__v_isRef===!0?R.value:R}const r=[{id:"general",label:"通用",icon:"settings"},{id:"models",label:"模型",icon:"bot"},{id:"skills",label:"技能",icon:"sparkles"},{id:"plugins",label:"插件",icon:"layers"},{id:"mcp",label:"MCP 服务器",icon:"monitor"},{id:"tasks",label:"后台任务",icon:"activity"}],i=O("general"),a=G(()=>n.client),l=In("theme",O("system")),u=In("setTheme",()=>{}),c=[{id:"light",label:"浅色",icon:"sun"},{id:"dark",label:"深色",icon:"moon"},{id:"system",label:"跟随系统",icon:"monitor"}],d=O({...n.like}),f=O(!1);Se(()=>n.like,R=>{d.value={...R}});const p=[{key:"nickname",label:"称呼",hint:"AI 如何称呼你"},{key:"tone",label:"语气",hint:"回复的语气风格"},{key:"other",label:"偏好",hint:"其他偏好说明"},{key:"doNot",label:"禁止事项",hint:"明确禁止的行为"}];function g(){s("update-like",y()),f.value=!0,setTimeout(()=>f.value=!1,1500)}function y(){const R={};for(const K of p){const N=d.value[K.key];typeof N=="string"&&N.trim()&&(R[K.key]=N.trim())}return R}const S=G(()=>{var R;return o((R=a.value)==null?void 0:R.models)??[]}),k=G(()=>{var R,K;return((K=o((R=a.value)==null?void 0:R.status))==null?void 0:K.model)??""}),w=G(()=>{var R;return o((R=a.value)==null?void 0:R.modelsError)??""}),b=G(()=>{var R;return!!o((R=a.value)==null?void 0:R.currentSessionId)});function _(){var R,K;(K=(R=a.value)==null?void 0:R.fetchModels)==null||K.call(R)}function B(R){var K,N;(N=(K=a.value)==null?void 0:K.switchModel)==null||N.call(K,R)}const D=G(()=>{var R;return o((R=a.value)==null?void 0:R.skills)??[]}),E=O(!1);async function M(R){var K,N,Q,$;E.value=!0;try{await((N=(K=a.value)==null?void 0:K.activateSkill)==null?void 0:N.call(K,R))&&await(($=(Q=a.value)==null?void 0:Q.fetchSkills)==null?void 0:$.call(Q))}finally{E.value=!1}}async function T(R){var N,Q,$,H;if(!window.confirm(`移除技能「${R}」?`))return;await((Q=(N=a.value)==null?void 0:N.removeSkill)==null?void 0:Q.call(N,R))&&await((H=($=a.value)==null?void 0:$.fetchSkills)==null?void 0:H.call($))}const Z=G(()=>{var R;return o((R=a.value)==null?void 0:R.plugins)??[]}),W=O(!1);async function j(R,K){var N,Q,$,H;W.value=!0;try{await((Q=(N=a.value)==null?void 0:N.setPluginEnabled)==null?void 0:Q.call(N,R,K))&&await((H=($=a.value)==null?void 0:$.fetchPlugins)==null?void 0:H.call($))}finally{W.value=!1}}const te=O(""),I=O(!1),A=O("");async function V(){var K,N;const R=te.value.trim();if(R){I.value=!0,A.value="";try{const Q=await((N=(K=a.value)==null?void 0:K.installPlugin)==null?void 0:N.call(K,R));A.value=Q?`已安装 ${Q.displayName}`:"安装失败",Q&&(te.value="")}finally{I.value=!1}}}const ie=G(()=>{var R;return o((R=a.value)==null?void 0:R.mcpServers)??[]}),me=O(!1),_e=O("");async function he(R,K){var N,Q,$,H;me.value=!0,_e.value="";try{const q=await((Q=(N=a.value)==null?void 0:N[R])==null?void 0:Q.call(N,K));_e.value=q?"操作成功":"操作失败",await((H=($=a.value)==null?void 0:$.fetchMcpServers)==null?void 0:H.call($))}finally{me.value=!1}}const ae=G(()=>{var R;return o((R=a.value)==null?void 0:R.backgroundTasks)??[]}),pe=O(""),oe=O(!1),ge=O(""),$e=O(null),Ne=O(!1);let Ue=0,Ke=null;const Ye=G(()=>$e.value?ae.value.find(R=>R.taskId===$e.value)??null:null),rt=G(()=>ae.value.some(R=>R.status==="running"||R.status==="awaiting_approval"));async function Dt(){var R,K;await((K=(R=a.value)==null?void 0:R.fetchBackgroundTasks)==null?void 0:K.call(R))}function x(){Ke!==null&&(window.clearInterval(Ke),Ke=null)}function P(){if(i.value!=="tasks"||!rt.value){x();return}Ke===null&&(Ke=window.setInterval(()=>{Dt(),Ye.value&&ee(Ye.value.taskId,!1)},3e3))}async function z(R){var N,Q;const K=ae.value.find($=>$.taskId===R);if(window.confirm(`停止后台任务「${(K==null?void 0:K.command)??R}」?`)){oe.value=!0,ge.value="";try{const $=await((Q=(N=a.value)==null?void 0:N.stopBackgroundTask)==null?void 0:Q.call(N,R));ge.value=$?"已停止":"取消失败",await Dt(),$e.value===R&&await ee(R,!1)}finally{oe.value=!1}}}async function ee(R,K=!0){var Q,$,H;K&&($e.value=R,pe.value="");const N=++Ue;Ne.value=!0,ge.value="";try{await(($=(Q=a.value)==null?void 0:Q.fetchBackgroundTaskOutput)==null?void 0:$.call(Q,R,200)),N===Ue&&$e.value===R&&(pe.value=o((H=a.value)==null?void 0:H.backgroundTaskOutput)??"")}finally{N===Ue&&(Ne.value=!1)}}et(()=>{var K,N,Q,$,H,q;const R=a.value;(K=R==null?void 0:R.fetchModels)==null||K.call(R),(N=R==null?void 0:R.fetchConfig)==null||N.call(R),(Q=R==null?void 0:R.fetchSkills)==null||Q.call(R),($=R==null?void 0:R.fetchPlugins)==null||$.call(R),(H=R==null?void 0:R.fetchMcpServers)==null||H.call(R),(q=R==null?void 0:R.fetchBackgroundTasks)==null||q.call(R)}),st(()=>{x()}),Se([i,rt],([R])=>{R==="tasks"&&Dt(),P()},{immediate:!0});function J(R){return R==="connected"||R==="completed"?"ok":R==="failed"||R==="killed"?"bad":R==="running"||R==="pending"?"run":"muted"}return(R,K)=>(m(),v("div",A2,[h("div",M2,[h("nav",R2,[(m(),v(ne,null,Ce(r,N=>h("button",{key:N.id,class:ue(["rail-tab",{active:i.value===N.id}]),"aria-current":i.value===N.id?"page":void 0,onClick:Q=>i.value=N.id},[X(ce,{name:N.icon,size:16},null,8,["name"]),h("span",null,C(N.label),1)],10,P2)),64))]),h("div",L2,[i.value==="general"?(m(),v("section",D2,[K[6]||(K[6]=h("h1",{class:"settings-title"},"通用设置",-1)),h("div",N2,[K[3]||(K[3]=h("h2",{class:"block-title"},"外观",-1)),h("div",O2,[(m(),v(ne,null,Ce(c,N=>h("button",{key:N.id,role:"radio","aria-checked":F(l)===N.id,class:ue(["theme-option",{active:F(l)===N.id}]),onClick:Q=>F(u)(N.id)},[X(ce,{name:N.icon,size:20},null,8,["name"]),h("span",null,C(N.label),1)],10,G2)),64))])]),h("div",B2,[K[5]||(K[5]=h("h2",{class:"block-title"},"偏好设置",-1)),h("div",F2,[(m(),v(ne,null,Ce(p,N=>h("label",{key:N.key,class:"like-field"},[h("span",U2,C(N.label),1),Ze(h("input",{"onUpdate:modelValue":Q=>d.value[N.key]=Q,class:"like-input",placeholder:N.hint,"aria-label":N.label},null,8,j2),[[it,d.value[N.key]]])])),64)),h("div",z2,[X(Ht,{variant:"primary",onClick:g},{default:ot(()=>[...K[4]||(K[4]=[Ae("保存偏好",-1)])]),_:1}),f.value?(m(),v("span",H2,"已保存")):U("",!0)])])])])):i.value==="models"?(m(),v("section",W2,[K[7]||(K[7]=h("h1",{class:"settings-title"},"模型",-1)),b.value?U("",!0):(m(),v("p",q2,"打开一个会话后可在此切换模型")),w.value?(m(),v("div",V2,[h("span",K2,C(w.value),1),h("button",{class:"row-action",onClick:_},"重试")])):S.value.length===0?(m(),v("p",Z2,"没有可用的模型")):(m(),v("ul",Y2,[(m(!0),v(ne,null,Ce(S.value,N=>(m(),v("li",{key:N.alias,class:ue(["list-row",{selected:N.alias===k.value}])},[h("div",X2,[h("span",J2,C(N.displayName||N.model),1),h("span",Q2,C(N.provider)+" · "+C(N.alias)+" · "+C(N.maxContextSize),1)]),h("button",{class:"row-action",disabled:!b.value||N.alias===k.value,onClick:Q=>B(N.alias)},C(N.alias===k.value?"使用中":"切换"),9,eP)],2))),128))]))])):i.value==="skills"?(m(),v("section",tP,[K[8]||(K[8]=h("h1",{class:"settings-title"},"技能",-1)),D.value.length===0?(m(),v("p",nP,"当前会话没有可用技能")):(m(),v("ul",sP,[(m(!0),v(ne,null,Ce(D.value,N=>(m(),v("li",{key:N.name,class:"list-row"},[h("div",oP,[h("span",rP,C(N.name),1),h("span",iP,[Ae(C(N.description||"—")+" ",1),N.pluginId?(m(),v(ne,{key:0},[Ae("· 来自插件 "+C(N.pluginId),1)],64)):U("",!0)])]),h("div",aP,[h("button",{class:"row-action",disabled:E.value,onClick:Q=>M(N.name)}," 激活 ",8,lP),h("button",{class:"row-action danger",disabled:E.value,onClick:Q=>T(N.name)}," 移除 ",8,uP)])]))),128))]))])):i.value==="plugins"?(m(),v("section",cP,[K[11]||(K[11]=h("h1",{class:"settings-title"},"插件",-1)),h("div",dP,[K[10]||(K[10]=h("h2",{class:"block-title"},"安装插件",-1)),h("div",fP,[Ze(h("input",{"onUpdate:modelValue":K[0]||(K[0]=N=>te.value=N),class:"like-input",placeholder:"本地路径 / zip URL / GitHub 地址","aria-label":"插件来源",spellcheck:"false"},null,512),[[it,te.value]]),X(Ht,{variant:"primary",disabled:I.value||!te.value.trim(),onClick:V},{default:ot(()=>[...K[9]||(K[9]=[Ae(" 安装 ",-1)])]),_:1},8,["disabled"])]),A.value?(m(),v("p",hP,C(A.value),1)):U("",!0)]),Z.value.length===0?(m(),v("p",pP,"还没有安装插件")):(m(),v("ul",gP,[(m(!0),v(ne,null,Ce(Z.value,N=>(m(),v("li",{key:N.id,class:"list-row"},[h("div",mP,[h("span",vP,[Ae(C(N.displayName)+" ",1),N.version?(m(),v("span",yP,"v"+C(N.version),1)):U("",!0)]),h("span",bP,C(N.skillCount)+" 技能 · "+C(N.enabledMcpServerCount)+"/"+C(N.mcpServerCount)+" MCP",1)]),h("button",{class:"row-action",disabled:W.value,onClick:Q=>j(N.id,!N.enabled)},C(N.enabled?"停用":"启用"),9,kP)]))),128))]))])):i.value==="mcp"?(m(),v("section",wP,[K[12]||(K[12]=h("h1",{class:"settings-title"},"MCP 服务器",-1)),_e.value?(m(),v("p",SP,C(_e.value),1)):U("",!0),ie.value.length===0?(m(),v("p",_P,"没有配置 MCP 服务器")):(m(),v("ul",$P,[(m(!0),v(ne,null,Ce(ie.value,N=>(m(),v("li",{key:N.name,class:"list-row"},[h("div",CP,[h("span",xP,C(N.name),1),h("span",IP,C(N.transport)+" · "+C(N.toolCount)+" 工具",1),h("span",{class:ue(["status-pill",J(N.status)])},C(N.status),3)]),h("div",TP,[h("button",{class:"row-action",disabled:me.value,onClick:Q=>he("reconnectMcpServer",N.name)},"重连",8,EP),h("button",{class:"row-action",disabled:me.value,onClick:Q=>he("stopMcpServer",N.name)},"停止",8,AP),h("button",{class:"row-action danger",disabled:me.value,onClick:Q=>he("removeMcpServer",N.name)},"移除",8,MP)])]))),128))]))])):i.value==="tasks"?(m(),v("section",RP,[h("div",PP,[K[13]||(K[13]=h("h1",{class:"settings-title"},"后台任务",-1)),h("button",{class:"icon-refresh",title:"刷新后台任务","aria-label":"刷新后台任务",onClick:Dt},[X(ce,{name:"refresh",size:16})])]),ge.value?(m(),v("p",LP,C(ge.value),1)):U("",!0),ae.value.length===0?(m(),v("p",DP,"没有后台任务")):(m(),v("ul",NP,[(m(!0),v(ne,null,Ce(ae.value,N=>(m(),v("li",{key:N.taskId,class:"list-row"},[h("div",OP,[h("span",GP,C(N.command),1),h("span",BP,C(N.description),1),h("span",{class:ue(["status-pill",J(N.status)])},C(N.status),3)]),h("div",FP,[h("button",{class:"row-action",disabled:oe.value,onClick:Q=>ee(N.taskId)},"输出",8,UP),N.status==="running"||N.status==="awaiting_approval"?(m(),v("button",{key:0,class:"row-action danger",disabled:oe.value,onClick:Q=>z(N.taskId)}," 停止 ",8,jP)):U("",!0)])]))),128))])),Ye.value?(m(),v("section",zP,[h("header",HP,[h("div",null,[K[14]||(K[14]=h("span",{class:"task-inspector-label"},"输出",-1)),h("strong",{title:Ye.value.command},C(Ye.value.command),9,WP)]),h("div",qP,[h("button",{title:"刷新输出","aria-label":"刷新输出",disabled:Ne.value,onClick:K[1]||(K[1]=N=>ee(Ye.value.taskId,!1))},[X(ce,{name:"refresh",size:14})],8,VP),h("button",{title:"关闭输出","aria-label":"关闭输出",onClick:K[2]||(K[2]=N=>$e.value=null)},[X(ce,{name:"x",size:14})])])]),pe.value?(m(),v("pre",KP,C(pe.value),1)):(m(),v("p",ZP,C(Ne.value?"正在读取输出…":"暂时没有输出"),1)),h("footer",YP,[h("span",null,"PID "+C(Ye.value.pid),1),Ye.value.exitCode!==null?(m(),v("span",XP,"退出码 "+C(Ye.value.exitCode),1)):(m(),v("span",JP,C(Ye.value.status),1))])])):U("",!0)])):U("",!0)])])]))}}),Xp=Te(QP,[["__scopeId","data-v-c9e30e98"]]),eL={class:"settings-modal-body"},tL=Ie({__name:"SettingsModal",setup(e){const{open:t}=gh(),n=G(()=>za()),s=G(()=>{var r;return((r=n.value)==null?void 0:r.like.value)??{}});function o(r){var i;(i=n.value)==null||i.updateLike(r)}return et(tb),st(()=>{nb(),Xr()}),(r,i)=>(m(),De(Vl,{open:F(t),title:"设置","max-width":"920px",onClose:F(Xr)},{default:ot(()=>[h("div",eL,[n.value?(m(),De(Xp,{key:0,client:n.value,like:s.value,onUpdateLike:o},null,8,["client","like"])):U("",!0)])]),_:1},8,["open","onClose"]))}}),nL=Te(tL,[["__scopeId","data-v-890b7003"]]),Rd=O(""),_a=O(new Set),pr=O(new Set),sL=O("sessions"),$a=5;function oL(){function e(o){const r=new Set(_a.value);r.has(o)?r.delete(o):r.add(o),_a.value=r}function t(o){const r=new Set(pr.value);r.has(o)?r.delete(o):r.add(o),pr.value=r}function n(o){return pr.value.has(o)}function s(){Rd.value=""}return{query:Rd,collapsedSpaces:_a,expandedSpaces:pr,section:sL,toggleSpace:e,toggleSpaceExpanded:t,isSpaceExpanded:n,clearSearch:s}}const rL=1440*60*1e3,iL=7,aL="昨天";function Pd(e){const t=new Date(e);return Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())/rL}function lL(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0");return`${n}:${s}`}function uL(e,t=Date.now()){if(!Number.isFinite(e)||e<=0)return"";const n=Pd(t)-Pd(e);if(n<=0)return lL(e);if(n===1)return aL;if(n<=iL)return`${n} 天前`;const s=new Date(e);return`${s.getMonth()+1}/${s.getDate()}`}const Jp="scream-file-tree-expanded",cL=O("");function dL(){try{const e=localStorage.getItem(Jp);if(!e)return{};const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t)){const n={};for(const[s,o]of Object.entries(t))Array.isArray(o)&&(n[s]=o.filter(r=>typeof r=="string"));return n}return{}}catch{return{}}}const ts=O(dL()),po=Wn(new Map),Ca=O(null),xa=new Map;function fL(){function e(l){return l?new Set(ts.value[l]??[]):new Set}function t(l){if(!l)return;const u={...ts.value};u[l]=[...e(l)],ts.value=u;try{localStorage.setItem(Jp,JSON.stringify(u))}catch{}}function n(l){Ca.value!==l&&(Ca.value=l)}function s(l,u){var c;return l?((c=ts.value[l])==null?void 0:c.includes(u))??!1:!1}function o(l,u){if(!l)return!1;const c=ts.value[l]??[],d=c.includes(u)?c.filter(f=>f!==u):[...c,u];return ts.value={...ts.value,[l]:d},t(l),!c.includes(u)}function r(l){return po.get(l)??[]}async function i(l){const u=(xa.get(l)??0)+1;xa.set(l,u);const c=await Wl(l);return u!==(xa.get(l)??0)?po.get(l)??[]:(c!==null&&po.set(l,c),po.get(l)??[])}function a(l){po.delete(l)}return{activeWorkDir:Ca,query:cL,isExpanded:s,toggleExpand:o,loadedChildren:r,loadChildren:i,invalidate:a,setRoot:n}}const hL={class:"file-tree"},pL={key:0,class:"tree-toolbar"},gL={class:"tree-search"},mL={key:1,class:"tree-empty"},vL={key:2,class:"tree-empty"},yL={key:3,class:"tree-empty"},bL={key:4,class:"tree-empty"},kL=["aria-label"],wL=["aria-expanded","onClick"],SL=["title"],_L=["aria-expanded","onClick"],$L=["title"],CL=Ie({__name:"FileTree",props:{workDir:{},gitStatus:{},refreshGit:{type:Function}},setup(e){const t=e,{query:n,isExpanded:s,toggleExpand:o,loadedChildren:r,loadChildren:i,invalidate:a,setRoot:l}=fL(),u=O(!1),c=O(!1);Se(()=>t.workDir,D=>{l(D),D&&d(D)},{immediate:!0});async function d(D){u.value=!0,c.value=!1;try{(await i(D)).length===0&&(c.value=!0)}finally{u.value=!1}}async function f(D){const E=t.workDir;if(!E)return;o(E,D)&&await i(D)}function p(D,E){return`${D.replace(/\/+$/,"")}/${E}`}function g(D){const E=t.workDir;if(!E)return D;const M=E.replace(/\/+$/,"");return D===M?"":D.startsWith(`${M}/`)?D.slice(M.length+1):D}function y(D){var Z;const E=(Z=t.gitStatus)==null?void 0:Z.files;if(!E||E.length===0)return null;const M=g(D),T=E.find(W=>(W.displayPath??W.path)===M);return T?T.status.includes("?")?"?":T.status.includes("A")?"A":T.status.includes("M")?"M":null:null}const S=G(()=>{const D=t.workDir;if(!D)return[];const E=[],M=(T,Z)=>{for(const W of r(T)){const j=p(T,W.name);E.push({abs:j,name:W.name,rel:g(j),isDir:W.type==="dir",depth:Z,git:y(j)}),W.type==="dir"&&s(D,j)&&M(j,Z+1)}};return M(D,0),E}),k=G(()=>S.value),w=G(()=>{const D=n.value.trim();if(!D)return[];const E=new Map(k.value.map(M=>[M.rel,M]));return vh(k.value.map(M=>({path:M.rel,isDir:M.isDir})),D,50).map(M=>E.get(M.path)).filter(M=>M!==void 0)}),b=G(()=>n.value.trim().length>0);function _(D){D.isDir?f(D.abs):ms(D.abs)}function B(){var E;const D=t.workDir;D&&(a(D),Eb(D),d(D),(E=t.refreshGit)==null||E.call(t))}return(D,E)=>(m(),v("div",hL,[e.workDir?(m(),v("div",pL,[h("label",gL,[X(ce,{name:"search",size:13}),Ze(h("input",{"onUpdate:modelValue":E[0]||(E[0]=M=>ht(n)?n.value=M:null),type:"text",placeholder:"过滤文件…","aria-label":"过滤文件",spellcheck:"false"},null,512),[[it,F(n)]])]),h("button",{class:"tree-refresh",title:"刷新文件树与 Git 状态","aria-label":"刷新文件树与 Git 状态",onClick:B},[X(ce,{name:"refresh",size:13})])])):U("",!0),e.workDir?u.value&&S.value.length===0?(m(),v("div",vL,"加载中…")):c.value&&S.value.length===0?(m(),v("div",yL,"工作目录为空")):b.value&&w.value.length===0?(m(),v("div",bL,"没有匹配的文件")):(m(),v("div",{key:5,class:"tree-scroll",role:"tree","aria-label":"文件树 "+e.workDir},[b.value?(m(!0),v(ne,{key:0},Ce(w.value,M=>(m(),v("button",{key:M.abs,class:ue(["tree-row",{"is-dir":M.isDir}]),role:"treeitem","aria-expanded":M.isDir?F(s)(e.workDir,M.abs):void 0,onClick:T=>_(M)},[X(ce,{name:M.isDir?"folder":"file",size:14,class:"row-icon"},null,8,["name"]),h("span",{class:"row-label mono",title:M.rel},C(M.rel),9,SL),M.git?(m(),v("span",{key:0,class:ue(["row-git",`g-${M.git}`])},C(M.git),3)):U("",!0)],10,wL))),128)):(m(!0),v(ne,{key:1},Ce(S.value,M=>(m(),v("button",{key:M.abs,class:ue(["tree-row",{"is-dir":M.isDir}]),style:bt({paddingLeft:`${8+M.depth*14}px`}),role:"treeitem","aria-expanded":M.isDir?F(s)(e.workDir,M.abs):void 0,onClick:T=>_(M)},[X(ce,{name:M.isDir?F(s)(e.workDir,M.abs)?"chevron-down":"chevron-right":"file",size:13,class:"row-caret"},null,8,["name"]),X(ce,{name:M.isDir?"folder":"file",size:14,class:"row-icon"},null,8,["name"]),h("span",{class:ue(["row-label",{mono:!M.isDir}]),title:M.rel},C(M.name),11,$L),M.git?(m(),v("span",{key:0,class:ue(["row-git",`g-${M.git}`])},C(M.git),3)):U("",!0)],14,_L))),128))],8,kL)):(m(),v("div",mL,"当前会话没有工作目录"))]))}}),xL=Te(CL,[["__scopeId","data-v-f7cdf024"]]),Qp=""+new URL("logo-v2-ChmPAIbI.svg",import.meta.url).href,IL={class:"sidebar-head"},TL=["src"],EL=["title","aria-label","aria-expanded"],AL=["title"],ML={key:0},RL={key:0,class:"section-switch",role:"tablist","aria-label":"侧栏分区"},PL=["aria-selected"],LL=["aria-selected"],DL={key:0,class:"side-search"},NL=["placeholder"],OL={class:"spaces"},GL=["title"],BL=["title","onClick"],FL={class:"space-name"},UL={class:"space-count"},jL={key:0,class:"space-sessions"},zL=["title","onClick","onDblclick"],HL={key:0,class:"session-run","aria-hidden":"true"},WL={class:"session-text"},qL={key:0,class:"session-rename"},VL=["aria-label","onKeydown","onBlur"],KL={class:"session-title"},ZL={class:"session-meta"},YL={class:"session-actions"},XL=["disabled","title","aria-label","onClick"],JL=["title","aria-label","onClick"],QL=["aria-label"],eD={class:"delete-confirm-text"},tD={class:"delete-confirm-actions"},nD=["onClick"],sD=["title","onClick"],oD={key:0,class:"spaces-empty"},rD={class:"sidebar-foot","aria-label":"功能区"},iD=["title"],aD={key:0},lD=["title"],uD={key:0},cD={class:"sidebar-identity"},dD={key:0,class:"identity-text"},fD=Ie({__name:"Sidebar",props:{view:{},sessions:{},currentSessionId:{default:null},workDir:{default:null},gitStatus:{default:null},refreshGit:{type:Function,default:void 0},collapsed:{type:Boolean,default:!1},showCollapseToggle:{type:Boolean,default:!0}},emits:["navigate","switch-session","delete-session","create-session","toggle-collapse","open-file","rename-session"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=O(null),{query:i,collapsedSpaces:a,section:l,toggleSpace:u,toggleSpaceExpanded:c,isSpaceExpanded:d}=oL();function f(){var he,ae;(he=r.value)==null||he.focus(),(ae=r.value)==null||ae.select()}const{open:p}=gh();function g(){ph()||o("navigate","settings")}t({focusSearch:f});const y=G(()=>{const he=i.value.trim().toLowerCase();return he?s.sessions.filter(ae=>_e(ae).toLowerCase().includes(he)||ae.workDir.toLowerCase().includes(he)):s.sessions}),S=G(()=>{var pe;const he=new Map;for(const oe of y.value){const ge=oe.workDir||"默认空间",$e=ge.split(/[\\/]/).filter(Boolean),Ne=$e.length>0?$e[$e.length-1]:ge,Ue=he.get(ge);Ue?Ue.items.push(oe):he.set(ge,{key:ge,name:Ne,items:[oe]})}const ae=(pe=s.sessions.find(oe=>oe.sessionId===s.currentSessionId))==null?void 0:pe.workDir;return[...he.values()].sort((oe,ge)=>{var $e,Ne;return oe.key===ae?-1:ge.key===ae?1:((($e=ge.items[0])==null?void 0:$e.createdAt)??0)-(((Ne=oe.items[0])==null?void 0:Ne.createdAt)??0)})});function k(he){return i.value.trim()||d(he.key)?he.items:he.items.length>$a?he.items.slice(0,$a):he.items}function w(he){return Math.max(0,he.items.length-$a)}function b(he){o("switch-session",he)}function _(he){return he.sessionId===s.currentSessionId}const B=O(null);function D(he){B.value=B.value===he.sessionId?null:he.sessionId}function E(){B.value=null}function M(he){E(),o("delete-session",he)}function T(he){if(!B.value)return;const ae=he.target;ae&&typeof ae.closest=="function"&&ae.closest(".session-actions")||E()}et(()=>document.addEventListener("pointerdown",T)),st(()=>document.removeEventListener("pointerdown",T));function Z(he){o("open-file",he)}const W=O(null);function j(he){W.value=he}const te=O(null),I=O("");function A(he){te.value=he.sessionId,I.value=_e(he),Fe(()=>{var ae,pe;(ae=W.value)==null||ae.focus(),(pe=W.value)==null||pe.select()})}function V(){te.value=null,I.value=""}function ie(he){const ae=I.value.trim();if(te.value=null,I.value="",!ae)return;const pe=s.sessions.find(oe=>oe.sessionId===he);!pe||ae===_e(pe)||o("rename-session",he,ae)}function me(he){return uL(he)}function _e(he){const ae=(he.title||"").trim();return ae&&ae!=="新会话"&&ae!=="New Session"?ae:"未命名会话"}return(he,ae)=>(m(),v("aside",{class:ue(["sidebar",{"is-collapsed":e.collapsed}])},[h("div",IL,[h("button",{class:"sidebar-brand",title:"回到新对话",onClick:ae[0]||(ae[0]=pe=>o("navigate","home"))},[h("img",{class:"brand-logo",src:F(Qp),alt:"scream"},null,8,TL)]),e.showCollapseToggle?(m(),v("button",{key:0,class:ue(["collapse-btn",{rotated:e.collapsed}]),title:e.collapsed?"展开侧栏":"折叠侧栏","aria-label":e.collapsed?"展开侧栏":"折叠侧栏","aria-expanded":!e.collapsed,onClick:ae[1]||(ae[1]=pe=>o("toggle-collapse"))},[X(ce,{name:"panel-left",size:15})],10,EL)):U("",!0)]),h("button",{class:"new-chat-btn",title:e.collapsed?"新建对话":void 0,onClick:ae[2]||(ae[2]=pe=>o("create-session"))},[X(ce,{name:"plus",size:16}),e.collapsed?U("",!0):(m(),v("span",ML,"新建对话"))],8,AL),e.collapsed?U("",!0):(m(),v("div",RL,[h("button",{class:ue(["section-tab",{active:F(l)==="sessions"}]),role:"tab","aria-selected":F(l)==="sessions",onClick:ae[3]||(ae[3]=pe=>l.value="sessions")},[X(ce,{name:"message-circle",size:13}),ae[11]||(ae[11]=h("span",null,"会话",-1))],10,PL),h("button",{class:ue(["section-tab",{active:F(l)==="files"}]),role:"tab","aria-selected":F(l)==="files",onClick:ae[4]||(ae[4]=pe=>l.value="files")},[X(ce,{name:"folder",size:13}),ae[12]||(ae[12]=h("span",null,"文件",-1))],10,LL)])),!e.collapsed&&F(l)==="files"?(m(),De(xL,{key:1,"work-dir":e.workDir,"git-status":e.gitStatus,"refresh-git":e.refreshGit,onOpenFile:Z},null,8,["work-dir","git-status","refresh-git"])):U("",!0),e.collapsed||F(l)==="sessions"?(m(),v(ne,{key:2},[e.collapsed?U("",!0):(m(),v("label",DL,[X(ce,{name:"search",size:15}),Ze(h("input",{ref_key:"searchRef",ref:r,"onUpdate:modelValue":ae[5]||(ae[5]=pe=>ht(i)?i.value=pe:null),type:"text",placeholder:`搜索会话… (${F(_r)}K)`,"aria-label":"搜索会话",spellcheck:"false"},null,8,NL),[[it,F(i)]])])),h("div",OL,[(m(!0),v(ne,null,Ce(S.value,pe=>(m(),v("div",{key:pe.key,class:"space-group"},[e.collapsed?(m(),v("button",{key:0,class:ue(["space-dot",{active:pe.items.some(oe=>oe.sessionId===e.currentSessionId)}]),title:pe.name,onClick:ae[6]||(ae[6]=oe=>o("toggle-collapse"))},C(pe.name.slice(0,1).toUpperCase()),11,GL)):(m(),v(ne,{key:1},[h("button",{class:"space-head",title:pe.key,onClick:oe=>F(u)(pe.key)},[X(ce,{name:F(a).has(pe.key)?"chevron-right":"chevron-down",size:14},null,8,["name"]),h("span",FL,C(pe.name),1),h("span",UL,C(pe.items.length),1)],8,BL),F(a).has(pe.key)?U("",!0):(m(),v("div",jL,[(m(!0),v(ne,null,Ce(k(pe),oe=>(m(),v("div",{key:oe.sessionId,class:"session-item-wrap"},[h("button",{class:ue(["session-item",{active:oe.sessionId===e.currentSessionId}]),title:_e(oe),onClick:ge=>b(oe.sessionId),onDblclick:ge=>A(oe)},[oe.active?(m(),v("span",HL)):U("",!0),h("span",WL,[te.value===oe.sessionId?(m(),v("span",qL,[Ze(h("input",{ref_for:!0,ref:j,"onUpdate:modelValue":ae[7]||(ae[7]=ge=>I.value=ge),class:"rename-input",spellcheck:"false","aria-label":`重命名会话 ${_e(oe)}`,onClick:ae[8]||(ae[8]=tt(()=>{},["stop"])),onKeydown:[Vn(tt(ge=>ie(oe.sessionId),["prevent"]),["enter"]),ae[9]||(ae[9]=Vn(tt(ge=>V(),["prevent"]),["esc"]))],onBlur:ge=>ie(oe.sessionId)},null,40,VL),[[it,I.value]])])):(m(),v(ne,{key:1},[h("span",KL,C(_e(oe)),1),h("span",ZL,[h("span",null,C(me(oe.createdAt)),1),oe.messageCount>=0?(m(),v(ne,{key:0},[ae[13]||(ae[13]=h("span",{class:"meta-sep","aria-hidden":"true"},"·",-1)),h("span",null,C(oe.messageCount)+" 条",1)],64)):U("",!0)])],64))])],42,zL),h("div",YL,[h("button",{type:"button",class:"session-act",disabled:!_(oe),title:_(oe)?"重命名会话":"只有当前打开的会话能重命名","aria-label":`重命名会话:${_e(oe)}`,onClick:tt(ge=>A(oe),["stop"])},[X(ce,{name:"edit",size:14})],8,XL),h("button",{type:"button",class:"session-act session-act--danger",title:`删除会话:${_e(oe)}`,"aria-label":`删除会话:${_e(oe)}`,onClick:tt(ge=>D(oe),["stop"])},[X(ce,{name:"trash",size:14})],8,JL),B.value===oe.sessionId?(m(),v("div",{key:0,class:"delete-confirm",role:"alertdialog","aria-label":`确认删除:${_e(oe)}`},[h("div",eD,"删除「"+C(_e(oe))+"」?不可恢复。",1),h("div",tD,[h("button",{type:"button",class:"dc-btn",onClick:tt(E,["stop"])},"取消"),h("button",{type:"button",class:"dc-btn dc-btn--danger",onClick:tt(ge=>M(oe.sessionId),["stop"])}," 确认删除 ",8,nD)])],8,QL)):U("",!0)])]))),128)),!F(i)&&w(pe)>0?(m(),v("button",{key:0,class:"space-more",type:"button",title:F(d)(pe.key)?"收起,只留最近几条":"展开这个空间的其余会话",onClick:oe=>F(c)(pe.key)},[X(ce,{name:"chevron-down",size:12,class:ue({"is-up":F(d)(pe.key)})},null,8,["class"]),h("span",null,C(F(d)(pe.key)?"收起":`显示更多 ${w(pe)} 条`),1)],8,sD)):U("",!0)]))],64))]))),128)),!e.collapsed&&S.value.length===0?(m(),v("p",oD,C(F(i)?"没有匹配的会话":"还没有会话,点击上方「新建对话」开始"),1)):U("",!0)])],64)):U("",!0),h("nav",rD,[h("button",{class:ue(["foot-item",{active:e.view==="skills"}]),title:e.collapsed?"技能中心":void 0,onClick:ae[10]||(ae[10]=pe=>o("navigate","skills"))},[X(ce,{name:"sparkles",size:17}),e.collapsed?U("",!0):(m(),v("span",aD,"技能中心"))],10,iD),h("button",{class:ue(["foot-item",{active:e.view==="settings"||F(p)}]),title:e.collapsed?"设置":void 0,onClick:g},[X(ce,{name:"settings",size:17}),e.collapsed?U("",!0):(m(),v("span",uD,"设置"))],10,lD),h("div",cD,[ae[14]||(ae[14]=h("span",{class:"identity-dot","aria-hidden":"true"},null,-1)),e.collapsed?U("",!0):(m(),v("span",dD,"scream web"))])])],2))}}),Ld=Te(fD,[["__scopeId","data-v-8f86aaa3"]]),hD={class:"skills"},pD={class:"skills-head"},gD={class:"skills-head-actions"},mD={key:0,class:"skills-error",role:"alert"},vD={key:1,class:"skills-grid","aria-hidden":"true"},yD={key:2,class:"skills-empty"},bD={class:"skills-empty-title"},kD={key:3,class:"skills-grid"},wD={class:"skill-card-head"},SD={class:"skill-cmd"},_D={class:"skill-source"},$D={class:"skill-desc"},CD={class:"skill-card-foot"},xD=Ie({__name:"SkillsView",props:{client:{default:void 0},injectDraft:{type:Function,default:void 0}},emits:["create"],setup(e,{emit:t}){const n=e,s=t,{showToast:o}=Js(),{activeClient:r}=Kv(),i=G(()=>n.client??r.value);function a(k){return k!==null&&typeof k=="object"&&k.__v_isRef===!0?k.value:k}const l=G(()=>{var k;return a((k=i.value)==null?void 0:k.skills)??[]}),u=G(()=>{var k;return a((k=i.value)==null?void 0:k.skillsError)??""}),c=G(()=>{var k,w;return!!a(((k=i.value)==null?void 0:k.currentSessionId)??((w=i.value)==null?void 0:w.sessionId))}),d=O(!1);async function f(){const k=i.value;if(k!=null&&k.fetchSkills){d.value=!0;try{await k.fetchSkills()}finally{d.value=!1}}}et(f);const p={builtin:"内置",user:"用户",extra:"扩展",project:"项目"};function g(k){return k.pluginId?`插件 ${k.pluginId}`:p[k.source]||k.source||"本地"}async function y(k){try{return await navigator.clipboard.writeText(k),!0}catch{return!1}}async function S(k){var B;const w=`/${k.name} `;let b=!1;try{b=!!await((B=n.injectDraft)==null?void 0:B.call(n,w))}catch{b=!1}if(b)return;const _=await y(w);s("create"),o(_?`已复制 ${w.trim()},在输入框粘贴后回车即可使用`:`在输入框输入 ${w.trim()} 并回车即可使用该技能`,"info")}return(k,w)=>(m(),v("div",hD,[h("div",pD,[w[4]||(w[4]=h("div",null,[h("h1",{class:"skills-title"},"技能中心"),h("p",{class:"skills-sub"},[Ae(" 当前会话的可用技能;在输入框输入 "),h("code",null,"/"),Ae(" 可从菜单调用,命令帮助见 "),h("code",null,"/help")])],-1)),h("div",gD,[X(Ht,{variant:"ghost",disabled:d.value||!c.value,onClick:f},{default:ot(()=>[X(ce,{name:"refresh",size:16}),w[2]||(w[2]=Ae(" 重新加载 ",-1))]),_:1},8,["disabled"]),X(Ht,{variant:"primary",onClick:w[0]||(w[0]=b=>s("create"))},{default:ot(()=>[X(ce,{name:"plus",size:16}),w[3]||(w[3]=Ae(" 新建会话 ",-1))]),_:1})])]),u.value?(m(),v("p",mD,[Ae(C(u.value)+" ",1),h("button",{class:"skills-retry",onClick:f},"重试")])):U("",!0),d.value&&l.value.length===0?(m(),v("div",vD,[(m(),v(ne,null,Ce(6,b=>h("div",{key:b,class:"skill-card skeleton"},[...w[5]||(w[5]=[h("span",{class:"skeleton-line skeleton-line-title"},null,-1),h("span",{class:"skeleton-line"},null,-1),h("span",{class:"skeleton-line skeleton-line-short"},null,-1)])])),64))])):l.value.length===0&&!u.value?(m(),v("div",yD,[X(ce,{name:"sparkles",size:28}),h("p",bD,C(c.value?"这个会话还没有可用技能":"打开会话后可查看技能"),1),w[7]||(w[7]=h("p",{class:"skills-empty-hint"}," 技能可以放在技能目录(用户 / 额外目录),或随插件安装进来;装好后点「重新加载」。 ",-1)),X(Ht,{variant:"primary",onClick:w[1]||(w[1]=b=>s("create"))},{default:ot(()=>[X(ce,{name:"plus",size:16}),w[6]||(w[6]=Ae(" 新建会话 ",-1))]),_:1})])):(m(),v("div",kD,[(m(!0),v(ne,null,Ce(l.value,b=>(m(),v("article",{key:b.name,class:"skill-card"},[h("div",wD,[h("span",SD,"/"+C(b.name),1),h("span",_D,C(g(b)),1)]),h("p",$D,C(b.description||"暂无描述"),1),h("div",CD,[X(Ht,{variant:"secondary",onClick:_=>S(b)},{default:ot(()=>[X(ce,{name:"send",size:14}),w[8]||(w[8]=Ae(" 试用 ",-1))]),_:1},8,["onClick"])])]))),128))]))]))}}),ID=Te(xD,[["__scopeId","data-v-60c38852"]]),TD={class:"dock-tabs",role:"tablist","aria-label":"右栏标签","aria-orientation":"horizontal"},ED=["onAuxclick"],AD=["id","aria-selected","aria-controls","tabindex","title","data-kind","onClick","onKeydown"],MD={class:"tab-label"},RD=["title","aria-label","onClick"],PD={class:"dock-chrome"},LD=["title","aria-label","aria-pressed"],DD=Ie({__name:"TabBar",props:{maximized:{type:Boolean,default:!1},showMaximize:{type:Boolean,default:!0}},emits:["update:maximized","collapse"],setup(e,{emit:t}){const n=t,s=O(null);Se(()=>we.activeTabId,async()=>{var d,f;await Fe();const c=(d=s.value)==null?void 0:d.querySelector(".tab-button.active");(f=c==null?void 0:c.scrollIntoView)==null||f.call(c,{block:"nearest",inline:"nearest"})},{immediate:!0});function o(c,d){c.button===1&&(c.preventDefault(),c.stopPropagation(),a(d))}function r(c){c&&Fe(()=>{var d;return(d=document.getElementById(Zr(c)))==null?void 0:d.focus()})}function i(c){Xy(c),r(c)}function a(c){const d=we.activeTabId===c;Jy(c),d&&r(we.activeTabId)}function l(c){return Wa(c.kind==="file"?"file-pane":c.id)}function u(c,d){const f=we.tabs,p=f.findIndex(S=>S.id===d);if(p<0)return;if(c.key==="Enter"||c.key===" "){c.preventDefault(),i(d);return}let g=-1;if(c.key==="ArrowRight"?g=(p+1)%f.length:c.key==="ArrowLeft"?g=(p-1+f.length)%f.length:c.key==="Home"?g=0:c.key==="End"&&(g=f.length-1),g<0)return;c.preventDefault();const y=f[g];y&&i(y.id)}return(c,d)=>(m(),v("div",{ref_key:"barRef",ref:s,class:"tab-bar"},[h("div",TD,[(m(!0),v(ne,null,Ce(F(we).tabs,f=>(m(),v("div",{key:f.id,class:ue(["tab-entry",{active:f.id===F(we).activeTabId}]),role:"presentation",onAuxclick:p=>o(p,f.id)},[h("button",{id:F(Zr)(f.id),class:ue(["tab-button",{active:f.id===F(we).activeTabId}]),role:"tab","aria-selected":f.id===F(we).activeTabId,"aria-controls":l(f),tabindex:f.id===F(we).activeTabId?0:-1,title:f.kind==="file"?f.filePath:f.label,"data-kind":f.kind,onClick:p=>i(f.id),onKeydown:p=>u(p,f.id),onMousedown:d[0]||(d[0]=p=>{p.button===1&&p.preventDefault()})},[X(ce,{name:F(dh)(f.kind).icon,size:13,class:"tab-icon"},null,8,["name"]),h("span",MD,C(f.label),1)],42,AD),h("button",{class:"tab-close",title:`关闭 ${f.label}`,"aria-label":`关闭 ${f.label}`,onClick:tt(p=>a(f.id),["stop"])},[X(ce,{name:"x",size:11})],8,RD)],42,ED))),128))]),h("div",PD,[e.showMaximize?(m(),v("button",{key:0,class:"dock-chrome-btn dock-chrome-maximize",title:e.maximized?"退出全屏":"全屏","aria-label":e.maximized?"退出全屏":"全屏","aria-pressed":e.maximized,onClick:d[1]||(d[1]=f=>n("update:maximized",!e.maximized))},[X(ce,{name:e.maximized?"minimize":"expand",size:14},null,8,["name"])],8,LD)):U("",!0),h("button",{class:"dock-chrome-btn dock-chrome-collapse",title:"折叠右栏","aria-label":"折叠右栏",onClick:d[2]||(d[2]=f=>n("collapse"))},[X(ce,{name:"panel-right",size:14})])])],512))}}),ND=Te(DD,[["__scopeId","data-v-e9125a46"]]),OD={class:"mode-switch",role:"group","aria-label":"工作模式"},GD=["aria-pressed","onClick"],BD=Ie({__name:"ModeSwitch",props:{modelValue:{default:"chat"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,s=[{id:"chat",label:"智能工作"},{id:"goal",label:"任务模式"}];return(o,r)=>(m(),v("div",OD,[(m(),v(ne,null,Ce(s,i=>h("button",{key:i.id,class:ue(["mode-pill",`is-${i.id}`,{active:e.modelValue===i.id}]),"aria-pressed":e.modelValue===i.id,onClick:a=>n("update:modelValue",i.id)},C(i.label),11,GD)),64))]))}}),FD=Te(BD,[["__scopeId","data-v-c4ac7862"]]),UD={class:"workspace"},jD={class:"workspace-hero"},zD={class:"workspace-brand"},HD=["src"],WD={class:"workspace-status","aria-label":"连接与模型状态"},qD={class:"status-item"},VD={class:"status-item status-model"},KD={class:"workspace-launch"},ZD={class:"mode-hint"},YD={class:"quick-start"},XD={class:"quick-label"},JD={class:"quick-chips"},QD=["title","onClick"],eN={class:"workspace-composer"},tN="scream-recent-prompts",nN=Ie({__name:"WorkspaceHome",props:{models:{},status:{default:void 0},busy:{type:Boolean},mode:{default:"chat"},recentWorkDirs:{default:()=>[]}},emits:["send","command","switch-model","switch-thinking","update:mode","abort"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=G(()=>s.mode==="goal"),i=G(()=>r.value?"任务模式:提交后将创建执行目标(Goal),Agent 持续执行到完成或预算耗尽;抽屉「Goal 管理」可查看与暂停。":"直接对话:提问后 Agent 按需调用工具完成你的请求。"),a=G(()=>s.status!==void 0),l=G(()=>{var k;return(k=s.status)==null?void 0:k.model}),u=O([]),{fetchServerWorkDir:c}=Hl();et(()=>{c();try{const k=localStorage.getItem(tN);if(k){const w=JSON.parse(k);Array.isArray(w)&&(u.value=w.filter(b=>typeof b=="string").slice(0,4))}}catch{u.value=[]}});const d={chat:["梳理当前项目结构","解释最近的代码改动","帮我排查一个报错"],goal:["修复构建并跑通测试","完成一次小型重构","整理项目文档"]},f=G(()=>u.value.length>0),p=G(()=>f.value?u.value:d[s.mode]),g=O(null);function y(k){var w;(w=g.value)==null||w.insertText(k)}function S(k){const w=g.value;return w?(w.insertDraft(k,{activate:!0}),!0):!1}return t({insertDraft:S}),(k,w)=>(m(),v("div",UD,[h("section",jD,[h("h1",zD,[h("img",{class:"brand-logo",src:F(Qp),alt:"scream"},null,8,HD)]),w[7]||(w[7]=h("p",{class:"workspace-tagline"},"你的智能协作伙伴",-1)),h("p",WD,[h("span",{class:ue(["status-dot",a.value?"on":"off"]),"aria-hidden":"true"},null,2),h("span",qD,C(a.value?"已连接":"等待连接"),1),l.value?(m(),v(ne,{key:0},[w[6]||(w[6]=h("span",{class:"status-sep"},"·",-1)),h("span",VD,C(l.value),1)],64)):U("",!0)])]),h("section",KD,[X(FD,{class:"workspace-mode","model-value":s.mode,"onUpdate:modelValue":w[0]||(w[0]=b=>o("update:mode",b))},null,8,["model-value"]),h("p",ZD,[(m(),v("span",{key:String(r.value),class:"hint-fade"},C(i.value),1))]),h("div",YD,[h("span",XD,C(f.value?"最近":"试试"),1),h("div",JD,[(m(!0),v(ne,null,Ce(p.value,(b,_)=>(m(),v("button",{key:`${_}-${b}`,class:"quick-chip",title:b,onClick:B=>y(b)},C(b),9,QD))),128))])])]),h("section",eN,[X(kh,{ref_key:"composerRef",ref:g,busy:e.busy,status:e.status,models:e.models,"recent-work-dirs":e.recentWorkDirs,variant:"home",placeholder:r.value?"描述你要完成的目标,Enter 创建并开始执行…":"输入 @ 引用知识库 / 使用技能 / 或者直接提问...",onSend:w[1]||(w[1]=b=>o("send",b,s.mode)),onAbort:w[2]||(w[2]=b=>o("abort")),onCommand:w[3]||(w[3]=(b,_)=>o("command",b,_)),onSwitchModel:w[4]||(w[4]=b=>o("switch-model",b)),onSwitchThinking:w[5]||(w[5]=b=>o("switch-thinking",b))},null,8,["busy","status","models","recent-work-dirs","placeholder"])])]))}}),sN=Te(nN,[["__scopeId","data-v-1f7fc15b"]]),oN=["aria-valuenow","aria-valuemin","aria-valuemax"],rN={key:2,class:"sidebar-mobile",role:"dialog","aria-modal":"true","aria-label":"导航菜单"},iN={class:"canvas"},aN={class:"topbar mobile-only"},lN={class:"topbar-left"},uN={key:0,class:"topbar-running",title:"Agent 运行中"},cN={class:"canvas-body"},dN=["aria-valuenow","aria-valuemin","aria-valuemax"],fN=["role","aria-modal"],hN={class:"right-panel-body"},pN=["id","aria-labelledby"],gN=["data-dock-tab","id","aria-labelledby"],Dd="scream-sidebar-collapsed",Nd="scream-workspace-mode",mN=Ie({__name:"WebShell",setup(e){var Cs,er;const t=Ay(),{showToast:n}=Js(),{connectionStatus:s,status:o,isBusy:r,sessions:i,currentSessionId:a,workDir:l,gitStatus:u,models:c,like:d,sendPrompt:f,sendCommand:p,appendSystemMessage:g,createSession:y,switchSession:S,deleteSession:k,switchModel:w,switchThinking:b,fetchLike:_,fetchGitStatus:B,abort:D}=t,E=O("home"),M=O(!1),T=O(null),Z=t.waitForConnected??((de=0)=>Promise.resolve(s.value==="connected")),W=()=>s.value==="connected";function j(de){de==="chat"?E.value=a.value?"chat":"home":E.value=de,M.value=!1}function te(){M.value=!1,Xr(),me.value=!0}async function I(de){me.value=!1,ie(de.workDir);const ve=a.value,L=de.model&&de.model!==o.value.model?de.model:null;await y(de.workDir??void 0,()=>{E.value="chat"}),!(!a.value||a.value===ve)&&(L&&w(L),E.value="chat")}const{preferredWorkDir:A,serverWorkDir:V,setPreferredWorkDir:ie}=Hl(),me=O(!1),_e=G(()=>{const de=new Set,ve=[];for(const L of i.value){const re=L.workDir;if(!(!re||de.has(re))&&(de.add(re),ve.push(re),ve.length>=6))break}return ve}),he=O(null),ae=O(null);async function pe(de){var re,Me;M.value=!1;const ve=!a.value;E.value=ve?"home":"chat",await Fe(),await Fe();const L=ve?((re=ae.value)==null?void 0:re.insertDraft(de))??!1:((Me=he.value)==null?void 0:Me.insertDraft(de,{activate:!0}))??!1;return L&&n(`已把 ${de.trim()} 放进输入框,补参数后回车`,"success"),L}function oe(de){Fe(()=>{var ve;return(ve=ae.value)==null?void 0:ve.insertDraft(de)})}let ge=!1;async function $e(de,ve){if(M.value=!1,ge){oe(de);return}ge=!0;try{const L=a.value;if(await y(A.value??void 0),a.value===L){oe(de);return}if(!await Z()){oe(de);return}if(E.value="chat",ve==="goal")try{await t.createGoal({objective:de,budgets:[]})}catch(Me){g(`Goal 创建失败:${Ne(Me)}。已保留对话模式,可重新发送。`),f(de);return}else f(de)}finally{ge=!1}}function Ne(de){return de instanceof Error?de.message:String(de)}function Ue(de){M.value=!1,E.value="chat",S(de)}function Ke(de){ms(de)}function Ye(de,ve){if(de!==a.value){n("请先点击该会话,再双击重命名。","warning");return}p("title",ve)}const rt=O(!1),Dt=O("status");function x(de){t.fetchSnapshot(),Dt.value=de,rt.value=!0}const{onCommand:P}=lh({sendCommand:p,clearMessages:t.clearMessages,appendSystemMessage:g,ensureSession:async()=>{a.value||await y(A.value??void 0);const de=a.value;return de?s.value!=="connected"&&(!await Z()||a.value!==de||!W())?(n("会话连接尚未就绪,请稍后重试。","warning"),!1):a.value===de&&W():!1},onNew:te,showInfo:x,currentModel:()=>o.value.model}),z=O(Vr(Dd)==="1"),ee=`(max-width: ${Dy-1}px)`,J=(er=(Cs=globalThis.window)==null?void 0:Cs.matchMedia)==null?void 0:er.call(Cs,ee),R=O((J==null?void 0:J.matches)??!1);function K(de){R.value=de.matches}const N=G(()=>R.value||z.value);function Q(){if(R.value){M.value=!M.value;return}z.value=!z.value,Kr(Dd,z.value?"1":"0")}const $=O(window.innerWidth),H=G(()=>$.value>=Fl);function q(){$.value=window.innerWidth}const se=Sc({storageKey:"scream-sidebar-width",minWidth:kc,maxWidth:()=>By({viewportWidth:$.value,rightPanelOpen:we.panelOpen,rightPanelWidth:Oe.value}),defaultWidth:Ny,side:"left",canDrag:()=>!N.value,acceptStoredWidth:de=>de<=qr}),fe=se.width,ye=se.resizing,Ee=G(()=>Fy({viewportWidth:$.value,sidebarOpen:!z.value,sidebarWidth:N.value?wc:fe.value})),ke=Sc({storageKey:"scream-right-panel-width",minWidth:Ha,maxWidth:()=>Ee.value,defaultWidth:()=>Gy($.value),side:"right"}),be=ke.resizing,Oe=ke.effectiveWidth,lt=O(!1);function gt(){jl(!1)}Se(H,()=>{be.value&&ke.release()}),Se(N,()=>{N.value&&ye.value&&se.release()}),Se(R,de=>{de||(M.value=!1)}),Se(()=>we.panelOpen,de=>{de||(lt.value=!1)});const sn=G(()=>({"--sidebar-track":`${N.value?wc:fe.value}px`,"--sidebar-width":`${fe.value}px`,"--dock-track":`${we.panelOpen&&H.value&&!lt.value?Oe.value:0}px`})),ws={detail:LR,control:a2,agents:E2,run:Zp,git:qp,todo:Yp,goal:Vp,like:Kp},mt=G(()=>we.tabs.filter(de=>de.kind!=="file")),Nt=G(()=>{var de;return((de=qa())==null?void 0:de.kind)??"file"}),Ss=G(()=>{const de=qa();return de?Zr(de.id):void 0}),_s=Wa("file-pane"),so=G(()=>Nt.value==="file");function Fi(de){ms(de.path,{modeHint:"diff",label:de.display})}const on={refresh:()=>B(),diff:Fi};function $s(de){switch(de){case"detail":return{client:t};case"control":return{client:t};case"agents":return{subagents:t.subagents.value};case"run":return{status:t.status.value,busy:t.isBusy.value,connectionStatus:t.connectionStatus.value};case"git":return{gitStatus:t.gitStatus.value};case"todo":return{todos:t.todos.value};case"like":return{like:t.like.value,updateLike:t.updateLike};case"goal":return{goal:t.goal.value,sessionId:t.sessionId.value,connectionStatus:t.connectionStatus.value,busy:t.isBusy.value,archived:t.isArchived.value,pending:t.goalRequestPending.value,error:t.goalRequestError.value,refineGoal:t.refineGoal,createGoal:t.createGoal,updateGoal:t.updateGoal,pauseGoal:t.pauseGoal,resumeGoal:t.resumeGoal,cancelGoal:t.cancelGoal}}}function Ui(de){return de==="git"?on:{}}const oo=O(Vr(Nd)==="goal"?"goal":"chat");function ji(de){oo.value=de,Kr(Nd,de)}function Qo(de){if((de.metaKey||de.ctrlKey)&&de.key==="k")de.preventDefault(),N.value&&!M.value&&Q(),Fe(()=>{var ve,L;return(L=(ve=T.value)==null?void 0:ve.focusSearch)==null?void 0:L.call(ve)});else if((de.metaKey||de.ctrlKey)&&de.key==="n")de.preventDefault(),te();else if(de.key==="Escape"&&r.value){const ve=de.target;ve&&(ve.tagName==="TEXTAREA"||ve.tagName==="INPUT")||(de.preventDefault(),D())}}return et(()=>{var de;window.addEventListener("keydown",Qo),window.addEventListener("resize",q),(de=J==null?void 0:J.addEventListener)==null||de.call(J,"change",K),_(),B()}),st(()=>{var de;window.removeEventListener("keydown",Qo),window.removeEventListener("resize",q),(de=J==null?void 0:J.removeEventListener)==null||de.call(J,"change",K)}),(de,ve)=>(m(),v("div",{class:ue(["shell",{"sidebar-collapsed":N.value,resizing:F(ye)||F(be),"right-panel-open":F(we).panelOpen&&H.value,"dock-maximized":F(we).panelOpen&&lt.value}]),style:bt(sn.value)},[X(Ld,{ref_key:"sidebarRef",ref:T,view:E.value,sessions:F(i),"current-session-id":F(a),"work-dir":F(l),"git-status":F(u),"refresh-git":F(B),collapsed:N.value,onNavigate:j,onSwitchSession:Ue,onDeleteSession:F(k),onCreateSession:te,onToggleCollapse:Q,onOpenFile:Ke,onRenameSession:Ye},null,8,["view","sessions","current-session-id","work-dir","git-status","refresh-git","collapsed","onDeleteSession"]),N.value?U("",!0):(m(),v("div",{key:0,class:ue(["panel-resize-handle panel-resize-handle--left",{resizing:F(ye)}]),role:"separator","aria-orientation":"vertical","aria-label":"调整侧栏宽度","aria-valuenow":F(fe),"aria-valuemin":F(kc),"aria-valuemax":F(qr),tabindex:"0",title:"拖拽调整宽度 · 双击复位",onPointerdown:ve[0]||(ve[0]=(...L)=>F(se).onPointerDown&&F(se).onPointerDown(...L)),onPointermove:ve[1]||(ve[1]=(...L)=>F(se).onPointerMove&&F(se).onPointerMove(...L)),onPointerup:ve[2]||(ve[2]=(...L)=>F(se).onPointerUp&&F(se).onPointerUp(...L)),onPointercancel:ve[3]||(ve[3]=(...L)=>F(se).onPointerUp&&F(se).onPointerUp(...L)),onDblclick:ve[4]||(ve[4]=(...L)=>F(se).reset&&F(se).reset(...L)),onKeydown:ve[5]||(ve[5]=(...L)=>F(se).onKeydown&&F(se).onKeydown(...L))},null,42,oN)),M.value?(m(),v("div",{key:1,class:"sidebar-backdrop","aria-hidden":"true",onClick:ve[6]||(ve[6]=L=>M.value=!1)})):U("",!0),M.value?(m(),v("div",rN,[X(Ld,{view:E.value,sessions:F(i),"current-session-id":F(a),"work-dir":F(l),"git-status":F(u),"refresh-git":F(B),"show-collapse-toggle":!1,onNavigate:j,onSwitchSession:Ue,onDeleteSession:F(k),onCreateSession:te,onOpenFile:Ke,onRenameSession:Ye},null,8,["view","sessions","current-session-id","work-dir","git-status","refresh-git","onDeleteSession"])])):U("",!0),h("main",iN,[h("header",aN,[h("div",lN,[h("button",{class:"topbar-icon mobile-menu",title:"菜单","aria-label":"打开菜单",onClick:ve[7]||(ve[7]=L=>M.value=!0)},[X(ce,{name:"menu",size:20})]),F(r)?(m(),v("span",uN,[...ve[18]||(ve[18]=[h("span",{class:"running-dot","aria-hidden":"true"},null,-1),h("span",{class:"running-text"},"运行中",-1)])])):U("",!0)])]),h("div",cN,[E.value==="home"?(m(),De(sN,{key:0,ref_key:"workspaceHomeRef",ref:ae,models:F(c),status:F(o),busy:F(r),mode:oo.value,"recent-work-dirs":_e.value,"onUpdate:mode":ji,onSend:$e,onAbort:F(D),onCommand:F(P),onSwitchModel:F(w),onSwitchThinking:F(b)},null,8,["models","status","busy","mode","recent-work-dirs","onAbort","onCommand","onSwitchModel","onSwitchThinking"])):E.value==="chat"?(m(),De(EE,{key:1,ref_key:"conversationRef",ref:he,client:F(t),onHome:ve[8]||(ve[8]=L=>E.value="home")},null,8,["client"])):E.value==="skills"?(m(),De(ID,{key:2,"inject-draft":pe,onCreate:te})):E.value==="settings"?(m(),De(Xp,{key:3,like:F(d),client:F(t),onUpdateLike:F(t).updateLike},null,8,["like","client","onUpdateLike"])):U("",!0)])]),F(we).panelOpen&&!H.value?(m(),v("div",{key:3,class:"right-panel-backdrop","aria-hidden":"true",onClick:gt})):U("",!0),F(we).panelOpen&&H.value&&!lt.value?(m(),v("div",{key:4,class:ue(["panel-resize-handle panel-resize-handle--right",{resizing:F(be)}]),role:"separator","aria-orientation":"vertical","aria-label":"调整右栏宽度","aria-valuenow":F(Oe),"aria-valuemin":F(Ha),"aria-valuemax":Ee.value,tabindex:"0",title:"拖拽调整宽度 · 双击复位",onPointerdown:ve[9]||(ve[9]=(...L)=>F(ke).onPointerDown&&F(ke).onPointerDown(...L)),onPointermove:ve[10]||(ve[10]=(...L)=>F(ke).onPointerMove&&F(ke).onPointerMove(...L)),onPointerup:ve[11]||(ve[11]=(...L)=>F(ke).onPointerUp&&F(ke).onPointerUp(...L)),onPointercancel:ve[12]||(ve[12]=(...L)=>F(ke).onPointerUp&&F(ke).onPointerUp(...L)),onDblclick:ve[13]||(ve[13]=(...L)=>F(ke).reset&&F(ke).reset(...L)),onKeydown:ve[14]||(ve[14]=(...L)=>F(ke).onKeydown&&F(ke).onKeydown(...L))},null,42,dN)):U("",!0),F(we).panelOpen?(m(),v("aside",{key:5,class:ue(["right-panel",{overlay:!H.value,maximized:lt.value}]),role:H.value?void 0:"dialog","aria-modal":H.value?void 0:"true","aria-label":"右栏"},[X(ND,{maximized:lt.value,"show-maximize":H.value,"onUpdate:maximized":ve[15]||(ve[15]=L=>lt.value=L),onCollapse:gt},null,8,["maximized","show-maximize"]),h("div",hN,[Ze(h("div",{id:F(_s),class:"dock-pane dock-pane--file",role:"tabpanel","aria-labelledby":so.value?Ss.value:void 0,tabindex:"0"},[X(iA,{client:F(t)},null,8,["client"])],8,pN),[[Br,so.value]]),(m(!0),v(ne,null,Ce(mt.value,L=>Ze((m(),v("div",{key:L.id,class:ue(["dock-pane",`dock-pane--${L.kind}`]),"data-dock-tab":L.kind,id:F(Wa)(L.id),role:"tabpanel","aria-labelledby":F(Zr)(L.id),tabindex:"0"},[(m(),De(Tf(ws[L.kind]),Kf({ref_for:!0},$s(L.kind),hm(Ui(L.kind))),null,16))],10,gN)),[[Br,L.id===F(we).activeTabId]])),128))])],10,fN)):U("",!0),rt.value?(m(),De(wh,{key:6,mode:Dt.value,status:F(o),"session-id":F(a),"work-dir":F(l),onClose:ve[16]||(ve[16]=L=>rt.value=!1)},null,8,["mode","status","session-id","work-dir"])):U("",!0),X(nL),X(OM,{open:me.value,models:F(c),"recent-work-dirs":_e.value,"default-dir":F(V)??"","current-model":F(o).model??"",onClose:ve[17]||(ve[17]=L=>me.value=!1),onConfirm:I},null,8,["open","models","recent-work-dirs","default-dir","current-model"])],6))}}),vN=Te(mN,[["__scopeId","data-v-b626c063"]]),yN=["src","alt"],bN={key:1,class:"lightbox-note",role:"alert"},kN=Ie({__name:"ImageLightbox",setup(e){const t=O(null),n=O(!1);Se(()=>jn.open,r=>{const i=t.value;i&&(r?(n.value=!1,i.open||i.showModal()):i.open&&i.close())});function s(r){r.preventDefault(),ba()}function o(r){r.target===t.value&&ba()}return(r,i)=>(m(),v("dialog",{ref_key:"dialogRef",ref:t,class:"image-lightbox","aria-label":"图片预览",onCancel:s,onClick:o},[F(jn).open?(m(),v("img",{key:0,class:"lightbox-img",src:F(jn).src,alt:F(jn).alt||"图片预览",onError:i[0]||(i[0]=a=>n.value=!0)},null,40,yN)):U("",!0),n.value?(m(),v("p",bN,"图片加载失败")):U("",!0),h("button",{type:"button",class:"lightbox-close","aria-label":"关闭预览",title:"关闭(Esc)",onClick:i[1]||(i[1]=a=>F(ba)())},[X(ce,{name:"x",size:16})])],544))}}),wN=Te(kN,[["__scopeId","data-v-7d7939d6"]]),SN={class:"toast-container"},_N=["onClick"],$N={class:"toast-icon"},CN={class:"toast-msg"},xN=Ie({__name:"Toast",setup(e){const{toasts:t,removeToast:n}=Js(),s={info:"ℹ",success:"✓",error:"✗",warning:"⚠"};return(o,r)=>(m(),De(Xs,{to:"body"},[h("div",SN,[X($v,{name:"toast"},{default:ot(()=>[(m(!0),v(ne,null,Ce(F(t),i=>(m(),v("div",{key:i.id,class:ue(["toast",`toast--${i.type}`]),onClick:a=>F(n)(i.id)},[h("span",$N,C(s[i.type]),1),h("span",CN,C(i.message),1)],10,_N))),128))]),_:1})])]))}}),IN=Te(xN,[["__scopeId","data-v-a432e638"]]),TN={class:"app"},EN=Ie({__name:"App",setup(e){const t=O("system"),n=O("dark");vr("effectiveTheme",n),vr("theme",t);const s={light:"#ffffff",dark:"#101113"};function o(){const l=document.documentElement,u=window.matchMedia("(prefers-color-scheme: dark)").matches,c=t.value==="system"?u?"dark":"light":t.value;n.value=c,l.dataset.theme=c;const d=document.querySelector('meta[name="theme-color"]');d&&d.setAttribute("content",s[c])}let r=null;function i(l){const u=t.value;if(t.value=l,Kr("scream-theme",l),u===l)return;const c=document.documentElement,d=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,f=()=>{c.classList.add("theme-transition"),o(),r!==null&&clearTimeout(r),r=window.setTimeout(()=>c.classList.remove("theme-transition"),320)},p=document;if(typeof p.startViewTransition=="function"&&!d){p.startViewTransition(()=>{o()}).finished.then(()=>c.classList.remove("theme-transition"),()=>{c.classList.remove("theme-transition")});return}f()}vr("setTheme",i),et(()=>{const l=Vr("scream-theme");(l==="light"||l==="dark"||l==="system")&&(t.value=l),o()}),Se(t,o);const a=window.matchMedia("(prefers-color-scheme: dark)");return a.addEventListener("change",o),st(()=>{a.removeEventListener("change",o),r!==null&&clearTimeout(r),document.documentElement.classList.remove("theme-transition")}),(l,u)=>(m(),v("div",TN,[X(vN),X(wN),X(IN)]))}}),AN=Te(EN,[["__scopeId","data-v-6c4eed55"]]);Dv(AN).mount("#app");
240
- //# sourceMappingURL=index-CKa_o5qA.js.map
238
+ `);if(n.length+s.length>hI){const r=[];return n.forEach((i,a)=>r.push({type:"del",text:i,oldNo:a+1})),s.forEach((i,a)=>r.push({type:"add",text:i,newNo:a+1})),r}const o=pI(n,s);return gI(o,n,s,n.length,s.length)}function vI(e){let t=0,n=0;for(const s of e)s.type==="add"?t++:s.type==="del"&&n++;return{added:t,removed:n}}const yI=["old_string","oldString","old_str","old_text","oldText","old","search"],bI=["new_string","newString","new_str","new_text","newText","new","replace","content"],kI=["path","file_path","filePath","file","filename"];function wa(e,t){for(const n of t){const s=e[n];if(typeof s=="string"&&s.length>0)return s}}function wI(e){if(!e||typeof e!="object")return null;const t=e,n=wa(t,kI),s=wa(t,yI),o=wa(t,bI);if(!o&&!s)return null;const r=mI(s??"",o??""),i=vI(r);return{path:n,diff:r,stats:i}}const SI={class:"diff-lines"},_I={class:"dl-gutter old"},$I={class:"dl-gutter new"},CI={class:"dl-sign"},xI={class:"dl-text"},II=Ie({__name:"DiffLines",props:{lines:{}},setup(e){return(t,n)=>(m(),v("div",SI,[(m(!0),v(ne,null,Ce(e.lines,(s,o)=>(m(),v("div",{key:o,class:ue(["dl",`dl-${s.type}`])},[h("span",_I,C(s.oldNo??""),1),h("span",$I,C(s.newNo??""),1),h("span",CI,C(s.type==="add"?"+":s.type==="del"?"−":" "),1),h("span",xI,C(s.text),1)],2))),128))]))}}),wu=Te(II,[["__scopeId","data-v-e2e145aa"]]),TI=["onKeydown"],EI={class:"tool-name"},AI=["title"],MI={key:1,class:"diff-chip"},RI={class:"tool-collapse-inner"},PI={class:"tool-body"},LI={key:1,class:"tool-result"},DI={key:2,class:"tool-running-hint"},NI=Ie({__name:"EditToolCard",props:{tool:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=G(()=>Ri(t.tool,t.live)),s=G(()=>{switch(n.value){case"ok":return"✓";case"error":return"✗";default:return""}}),o=G(()=>wI(t.tool.args)),r=G(()=>{const y=o.value;if(!y||n.value==="error")return"";const{added:S,removed:k}=y.stats;return!S&&!k?"":`+${S} −${k}`}),i=G(()=>{var y;return(y=o.value)==null?void 0:y.path}),a=O(!1);let l=!1;Se(n,y=>{l||(a.value=y==="running")},{immediate:!0});function u(){l=!0,a.value=!a.value}const c=G(()=>{var y;return((y=o.value)==null?void 0:y.diff)??[]}),d=G(()=>c.value.length>0),f=zp(G(()=>t.tool),n,()=>t.live);function p(){const y=i.value;y&&vs(Kl(y,t.workDir||void 0),{modeHint:"diff",sessionId:t.sessionId||null})}const g=G(()=>{var k;const y=t.tool.progress;if(!y)return"";const S=y.split(`
239
+ `).filter(w=>w.trim());return((k=S[S.length-1])==null?void 0:k.slice(0,60))??""});return(y,S)=>(m(),v("div",{class:ue(["tool-card",`is-${n.value}`,"edit-tool-card"])},[h("div",{class:"tool-header",role:"button",tabindex:"0",onClick:u,onKeydown:Vn(tt(u,["prevent"]),["enter"])},[h("span",{class:ue(["status-dot",n.value])},[s.value?(m(),v(ne,{key:0},[Ae(C(s.value),1)],64)):U("",!0)],2),h("span",EI,C(e.tool.name),1),i.value?(m(),v("button",{key:0,class:"tool-filepath",title:`在文件面板中打开(diff) ${i.value}`,onClick:tt(p,["stop"])},C(i.value),9,AI)):U("",!0),r.value?(m(),v("span",MI,C(r.value),1)):U("",!0),F(f)?(m(),v("span",{key:2,class:ue(["tool-duration",{live:e.tool.durationMs===void 0}])},C(F(f)),3)):U("",!0),h("span",{class:ue(["tool-chevron",{open:a.value}])},"▸",2)],40,TI),h("div",{class:ue(["tool-collapse",{open:a.value}])},[h("div",RI,[h("div",PI,[d.value?(m(),De(wu,{key:0,lines:c.value},null,8,["lines"])):U("",!0),e.tool.output!==void 0?(m(),v("pre",LI,[h("code",null,C(e.tool.output||"(无输出)"),1)])):(m(),v("div",DI,C(g.value||"执行中…"),1))])])],2)],2))}}),OI=Te(NI,[["__scopeId","data-v-a5355539"]]),GI=["aria-expanded"],BI={class:"process-label"},FI={class:"process-meta"},UI=["title"],jI={class:"process-collapse"},zI={class:"process-inner"},HI={key:0,class:"process-more"},WI=["aria-expanded"],Sa=20,qI=Ie({__name:"ToolGroup",props:{name:{},tools:{},live:{type:Boolean,default:!0},workDir:{default:""},sessionId:{default:""}},setup(e){const t=e,n=O(!1),s=G(()=>f0(t.tools,t.live)),o=G(()=>t.tools.filter(c=>c.output!==void 0&&!c.isError).length),r=G(()=>s.value==="running"?"执行中":s.value==="error"?"含失败调用":s.value==="suspended"?"含挂起等待":s.value==="unknown"?"结果未持久化":`已完成 ${o.value} 项`);function i(){n.value=!n.value}const a=O(!1),l=G(()=>Math.max(0,t.tools.length-Sa)),u=G(()=>a.value?t.tools:t.tools.slice(0,Sa));return(c,d)=>(m(),v("section",{class:ue(["tool-process",{open:n.value,running:s.value==="running",error:s.value==="error"}])},[h("button",{class:"process-head",type:"button","aria-expanded":n.value,onClick:i},[X(ce,{name:"chevron-down",size:12,class:"chevron"}),h("span",{class:ue(["process-dot",s.value]),"aria-hidden":"true"},null,2),h("span",BI,C(e.name),1),h("span",FI,C(r.value)+" · "+C(e.tools.length)+" 步",1),h("span",{class:"process-names",title:e.tools.map(f=>f.name).join("、")},C(e.tools.map(f=>f.name).join(" · ")),9,UI)],8,GI),h("div",jI,[h("div",zI,[(m(!0),v(ne,null,Ce(u.value,f=>(m(),De(Tf(F(Sh)(f.name)?OI:fI),{key:f.toolCallId,tool:f,live:e.live,"work-dir":e.workDir,"session-id":e.sessionId},null,8,["tool","live","work-dir","session-id"]))),128)),n.value&&l.value>0?(m(),v("div",HI,[h("button",{type:"button",class:"process-more-btn","aria-expanded":a.value,onClick:d[0]||(d[0]=f=>a.value=!a.value)},C(a.value?`收起,只看前 ${Sa} 条`:`还有 ${l.value} 条 · 显示全部`),9,WI)])):U("",!0)])])],2))}}),VI=Te(qI,[["__scopeId","data-v-4441817e"]]),KI={class:"thinking-block"},ZI=["title"],YI={class:"teaser-text"},XI={class:"teaser-open"},JI={key:1,class:"thinking-stream","data-state":"running"},QI={class:"thinking-panel",role:"dialog","aria-label":"思考过程"},eT={class:"panel-body"},tT=Ie({__name:"ThinkingBlock",props:{tool:{},active:{type:Boolean,default:!1},sessionId:{default:""},msgSeq:{default:void 0}},setup(e){const t=e,n=O(!1),s=O(null),o=O(!1),r=O(!1),i=O(t.tool.output??"");Se(()=>t.tool.output,f=>{f!==void 0&&!o.value&&!r.value&&(i.value=f)});const a=G(()=>!!t.tool.truncated);async function l(){if(!(!a.value||r.value||o.value)&&!(!t.sessionId||t.msgSeq===void 0)){o.value=!0;try{const p=await(await fetch(`/api/v1/sessions/${t.sessionId}/messages?seq=${t.msgSeq}&tool=${encodeURIComponent(t.tool.toolCallId)}`)).json();typeof p.output=="string"&&p.output.length>0&&(i.value=p.output,r.value=!0)}catch{}finally{o.value=!1}}}const u=G(()=>i.value.split(/\n+/).map(p=>p.trim()).filter(Boolean).at(-1)??"");Se(i,()=>{t.active&&Fe(()=>{const f=s.value;f&&(f.scrollTop=f.scrollHeight)})});function c(){l(),n.value=!0}function d(){n.value=!1}return(f,p)=>(m(),v("div",KI,[e.active?(m(),v("div",JI,[p[1]||(p[1]=h("div",{class:"stream-header"},[h("span",{class:"stream-icon"},"💭"),h("span",{class:"stream-title"},"思考中…"),h("span",{class:"stream-dot"})],-1)),h("div",{ref_key:"streamRef",ref:s,class:"stream-body"},C(i.value),513)])):(m(),v("button",{key:0,class:"thinking-teaser",title:a.value?"思考较长,点击查看完整思考过程":"点击查看完整思考过程",onClick:c},[p[0]||(p[0]=h("span",{class:"teaser-icon"},"💭",-1)),h("span",YI,C(o.value?"加载完整思考…":u.value||"思考过程"),1),h("span",XI,C(a.value?"查看全文":"展开"),1)],8,ZI)),(m(),De(Js,{to:"body"},[n.value?(m(),v("div",{key:0,class:"thinking-overlay",onClick:tt(d,["self"])},[h("aside",QI,[h("header",{class:"panel-header"},[p[2]||(p[2]=h("span",null,"💭 思考过程",-1)),h("button",{class:"panel-close","aria-label":"关闭",onClick:d},"✕")]),h("div",eT,C(i.value||"(空)"),1)])])):U("",!0)]))]))}}),nT=Te(tT,[["__scopeId","data-v-9382b07d"]]),sT={key:0,class:"clock"},oT={class:"stat"},rT={class:"stat"},iT={class:"stat"},aT={class:"stat"},lT={class:"stat"},uT={class:"stat"},cT=Ie({__name:"TurnStats",props:{stats:{},inline:{type:Boolean}},setup(e){const t=e,n=O(null);let s=null;function o(){s!==null&&(clearInterval(s),s=null)}function r(){o();const l=t.stats.llmMs??0,u=Date.now();n.value=l,s=setInterval(()=>{n.value=l+(Date.now()-u)},300)}Se(()=>t.stats.status,l=>{l==="running"?r():o()},{immediate:!0}),st(o);function i(l){return l==null?"—":l<1e3?`${Math.round(l)}ms`:`${(l/1e3).toFixed(1)}s`}function a(l){return l==null?"—":l>=1e3?`${(l/1e3).toFixed(1)}k`:`${l}`}return(l,u)=>(m(),v("div",{class:ue(["turn-stats",[`is-${e.stats.status}`,{"is-inline":e.inline}]]),"aria-live":"polite"},[e.stats.status==="running"?(m(),v(ne,{key:0},[u[0]||(u[0]=h("span",{class:"badge-gradient"},"正在思考",-1)),n.value!==null?(m(),v("span",sT,C(i(n.value)),1)):U("",!0)],64)):(m(),v(ne,{key:1},[h("span",oT,C(e.stats.turn)+" 轮 · "+C(e.stats.step)+" 步",1),u[10]||(u[10]=h("span",{class:"dot"},"·",-1)),h("span",rT,[u[1]||(u[1]=h("span",{class:"k"},"LLM",-1)),Ae(" "+C(i(e.stats.llmMs)),1)]),e.stats.toolMs?(m(),v(ne,{key:0},[u[3]||(u[3]=h("span",{class:"dot"},"·",-1)),h("span",iT,[u[2]||(u[2]=h("span",{class:"k"},"工具",-1)),Ae(" "+C(i(e.stats.toolMs)),1)])],64)):U("",!0),e.stats.firstTokenMs!==null&&e.stats.firstTokenMs!==void 0?(m(),v(ne,{key:1},[u[5]||(u[5]=h("span",{class:"dot"},"·",-1)),h("span",aT,[u[4]||(u[4]=h("span",{class:"k"},"首token",-1)),Ae(" "+C(i(e.stats.firstTokenMs)),1)])],64)):U("",!0),e.stats.tokens!==null&&e.stats.tokens!==void 0?(m(),v(ne,{key:2},[u[7]||(u[7]=h("span",{class:"dot"},"·",-1)),h("span",lT,[u[6]||(u[6]=h("span",{class:"k"},"tokens",-1)),Ae(" "+C(a(e.stats.tokens)),1)])],64)):U("",!0),e.stats.tokensPerSec!==null&&e.stats.tokensPerSec!==void 0?(m(),v(ne,{key:3},[u[9]||(u[9]=h("span",{class:"dot"},"·",-1)),h("span",uT,[u[8]||(u[8]=h("span",{class:"k"},"tok/s",-1)),Ae(" "+C(e.stats.tokensPerSec),1)])],64)):U("",!0)],64))],2))}}),Cd=Te(cT,[["__scopeId","data-v-dad21b9b"]]),dT=["data-message-id","data-message-role"],fT={key:0,class:"user-wrap"},hT={class:"user-head"},pT={key:0,class:"meta-time"},gT={class:"user-avatar","aria-hidden":"true"},mT={class:"user-bubble"},vT=["title","onClick"],yT={key:0,class:"message-meta user-meta"},bT={key:1,class:"assistant-wrap"},kT={key:0,class:"assistant-brand"},wT=["title"],ST={key:1,class:"brand-streaming"},_T={key:3,class:"brand-time"},$T={class:"assistant-body"},CT={key:0,class:"degraded-note"},xT={key:4,class:"streaming-cursor","aria-label":"正在生成"},IT={key:6,class:"written-files",role:"group","aria-label":"本回合写入的文件"},TT=["title","onClick"],ET={class:"written-file-name"},AT={key:7,class:"message-meta"},MT=["title"],RT=["title"],PT=Ie({__name:"MessageItem",props:{message:{},isLatestUser:{type:Boolean,default:!1},idle:{type:Boolean,default:!0},streaming:{type:Boolean,default:!1},canFork:{type:Boolean,default:!1},showTimestamp:{type:Boolean,default:!0},showModel:{type:Boolean,default:!0},sessionId:{default:""},workDir:{default:""}},emits:["edit","retry","fork"],setup(e,{emit:t}){const n=e,s=t,o=O(!1);let r=null;const i=G(()=>n.message.role==="user"),a=G(()=>n.message.role==="assistant"),l=G(()=>{var W;return((W=n.message.turnStats)==null?void 0:W.status)==="running"}),u=G(()=>n.message.tools.filter(W=>W.name==="thinking")),c=G(()=>n.message.tools.filter(W=>W.name!=="thinking")),d=G(()=>n.message.ts!==void 0?l0(n.message.ts):""),f=G(()=>{const W=n.message.model??"",j=W.lastIndexOf("/");return j>=0&&j<W.length-1?W.slice(j+1):W}),p=G(()=>i.value&&n.isLatestUser&&n.idle),g=G(()=>a.value&&!n.streaming?p0(n.message,n.workDir||void 0):[]);function y(W){return W.split("/").pop()||W}function S(W){vs(W,{sessionId:n.sessionId||void 0})}const k=/(^|\s)@("[^"\n]+"|[^\s"]+)/g;function w(W){if(!W||W.startsWith("/")||W.startsWith("~"))return W;const j=n.workDir.trim();if(!j)return W;let te=W;for(;te.startsWith("./");)te=te.slice(2);return`${j.replace(/\/+$/,"")}/${te}`}const b=G(()=>{const W=n.message.content;if(!i.value||!W||!W.includes("@"))return[];const j=[];let te=0;k.lastIndex=0;let I;for(;(I=k.exec(W))!==null;){const M=I.index+I[1].length;M>te&&j.push({text:W.slice(te,M),path:null});const V=I[2],ie=V.startsWith('"')?V.slice(1,-1):V;j.push({text:W.slice(M,M+1+V.length),path:w(ie)}),te=M+1+V.length}return te<W.length&&j.push({text:W.slice(te),path:null}),j});function _(W){vs(W,{sessionId:n.sessionId||void 0})}const B=In("showThinking",O(!0)),D=In("showTools",O(!0)),E=O(!1);let A=null;function T(){if(typeof window>"u"||!("speechSynthesis"in window))return;if(E.value){window.speechSynthesis.cancel(),E.value=!1,A=null;return}const W=n.message.content;if(!W)return;const j=new SpeechSynthesisUtterance(W);j.lang="zh-CN";const te=()=>{A===te&&(E.value=!1,A=null)};A=te,j.addEventListener("end",te),j.addEventListener("error",te),window.speechSynthesis.cancel(),requestAnimationFrame(()=>{window.speechSynthesis.speak(j)}),E.value=!0}st(()=>{E.value&&"speechSynthesis"in window&&window.speechSynthesis.cancel()});async function Z(){try{await navigator.clipboard.writeText(n.message.content)}catch{const W=document.createElement("textarea");W.value=n.message.content,document.body.append(W),W.select(),document.execCommand("copy"),W.remove()}o.value=!0,r!==null&&clearTimeout(r),r=window.setTimeout(()=>{o.value=!1},1500)}return(W,j)=>(m(),v("article",{class:ue(["message",e.message.role,{error:e.message.isError}]),"data-message-id":e.message.id,"data-message-role":e.message.role},[i.value?(m(),v("div",fT,[h("div",hT,[d.value?(m(),v("span",pT,C(d.value),1)):U("",!0),j[3]||(j[3]=h("span",{class:"head-name"},"你",-1)),h("span",gT,[X(ce,{name:"user",size:12})])]),h("div",mT,[b.value.length?(m(!0),v(ne,{key:0},Ce(b.value,(te,I)=>(m(),v(ne,{key:I},[te.path!==null?(m(),v("button",{key:0,class:"at-link",title:`在文件面板中打开 ${te.path}`,onClick:M=>_(te.path??"")},C(te.text),9,vT)):(m(),v(ne,{key:1},[Ae(C(te.text),1)],64))],64))),128)):(m(),v(ne,{key:1},[Ae(C(e.message.content),1)],64))]),p.value?(m(),v("div",yT,[h("button",{title:"编辑并重新发送",onClick:j[0]||(j[0]=te=>s("edit",e.message.content))},[X(ce,{name:"edit",size:12}),j[4]||(j[4]=Ae("编辑重发",-1))])])):U("",!0)])):(m(),v("div",bT,[a.value&&(e.message.model&&e.showModel||e.streaming||l.value||e.showTimestamp&&d.value)?(m(),v("div",kT,[e.message.model&&e.showModel?(m(),v("span",{key:0,class:"brand-model",title:e.message.model},C(f.value),9,wT)):U("",!0),e.streaming?(m(),v("span",ST,[...j[5]||(j[5]=[h("i",{"aria-hidden":"true"},null,-1),Ae("生成中",-1)])])):U("",!0),l.value?(m(),De(Cd,{key:2,stats:e.message.turnStats,inline:""},null,8,["stats"])):U("",!0),e.showTimestamp&&d.value?(m(),v("time",_T,C(d.value),1)):U("",!0)])):U("",!0),h("div",$T,[e.message.degraded?(m(),v("p",CT,"该回合早于持久化快照:正文与思考在服务重启后无法恢复(工具记录与消息结构已保留)。")):U("",!0),F(B)?(m(!0),v(ne,{key:1},Ce(u.value,te=>(m(),De(nT,{key:te.toolCallId,tool:te,active:e.streaming,"session-id":e.sessionId,"msg-seq":e.message.seq},null,8,["tool","active","session-id","msg-seq"]))),128)):U("",!0),c.value.length&&F(D)?(m(),De(VI,{key:2,name:"工具调用过程",tools:c.value,live:e.streaming,"work-dir":e.workDir,"session-id":e.sessionId},null,8,["tools","live","work-dir","session-id"])):U("",!0),e.message.content?(m(),De(jp,{key:3,class:"assistant-content",content:e.message.content,streaming:e.streaming},null,8,["content","streaming"])):e.streaming?(m(),v("span",xT)):U("",!0),e.message.turnStats&&e.message.turnStats.status!=="running"?(m(),De(Cd,{key:5,stats:e.message.turnStats},null,8,["stats"])):U("",!0),g.value.length?(m(),v("div",IT,[(m(!0),v(ne,null,Ce(g.value,te=>(m(),v("button",{key:te.filePath,type:"button",class:"written-file",title:`在文件面板中打开 ${te.filePath}`,onClick:I=>S(te.filePath)},[X(ce,{name:"file",size:12}),h("span",ET,C(y(te.filePath)),1)],8,TT))),128))])):U("",!0),e.message.content||e.message.isError&&!e.streaming||e.canFork?(m(),v("div",AT,[e.message.content?(m(),v("button",{key:0,title:o.value?"已复制":"复制内容",onClick:Z},[X(ce,{name:o.value?"check":"copy",size:12},null,8,["name"]),Ae(C(o.value?"已复制":"复制"),1)],8,MT)):U("",!0),e.message.content?(m(),v("button",{key:1,title:E.value?"停止朗读":"朗读",onClick:T},[X(ce,{name:E.value?"speaker-off":"speaker",size:12},null,8,["name"]),Ae(C(E.value?"停止":"朗读"),1)],8,RT)):U("",!0),e.message.isError&&!e.streaming?(m(),v("button",{key:2,class:"retry-btn",title:"重发最后一条消息",onClick:j[1]||(j[1]=te=>s("retry"))},[X(ce,{name:"refresh",size:12}),j[6]||(j[6]=Ae("重试",-1))])):U("",!0),a.value&&e.canFork&&!e.streaming?(m(),v("button",{key:3,title:"以当前对话为起点创建一个新会话",onClick:j[2]||(j[2]=te=>s("fork"))},[X(ce,{name:"fork",size:12}),j[7]||(j[7]=Ae("Fork",-1))])):U("",!0)])):U("",!0)])]))],10,dT))}}),LT=Te(PT,[["__scopeId","data-v-c06917b6"]]),DT=["title","aria-label","onMouseenter","onClick"],NT={key:0,class:"minimap-tooltip"},OT="(min-width: 960px)",GT="(prefers-reduced-motion: reduce)",BT=24,FT=1e3,UT=Ie({__name:"ChatMinimap",props:{messages:{},host:{},revision:{},revealMessage:{type:Function}},setup(e){const t=e,n=O(null),s=typeof window.matchMedia=="function",o=s?window.matchMedia(OT):null,r=s?window.matchMedia(GT):null,i=O((o==null?void 0:o.matches)??!1),a=O((r==null?void 0:r.matches)??!1);function l(oe){i.value=oe.matches}function u(oe){a.value=oe.matches}et(()=>o==null?void 0:o.addEventListener("change",l)),st(()=>o==null?void 0:o.removeEventListener("change",l)),et(()=>r==null?void 0:r.addEventListener("change",u)),st(()=>r==null?void 0:r.removeEventListener("change",u));function c(oe){var $e;const ge=(($e=oe.content)==null?void 0:$e.length)??0;return ge<=0?.2:.2+.8*(1-1/(1+ge/200))}const d=G(()=>{let oe=0;return t.messages.map((ge,$e)=>{const Ne=c(ge),Ue={id:ge.id??`seq-${$e}`,seq:ge.seq??$e,role:ge.role??"tool",ratio:Ne,offset:oe};return oe+=Ne,Ue})}),f=G(()=>d.value.reduce((oe,ge)=>oe+ge.ratio,0)||1),p=O({scrollTop:0,scrollHeight:0,clientHeight:0,trackHeight:0}),g=O(!1),y=O(!1),S=O(!1),k=O(null),w=G(()=>p.value.scrollHeight>p.value.clientHeight),b=G(()=>{const{scrollTop:oe,scrollHeight:ge,clientHeight:$e,trackHeight:Ne}=p.value;if(!g.value||!w.value||Ne<=0)return{};const Ue=Math.max(BT,$e/ge*Ne),Ke=Math.max(Ne-Ue,0);return{top:`${Math.min(Math.max(oe/ge*Ne,0),Ke)}px`,height:`${Ue}px`}}),_=G(()=>y.value||n.value!==null),B=G(()=>S.value&&!_.value&&!a.value);let D=null;function E(){S.value=!1,!a.value&&(D!==null&&clearTimeout(D),D=setTimeout(()=>{D=null,S.value=!0},FT))}function A(){D!==null&&(clearTimeout(D),D=null)}let T=null;function Z(){var $e;const oe=t.host;if(!oe){g.value=!1;return}const ge=(($e=k.value)==null?void 0:$e.clientHeight)??0;p.value={scrollTop:oe.scrollTop,scrollHeight:oe.scrollHeight,clientHeight:oe.clientHeight,trackHeight:ge||oe.clientHeight},g.value=oe.scrollHeight>0}function W(){T===null&&(T=requestAnimationFrame(()=>{T=null,Z()}))}function j(){E(),W()}function te(){y.value=!0,E()}function I(){y.value=!1,E()}let M=null;function V(){const oe=t.host;M==null||M.disconnect(),M=null,oe&&(oe.addEventListener("scroll",j,{passive:!0}),typeof ResizeObserver<"u"&&(M=new ResizeObserver(()=>W()),M.observe(oe)))}function ie(){var oe;(oe=t.host)==null||oe.removeEventListener("scroll",j),M==null||M.disconnect(),M=null}et(()=>{i.value&&(V(),E(),W())}),st(()=>{ie(),A(),T!==null&&(cancelAnimationFrame(T),T=null)}),Se([()=>t.host,i],()=>{ie(),g.value=!1,Fe(()=>{i.value&&(V(),W())})});const me=G(()=>{var oe,ge;return`${((oe=t.messages[0])==null?void 0:oe.id)??""}|${((ge=t.messages.at(-1))==null?void 0:ge.id)??""}`});let _e="",he="";Se(me,oe=>{const[ge,$e]=oe.split("|"),Ne=_e!==""&&ge!==_e&&$e!==he;_e=ge??"",he=$e??"",Ne&&(g.value=!1),W()},{immediate:!0}),Se(w,oe=>{oe&&Fe(W)}),Se([()=>t.messages.length,()=>t.revision,f,i],()=>{W()});function ae(oe){var Ue;const ge=t.host;if(!ge)return;(Ue=t.revealMessage)==null||Ue.call(t,oe);const $e=`[data-message-id="${CSS.escape(oe)}"]`,Ne=()=>{var Ke;(Ke=ge.querySelector($e))==null||Ke.scrollIntoView({behavior:"smooth",block:"start"})};ge.querySelector($e)?Ne():Fe(Ne)}function pe(oe){const ge=oe.role==="user"?"用户":oe.role==="assistant"?"助手":"工具";return`#${oe.seq} ${ge}`}return(oe,ge)=>i.value&&d.value.length>0&&w.value?(m(),v("div",{key:0,class:ue(["minimap",{"is-quiet":B.value,"is-hovered":_.value}]),role:"navigation","aria-label":"消息地图",onPointerenter:te,onPointerleave:I},[h("div",{ref_key:"trackRef",ref:k,class:"minimap-track"},[(m(!0),v(ne,null,Ce(d.value,$e=>(m(),v("button",{key:$e.id,class:ue(["minimap-block",`role-${$e.role}`]),style:bt({top:`${$e.offset/f.value*100}%`,height:`${Math.max($e.ratio/f.value*100,2)}%`}),title:pe($e),"aria-label":pe($e),onMouseenter:Ne=>n.value=$e.seq,onMouseleave:ge[0]||(ge[0]=Ne=>n.value=null),onClick:Ne=>ae($e.id)},[n.value===$e.seq?(m(),v("span",NT,C(pe($e)),1)):U("",!0)],46,DT))),128)),h("div",{class:ue(["minimap-thumb",{"is-ready":g.value}]),style:bt(b.value),"aria-hidden":"true"},null,6)],512)],34)):U("",!0)}}),jT=Te(UT,[["__scopeId","data-v-b3335103"]]);function xd(e,t){return e-t}function Id(e,t){return Math.max(0,e-t)}const zT={class:"message-list-wrapper"},HT={key:0,class:"conn-banner",role:"status"},WT=["disabled"],qT={key:0,class:"day-divider",role:"separator"},VT={key:1,class:"turn-divider","aria-hidden":"true"},KT={key:1,class:"message-skeleton","aria-hidden":"true"},ZT=["aria-label"],YT={key:0,class:"scroll-badge"},XT=80,JT=40,QT=8,Td=24,eE=Ie({__name:"MessageList",props:{messages:{},busy:{type:Boolean,default:!1},workDir:{default:null},sessionId:{default:""},connected:{type:Boolean,default:!1},olderAvailable:{type:Boolean,default:!1},olderLoading:{type:Boolean,default:!1}},emits:["edit","retry-connection","retry-message","load-older","fork"],setup(e,{emit:t}){const n=e,s=t,o=O(null),r=O(null);let i=null;const a=G(()=>{for(let $=n.messages.length-1;$>=0;$--)if(n.messages[$].role==="user")return n.messages[$].id;return null}),l=G(()=>{var $;return(($=n.messages.at(-1))==null?void 0:$.id)??null}),u=G(()=>{var $;return(($=[...n.messages].reverse().find(H=>H.role==="assistant"))==null?void 0:$.id)??null});function c($){const H=n.messages[$];if(!H)return!1;if(H.role!=="assistant")return!0;const q=n.messages[$+1];return!q||q.role!=="assistant"||H.ts!==void 0&&q.ts!==void 0&&q.ts-H.ts>300*1e3}function d($){const H=n.messages[$];if(!H||H.role!=="assistant"||!H.model)return!1;const q=n.messages[$-1];return!q||q.role!=="assistant"?!0:q.model!==H.model}function f($){const H=n.messages[$];return!!H&&$>0&&H.role==="user"}function p($){const H=n.messages[$],q=$>0?n.messages[$-1]:void 0;return!H||!q||H.ts===void 0||q.ts===void 0||u0(q.ts,H.ts)?null:c0(H.ts)}const g={streaming:!1,isLatestUser:!1,canFork:!1,showTimestamp:!1,showModel:!1,idle:!0},y=G(()=>{const $=a.value,H=l.value,q=u.value,se=[];return n.messages.forEach((fe,ye)=>{const Ee=p(ye);Ee!==null?se.push({kind:"day-divider",key:`${fe.id}-divider`,dividerText:Ee,flags:g}):f(ye)&&se.push({kind:"turn-divider",key:`${fe.id}-divider`,dividerText:null,flags:g}),se.push({kind:"message",key:fe.id,message:fe,dividerText:null,flags:{streaming:n.busy&&fe.id===H&&fe.role==="assistant",isLatestUser:fe.id===$,canFork:!n.busy&&fe.id===q,showTimestamp:c(ye),showModel:d(ye),idle:!n.busy}})}),se});function S($){return Math.max(0,$-XT)}const k=O(S(y.value.length)),w=G(()=>{const $=y.value.length,H=Math.min(Math.max(0,k.value),$);return y.value.slice(H)}),b=G(()=>k.value>0||n.olderAvailable);function _($){const H=y.value;for(let q=0;q<H.length;q++){const se=H[q];if(se.kind==="message"&&se.message.id===$)return q}return-1}function B($){const H=_($);return H<0?!1:(H>=k.value||D(()=>{k.value=Math.max(0,H-QT)}),!0)}function D($){const H=o.value;if(!H){$();return}const q=xd(H.scrollHeight,H.scrollTop);$(),Fe(()=>{const se=o.value;se&&(se.scrollTop=Id(se.scrollHeight,q))})}let E=!1;const A=G(()=>{var q;const $=n.messages.at(-1);if(!$)return 0;let H=$.content.length;for(const se of $.tools)H+=((q=se.output)==null?void 0:q.length)??0;return H});let T=!1;const Z=O(!1),W=O(0);function j(){const $=o.value;return $?$.scrollHeight-$.scrollTop-$.clientHeight<Td:!0}function te(){return typeof window<"u"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches}function I($){k.value=S(y.value.length),requestAnimationFrame(()=>{const H=o.value;if(!H)return;const q=te()?"auto":$;q==="smooth"&&_e(),H.scrollTo({top:H.scrollHeight,behavior:q})})}let M=!1,V=null,ie=null;function me(){const $=o.value;V&&$&&$.removeEventListener("scrollend",V),V=null,M=!1,ie!==null&&(clearTimeout(ie),ie=null)}function _e(){const $=o.value;$&&(me(),M=!0,V=()=>me(),$.addEventListener("scrollend",V),ie=setTimeout(me,1500))}function he(){const $=o.value;!M||!$||($.scrollTo({top:$.scrollTop,behavior:"auto"}),me())}let ae=null,pe=null,oe=0,ge=null;const $e=new Set;function Ne(){const $=pe,H=o.value;if(!$||!H)return;const q=new Set(Array.from(H.children));for(const se of Array.from($e))q.has(se)||($.unobserve(se),$e.delete(se));for(const se of q)$e.has(se)||($.observe(se),$e.add(se))}function Ue(){const $=o.value;if(!$)return;const H=$.scrollHeight,q=H>oe;oe=H,q&&(J||E||(T||j())&&ge===null&&(ge=requestAnimationFrame(()=>{ge=null,I("auto")})))}function Ke($){return $.seq!==void 0?`${$.role}:${$.seq}`:`id:${$.id}`}function Ye($){for(const H of n.messages)if(Ke(H)===$)return H;return null}function rt($){const H=$.querySelectorAll("[data-message-id]");for(const q of H)if(q.offsetTop+q.offsetHeight>$.scrollTop){const se=q.dataset.messageId;if(se)return{id:se,offsetTop:q.offsetTop}}return null}function Dt(){const $=o.value,H=n.sessionId;!$||!H||ae===null&&(ae=requestAnimationFrame(()=>{ae=null;try{const q=rt($);if(!q)return;const se=n.messages.find(ye=>ye.id===q.id),fe=se?Ke(se):`id:${q.id}`;localStorage.setItem(`scream-scroll:${H}`,`v3:${fe}:${Math.round(q.offsetTop-$.scrollTop)}`)}catch{}}))}function x($){try{return localStorage.getItem(`scream-scroll:${$}`)!==null}catch{return!1}}function P(){k.value=S(y.value.length);const $=o.value;$&&($.scrollTop=$.scrollHeight)}async function z($,H){if(!B($))return"unusable";await Fe();const q=o.value;if(!q)return"unusable";const se=Array.from(q.querySelectorAll("[data-message-id]")).find(fe=>fe.dataset.messageId===$);return se?(q.scrollTop=se.offsetTop-H,"restored"):"unusable"}async function ee(){const $=o.value,H=n.sessionId;if(!$||!H)return"missing";let q=null;try{q=localStorage.getItem(`scream-scroll:${H}`)}catch{}if(!q)return"missing";if(q.startsWith("v3:")){const fe=q.slice(3),ye=fe.lastIndexOf(":");if(ye<=0)return"unusable";const Ee=fe.slice(0,ye),ke=Number(fe.slice(ye+1));if(!Number.isFinite(ke))return"unusable";const be=Ye(Ee);return be?z(be.id,ke):"unusable"}if(q.startsWith("v2:")){const fe=q.split(":"),ye=fe[1],Ee=Number(fe[2]);return!ye||!Number.isFinite(Ee)||!n.messages.some(ke=>ke.id===ye)?"unusable":z(ye,Ee)}const se=Number(q);if(!Number.isFinite(se))return"unusable";if(!(se>0))return"restored";if(se>$.scrollHeight-$.clientHeight&&k.value>0){k.value=0,await Fe();const fe=o.value;return fe&&(fe.scrollTop=se),"restored"}return $.scrollTop=se,"restored"}let J=!1;Se(()=>{var $;return[(($=n.messages[0])==null?void 0:$.id)??null,n.messages.length,n.sessionId]},([$,H,q],[se,fe,ye])=>{const Ee=H>0&&$!==null&&se!==null&&$!==se&&H>(fe??0)&&q===ye;if(J=Ee,!Ee)return;E=!0;const ke=o.value;if(!ke)return;const be=xd(ke.scrollHeight,ke.scrollTop);Fe(()=>{ke.scrollTop=Id(ke.scrollHeight,be)})}),Se(()=>y.value.length,($,H)=>{const q=H??0;if(E){E=!1;return}k.value===S(q)&&!Z.value?k.value=S($):k.value>S($)&&D(()=>{k.value=S($)})});function R(){const $=o.value;if(!$)return;const H=$.scrollHeight-$.scrollTop-$.clientHeight>Td;Z.value=H,H||(W.value=0),H&&T&&(T=!1),n.busy||Dt()}let K="";Se(()=>n.sessionId,()=>{K="",W.value=0,J=!1,k.value=S(y.value.length)}),Se(()=>[n.messages.length,A.value],([$],[H])=>{if($!==H){const q=J;if(J=!1,$>0&&K!==n.sessionId){K=n.sessionId;const se=(H??0)===0;if(se&&!x(n.sessionId)){Fe(P);return}requestAnimationFrame(()=>requestAnimationFrame(async()=>{const fe=await ee();fe!=="restored"&&(se||fe==="unusable")&&P()}));return}if(q)return;if(!j()){W.value=Math.max(0,W.value+Math.max(0,$-(H??0)));return}T=!0,Z.value=!1,I("smooth");return}!T&&!j()||I("auto")}),Se(()=>n.busy,$=>{$||(T=!1)});function N(){T=!0,Z.value=!1,W.value=0,I("smooth")}const Q=G(()=>!n.busy||n.messages.length===0?!1:n.messages.at(-1).role==="user");return et(()=>{var $,H,q,se;($=o.value)==null||$.addEventListener("scroll",R,{passive:!0}),(H=o.value)==null||H.addEventListener("wheel",he,{passive:!0}),(q=o.value)==null||q.addEventListener("touchstart",he,{passive:!0}),typeof IntersectionObserver<"u"&&(i=new IntersectionObserver(fe=>{var ye;(ye=fe[0])!=null&&ye.isIntersecting&&(k.value>0&&D(()=>{k.value=Math.max(0,k.value-JT)}),k.value===0&&n.olderAvailable&&!n.olderLoading&&n.messages.length>0&&s("load-older"))},{root:o.value,rootMargin:"120px 0px 0px 0px"}),r.value&&i.observe(r.value)),typeof ResizeObserver<"u"&&(oe=((se=o.value)==null?void 0:se.scrollHeight)??0,pe=new ResizeObserver(Ue),Ne()),Rl(()=>Ne()),requestAnimationFrame(()=>requestAnimationFrame(async()=>{await ee()==="unusable"&&P()}))}),$i(()=>{var $,H,q;($=o.value)==null||$.removeEventListener("scroll",R),(H=o.value)==null||H.removeEventListener("wheel",he),(q=o.value)==null||q.removeEventListener("touchstart",he),i==null||i.disconnect(),i=null,pe==null||pe.disconnect(),pe=null,$e.clear(),ge!==null&&(cancelAnimationFrame(ge),ge=null),me(),ae!==null&&(cancelAnimationFrame(ae),ae=null)}),Se(r,$=>{i&&(i.disconnect(),$&&i.observe($))}),($,H)=>(m(),v("div",zT,[!e.connected&&e.messages.length>0?(m(),v("div",HT,[H[7]||(H[7]=h("span",{class:"conn-dot","aria-hidden":"true"},null,-1)),H[8]||(H[8]=h("span",null,"连接中断,自动恢复中…",-1)),h("button",{class:"conn-retry",onClick:H[0]||(H[0]=q=>s("retry-connection"))},"立即重试")])):U("",!0),h("div",{ref_key:"listRef",ref:o,class:"message-list"},[b.value?(m(),v("div",{key:0,ref_key:"topSentinelRef",ref:r,class:"load-older-row"},[e.olderAvailable?(m(),v("button",{key:0,class:"load-older-btn",disabled:e.olderLoading,onClick:H[1]||(H[1]=q=>s("load-older"))},C(e.olderLoading?"加载中…":"加载更早消息"),9,WT)):U("",!0)],512)):U("",!0),(m(!0),v(ne,null,Ce(w.value,(q,se,fe,ye)=>{const Ee=[q.message,q.flags.streaming,q.flags.isLatestUser,q.flags.canFork,q.flags.showTimestamp,q.flags.showModel,q.flags.idle,q.dividerText,e.busy,e.sessionId,e.workDir];if(ye&&ye.el&&ye.key===q.key&&Xm(ye,Ee))return ye;const ke=(m(),v(ne,{key:q.key},[q.kind==="day-divider"?(m(),v("div",qT,[h("span",null,C(q.dividerText),1)])):q.kind==="turn-divider"?(m(),v("div",VT)):(m(),De(LT,{key:2,message:q.message,"is-latest-user":q.flags.isLatestUser,idle:q.flags.idle,streaming:q.flags.streaming,"session-id":e.sessionId,"can-fork":q.flags.canFork,"show-timestamp":q.flags.showTimestamp,"show-model":q.flags.showModel,"work-dir":e.workDir??void 0,onEdit:H[2]||(H[2]=be=>s("edit",be)),onRetry:H[3]||(H[3]=be=>s("retry-message")),onFork:H[4]||(H[4]=be=>s("fork"))},null,8,["message","is-latest-user","idle","streaming","session-id","can-fork","show-timestamp","show-model","work-dir"]))],64));return ke.memo=Ee,ke},H,5),128)),Q.value?(m(),v("div",KT,[...H[9]||(H[9]=[h("div",{class:"sk-body"},[h("div",{class:"sk-line sk-w-60"}),h("div",{class:"sk-line sk-w-90"}),h("div",{class:"sk-line sk-w-40"})],-1)])])):U("",!0)],512),X(jT,{messages:e.messages,host:o.value,revision:k.value,"reveal-message":B},null,8,["messages","host","revision"]),X(Ol,{name:"scroll-btn"},{default:ot(()=>[Z.value?(m(),v("button",{key:0,class:ue(["scroll-to-bottom",{streaming:e.busy}]),title:"滚动到最新消息","aria-label":W.value>0?`滚动到最新消息,${W.value} 条新消息`:"滚动到最新消息",onClick:N},[X(ce,{name:"chevron-down",size:18}),W.value>0?(m(),v("span",YT,C(W.value>99?"99+":W.value),1)):U("",!0)],10,ZT)):U("",!0)]),_:1})]))}}),tE=Te(eE,[["__scopeId","data-v-af6b9f2e"]]),nE={class:"stats-head"},sE={class:"stats-body"},oE={class:"stats-section"},rE={class:"stats-label-row"},iE={class:"stats-value mono"},aE=["aria-valuenow","aria-label"],lE={key:0,class:"stats-section"},uE={class:"stats-label-row"},cE={class:"stats-value mono"},dE={class:"stats-section"},fE={class:"stats-label-row"},hE={class:"stats-value mono"},pE={class:"stats-grid"},gE={class:"stats-cell-label"},mE={class:"stats-cell-value mono"},vE={key:1,class:"stats-section"},yE=["title"],bE={class:"model-tokens mono"},kE={class:"model-dims mono"},wE={key:1,class:"stats-empty"},SE=Ie({__name:"SessionStatsPanel",props:{status:{},fetchUsage:{type:Function},fetchContext:{type:Function}},emits:["close"],setup(e,{emit:t}){const n=e,s=t,o=O(null);et(()=>{n.fetchUsage(),n.fetchContext()});function r(w){const b=o.value;b&&!b.contains(w.target)&&s("close")}function i(w){w.key==="Escape"&&s("close")}et(()=>{document.addEventListener("pointerdown",r),window.addEventListener("keydown",i)}),st(()=>{document.removeEventListener("pointerdown",r),window.removeEventListener("keydown",i)});function a(w){return w?w.inputOther+w.output+w.inputCacheRead+w.inputCacheCreation:0}function l(w){return typeof w!="number"?"-":w>=1e6?`${(w/1e6).toFixed(1)}M`:w>=1e3?`${(w/1e3).toFixed(1)}k`:String(w)}function u(w){return typeof w=="number"?w.toLocaleString():"-"}const c=G(()=>{const w=n.status.contextUsage;if(typeof w=="number"&&Number.isFinite(w)){const B=w>1?w:w*100;return Math.max(0,Math.min(B,100))}const b=n.status.contextTokens??0,_=n.status.maxContextTokens??0;return _<=0?0:Math.max(0,Math.min(b/_*100,100))}),d=G(()=>typeof n.status.contextTokens=="number"&&typeof n.status.maxContextTokens=="number"?`${u(n.status.contextTokens)} / ${u(n.status.maxContextTokens)}`:c.value>0?`${c.value.toFixed(1)}%`:"-"),f=G(()=>{var w;return(w=n.status.usage)==null?void 0:w.total}),p=G(()=>{var w;return(w=n.status.usage)==null?void 0:w.currentTurn}),g=G(()=>a(f.value)),y=G(()=>{var b;const w=(b=n.status.usage)==null?void 0:b.byModel;return w?Object.entries(w).map(([_,B])=>({model:_,tokens:a(B),input:B.inputOther,output:B.output,cacheRead:B.inputCacheRead,cacheCreation:B.inputCacheCreation})):[]}),S=G(()=>g.value>0||y.value.length>0||a(p.value)>0),k=G(()=>{var w,b,_,B;return[{key:"input",label:"输入",value:(w=f.value)==null?void 0:w.inputOther},{key:"output",label:"输出",value:(b=f.value)==null?void 0:b.output},{key:"cacheRead",label:"缓存读",value:(_=f.value)==null?void 0:_.inputCacheRead},{key:"cacheCreation",label:"缓存写",value:(B=f.value)==null?void 0:B.inputCacheCreation}]});return(w,b)=>(m(),v("div",{ref_key:"rootRef",ref:o,class:"stats-panel",role:"dialog","aria-label":"会话统计"},[h("div",nE,[b[1]||(b[1]=h("span",{class:"stats-title"},"会话统计",-1)),h("button",{class:"stats-close","aria-label":"关闭统计面板",onClick:b[0]||(b[0]=_=>s("close"))},[X(ce,{name:"x",size:14})])]),h("div",sE,[h("div",oE,[h("div",rE,[b[2]||(b[2]=h("span",{class:"stats-label"},"上下文水位",-1)),h("span",iE,C(d.value),1)]),h("div",{class:"ctx-track",role:"progressbar","aria-valuenow":Math.round(c.value),"aria-valuemin":"0","aria-valuemax":"100","aria-label":`上下文 ${c.value.toFixed(1)}%`},[h("div",{class:"ctx-fill",style:bt({width:`${c.value}%`})},null,4)],8,aE)]),S.value?(m(),v(ne,{key:0},[a(p.value)>0?(m(),v("div",lE,[h("div",uE,[b[3]||(b[3]=h("span",{class:"stats-label"},"当前回合",-1)),h("span",cE,C(l(a(p.value)))+" tokens",1)])])):U("",!0),h("div",dE,[h("div",fE,[b[4]||(b[4]=h("span",{class:"stats-label"},"本会话累计",-1)),h("span",hE,C(l(g.value))+" tokens",1)]),h("div",pE,[(m(!0),v(ne,null,Ce(k.value,_=>(m(),v("div",{key:_.key,class:"stats-cell"},[h("span",gE,C(_.label),1),h("span",mE,C(u(_.value)),1)]))),128))])]),y.value.length>0?(m(),v("div",vE,[b[5]||(b[5]=h("div",{class:"stats-label"},"按模型",-1)),(m(!0),v(ne,null,Ce(y.value,_=>(m(),v("div",{key:_.model,class:"model-row"},[h("span",{class:"model-name",title:_.model},C(_.model),9,yE),h("span",bE,C(u(_.tokens)),1),h("span",kE," 入 "+C(u(_.input))+" · 出 "+C(u(_.output))+" · 缓存 "+C(u(_.cacheRead+_.cacheCreation)),1)]))),128))])):U("",!0)],64)):(m(),v("div",wE,"暂无用量数据"))])],512))}}),_E=Te(SE,[["__scopeId","data-v-631485c2"]]),$E={class:"conversation"},CE={key:1,class:"stats-anchor"},xE={class:"chat-stage"},IE={class:"chat-column"},TE={class:"composer-dock"},EE=Ie({__name:"ConversationView",props:{client:{}},emits:["home"],setup(e,{expose:t,emit:n}){const s=e,o=n,{connectionStatus:r,messages:i,pendingApprovals:a,status:l,sessionId:u,workDir:c,isBusy:d,models:f,sendPrompt:p,sendCommand:g,clearMessages:y,appendSystemMessage:S,abort:k,resolveApproval:w,exportSession:b,fetchSnapshot:_,switchModel:B,switchThinking:D,switchPermission:E,goal:A,pauseGoal:T,resumeGoal:Z,cancelGoal:W}=s.client;async function j(){var ee,J;const P=s.client.sessionId.value;return!P||s.client.connectionStatus.value==="idle"?!1:await(((J=(ee=s.client).waitForConnected)==null?void 0:J.call(ee))??Promise.resolve(s.client.connectionStatus.value==="connected"))&&s.client.sessionId.value===P&&s.client.connectionStatus.value==="connected"}const te=O(null),I=O(!1),M=O(!1),V=O("status"),ie=G(()=>{var ee;const P=(ee=l.value.usage)==null?void 0:ee.currentTurn;if(!P)return null;const z=P.inputOther+P.output+P.inputCacheRead+P.inputCacheCreation;return z>0?z:null}),me=G(()=>{const P=s.client.sessions.value.find(J=>J.sessionId===s.client.currentSessionId.value),z=P==null?void 0:P.title;if(z&&z!=="新会话"&&z!=="New Session")return z;const ee=i.value.find(J=>J.role==="user");if(ee){const J=ee.content.replace(/\s+/g," ").trim();if(J)return J.length>24?`${J.slice(0,24)}…`:J}return z??null}),_e=G(()=>{var P,z;for(let ee=i.value.length-1;ee>=0;ee-=1){const J=(z=(P=i.value[ee])==null?void 0:P.turnStats)==null?void 0:z.turn;if(J)return J}return i.value.filter(ee=>ee.role==="user").length}),he=G(()=>i.value.length===0&&!d.value);function ae(P){var z;(z=te.value)==null||z.insertText(P)}function pe(P,z){return te.value?(te.value.insertDraft(P,z),!0):!1}t({insertDraft:pe});async function oe(){window.confirm("取消目标会让它进入已结束态,确定继续?")&&await W()}function ge(){Sr("goal")}function $e(P){_(),V.value=P,M.value=!0}function Ne(){var P;return((P=te.value)==null?void 0:P.openModelPicker())??!1}const{onCommand:Ue}=lh({sendCommand:g,clearMessages:y,appendSystemMessage:S,ensureSession:j,onNew:()=>o("home"),openModelPicker:Ne,showInfo:$e,currentModel:()=>l.value.model});function Ke(P){g("title",P)}function Ye(){if(d.value||!r.value)return;const P=[...i.value].reverse().find(z=>z.role==="user");P&&p(P.content)}const rt=O(!1);async function Dt(){rt.value=!0,await s.client.loadOlderMessages(),rt.value=!1}function x(){d.value||g("fork")}return(P,z)=>(m(),v("div",$E,[he.value?U("",!0):(m(),De(Iw,{key:0,title:me.value,busy:F(d),"stats-open":I.value,"turn-tokens":ie.value,"turn-count":_e.value,onHome:z[0]||(z[0]=ee=>o("home")),onRename:Ke,onExport:z[1]||(z[1]=ee=>F(u)&&F(b)(F(u))),onFork:x,onClear:F(y),onControls:z[2]||(z[2]=ee=>F(Sr)("control")),onAgents:z[3]||(z[3]=ee=>F(Sr)("agents")),onToggleStats:z[4]||(z[4]=ee=>I.value=!I.value)},null,8,["title","busy","stats-open","turn-tokens","turn-count","onClear"])),I.value?(m(),v("div",CE,[X(_E,{status:F(l),"fetch-usage":s.client.fetchSessionUsage,"fetch-context":s.client.fetchSessionContext,onClose:z[5]||(z[5]=ee=>I.value=!1)},null,8,["status","fetch-usage","fetch-context"])])):U("",!0),h("div",xE,[h("div",IE,[X(tE,{messages:F(i),busy:F(d),"work-dir":F(c),"session-id":F(u)??"",connected:F(r)==="connected","older-available":s.client.olderAvailable.value,"older-loading":rt.value,onEdit:ae,onRetryConnection:z[6]||(z[6]=ee=>s.client.reconnectNow()),onRetryMessage:Ye,onLoadOlder:Dt,onFork:x},null,8,["messages","busy","work-dir","session-id","connected","older-available","older-loading"]),h("div",TE,[X(Sb,{approvals:F(a),onResolve:F(w)},null,8,["approvals","onResolve"]),X(kh,{ref_key:"composerRef",ref:te,busy:F(d),status:F(l),"session-id":F(u),models:F(f),"work-dir":F(c)||"",messages:F(i),"connection-status":F(r),goal:F(A),onSend:F(p),onAbort:F(k),onCommand:F(Ue),onSwitchModel:F(B),onSwitchThinking:F(D),onSwitchPermission:F(E),onGoalPause:F(T),onGoalResume:F(Z),onGoalCancel:oe,onGoalEdit:ge},null,8,["busy","status","session-id","models","work-dir","messages","connection-status","goal","onSend","onAbort","onCommand","onSwitchModel","onSwitchThinking","onSwitchPermission","onGoalPause","onGoalResume"])])])]),M.value?(m(),De(wh,{key:2,mode:V.value,status:F(l),"session-id":F(u),"work-dir":F(c),onClose:z[7]||(z[7]=ee=>M.value=!1)},null,8,["mode","status","session-id","work-dir"])):U("",!0)]))}}),AE=Te(EE,[["__scopeId","data-v-44a6943d"]]),ME=new Set(["png","jpg","jpeg","gif","webp","svg","avif","ico"]),RE=new Set(["mp3","wav","m4a","ogg"]),PE=new Set(["md","markdown"]);function Wp(e){const t=e.split(/[\\/]/).pop()??e,n=t.lastIndexOf(".");return n>0?t.slice(n+1).toLowerCase():""}function LE(e){const t=Wp(e);return ME.has(t)?"image":RE.has(t)?"audio":PE.has(t)?"markdown":t==="pdf"?"pdf":"source"}const DE={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",mjs:"javascript",cjs:"javascript",py:"python",rs:"rust",go:"go",java:"java",c:"c",h:"c",cpp:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",sh:"bash",bash:"bash",zsh:"bash",yml:"yaml",yaml:"yaml",json:"json",toml:"toml",ini:"ini",xml:"xml",html:"html",css:"css",scss:"scss",less:"less",sql:"sql",md:"markdown",markdown:"markdown",vue:"vue",svelte:"svelte",swift:"swift",kt:"kotlin",lua:"lua",r:"r",dart:"dart",graphql:"graphql",proto:"protobuf",txt:"text"};function Ed(e){const t=(e.split(/[\\/]/).pop()??"").toLowerCase();return t==="dockerfile"?"docker":t==="makefile"?"make":DE[Wp(e)]??"text"}const NE={key:0,class:"file-viewer"},OE={class:"fv-toolbar"},GE=["title","aria-label"],BE={class:"fv-path-text"},FE={class:"fv-modes",role:"tablist","aria-label":"显示模式"},UE=["aria-selected","title","onClick"],jE={class:"fv-body"},zE={key:0,class:"fv-status"},HE={key:1,class:"fv-status fv-error"},WE={class:"fv-error-name"},qE={class:"fv-error-msg"},VE={key:0,class:"fv-scroll"},KE={key:1,class:"fv-status"},ZE={key:0,class:"fv-media"},YE=["src","alt"],XE={key:1,class:"fv-media"},JE=["src"],QE={key:2,class:"fv-media fv-pdf"},eA=["src","title"],tA={key:3,class:"fv-scroll fv-markdown"},nA={key:4,class:"fv-scroll"},sA={key:4,class:"fv-scroll"},oA={key:0,class:"fv-note"},rA={key:1,class:"fv-empty"},_a="/api/v1",iA=Ie({__name:"FileViewer",props:{client:{}},setup(e){const t=e,n=[{id:"source",label:"源码"},{id:"preview",label:"预览"},{id:"diff",label:"Diff"}],s=G(()=>eb()),o=G(()=>s.value?Hy(s.value.viewerState,s.value.initialDisplayMode):"source"),r=G(()=>s.value?LE(s.value.filePath):"source"),i=O(0),a=G(()=>{if(!s.value)return"";const T=i.value>0?`&t=${i.value}`:"";return`${_a}/files/raw?path=${encodeURIComponent(s.value.filePath)}${T}`}),l=Wn(new Map),u=Wn(new Map);async function c(T){try{const Z=await T.json();return Z.message??Z.error??`HTTP ${T.status}`}catch{return`HTTP ${T.status}`}}function d(T){var te,I;const Z=(te=t.client)==null?void 0:te.gitStatus.value,W=((I=t.client)==null?void 0:I.workDir.value)??"";if(!(Z!=null&&Z.files)||Z.files.length===0)return null;const j=W&&T.startsWith(`${W}/`)?T.slice(W.length+1):T.startsWith("/")?null:T;if(j){const M=Z.files.find(V=>(V.displayPath??V.path)===j);if(M)return M.path;for(const V of Z.files){const ie=V.displayPath??V.path;if(ie&&V.path.endsWith(ie))return V.path.slice(0,V.path.length-ie.length)+j}}return null}function f(T){var te;const Z=[],W=I=>{I&&I!==T&&!Z.includes(I)&&Z.push(I)};W(d(T)),Z.push(T);const j=((te=t.client)==null?void 0:te.workDir.value)??"";return j&&T.startsWith(`${j}/`)&&W(T.slice(j.length+1)),Z}async function p(){var Z,W;const T=s.value;if(!(!T||u.has(T.filePath)))try{for(const j of f(T.filePath)){const te=((Z=t.client)==null?void 0:Z.currentSessionId.value)??((W=t.client)==null?void 0:W.sessionId.value),I=new URLSearchParams({path:j});te&&I.set("sessionId",te);const M=await fetch(`${_a}/git/diff?${I.toString()}`);if(!M.ok){u.set(T.filePath,{status:"error",message:await c(M)});return}const V=await M.json();if((V.patch??"")!==""){u.set(T.filePath,{status:"ok",patch:V.patch??""});return}}u.set(T.filePath,{status:"ok",patch:""})}catch(j){u.set(T.filePath,{status:"error",message:j instanceof Error?j.message:String(j)})}}async function g(){const T=s.value;if(T){if(o.value==="diff"){await p();return}if(!(o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf"))&&!l.has(T.filePath))try{const Z=await fetch(`${_a}/files/read?path=${encodeURIComponent(T.filePath)}`);if(!Z.ok)l.set(T.filePath,{status:"error",message:await c(Z)});else{const W=await Z.json();l.set(T.filePath,{status:"ok",content:W.content,truncated:W.truncated===!0})}}catch(Z){l.set(T.filePath,{status:"error",message:Z instanceof Error?Z.message:String(Z)})}}}Se(()=>{var T;return[(T=s.value)==null?void 0:T.id,o.value]},()=>{g()},{immediate:!0});const y=G(()=>{const T=s.value;if(T)return o.value==="diff"?u.get(T.filePath):o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf")?{status:"ok"}:l.get(T.filePath)}),S=G(()=>s.value!==void 0&&y.value===void 0),k=G(()=>{var T;return((T=y.value)==null?void 0:T.status)==="error"?y.value:null}),w=G(()=>{const T=s.value?l.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"?T.content:""}),b=G(()=>{const T=s.value?l.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"?T.truncated:!1}),_=G(()=>{const T=s.value?u.get(s.value.filePath):void 0;return(T==null?void 0:T.status)==="ok"&&T.patch.trim()!==""?Hp(T.patch):[]});function B(T){var j,te,I;const Z=s.value;if(!Z||o.value===T)return;const W={displayMode:T,wrapLines:((j=Z.viewerState)==null?void 0:j.wrapLines)??!1,scrollTop:((te=Z.viewerState)==null?void 0:te.scrollTop)??0,scrollLeft:((I=Z.viewerState)==null?void 0:I.scrollLeft)??0};we.tabs=Vy(we.tabs,Z.id,Z.viewerRevision??0,W)}function D(){const T=s.value;if(T){if(o.value==="diff")u.delete(T.filePath);else if(o.value==="preview"&&(r.value==="image"||r.value==="audio"||r.value==="pdf")){i.value+=1;return}else l.delete(T.filePath);g()}}const E=O(!1);function A(){var Z;const T=s.value;T&&((Z=navigator.clipboard)==null||Z.writeText(T.filePath).then(()=>{E.value=!0,setTimeout(()=>E.value=!1,1500)}).catch(()=>{}))}return(T,Z)=>s.value?(m(),v("div",NE,[h("div",OE,[h("button",{class:"fv-path",title:E.value?"已复制路径":`复制路径:${s.value.filePath}`,"aria-label":`文件路径 ${s.value.filePath}`,onClick:A},[X(ce,{name:"copy",size:12,class:"fv-path-icon"}),h("span",BE,C(s.value.filePath),1)],8,GE),h("div",FE,[(m(),v(ne,null,Ce(n,W=>h("button",{key:W.id,class:ue(["fv-mode",{active:o.value===W.id}]),role:"tab","aria-selected":o.value===W.id,title:`${W.label}模式`,onClick:j=>B(W.id)},C(W.label),11,UE)),64))]),h("button",{class:"fv-icon-btn",title:"刷新","aria-label":"刷新",onClick:D},[X(ce,{name:"refresh",size:14})])]),h("div",jE,[S.value?(m(),v("div",zE,[...Z[0]||(Z[0]=[h("span",{class:"fv-spinner","aria-hidden":"true"},null,-1),h("span",null,"加载中…",-1)])])):k.value?(m(),v("div",HE,[h("p",WE,C(s.value.label),1),h("p",qE,C(k.value.message),1),h("button",{class:"fv-retry",onClick:D},"重试")])):o.value==="diff"?(m(),v(ne,{key:2},[_.value.length>0?(m(),v("div",VE,[X(wu,{lines:_.value},null,8,["lines"])])):(m(),v("div",KE,"该文件没有未提交的改动。"))],64)):o.value==="preview"?(m(),v(ne,{key:3},[r.value==="image"?(m(),v("div",ZE,[h("img",{src:a.value,alt:s.value.label},null,8,YE)])):r.value==="audio"?(m(),v("div",XE,[h("audio",{class:"fv-audio",controls:"",src:a.value},null,8,JE)])):r.value==="pdf"?(m(),v("div",QE,[h("iframe",{class:"fv-pdf-frame",src:a.value,title:s.value.label},null,8,eA)])):r.value==="markdown"?(m(),v("div",tA,[X(jp,{content:w.value},null,8,["content"])])):(m(),v("div",nA,[Z[1]||(Z[1]=h("p",{class:"fv-note"},"该类型暂不支持预览,显示源码内容。",-1)),X(yl,{code:w.value,lang:F(Ed)(s.value.filePath)},null,8,["code","lang"])]))],64)):(m(),v("div",sA,[b.value?(m(),v("p",oA,"文件较大,仅显示前 256KB。")):U("",!0),X(yl,{code:w.value,lang:F(Ed)(s.value.filePath)},null,8,["code","lang"])]))])])):(m(),v("div",rA,"从工具卡片、文件浏览或消息中选择文件打开"))}}),aA=Te(iA,[["__scopeId","data-v-1f5a4490"]]),lA={class:"panel-head-row"},uA=["aria-expanded"],cA={class:"head-icon"},dA=["title"],fA={key:1,class:"head-hint"},hA={class:"head-tail"},pA={key:0,class:"head-count"},gA={class:"panel-body"},mA={key:0,class:"git-files"},vA=["title","onClick"],yA={class:"git-file-name"},bA={key:0,class:"git-file-dir"},kA={class:"git-file-base"},wA={key:0,class:"git-file-stat"},SA={key:0,class:"add"},_A={key:1,class:"del"},$A={key:2,class:"diff-body"},CA={key:3,class:"panel-empty"},xA={key:1,class:"diff-empty"},IA=8,Ad="scream-panel-git-open",TA=Ie({__name:"GitPanel",props:{gitStatus:{default:null}},emits:["refresh","diff"],setup(e,{emit:t}){const n=e,s=t,o={M:"M",A:"A",D:"D",R:"R",U:"U","??":"?","?":"?"},r={D:"danger",A:"success",R:"success",U:"danger","??":"warning","?":"warning"},i=O(!1),a=O(!0);try{a.value=localStorage.getItem(Ad)!=="0"}catch{}function l(){a.value=!a.value;try{localStorage.setItem(Ad,a.value?"1":"0")}catch{}}function u(){s("refresh")}const c=G(()=>{var g;const p=((g=n.gitStatus)==null?void 0:g.files)??[];return i.value?p:p.slice(0,IA)}),d=G(()=>{var p,g;return Math.max(0,(((g=(p=n.gitStatus)==null?void 0:p.files)==null?void 0:g.length)??0)-c.value.length)}),f=G(()=>{var S,k;const p=((S=n.gitStatus)==null?void 0:S.ahead)??0,g=((k=n.gitStatus)==null?void 0:k.behind)??0;if(!p&&!g)return"";const y=[];return p&&y.push(`↑${p}`),g&&y.push(`↓${g}`),` · ${y.join(" ")}`});return(p,g)=>{var y;return m(),v("section",{class:ue(["panel-section","git-panel",{"is-open":a.value}])},[h("div",lA,[h("button",{class:"panel-head","aria-expanded":a.value,onClick:l},[h("span",cA,[X(ce,{name:"git-branch",size:14})]),g[1]||(g[1]=h("span",{class:"head-title"},"Git 变更",-1)),e.gitStatus?(m(),v("span",{key:0,class:"head-hint",title:`${e.gitStatus.branch??"detached"}${f.value}`},C(e.gitStatus.branch??"detached")+C(f.value),9,dA)):(m(),v("span",fA,"状态不可用")),h("span",hA,[e.gitStatus?(m(),v("span",pA,C(e.gitStatus.changed),1)):U("",!0),X(ce,{class:ue(["chevron",{rotated:a.value}]),name:"chevron-down",size:14},null,8,["class"])])],8,uA),h("button",{class:"icon-btn",title:"刷新","aria-label":"刷新 Git 状态",onClick:u},[X(ce,{name:"refresh",size:14})])]),Ze(h("div",gA,[e.gitStatus?(m(),v(ne,{key:0},[c.value.length?(m(),v("ul",mA,[(m(!0),v(ne,null,Ce(c.value,S=>(m(),v("li",{key:S.path},[h("button",{class:"git-file",title:`查看 ${S.displayPath??S.path} 的 diff`,onClick:k=>s("diff",{path:S.path,display:S.displayPath??S.path,adds:S.adds,dels:S.dels})},[h("span",{class:ue(["git-file-status",r[S.status]??""])},C(o[S.status]??S.status),3),h("span",yA,[F(Cr)(S.displayPath??S.path).dir?(m(),v("span",bA,C(F(Cr)(S.displayPath??S.path).dir),1)):U("",!0),h("span",kA,C(F(Cr)(S.displayPath??S.path).base),1)]),S.adds!==void 0||S.dels!==void 0?(m(),v("span",wA,[S.adds?(m(),v("span",SA,"+"+C(S.adds),1)):U("",!0),S.dels?(m(),v("span",_A,"−"+C(S.dels),1)):U("",!0)])):U("",!0)],8,vA)]))),128))])):U("",!0),d.value?(m(),v("button",{key:1,class:"git-more",onClick:g[0]||(g[0]=S=>i.value=!i.value)},C(i.value?"收起列表":`显示全部 ${((y=e.gitStatus.files)==null?void 0:y.length)??0} 个文件`),1)):U("",!0),e.gitStatus.diffStat?(m(),v("pre",$A,C(e.gitStatus.diffStat),1)):c.value.length?U("",!0):(m(),v("div",CA,[X(ce,{name:"check",size:18}),g[2]||(g[2]=h("span",null,"工作区干净,没有变更",-1))]))],64)):(m(),v("div",xA,"读取 Git 状态失败,点右上角刷新重试。"))],512),[[Fr,a.value]])],2)}}}),qp=Te(TA,[["__scopeId","data-v-39f0d843"]]),EA={class:"goal-panel panel-section"},AA={class:"section-heading"},MA={class:"head-icon"},RA=["title"],PA={key:0,class:"head-tail"},LA={class:"panel-body"},DA={key:0,class:"empty-state"},NA=["disabled"],OA={class:"refine-row"},GA=["disabled"],BA={key:0},FA=["disabled"],UA={class:"budget-grid"},jA=["disabled"],zA=["disabled"],HA={class:"time-budget"},WA=["disabled"],qA=["disabled"],VA=["disabled"],KA={key:0,class:"goal-summary"},ZA={class:"objective"},YA={class:"criterion"},XA={key:0,class:"reason"},JA={class:"goal-metrics"},QA={class:"goal-metric"},eM={key:0,class:"bar"},tM={class:"goal-metric"},nM={key:0,class:"bar"},sM={class:"goal-metric"},oM={key:0,class:"bar"},rM={key:1,class:"budget-warning"},iM={key:2,class:"notes"},aM={class:"panel-actions"},lM=["disabled"],uM=["disabled"],cM=["disabled"],dM=["disabled"],fM=["disabled"],hM={class:"budget-grid"},pM=["disabled"],gM=["disabled"],mM={class:"time-budget"},vM=["disabled"],yM=["disabled"],bM={class:"edit-actions"},kM=["disabled"],wM=["disabled"],SM={key:3,class:"form-error"},_M={key:4,class:"pending-copy"},$M=Ie({__name:"GoalPanel",props:{goal:{},sessionId:{default:null},connectionStatus:{},busy:{type:Boolean,default:!1},archived:{type:Boolean,default:!1},pending:{type:Boolean,default:!1},error:{default:null},refineGoal:{},createGoal:{},updateGoal:{},pauseGoal:{},resumeGoal:{},cancelGoal:{}},setup(e){const t=e,n=O(""),s=O(""),o=O(""),r=O(""),i=O(""),a=O("minutes"),l=O(!1),u=O(null),c=O(!1),d=G(()=>t.connectionStatus==="connected"),f=G(()=>!t.sessionId||!d.value||t.archived||t.pending),p=G(()=>f.value),g=G(()=>{var I;return{active:"进行中",paused:"已暂停",blocked:"受阻",complete:"已完成"}[((I=t.goal)==null?void 0:I.status)??"active"]}),y=G(()=>t.sessionId?t.archived?"归档会话为只读状态":d.value?t.pending?"正在提交请求…":t.goal?"状态由核心事件实时同步":"创建后 Agent 将自动开始执行":"连接恢复后可继续管理":"选择或新建会话后即可配置");Se(()=>t.sessionId,()=>{l.value=!1,S()}),Se(()=>{var I;return(I=t.goal)==null?void 0:I.goalId},(I,M)=>{l.value=!1,I!==M&&S()});function S(){n.value="",s.value="",o.value="",r.value="",i.value="",a.value="minutes",c.value=!1,u.value=null}function k(I,M){const V=I.trim();if(!V)return null;const ie=Number(V);if(!Number.isSafeInteger(ie)||ie<=0){u.value=`${M}必须是正整数。`;return}return ie}function w(){u.value=null;const I=k(o.value,"轮次预算");if(I===void 0)return null;const M=k(r.value,"Token 预算");if(M===void 0)return null;const V=k(i.value,"时间预算");if(V===void 0)return null;const ie=[];return I!==null&&ie.push({value:I,unit:"turns"}),M!==null&&ie.push({value:M,unit:"tokens"}),V!==null&&ie.push({value:V,unit:a.value}),ie}async function b(){const I=n.value.trim();if(!I){u.value="请先输入需要优化的目标描述。";return}u.value=null,c.value=!1;const M=await t.refineGoal(I);M!==null&&(n.value=M,c.value=!0)}async function _(){const I=n.value.trim();if(!I){u.value="目标内容不能为空。";return}const M=w();if(M===null)return;await t.createGoal({objective:I,completionCriterion:s.value.trim()||void 0,replace:!1,budgets:M})&&(c.value=!1)}function B(I){I===null?(i.value="",a.value="minutes"):I%36e5===0?(i.value=String(I/36e5),a.value="hours"):I%6e4===0?(i.value=String(I/6e4),a.value="minutes"):I%1e3===0?(i.value=String(I/1e3),a.value="seconds"):(i.value=String(I),a.value="milliseconds")}function D(){const I=t.goal;I&&(n.value=I.objective,o.value=I.budget.turnBudget===null?"":String(I.budget.turnBudget),r.value=I.budget.tokenBudget===null?"":String(I.budget.tokenBudget),B(I.budget.wallClockBudgetMs),u.value=null,l.value=!0)}function E(I,M){return M==="hours"?I*36e5:M==="minutes"?I*6e4:M==="seconds"?I*1e3:I}async function A(){const I=t.goal;if(!I)return;const M=n.value.trim();if(!M){u.value="目标内容不能为空。";return}const V=w();if(V===null)return;const ie=k(o.value,"轮次预算"),me=k(r.value,"Token 预算"),_e=k(i.value,"时间预算");if(ie===void 0||me===void 0||_e===void 0)return;if(I.budget.turnBudget!==null&&ie===null){u.value="当前协议不支持清除已有轮次预算,请填写新的正整数。";return}if(I.budget.tokenBudget!==null&&me===null){u.value="当前协议不支持清除已有 Token 预算,请填写新的正整数。";return}if(I.budget.wallClockBudgetMs!==null&&_e===null){u.value="当前协议不支持清除已有时间预算,请填写新的正整数。";return}const he=V.filter(oe=>oe.unit==="turns"?oe.value!==I.budget.turnBudget:oe.unit==="tokens"?oe.value!==I.budget.tokenBudget:E(oe.value,oe.unit)!==I.budget.wallClockBudgetMs),ae=M===I.objective?void 0:M;if(ae===void 0&&he.length===0){u.value="目标与预算没有变化。";return}await t.updateGoal({objective:ae,budgets:he})&&(l.value=!1)}async function T(I){u.value=null,!(I==="cancel"&&!window.confirm("确定取消当前 Goal?当前 Goal 状态将被清除。"))&&(I==="pause"?await t.pauseGoal():I==="resume"?await t.resumeGoal():await t.cancelGoal())}function Z(I){return I.toLocaleString("zh-CN")}function W(I){if(I<1e3)return`${I} 毫秒`;const M=Math.floor(I/1e3);if(M<60)return`${M} 秒`;const V=Math.floor(M/3600),ie=Math.floor(M%3600/60);return V>0?`${V} 小时 ${ie} 分钟`:`${ie} 分钟`}function j(I,M){return M===null||M<=0?0:Math.min(100,Math.round(I/M*100))}function te(I){return new Date(I).toLocaleString("zh-CN",{month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}return(I,M)=>(m(),v("section",EA,[h("div",AA,[h("span",MA,[X(ce,{name:"target",size:14})]),M[15]||(M[15]=h("span",{class:"head-title"},"Goal 管理",-1)),h("span",{class:"head-hint",title:y.value},C(y.value),9,RA),e.goal?(m(),v("span",PA,[h("span",{class:ue(["status-pill",`is-${e.goal.status}`])},C(g.value),3)])):U("",!0)]),h("div",LA,[e.sessionId?e.goal?(m(),v(ne,{key:2},[l.value?(m(),v("form",{key:1,class:"goal-form edit-form",onSubmit:tt(A,["prevent"])},[h("label",null,[M[33]||(M[33]=h("span",null,"目标内容",-1)),Ze(h("textarea",{"onUpdate:modelValue":M[9]||(M[9]=V=>n.value=V),rows:"3",maxlength:"4000",disabled:f.value||e.busy},null,8,fM),[[it,n.value]])]),M[38]||(M[38]=h("div",{class:"budget-title"},[Ae("更新预算 "),h("small",null,"仅提交发生变化的预算")],-1)),h("div",hM,[h("label",null,[M[34]||(M[34]=h("span",null,"轮次",-1)),Ze(h("input",{"onUpdate:modelValue":M[10]||(M[10]=V=>o.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,pM),[[it,o.value]])]),h("label",null,[M[35]||(M[35]=h("span",null,"Token",-1)),Ze(h("input",{"onUpdate:modelValue":M[11]||(M[11]=V=>r.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,gM),[[it,r.value]])])]),h("div",mM,[h("label",null,[M[36]||(M[36]=h("span",null,"时间",-1)),Ze(h("input",{"onUpdate:modelValue":M[12]||(M[12]=V=>i.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:f.value||e.busy},null,8,vM),[[it,i.value]])]),Ze(h("select",{"onUpdate:modelValue":M[13]||(M[13]=V=>a.value=V),"aria-label":"时间预算单位",disabled:f.value||e.busy},[...M[37]||(M[37]=[h("option",{value:"minutes"},"分钟",-1),h("option",{value:"hours"},"小时",-1),h("option",{value:"seconds"},"秒",-1),h("option",{value:"milliseconds"},"毫秒",-1)])],8,yM),[[lc,a.value]])]),h("div",bM,[h("button",{type:"button",class:"secondary",disabled:e.pending,onClick:M[14]||(M[14]=V=>l.value=!1)},"返回",8,kM),h("button",{class:"primary small",type:"submit",disabled:f.value||e.busy},"保存修改",8,wM)])],32)):(m(),v("div",KA,[h("div",ZA,[M[26]||(M[26]=h("small",null,"目标",-1)),h("p",null,C(e.goal.objective),1)]),h("div",YA,[M[27]||(M[27]=h("small",null,"完成标准",-1)),h("p",null,C(e.goal.completionCriterion??"未设置,由 Agent 根据目标判断完成。"),1)]),e.goal.terminalReason?(m(),v("div",XA,[M[28]||(M[28]=h("strong",null,"状态原因",-1)),h("span",null,C(e.goal.terminalReason),1)])):U("",!0),h("dl",JA,[h("div",QA,[M[29]||(M[29]=h("dt",null,"轮次",-1)),h("dd",null,C(e.goal.turnsUsed)+" / "+C(e.goal.budget.turnBudget??"不限"),1),e.goal.budget.turnBudget!==null?(m(),v("i",eM,[h("i",{style:bt({width:`${j(e.goal.turnsUsed,e.goal.budget.turnBudget)}%`})},null,4)])):U("",!0)]),h("div",tM,[M[30]||(M[30]=h("dt",null,"Token",-1)),h("dd",null,C(Z(e.goal.tokensUsed))+" / "+C(e.goal.budget.tokenBudget===null?"不限":Z(e.goal.budget.tokenBudget)),1),e.goal.budget.tokenBudget!==null?(m(),v("i",nM,[h("i",{style:bt({width:`${j(e.goal.tokensUsed,e.goal.budget.tokenBudget)}%`})},null,4)])):U("",!0)]),h("div",sM,[M[31]||(M[31]=h("dt",null,"时间",-1)),h("dd",null,C(W(e.goal.wallClockMs))+" / "+C(e.goal.budget.wallClockBudgetMs===null?"不限":W(e.goal.budget.wallClockBudgetMs)),1),e.goal.budget.wallClockBudgetMs!==null?(m(),v("i",oM,[h("i",{style:bt({width:`${j(e.goal.wallClockMs,e.goal.budget.wallClockBudgetMs)}%`})},null,4)])):U("",!0)])]),e.goal.budget.overBudget?(m(),v("div",rM,"已达到或超过执行预算。")):U("",!0),e.goal.notes.length?(m(),v("details",iM,[h("summary",null,"工作记录("+C(e.goal.notes.length)+")",1),h("ol",null,[(m(!0),v(ne,null,Ce(e.goal.notes,V=>(m(),v("li",{key:`${V.time}-${V.content}`},[h("time",null,C(te(V.time)),1),h("span",null,C(V.content),1)]))),128))])])):U("",!0),h("div",aM,[e.goal.status!=="complete"?(m(),v("button",{key:0,class:"secondary",disabled:f.value||e.busy,onClick:D},[X(ce,{name:"edit",size:14}),M[32]||(M[32]=Ae("编辑",-1))],8,lM)):U("",!0),e.goal.status==="active"?(m(),v("button",{key:1,class:"secondary",disabled:f.value,onClick:M[6]||(M[6]=V=>T("pause"))},"暂停",8,uM)):U("",!0),e.goal.status==="paused"||e.goal.status==="blocked"?(m(),v("button",{key:2,class:"primary small",disabled:f.value||e.busy,onClick:M[7]||(M[7]=V=>T("resume"))},"继续",8,cM)):U("",!0),h("button",{class:"danger",disabled:f.value,onClick:M[8]||(M[8]=V=>T("cancel"))},"取消 Goal",8,dM)])]))],64)):(m(),v("form",{key:1,class:"goal-form",onSubmit:tt(_,["prevent"])},[h("label",null,[M[18]||(M[18]=h("span",null,"目标内容",-1)),Ze(h("textarea",{"onUpdate:modelValue":M[0]||(M[0]=V=>n.value=V),rows:"3",maxlength:"4000",placeholder:"描述希望 Agent 持续完成的目标",disabled:p.value},null,8,NA),[[it,n.value]])]),h("div",OA,[h("button",{type:"button",class:"secondary",disabled:p.value||!n.value.trim(),onClick:b},[X(ce,{name:"sparkles",size:15}),M[19]||(M[19]=Ae(" AI 优化 ",-1))],8,GA),c.value?(m(),v("small",BA,"已优化,请确认或继续编辑后再创建。")):U("",!0)]),h("label",null,[M[20]||(M[20]=h("span",null,[Ae("完成标准 "),h("small",null,"可选")],-1)),Ze(h("textarea",{"onUpdate:modelValue":M[1]||(M[1]=V=>s.value=V),rows:"2",placeholder:"例如:聚焦测试、类型检查与 Web 构建全部通过",disabled:p.value},null,8,FA),[[it,s.value]])]),M[25]||(M[25]=h("div",{class:"budget-title"},[Ae("执行预算 "),h("small",null,"留空表示不限制")],-1)),h("div",UA,[h("label",null,[M[21]||(M[21]=h("span",null,"轮次",-1)),Ze(h("input",{"onUpdate:modelValue":M[2]||(M[2]=V=>o.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,jA),[[it,o.value]])]),h("label",null,[M[22]||(M[22]=h("span",null,"Token",-1)),Ze(h("input",{"onUpdate:modelValue":M[3]||(M[3]=V=>r.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,zA),[[it,r.value]])])]),h("div",HA,[h("label",null,[M[23]||(M[23]=h("span",null,"时间",-1)),Ze(h("input",{"onUpdate:modelValue":M[4]||(M[4]=V=>i.value=V),type:"number",min:"1",step:"1",placeholder:"不限",disabled:p.value},null,8,WA),[[it,i.value]])]),Ze(h("select",{"onUpdate:modelValue":M[5]||(M[5]=V=>a.value=V),"aria-label":"时间预算单位",disabled:p.value},[...M[24]||(M[24]=[h("option",{value:"minutes"},"分钟",-1),h("option",{value:"hours"},"小时",-1),h("option",{value:"seconds"},"秒",-1),h("option",{value:"milliseconds"},"毫秒",-1)])],8,qA),[[lc,a.value]])]),h("button",{class:"primary",type:"submit",disabled:p.value||!n.value.trim()},C(e.pending?"正在创建…":"创建并开始执行"),9,VA)],32)):(m(),v("div",DA,[X(ce,{name:"target",size:18}),M[16]||(M[16]=h("span",null,"暂无会话",-1)),M[17]||(M[17]=h("small",null,"选择或新建会话后即可配置目标。",-1))])),u.value||e.error?(m(),v("p",SM,C(u.value??e.error),1)):e.pending?(m(),v("p",_M,"请求处理中,状态将在核心事件到达后同步。")):U("",!0)])]))}}),Vp=Te($M,[["__scopeId","data-v-cf530861"]]),CM={class:"nsm-body"},xM={class:"nsm-section"},IM=["placeholder"],TM={key:0,class:"nsm-error"},EM={key:1,class:"nsm-recents"},AM=["title","onClick"],MM={class:"nsm-section"},RM={class:"nsm-models",role:"radiogroup","aria-label":"选择模型"},PM=["aria-checked"],LM=["aria-checked","onClick"],DM={class:"nsm-model-name"},NM={class:"nsm-model-alias"},OM=Ie({__name:"NewSessionModal",props:{open:{type:Boolean},models:{},recentWorkDirs:{},defaultDir:{},currentModel:{}},emits:["close","confirm"],setup(e,{emit:t}){const n=e,s=t,o=O(n.defaultDir),r=O(n.currentModel||null);Se(()=>n.open,c=>{c&&(o.value=n.defaultDir,r.value=n.currentModel||null)},{immediate:!0});const i=G(()=>{const c=o.value.trim();return c?c.startsWith("/"):!0}),a=G(()=>o.value.trim()&&!i.value?"请输入绝对路径(如 /home/user/projects)":"");function l(c){o.value=c}function u(){const c=o.value.trim();s("confirm",{workDir:c||null,model:r.value})}return(c,d)=>(m(),De(Vl,{open:e.open,title:"新建会话","max-width":"480px",onClose:d[3]||(d[3]=f=>s("close"))},{footer:ot(()=>[X(Ht,{variant:"ghost",onClick:d[2]||(d[2]=f=>s("close"))},{default:ot(()=>[...d[7]||(d[7]=[Ae("取消",-1)])]),_:1}),X(Ht,{variant:"primary",disabled:!i.value,onClick:u},{default:ot(()=>[...d[8]||(d[8]=[Ae("进入新会话",-1)])]),_:1},8,["disabled"])]),default:ot(()=>[h("div",CM,[h("section",xM,[d[4]||(d[4]=h("div",{class:"nsm-label"},"工作区",-1)),Ze(h("input",{"onUpdate:modelValue":d[0]||(d[0]=f=>o.value=f),class:ue(["nsm-input",{"is-invalid":!!a.value}]),type:"text",spellcheck:"false",placeholder:e.defaultDir||"服务器默认工作区"},null,10,IM),[[it,o.value]]),a.value?(m(),v("div",TM,C(a.value),1)):U("",!0),e.recentWorkDirs.length?(m(),v("div",EM,[(m(!0),v(ne,null,Ce(e.recentWorkDirs,f=>(m(),v("button",{key:f,type:"button",class:ue(["nsm-recent",{"is-active":o.value===f}]),title:f,onClick:p=>l(f)},C(f.split("/").filter(Boolean).pop()||f),11,AM))),128))])):U("",!0)]),h("section",MM,[d[6]||(d[6]=h("div",{class:"nsm-label"},"模型",-1)),h("div",RM,[h("button",{type:"button",class:ue(["nsm-model",{"is-active":r.value===null}]),role:"radio","aria-checked":r.value===null,onClick:d[1]||(d[1]=f=>r.value=null)},[...d[5]||(d[5]=[h("span",{class:"nsm-model-name"},"跟随服务器默认",-1)])],10,PM),(m(!0),v(ne,null,Ce(e.models,f=>(m(),v("button",{key:f.alias,type:"button",class:ue(["nsm-model",{"is-active":r.value===f.alias}]),role:"radio","aria-checked":r.value===f.alias,onClick:p=>r.value=f.alias},[h("span",DM,C(f.displayName||f.model),1),h("span",NM,C(f.provider)+"/"+C(f.model),1)],10,LM))),128))])])])]),_:1},8,["open"]))}}),GM=Te(OM,[["__scopeId","data-v-7bb09c54"]]),BM={class:"panel-section like-section"},FM={class:"section-heading"},UM={class:"head-icon"},jM={class:"panel-body"},zM={class:"kv-rows"},HM={class:"dialog"},WM=["onUpdate:modelValue","placeholder"],qM={key:0,class:"dialog-error"},VM={class:"dialog-actions"},KM=["disabled"],ZM=Ie({__name:"LikePanel",props:{like:{},updateLike:{type:Function}},setup(e){const t=e,n=O(!1),s=O(!1),o=O(""),r=O({}),i=[{key:"nickname",label:"昵称",placeholder:"用户称呼,如:老板"},{key:"tone",label:"语气",placeholder:"AI 风格,如:专业不拖沓"},{key:"other",label:"偏好",placeholder:"其他用户偏好"},{key:"doNot",label:"禁止",placeholder:"用户明确不让做的事"}];function a(){r.value={...t.like},o.value="",n.value=!0}async function l(){s.value=!0,o.value="";const u=await t.updateLike(r.value);s.value=!1,u?n.value=!1:o.value="保存失败"}return(u,c)=>(m(),v("section",BM,[h("div",FM,[h("span",UM,[X(ce,{name:"settings",size:14})]),c[2]||(c[2]=h("span",{class:"head-title"},"偏好设置",-1)),c[3]||(c[3]=h("span",{class:"head-hint"},"/like 用户偏好",-1))]),h("div",jM,[h("dl",zM,[(m(),v(ne,null,Ce(i,d=>h("div",{key:d.key,class:"kv-row"},[h("dt",null,C(d.label),1),h("dd",null,C((e.like[d.key]??"").trim()||"未设置"),1)])),64))]),h("div",{class:"panel-actions"},[h("button",{class:"like-edit",onClick:a},"编辑偏好")])]),n.value?(m(),v("div",{key:0,class:"dialog-overlay",onClick:c[1]||(c[1]=tt(d=>n.value=!1,["self"]))},[h("div",HM,[c[4]||(c[4]=h("div",{class:"dialog-title"},"编辑用户偏好",-1)),(m(),v(ne,null,Ce(i,d=>h("label",{key:d.key,class:"dialog-field"},[h("span",null,C(d.label),1),Ze(h("input",{"onUpdate:modelValue":f=>r.value[d.key]=f,placeholder:d.placeholder},null,8,WM),[[it,r.value[d.key]]])])),64)),o.value?(m(),v("div",qM,C(o.value),1)):U("",!0),h("div",VM,[h("button",{onClick:c[0]||(c[0]=d=>n.value=!1)},"取消"),h("button",{disabled:s.value,onClick:l},C(s.value?"保存中…":"确认"),9,KM)])])])):U("",!0)]))}}),Kp=Te(ZM,[["__scopeId","data-v-2eac026c"]]),YM=["aria-expanded"],XM={class:"head-icon"},JM={class:"head-hint"},QM={class:"head-tail"},eR=["title"],tR={class:"panel-body"},nR={class:"stat-grid"},sR={class:"stat"},oR={class:"stat"},rR=["title"],iR={key:1,class:"faint"},aR={class:"stat wide"},lR={class:"mono"},Md="scream-panel-runstatus-open",uR=Ie({__name:"RunStatusPanel",props:{status:{},busy:{type:Boolean,default:!1},connectionStatus:{}},setup(e){const t=e,n=O(!0);try{n.value=localStorage.getItem(Md)!=="0"}catch{}function s(){n.value=!n.value;try{localStorage.setItem(Md,n.value?"1":"0")}catch{}}const o=G(()=>{const a=t.status.contextUsage;return a===void 0?null:Math.round((a>1?a/100:a)*100)}),r=G(()=>{var a,l;return`Tokens: ${((a=t.status.contextTokens)==null?void 0:a.toLocaleString())??"-"} / ${((l=t.status.maxContextTokens)==null?void 0:l.toLocaleString())??"-"}`}),i=G(()=>({connected:"已连接",connecting:"连接中",reconnecting:"重连中",disconnected:"已断开",idle:"空闲"})[t.connectionStatus]??"空闲");return Se(()=>t.busy,()=>{t.busy&&!n.value&&(n.value=!0)}),(a,l)=>{var u,c;return m(),v("section",{class:ue(["panel-section","run-status",{"is-open":n.value}])},[h("button",{class:"panel-head","aria-expanded":n.value,onClick:s},[h("span",XM,[X(ce,{name:"activity",size:14})]),l[0]||(l[0]=h("span",{class:"head-title"},"运行状态",-1)),h("span",JM,C(e.busy?"正在处理会话":"已就绪,等待任务"),1),h("span",QM,[h("span",{class:ue(["head-dot",{busy:e.busy}]),title:e.busy?"Agent 正在处理":"空闲"},null,10,eR),X(ce,{class:ue(["chevron",{rotated:n.value}]),name:"chevron-down",size:14},null,8,["class"])])],8,YM),Ze(h("div",tR,[h("dl",nR,[h("div",sR,[l[1]||(l[1]=h("dt",null,"连接",-1)),h("dd",null,[h("span",{class:ue(["conn-dot",e.connectionStatus]),"aria-hidden":"true"},null,2),h("span",{class:ue(["conn",e.connectionStatus])},C(i.value),3)])]),h("div",oR,[l[2]||(l[2]=h("dt",null,"上下文占用",-1)),o.value!==null?(m(),v("dd",{key:0,title:r.value},[X(bh,{usage:e.status.contextUsage,size:14},null,8,["usage"]),Ae(C(o.value)+"% ",1)],8,rR)):(m(),v("dd",iR,"未知"))]),h("div",aR,[l[3]||(l[3]=h("dt",null,"Token(输入 / 上限)",-1)),h("dd",lR,C(((u=e.status.contextTokens)==null?void 0:u.toLocaleString())??"-")+" / "+C(((c=e.status.maxContextTokens)==null?void 0:c.toLocaleString())??"-"),1)])])],512),[[Fr,n.value]])],2)}}}),Zp=Te(uR,[["__scopeId","data-v-59b0c4e7"]]),cR={class:"todo-panel panel-section"},dR={class:"section-heading"},fR={class:"head-icon"},hR={class:"head-hint"},pR={class:"head-tail"},gR={class:"head-count"},mR={key:0,class:"panel-body"},vR={class:"empty-state"},yR={key:1,class:"panel-body"},bR={class:"progress-row"},kR={class:"bar","aria-hidden":"true"},wR={class:"progress-value"},SR=["title"],_R={class:"todo-title"},$R=Ie({__name:"TodoPanel",props:{todos:{}},setup(e){const t=e,n=G(()=>iy(t.todos)),s=G(()=>t.todos.filter(u=>u.status==="done").length),o=G(()=>t.todos.filter(u=>u.status==="in_progress").length),r=G(()=>t.todos.filter(u=>u.status==="pending").length),i=G(()=>t.todos.length?Math.round(s.value/t.todos.length*100):0),a=G(()=>{if(!t.todos.length)return"直接来自 Agent 核心状态";if(s.value===t.todos.length)return"全部完成";const u=[];return o.value&&u.push(`进行中 ${o.value}`),r.value&&u.push(`待处理 ${r.value}`),u.join(" · ")||"直接来自 Agent 核心状态"}),l={pending:{label:"待处理",symbol:"○"},in_progress:{label:"进行中",symbol:"●"},done:{label:"已完成",symbol:"✓"}};return(u,c)=>(m(),v("section",cR,[h("div",dR,[h("span",fR,[X(ce,{name:"clipboard",size:14})]),c[0]||(c[0]=h("span",{class:"head-title"},"核心 Todo",-1)),h("span",hR,C(a.value),1),h("span",pR,[h("span",gR,C(s.value)+"/"+C(e.todos.length),1)])]),e.todos.length===0?(m(),v("div",mR,[h("div",vR,[X(ce,{name:"check",size:18}),c[1]||(c[1]=h("span",null,"暂无 Todo",-1)),c[2]||(c[2]=h("small",null,"Agent 创建任务清单后会在这里实时显示。",-1))])])):(m(),v("div",yR,[h("div",bR,[h("i",kR,[h("i",{style:bt({width:`${i.value}%`})},null,4)]),h("span",wR,C(i.value)+"%",1)]),(m(!0),v(ne,null,Ce(n.value,(d,f)=>(m(),v("section",{key:d.phase??`unphased-${f}`,class:"todo-group"},[h("h4",null,C(d.phase??"未分阶段"),1),h("ol",null,[(m(!0),v(ne,null,Ce(d.items,(p,g)=>(m(),v("li",{key:`${f}-${g}-${p.title}`,class:ue(`is-${p.status}`)},[h("span",{class:"status-symbol",title:l[p.status].label},C(l[p.status].symbol),9,SR),h("span",_R,C(p.title),1),h("small",null,C(l[p.status].label),1)],2))),128))])]))),128))]))]))}}),Yp=Te($R,[["__scopeId","data-v-6a025f22"]]),CR={class:"detail-view"},xR={class:"git-diff-head"},IR=["title"],TR={class:"git-diff-tools"},ER={key:0,class:"git-diff-stat"},AR={key:0,class:"add"},MR={key:1,class:"del"},RR={key:0,class:"git-diff-body"},PR={key:1,class:"git-diff-empty"},LR=Ie({__name:"SessionDetailView",props:{client:{}},setup(e){const t=e,n=O(null),s=O(null);let o=0;async function r(E){var W,j,te;const A=++o,T=t.client.currentSessionId.value??t.client.sessionId.value;n.value={...E,lines:[],loading:!0};try{const I=new URLSearchParams({path:E.path});T&&I.set("sessionId",T);const V=await(await fetch(`/api/v1/git/diff?${I.toString()}`)).json();if(A!==o||T!==(t.client.currentSessionId.value??t.client.sessionId.value))return;const ie=Hp(V.patch??""),me=E.adds??(E.dels===void 0?ie.filter(_e=>_e.type==="add").length:void 0);n.value={...E,adds:me,lines:ie,loading:!1}}catch{if(A!==o)return;n.value={...E,lines:[],loading:!1}}await Fe();const Z=((j=(W=globalThis.window)==null?void 0:W.matchMedia)==null?void 0:j.call(W,"(prefers-reduced-motion: reduce)").matches)===!0;(te=s.value)==null||te.scrollIntoView({block:"start",behavior:Z?"auto":"smooth"})}Se(()=>t.client.currentSessionId.value??t.client.sessionId.value,()=>{o++,n.value=null});const{connectionStatus:i,status:a,sessionId:l,isBusy:u,isArchived:c,goal:d,todos:f,goalRequestPending:p,goalRequestError:g,like:y,gitStatus:S,refineGoal:k,createGoal:w,updateGoal:b,pauseGoal:_,resumeGoal:B,cancelGoal:D}=t.client;return(E,A)=>(m(),v("div",CR,[X(Zp,{status:F(a),busy:F(u),"connection-status":F(i)},null,8,["status","busy","connection-status"]),X(qp,{"git-status":F(S),onRefresh:A[0]||(A[0]=T=>t.client.fetchGitStatus()),onDiff:r},null,8,["git-status"]),n.value?(m(),v("div",{key:0,ref_key:"diffRef",ref:s,class:"git-diff-view"},[h("div",xR,[h("span",{class:"git-diff-title",title:n.value.path},C(n.value.loading?"加载中…":n.value.display),9,IR),h("span",TR,[!n.value.loading&&(n.value.adds||n.value.dels)?(m(),v("span",ER,[n.value.adds?(m(),v("span",AR,"+"+C(n.value.adds),1)):U("",!0),n.value.dels?(m(),v("span",MR,"−"+C(n.value.dels),1)):U("",!0)])):U("",!0),h("button",{class:"git-diff-close",title:"关闭 diff","aria-label":"关闭 diff",onClick:A[1]||(A[1]=T=>n.value=null)},"✕")])]),n.value.lines.length?(m(),v("div",RR,[X(wu,{lines:n.value.lines},null,8,["lines"])])):n.value.loading?U("",!0):(m(),v("p",PR,"该文件无差异内容(可能是二进制文件或已被忽略)。"))],512)):U("",!0),X(Yp,{todos:F(f)},null,8,["todos"]),X(Kp,{like:F(y),"update-like":t.client.updateLike},null,8,["like","update-like"]),X(Vp,{goal:F(d),"session-id":F(l),"connection-status":F(i),busy:F(u),archived:F(c),pending:F(p),error:F(g),"refine-goal":F(k),"create-goal":F(w),"update-goal":F(b),"pause-goal":F(_),"resume-goal":F(B),"cancel-goal":F(D)},null,8,["goal","session-id","connection-status","busy","archived","pending","error","refine-goal","create-goal","update-goal","pause-goal","resume-goal","cancel-goal"])]))}}),DR=Te(LR,[["__scopeId","data-v-f2bcdf8d"]]),NR={class:"session-controls","aria-label":"会话控制"},OR={class:"controls-head"},GR={class:"controls-heading"},BR={class:"controls-icon"},FR=["disabled"],UR={class:"controls-body"},jR={class:"control-group","aria-label":"计划模式"},zR={class:"group-label"},HR={key:0,class:"mode-state"},WR={class:"segmented",role:"group","aria-label":"计划模式"},qR=["aria-pressed","disabled"],VR=["aria-pressed","disabled"],KR=["aria-pressed","disabled"],ZR=["disabled"],YR={class:"control-group","aria-label":"并行与递归模式"},XR={class:"switch-row"},JR=["checked","disabled"],QR={class:"switch-row"},e2=["checked","disabled"],t2={key:0,class:"depth-field"},n2=["disabled"],s2=["disabled"],o2={class:"control-group control-group--actions","aria-label":"会话操作"},r2=["disabled"],i2=["disabled"],a2=Ie({__name:"SessionControlsPanel",props:{client:{}},setup(e){const t=e,{showToast:n}=Qs(),s=O(!1),o=O("0");let r=0;const i=G(()=>t.client.sessionId.value!==null),a=G(()=>t.client.isArchived.value),l=G(()=>t.client.isBusy.value),u=G(()=>i.value?a.value?"当前会话已归档,仅可查看记录":t.client.connectionStatus.value!=="connected"?"连接恢复后可调整控制项":l.value?"当前回合结束后可调整控制项":"":"打开会话后可调整控制项"),c=G(()=>!!u.value||s.value),d=G(()=>t.client.status.value.planMode===!0),f=G(()=>{var E;return t.client.status.value.planStrategy??((E=t.client.sessionPlan.value)==null?void 0:E.strategy)??"normal"});async function p(){if(!i.value||a.value||t.client.connectionStatus.value!=="connected")return;await Promise.all([t.client.fetchSessionStatus(),t.client.fetchSessionPlan()]);const E=t.client.status.value.rlmMaxDepth;o.value=E==null?"0":String(E)}async function g(E,A){if(c.value)return;const T=r;s.value=!0;try{await E()&&T===r&&await(A==null?void 0:A())}finally{if(T!==r)return;await p(),s.value=!1}}function y(E,A){g(()=>t.client.switchPlanMode(E,A))}function S(E){const A=E.currentTarget.checked;g(()=>t.client.switchWolfpack(A))}function k(){const E=String(o.value).trim();return/^\d+$/.test(E)?Number(E):(n("RLM 深度需为 0 或正整数","warning"),null)}function w(E){const A=E.currentTarget.checked;g(()=>t.client.switchRlm(A))}function b(){const E=k();if(E===null)return;const A=t.client.status.value.rlmEnabled??!0;g(()=>t.client.switchRlm(A,E))}function _(){g(()=>t.client.clearPlan())}function B(){g(()=>t.client.undoHistory(),async()=>{await t.client.fetchSnapshot()})}function D(){g(()=>t.client.compact())}return et(()=>{p()}),Se(()=>t.client.sessionId.value,()=>{r++,s.value=!1,o.value="0",p()}),(E,A)=>(m(),v("section",NR,[h("header",OR,[h("div",GR,[h("span",BR,[X(ce,{name:"wrench",size:16})]),h("div",null,[A[4]||(A[4]=h("h2",null,"会话控制",-1)),h("p",null,C(u.value||"已就绪"),1)])]),h("button",{class:"icon-button",title:"刷新会话状态","aria-label":"刷新会话状态",disabled:s.value||!i.value||a.value,onClick:p},[X(ce,{name:"refresh",size:15})],8,FR)]),h("div",UR,[h("section",jR,[h("div",zR,[A[5]||(A[5]=h("span",null,"计划",-1)),d.value?(m(),v("span",HR,C(f.value==="fusion"?"融合":"标准"),1)):U("",!0)]),h("div",WR,[h("button",{class:ue({active:!d.value}),"aria-pressed":!d.value,disabled:c.value,onClick:A[0]||(A[0]=T=>y(!1))},"关闭",10,qR),h("button",{class:ue({active:d.value&&f.value==="normal"}),"aria-pressed":d.value&&f.value==="normal",disabled:c.value,onClick:A[1]||(A[1]=T=>y(!0,"normal"))},"计划",10,VR),h("button",{class:ue({active:d.value&&f.value==="fusion"}),"aria-pressed":d.value&&f.value==="fusion",disabled:c.value,onClick:A[2]||(A[2]=T=>y(!0,"fusion"))},"融合",10,KR)]),t.client.sessionPlan.value?(m(),v("button",{key:0,class:"text-action",disabled:c.value,onClick:_},[X(ce,{name:"broom",size:14}),A[6]||(A[6]=Ae(" 清除计划 ",-1))],8,ZR)):U("",!0)]),h("section",YR,[h("label",XR,[A[7]||(A[7]=h("span",null,[h("strong",null,"Wolfpack"),h("small",null,"并行协作")],-1)),h("input",{type:"checkbox",checked:t.client.status.value.wolfpackMode===!0,disabled:c.value,onChange:S},null,40,JR),A[8]||(A[8]=h("i",{"aria-hidden":"true"},null,-1))]),A[12]||(A[12]=h("div",{class:"rule"},null,-1)),h("label",QR,[A[9]||(A[9]=h("span",null,[h("strong",null,"RLM"),h("small",null,"持久 Python")],-1)),h("input",{type:"checkbox",checked:t.client.status.value.rlmEnabled===!0,disabled:c.value,onChange:w},null,40,e2),A[10]||(A[10]=h("i",{"aria-hidden":"true"},null,-1))]),t.client.status.value.rlmEnabled?(m(),v("label",t2,[A[11]||(A[11]=h("span",null,"最大深度",-1)),h("div",null,[Ze(h("input",{"onUpdate:modelValue":A[3]||(A[3]=T=>o.value=T),inputmode:"numeric",min:"0",type:"number",disabled:c.value,"aria-label":"RLM 最大深度"},null,8,n2),[[it,o.value]]),h("button",{title:"保存 RLM 最大深度","aria-label":"保存 RLM 最大深度",disabled:c.value,onClick:b},[X(ce,{name:"check",size:14})],8,s2)])])):U("",!0)]),h("section",o2,[h("button",{class:"command-action",disabled:c.value,onClick:D},[X(ce,{name:"compact",size:16}),A[13]||(A[13]=h("span",null,"压缩上下文",-1))],8,r2),h("button",{class:"command-action danger",disabled:c.value,onClick:B},[X(ce,{name:"broom",size:16}),A[14]||(A[14]=h("span",null,"撤销上一轮",-1))],8,i2)])])]))}}),l2=Te(a2,[["__scopeId","data-v-0ca4191d"]]),u2={class:"subagents-panel","aria-label":"协作代理"},c2={class:"agents-head"},d2={class:"agents-heading"},f2={class:"agents-icon"},h2={role:"status","aria-live":"polite"},p2=["aria-label"],g2={class:"agents-body"},m2={key:0,class:"agents-empty"},v2={key:1,class:"agent-list"},y2={class:"agent-row-head"},b2={class:"agent-title"},k2={key:0,class:"background-badge"},w2={key:1,class:"agent-description"},S2={key:0,class:"agent-result error"},_2={key:1,class:"agent-result"},$2={key:2,class:"agent-meta"},C2={key:0},x2={key:1},I2={key:2},T2={key:3},E2=Ie({__name:"SubagentPanel",props:{subagents:{}},setup(e){const t=e,n=G(()=>t.subagents.filter(a=>a.state==="spawning"||a.state==="running").length);function s(a){return a.state==="spawning"?a.runInBackground?"后台排队":"准备中":a.state==="running"?a.runInBackground?"后台运行":"运行中":a.state==="completed"?"已完成":"失败"}function o(a){return a===void 0||a<0?null:a<1e3?"< 1 秒":a<6e4?`${(a/1e3).toFixed(a<1e4?1:0)} 秒`:`${Math.floor(a/6e4)} 分 ${Math.round(a%6e4/1e3)} 秒`}function r(a){const l=a.usage;return l?l.inputOther+l.output+l.inputCacheRead+l.inputCacheCreation:null}function i(a){return a.toLocaleString()}return(a,l)=>(m(),v("section",u2,[h("header",c2,[h("div",d2,[h("span",f2,[X(ce,{name:"bot",size:16})]),h("div",null,[l[0]||(l[0]=h("h2",null,"协作代理",-1)),h("p",h2,C(n.value>0?`${n.value} 个正在执行`:"最近的子代理执行记录"),1)])]),n.value>0?(m(),v("span",{key:0,class:"active-count","aria-label":`${n.value} 个代理正在执行`},C(n.value),9,p2)):U("",!0)]),h("div",g2,[e.subagents.length===0?(m(),v("p",m2,"当前会话还没有子代理活动")):(m(),v("ol",v2,[(m(!0),v(ne,null,Ce(e.subagents,u=>(m(),v("li",{key:u.subagentId,class:"agent-row"},[h("div",y2,[h("span",{class:ue(["agent-mark",u.state]),"aria-hidden":"true"},[X(ce,{name:u.state==="failed"?"x":u.state==="completed"?"check":"bot",size:14},null,8,["name"])],2),h("div",b2,[h("strong",null,C(u.name),1),u.runInBackground?(m(),v("span",k2,"后台")):U("",!0),u.description?(m(),v("span",w2,C(u.description),1)):U("",!0)]),h("span",{class:ue(["agent-state",u.state])},C(s(u)),3)]),u.error?(m(),v("p",S2,C(u.error),1)):u.resultSummary?(m(),v("p",_2,C(u.resultSummary),1)):U("",!0),u.turns||u.toolCallCount||o(u.durationMs)||r(u)!==null?(m(),v("dl",$2,[u.turns?(m(),v("div",C2,[l[1]||(l[1]=h("dt",null,"回合",-1)),h("dd",null,C(u.turns),1)])):U("",!0),u.toolCallCount?(m(),v("div",x2,[l[2]||(l[2]=h("dt",null,"工具",-1)),h("dd",null,C(u.toolCallCount),1)])):U("",!0),o(u.durationMs)?(m(),v("div",I2,[l[3]||(l[3]=h("dt",null,"耗时",-1)),h("dd",null,C(o(u.durationMs)),1)])):U("",!0),r(u)!==null?(m(),v("div",T2,[l[4]||(l[4]=h("dt",null,"Token",-1)),h("dd",null,C(i(r(u))),1)])):U("",!0)])):U("",!0)]))),128))]))])]))}}),A2=Te(E2,[["__scopeId","data-v-7f938bff"]]),M2={class:"settings"},R2={class:"settings-layout"},P2={class:"rail","aria-label":"设置分区"},L2=["aria-current","onClick"],D2={class:"pane"},N2={key:0,class:"pane-section"},O2={class:"block"},G2={class:"theme-grid",role:"radiogroup","aria-label":"主题"},B2=["aria-checked","onClick"],F2={class:"block"},U2={class:"like-fields"},j2={class:"like-label"},z2=["onUpdate:modelValue","placeholder","aria-label"],H2={class:"like-actions"},W2={key:0,class:"saved-hint"},q2={key:1,class:"pane-section"},V2={key:0,class:"notice-bar"},K2={key:1,class:"error-row",role:"alert"},Z2={class:"error-text"},Y2={key:2,class:"empty"},X2={key:3,class:"list"},J2={class:"row-main"},Q2={class:"row-title"},eP={class:"row-sub"},tP=["disabled","onClick"],nP={key:2,class:"pane-section"},sP={key:0,class:"empty"},oP={key:1,class:"list"},rP={class:"row-main"},iP={class:"row-title"},aP={class:"row-sub"},lP={class:"row-actions"},uP=["disabled","onClick"],cP=["disabled","onClick"],dP={key:3,class:"pane-section"},fP={class:"block"},hP={class:"inline-form"},pP={key:0,class:"hint"},gP={key:0,class:"empty"},mP={key:1,class:"list"},vP={class:"row-main"},yP={class:"row-title"},bP={key:0,class:"version"},kP={class:"row-sub"},wP=["disabled","onClick"],SP={key:4,class:"pane-section"},_P={key:0,class:"hint"},$P={key:1,class:"empty"},CP={key:2,class:"list"},xP={class:"row-main"},IP={class:"row-title"},TP={class:"row-sub"},EP={class:"row-actions"},AP=["disabled","onClick"],MP=["disabled","onClick"],RP=["disabled","onClick"],PP={key:5,class:"pane-section"},LP={class:"task-title-row"},DP={key:0,class:"hint"},NP={key:1,class:"empty"},OP={key:2,class:"list"},GP={class:"row-main"},BP={class:"row-title"},FP={class:"row-sub"},UP={class:"row-actions"},jP=["disabled","onClick"],zP=["disabled","onClick"],HP={key:3,class:"task-inspector","aria-label":"任务输出"},WP={class:"task-inspector-head"},qP=["title"],VP={class:"task-inspector-actions"},KP=["disabled"],ZP={key:0,class:"task-output"},YP={key:1,class:"task-output-empty"},XP={class:"task-meta"},JP={key:0},QP={key:1},eL=Ie({__name:"SettingsView",props:{like:{default:()=>({})},client:{}},emits:["update-like"],setup(e,{emit:t}){const n=e,s=t;function o(R){return R!==null&&typeof R=="object"&&R.__v_isRef===!0?R.value:R}const r=[{id:"general",label:"通用",icon:"settings"},{id:"models",label:"模型",icon:"bot"},{id:"skills",label:"技能",icon:"sparkles"},{id:"plugins",label:"插件",icon:"layers"},{id:"mcp",label:"MCP 服务器",icon:"monitor"},{id:"tasks",label:"后台任务",icon:"activity"}],i=O("general"),a=G(()=>n.client),l=In("theme",O("system")),u=In("setTheme",()=>{}),c=[{id:"light",label:"浅色",icon:"sun"},{id:"dark",label:"深色",icon:"moon"},{id:"system",label:"跟随系统",icon:"monitor"}],d=O({...n.like}),f=O(!1);Se(()=>n.like,R=>{d.value={...R}});const p=[{key:"nickname",label:"称呼",hint:"AI 如何称呼你"},{key:"tone",label:"语气",hint:"回复的语气风格"},{key:"other",label:"偏好",hint:"其他偏好说明"},{key:"doNot",label:"禁止事项",hint:"明确禁止的行为"}];function g(){s("update-like",y()),f.value=!0,setTimeout(()=>f.value=!1,1500)}function y(){const R={};for(const K of p){const N=d.value[K.key];typeof N=="string"&&N.trim()&&(R[K.key]=N.trim())}return R}const S=G(()=>{var R;return o((R=a.value)==null?void 0:R.models)??[]}),k=G(()=>{var R,K;return((K=o((R=a.value)==null?void 0:R.status))==null?void 0:K.model)??""}),w=G(()=>{var R;return o((R=a.value)==null?void 0:R.modelsError)??""}),b=G(()=>{var R;return!!o((R=a.value)==null?void 0:R.currentSessionId)});function _(){var R,K;(K=(R=a.value)==null?void 0:R.fetchModels)==null||K.call(R)}function B(R){var K,N;(N=(K=a.value)==null?void 0:K.switchModel)==null||N.call(K,R)}const D=G(()=>{var R;return o((R=a.value)==null?void 0:R.skills)??[]}),E=O(!1);async function A(R){var K,N,Q,$;E.value=!0;try{await((N=(K=a.value)==null?void 0:K.activateSkill)==null?void 0:N.call(K,R))&&await(($=(Q=a.value)==null?void 0:Q.fetchSkills)==null?void 0:$.call(Q))}finally{E.value=!1}}async function T(R){var N,Q,$,H;if(!window.confirm(`移除技能「${R}」?`))return;await((Q=(N=a.value)==null?void 0:N.removeSkill)==null?void 0:Q.call(N,R))&&await((H=($=a.value)==null?void 0:$.fetchSkills)==null?void 0:H.call($))}const Z=G(()=>{var R;return o((R=a.value)==null?void 0:R.plugins)??[]}),W=O(!1);async function j(R,K){var N,Q,$,H;W.value=!0;try{await((Q=(N=a.value)==null?void 0:N.setPluginEnabled)==null?void 0:Q.call(N,R,K))&&await((H=($=a.value)==null?void 0:$.fetchPlugins)==null?void 0:H.call($))}finally{W.value=!1}}const te=O(""),I=O(!1),M=O("");async function V(){var K,N;const R=te.value.trim();if(R){I.value=!0,M.value="";try{const Q=await((N=(K=a.value)==null?void 0:K.installPlugin)==null?void 0:N.call(K,R));M.value=Q?`已安装 ${Q.displayName}`:"安装失败",Q&&(te.value="")}finally{I.value=!1}}}const ie=G(()=>{var R;return o((R=a.value)==null?void 0:R.mcpServers)??[]}),me=O(!1),_e=O("");async function he(R,K){var N,Q,$,H;me.value=!0,_e.value="";try{const q=await((Q=(N=a.value)==null?void 0:N[R])==null?void 0:Q.call(N,K));_e.value=q?"操作成功":"操作失败",await((H=($=a.value)==null?void 0:$.fetchMcpServers)==null?void 0:H.call($))}finally{me.value=!1}}const ae=G(()=>{var R;return o((R=a.value)==null?void 0:R.backgroundTasks)??[]}),pe=O(""),oe=O(!1),ge=O(""),$e=O(null),Ne=O(!1);let Ue=0,Ke=null;const Ye=G(()=>$e.value?ae.value.find(R=>R.taskId===$e.value)??null:null),rt=G(()=>ae.value.some(R=>R.status==="running"||R.status==="awaiting_approval"));async function Dt(){var R,K;await((K=(R=a.value)==null?void 0:R.fetchBackgroundTasks)==null?void 0:K.call(R))}function x(){Ke!==null&&(window.clearInterval(Ke),Ke=null)}function P(){if(i.value!=="tasks"||!rt.value){x();return}Ke===null&&(Ke=window.setInterval(()=>{Dt(),Ye.value&&ee(Ye.value.taskId,!1)},3e3))}async function z(R){var N,Q;const K=ae.value.find($=>$.taskId===R);if(window.confirm(`停止后台任务「${(K==null?void 0:K.command)??R}」?`)){oe.value=!0,ge.value="";try{const $=await((Q=(N=a.value)==null?void 0:N.stopBackgroundTask)==null?void 0:Q.call(N,R));ge.value=$?"已停止":"取消失败",await Dt(),$e.value===R&&await ee(R,!1)}finally{oe.value=!1}}}async function ee(R,K=!0){var Q,$,H;K&&($e.value=R,pe.value="");const N=++Ue;Ne.value=!0,ge.value="";try{await(($=(Q=a.value)==null?void 0:Q.fetchBackgroundTaskOutput)==null?void 0:$.call(Q,R,200)),N===Ue&&$e.value===R&&(pe.value=o((H=a.value)==null?void 0:H.backgroundTaskOutput)??"")}finally{N===Ue&&(Ne.value=!1)}}et(()=>{var K,N,Q,$,H,q;const R=a.value;(K=R==null?void 0:R.fetchModels)==null||K.call(R),(N=R==null?void 0:R.fetchConfig)==null||N.call(R),(Q=R==null?void 0:R.fetchSkills)==null||Q.call(R),($=R==null?void 0:R.fetchPlugins)==null||$.call(R),(H=R==null?void 0:R.fetchMcpServers)==null||H.call(R),(q=R==null?void 0:R.fetchBackgroundTasks)==null||q.call(R)}),st(()=>{x()}),Se([i,rt],([R])=>{R==="tasks"&&Dt(),P()},{immediate:!0});function J(R){return R==="connected"||R==="completed"?"ok":R==="failed"||R==="killed"?"bad":R==="running"||R==="pending"?"run":"muted"}return(R,K)=>(m(),v("div",M2,[h("div",R2,[h("nav",P2,[(m(),v(ne,null,Ce(r,N=>h("button",{key:N.id,class:ue(["rail-tab",{active:i.value===N.id}]),"aria-current":i.value===N.id?"page":void 0,onClick:Q=>i.value=N.id},[X(ce,{name:N.icon,size:16},null,8,["name"]),h("span",null,C(N.label),1)],10,L2)),64))]),h("div",D2,[i.value==="general"?(m(),v("section",N2,[K[6]||(K[6]=h("h1",{class:"settings-title"},"通用设置",-1)),h("div",O2,[K[3]||(K[3]=h("h2",{class:"block-title"},"外观",-1)),h("div",G2,[(m(),v(ne,null,Ce(c,N=>h("button",{key:N.id,role:"radio","aria-checked":F(l)===N.id,class:ue(["theme-option",{active:F(l)===N.id}]),onClick:Q=>F(u)(N.id)},[X(ce,{name:N.icon,size:20},null,8,["name"]),h("span",null,C(N.label),1)],10,B2)),64))])]),h("div",F2,[K[5]||(K[5]=h("h2",{class:"block-title"},"偏好设置",-1)),h("div",U2,[(m(),v(ne,null,Ce(p,N=>h("label",{key:N.key,class:"like-field"},[h("span",j2,C(N.label),1),Ze(h("input",{"onUpdate:modelValue":Q=>d.value[N.key]=Q,class:"like-input",placeholder:N.hint,"aria-label":N.label},null,8,z2),[[it,d.value[N.key]]])])),64)),h("div",H2,[X(Ht,{variant:"primary",onClick:g},{default:ot(()=>[...K[4]||(K[4]=[Ae("保存偏好",-1)])]),_:1}),f.value?(m(),v("span",W2,"已保存")):U("",!0)])])])])):i.value==="models"?(m(),v("section",q2,[K[7]||(K[7]=h("h1",{class:"settings-title"},"模型",-1)),b.value?U("",!0):(m(),v("p",V2,"打开一个会话后可在此切换模型")),w.value?(m(),v("div",K2,[h("span",Z2,C(w.value),1),h("button",{class:"row-action",onClick:_},"重试")])):S.value.length===0?(m(),v("p",Y2,"没有可用的模型")):(m(),v("ul",X2,[(m(!0),v(ne,null,Ce(S.value,N=>(m(),v("li",{key:N.alias,class:ue(["list-row",{selected:N.alias===k.value}])},[h("div",J2,[h("span",Q2,C(N.displayName||N.model),1),h("span",eP,C(N.provider)+" · "+C(N.alias)+" · "+C(N.maxContextSize),1)]),h("button",{class:"row-action",disabled:!b.value||N.alias===k.value,onClick:Q=>B(N.alias)},C(N.alias===k.value?"使用中":"切换"),9,tP)],2))),128))]))])):i.value==="skills"?(m(),v("section",nP,[K[8]||(K[8]=h("h1",{class:"settings-title"},"技能",-1)),D.value.length===0?(m(),v("p",sP,"当前会话没有可用技能")):(m(),v("ul",oP,[(m(!0),v(ne,null,Ce(D.value,N=>(m(),v("li",{key:N.name,class:"list-row"},[h("div",rP,[h("span",iP,C(N.name),1),h("span",aP,[Ae(C(N.description||"—")+" ",1),N.pluginId?(m(),v(ne,{key:0},[Ae("· 来自插件 "+C(N.pluginId),1)],64)):U("",!0)])]),h("div",lP,[h("button",{class:"row-action",disabled:E.value,onClick:Q=>A(N.name)}," 激活 ",8,uP),h("button",{class:"row-action danger",disabled:E.value,onClick:Q=>T(N.name)}," 移除 ",8,cP)])]))),128))]))])):i.value==="plugins"?(m(),v("section",dP,[K[11]||(K[11]=h("h1",{class:"settings-title"},"插件",-1)),h("div",fP,[K[10]||(K[10]=h("h2",{class:"block-title"},"安装插件",-1)),h("div",hP,[Ze(h("input",{"onUpdate:modelValue":K[0]||(K[0]=N=>te.value=N),class:"like-input",placeholder:"本地路径 / zip URL / GitHub 地址","aria-label":"插件来源",spellcheck:"false"},null,512),[[it,te.value]]),X(Ht,{variant:"primary",disabled:I.value||!te.value.trim(),onClick:V},{default:ot(()=>[...K[9]||(K[9]=[Ae(" 安装 ",-1)])]),_:1},8,["disabled"])]),M.value?(m(),v("p",pP,C(M.value),1)):U("",!0)]),Z.value.length===0?(m(),v("p",gP,"还没有安装插件")):(m(),v("ul",mP,[(m(!0),v(ne,null,Ce(Z.value,N=>(m(),v("li",{key:N.id,class:"list-row"},[h("div",vP,[h("span",yP,[Ae(C(N.displayName)+" ",1),N.version?(m(),v("span",bP,"v"+C(N.version),1)):U("",!0)]),h("span",kP,C(N.skillCount)+" 技能 · "+C(N.enabledMcpServerCount)+"/"+C(N.mcpServerCount)+" MCP",1)]),h("button",{class:"row-action",disabled:W.value,onClick:Q=>j(N.id,!N.enabled)},C(N.enabled?"停用":"启用"),9,wP)]))),128))]))])):i.value==="mcp"?(m(),v("section",SP,[K[12]||(K[12]=h("h1",{class:"settings-title"},"MCP 服务器",-1)),_e.value?(m(),v("p",_P,C(_e.value),1)):U("",!0),ie.value.length===0?(m(),v("p",$P,"没有配置 MCP 服务器")):(m(),v("ul",CP,[(m(!0),v(ne,null,Ce(ie.value,N=>(m(),v("li",{key:N.name,class:"list-row"},[h("div",xP,[h("span",IP,C(N.name),1),h("span",TP,C(N.transport)+" · "+C(N.toolCount)+" 工具",1),h("span",{class:ue(["status-pill",J(N.status)])},C(N.status),3)]),h("div",EP,[h("button",{class:"row-action",disabled:me.value,onClick:Q=>he("reconnectMcpServer",N.name)},"重连",8,AP),h("button",{class:"row-action",disabled:me.value,onClick:Q=>he("stopMcpServer",N.name)},"停止",8,MP),h("button",{class:"row-action danger",disabled:me.value,onClick:Q=>he("removeMcpServer",N.name)},"移除",8,RP)])]))),128))]))])):i.value==="tasks"?(m(),v("section",PP,[h("div",LP,[K[13]||(K[13]=h("h1",{class:"settings-title"},"后台任务",-1)),h("button",{class:"icon-refresh",title:"刷新后台任务","aria-label":"刷新后台任务",onClick:Dt},[X(ce,{name:"refresh",size:16})])]),ge.value?(m(),v("p",DP,C(ge.value),1)):U("",!0),ae.value.length===0?(m(),v("p",NP,"没有后台任务")):(m(),v("ul",OP,[(m(!0),v(ne,null,Ce(ae.value,N=>(m(),v("li",{key:N.taskId,class:"list-row"},[h("div",GP,[h("span",BP,C(N.command),1),h("span",FP,C(N.description),1),h("span",{class:ue(["status-pill",J(N.status)])},C(N.status),3)]),h("div",UP,[h("button",{class:"row-action",disabled:oe.value,onClick:Q=>ee(N.taskId)},"输出",8,jP),N.status==="running"||N.status==="awaiting_approval"?(m(),v("button",{key:0,class:"row-action danger",disabled:oe.value,onClick:Q=>z(N.taskId)}," 停止 ",8,zP)):U("",!0)])]))),128))])),Ye.value?(m(),v("section",HP,[h("header",WP,[h("div",null,[K[14]||(K[14]=h("span",{class:"task-inspector-label"},"输出",-1)),h("strong",{title:Ye.value.command},C(Ye.value.command),9,qP)]),h("div",VP,[h("button",{title:"刷新输出","aria-label":"刷新输出",disabled:Ne.value,onClick:K[1]||(K[1]=N=>ee(Ye.value.taskId,!1))},[X(ce,{name:"refresh",size:14})],8,KP),h("button",{title:"关闭输出","aria-label":"关闭输出",onClick:K[2]||(K[2]=N=>$e.value=null)},[X(ce,{name:"x",size:14})])])]),pe.value?(m(),v("pre",ZP,C(pe.value),1)):(m(),v("p",YP,C(Ne.value?"正在读取输出…":"暂时没有输出"),1)),h("footer",XP,[h("span",null,"PID "+C(Ye.value.pid),1),Ye.value.exitCode!==null?(m(),v("span",JP,"退出码 "+C(Ye.value.exitCode),1)):(m(),v("span",QP,C(Ye.value.status),1))])])):U("",!0)])):U("",!0)])])]))}}),Xp=Te(eL,[["__scopeId","data-v-c9e30e98"]]),tL={class:"settings-modal-body"},nL=Ie({__name:"SettingsModal",setup(e){const{open:t}=gh(),n=G(()=>Ha()),s=G(()=>{var r;return((r=n.value)==null?void 0:r.like.value)??{}});function o(r){var i;(i=n.value)==null||i.updateLike(r)}return et(tb),st(()=>{nb(),Jr()}),(r,i)=>(m(),De(Vl,{open:F(t),title:"设置","max-width":"920px",onClose:F(Jr)},{default:ot(()=>[h("div",tL,[n.value?(m(),De(Xp,{key:0,client:n.value,like:s.value,onUpdateLike:o},null,8,["client","like"])):U("",!0)])]),_:1},8,["open","onClose"]))}}),sL=Te(nL,[["__scopeId","data-v-890b7003"]]),Rd=O(""),$a=O(new Set),gr=O(new Set),oL=O("sessions"),Ca=5;function rL(){function e(o){const r=new Set($a.value);r.has(o)?r.delete(o):r.add(o),$a.value=r}function t(o){const r=new Set(gr.value);r.has(o)?r.delete(o):r.add(o),gr.value=r}function n(o){return gr.value.has(o)}function s(){Rd.value=""}return{query:Rd,collapsedSpaces:$a,expandedSpaces:gr,section:oL,toggleSpace:e,toggleSpaceExpanded:t,isSpaceExpanded:n,clearSearch:s}}const iL=1440*60*1e3,aL=7,lL="昨天";function Pd(e){const t=new Date(e);return Date.UTC(t.getFullYear(),t.getMonth(),t.getDate())/iL}function uL(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),s=String(t.getMinutes()).padStart(2,"0");return`${n}:${s}`}function cL(e,t=Date.now()){if(!Number.isFinite(e)||e<=0)return"";const n=Pd(t)-Pd(e);if(n<=0)return uL(e);if(n===1)return lL;if(n<=aL)return`${n} 天前`;const s=new Date(e);return`${s.getMonth()+1}/${s.getDate()}`}const Jp="scream-file-tree-expanded",dL=O("");function fL(){try{const e=localStorage.getItem(Jp);if(!e)return{};const t=JSON.parse(e);if(t&&typeof t=="object"&&!Array.isArray(t)){const n={};for(const[s,o]of Object.entries(t))Array.isArray(o)&&(n[s]=o.filter(r=>typeof r=="string"));return n}return{}}catch{return{}}}const ts=O(fL()),go=Wn(new Map),xa=O(null),Ia=new Map;function hL(){function e(l){return l?new Set(ts.value[l]??[]):new Set}function t(l){if(!l)return;const u={...ts.value};u[l]=[...e(l)],ts.value=u;try{localStorage.setItem(Jp,JSON.stringify(u))}catch{}}function n(l){xa.value!==l&&(xa.value=l)}function s(l,u){var c;return l?((c=ts.value[l])==null?void 0:c.includes(u))??!1:!1}function o(l,u){if(!l)return!1;const c=ts.value[l]??[],d=c.includes(u)?c.filter(f=>f!==u):[...c,u];return ts.value={...ts.value,[l]:d},t(l),!c.includes(u)}function r(l){return go.get(l)??[]}async function i(l){const u=(Ia.get(l)??0)+1;Ia.set(l,u);const c=await Wl(l);return u!==(Ia.get(l)??0)?go.get(l)??[]:(c!==null&&go.set(l,c),go.get(l)??[])}function a(l){go.delete(l)}return{activeWorkDir:xa,query:dL,isExpanded:s,toggleExpand:o,loadedChildren:r,loadChildren:i,invalidate:a,setRoot:n}}const pL={class:"file-tree"},gL={key:0,class:"tree-toolbar"},mL={class:"tree-search"},vL={key:1,class:"tree-empty"},yL={key:2,class:"tree-empty"},bL={key:3,class:"tree-empty"},kL={key:4,class:"tree-empty"},wL=["aria-label"],SL=["aria-expanded","onClick"],_L=["title"],$L=["aria-expanded","onClick"],CL=["title"],xL=Ie({__name:"FileTree",props:{workDir:{},gitStatus:{},refreshGit:{type:Function}},setup(e){const t=e,{query:n,isExpanded:s,toggleExpand:o,loadedChildren:r,loadChildren:i,invalidate:a,setRoot:l}=hL(),u=O(!1),c=O(!1);Se(()=>t.workDir,D=>{l(D),D&&d(D)},{immediate:!0});async function d(D){u.value=!0,c.value=!1;try{(await i(D)).length===0&&(c.value=!0)}finally{u.value=!1}}async function f(D){const E=t.workDir;if(!E)return;o(E,D)&&await i(D)}function p(D,E){return`${D.replace(/\/+$/,"")}/${E}`}function g(D){const E=t.workDir;if(!E)return D;const A=E.replace(/\/+$/,"");return D===A?"":D.startsWith(`${A}/`)?D.slice(A.length+1):D}function y(D){var Z;const E=(Z=t.gitStatus)==null?void 0:Z.files;if(!E||E.length===0)return null;const A=g(D),T=E.find(W=>(W.displayPath??W.path)===A);return T?T.status.includes("?")?"?":T.status.includes("A")?"A":T.status.includes("M")?"M":null:null}const S=G(()=>{const D=t.workDir;if(!D)return[];const E=[],A=(T,Z)=>{for(const W of r(T)){const j=p(T,W.name);E.push({abs:j,name:W.name,rel:g(j),isDir:W.type==="dir",depth:Z,git:y(j)}),W.type==="dir"&&s(D,j)&&A(j,Z+1)}};return A(D,0),E}),k=G(()=>S.value),w=G(()=>{const D=n.value.trim();if(!D)return[];const E=new Map(k.value.map(A=>[A.rel,A]));return vh(k.value.map(A=>({path:A.rel,isDir:A.isDir})),D,50).map(A=>E.get(A.path)).filter(A=>A!==void 0)}),b=G(()=>n.value.trim().length>0);function _(D){D.isDir?f(D.abs):vs(D.abs)}function B(){var E;const D=t.workDir;D&&(a(D),Ab(D),d(D),(E=t.refreshGit)==null||E.call(t))}return(D,E)=>(m(),v("div",pL,[e.workDir?(m(),v("div",gL,[h("label",mL,[X(ce,{name:"search",size:13}),Ze(h("input",{"onUpdate:modelValue":E[0]||(E[0]=A=>ht(n)?n.value=A:null),type:"text",placeholder:"过滤文件…","aria-label":"过滤文件",spellcheck:"false"},null,512),[[it,F(n)]])]),h("button",{class:"tree-refresh",title:"刷新文件树与 Git 状态","aria-label":"刷新文件树与 Git 状态",onClick:B},[X(ce,{name:"refresh",size:13})])])):U("",!0),e.workDir?u.value&&S.value.length===0?(m(),v("div",yL,"加载中…")):c.value&&S.value.length===0?(m(),v("div",bL,"工作目录为空")):b.value&&w.value.length===0?(m(),v("div",kL,"没有匹配的文件")):(m(),v("div",{key:5,class:"tree-scroll",role:"tree","aria-label":"文件树 "+e.workDir},[b.value?(m(!0),v(ne,{key:0},Ce(w.value,A=>(m(),v("button",{key:A.abs,class:ue(["tree-row",{"is-dir":A.isDir}]),role:"treeitem","aria-expanded":A.isDir?F(s)(e.workDir,A.abs):void 0,onClick:T=>_(A)},[X(ce,{name:A.isDir?"folder":"file",size:14,class:"row-icon"},null,8,["name"]),h("span",{class:"row-label mono",title:A.rel},C(A.rel),9,_L),A.git?(m(),v("span",{key:0,class:ue(["row-git",`g-${A.git}`])},C(A.git),3)):U("",!0)],10,SL))),128)):(m(!0),v(ne,{key:1},Ce(S.value,A=>(m(),v("button",{key:A.abs,class:ue(["tree-row",{"is-dir":A.isDir}]),style:bt({paddingLeft:`${8+A.depth*14}px`}),role:"treeitem","aria-expanded":A.isDir?F(s)(e.workDir,A.abs):void 0,onClick:T=>_(A)},[X(ce,{name:A.isDir?F(s)(e.workDir,A.abs)?"chevron-down":"chevron-right":"file",size:13,class:"row-caret"},null,8,["name"]),X(ce,{name:A.isDir?"folder":"file",size:14,class:"row-icon"},null,8,["name"]),h("span",{class:ue(["row-label",{mono:!A.isDir}]),title:A.rel},C(A.name),11,CL),A.git?(m(),v("span",{key:0,class:ue(["row-git",`g-${A.git}`])},C(A.git),3)):U("",!0)],14,$L))),128))],8,wL)):(m(),v("div",vL,"当前会话没有工作目录"))]))}}),IL=Te(xL,[["__scopeId","data-v-f7cdf024"]]),Qp=""+new URL("logo-v2-ChmPAIbI.svg",import.meta.url).href,TL={class:"sidebar-head"},EL=["src"],AL=["title","aria-label","aria-expanded"],ML=["title"],RL={key:0},PL={key:0,class:"section-switch",role:"tablist","aria-label":"侧栏分区"},LL=["aria-selected"],DL=["aria-selected"],NL={key:0,class:"side-search"},OL=["placeholder"],GL={class:"spaces"},BL=["title"],FL=["title","onClick"],UL={class:"space-name"},jL={class:"space-count"},zL={key:0,class:"space-sessions"},HL=["title","onClick","onDblclick"],WL={key:0,class:"session-run","aria-hidden":"true"},qL={class:"session-text"},VL={key:0,class:"session-rename"},KL=["aria-label","onKeydown","onBlur"],ZL={class:"session-title"},YL={class:"session-meta"},XL={class:"session-actions"},JL=["disabled","title","aria-label","onClick"],QL=["title","aria-label","onClick"],eD=["aria-label"],tD={class:"delete-confirm-text"},nD={class:"delete-confirm-actions"},sD=["onClick"],oD=["title","onClick"],rD={key:0,class:"spaces-empty"},iD={class:"sidebar-foot","aria-label":"功能区"},aD=["title"],lD={key:0},uD=["title"],cD={key:0},dD={class:"sidebar-identity"},fD={key:0,class:"identity-text"},hD=Ie({__name:"Sidebar",props:{view:{},sessions:{},currentSessionId:{default:null},workDir:{default:null},gitStatus:{default:null},refreshGit:{type:Function,default:void 0},collapsed:{type:Boolean,default:!1},showCollapseToggle:{type:Boolean,default:!0}},emits:["navigate","switch-session","delete-session","create-session","toggle-collapse","open-file","rename-session"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=O(null),{query:i,collapsedSpaces:a,section:l,toggleSpace:u,toggleSpaceExpanded:c,isSpaceExpanded:d}=rL();function f(){var he,ae;(he=r.value)==null||he.focus(),(ae=r.value)==null||ae.select()}const{open:p}=gh();function g(){ph()||o("navigate","settings")}t({focusSearch:f});const y=G(()=>{const he=i.value.trim().toLowerCase();return he?s.sessions.filter(ae=>_e(ae).toLowerCase().includes(he)||ae.workDir.toLowerCase().includes(he)):s.sessions}),S=G(()=>{var pe;const he=new Map;for(const oe of y.value){const ge=oe.workDir||"默认空间",$e=ge.split(/[\\/]/).filter(Boolean),Ne=$e.length>0?$e[$e.length-1]:ge,Ue=he.get(ge);Ue?Ue.items.push(oe):he.set(ge,{key:ge,name:Ne,items:[oe]})}const ae=(pe=s.sessions.find(oe=>oe.sessionId===s.currentSessionId))==null?void 0:pe.workDir;return[...he.values()].sort((oe,ge)=>{var $e,Ne;return oe.key===ae?-1:ge.key===ae?1:((($e=ge.items[0])==null?void 0:$e.createdAt)??0)-(((Ne=oe.items[0])==null?void 0:Ne.createdAt)??0)})});function k(he){return i.value.trim()||d(he.key)?he.items:he.items.length>Ca?he.items.slice(0,Ca):he.items}function w(he){return Math.max(0,he.items.length-Ca)}function b(he){o("switch-session",he)}function _(he){return he.sessionId===s.currentSessionId}const B=O(null);function D(he){B.value=B.value===he.sessionId?null:he.sessionId}function E(){B.value=null}function A(he){E(),o("delete-session",he)}function T(he){if(!B.value)return;const ae=he.target;ae&&typeof ae.closest=="function"&&ae.closest(".session-actions")||E()}et(()=>document.addEventListener("pointerdown",T)),st(()=>document.removeEventListener("pointerdown",T));function Z(he){o("open-file",he)}const W=O(null);function j(he){W.value=he}const te=O(null),I=O("");function M(he){te.value=he.sessionId,I.value=_e(he),Fe(()=>{var ae,pe;(ae=W.value)==null||ae.focus(),(pe=W.value)==null||pe.select()})}function V(){te.value=null,I.value=""}function ie(he){const ae=I.value.trim();if(te.value=null,I.value="",!ae)return;const pe=s.sessions.find(oe=>oe.sessionId===he);!pe||ae===_e(pe)||o("rename-session",he,ae)}function me(he){return cL(he)}function _e(he){const ae=(he.title||"").trim();return ae&&ae!=="新会话"&&ae!=="New Session"?ae:"未命名会话"}return(he,ae)=>(m(),v("aside",{class:ue(["sidebar",{"is-collapsed":e.collapsed}])},[h("div",TL,[h("button",{class:"sidebar-brand",title:"回到新对话",onClick:ae[0]||(ae[0]=pe=>o("navigate","home"))},[h("img",{class:"brand-logo",src:F(Qp),alt:"scream"},null,8,EL)]),e.showCollapseToggle?(m(),v("button",{key:0,class:ue(["collapse-btn",{rotated:e.collapsed}]),title:e.collapsed?"展开侧栏":"折叠侧栏","aria-label":e.collapsed?"展开侧栏":"折叠侧栏","aria-expanded":!e.collapsed,onClick:ae[1]||(ae[1]=pe=>o("toggle-collapse"))},[X(ce,{name:"panel-left",size:15})],10,AL)):U("",!0)]),h("button",{class:"new-chat-btn",title:e.collapsed?"新建对话":void 0,onClick:ae[2]||(ae[2]=pe=>o("create-session"))},[X(ce,{name:"plus",size:16}),e.collapsed?U("",!0):(m(),v("span",RL,"新建对话"))],8,ML),e.collapsed?U("",!0):(m(),v("div",PL,[h("button",{class:ue(["section-tab",{active:F(l)==="sessions"}]),role:"tab","aria-selected":F(l)==="sessions",onClick:ae[3]||(ae[3]=pe=>l.value="sessions")},[X(ce,{name:"message-circle",size:13}),ae[11]||(ae[11]=h("span",null,"会话",-1))],10,LL),h("button",{class:ue(["section-tab",{active:F(l)==="files"}]),role:"tab","aria-selected":F(l)==="files",onClick:ae[4]||(ae[4]=pe=>l.value="files")},[X(ce,{name:"folder",size:13}),ae[12]||(ae[12]=h("span",null,"文件",-1))],10,DL)])),!e.collapsed&&F(l)==="files"?(m(),De(IL,{key:1,"work-dir":e.workDir,"git-status":e.gitStatus,"refresh-git":e.refreshGit,onOpenFile:Z},null,8,["work-dir","git-status","refresh-git"])):U("",!0),e.collapsed||F(l)==="sessions"?(m(),v(ne,{key:2},[e.collapsed?U("",!0):(m(),v("label",NL,[X(ce,{name:"search",size:15}),Ze(h("input",{ref_key:"searchRef",ref:r,"onUpdate:modelValue":ae[5]||(ae[5]=pe=>ht(i)?i.value=pe:null),type:"text",placeholder:`搜索会话… (${F($r)}K)`,"aria-label":"搜索会话",spellcheck:"false"},null,8,OL),[[it,F(i)]])])),h("div",GL,[(m(!0),v(ne,null,Ce(S.value,pe=>(m(),v("div",{key:pe.key,class:"space-group"},[e.collapsed?(m(),v("button",{key:0,class:ue(["space-dot",{active:pe.items.some(oe=>oe.sessionId===e.currentSessionId)}]),title:pe.name,onClick:ae[6]||(ae[6]=oe=>o("toggle-collapse"))},C(pe.name.slice(0,1).toUpperCase()),11,BL)):(m(),v(ne,{key:1},[h("button",{class:"space-head",title:pe.key,onClick:oe=>F(u)(pe.key)},[X(ce,{name:F(a).has(pe.key)?"chevron-right":"chevron-down",size:14},null,8,["name"]),h("span",UL,C(pe.name),1),h("span",jL,C(pe.items.length),1)],8,FL),F(a).has(pe.key)?U("",!0):(m(),v("div",zL,[(m(!0),v(ne,null,Ce(k(pe),oe=>(m(),v("div",{key:oe.sessionId,class:"session-item-wrap"},[h("button",{class:ue(["session-item",{active:oe.sessionId===e.currentSessionId}]),title:_e(oe),onClick:ge=>b(oe.sessionId),onDblclick:ge=>M(oe)},[oe.active?(m(),v("span",WL)):U("",!0),h("span",qL,[te.value===oe.sessionId?(m(),v("span",VL,[Ze(h("input",{ref_for:!0,ref:j,"onUpdate:modelValue":ae[7]||(ae[7]=ge=>I.value=ge),class:"rename-input",spellcheck:"false","aria-label":`重命名会话 ${_e(oe)}`,onClick:ae[8]||(ae[8]=tt(()=>{},["stop"])),onKeydown:[Vn(tt(ge=>ie(oe.sessionId),["prevent"]),["enter"]),ae[9]||(ae[9]=Vn(tt(ge=>V(),["prevent"]),["esc"]))],onBlur:ge=>ie(oe.sessionId)},null,40,KL),[[it,I.value]])])):(m(),v(ne,{key:1},[h("span",ZL,C(_e(oe)),1),h("span",YL,[h("span",null,C(me(oe.createdAt)),1),oe.messageCount>=0?(m(),v(ne,{key:0},[ae[13]||(ae[13]=h("span",{class:"meta-sep","aria-hidden":"true"},"·",-1)),h("span",null,C(oe.messageCount)+" 条",1)],64)):U("",!0)])],64))])],42,HL),h("div",XL,[h("button",{type:"button",class:"session-act",disabled:!_(oe),title:_(oe)?"重命名会话":"只有当前打开的会话能重命名","aria-label":`重命名会话:${_e(oe)}`,onClick:tt(ge=>M(oe),["stop"])},[X(ce,{name:"edit",size:14})],8,JL),h("button",{type:"button",class:"session-act session-act--danger",title:`删除会话:${_e(oe)}`,"aria-label":`删除会话:${_e(oe)}`,onClick:tt(ge=>D(oe),["stop"])},[X(ce,{name:"trash",size:14})],8,QL),B.value===oe.sessionId?(m(),v("div",{key:0,class:"delete-confirm",role:"alertdialog","aria-label":`确认删除:${_e(oe)}`},[h("div",tD,"删除「"+C(_e(oe))+"」?不可恢复。",1),h("div",nD,[h("button",{type:"button",class:"dc-btn",onClick:tt(E,["stop"])},"取消"),h("button",{type:"button",class:"dc-btn dc-btn--danger",onClick:tt(ge=>A(oe.sessionId),["stop"])}," 确认删除 ",8,sD)])],8,eD)):U("",!0)])]))),128)),!F(i)&&w(pe)>0?(m(),v("button",{key:0,class:"space-more",type:"button",title:F(d)(pe.key)?"收起,只留最近几条":"展开这个空间的其余会话",onClick:oe=>F(c)(pe.key)},[X(ce,{name:"chevron-down",size:12,class:ue({"is-up":F(d)(pe.key)})},null,8,["class"]),h("span",null,C(F(d)(pe.key)?"收起":`显示更多 ${w(pe)} 条`),1)],8,oD)):U("",!0)]))],64))]))),128)),!e.collapsed&&S.value.length===0?(m(),v("p",rD,C(F(i)?"没有匹配的会话":"还没有会话,点击上方「新建对话」开始"),1)):U("",!0)])],64)):U("",!0),h("nav",iD,[h("button",{class:ue(["foot-item",{active:e.view==="skills"}]),title:e.collapsed?"技能中心":void 0,onClick:ae[10]||(ae[10]=pe=>o("navigate","skills"))},[X(ce,{name:"sparkles",size:17}),e.collapsed?U("",!0):(m(),v("span",lD,"技能中心"))],10,aD),h("button",{class:ue(["foot-item",{active:e.view==="settings"||F(p)}]),title:e.collapsed?"设置":void 0,onClick:g},[X(ce,{name:"settings",size:17}),e.collapsed?U("",!0):(m(),v("span",cD,"设置"))],10,uD),h("div",dD,[ae[14]||(ae[14]=h("span",{class:"identity-dot","aria-hidden":"true"},null,-1)),e.collapsed?U("",!0):(m(),v("span",fD,"scream web"))])])],2))}}),Ld=Te(hD,[["__scopeId","data-v-8f86aaa3"]]),pD={class:"skills"},gD={class:"skills-head"},mD={class:"skills-head-actions"},vD={key:0,class:"skills-error",role:"alert"},yD={key:1,class:"skills-grid","aria-hidden":"true"},bD={key:2,class:"skills-empty"},kD={class:"skills-empty-title"},wD={key:3,class:"skills-grid"},SD={class:"skill-card-head"},_D={class:"skill-cmd"},$D={class:"skill-source"},CD={class:"skill-desc"},xD={class:"skill-card-foot"},ID=Ie({__name:"SkillsView",props:{client:{default:void 0},injectDraft:{type:Function,default:void 0}},emits:["create"],setup(e,{emit:t}){const n=e,s=t,{showToast:o}=Qs(),{activeClient:r}=Kv(),i=G(()=>n.client??r.value);function a(k){return k!==null&&typeof k=="object"&&k.__v_isRef===!0?k.value:k}const l=G(()=>{var k;return a((k=i.value)==null?void 0:k.skills)??[]}),u=G(()=>{var k;return a((k=i.value)==null?void 0:k.skillsError)??""}),c=G(()=>{var k,w;return!!a(((k=i.value)==null?void 0:k.currentSessionId)??((w=i.value)==null?void 0:w.sessionId))}),d=O(!1);async function f(){const k=i.value;if(k!=null&&k.fetchSkills){d.value=!0;try{await k.fetchSkills()}finally{d.value=!1}}}et(f);const p={builtin:"内置",user:"用户",extra:"扩展",project:"项目"};function g(k){return k.pluginId?`插件 ${k.pluginId}`:p[k.source]||k.source||"本地"}async function y(k){try{return await navigator.clipboard.writeText(k),!0}catch{return!1}}async function S(k){var B;const w=`/${k.name} `;let b=!1;try{b=!!await((B=n.injectDraft)==null?void 0:B.call(n,w))}catch{b=!1}if(b)return;const _=await y(w);s("create"),o(_?`已复制 ${w.trim()},在输入框粘贴后回车即可使用`:`在输入框输入 ${w.trim()} 并回车即可使用该技能`,"info")}return(k,w)=>(m(),v("div",pD,[h("div",gD,[w[4]||(w[4]=h("div",null,[h("h1",{class:"skills-title"},"技能中心"),h("p",{class:"skills-sub"},[Ae(" 当前会话的可用技能;在输入框输入 "),h("code",null,"/"),Ae(" 可从菜单调用,命令帮助见 "),h("code",null,"/help")])],-1)),h("div",mD,[X(Ht,{variant:"ghost",disabled:d.value||!c.value,onClick:f},{default:ot(()=>[X(ce,{name:"refresh",size:16}),w[2]||(w[2]=Ae(" 重新加载 ",-1))]),_:1},8,["disabled"]),X(Ht,{variant:"primary",onClick:w[0]||(w[0]=b=>s("create"))},{default:ot(()=>[X(ce,{name:"plus",size:16}),w[3]||(w[3]=Ae(" 新建会话 ",-1))]),_:1})])]),u.value?(m(),v("p",vD,[Ae(C(u.value)+" ",1),h("button",{class:"skills-retry",onClick:f},"重试")])):U("",!0),d.value&&l.value.length===0?(m(),v("div",yD,[(m(),v(ne,null,Ce(6,b=>h("div",{key:b,class:"skill-card skeleton"},[...w[5]||(w[5]=[h("span",{class:"skeleton-line skeleton-line-title"},null,-1),h("span",{class:"skeleton-line"},null,-1),h("span",{class:"skeleton-line skeleton-line-short"},null,-1)])])),64))])):l.value.length===0&&!u.value?(m(),v("div",bD,[X(ce,{name:"sparkles",size:28}),h("p",kD,C(c.value?"这个会话还没有可用技能":"打开会话后可查看技能"),1),w[7]||(w[7]=h("p",{class:"skills-empty-hint"}," 技能可以放在技能目录(用户 / 额外目录),或随插件安装进来;装好后点「重新加载」。 ",-1)),X(Ht,{variant:"primary",onClick:w[1]||(w[1]=b=>s("create"))},{default:ot(()=>[X(ce,{name:"plus",size:16}),w[6]||(w[6]=Ae(" 新建会话 ",-1))]),_:1})])):(m(),v("div",wD,[(m(!0),v(ne,null,Ce(l.value,b=>(m(),v("article",{key:b.name,class:"skill-card"},[h("div",SD,[h("span",_D,"/"+C(b.name),1),h("span",$D,C(g(b)),1)]),h("p",CD,C(b.description||"暂无描述"),1),h("div",xD,[X(Ht,{variant:"secondary",onClick:_=>S(b)},{default:ot(()=>[X(ce,{name:"send",size:14}),w[8]||(w[8]=Ae(" 试用 ",-1))]),_:1},8,["onClick"])])]))),128))]))]))}}),TD=Te(ID,[["__scopeId","data-v-60c38852"]]),ED={class:"dock-tabs",role:"tablist","aria-label":"右栏标签","aria-orientation":"horizontal"},AD=["onAuxclick"],MD=["id","aria-selected","aria-controls","tabindex","title","data-kind","onClick","onKeydown"],RD={class:"tab-label"},PD=["title","aria-label","onClick"],LD={class:"dock-chrome"},DD=["title","aria-label","aria-pressed"],ND=Ie({__name:"TabBar",props:{maximized:{type:Boolean,default:!1},showMaximize:{type:Boolean,default:!0}},emits:["update:maximized","collapse"],setup(e,{emit:t}){const n=t,s=O(null);Se(()=>we.activeTabId,async()=>{var d,f;await Fe();const c=(d=s.value)==null?void 0:d.querySelector(".tab-button.active");(f=c==null?void 0:c.scrollIntoView)==null||f.call(c,{block:"nearest",inline:"nearest"})},{immediate:!0});function o(c,d){c.button===1&&(c.preventDefault(),c.stopPropagation(),a(d))}function r(c){c&&Fe(()=>{var d;return(d=document.getElementById(Yr(c)))==null?void 0:d.focus()})}function i(c){Xy(c),r(c)}function a(c){const d=we.activeTabId===c;Jy(c),d&&r(we.activeTabId)}function l(c){return qa(c.kind==="file"?"file-pane":c.id)}function u(c,d){const f=we.tabs,p=f.findIndex(S=>S.id===d);if(p<0)return;if(c.key==="Enter"||c.key===" "){c.preventDefault(),i(d);return}let g=-1;if(c.key==="ArrowRight"?g=(p+1)%f.length:c.key==="ArrowLeft"?g=(p-1+f.length)%f.length:c.key==="Home"?g=0:c.key==="End"&&(g=f.length-1),g<0)return;c.preventDefault();const y=f[g];y&&i(y.id)}return(c,d)=>(m(),v("div",{ref_key:"barRef",ref:s,class:"tab-bar"},[h("div",ED,[(m(!0),v(ne,null,Ce(F(we).tabs,f=>(m(),v("div",{key:f.id,class:ue(["tab-entry",{active:f.id===F(we).activeTabId}]),role:"presentation",onAuxclick:p=>o(p,f.id)},[h("button",{id:F(Yr)(f.id),class:ue(["tab-button",{active:f.id===F(we).activeTabId}]),role:"tab","aria-selected":f.id===F(we).activeTabId,"aria-controls":l(f),tabindex:f.id===F(we).activeTabId?0:-1,title:f.kind==="file"?f.filePath:f.label,"data-kind":f.kind,onClick:p=>i(f.id),onKeydown:p=>u(p,f.id),onMousedown:d[0]||(d[0]=p=>{p.button===1&&p.preventDefault()})},[X(ce,{name:F(dh)(f.kind).icon,size:13,class:"tab-icon"},null,8,["name"]),h("span",RD,C(f.label),1)],42,MD),h("button",{class:"tab-close",title:`关闭 ${f.label}`,"aria-label":`关闭 ${f.label}`,onClick:tt(p=>a(f.id),["stop"])},[X(ce,{name:"x",size:11})],8,PD)],42,AD))),128))]),h("div",LD,[e.showMaximize?(m(),v("button",{key:0,class:"dock-chrome-btn dock-chrome-maximize",title:e.maximized?"退出全屏":"全屏","aria-label":e.maximized?"退出全屏":"全屏","aria-pressed":e.maximized,onClick:d[1]||(d[1]=f=>n("update:maximized",!e.maximized))},[X(ce,{name:e.maximized?"minimize":"expand",size:14},null,8,["name"])],8,DD)):U("",!0),h("button",{class:"dock-chrome-btn dock-chrome-collapse",title:"折叠右栏","aria-label":"折叠右栏",onClick:d[2]||(d[2]=f=>n("collapse"))},[X(ce,{name:"panel-right",size:14})])])],512))}}),OD=Te(ND,[["__scopeId","data-v-e9125a46"]]),GD={class:"mode-switch",role:"group","aria-label":"工作模式"},BD=["aria-pressed","onClick"],FD=Ie({__name:"ModeSwitch",props:{modelValue:{default:"chat"}},emits:["update:modelValue"],setup(e,{emit:t}){const n=t,s=[{id:"chat",label:"智能工作"},{id:"goal",label:"任务模式"}];return(o,r)=>(m(),v("div",GD,[(m(),v(ne,null,Ce(s,i=>h("button",{key:i.id,class:ue(["mode-pill",`is-${i.id}`,{active:e.modelValue===i.id}]),"aria-pressed":e.modelValue===i.id,onClick:a=>n("update:modelValue",i.id)},C(i.label),11,BD)),64))]))}}),UD=Te(FD,[["__scopeId","data-v-c4ac7862"]]),jD={class:"workspace"},zD={class:"workspace-hero"},HD={class:"workspace-brand"},WD=["src"],qD={class:"workspace-status","aria-label":"连接与模型状态"},VD={class:"status-item"},KD={class:"status-item status-model"},ZD={class:"workspace-launch"},YD={class:"mode-hint"},XD={class:"quick-start"},JD={class:"quick-label"},QD={class:"quick-chips"},eN=["title","onClick"],tN={class:"workspace-composer"},nN="scream-recent-prompts",sN=Ie({__name:"WorkspaceHome",props:{models:{},status:{default:void 0},busy:{type:Boolean},mode:{default:"chat"},recentWorkDirs:{default:()=>[]}},emits:["send","command","switch-model","switch-thinking","update:mode","abort"],setup(e,{expose:t,emit:n}){const s=e,o=n,r=G(()=>s.mode==="goal"),i=G(()=>r.value?"任务模式:提交后将创建执行目标(Goal),Agent 持续执行到完成或预算耗尽;抽屉「Goal 管理」可查看与暂停。":"直接对话:提问后 Agent 按需调用工具完成你的请求。"),a=G(()=>s.status!==void 0),l=G(()=>{var k;return(k=s.status)==null?void 0:k.model}),u=O([]),{fetchServerWorkDir:c}=Hl();et(()=>{c();try{const k=localStorage.getItem(nN);if(k){const w=JSON.parse(k);Array.isArray(w)&&(u.value=w.filter(b=>typeof b=="string").slice(0,4))}}catch{u.value=[]}});const d={chat:["梳理当前项目结构","解释最近的代码改动","帮我排查一个报错"],goal:["修复构建并跑通测试","完成一次小型重构","整理项目文档"]},f=G(()=>u.value.length>0),p=G(()=>f.value?u.value:d[s.mode]),g=O(null);function y(k){var w;(w=g.value)==null||w.insertText(k)}function S(k){const w=g.value;return w?(w.insertDraft(k,{activate:!0}),!0):!1}return t({insertDraft:S}),(k,w)=>(m(),v("div",jD,[h("section",zD,[h("h1",HD,[h("img",{class:"brand-logo",src:F(Qp),alt:"scream"},null,8,WD)]),w[7]||(w[7]=h("p",{class:"workspace-tagline"},"你的智能协作伙伴",-1)),h("p",qD,[h("span",{class:ue(["status-dot",a.value?"on":"off"]),"aria-hidden":"true"},null,2),h("span",VD,C(a.value?"已连接":"等待连接"),1),l.value?(m(),v(ne,{key:0},[w[6]||(w[6]=h("span",{class:"status-sep"},"·",-1)),h("span",KD,C(l.value),1)],64)):U("",!0)])]),h("section",ZD,[X(UD,{class:"workspace-mode","model-value":s.mode,"onUpdate:modelValue":w[0]||(w[0]=b=>o("update:mode",b))},null,8,["model-value"]),h("p",YD,[(m(),v("span",{key:String(r.value),class:"hint-fade"},C(i.value),1))]),h("div",XD,[h("span",JD,C(f.value?"最近":"试试"),1),h("div",QD,[(m(!0),v(ne,null,Ce(p.value,(b,_)=>(m(),v("button",{key:`${_}-${b}`,class:"quick-chip",title:b,onClick:B=>y(b)},C(b),9,eN))),128))])])]),h("section",tN,[X(kh,{ref_key:"composerRef",ref:g,busy:e.busy,status:e.status,models:e.models,"recent-work-dirs":e.recentWorkDirs,variant:"home",placeholder:r.value?"描述你要完成的目标,Enter 创建并开始执行…":"输入 @ 引用知识库 / 使用技能 / 或者直接提问...",onSend:w[1]||(w[1]=b=>o("send",b,s.mode)),onAbort:w[2]||(w[2]=b=>o("abort")),onCommand:w[3]||(w[3]=(b,_)=>o("command",b,_)),onSwitchModel:w[4]||(w[4]=b=>o("switch-model",b)),onSwitchThinking:w[5]||(w[5]=b=>o("switch-thinking",b))},null,8,["busy","status","models","recent-work-dirs","placeholder"])])]))}}),oN=Te(sN,[["__scopeId","data-v-1f7fc15b"]]),rN=["aria-valuenow","aria-valuemin","aria-valuemax"],iN={key:2,class:"sidebar-mobile",role:"dialog","aria-modal":"true","aria-label":"导航菜单"},aN={class:"canvas"},lN={class:"topbar mobile-only"},uN={class:"topbar-left"},cN={key:0,class:"topbar-running",title:"Agent 运行中"},dN={class:"canvas-body"},fN=["aria-valuenow","aria-valuemin","aria-valuemax"],hN=["role","aria-modal"],pN={class:"right-panel-body"},gN=["id","aria-labelledby"],mN=["data-dock-tab","id","aria-labelledby"],Dd="scream-sidebar-collapsed",Nd="scream-workspace-mode",vN=Ie({__name:"WebShell",setup(e){var xs,tr;const t=Ay(),{showToast:n}=Qs(),{connectionStatus:s,status:o,isBusy:r,sessions:i,currentSessionId:a,workDir:l,gitStatus:u,models:c,like:d,sendPrompt:f,sendCommand:p,appendSystemMessage:g,createSession:y,switchSession:S,deleteSession:k,switchModel:w,switchThinking:b,fetchLike:_,fetchGitStatus:B,abort:D}=t,E=O("home"),A=O(!1),T=O(null),Z=t.waitForConnected??((de=0)=>Promise.resolve(s.value==="connected")),W=()=>s.value==="connected";function j(de){de==="chat"?E.value=a.value?"chat":"home":E.value=de,A.value=!1}function te(){A.value=!1,Jr(),me.value=!0}async function I(de){me.value=!1,ie(de.workDir);const ve=a.value,L=de.model&&de.model!==o.value.model?de.model:null;await y(de.workDir??void 0,()=>{E.value="chat"}),!(!a.value||a.value===ve)&&(L&&w(L),E.value="chat")}const{preferredWorkDir:M,serverWorkDir:V,setPreferredWorkDir:ie}=Hl(),me=O(!1),_e=G(()=>{const de=new Set,ve=[];for(const L of i.value){const re=L.workDir;if(!(!re||de.has(re))&&(de.add(re),ve.push(re),ve.length>=6))break}return ve}),he=O(null),ae=O(null);async function pe(de){var re,Me;A.value=!1;const ve=!a.value;E.value=ve?"home":"chat",await Fe(),await Fe();const L=ve?((re=ae.value)==null?void 0:re.insertDraft(de))??!1:((Me=he.value)==null?void 0:Me.insertDraft(de,{activate:!0}))??!1;return L&&n(`已把 ${de.trim()} 放进输入框,补参数后回车`,"success"),L}function oe(de){Fe(()=>{var ve;return(ve=ae.value)==null?void 0:ve.insertDraft(de)})}let ge=!1;async function $e(de,ve){if(A.value=!1,ge){oe(de);return}ge=!0;try{const L=a.value;if(await y(M.value??void 0),a.value===L){oe(de);return}if(!await Z()){oe(de);return}if(E.value="chat",ve==="goal")try{await t.createGoal({objective:de,budgets:[]})}catch(Me){g(`Goal 创建失败:${Ne(Me)}。已保留对话模式,可重新发送。`),f(de);return}else f(de)}finally{ge=!1}}function Ne(de){return de instanceof Error?de.message:String(de)}function Ue(de){A.value=!1,E.value="chat",S(de)}function Ke(de){vs(de)}function Ye(de,ve){if(de!==a.value){n("请先点击该会话,再双击重命名。","warning");return}p("title",ve)}const rt=O(!1),Dt=O("status");function x(de){t.fetchSnapshot(),Dt.value=de,rt.value=!0}const{onCommand:P}=lh({sendCommand:p,clearMessages:t.clearMessages,appendSystemMessage:g,ensureSession:async()=>{a.value||await y(M.value??void 0);const de=a.value;return de?s.value!=="connected"&&(!await Z()||a.value!==de||!W())?(n("会话连接尚未就绪,请稍后重试。","warning"),!1):a.value===de&&W():!1},onNew:te,showInfo:x,currentModel:()=>o.value.model}),z=O(Kr(Dd)==="1"),ee=`(max-width: ${Dy-1}px)`,J=(tr=(xs=globalThis.window)==null?void 0:xs.matchMedia)==null?void 0:tr.call(xs,ee),R=O((J==null?void 0:J.matches)??!1);function K(de){R.value=de.matches}const N=G(()=>R.value||z.value);function Q(){if(R.value){A.value=!A.value;return}z.value=!z.value,Zr(Dd,z.value?"1":"0")}const $=O(window.innerWidth),H=G(()=>$.value>=Fl);function q(){$.value=window.innerWidth}const se=Sc({storageKey:"scream-sidebar-width",minWidth:kc,maxWidth:()=>By({viewportWidth:$.value,rightPanelOpen:we.panelOpen,rightPanelWidth:Oe.value}),defaultWidth:Ny,side:"left",canDrag:()=>!N.value,acceptStoredWidth:de=>de<=Vr}),fe=se.width,ye=se.resizing,Ee=G(()=>Fy({viewportWidth:$.value,sidebarOpen:!z.value,sidebarWidth:N.value?wc:fe.value})),ke=Sc({storageKey:"scream-right-panel-width",minWidth:Wa,maxWidth:()=>Ee.value,defaultWidth:()=>Gy($.value),side:"right"}),be=ke.resizing,Oe=ke.effectiveWidth,lt=O(!1);function gt(){jl(!1)}Se(H,()=>{be.value&&ke.release()}),Se(N,()=>{N.value&&ye.value&&se.release()}),Se(R,de=>{de||(A.value=!1)}),Se(()=>we.panelOpen,de=>{de||(lt.value=!1)});const sn=G(()=>({"--sidebar-track":`${N.value?wc:fe.value}px`,"--sidebar-width":`${fe.value}px`,"--dock-track":`${we.panelOpen&&H.value&&!lt.value?Oe.value:0}px`})),Ss={detail:DR,control:l2,agents:A2,run:Zp,git:qp,todo:Yp,goal:Vp,like:Kp},mt=G(()=>we.tabs.filter(de=>de.kind!=="file")),Nt=G(()=>{var de;return((de=Va())==null?void 0:de.kind)??"file"}),_s=G(()=>{const de=Va();return de?Yr(de.id):void 0}),$s=qa("file-pane"),oo=G(()=>Nt.value==="file");function Ui(de){vs(de.path,{modeHint:"diff",label:de.display})}const on={refresh:()=>B(),diff:Ui};function Cs(de){switch(de){case"detail":return{client:t};case"control":return{client:t};case"agents":return{subagents:t.subagents.value};case"run":return{status:t.status.value,busy:t.isBusy.value,connectionStatus:t.connectionStatus.value};case"git":return{gitStatus:t.gitStatus.value};case"todo":return{todos:t.todos.value};case"like":return{like:t.like.value,updateLike:t.updateLike};case"goal":return{goal:t.goal.value,sessionId:t.sessionId.value,connectionStatus:t.connectionStatus.value,busy:t.isBusy.value,archived:t.isArchived.value,pending:t.goalRequestPending.value,error:t.goalRequestError.value,refineGoal:t.refineGoal,createGoal:t.createGoal,updateGoal:t.updateGoal,pauseGoal:t.pauseGoal,resumeGoal:t.resumeGoal,cancelGoal:t.cancelGoal}}}function ji(de){return de==="git"?on:{}}const ro=O(Kr(Nd)==="goal"?"goal":"chat");function zi(de){ro.value=de,Zr(Nd,de)}function er(de){if((de.metaKey||de.ctrlKey)&&de.key==="k")de.preventDefault(),N.value&&!A.value&&Q(),Fe(()=>{var ve,L;return(L=(ve=T.value)==null?void 0:ve.focusSearch)==null?void 0:L.call(ve)});else if((de.metaKey||de.ctrlKey)&&de.key==="n")de.preventDefault(),te();else if(de.key==="Escape"&&r.value){const ve=de.target;ve&&(ve.tagName==="TEXTAREA"||ve.tagName==="INPUT")||(de.preventDefault(),D())}}return et(()=>{var de;window.addEventListener("keydown",er),window.addEventListener("resize",q),(de=J==null?void 0:J.addEventListener)==null||de.call(J,"change",K),_(),B()}),st(()=>{var de;window.removeEventListener("keydown",er),window.removeEventListener("resize",q),(de=J==null?void 0:J.removeEventListener)==null||de.call(J,"change",K)}),(de,ve)=>(m(),v("div",{class:ue(["shell",{"sidebar-collapsed":N.value,resizing:F(ye)||F(be),"right-panel-open":F(we).panelOpen&&H.value,"dock-maximized":F(we).panelOpen&&lt.value}]),style:bt(sn.value)},[X(Ld,{ref_key:"sidebarRef",ref:T,view:E.value,sessions:F(i),"current-session-id":F(a),"work-dir":F(l),"git-status":F(u),"refresh-git":F(B),collapsed:N.value,onNavigate:j,onSwitchSession:Ue,onDeleteSession:F(k),onCreateSession:te,onToggleCollapse:Q,onOpenFile:Ke,onRenameSession:Ye},null,8,["view","sessions","current-session-id","work-dir","git-status","refresh-git","collapsed","onDeleteSession"]),N.value?U("",!0):(m(),v("div",{key:0,class:ue(["panel-resize-handle panel-resize-handle--left",{resizing:F(ye)}]),role:"separator","aria-orientation":"vertical","aria-label":"调整侧栏宽度","aria-valuenow":F(fe),"aria-valuemin":F(kc),"aria-valuemax":F(Vr),tabindex:"0",title:"拖拽调整宽度 · 双击复位",onPointerdown:ve[0]||(ve[0]=(...L)=>F(se).onPointerDown&&F(se).onPointerDown(...L)),onPointermove:ve[1]||(ve[1]=(...L)=>F(se).onPointerMove&&F(se).onPointerMove(...L)),onPointerup:ve[2]||(ve[2]=(...L)=>F(se).onPointerUp&&F(se).onPointerUp(...L)),onPointercancel:ve[3]||(ve[3]=(...L)=>F(se).onPointerUp&&F(se).onPointerUp(...L)),onDblclick:ve[4]||(ve[4]=(...L)=>F(se).reset&&F(se).reset(...L)),onKeydown:ve[5]||(ve[5]=(...L)=>F(se).onKeydown&&F(se).onKeydown(...L))},null,42,rN)),A.value?(m(),v("div",{key:1,class:"sidebar-backdrop","aria-hidden":"true",onClick:ve[6]||(ve[6]=L=>A.value=!1)})):U("",!0),A.value?(m(),v("div",iN,[X(Ld,{view:E.value,sessions:F(i),"current-session-id":F(a),"work-dir":F(l),"git-status":F(u),"refresh-git":F(B),"show-collapse-toggle":!1,onNavigate:j,onSwitchSession:Ue,onDeleteSession:F(k),onCreateSession:te,onOpenFile:Ke,onRenameSession:Ye},null,8,["view","sessions","current-session-id","work-dir","git-status","refresh-git","onDeleteSession"])])):U("",!0),h("main",aN,[h("header",lN,[h("div",uN,[h("button",{class:"topbar-icon mobile-menu",title:"菜单","aria-label":"打开菜单",onClick:ve[7]||(ve[7]=L=>A.value=!0)},[X(ce,{name:"menu",size:20})]),F(r)?(m(),v("span",cN,[...ve[18]||(ve[18]=[h("span",{class:"running-dot","aria-hidden":"true"},null,-1),h("span",{class:"running-text"},"运行中",-1)])])):U("",!0)])]),h("div",dN,[E.value==="home"?(m(),De(oN,{key:0,ref_key:"workspaceHomeRef",ref:ae,models:F(c),status:F(o),busy:F(r),mode:ro.value,"recent-work-dirs":_e.value,"onUpdate:mode":zi,onSend:$e,onAbort:F(D),onCommand:F(P),onSwitchModel:F(w),onSwitchThinking:F(b)},null,8,["models","status","busy","mode","recent-work-dirs","onAbort","onCommand","onSwitchModel","onSwitchThinking"])):E.value==="chat"?(m(),De(AE,{key:1,ref_key:"conversationRef",ref:he,client:F(t),onHome:ve[8]||(ve[8]=L=>E.value="home")},null,8,["client"])):E.value==="skills"?(m(),De(TD,{key:2,"inject-draft":pe,onCreate:te})):E.value==="settings"?(m(),De(Xp,{key:3,like:F(d),client:F(t),onUpdateLike:F(t).updateLike},null,8,["like","client","onUpdateLike"])):U("",!0)])]),F(we).panelOpen&&!H.value?(m(),v("div",{key:3,class:"right-panel-backdrop","aria-hidden":"true",onClick:gt})):U("",!0),F(we).panelOpen&&H.value&&!lt.value?(m(),v("div",{key:4,class:ue(["panel-resize-handle panel-resize-handle--right",{resizing:F(be)}]),role:"separator","aria-orientation":"vertical","aria-label":"调整右栏宽度","aria-valuenow":F(Oe),"aria-valuemin":F(Wa),"aria-valuemax":Ee.value,tabindex:"0",title:"拖拽调整宽度 · 双击复位",onPointerdown:ve[9]||(ve[9]=(...L)=>F(ke).onPointerDown&&F(ke).onPointerDown(...L)),onPointermove:ve[10]||(ve[10]=(...L)=>F(ke).onPointerMove&&F(ke).onPointerMove(...L)),onPointerup:ve[11]||(ve[11]=(...L)=>F(ke).onPointerUp&&F(ke).onPointerUp(...L)),onPointercancel:ve[12]||(ve[12]=(...L)=>F(ke).onPointerUp&&F(ke).onPointerUp(...L)),onDblclick:ve[13]||(ve[13]=(...L)=>F(ke).reset&&F(ke).reset(...L)),onKeydown:ve[14]||(ve[14]=(...L)=>F(ke).onKeydown&&F(ke).onKeydown(...L))},null,42,fN)):U("",!0),F(we).panelOpen?(m(),v("aside",{key:5,class:ue(["right-panel",{overlay:!H.value,maximized:lt.value}]),role:H.value?void 0:"dialog","aria-modal":H.value?void 0:"true","aria-label":"右栏"},[X(OD,{maximized:lt.value,"show-maximize":H.value,"onUpdate:maximized":ve[15]||(ve[15]=L=>lt.value=L),onCollapse:gt},null,8,["maximized","show-maximize"]),h("div",pN,[Ze(h("div",{id:F($s),class:"dock-pane dock-pane--file",role:"tabpanel","aria-labelledby":oo.value?_s.value:void 0,tabindex:"0"},[X(aA,{client:F(t)},null,8,["client"])],8,gN),[[Fr,oo.value]]),(m(!0),v(ne,null,Ce(mt.value,L=>Ze((m(),v("div",{key:L.id,class:ue(["dock-pane",`dock-pane--${L.kind}`]),"data-dock-tab":L.kind,id:F(qa)(L.id),role:"tabpanel","aria-labelledby":F(Yr)(L.id),tabindex:"0"},[(m(),De(Tf(Ss[L.kind]),Kf({ref_for:!0},Cs(L.kind),hm(ji(L.kind))),null,16))],10,mN)),[[Fr,L.id===F(we).activeTabId]])),128))])],10,hN)):U("",!0),rt.value?(m(),De(wh,{key:6,mode:Dt.value,status:F(o),"session-id":F(a),"work-dir":F(l),onClose:ve[16]||(ve[16]=L=>rt.value=!1)},null,8,["mode","status","session-id","work-dir"])):U("",!0),X(sL),X(GM,{open:me.value,models:F(c),"recent-work-dirs":_e.value,"default-dir":F(V)??"","current-model":F(o).model??"",onClose:ve[17]||(ve[17]=L=>me.value=!1),onConfirm:I},null,8,["open","models","recent-work-dirs","default-dir","current-model"])],6))}}),yN=Te(vN,[["__scopeId","data-v-b626c063"]]),bN=["src","alt"],kN={key:1,class:"lightbox-note",role:"alert"},wN=Ie({__name:"ImageLightbox",setup(e){const t=O(null),n=O(!1);Se(()=>jn.open,r=>{const i=t.value;i&&(r?(n.value=!1,i.open||i.showModal()):i.open&&i.close())});function s(r){r.preventDefault(),ka()}function o(r){r.target===t.value&&ka()}return(r,i)=>(m(),v("dialog",{ref_key:"dialogRef",ref:t,class:"image-lightbox","aria-label":"图片预览",onCancel:s,onClick:o},[F(jn).open?(m(),v("img",{key:0,class:"lightbox-img",src:F(jn).src,alt:F(jn).alt||"图片预览",onError:i[0]||(i[0]=a=>n.value=!0)},null,40,bN)):U("",!0),n.value?(m(),v("p",kN,"图片加载失败")):U("",!0),h("button",{type:"button",class:"lightbox-close","aria-label":"关闭预览",title:"关闭(Esc)",onClick:i[1]||(i[1]=a=>F(ka)())},[X(ce,{name:"x",size:16})])],544))}}),SN=Te(wN,[["__scopeId","data-v-7d7939d6"]]),_N={class:"toast-container"},$N=["onClick"],CN={class:"toast-icon"},xN={class:"toast-msg"},IN=Ie({__name:"Toast",setup(e){const{toasts:t,removeToast:n}=Qs(),s={info:"ℹ",success:"✓",error:"✗",warning:"⚠"};return(o,r)=>(m(),De(Js,{to:"body"},[h("div",_N,[X($v,{name:"toast"},{default:ot(()=>[(m(!0),v(ne,null,Ce(F(t),i=>(m(),v("div",{key:i.id,class:ue(["toast",`toast--${i.type}`]),onClick:a=>F(n)(i.id)},[h("span",CN,C(s[i.type]),1),h("span",xN,C(i.message),1)],10,$N))),128))]),_:1})])]))}}),TN=Te(IN,[["__scopeId","data-v-a432e638"]]),EN={class:"app"},AN=Ie({__name:"App",setup(e){const t=O("system"),n=O("dark");yr("effectiveTheme",n),yr("theme",t);const s={light:"#ffffff",dark:"#101113"};function o(){const l=document.documentElement,u=window.matchMedia("(prefers-color-scheme: dark)").matches,c=t.value==="system"?u?"dark":"light":t.value;n.value=c,l.dataset.theme=c;const d=document.querySelector('meta[name="theme-color"]');d&&d.setAttribute("content",s[c])}let r=null;function i(l){const u=t.value;if(t.value=l,Zr("scream-theme",l),u===l)return;const c=document.documentElement,d=typeof window.matchMedia=="function"&&window.matchMedia("(prefers-reduced-motion: reduce)").matches,f=()=>{c.classList.add("theme-transition"),o(),r!==null&&clearTimeout(r),r=window.setTimeout(()=>c.classList.remove("theme-transition"),320)},p=document;if(typeof p.startViewTransition=="function"&&!d){p.startViewTransition(()=>{o()}).finished.then(()=>c.classList.remove("theme-transition"),()=>{c.classList.remove("theme-transition")});return}f()}yr("setTheme",i),et(()=>{const l=Kr("scream-theme");(l==="light"||l==="dark"||l==="system")&&(t.value=l),o()}),Se(t,o);const a=window.matchMedia("(prefers-color-scheme: dark)");return a.addEventListener("change",o),st(()=>{a.removeEventListener("change",o),r!==null&&clearTimeout(r),document.documentElement.classList.remove("theme-transition")}),(l,u)=>(m(),v("div",EN,[X(yN),X(SN),X(TN)]))}}),MN=Te(AN,[["__scopeId","data-v-6c4eed55"]]);Dv(MN).mount("#app");
240
+ //# sourceMappingURL=index-BTL8OnOo.js.map