openfox 2.0.66 → 2.0.68
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.
- package/dist/{chat-handler-ZRDNSLOG.js → chat-handler-QFEHJBWN.js} +13 -12
- package/dist/{chunk-R7EED6ZU.js → chunk-32KLLK4N.js} +3 -3
- package/dist/{chunk-WNA5VPZG.js → chunk-4QBDV6LX.js} +16 -13
- package/dist/{chunk-TMHWQYWE.js → chunk-64GN6OPR.js} +2 -2
- package/dist/{chunk-3ACDQKK6.js → chunk-6LK47TNE.js} +37 -138
- package/dist/{chunk-5EO6SEGV.js → chunk-7OW6X764.js} +2 -2
- package/dist/{chunk-ZUM2ZJOX.js → chunk-COWJRBV4.js} +54 -16
- package/dist/{chunk-OE5B44P6.js → chunk-DWZEGLHJ.js} +409 -143
- package/dist/{chunk-B7WGOK7G.js → chunk-E4POUD2M.js} +2 -2
- package/dist/{chunk-UBIHP5Z7.js → chunk-FCLCEIY4.js} +7 -33
- package/dist/{chunk-BL5LOLVA.js → chunk-JHGKXQBO.js} +161 -28
- package/dist/{chunk-R4UTFE63.js → chunk-QFSDJIUS.js} +8 -5
- package/dist/{chunk-BGTEIA2S.js → chunk-TFCHWMOJ.js} +23 -30
- package/dist/{chunk-OBK3I4KD.js → chunk-VLV3XWZS.js} +57 -3
- package/dist/chunk-X5DOUA3Z.js +66 -0
- package/dist/{chunk-PVRSNXD4.js → chunk-XUPKS5FL.js} +5 -3
- package/dist/{chunk-5V5DM5E4.js → chunk-YQ3MEZJL.js} +2 -2
- package/dist/cli/dev.js +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/{client-BUX62J2K.js → client-63U5CTPE.js} +3 -3
- package/dist/{client-pure-U6ZYUPJQ.js → client-pure-XHH4RRLB.js} +2 -2
- package/dist/{compactor-V43WJ3WX.js → compactor-IPMMFFHM.js} +6 -4
- package/dist/{inspect-proxy-PKMDR47R.js → inspect-proxy-OVEFBJ26.js} +2 -2
- package/dist/{manager-344C5JLZ.js → manager-JXYRGR6B.js} +6 -2
- package/dist/{orchestrator-LZQTDOWM.js → orchestrator-GNXKJPX4.js} +12 -13
- package/dist/package.json +4 -2
- package/dist/platform-AB3GIEGO.js +21 -0
- package/dist/{processor-7KAXESY5.js → processor-TIQEQDP7.js} +13 -12
- package/dist/{protocol-42f_Png6.d.ts → protocol-DIhV-tAc.d.ts} +1 -1
- package/dist/provider/index.d.ts +4 -4
- package/dist/{provider-BDH6JGZB.js → provider-IBIWR4AI.js} +4 -4
- package/dist/{provider-manager-D3KIOD5E.js → provider-manager-7C3JVOLW.js} +4 -4
- package/dist/{serve-HGHFN3D2.js → serve-QVVZ5SJE.js} +17 -16
- package/dist/server/index.d.ts +3 -3
- package/dist/server/index.js +16 -15
- package/dist/{server-W42ENYFX.js → server-ECKS2Y3R.js} +14 -13
- package/dist/{settings-ZZ6AKFPD.js → settings-6ZPWOBWL.js} +2 -2
- package/dist/shared/index.d.ts +3 -3
- package/dist/{tools-2EB7C6H2.js → tools-QAEN5KHA.js} +11 -10
- package/dist/{types-vezAEt_y.d.ts → types-BsfYpEai.d.ts} +2 -1
- package/dist/{types-apiMd7Df.d.ts → types-CBC6lLqc.d.ts} +1 -1
- package/dist/web/assets/{index-B0Q5uK2h.css → index-BA_65WJ5.css} +1 -1
- package/dist/web/assets/index-CsZQdTAd.js +303 -0
- package/dist/web/index.html +2 -2
- package/dist/web/sw.js +1 -1
- package/dist/{worktree-EIF75WGF.js → worktree-6U45P63P.js} +6 -2
- package/package.json +4 -2
- package/plugins-registry.json +14 -0
- package/dist/web/assets/index-BhQN93bI.js +0 -303
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/angular-html-DA-rfuFy.js","assets/html-pp8916En.js","assets/javascript-wDzz0qaB.js","assets/css-CLj8gQPS.js","assets/angular-ts-BrjP3tb8.js","assets/scss-D5BDwBP9.js","assets/apl-CORt7UWP.js","assets/xml-sdJ4AIDG.js","assets/java-CylS5w8V.js","assets/json-Cp-IABpG.js","assets/astro-HNnZUWAn.js","assets/typescript-BPQ3VLAy.js","assets/postcss-CXtECtnM.js","assets/tsx-COt5Ahok.js","assets/blade-2xfisSek.js","assets/html-derivative-DlHx6ybY.js","assets/sql-CRqJ_cUM.js","assets/bsl-BO_Y6i37.js","assets/sdbl-DVxCFoDh.js","assets/cairo-KRGpt6FW.js","assets/python-B6aJPvgy.js","assets/cobol-nBiQ_Alo.js","assets/coffee-Ch7k5sss.js","assets/cpp-UfJy6YNI.js","assets/regexp-CDVJQ6XC.js","assets/glsl-DplSGwfg.js","assets/c-BIGW1oBm.js","assets/crystal-DGywbUpC.js","assets/shellscript-Yzrsuije.js","assets/edge-FbVlp4U3.js","assets/elixir-CkH2-t6x.js","assets/elm-DbKCFpqz.js","assets/erb-Dm6A9KJ5.js","assets/ruby-DyJCeAvU.js","assets/haml-D5jkg6IW.js","assets/graphql-ChdNCCLP.js","assets/jsx-g9-lgVsj.js","assets/lua-BaeVxFsk.js","assets/yaml-Buea-lGh.js","assets/erlang-DsQrWhSR.js","assets/markdown-Cvjx9yec.js","assets/fortran-fixed-form-CkoXwp7k.js","assets/fortran-free-form-BxgE0vQu.js","assets/fsharp-CXgrBDvD.js","assets/gdresource-BOOCDP_w.js","assets/gdshader-DkwncUOv.js","assets/gdscript-C5YyOfLZ.js","assets/git-commit-F4YmCXRG.js","assets/diff-D97Zzqfu.js","assets/git-rebase-r7XF79zn.js","assets/glimmer-js-ByusRIyA.js","assets/glimmer-ts-BfAWNZQY.js","assets/hack-DbPARsA_.js","assets/handlebars-BpdQsYii.js","assets/http-jrhK8wxY.js","assets/hurl-irOxFIW8.js","assets/csv-fuZLfV_i.js","assets/hxml-Bvhsp5Yf.js","assets/haxe-CzTSHFRz.js","assets/jinja-f2NsQr07.js","assets/jison-wvAkD_A8.js","assets/julia-D7OTSIA_.js","assets/r-Dspwwk_N.js","assets/just-CUsbIsdP.js","assets/perl-B9cMNwum.js","assets/latex-CaSxy8MP.js","assets/tex-idrVyKtj.js","assets/liquid-C0sCDyMI.js","assets/marko-DjSrsDqO.js","assets/less-B1dDrJ26.js","assets/mdc-DTYItulj.js","assets/nextflow-C-mBbutL.js","assets/nextflow-groovy-vE_lwT2v.js","assets/nginx-BpAMiNFr.js","assets/nim-BIad80T-.js","assets/php-Csjmro_R.js","assets/pug-DKIMFp6K.js","assets/qml-3beO22l8.js","assets/razor-BjBPvh-w.js","assets/csharp-DSvCPggb.js","assets/rst-CpCqk9r5.js","assets/cmake-D1j8_8rp.js","assets/sas-DEy46yEz.js","assets/shaderlab-Dg9Lc6iA.js","assets/hlsl-D3lLCCz7.js","assets/shellsession-BADoaaVG.js","assets/soy-8wufbnw4.js","assets/sparql-rVzFXLq3.js","assets/turtle-BsS91CYL.js","assets/stata-DI20mbqo.js","assets/surrealql-Bq5Q-fJD.js","assets/svelte-Cy7k_4gC.js","assets/templ-DhtptRzy.js","assets/go-C27-OAKa.js","assets/ts-tags-D351s5mN.js","assets/twig-CW1WmMYd.js","assets/vue-D2xRrEX4.js","assets/vue-html-AaS7Mt5G.js","assets/vue-vine-BoDAl6tE.js","assets/stylus-BEDo0Tqx.js","assets/xsl-CtQFsRM5.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
var I2=Object.defineProperty;var M2=Object.getPrototypeOf;var P2=Reflect.get;var __=e=>{throw TypeError(e)};var B2=(e,t,n)=>t in e?I2(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var be=(e,t,n)=>B2(e,typeof t!="symbol"?t+"":t,n),Uf=(e,t,n)=>t.has(e)||__("Cannot "+n);var Rn=(e,t,n)=>(Uf(e,t,"read from private field"),n?n.call(e):t.get(e)),Si=(e,t,n)=>t.has(e)?__("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,n),Nr=(e,t,n,r)=>(Uf(e,t,"write to private field"),r?r.call(e,n):t.set(e,n),n),Ff=(e,t,n)=>(Uf(e,t,"access private method"),n);var v_=(e,t,n)=>P2(M2(e),n,t);function $2(e,t){for(var n=0;n<t.length;n++){const r=t[n];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in e)){const l=Object.getOwnPropertyDescriptor(r,o);l&&Object.defineProperty(e,o,l.get?l:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))r(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&r(u)}).observe(document,{childList:!0,subtree:!0});function n(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(o){if(o.ep)return;o.ep=!0;const l=n(o);fetch(o.href,l)}})();function ed(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Vf={exports:{}},Ko={};/**
|
|
3
|
+
* @license React
|
|
4
|
+
* react-jsx-runtime.production.js
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/var S_;function z2(){if(S_)return Ko;S_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function n(r,o,l){var u=null;if(l!==void 0&&(u=""+l),o.key!==void 0&&(u=""+o.key),"key"in o){l={};for(var c in o)c!=="key"&&(l[c]=o[c])}else l=o;return o=l.ref,{$$typeof:e,type:r,key:u,ref:o!==void 0?o:null,props:l}}return Ko.Fragment=t,Ko.jsx=n,Ko.jsxs=n,Ko}var w_;function H2(){return w_||(w_=1,Vf.exports=z2()),Vf.exports}var i=H2(),Gf={exports:{}},it={};/**
|
|
11
|
+
* @license React
|
|
12
|
+
* react.production.js
|
|
13
|
+
*
|
|
14
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
15
|
+
*
|
|
16
|
+
* This source code is licensed under the MIT license found in the
|
|
17
|
+
* LICENSE file in the root directory of this source tree.
|
|
18
|
+
*/var C_;function U2(){if(C_)return it;C_=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.portal"),n=Symbol.for("react.fragment"),r=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.consumer"),u=Symbol.for("react.context"),c=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),f=Symbol.for("react.memo"),p=Symbol.for("react.lazy"),m=Symbol.for("react.activity"),x=Symbol.iterator;function y(M){return M===null||typeof M!="object"?null:(M=x&&M[x]||M["@@iterator"],typeof M=="function"?M:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,v={};function S(M,q,B){this.props=M,this.context=q,this.refs=v,this.updater=B||w}S.prototype.isReactComponent={},S.prototype.setState=function(M,q){if(typeof M!="object"&&typeof M!="function"&&M!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,M,q,"setState")},S.prototype.forceUpdate=function(M){this.updater.enqueueForceUpdate(this,M,"forceUpdate")};function _(){}_.prototype=S.prototype;function b(M,q,B){this.props=M,this.context=q,this.refs=v,this.updater=B||w}var j=b.prototype=new _;j.constructor=b,C(j,S.prototype),j.isPureReactComponent=!0;var E=Array.isArray;function T(){}var D={H:null,A:null,T:null,S:null},L=Object.prototype.hasOwnProperty;function O(M,q,B){var ee=B.ref;return{$$typeof:e,type:M,key:q,ref:ee!==void 0?ee:null,props:B}}function P(M,q){return O(M.type,q,M.props)}function G(M){return typeof M=="object"&&M!==null&&M.$$typeof===e}function W(M){var q={"=":"=0",":":"=2"};return"$"+M.replace(/[=:]/g,function(B){return q[B]})}var I=/\/+/g;function H(M,q){return typeof M=="object"&&M!==null&&M.key!=null?W(""+M.key):q.toString(36)}function V(M){switch(M.status){case"fulfilled":return M.value;case"rejected":throw M.reason;default:switch(typeof M.status=="string"?M.then(T,T):(M.status="pending",M.then(function(q){M.status==="pending"&&(M.status="fulfilled",M.value=q)},function(q){M.status==="pending"&&(M.status="rejected",M.reason=q)})),M.status){case"fulfilled":return M.value;case"rejected":throw M.reason}}throw M}function U(M,q,B,ee,J){var ne=typeof M;(ne==="undefined"||ne==="boolean")&&(M=null);var K=!1;if(M===null)K=!0;else switch(ne){case"bigint":case"string":case"number":K=!0;break;case"object":switch(M.$$typeof){case e:case t:K=!0;break;case p:return K=M._init,U(K(M._payload),q,B,ee,J)}}if(K)return J=J(M),K=ee===""?"."+H(M,0):ee,E(J)?(B="",K!=null&&(B=K.replace(I,"$&/")+"/"),U(J,q,B,"",function(re){return re})):J!=null&&(G(J)&&(J=P(J,B+(J.key==null||M&&M.key===J.key?"":(""+J.key).replace(I,"$&/")+"/")+K)),q.push(J)),1;K=0;var F=ee===""?".":ee+":";if(E(M))for(var te=0;te<M.length;te++)ee=M[te],ne=F+H(ee,te),K+=U(ee,q,B,ne,J);else if(te=y(M),typeof te=="function")for(M=te.call(M),te=0;!(ee=M.next()).done;)ee=ee.value,ne=F+H(ee,te++),K+=U(ee,q,B,ne,J);else if(ne==="object"){if(typeof M.then=="function")return U(V(M),q,B,ee,J);throw q=String(M),Error("Objects are not valid as a React child (found: "+(q==="[object Object]"?"object with keys {"+Object.keys(M).join(", ")+"}":q)+"). If you meant to render a collection of children, use an array instead.")}return K}function Q(M,q,B){if(M==null)return M;var ee=[],J=0;return U(M,ee,"","",function(ne){return q.call(B,ne,J++)}),ee}function X(M){if(M._status===-1){var q=M._result;q=q(),q.then(function(B){(M._status===0||M._status===-1)&&(M._status=1,M._result=B)},function(B){(M._status===0||M._status===-1)&&(M._status=2,M._result=B)}),M._status===-1&&(M._status=0,M._result=q)}if(M._status===1)return M._result.default;throw M._result}var z=typeof reportError=="function"?reportError:function(M){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var q=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof M=="object"&&M!==null&&typeof M.message=="string"?String(M.message):String(M),error:M});if(!window.dispatchEvent(q))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",M);return}console.error(M)},R={map:Q,forEach:function(M,q,B){Q(M,function(){q.apply(this,arguments)},B)},count:function(M){var q=0;return Q(M,function(){q++}),q},toArray:function(M){return Q(M,function(q){return q})||[]},only:function(M){if(!G(M))throw Error("React.Children.only expected to receive a single React element child.");return M}};return it.Activity=m,it.Children=R,it.Component=S,it.Fragment=n,it.Profiler=o,it.PureComponent=b,it.StrictMode=r,it.Suspense=d,it.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=D,it.__COMPILER_RUNTIME={__proto__:null,c:function(M){return D.H.useMemoCache(M)}},it.cache=function(M){return function(){return M.apply(null,arguments)}},it.cacheSignal=function(){return null},it.cloneElement=function(M,q,B){if(M==null)throw Error("The argument must be a React element, but you passed "+M+".");var ee=C({},M.props),J=M.key;if(q!=null)for(ne in q.key!==void 0&&(J=""+q.key),q)!L.call(q,ne)||ne==="key"||ne==="__self"||ne==="__source"||ne==="ref"&&q.ref===void 0||(ee[ne]=q[ne]);var ne=arguments.length-2;if(ne===1)ee.children=B;else if(1<ne){for(var K=Array(ne),F=0;F<ne;F++)K[F]=arguments[F+2];ee.children=K}return O(M.type,J,ee)},it.createContext=function(M){return M={$$typeof:u,_currentValue:M,_currentValue2:M,_threadCount:0,Provider:null,Consumer:null},M.Provider=M,M.Consumer={$$typeof:l,_context:M},M},it.createElement=function(M,q,B){var ee,J={},ne=null;if(q!=null)for(ee in q.key!==void 0&&(ne=""+q.key),q)L.call(q,ee)&&ee!=="key"&&ee!=="__self"&&ee!=="__source"&&(J[ee]=q[ee]);var K=arguments.length-2;if(K===1)J.children=B;else if(1<K){for(var F=Array(K),te=0;te<K;te++)F[te]=arguments[te+2];J.children=F}if(M&&M.defaultProps)for(ee in K=M.defaultProps,K)J[ee]===void 0&&(J[ee]=K[ee]);return O(M,ne,J)},it.createRef=function(){return{current:null}},it.forwardRef=function(M){return{$$typeof:c,render:M}},it.isValidElement=G,it.lazy=function(M){return{$$typeof:p,_payload:{_status:-1,_result:M},_init:X}},it.memo=function(M,q){return{$$typeof:f,type:M,compare:q===void 0?null:q}},it.startTransition=function(M){var q=D.T,B={};D.T=B;try{var ee=M(),J=D.S;J!==null&&J(B,ee),typeof ee=="object"&&ee!==null&&typeof ee.then=="function"&&ee.then(T,z)}catch(ne){z(ne)}finally{q!==null&&B.types!==null&&(q.types=B.types),D.T=q}},it.unstable_useCacheRefresh=function(){return D.H.useCacheRefresh()},it.use=function(M){return D.H.use(M)},it.useActionState=function(M,q,B){return D.H.useActionState(M,q,B)},it.useCallback=function(M,q){return D.H.useCallback(M,q)},it.useContext=function(M){return D.H.useContext(M)},it.useDebugValue=function(){},it.useDeferredValue=function(M,q){return D.H.useDeferredValue(M,q)},it.useEffect=function(M,q){return D.H.useEffect(M,q)},it.useEffectEvent=function(M){return D.H.useEffectEvent(M)},it.useId=function(){return D.H.useId()},it.useImperativeHandle=function(M,q,B){return D.H.useImperativeHandle(M,q,B)},it.useInsertionEffect=function(M,q){return D.H.useInsertionEffect(M,q)},it.useLayoutEffect=function(M,q){return D.H.useLayoutEffect(M,q)},it.useMemo=function(M,q){return D.H.useMemo(M,q)},it.useOptimistic=function(M,q){return D.H.useOptimistic(M,q)},it.useReducer=function(M,q,B){return D.H.useReducer(M,q,B)},it.useRef=function(M){return D.H.useRef(M)},it.useState=function(M){return D.H.useState(M)},it.useSyncExternalStore=function(M,q,B){return D.H.useSyncExternalStore(M,q,B)},it.useTransition=function(){return D.H.useTransition()},it.version="19.2.4",it}var k_;function td(){return k_||(k_=1,Gf.exports=U2()),Gf.exports}var A=td();const Xs=ed(A),F2=$2({__proto__:null,default:Xs},[A]);var Wf={exports:{}},Yo={},qf={exports:{}},Kf={};/**
|
|
19
|
+
* @license React
|
|
20
|
+
* scheduler.production.js
|
|
21
|
+
*
|
|
22
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
23
|
+
*
|
|
24
|
+
* This source code is licensed under the MIT license found in the
|
|
25
|
+
* LICENSE file in the root directory of this source tree.
|
|
26
|
+
*/var E_;function V2(){return E_||(E_=1,(function(e){function t(U,Q){var X=U.length;U.push(Q);e:for(;0<X;){var z=X-1>>>1,R=U[z];if(0<o(R,Q))U[z]=Q,U[X]=R,X=z;else break e}}function n(U){return U.length===0?null:U[0]}function r(U){if(U.length===0)return null;var Q=U[0],X=U.pop();if(X!==Q){U[0]=X;e:for(var z=0,R=U.length,M=R>>>1;z<M;){var q=2*(z+1)-1,B=U[q],ee=q+1,J=U[ee];if(0>o(B,X))ee<R&&0>o(J,B)?(U[z]=J,U[ee]=X,z=ee):(U[z]=B,U[q]=X,z=q);else if(ee<R&&0>o(J,X))U[z]=J,U[ee]=X,z=ee;else break e}}return Q}function o(U,Q){var X=U.sortIndex-Q.sortIndex;return X!==0?X:U.id-Q.id}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,c=u.now();e.unstable_now=function(){return u.now()-c}}var d=[],f=[],p=1,m=null,x=3,y=!1,w=!1,C=!1,v=!1,S=typeof setTimeout=="function"?setTimeout:null,_=typeof clearTimeout=="function"?clearTimeout:null,b=typeof setImmediate<"u"?setImmediate:null;function j(U){for(var Q=n(f);Q!==null;){if(Q.callback===null)r(f);else if(Q.startTime<=U)r(f),Q.sortIndex=Q.expirationTime,t(d,Q);else break;Q=n(f)}}function E(U){if(C=!1,j(U),!w)if(n(d)!==null)w=!0,T||(T=!0,W());else{var Q=n(f);Q!==null&&V(E,Q.startTime-U)}}var T=!1,D=-1,L=5,O=-1;function P(){return v?!0:!(e.unstable_now()-O<L)}function G(){if(v=!1,T){var U=e.unstable_now();O=U;var Q=!0;try{e:{w=!1,C&&(C=!1,_(D),D=-1),y=!0;var X=x;try{t:{for(j(U),m=n(d);m!==null&&!(m.expirationTime>U&&P());){var z=m.callback;if(typeof z=="function"){m.callback=null,x=m.priorityLevel;var R=z(m.expirationTime<=U);if(U=e.unstable_now(),typeof R=="function"){m.callback=R,j(U),Q=!0;break t}m===n(d)&&r(d),j(U)}else r(d);m=n(d)}if(m!==null)Q=!0;else{var M=n(f);M!==null&&V(E,M.startTime-U),Q=!1}}break e}finally{m=null,x=X,y=!1}Q=void 0}}finally{Q?W():T=!1}}}var W;if(typeof b=="function")W=function(){b(G)};else if(typeof MessageChannel<"u"){var I=new MessageChannel,H=I.port2;I.port1.onmessage=G,W=function(){H.postMessage(null)}}else W=function(){S(G,0)};function V(U,Q){D=S(function(){U(e.unstable_now())},Q)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(U){U.callback=null},e.unstable_forceFrameRate=function(U){0>U||125<U?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):L=0<U?Math.floor(1e3/U):5},e.unstable_getCurrentPriorityLevel=function(){return x},e.unstable_next=function(U){switch(x){case 1:case 2:case 3:var Q=3;break;default:Q=x}var X=x;x=Q;try{return U()}finally{x=X}},e.unstable_requestPaint=function(){v=!0},e.unstable_runWithPriority=function(U,Q){switch(U){case 1:case 2:case 3:case 4:case 5:break;default:U=3}var X=x;x=U;try{return Q()}finally{x=X}},e.unstable_scheduleCallback=function(U,Q,X){var z=e.unstable_now();switch(typeof X=="object"&&X!==null?(X=X.delay,X=typeof X=="number"&&0<X?z+X:z):X=z,U){case 1:var R=-1;break;case 2:R=250;break;case 5:R=1073741823;break;case 4:R=1e4;break;default:R=5e3}return R=X+R,U={id:p++,callback:Q,priorityLevel:U,startTime:X,expirationTime:R,sortIndex:-1},X>z?(U.sortIndex=X,t(f,U),n(d)===null&&U===n(f)&&(C?(_(D),D=-1):C=!0,V(E,X-z))):(U.sortIndex=R,t(d,U),w||y||(w=!0,T||(T=!0,W()))),U},e.unstable_shouldYield=P,e.unstable_wrapCallback=function(U){var Q=x;return function(){var X=x;x=Q;try{return U.apply(this,arguments)}finally{x=X}}}})(Kf)),Kf}var j_;function G2(){return j_||(j_=1,qf.exports=V2()),qf.exports}var Yf={exports:{}},jn={};/**
|
|
27
|
+
* @license React
|
|
28
|
+
* react-dom.production.js
|
|
29
|
+
*
|
|
30
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
31
|
+
*
|
|
32
|
+
* This source code is licensed under the MIT license found in the
|
|
33
|
+
* LICENSE file in the root directory of this source tree.
|
|
34
|
+
*/var N_;function W2(){if(N_)return jn;N_=1;var e=td();function t(d){var f="https://react.dev/errors/"+d;if(1<arguments.length){f+="?args[]="+encodeURIComponent(arguments[1]);for(var p=2;p<arguments.length;p++)f+="&args[]="+encodeURIComponent(arguments[p])}return"Minified React error #"+d+"; visit "+f+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function n(){}var r={d:{f:n,r:function(){throw Error(t(522))},D:n,C:n,L:n,m:n,X:n,S:n,M:n},p:0,findDOMNode:null},o=Symbol.for("react.portal");function l(d,f,p){var m=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:m==null?null:""+m,children:d,containerInfo:f,implementation:p}}var u=e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function c(d,f){if(d==="font")return"";if(typeof f=="string")return f==="use-credentials"?f:""}return jn.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=r,jn.createPortal=function(d,f){var p=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!f||f.nodeType!==1&&f.nodeType!==9&&f.nodeType!==11)throw Error(t(299));return l(d,f,null,p)},jn.flushSync=function(d){var f=u.T,p=r.p;try{if(u.T=null,r.p=2,d)return d()}finally{u.T=f,r.p=p,r.d.f()}},jn.preconnect=function(d,f){typeof d=="string"&&(f?(f=f.crossOrigin,f=typeof f=="string"?f==="use-credentials"?f:"":void 0):f=null,r.d.C(d,f))},jn.prefetchDNS=function(d){typeof d=="string"&&r.d.D(d)},jn.preinit=function(d,f){if(typeof d=="string"&&f&&typeof f.as=="string"){var p=f.as,m=c(p,f.crossOrigin),x=typeof f.integrity=="string"?f.integrity:void 0,y=typeof f.fetchPriority=="string"?f.fetchPriority:void 0;p==="style"?r.d.S(d,typeof f.precedence=="string"?f.precedence:void 0,{crossOrigin:m,integrity:x,fetchPriority:y}):p==="script"&&r.d.X(d,{crossOrigin:m,integrity:x,fetchPriority:y,nonce:typeof f.nonce=="string"?f.nonce:void 0})}},jn.preinitModule=function(d,f){if(typeof d=="string")if(typeof f=="object"&&f!==null){if(f.as==null||f.as==="script"){var p=c(f.as,f.crossOrigin);r.d.M(d,{crossOrigin:p,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0})}}else f==null&&r.d.M(d)},jn.preload=function(d,f){if(typeof d=="string"&&typeof f=="object"&&f!==null&&typeof f.as=="string"){var p=f.as,m=c(p,f.crossOrigin);r.d.L(d,p,{crossOrigin:m,integrity:typeof f.integrity=="string"?f.integrity:void 0,nonce:typeof f.nonce=="string"?f.nonce:void 0,type:typeof f.type=="string"?f.type:void 0,fetchPriority:typeof f.fetchPriority=="string"?f.fetchPriority:void 0,referrerPolicy:typeof f.referrerPolicy=="string"?f.referrerPolicy:void 0,imageSrcSet:typeof f.imageSrcSet=="string"?f.imageSrcSet:void 0,imageSizes:typeof f.imageSizes=="string"?f.imageSizes:void 0,media:typeof f.media=="string"?f.media:void 0})}},jn.preloadModule=function(d,f){if(typeof d=="string")if(f){var p=c(f.as,f.crossOrigin);r.d.m(d,{as:typeof f.as=="string"&&f.as!=="script"?f.as:void 0,crossOrigin:p,integrity:typeof f.integrity=="string"?f.integrity:void 0})}else r.d.m(d)},jn.requestFormReset=function(d){r.d.r(d)},jn.unstable_batchedUpdates=function(d,f){return d(f)},jn.useFormState=function(d,f,p){return u.H.useFormState(d,f,p)},jn.useFormStatus=function(){return u.H.useHostTransitionStatus()},jn.version="19.2.4",jn}var T_;function CS(){if(T_)return Yf.exports;T_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Yf.exports=W2(),Yf.exports}/**
|
|
35
|
+
* @license React
|
|
36
|
+
* react-dom-client.production.js
|
|
37
|
+
*
|
|
38
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the MIT license found in the
|
|
41
|
+
* LICENSE file in the root directory of this source tree.
|
|
42
|
+
*/var A_;function q2(){if(A_)return Yo;A_=1;var e=G2(),t=td(),n=CS();function r(s){var a="https://react.dev/errors/"+s;if(1<arguments.length){a+="?args[]="+encodeURIComponent(arguments[1]);for(var h=2;h<arguments.length;h++)a+="&args[]="+encodeURIComponent(arguments[h])}return"Minified React error #"+s+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function o(s){return!(!s||s.nodeType!==1&&s.nodeType!==9&&s.nodeType!==11)}function l(s){var a=s,h=s;if(s.alternate)for(;a.return;)a=a.return;else{s=a;do a=s,(a.flags&4098)!==0&&(h=a.return),s=a.return;while(s)}return a.tag===3?h:null}function u(s){if(s.tag===13){var a=s.memoizedState;if(a===null&&(s=s.alternate,s!==null&&(a=s.memoizedState)),a!==null)return a.dehydrated}return null}function c(s){if(s.tag===31){var a=s.memoizedState;if(a===null&&(s=s.alternate,s!==null&&(a=s.memoizedState)),a!==null)return a.dehydrated}return null}function d(s){if(l(s)!==s)throw Error(r(188))}function f(s){var a=s.alternate;if(!a){if(a=l(s),a===null)throw Error(r(188));return a!==s?null:s}for(var h=s,g=a;;){var k=h.return;if(k===null)break;var N=k.alternate;if(N===null){if(g=k.return,g!==null){h=g;continue}break}if(k.child===N.child){for(N=k.child;N;){if(N===h)return d(k),s;if(N===g)return d(k),a;N=N.sibling}throw Error(r(188))}if(h.return!==g.return)h=k,g=N;else{for(var $=!1,Y=k.child;Y;){if(Y===h){$=!0,h=k,g=N;break}if(Y===g){$=!0,g=k,h=N;break}Y=Y.sibling}if(!$){for(Y=N.child;Y;){if(Y===h){$=!0,h=N,g=k;break}if(Y===g){$=!0,g=N,h=k;break}Y=Y.sibling}if(!$)throw Error(r(189))}}if(h.alternate!==g)throw Error(r(190))}if(h.tag!==3)throw Error(r(188));return h.stateNode.current===h?s:a}function p(s){var a=s.tag;if(a===5||a===26||a===27||a===6)return s;for(s=s.child;s!==null;){if(a=p(s),a!==null)return a;s=s.sibling}return null}var m=Object.assign,x=Symbol.for("react.element"),y=Symbol.for("react.transitional.element"),w=Symbol.for("react.portal"),C=Symbol.for("react.fragment"),v=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),_=Symbol.for("react.consumer"),b=Symbol.for("react.context"),j=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),T=Symbol.for("react.suspense_list"),D=Symbol.for("react.memo"),L=Symbol.for("react.lazy"),O=Symbol.for("react.activity"),P=Symbol.for("react.memo_cache_sentinel"),G=Symbol.iterator;function W(s){return s===null||typeof s!="object"?null:(s=G&&s[G]||s["@@iterator"],typeof s=="function"?s:null)}var I=Symbol.for("react.client.reference");function H(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===I?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case C:return"Fragment";case S:return"Profiler";case v:return"StrictMode";case E:return"Suspense";case T:return"SuspenseList";case O:return"Activity"}if(typeof s=="object")switch(s.$$typeof){case w:return"Portal";case b:return s.displayName||"Context";case _:return(s._context.displayName||"Context")+".Consumer";case j:var a=s.render;return s=s.displayName,s||(s=a.displayName||a.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case D:return a=s.displayName||null,a!==null?a:H(s.type)||"Memo";case L:a=s._payload,s=s._init;try{return H(s(a))}catch{}}return null}var V=Array.isArray,U=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q=n.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,X={pending:!1,data:null,method:null,action:null},z=[],R=-1;function M(s){return{current:s}}function q(s){0>R||(s.current=z[R],z[R]=null,R--)}function B(s,a){R++,z[R]=s.current,s.current=a}var ee=M(null),J=M(null),ne=M(null),K=M(null);function F(s,a){switch(B(ne,a),B(J,s),B(ee,null),a.nodeType){case 9:case 11:s=(s=a.documentElement)&&(s=s.namespaceURI)?Fb(s):0;break;default:if(s=a.tagName,a=a.namespaceURI)a=Fb(a),s=Vb(a,s);else switch(s){case"svg":s=1;break;case"math":s=2;break;default:s=0}}q(ee),B(ee,s)}function te(){q(ee),q(J),q(ne)}function re(s){s.memoizedState!==null&&B(K,s);var a=ee.current,h=Vb(a,s.type);a!==h&&(B(J,s),B(ee,h))}function ge(s){J.current===s&&(q(ee),q(J)),K.current===s&&(q(K),Vo._currentValue=X)}var _e,Be;function He(s){if(_e===void 0)try{throw Error()}catch(h){var a=h.stack.trim().match(/\n( *(at )?)/);_e=a&&a[1]||"",Be=-1<h.stack.indexOf(`
|
|
43
|
+
at`)?" (<anonymous>)":-1<h.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
44
|
+
`+_e+s+Be}var Ne=!1;function je(s,a){if(!s||Ne)return"";Ne=!0;var h=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var g={DetermineComponentFrameRoot:function(){try{if(a){var Ee=function(){throw Error()};if(Object.defineProperty(Ee.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Ee,[])}catch(xe){var me=xe}Reflect.construct(s,[],Ee)}else{try{Ee.call()}catch(xe){me=xe}s.call(Ee.prototype)}}else{try{throw Error()}catch(xe){me=xe}(Ee=s())&&typeof Ee.catch=="function"&&Ee.catch(function(){})}}catch(xe){if(xe&&me&&typeof xe.stack=="string")return[xe.stack,me.stack]}return[null,null]}};g.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var k=Object.getOwnPropertyDescriptor(g.DetermineComponentFrameRoot,"name");k&&k.configurable&&Object.defineProperty(g.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var N=g.DetermineComponentFrameRoot(),$=N[0],Y=N[1];if($&&Y){var se=$.split(`
|
|
45
|
+
`),he=Y.split(`
|
|
46
|
+
`);for(k=g=0;g<se.length&&!se[g].includes("DetermineComponentFrameRoot");)g++;for(;k<he.length&&!he[k].includes("DetermineComponentFrameRoot");)k++;if(g===se.length||k===he.length)for(g=se.length-1,k=he.length-1;1<=g&&0<=k&&se[g]!==he[k];)k--;for(;1<=g&&0<=k;g--,k--)if(se[g]!==he[k]){if(g!==1||k!==1)do if(g--,k--,0>k||se[g]!==he[k]){var Se=`
|
|
47
|
+
`+se[g].replace(" at new "," at ");return s.displayName&&Se.includes("<anonymous>")&&(Se=Se.replace("<anonymous>",s.displayName)),Se}while(1<=g&&0<=k);break}}}finally{Ne=!1,Error.prepareStackTrace=h}return(h=s?s.displayName||s.name:"")?He(h):""}function ae(s,a){switch(s.tag){case 26:case 27:case 5:return He(s.type);case 16:return He("Lazy");case 13:return s.child!==a&&a!==null?He("Suspense Fallback"):He("Suspense");case 19:return He("SuspenseList");case 0:case 15:return je(s.type,!1);case 11:return je(s.type.render,!1);case 1:return je(s.type,!0);case 31:return He("Activity");default:return""}}function ze(s){try{var a="",h=null;do a+=ae(s,h),h=s,s=s.return;while(s);return a}catch(g){return`
|
|
48
|
+
Error generating stack: `+g.message+`
|
|
49
|
+
`+g.stack}}var fe=Object.prototype.hasOwnProperty,ue=e.unstable_scheduleCallback,oe=e.unstable_cancelCallback,Oe=e.unstable_shouldYield,tt=e.unstable_requestPaint,Ze=e.unstable_now,vt=e.unstable_getCurrentPriorityLevel,ce=e.unstable_ImmediatePriority,Te=e.unstable_UserBlockingPriority,$e=e.unstable_NormalPriority,Ke=e.unstable_LowPriority,rt=e.unstable_IdlePriority,Et=e.log,at=e.unstable_setDisableYieldValue,pe=null,Ie=null;function We(s){if(typeof Et=="function"&&at(s),Ie&&typeof Ie.setStrictMode=="function")try{Ie.setStrictMode(pe,s)}catch{}}var nt=Math.clz32?Math.clz32:Xn,En=Math.log,Wt=Math.LN2;function Xn(s){return s>>>=0,s===0?32:31-(En(s)/Wt|0)|0}var Qn=256,ye=262144,Fe=4194304;function Me(s){var a=s&42;if(a!==0)return a;switch(s&-s){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return s&261888;case 262144:case 524288:case 1048576:case 2097152:return s&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return s&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return s}}function Ae(s,a,h){var g=s.pendingLanes;if(g===0)return 0;var k=0,N=s.suspendedLanes,$=s.pingedLanes;s=s.warmLanes;var Y=g&134217727;return Y!==0?(g=Y&~N,g!==0?k=Me(g):($&=Y,$!==0?k=Me($):h||(h=Y&~s,h!==0&&(k=Me(h))))):(Y=g&~N,Y!==0?k=Me(Y):$!==0?k=Me($):h||(h=g&~s,h!==0&&(k=Me(h)))),k===0?0:a!==0&&a!==k&&(a&N)===0&&(N=k&-k,h=a&-a,N>=h||N===32&&(h&4194048)!==0)?a:k}function Qe(s,a){return(s.pendingLanes&~(s.suspendedLanes&~s.pingedLanes)&a)===0}function Bt(s,a){switch(s){case 1:case 2:case 4:case 8:case 64:return a+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function In(){var s=Fe;return Fe<<=1,(Fe&62914560)===0&&(Fe=4194304),s}function _n(s){for(var a=[],h=0;31>h;h++)a.push(s);return a}function Cr(s,a){s.pendingLanes|=a,a!==268435456&&(s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0)}function ve(s,a,h,g,k,N){var $=s.pendingLanes;s.pendingLanes=h,s.suspendedLanes=0,s.pingedLanes=0,s.warmLanes=0,s.expiredLanes&=h,s.entangledLanes&=h,s.errorRecoveryDisabledLanes&=h,s.shellSuspendCounter=0;var Y=s.entanglements,se=s.expirationTimes,he=s.hiddenUpdates;for(h=$&~h;0<h;){var Se=31-nt(h),Ee=1<<Se;Y[Se]=0,se[Se]=-1;var me=he[Se];if(me!==null)for(he[Se]=null,Se=0;Se<me.length;Se++){var xe=me[Se];xe!==null&&(xe.lane&=-536870913)}h&=~Ee}g!==0&&Ce(s,g,0),N!==0&&k===0&&s.tag!==0&&(s.suspendedLanes|=N&~($&~a))}function Ce(s,a,h){s.pendingLanes|=a,s.suspendedLanes&=~a;var g=31-nt(a);s.entangledLanes|=a,s.entanglements[g]=s.entanglements[g]|1073741824|h&261930}function Ue(s,a){var h=s.entangledLanes|=a;for(s=s.entanglements;h;){var g=31-nt(h),k=1<<g;k&a|s[g]&a&&(s[g]|=a),h&=~k}}function qe(s,a){var h=a&-a;return h=(h&42)!==0?1:lt(h),(h&(s.suspendedLanes|a))!==0?0:h}function lt(s){switch(s){case 2:s=1;break;case 8:s=4;break;case 32:s=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:s=128;break;case 268435456:s=134217728;break;default:s=0}return s}function st(s){return s&=-s,2<s?8<s?(s&134217727)!==0?32:268435456:8:2}function yt(){var s=Q.p;return s!==0?s:(s=window.event,s===void 0?32:f_(s.type))}function nn(s,a){var h=Q.p;try{return Q.p=s,a()}finally{Q.p=h}}var It=Math.random().toString(36).slice(2),jt="__reactFiber$"+It,Mn="__reactProps$"+It,Fi="__reactContainer$"+It,Dd="__reactEvents$"+It,Ck="__reactListeners$"+It,kk="__reactHandles$"+It,Ag="__reactResources$"+It,so="__reactMarker$"+It;function Rd(s){delete s[jt],delete s[Mn],delete s[Dd],delete s[Ck],delete s[kk]}function Vi(s){var a=s[jt];if(a)return a;for(var h=s.parentNode;h;){if(a=h[Fi]||h[jt]){if(h=a.alternate,a.child!==null||h!==null&&h.child!==null)for(s=Qb(s);s!==null;){if(h=s[jt])return h;s=Qb(s)}return a}s=h,h=s.parentNode}return null}function Gi(s){if(s=s[jt]||s[Fi]){var a=s.tag;if(a===5||a===6||a===13||a===31||a===26||a===27||a===3)return s}return null}function io(s){var a=s.tag;if(a===5||a===26||a===27||a===6)return s.stateNode;throw Error(r(33))}function Wi(s){var a=s[Ag];return a||(a=s[Ag]={hoistableStyles:new Map,hoistableScripts:new Map}),a}function gn(s){s[so]=!0}var Lg=new Set,Dg={};function ii(s,a){qi(s,a),qi(s+"Capture",a)}function qi(s,a){for(Dg[s]=a,s=0;s<a.length;s++)Lg.add(a[s])}var Ek=RegExp("^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$"),Rg={},Og={};function jk(s){return fe.call(Og,s)?!0:fe.call(Rg,s)?!1:Ek.test(s)?Og[s]=!0:(Rg[s]=!0,!1)}function zl(s,a,h){if(jk(a))if(h===null)s.removeAttribute(a);else{switch(typeof h){case"undefined":case"function":case"symbol":s.removeAttribute(a);return;case"boolean":var g=a.toLowerCase().slice(0,5);if(g!=="data-"&&g!=="aria-"){s.removeAttribute(a);return}}s.setAttribute(a,""+h)}}function Hl(s,a,h){if(h===null)s.removeAttribute(a);else{switch(typeof h){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(a);return}s.setAttribute(a,""+h)}}function Kr(s,a,h,g){if(g===null)s.removeAttribute(h);else{switch(typeof g){case"undefined":case"function":case"symbol":case"boolean":s.removeAttribute(h);return}s.setAttributeNS(a,h,""+g)}}function cr(s){switch(typeof s){case"bigint":case"boolean":case"number":case"string":case"undefined":return s;case"object":return s;default:return""}}function Ig(s){var a=s.type;return(s=s.nodeName)&&s.toLowerCase()==="input"&&(a==="checkbox"||a==="radio")}function Nk(s,a,h){var g=Object.getOwnPropertyDescriptor(s.constructor.prototype,a);if(!s.hasOwnProperty(a)&&typeof g<"u"&&typeof g.get=="function"&&typeof g.set=="function"){var k=g.get,N=g.set;return Object.defineProperty(s,a,{configurable:!0,get:function(){return k.call(this)},set:function($){h=""+$,N.call(this,$)}}),Object.defineProperty(s,a,{enumerable:g.enumerable}),{getValue:function(){return h},setValue:function($){h=""+$},stopTracking:function(){s._valueTracker=null,delete s[a]}}}}function Od(s){if(!s._valueTracker){var a=Ig(s)?"checked":"value";s._valueTracker=Nk(s,a,""+s[a])}}function Mg(s){if(!s)return!1;var a=s._valueTracker;if(!a)return!0;var h=a.getValue(),g="";return s&&(g=Ig(s)?s.checked?"true":"false":s.value),s=g,s!==h?(a.setValue(s),!0):!1}function Ul(s){if(s=s||(typeof document<"u"?document:void 0),typeof s>"u")return null;try{return s.activeElement||s.body}catch{return s.body}}var Tk=/[\n"\\]/g;function ur(s){return s.replace(Tk,function(a){return"\\"+a.charCodeAt(0).toString(16)+" "})}function Id(s,a,h,g,k,N,$,Y){s.name="",$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"?s.type=$:s.removeAttribute("type"),a!=null?$==="number"?(a===0&&s.value===""||s.value!=a)&&(s.value=""+cr(a)):s.value!==""+cr(a)&&(s.value=""+cr(a)):$!=="submit"&&$!=="reset"||s.removeAttribute("value"),a!=null?Md(s,$,cr(a)):h!=null?Md(s,$,cr(h)):g!=null&&s.removeAttribute("value"),k==null&&N!=null&&(s.defaultChecked=!!N),k!=null&&(s.checked=k&&typeof k!="function"&&typeof k!="symbol"),Y!=null&&typeof Y!="function"&&typeof Y!="symbol"&&typeof Y!="boolean"?s.name=""+cr(Y):s.removeAttribute("name")}function Pg(s,a,h,g,k,N,$,Y){if(N!=null&&typeof N!="function"&&typeof N!="symbol"&&typeof N!="boolean"&&(s.type=N),a!=null||h!=null){if(!(N!=="submit"&&N!=="reset"||a!=null)){Od(s);return}h=h!=null?""+cr(h):"",a=a!=null?""+cr(a):h,Y||a===s.value||(s.value=a),s.defaultValue=a}g=g??k,g=typeof g!="function"&&typeof g!="symbol"&&!!g,s.checked=Y?s.checked:!!g,s.defaultChecked=!!g,$!=null&&typeof $!="function"&&typeof $!="symbol"&&typeof $!="boolean"&&(s.name=$),Od(s)}function Md(s,a,h){a==="number"&&Ul(s.ownerDocument)===s||s.defaultValue===""+h||(s.defaultValue=""+h)}function Ki(s,a,h,g){if(s=s.options,a){a={};for(var k=0;k<h.length;k++)a["$"+h[k]]=!0;for(h=0;h<s.length;h++)k=a.hasOwnProperty("$"+s[h].value),s[h].selected!==k&&(s[h].selected=k),k&&g&&(s[h].defaultSelected=!0)}else{for(h=""+cr(h),a=null,k=0;k<s.length;k++){if(s[k].value===h){s[k].selected=!0,g&&(s[k].defaultSelected=!0);return}a!==null||s[k].disabled||(a=s[k])}a!==null&&(a.selected=!0)}}function Bg(s,a,h){if(a!=null&&(a=""+cr(a),a!==s.value&&(s.value=a),h==null)){s.defaultValue!==a&&(s.defaultValue=a);return}s.defaultValue=h!=null?""+cr(h):""}function $g(s,a,h,g){if(a==null){if(g!=null){if(h!=null)throw Error(r(92));if(V(g)){if(1<g.length)throw Error(r(93));g=g[0]}h=g}h==null&&(h=""),a=h}h=cr(a),s.defaultValue=h,g=s.textContent,g===h&&g!==""&&g!==null&&(s.value=g),Od(s)}function Yi(s,a){if(a){var h=s.firstChild;if(h&&h===s.lastChild&&h.nodeType===3){h.nodeValue=a;return}}s.textContent=a}var Ak=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function zg(s,a,h){var g=a.indexOf("--")===0;h==null||typeof h=="boolean"||h===""?g?s.setProperty(a,""):a==="float"?s.cssFloat="":s[a]="":g?s.setProperty(a,h):typeof h!="number"||h===0||Ak.has(a)?a==="float"?s.cssFloat=h:s[a]=(""+h).trim():s[a]=h+"px"}function Hg(s,a,h){if(a!=null&&typeof a!="object")throw Error(r(62));if(s=s.style,h!=null){for(var g in h)!h.hasOwnProperty(g)||a!=null&&a.hasOwnProperty(g)||(g.indexOf("--")===0?s.setProperty(g,""):g==="float"?s.cssFloat="":s[g]="");for(var k in a)g=a[k],a.hasOwnProperty(k)&&h[k]!==g&&zg(s,k,g)}else for(var N in a)a.hasOwnProperty(N)&&zg(s,N,a[N])}function Pd(s){if(s.indexOf("-")===-1)return!1;switch(s){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Lk=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["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"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["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"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["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"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),Dk=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Fl(s){return Dk.test(""+s)?"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')":s}function Yr(){}var Bd=null;function $d(s){return s=s.target||s.srcElement||window,s.correspondingUseElement&&(s=s.correspondingUseElement),s.nodeType===3?s.parentNode:s}var Xi=null,Qi=null;function Ug(s){var a=Gi(s);if(a&&(s=a.stateNode)){var h=s[Mn]||null;e:switch(s=a.stateNode,a.type){case"input":if(Id(s,h.value,h.defaultValue,h.defaultValue,h.checked,h.defaultChecked,h.type,h.name),a=h.name,h.type==="radio"&&a!=null){for(h=s;h.parentNode;)h=h.parentNode;for(h=h.querySelectorAll('input[name="'+ur(""+a)+'"][type="radio"]'),a=0;a<h.length;a++){var g=h[a];if(g!==s&&g.form===s.form){var k=g[Mn]||null;if(!k)throw Error(r(90));Id(g,k.value,k.defaultValue,k.defaultValue,k.checked,k.defaultChecked,k.type,k.name)}}for(a=0;a<h.length;a++)g=h[a],g.form===s.form&&Mg(g)}break e;case"textarea":Bg(s,h.value,h.defaultValue);break e;case"select":a=h.value,a!=null&&Ki(s,!!h.multiple,a,!1)}}}var zd=!1;function Fg(s,a,h){if(zd)return s(a,h);zd=!0;try{var g=s(a);return g}finally{if(zd=!1,(Xi!==null||Qi!==null)&&(Ac(),Xi&&(a=Xi,s=Qi,Qi=Xi=null,Ug(a),s)))for(a=0;a<s.length;a++)Ug(s[a])}}function ao(s,a){var h=s.stateNode;if(h===null)return null;var g=h[Mn]||null;if(g===null)return null;h=g[a];e:switch(a){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(g=!g.disabled)||(s=s.type,g=!(s==="button"||s==="input"||s==="select"||s==="textarea")),s=!g;break e;default:s=!1}if(s)return null;if(h&&typeof h!="function")throw Error(r(231,a,typeof h));return h}var Xr=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Hd=!1;if(Xr)try{var oo={};Object.defineProperty(oo,"passive",{get:function(){Hd=!0}}),window.addEventListener("test",oo,oo),window.removeEventListener("test",oo,oo)}catch{Hd=!1}var vs=null,Ud=null,Vl=null;function Vg(){if(Vl)return Vl;var s,a=Ud,h=a.length,g,k="value"in vs?vs.value:vs.textContent,N=k.length;for(s=0;s<h&&a[s]===k[s];s++);var $=h-s;for(g=1;g<=$&&a[h-g]===k[N-g];g++);return Vl=k.slice(s,1<g?1-g:void 0)}function Gl(s){var a=s.keyCode;return"charCode"in s?(s=s.charCode,s===0&&a===13&&(s=13)):s=a,s===10&&(s=13),32<=s||s===13?s:0}function Wl(){return!0}function Gg(){return!1}function Pn(s){function a(h,g,k,N,$){this._reactName=h,this._targetInst=k,this.type=g,this.nativeEvent=N,this.target=$,this.currentTarget=null;for(var Y in s)s.hasOwnProperty(Y)&&(h=s[Y],this[Y]=h?h(N):N[Y]);return this.isDefaultPrevented=(N.defaultPrevented!=null?N.defaultPrevented:N.returnValue===!1)?Wl:Gg,this.isPropagationStopped=Gg,this}return m(a.prototype,{preventDefault:function(){this.defaultPrevented=!0;var h=this.nativeEvent;h&&(h.preventDefault?h.preventDefault():typeof h.returnValue!="unknown"&&(h.returnValue=!1),this.isDefaultPrevented=Wl)},stopPropagation:function(){var h=this.nativeEvent;h&&(h.stopPropagation?h.stopPropagation():typeof h.cancelBubble!="unknown"&&(h.cancelBubble=!0),this.isPropagationStopped=Wl)},persist:function(){},isPersistent:Wl}),a}var ai={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(s){return s.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},ql=Pn(ai),lo=m({},ai,{view:0,detail:0}),Rk=Pn(lo),Fd,Vd,co,Kl=m({},lo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Wd,button:0,buttons:0,relatedTarget:function(s){return s.relatedTarget===void 0?s.fromElement===s.srcElement?s.toElement:s.fromElement:s.relatedTarget},movementX:function(s){return"movementX"in s?s.movementX:(s!==co&&(co&&s.type==="mousemove"?(Fd=s.screenX-co.screenX,Vd=s.screenY-co.screenY):Vd=Fd=0,co=s),Fd)},movementY:function(s){return"movementY"in s?s.movementY:Vd}}),Wg=Pn(Kl),Ok=m({},Kl,{dataTransfer:0}),Ik=Pn(Ok),Mk=m({},lo,{relatedTarget:0}),Gd=Pn(Mk),Pk=m({},ai,{animationName:0,elapsedTime:0,pseudoElement:0}),Bk=Pn(Pk),$k=m({},ai,{clipboardData:function(s){return"clipboardData"in s?s.clipboardData:window.clipboardData}}),zk=Pn($k),Hk=m({},ai,{data:0}),qg=Pn(Hk),Uk={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Fk={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Vk={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Gk(s){var a=this.nativeEvent;return a.getModifierState?a.getModifierState(s):(s=Vk[s])?!!a[s]:!1}function Wd(){return Gk}var Wk=m({},lo,{key:function(s){if(s.key){var a=Uk[s.key]||s.key;if(a!=="Unidentified")return a}return s.type==="keypress"?(s=Gl(s),s===13?"Enter":String.fromCharCode(s)):s.type==="keydown"||s.type==="keyup"?Fk[s.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Wd,charCode:function(s){return s.type==="keypress"?Gl(s):0},keyCode:function(s){return s.type==="keydown"||s.type==="keyup"?s.keyCode:0},which:function(s){return s.type==="keypress"?Gl(s):s.type==="keydown"||s.type==="keyup"?s.keyCode:0}}),qk=Pn(Wk),Kk=m({},Kl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Kg=Pn(Kk),Yk=m({},lo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Wd}),Xk=Pn(Yk),Qk=m({},ai,{propertyName:0,elapsedTime:0,pseudoElement:0}),Jk=Pn(Qk),Zk=m({},Kl,{deltaX:function(s){return"deltaX"in s?s.deltaX:"wheelDeltaX"in s?-s.wheelDeltaX:0},deltaY:function(s){return"deltaY"in s?s.deltaY:"wheelDeltaY"in s?-s.wheelDeltaY:"wheelDelta"in s?-s.wheelDelta:0},deltaZ:0,deltaMode:0}),eE=Pn(Zk),tE=m({},ai,{newState:0,oldState:0}),nE=Pn(tE),rE=[9,13,27,32],qd=Xr&&"CompositionEvent"in window,uo=null;Xr&&"documentMode"in document&&(uo=document.documentMode);var sE=Xr&&"TextEvent"in window&&!uo,Yg=Xr&&(!qd||uo&&8<uo&&11>=uo),Xg=" ",Qg=!1;function Jg(s,a){switch(s){case"keyup":return rE.indexOf(a.keyCode)!==-1;case"keydown":return a.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Zg(s){return s=s.detail,typeof s=="object"&&"data"in s?s.data:null}var Ji=!1;function iE(s,a){switch(s){case"compositionend":return Zg(a);case"keypress":return a.which!==32?null:(Qg=!0,Xg);case"textInput":return s=a.data,s===Xg&&Qg?null:s;default:return null}}function aE(s,a){if(Ji)return s==="compositionend"||!qd&&Jg(s,a)?(s=Vg(),Vl=Ud=vs=null,Ji=!1,s):null;switch(s){case"paste":return null;case"keypress":if(!(a.ctrlKey||a.altKey||a.metaKey)||a.ctrlKey&&a.altKey){if(a.char&&1<a.char.length)return a.char;if(a.which)return String.fromCharCode(a.which)}return null;case"compositionend":return Yg&&a.locale!=="ko"?null:a.data;default:return null}}var oE={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function ex(s){var a=s&&s.nodeName&&s.nodeName.toLowerCase();return a==="input"?!!oE[s.type]:a==="textarea"}function tx(s,a,h,g){Xi?Qi?Qi.push(g):Qi=[g]:Xi=g,a=Pc(a,"onChange"),0<a.length&&(h=new ql("onChange","change",null,h,g),s.push({event:h,listeners:a}))}var ho=null,fo=null;function lE(s){Pb(s,0)}function Yl(s){var a=io(s);if(Mg(a))return s}function nx(s,a){if(s==="change")return a}var rx=!1;if(Xr){var Kd;if(Xr){var Yd="oninput"in document;if(!Yd){var sx=document.createElement("div");sx.setAttribute("oninput","return;"),Yd=typeof sx.oninput=="function"}Kd=Yd}else Kd=!1;rx=Kd&&(!document.documentMode||9<document.documentMode)}function ix(){ho&&(ho.detachEvent("onpropertychange",ax),fo=ho=null)}function ax(s){if(s.propertyName==="value"&&Yl(fo)){var a=[];tx(a,fo,s,$d(s)),Fg(lE,a)}}function cE(s,a,h){s==="focusin"?(ix(),ho=a,fo=h,ho.attachEvent("onpropertychange",ax)):s==="focusout"&&ix()}function uE(s){if(s==="selectionchange"||s==="keyup"||s==="keydown")return Yl(fo)}function dE(s,a){if(s==="click")return Yl(a)}function hE(s,a){if(s==="input"||s==="change")return Yl(a)}function fE(s,a){return s===a&&(s!==0||1/s===1/a)||s!==s&&a!==a}var Jn=typeof Object.is=="function"?Object.is:fE;function mo(s,a){if(Jn(s,a))return!0;if(typeof s!="object"||s===null||typeof a!="object"||a===null)return!1;var h=Object.keys(s),g=Object.keys(a);if(h.length!==g.length)return!1;for(g=0;g<h.length;g++){var k=h[g];if(!fe.call(a,k)||!Jn(s[k],a[k]))return!1}return!0}function ox(s){for(;s&&s.firstChild;)s=s.firstChild;return s}function lx(s,a){var h=ox(s);s=0;for(var g;h;){if(h.nodeType===3){if(g=s+h.textContent.length,s<=a&&g>=a)return{node:h,offset:a-s};s=g}e:{for(;h;){if(h.nextSibling){h=h.nextSibling;break e}h=h.parentNode}h=void 0}h=ox(h)}}function cx(s,a){return s&&a?s===a?!0:s&&s.nodeType===3?!1:a&&a.nodeType===3?cx(s,a.parentNode):"contains"in s?s.contains(a):s.compareDocumentPosition?!!(s.compareDocumentPosition(a)&16):!1:!1}function ux(s){s=s!=null&&s.ownerDocument!=null&&s.ownerDocument.defaultView!=null?s.ownerDocument.defaultView:window;for(var a=Ul(s.document);a instanceof s.HTMLIFrameElement;){try{var h=typeof a.contentWindow.location.href=="string"}catch{h=!1}if(h)s=a.contentWindow;else break;a=Ul(s.document)}return a}function Xd(s){var a=s&&s.nodeName&&s.nodeName.toLowerCase();return a&&(a==="input"&&(s.type==="text"||s.type==="search"||s.type==="tel"||s.type==="url"||s.type==="password")||a==="textarea"||s.contentEditable==="true")}var mE=Xr&&"documentMode"in document&&11>=document.documentMode,Zi=null,Qd=null,po=null,Jd=!1;function dx(s,a,h){var g=h.window===h?h.document:h.nodeType===9?h:h.ownerDocument;Jd||Zi==null||Zi!==Ul(g)||(g=Zi,"selectionStart"in g&&Xd(g)?g={start:g.selectionStart,end:g.selectionEnd}:(g=(g.ownerDocument&&g.ownerDocument.defaultView||window).getSelection(),g={anchorNode:g.anchorNode,anchorOffset:g.anchorOffset,focusNode:g.focusNode,focusOffset:g.focusOffset}),po&&mo(po,g)||(po=g,g=Pc(Qd,"onSelect"),0<g.length&&(a=new ql("onSelect","select",null,a,h),s.push({event:a,listeners:g}),a.target=Zi)))}function oi(s,a){var h={};return h[s.toLowerCase()]=a.toLowerCase(),h["Webkit"+s]="webkit"+a,h["Moz"+s]="moz"+a,h}var ea={animationend:oi("Animation","AnimationEnd"),animationiteration:oi("Animation","AnimationIteration"),animationstart:oi("Animation","AnimationStart"),transitionrun:oi("Transition","TransitionRun"),transitionstart:oi("Transition","TransitionStart"),transitioncancel:oi("Transition","TransitionCancel"),transitionend:oi("Transition","TransitionEnd")},Zd={},hx={};Xr&&(hx=document.createElement("div").style,"AnimationEvent"in window||(delete ea.animationend.animation,delete ea.animationiteration.animation,delete ea.animationstart.animation),"TransitionEvent"in window||delete ea.transitionend.transition);function li(s){if(Zd[s])return Zd[s];if(!ea[s])return s;var a=ea[s],h;for(h in a)if(a.hasOwnProperty(h)&&h in hx)return Zd[s]=a[h];return s}var fx=li("animationend"),mx=li("animationiteration"),px=li("animationstart"),pE=li("transitionrun"),gE=li("transitionstart"),xE=li("transitioncancel"),gx=li("transitionend"),xx=new Map,eh="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");eh.push("scrollEnd");function kr(s,a){xx.set(s,a),ii(a,[s])}var Xl=typeof reportError=="function"?reportError:function(s){if(typeof window=="object"&&typeof window.ErrorEvent=="function"){var a=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:typeof s=="object"&&s!==null&&typeof s.message=="string"?String(s.message):String(s),error:s});if(!window.dispatchEvent(a))return}else if(typeof process=="object"&&typeof process.emit=="function"){process.emit("uncaughtException",s);return}console.error(s)},dr=[],ta=0,th=0;function Ql(){for(var s=ta,a=th=ta=0;a<s;){var h=dr[a];dr[a++]=null;var g=dr[a];dr[a++]=null;var k=dr[a];dr[a++]=null;var N=dr[a];if(dr[a++]=null,g!==null&&k!==null){var $=g.pending;$===null?k.next=k:(k.next=$.next,$.next=k),g.pending=k}N!==0&&yx(h,k,N)}}function Jl(s,a,h,g){dr[ta++]=s,dr[ta++]=a,dr[ta++]=h,dr[ta++]=g,th|=g,s.lanes|=g,s=s.alternate,s!==null&&(s.lanes|=g)}function nh(s,a,h,g){return Jl(s,a,h,g),Zl(s)}function ci(s,a){return Jl(s,null,null,a),Zl(s)}function yx(s,a,h){s.lanes|=h;var g=s.alternate;g!==null&&(g.lanes|=h);for(var k=!1,N=s.return;N!==null;)N.childLanes|=h,g=N.alternate,g!==null&&(g.childLanes|=h),N.tag===22&&(s=N.stateNode,s===null||s._visibility&1||(k=!0)),s=N,N=N.return;return s.tag===3?(N=s.stateNode,k&&a!==null&&(k=31-nt(h),s=N.hiddenUpdates,g=s[k],g===null?s[k]=[a]:g.push(a),a.lane=h|536870912),N):null}function Zl(s){if(50<Po)throw Po=0,hf=null,Error(r(185));for(var a=s.return;a!==null;)s=a,a=s.return;return s.tag===3?s.stateNode:null}var na={};function yE(s,a,h,g){this.tag=s,this.key=h,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=g,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Zn(s,a,h,g){return new yE(s,a,h,g)}function rh(s){return s=s.prototype,!(!s||!s.isReactComponent)}function Qr(s,a){var h=s.alternate;return h===null?(h=Zn(s.tag,a,s.key,s.mode),h.elementType=s.elementType,h.type=s.type,h.stateNode=s.stateNode,h.alternate=s,s.alternate=h):(h.pendingProps=a,h.type=s.type,h.flags=0,h.subtreeFlags=0,h.deletions=null),h.flags=s.flags&65011712,h.childLanes=s.childLanes,h.lanes=s.lanes,h.child=s.child,h.memoizedProps=s.memoizedProps,h.memoizedState=s.memoizedState,h.updateQueue=s.updateQueue,a=s.dependencies,h.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},h.sibling=s.sibling,h.index=s.index,h.ref=s.ref,h.refCleanup=s.refCleanup,h}function bx(s,a){s.flags&=65011714;var h=s.alternate;return h===null?(s.childLanes=0,s.lanes=a,s.child=null,s.subtreeFlags=0,s.memoizedProps=null,s.memoizedState=null,s.updateQueue=null,s.dependencies=null,s.stateNode=null):(s.childLanes=h.childLanes,s.lanes=h.lanes,s.child=h.child,s.subtreeFlags=0,s.deletions=null,s.memoizedProps=h.memoizedProps,s.memoizedState=h.memoizedState,s.updateQueue=h.updateQueue,s.type=h.type,a=h.dependencies,s.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext}),s}function ec(s,a,h,g,k,N){var $=0;if(g=s,typeof s=="function")rh(s)&&($=1);else if(typeof s=="string")$=w2(s,h,ee.current)?26:s==="html"||s==="head"||s==="body"?27:5;else e:switch(s){case O:return s=Zn(31,h,a,k),s.elementType=O,s.lanes=N,s;case C:return ui(h.children,k,N,a);case v:$=8,k|=24;break;case S:return s=Zn(12,h,a,k|2),s.elementType=S,s.lanes=N,s;case E:return s=Zn(13,h,a,k),s.elementType=E,s.lanes=N,s;case T:return s=Zn(19,h,a,k),s.elementType=T,s.lanes=N,s;default:if(typeof s=="object"&&s!==null)switch(s.$$typeof){case b:$=10;break e;case _:$=9;break e;case j:$=11;break e;case D:$=14;break e;case L:$=16,g=null;break e}$=29,h=Error(r(130,s===null?"null":typeof s,"")),g=null}return a=Zn($,h,a,k),a.elementType=s,a.type=g,a.lanes=N,a}function ui(s,a,h,g){return s=Zn(7,s,g,a),s.lanes=h,s}function sh(s,a,h){return s=Zn(6,s,null,a),s.lanes=h,s}function _x(s){var a=Zn(18,null,null,0);return a.stateNode=s,a}function ih(s,a,h){return a=Zn(4,s.children!==null?s.children:[],s.key,a),a.lanes=h,a.stateNode={containerInfo:s.containerInfo,pendingChildren:null,implementation:s.implementation},a}var vx=new WeakMap;function hr(s,a){if(typeof s=="object"&&s!==null){var h=vx.get(s);return h!==void 0?h:(a={value:s,source:a,stack:ze(a)},vx.set(s,a),a)}return{value:s,source:a,stack:ze(a)}}var ra=[],sa=0,tc=null,go=0,fr=[],mr=0,Ss=null,Ir=1,Mr="";function Jr(s,a){ra[sa++]=go,ra[sa++]=tc,tc=s,go=a}function Sx(s,a,h){fr[mr++]=Ir,fr[mr++]=Mr,fr[mr++]=Ss,Ss=s;var g=Ir;s=Mr;var k=32-nt(g)-1;g&=~(1<<k),h+=1;var N=32-nt(a)+k;if(30<N){var $=k-k%5;N=(g&(1<<$)-1).toString(32),g>>=$,k-=$,Ir=1<<32-nt(a)+k|h<<k|g,Mr=N+s}else Ir=1<<N|h<<k|g,Mr=s}function ah(s){s.return!==null&&(Jr(s,1),Sx(s,1,0))}function oh(s){for(;s===tc;)tc=ra[--sa],ra[sa]=null,go=ra[--sa],ra[sa]=null;for(;s===Ss;)Ss=fr[--mr],fr[mr]=null,Mr=fr[--mr],fr[mr]=null,Ir=fr[--mr],fr[mr]=null}function wx(s,a){fr[mr++]=Ir,fr[mr++]=Mr,fr[mr++]=Ss,Ir=a.id,Mr=a.overflow,Ss=s}var vn=null,Ft=null,bt=!1,ws=null,pr=!1,lh=Error(r(519));function Cs(s){var a=Error(r(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?"text":"HTML",""));throw xo(hr(a,s)),lh}function Cx(s){var a=s.stateNode,h=s.type,g=s.memoizedProps;switch(a[jt]=s,a[Mn]=g,h){case"dialog":mt("cancel",a),mt("close",a);break;case"iframe":case"object":case"embed":mt("load",a);break;case"video":case"audio":for(h=0;h<$o.length;h++)mt($o[h],a);break;case"source":mt("error",a);break;case"img":case"image":case"link":mt("error",a),mt("load",a);break;case"details":mt("toggle",a);break;case"input":mt("invalid",a),Pg(a,g.value,g.defaultValue,g.checked,g.defaultChecked,g.type,g.name,!0);break;case"select":mt("invalid",a);break;case"textarea":mt("invalid",a),$g(a,g.value,g.defaultValue,g.children)}h=g.children,typeof h!="string"&&typeof h!="number"&&typeof h!="bigint"||a.textContent===""+h||g.suppressHydrationWarning===!0||Hb(a.textContent,h)?(g.popover!=null&&(mt("beforetoggle",a),mt("toggle",a)),g.onScroll!=null&&mt("scroll",a),g.onScrollEnd!=null&&mt("scrollend",a),g.onClick!=null&&(a.onclick=Yr),a=!0):a=!1,a||Cs(s,!0)}function kx(s){for(vn=s.return;vn;)switch(vn.tag){case 5:case 31:case 13:pr=!1;return;case 27:case 3:pr=!0;return;default:vn=vn.return}}function ia(s){if(s!==vn)return!1;if(!bt)return kx(s),bt=!0,!1;var a=s.tag,h;if((h=a!==3&&a!==27)&&((h=a===5)&&(h=s.type,h=!(h!=="form"&&h!=="button")||jf(s.type,s.memoizedProps)),h=!h),h&&Ft&&Cs(s),kx(s),a===13){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(317));Ft=Xb(s)}else if(a===31){if(s=s.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(317));Ft=Xb(s)}else a===27?(a=Ft,Bs(s.type)?(s=Df,Df=null,Ft=s):Ft=a):Ft=vn?xr(s.stateNode.nextSibling):null;return!0}function di(){Ft=vn=null,bt=!1}function ch(){var s=ws;return s!==null&&(Hn===null?Hn=s:Hn.push.apply(Hn,s),ws=null),s}function xo(s){ws===null?ws=[s]:ws.push(s)}var uh=M(null),hi=null,Zr=null;function ks(s,a,h){B(uh,a._currentValue),a._currentValue=h}function es(s){s._currentValue=uh.current,q(uh)}function dh(s,a,h){for(;s!==null;){var g=s.alternate;if((s.childLanes&a)!==a?(s.childLanes|=a,g!==null&&(g.childLanes|=a)):g!==null&&(g.childLanes&a)!==a&&(g.childLanes|=a),s===h)break;s=s.return}}function hh(s,a,h,g){var k=s.child;for(k!==null&&(k.return=s);k!==null;){var N=k.dependencies;if(N!==null){var $=k.child;N=N.firstContext;e:for(;N!==null;){var Y=N;N=k;for(var se=0;se<a.length;se++)if(Y.context===a[se]){N.lanes|=h,Y=N.alternate,Y!==null&&(Y.lanes|=h),dh(N.return,h,s),g||($=null);break e}N=Y.next}}else if(k.tag===18){if($=k.return,$===null)throw Error(r(341));$.lanes|=h,N=$.alternate,N!==null&&(N.lanes|=h),dh($,h,s),$=null}else $=k.child;if($!==null)$.return=k;else for($=k;$!==null;){if($===s){$=null;break}if(k=$.sibling,k!==null){k.return=$.return,$=k;break}$=$.return}k=$}}function aa(s,a,h,g){s=null;for(var k=a,N=!1;k!==null;){if(!N){if((k.flags&524288)!==0)N=!0;else if((k.flags&262144)!==0)break}if(k.tag===10){var $=k.alternate;if($===null)throw Error(r(387));if($=$.memoizedProps,$!==null){var Y=k.type;Jn(k.pendingProps.value,$.value)||(s!==null?s.push(Y):s=[Y])}}else if(k===K.current){if($=k.alternate,$===null)throw Error(r(387));$.memoizedState.memoizedState!==k.memoizedState.memoizedState&&(s!==null?s.push(Vo):s=[Vo])}k=k.return}s!==null&&hh(a,s,h,g),a.flags|=262144}function nc(s){for(s=s.firstContext;s!==null;){if(!Jn(s.context._currentValue,s.memoizedValue))return!0;s=s.next}return!1}function fi(s){hi=s,Zr=null,s=s.dependencies,s!==null&&(s.firstContext=null)}function Sn(s){return Ex(hi,s)}function rc(s,a){return hi===null&&fi(s),Ex(s,a)}function Ex(s,a){var h=a._currentValue;if(a={context:a,memoizedValue:h,next:null},Zr===null){if(s===null)throw Error(r(308));Zr=a,s.dependencies={lanes:0,firstContext:a},s.flags|=524288}else Zr=Zr.next=a;return h}var bE=typeof AbortController<"u"?AbortController:function(){var s=[],a=this.signal={aborted:!1,addEventListener:function(h,g){s.push(g)}};this.abort=function(){a.aborted=!0,s.forEach(function(h){return h()})}},_E=e.unstable_scheduleCallback,vE=e.unstable_NormalPriority,rn={$$typeof:b,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function fh(){return{controller:new bE,data:new Map,refCount:0}}function yo(s){s.refCount--,s.refCount===0&&_E(vE,function(){s.controller.abort()})}var bo=null,mh=0,oa=0,la=null;function SE(s,a){if(bo===null){var h=bo=[];mh=0,oa=yf(),la={status:"pending",value:void 0,then:function(g){h.push(g)}}}return mh++,a.then(jx,jx),a}function jx(){if(--mh===0&&bo!==null){la!==null&&(la.status="fulfilled");var s=bo;bo=null,oa=0,la=null;for(var a=0;a<s.length;a++)(0,s[a])()}}function wE(s,a){var h=[],g={status:"pending",value:null,reason:null,then:function(k){h.push(k)}};return s.then(function(){g.status="fulfilled",g.value=a;for(var k=0;k<h.length;k++)(0,h[k])(a)},function(k){for(g.status="rejected",g.reason=k,k=0;k<h.length;k++)(0,h[k])(void 0)}),g}var Nx=U.S;U.S=function(s,a){db=Ze(),typeof a=="object"&&a!==null&&typeof a.then=="function"&&SE(s,a),Nx!==null&&Nx(s,a)};var mi=M(null);function ph(){var s=mi.current;return s!==null?s:Mt.pooledCache}function sc(s,a){a===null?B(mi,mi.current):B(mi,a.pool)}function Tx(){var s=ph();return s===null?null:{parent:rn._currentValue,pool:s}}var ca=Error(r(460)),gh=Error(r(474)),ic=Error(r(542)),ac={then:function(){}};function Ax(s){return s=s.status,s==="fulfilled"||s==="rejected"}function Lx(s,a,h){switch(h=s[h],h===void 0?s.push(a):h!==a&&(a.then(Yr,Yr),a=h),a.status){case"fulfilled":return a.value;case"rejected":throw s=a.reason,Rx(s),s;default:if(typeof a.status=="string")a.then(Yr,Yr);else{if(s=Mt,s!==null&&100<s.shellSuspendCounter)throw Error(r(482));s=a,s.status="pending",s.then(function(g){if(a.status==="pending"){var k=a;k.status="fulfilled",k.value=g}},function(g){if(a.status==="pending"){var k=a;k.status="rejected",k.reason=g}})}switch(a.status){case"fulfilled":return a.value;case"rejected":throw s=a.reason,Rx(s),s}throw gi=a,ca}}function pi(s){try{var a=s._init;return a(s._payload)}catch(h){throw h!==null&&typeof h=="object"&&typeof h.then=="function"?(gi=h,ca):h}}var gi=null;function Dx(){if(gi===null)throw Error(r(459));var s=gi;return gi=null,s}function Rx(s){if(s===ca||s===ic)throw Error(r(483))}var ua=null,_o=0;function oc(s){var a=_o;return _o+=1,ua===null&&(ua=[]),Lx(ua,s,a)}function vo(s,a){a=a.props.ref,s.ref=a!==void 0?a:null}function lc(s,a){throw a.$$typeof===x?Error(r(525)):(s=Object.prototype.toString.call(a),Error(r(31,s==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":s)))}function Ox(s){function a(le,ie){if(s){var de=le.deletions;de===null?(le.deletions=[ie],le.flags|=16):de.push(ie)}}function h(le,ie){if(!s)return null;for(;ie!==null;)a(le,ie),ie=ie.sibling;return null}function g(le){for(var ie=new Map;le!==null;)le.key!==null?ie.set(le.key,le):ie.set(le.index,le),le=le.sibling;return ie}function k(le,ie){return le=Qr(le,ie),le.index=0,le.sibling=null,le}function N(le,ie,de){return le.index=de,s?(de=le.alternate,de!==null?(de=de.index,de<ie?(le.flags|=67108866,ie):de):(le.flags|=67108866,ie)):(le.flags|=1048576,ie)}function $(le){return s&&le.alternate===null&&(le.flags|=67108866),le}function Y(le,ie,de,ke){return ie===null||ie.tag!==6?(ie=sh(de,le.mode,ke),ie.return=le,ie):(ie=k(ie,de),ie.return=le,ie)}function se(le,ie,de,ke){var Ye=de.type;return Ye===C?Se(le,ie,de.props.children,ke,de.key):ie!==null&&(ie.elementType===Ye||typeof Ye=="object"&&Ye!==null&&Ye.$$typeof===L&&pi(Ye)===ie.type)?(ie=k(ie,de.props),vo(ie,de),ie.return=le,ie):(ie=ec(de.type,de.key,de.props,null,le.mode,ke),vo(ie,de),ie.return=le,ie)}function he(le,ie,de,ke){return ie===null||ie.tag!==4||ie.stateNode.containerInfo!==de.containerInfo||ie.stateNode.implementation!==de.implementation?(ie=ih(de,le.mode,ke),ie.return=le,ie):(ie=k(ie,de.children||[]),ie.return=le,ie)}function Se(le,ie,de,ke,Ye){return ie===null||ie.tag!==7?(ie=ui(de,le.mode,ke,Ye),ie.return=le,ie):(ie=k(ie,de),ie.return=le,ie)}function Ee(le,ie,de){if(typeof ie=="string"&&ie!==""||typeof ie=="number"||typeof ie=="bigint")return ie=sh(""+ie,le.mode,de),ie.return=le,ie;if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case y:return de=ec(ie.type,ie.key,ie.props,null,le.mode,de),vo(de,ie),de.return=le,de;case w:return ie=ih(ie,le.mode,de),ie.return=le,ie;case L:return ie=pi(ie),Ee(le,ie,de)}if(V(ie)||W(ie))return ie=ui(ie,le.mode,de,null),ie.return=le,ie;if(typeof ie.then=="function")return Ee(le,oc(ie),de);if(ie.$$typeof===b)return Ee(le,rc(le,ie),de);lc(le,ie)}return null}function me(le,ie,de,ke){var Ye=ie!==null?ie.key:null;if(typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint")return Ye!==null?null:Y(le,ie,""+de,ke);if(typeof de=="object"&&de!==null){switch(de.$$typeof){case y:return de.key===Ye?se(le,ie,de,ke):null;case w:return de.key===Ye?he(le,ie,de,ke):null;case L:return de=pi(de),me(le,ie,de,ke)}if(V(de)||W(de))return Ye!==null?null:Se(le,ie,de,ke,null);if(typeof de.then=="function")return me(le,ie,oc(de),ke);if(de.$$typeof===b)return me(le,ie,rc(le,de),ke);lc(le,de)}return null}function xe(le,ie,de,ke,Ye){if(typeof ke=="string"&&ke!==""||typeof ke=="number"||typeof ke=="bigint")return le=le.get(de)||null,Y(ie,le,""+ke,Ye);if(typeof ke=="object"&&ke!==null){switch(ke.$$typeof){case y:return le=le.get(ke.key===null?de:ke.key)||null,se(ie,le,ke,Ye);case w:return le=le.get(ke.key===null?de:ke.key)||null,he(ie,le,ke,Ye);case L:return ke=pi(ke),xe(le,ie,de,ke,Ye)}if(V(ke)||W(ke))return le=le.get(de)||null,Se(ie,le,ke,Ye,null);if(typeof ke.then=="function")return xe(le,ie,de,oc(ke),Ye);if(ke.$$typeof===b)return xe(le,ie,de,rc(ie,ke),Ye);lc(ie,ke)}return null}function Ve(le,ie,de,ke){for(var Ye=null,St=null,Ge=ie,ut=ie=0,xt=null;Ge!==null&&ut<de.length;ut++){Ge.index>ut?(xt=Ge,Ge=null):xt=Ge.sibling;var wt=me(le,Ge,de[ut],ke);if(wt===null){Ge===null&&(Ge=xt);break}s&&Ge&&wt.alternate===null&&a(le,Ge),ie=N(wt,ie,ut),St===null?Ye=wt:St.sibling=wt,St=wt,Ge=xt}if(ut===de.length)return h(le,Ge),bt&&Jr(le,ut),Ye;if(Ge===null){for(;ut<de.length;ut++)Ge=Ee(le,de[ut],ke),Ge!==null&&(ie=N(Ge,ie,ut),St===null?Ye=Ge:St.sibling=Ge,St=Ge);return bt&&Jr(le,ut),Ye}for(Ge=g(Ge);ut<de.length;ut++)xt=xe(Ge,le,ut,de[ut],ke),xt!==null&&(s&&xt.alternate!==null&&Ge.delete(xt.key===null?ut:xt.key),ie=N(xt,ie,ut),St===null?Ye=xt:St.sibling=xt,St=xt);return s&&Ge.forEach(function(Fs){return a(le,Fs)}),bt&&Jr(le,ut),Ye}function Je(le,ie,de,ke){if(de==null)throw Error(r(151));for(var Ye=null,St=null,Ge=ie,ut=ie=0,xt=null,wt=de.next();Ge!==null&&!wt.done;ut++,wt=de.next()){Ge.index>ut?(xt=Ge,Ge=null):xt=Ge.sibling;var Fs=me(le,Ge,wt.value,ke);if(Fs===null){Ge===null&&(Ge=xt);break}s&&Ge&&Fs.alternate===null&&a(le,Ge),ie=N(Fs,ie,ut),St===null?Ye=Fs:St.sibling=Fs,St=Fs,Ge=xt}if(wt.done)return h(le,Ge),bt&&Jr(le,ut),Ye;if(Ge===null){for(;!wt.done;ut++,wt=de.next())wt=Ee(le,wt.value,ke),wt!==null&&(ie=N(wt,ie,ut),St===null?Ye=wt:St.sibling=wt,St=wt);return bt&&Jr(le,ut),Ye}for(Ge=g(Ge);!wt.done;ut++,wt=de.next())wt=xe(Ge,le,ut,wt.value,ke),wt!==null&&(s&&wt.alternate!==null&&Ge.delete(wt.key===null?ut:wt.key),ie=N(wt,ie,ut),St===null?Ye=wt:St.sibling=wt,St=wt);return s&&Ge.forEach(function(O2){return a(le,O2)}),bt&&Jr(le,ut),Ye}function Dt(le,ie,de,ke){if(typeof de=="object"&&de!==null&&de.type===C&&de.key===null&&(de=de.props.children),typeof de=="object"&&de!==null){switch(de.$$typeof){case y:e:{for(var Ye=de.key;ie!==null;){if(ie.key===Ye){if(Ye=de.type,Ye===C){if(ie.tag===7){h(le,ie.sibling),ke=k(ie,de.props.children),ke.return=le,le=ke;break e}}else if(ie.elementType===Ye||typeof Ye=="object"&&Ye!==null&&Ye.$$typeof===L&&pi(Ye)===ie.type){h(le,ie.sibling),ke=k(ie,de.props),vo(ke,de),ke.return=le,le=ke;break e}h(le,ie);break}else a(le,ie);ie=ie.sibling}de.type===C?(ke=ui(de.props.children,le.mode,ke,de.key),ke.return=le,le=ke):(ke=ec(de.type,de.key,de.props,null,le.mode,ke),vo(ke,de),ke.return=le,le=ke)}return $(le);case w:e:{for(Ye=de.key;ie!==null;){if(ie.key===Ye)if(ie.tag===4&&ie.stateNode.containerInfo===de.containerInfo&&ie.stateNode.implementation===de.implementation){h(le,ie.sibling),ke=k(ie,de.children||[]),ke.return=le,le=ke;break e}else{h(le,ie);break}else a(le,ie);ie=ie.sibling}ke=ih(de,le.mode,ke),ke.return=le,le=ke}return $(le);case L:return de=pi(de),Dt(le,ie,de,ke)}if(V(de))return Ve(le,ie,de,ke);if(W(de)){if(Ye=W(de),typeof Ye!="function")throw Error(r(150));return de=Ye.call(de),Je(le,ie,de,ke)}if(typeof de.then=="function")return Dt(le,ie,oc(de),ke);if(de.$$typeof===b)return Dt(le,ie,rc(le,de),ke);lc(le,de)}return typeof de=="string"&&de!==""||typeof de=="number"||typeof de=="bigint"?(de=""+de,ie!==null&&ie.tag===6?(h(le,ie.sibling),ke=k(ie,de),ke.return=le,le=ke):(h(le,ie),ke=sh(de,le.mode,ke),ke.return=le,le=ke),$(le)):h(le,ie)}return function(le,ie,de,ke){try{_o=0;var Ye=Dt(le,ie,de,ke);return ua=null,Ye}catch(Ge){if(Ge===ca||Ge===ic)throw Ge;var St=Zn(29,Ge,null,le.mode);return St.lanes=ke,St.return=le,St}finally{}}}var xi=Ox(!0),Ix=Ox(!1),Es=!1;function xh(s){s.updateQueue={baseState:s.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function yh(s,a){s=s.updateQueue,a.updateQueue===s&&(a.updateQueue={baseState:s.baseState,firstBaseUpdate:s.firstBaseUpdate,lastBaseUpdate:s.lastBaseUpdate,shared:s.shared,callbacks:null})}function js(s){return{lane:s,tag:0,payload:null,callback:null,next:null}}function Ns(s,a,h){var g=s.updateQueue;if(g===null)return null;if(g=g.shared,(kt&2)!==0){var k=g.pending;return k===null?a.next=a:(a.next=k.next,k.next=a),g.pending=a,a=Zl(s),yx(s,null,h),a}return Jl(s,g,a,h),Zl(s)}function So(s,a,h){if(a=a.updateQueue,a!==null&&(a=a.shared,(h&4194048)!==0)){var g=a.lanes;g&=s.pendingLanes,h|=g,a.lanes=h,Ue(s,h)}}function bh(s,a){var h=s.updateQueue,g=s.alternate;if(g!==null&&(g=g.updateQueue,h===g)){var k=null,N=null;if(h=h.firstBaseUpdate,h!==null){do{var $={lane:h.lane,tag:h.tag,payload:h.payload,callback:null,next:null};N===null?k=N=$:N=N.next=$,h=h.next}while(h!==null);N===null?k=N=a:N=N.next=a}else k=N=a;h={baseState:g.baseState,firstBaseUpdate:k,lastBaseUpdate:N,shared:g.shared,callbacks:g.callbacks},s.updateQueue=h;return}s=h.lastBaseUpdate,s===null?h.firstBaseUpdate=a:s.next=a,h.lastBaseUpdate=a}var _h=!1;function wo(){if(_h){var s=la;if(s!==null)throw s}}function Co(s,a,h,g){_h=!1;var k=s.updateQueue;Es=!1;var N=k.firstBaseUpdate,$=k.lastBaseUpdate,Y=k.shared.pending;if(Y!==null){k.shared.pending=null;var se=Y,he=se.next;se.next=null,$===null?N=he:$.next=he,$=se;var Se=s.alternate;Se!==null&&(Se=Se.updateQueue,Y=Se.lastBaseUpdate,Y!==$&&(Y===null?Se.firstBaseUpdate=he:Y.next=he,Se.lastBaseUpdate=se))}if(N!==null){var Ee=k.baseState;$=0,Se=he=se=null,Y=N;do{var me=Y.lane&-536870913,xe=me!==Y.lane;if(xe?(gt&me)===me:(g&me)===me){me!==0&&me===oa&&(_h=!0),Se!==null&&(Se=Se.next={lane:0,tag:Y.tag,payload:Y.payload,callback:null,next:null});e:{var Ve=s,Je=Y;me=a;var Dt=h;switch(Je.tag){case 1:if(Ve=Je.payload,typeof Ve=="function"){Ee=Ve.call(Dt,Ee,me);break e}Ee=Ve;break e;case 3:Ve.flags=Ve.flags&-65537|128;case 0:if(Ve=Je.payload,me=typeof Ve=="function"?Ve.call(Dt,Ee,me):Ve,me==null)break e;Ee=m({},Ee,me);break e;case 2:Es=!0}}me=Y.callback,me!==null&&(s.flags|=64,xe&&(s.flags|=8192),xe=k.callbacks,xe===null?k.callbacks=[me]:xe.push(me))}else xe={lane:me,tag:Y.tag,payload:Y.payload,callback:Y.callback,next:null},Se===null?(he=Se=xe,se=Ee):Se=Se.next=xe,$|=me;if(Y=Y.next,Y===null){if(Y=k.shared.pending,Y===null)break;xe=Y,Y=xe.next,xe.next=null,k.lastBaseUpdate=xe,k.shared.pending=null}}while(!0);Se===null&&(se=Ee),k.baseState=se,k.firstBaseUpdate=he,k.lastBaseUpdate=Se,N===null&&(k.shared.lanes=0),Rs|=$,s.lanes=$,s.memoizedState=Ee}}function Mx(s,a){if(typeof s!="function")throw Error(r(191,s));s.call(a)}function Px(s,a){var h=s.callbacks;if(h!==null)for(s.callbacks=null,s=0;s<h.length;s++)Mx(h[s],a)}var da=M(null),cc=M(0);function Bx(s,a){s=cs,B(cc,s),B(da,a),cs=s|a.baseLanes}function vh(){B(cc,cs),B(da,da.current)}function Sh(){cs=cc.current,q(da),q(cc)}var er=M(null),gr=null;function Ts(s){var a=s.alternate;B(Qt,Qt.current&1),B(er,s),gr===null&&(a===null||da.current!==null||a.memoizedState!==null)&&(gr=s)}function wh(s){B(Qt,Qt.current),B(er,s),gr===null&&(gr=s)}function $x(s){s.tag===22?(B(Qt,Qt.current),B(er,s),gr===null&&(gr=s)):As()}function As(){B(Qt,Qt.current),B(er,er.current)}function tr(s){q(er),gr===s&&(gr=null),q(Qt)}var Qt=M(0);function uc(s){for(var a=s;a!==null;){if(a.tag===13){var h=a.memoizedState;if(h!==null&&(h=h.dehydrated,h===null||Af(h)||Lf(h)))return a}else if(a.tag===19&&(a.memoizedProps.revealOrder==="forwards"||a.memoizedProps.revealOrder==="backwards"||a.memoizedProps.revealOrder==="unstable_legacy-backwards"||a.memoizedProps.revealOrder==="together")){if((a.flags&128)!==0)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===s)break;for(;a.sibling===null;){if(a.return===null||a.return===s)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var ts=0,ct=null,At=null,sn=null,dc=!1,ha=!1,yi=!1,hc=0,ko=0,fa=null,CE=0;function qt(){throw Error(r(321))}function Ch(s,a){if(a===null)return!1;for(var h=0;h<a.length&&h<s.length;h++)if(!Jn(s[h],a[h]))return!1;return!0}function kh(s,a,h,g,k,N){return ts=N,ct=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,U.H=s===null||s.memoizedState===null?Sy:zh,yi=!1,N=h(g,k),yi=!1,ha&&(N=Hx(a,h,g,k)),zx(s),N}function zx(s){U.H=No;var a=At!==null&&At.next!==null;if(ts=0,sn=At=ct=null,dc=!1,ko=0,fa=null,a)throw Error(r(300));s===null||an||(s=s.dependencies,s!==null&&nc(s)&&(an=!0))}function Hx(s,a,h,g){ct=s;var k=0;do{if(ha&&(fa=null),ko=0,ha=!1,25<=k)throw Error(r(301));if(k+=1,sn=At=null,s.updateQueue!=null){var N=s.updateQueue;N.lastEffect=null,N.events=null,N.stores=null,N.memoCache!=null&&(N.memoCache.index=0)}U.H=wy,N=a(h,g)}while(ha);return N}function kE(){var s=U.H,a=s.useState()[0];return a=typeof a.then=="function"?Eo(a):a,s=s.useState()[0],(At!==null?At.memoizedState:null)!==s&&(ct.flags|=1024),a}function Eh(){var s=hc!==0;return hc=0,s}function jh(s,a,h){a.updateQueue=s.updateQueue,a.flags&=-2053,s.lanes&=~h}function Nh(s){if(dc){for(s=s.memoizedState;s!==null;){var a=s.queue;a!==null&&(a.pending=null),s=s.next}dc=!1}ts=0,sn=At=ct=null,ha=!1,ko=hc=0,fa=null}function Dn(){var s={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return sn===null?ct.memoizedState=sn=s:sn=sn.next=s,sn}function Jt(){if(At===null){var s=ct.alternate;s=s!==null?s.memoizedState:null}else s=At.next;var a=sn===null?ct.memoizedState:sn.next;if(a!==null)sn=a,At=s;else{if(s===null)throw ct.alternate===null?Error(r(467)):Error(r(310));At=s,s={memoizedState:At.memoizedState,baseState:At.baseState,baseQueue:At.baseQueue,queue:At.queue,next:null},sn===null?ct.memoizedState=sn=s:sn=sn.next=s}return sn}function fc(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Eo(s){var a=ko;return ko+=1,fa===null&&(fa=[]),s=Lx(fa,s,a),a=ct,(sn===null?a.memoizedState:sn.next)===null&&(a=a.alternate,U.H=a===null||a.memoizedState===null?Sy:zh),s}function mc(s){if(s!==null&&typeof s=="object"){if(typeof s.then=="function")return Eo(s);if(s.$$typeof===b)return Sn(s)}throw Error(r(438,String(s)))}function Th(s){var a=null,h=ct.updateQueue;if(h!==null&&(a=h.memoCache),a==null){var g=ct.alternate;g!==null&&(g=g.updateQueue,g!==null&&(g=g.memoCache,g!=null&&(a={data:g.data.map(function(k){return k.slice()}),index:0})))}if(a==null&&(a={data:[],index:0}),h===null&&(h=fc(),ct.updateQueue=h),h.memoCache=a,h=a.data[a.index],h===void 0)for(h=a.data[a.index]=Array(s),g=0;g<s;g++)h[g]=P;return a.index++,h}function ns(s,a){return typeof a=="function"?a(s):a}function pc(s){var a=Jt();return Ah(a,At,s)}function Ah(s,a,h){var g=s.queue;if(g===null)throw Error(r(311));g.lastRenderedReducer=h;var k=s.baseQueue,N=g.pending;if(N!==null){if(k!==null){var $=k.next;k.next=N.next,N.next=$}a.baseQueue=k=N,g.pending=null}if(N=s.baseState,k===null)s.memoizedState=N;else{a=k.next;var Y=$=null,se=null,he=a,Se=!1;do{var Ee=he.lane&-536870913;if(Ee!==he.lane?(gt&Ee)===Ee:(ts&Ee)===Ee){var me=he.revertLane;if(me===0)se!==null&&(se=se.next={lane:0,revertLane:0,gesture:null,action:he.action,hasEagerState:he.hasEagerState,eagerState:he.eagerState,next:null}),Ee===oa&&(Se=!0);else if((ts&me)===me){he=he.next,me===oa&&(Se=!0);continue}else Ee={lane:0,revertLane:he.revertLane,gesture:null,action:he.action,hasEagerState:he.hasEagerState,eagerState:he.eagerState,next:null},se===null?(Y=se=Ee,$=N):se=se.next=Ee,ct.lanes|=me,Rs|=me;Ee=he.action,yi&&h(N,Ee),N=he.hasEagerState?he.eagerState:h(N,Ee)}else me={lane:Ee,revertLane:he.revertLane,gesture:he.gesture,action:he.action,hasEagerState:he.hasEagerState,eagerState:he.eagerState,next:null},se===null?(Y=se=me,$=N):se=se.next=me,ct.lanes|=Ee,Rs|=Ee;he=he.next}while(he!==null&&he!==a);if(se===null?$=N:se.next=Y,!Jn(N,s.memoizedState)&&(an=!0,Se&&(h=la,h!==null)))throw h;s.memoizedState=N,s.baseState=$,s.baseQueue=se,g.lastRenderedState=N}return k===null&&(g.lanes=0),[s.memoizedState,g.dispatch]}function Lh(s){var a=Jt(),h=a.queue;if(h===null)throw Error(r(311));h.lastRenderedReducer=s;var g=h.dispatch,k=h.pending,N=a.memoizedState;if(k!==null){h.pending=null;var $=k=k.next;do N=s(N,$.action),$=$.next;while($!==k);Jn(N,a.memoizedState)||(an=!0),a.memoizedState=N,a.baseQueue===null&&(a.baseState=N),h.lastRenderedState=N}return[N,g]}function Ux(s,a,h){var g=ct,k=Jt(),N=bt;if(N){if(h===void 0)throw Error(r(407));h=h()}else h=a();var $=!Jn((At||k).memoizedState,h);if($&&(k.memoizedState=h,an=!0),k=k.queue,Oh(Gx.bind(null,g,k,s),[s]),k.getSnapshot!==a||$||sn!==null&&sn.memoizedState.tag&1){if(g.flags|=2048,ma(9,{destroy:void 0},Vx.bind(null,g,k,h,a),null),Mt===null)throw Error(r(349));N||(ts&127)!==0||Fx(g,a,h)}return h}function Fx(s,a,h){s.flags|=16384,s={getSnapshot:a,value:h},a=ct.updateQueue,a===null?(a=fc(),ct.updateQueue=a,a.stores=[s]):(h=a.stores,h===null?a.stores=[s]:h.push(s))}function Vx(s,a,h,g){a.value=h,a.getSnapshot=g,Wx(a)&&qx(s)}function Gx(s,a,h){return h(function(){Wx(a)&&qx(s)})}function Wx(s){var a=s.getSnapshot;s=s.value;try{var h=a();return!Jn(s,h)}catch{return!0}}function qx(s){var a=ci(s,2);a!==null&&Un(a,s,2)}function Dh(s){var a=Dn();if(typeof s=="function"){var h=s;if(s=h(),yi){We(!0);try{h()}finally{We(!1)}}}return a.memoizedState=a.baseState=s,a.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ns,lastRenderedState:s},a}function Kx(s,a,h,g){return s.baseState=h,Ah(s,At,typeof g=="function"?g:ns)}function EE(s,a,h,g,k){if(yc(s))throw Error(r(485));if(s=a.action,s!==null){var N={payload:k,action:s,next:null,isTransition:!0,status:"pending",value:null,reason:null,listeners:[],then:function($){N.listeners.push($)}};U.T!==null?h(!0):N.isTransition=!1,g(N),h=a.pending,h===null?(N.next=a.pending=N,Yx(a,N)):(N.next=h.next,a.pending=h.next=N)}}function Yx(s,a){var h=a.action,g=a.payload,k=s.state;if(a.isTransition){var N=U.T,$={};U.T=$;try{var Y=h(k,g),se=U.S;se!==null&&se($,Y),Xx(s,a,Y)}catch(he){Rh(s,a,he)}finally{N!==null&&$.types!==null&&(N.types=$.types),U.T=N}}else try{N=h(k,g),Xx(s,a,N)}catch(he){Rh(s,a,he)}}function Xx(s,a,h){h!==null&&typeof h=="object"&&typeof h.then=="function"?h.then(function(g){Qx(s,a,g)},function(g){return Rh(s,a,g)}):Qx(s,a,h)}function Qx(s,a,h){a.status="fulfilled",a.value=h,Jx(a),s.state=h,a=s.pending,a!==null&&(h=a.next,h===a?s.pending=null:(h=h.next,a.next=h,Yx(s,h)))}function Rh(s,a,h){var g=s.pending;if(s.pending=null,g!==null){g=g.next;do a.status="rejected",a.reason=h,Jx(a),a=a.next;while(a!==g)}s.action=null}function Jx(s){s=s.listeners;for(var a=0;a<s.length;a++)(0,s[a])()}function Zx(s,a){return a}function ey(s,a){if(bt){var h=Mt.formState;if(h!==null){e:{var g=ct;if(bt){if(Ft){t:{for(var k=Ft,N=pr;k.nodeType!==8;){if(!N){k=null;break t}if(k=xr(k.nextSibling),k===null){k=null;break t}}N=k.data,k=N==="F!"||N==="F"?k:null}if(k){Ft=xr(k.nextSibling),g=k.data==="F!";break e}}Cs(g)}g=!1}g&&(a=h[0])}}return h=Dn(),h.memoizedState=h.baseState=a,g={pending:null,lanes:0,dispatch:null,lastRenderedReducer:Zx,lastRenderedState:a},h.queue=g,h=by.bind(null,ct,g),g.dispatch=h,g=Dh(!1),N=$h.bind(null,ct,!1,g.queue),g=Dn(),k={state:a,dispatch:null,action:s,pending:null},g.queue=k,h=EE.bind(null,ct,k,N,h),k.dispatch=h,g.memoizedState=s,[a,h,!1]}function ty(s){var a=Jt();return ny(a,At,s)}function ny(s,a,h){if(a=Ah(s,a,Zx)[0],s=pc(ns)[0],typeof a=="object"&&a!==null&&typeof a.then=="function")try{var g=Eo(a)}catch($){throw $===ca?ic:$}else g=a;a=Jt();var k=a.queue,N=k.dispatch;return h!==a.memoizedState&&(ct.flags|=2048,ma(9,{destroy:void 0},jE.bind(null,k,h),null)),[g,N,s]}function jE(s,a){s.action=a}function ry(s){var a=Jt(),h=At;if(h!==null)return ny(a,h,s);Jt(),a=a.memoizedState,h=Jt();var g=h.queue.dispatch;return h.memoizedState=s,[a,g,!1]}function ma(s,a,h,g){return s={tag:s,create:h,deps:g,inst:a,next:null},a=ct.updateQueue,a===null&&(a=fc(),ct.updateQueue=a),h=a.lastEffect,h===null?a.lastEffect=s.next=s:(g=h.next,h.next=s,s.next=g,a.lastEffect=s),s}function sy(){return Jt().memoizedState}function gc(s,a,h,g){var k=Dn();ct.flags|=s,k.memoizedState=ma(1|a,{destroy:void 0},h,g===void 0?null:g)}function xc(s,a,h,g){var k=Jt();g=g===void 0?null:g;var N=k.memoizedState.inst;At!==null&&g!==null&&Ch(g,At.memoizedState.deps)?k.memoizedState=ma(a,N,h,g):(ct.flags|=s,k.memoizedState=ma(1|a,N,h,g))}function iy(s,a){gc(8390656,8,s,a)}function Oh(s,a){xc(2048,8,s,a)}function NE(s){ct.flags|=4;var a=ct.updateQueue;if(a===null)a=fc(),ct.updateQueue=a,a.events=[s];else{var h=a.events;h===null?a.events=[s]:h.push(s)}}function ay(s){var a=Jt().memoizedState;return NE({ref:a,nextImpl:s}),function(){if((kt&2)!==0)throw Error(r(440));return a.impl.apply(void 0,arguments)}}function oy(s,a){return xc(4,2,s,a)}function ly(s,a){return xc(4,4,s,a)}function cy(s,a){if(typeof a=="function"){s=s();var h=a(s);return function(){typeof h=="function"?h():a(null)}}if(a!=null)return s=s(),a.current=s,function(){a.current=null}}function uy(s,a,h){h=h!=null?h.concat([s]):null,xc(4,4,cy.bind(null,a,s),h)}function Ih(){}function dy(s,a){var h=Jt();a=a===void 0?null:a;var g=h.memoizedState;return a!==null&&Ch(a,g[1])?g[0]:(h.memoizedState=[s,a],s)}function hy(s,a){var h=Jt();a=a===void 0?null:a;var g=h.memoizedState;if(a!==null&&Ch(a,g[1]))return g[0];if(g=s(),yi){We(!0);try{s()}finally{We(!1)}}return h.memoizedState=[g,a],g}function Mh(s,a,h){return h===void 0||(ts&1073741824)!==0&&(gt&261930)===0?s.memoizedState=a:(s.memoizedState=h,s=fb(),ct.lanes|=s,Rs|=s,h)}function fy(s,a,h,g){return Jn(h,a)?h:da.current!==null?(s=Mh(s,h,g),Jn(s,a)||(an=!0),s):(ts&42)===0||(ts&1073741824)!==0&&(gt&261930)===0?(an=!0,s.memoizedState=h):(s=fb(),ct.lanes|=s,Rs|=s,a)}function my(s,a,h,g,k){var N=Q.p;Q.p=N!==0&&8>N?N:8;var $=U.T,Y={};U.T=Y,$h(s,!1,a,h);try{var se=k(),he=U.S;if(he!==null&&he(Y,se),se!==null&&typeof se=="object"&&typeof se.then=="function"){var Se=wE(se,g);jo(s,a,Se,sr(s))}else jo(s,a,g,sr(s))}catch(Ee){jo(s,a,{then:function(){},status:"rejected",reason:Ee},sr())}finally{Q.p=N,$!==null&&Y.types!==null&&($.types=Y.types),U.T=$}}function TE(){}function Ph(s,a,h,g){if(s.tag!==5)throw Error(r(476));var k=py(s).queue;my(s,k,a,X,h===null?TE:function(){return gy(s),h(g)})}function py(s){var a=s.memoizedState;if(a!==null)return a;a={memoizedState:X,baseState:X,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ns,lastRenderedState:X},next:null};var h={};return a.next={memoizedState:h,baseState:h,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ns,lastRenderedState:h},next:null},s.memoizedState=a,s=s.alternate,s!==null&&(s.memoizedState=a),a}function gy(s){var a=py(s);a.next===null&&(a=s.alternate.memoizedState),jo(s,a.next.queue,{},sr())}function Bh(){return Sn(Vo)}function xy(){return Jt().memoizedState}function yy(){return Jt().memoizedState}function AE(s){for(var a=s.return;a!==null;){switch(a.tag){case 24:case 3:var h=sr();s=js(h);var g=Ns(a,s,h);g!==null&&(Un(g,a,h),So(g,a,h)),a={cache:fh()},s.payload=a;return}a=a.return}}function LE(s,a,h){var g=sr();h={lane:g,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null},yc(s)?_y(a,h):(h=nh(s,a,h,g),h!==null&&(Un(h,s,g),vy(h,a,g)))}function by(s,a,h){var g=sr();jo(s,a,h,g)}function jo(s,a,h,g){var k={lane:g,revertLane:0,gesture:null,action:h,hasEagerState:!1,eagerState:null,next:null};if(yc(s))_y(a,k);else{var N=s.alternate;if(s.lanes===0&&(N===null||N.lanes===0)&&(N=a.lastRenderedReducer,N!==null))try{var $=a.lastRenderedState,Y=N($,h);if(k.hasEagerState=!0,k.eagerState=Y,Jn(Y,$))return Jl(s,a,k,0),Mt===null&&Ql(),!1}catch{}finally{}if(h=nh(s,a,k,g),h!==null)return Un(h,s,g),vy(h,a,g),!0}return!1}function $h(s,a,h,g){if(g={lane:2,revertLane:yf(),gesture:null,action:g,hasEagerState:!1,eagerState:null,next:null},yc(s)){if(a)throw Error(r(479))}else a=nh(s,h,g,2),a!==null&&Un(a,s,2)}function yc(s){var a=s.alternate;return s===ct||a!==null&&a===ct}function _y(s,a){ha=dc=!0;var h=s.pending;h===null?a.next=a:(a.next=h.next,h.next=a),s.pending=a}function vy(s,a,h){if((h&4194048)!==0){var g=a.lanes;g&=s.pendingLanes,h|=g,a.lanes=h,Ue(s,h)}}var No={readContext:Sn,use:mc,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useLayoutEffect:qt,useInsertionEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useSyncExternalStore:qt,useId:qt,useHostTransitionStatus:qt,useFormState:qt,useActionState:qt,useOptimistic:qt,useMemoCache:qt,useCacheRefresh:qt};No.useEffectEvent=qt;var Sy={readContext:Sn,use:mc,useCallback:function(s,a){return Dn().memoizedState=[s,a===void 0?null:a],s},useContext:Sn,useEffect:iy,useImperativeHandle:function(s,a,h){h=h!=null?h.concat([s]):null,gc(4194308,4,cy.bind(null,a,s),h)},useLayoutEffect:function(s,a){return gc(4194308,4,s,a)},useInsertionEffect:function(s,a){gc(4,2,s,a)},useMemo:function(s,a){var h=Dn();a=a===void 0?null:a;var g=s();if(yi){We(!0);try{s()}finally{We(!1)}}return h.memoizedState=[g,a],g},useReducer:function(s,a,h){var g=Dn();if(h!==void 0){var k=h(a);if(yi){We(!0);try{h(a)}finally{We(!1)}}}else k=a;return g.memoizedState=g.baseState=k,s={pending:null,lanes:0,dispatch:null,lastRenderedReducer:s,lastRenderedState:k},g.queue=s,s=s.dispatch=LE.bind(null,ct,s),[g.memoizedState,s]},useRef:function(s){var a=Dn();return s={current:s},a.memoizedState=s},useState:function(s){s=Dh(s);var a=s.queue,h=by.bind(null,ct,a);return a.dispatch=h,[s.memoizedState,h]},useDebugValue:Ih,useDeferredValue:function(s,a){var h=Dn();return Mh(h,s,a)},useTransition:function(){var s=Dh(!1);return s=my.bind(null,ct,s.queue,!0,!1),Dn().memoizedState=s,[!1,s]},useSyncExternalStore:function(s,a,h){var g=ct,k=Dn();if(bt){if(h===void 0)throw Error(r(407));h=h()}else{if(h=a(),Mt===null)throw Error(r(349));(gt&127)!==0||Fx(g,a,h)}k.memoizedState=h;var N={value:h,getSnapshot:a};return k.queue=N,iy(Gx.bind(null,g,N,s),[s]),g.flags|=2048,ma(9,{destroy:void 0},Vx.bind(null,g,N,h,a),null),h},useId:function(){var s=Dn(),a=Mt.identifierPrefix;if(bt){var h=Mr,g=Ir;h=(g&~(1<<32-nt(g)-1)).toString(32)+h,a="_"+a+"R_"+h,h=hc++,0<h&&(a+="H"+h.toString(32)),a+="_"}else h=CE++,a="_"+a+"r_"+h.toString(32)+"_";return s.memoizedState=a},useHostTransitionStatus:Bh,useFormState:ey,useActionState:ey,useOptimistic:function(s){var a=Dn();a.memoizedState=a.baseState=s;var h={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return a.queue=h,a=$h.bind(null,ct,!0,h),h.dispatch=a,[s,a]},useMemoCache:Th,useCacheRefresh:function(){return Dn().memoizedState=AE.bind(null,ct)},useEffectEvent:function(s){var a=Dn(),h={impl:s};return a.memoizedState=h,function(){if((kt&2)!==0)throw Error(r(440));return h.impl.apply(void 0,arguments)}}},zh={readContext:Sn,use:mc,useCallback:dy,useContext:Sn,useEffect:Oh,useImperativeHandle:uy,useInsertionEffect:oy,useLayoutEffect:ly,useMemo:hy,useReducer:pc,useRef:sy,useState:function(){return pc(ns)},useDebugValue:Ih,useDeferredValue:function(s,a){var h=Jt();return fy(h,At.memoizedState,s,a)},useTransition:function(){var s=pc(ns)[0],a=Jt().memoizedState;return[typeof s=="boolean"?s:Eo(s),a]},useSyncExternalStore:Ux,useId:xy,useHostTransitionStatus:Bh,useFormState:ty,useActionState:ty,useOptimistic:function(s,a){var h=Jt();return Kx(h,At,s,a)},useMemoCache:Th,useCacheRefresh:yy};zh.useEffectEvent=ay;var wy={readContext:Sn,use:mc,useCallback:dy,useContext:Sn,useEffect:Oh,useImperativeHandle:uy,useInsertionEffect:oy,useLayoutEffect:ly,useMemo:hy,useReducer:Lh,useRef:sy,useState:function(){return Lh(ns)},useDebugValue:Ih,useDeferredValue:function(s,a){var h=Jt();return At===null?Mh(h,s,a):fy(h,At.memoizedState,s,a)},useTransition:function(){var s=Lh(ns)[0],a=Jt().memoizedState;return[typeof s=="boolean"?s:Eo(s),a]},useSyncExternalStore:Ux,useId:xy,useHostTransitionStatus:Bh,useFormState:ry,useActionState:ry,useOptimistic:function(s,a){var h=Jt();return At!==null?Kx(h,At,s,a):(h.baseState=s,[s,h.queue.dispatch])},useMemoCache:Th,useCacheRefresh:yy};wy.useEffectEvent=ay;function Hh(s,a,h,g){a=s.memoizedState,h=h(g,a),h=h==null?a:m({},a,h),s.memoizedState=h,s.lanes===0&&(s.updateQueue.baseState=h)}var Uh={enqueueSetState:function(s,a,h){s=s._reactInternals;var g=sr(),k=js(g);k.payload=a,h!=null&&(k.callback=h),a=Ns(s,k,g),a!==null&&(Un(a,s,g),So(a,s,g))},enqueueReplaceState:function(s,a,h){s=s._reactInternals;var g=sr(),k=js(g);k.tag=1,k.payload=a,h!=null&&(k.callback=h),a=Ns(s,k,g),a!==null&&(Un(a,s,g),So(a,s,g))},enqueueForceUpdate:function(s,a){s=s._reactInternals;var h=sr(),g=js(h);g.tag=2,a!=null&&(g.callback=a),a=Ns(s,g,h),a!==null&&(Un(a,s,h),So(a,s,h))}};function Cy(s,a,h,g,k,N,$){return s=s.stateNode,typeof s.shouldComponentUpdate=="function"?s.shouldComponentUpdate(g,N,$):a.prototype&&a.prototype.isPureReactComponent?!mo(h,g)||!mo(k,N):!0}function ky(s,a,h,g){s=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(h,g),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(h,g),a.state!==s&&Uh.enqueueReplaceState(a,a.state,null)}function bi(s,a){var h=a;if("ref"in a){h={};for(var g in a)g!=="ref"&&(h[g]=a[g])}if(s=s.defaultProps){h===a&&(h=m({},h));for(var k in s)h[k]===void 0&&(h[k]=s[k])}return h}function Ey(s){Xl(s)}function jy(s){console.error(s)}function Ny(s){Xl(s)}function bc(s,a){try{var h=s.onUncaughtError;h(a.value,{componentStack:a.stack})}catch(g){setTimeout(function(){throw g})}}function Ty(s,a,h){try{var g=s.onCaughtError;g(h.value,{componentStack:h.stack,errorBoundary:a.tag===1?a.stateNode:null})}catch(k){setTimeout(function(){throw k})}}function Fh(s,a,h){return h=js(h),h.tag=3,h.payload={element:null},h.callback=function(){bc(s,a)},h}function Ay(s){return s=js(s),s.tag=3,s}function Ly(s,a,h,g){var k=h.type.getDerivedStateFromError;if(typeof k=="function"){var N=g.value;s.payload=function(){return k(N)},s.callback=function(){Ty(a,h,g)}}var $=h.stateNode;$!==null&&typeof $.componentDidCatch=="function"&&(s.callback=function(){Ty(a,h,g),typeof k!="function"&&(Os===null?Os=new Set([this]):Os.add(this));var Y=g.stack;this.componentDidCatch(g.value,{componentStack:Y!==null?Y:""})})}function DE(s,a,h,g,k){if(h.flags|=32768,g!==null&&typeof g=="object"&&typeof g.then=="function"){if(a=h.alternate,a!==null&&aa(a,h,k,!0),h=er.current,h!==null){switch(h.tag){case 31:case 13:return gr===null?Lc():h.alternate===null&&Kt===0&&(Kt=3),h.flags&=-257,h.flags|=65536,h.lanes=k,g===ac?h.flags|=16384:(a=h.updateQueue,a===null?h.updateQueue=new Set([g]):a.add(g),pf(s,g,k)),!1;case 22:return h.flags|=65536,g===ac?h.flags|=16384:(a=h.updateQueue,a===null?(a={transitions:null,markerInstances:null,retryQueue:new Set([g])},h.updateQueue=a):(h=a.retryQueue,h===null?a.retryQueue=new Set([g]):h.add(g)),pf(s,g,k)),!1}throw Error(r(435,h.tag))}return pf(s,g,k),Lc(),!1}if(bt)return a=er.current,a!==null?((a.flags&65536)===0&&(a.flags|=256),a.flags|=65536,a.lanes=k,g!==lh&&(s=Error(r(422),{cause:g}),xo(hr(s,h)))):(g!==lh&&(a=Error(r(423),{cause:g}),xo(hr(a,h))),s=s.current.alternate,s.flags|=65536,k&=-k,s.lanes|=k,g=hr(g,h),k=Fh(s.stateNode,g,k),bh(s,k),Kt!==4&&(Kt=2)),!1;var N=Error(r(520),{cause:g});if(N=hr(N,h),Mo===null?Mo=[N]:Mo.push(N),Kt!==4&&(Kt=2),a===null)return!0;g=hr(g,h),h=a;do{switch(h.tag){case 3:return h.flags|=65536,s=k&-k,h.lanes|=s,s=Fh(h.stateNode,g,s),bh(h,s),!1;case 1:if(a=h.type,N=h.stateNode,(h.flags&128)===0&&(typeof a.getDerivedStateFromError=="function"||N!==null&&typeof N.componentDidCatch=="function"&&(Os===null||!Os.has(N))))return h.flags|=65536,k&=-k,h.lanes|=k,k=Ay(k),Ly(k,s,h,g),bh(h,k),!1}h=h.return}while(h!==null);return!1}var Vh=Error(r(461)),an=!1;function wn(s,a,h,g){a.child=s===null?Ix(a,null,h,g):xi(a,s.child,h,g)}function Dy(s,a,h,g,k){h=h.render;var N=a.ref;if("ref"in g){var $={};for(var Y in g)Y!=="ref"&&($[Y]=g[Y])}else $=g;return fi(a),g=kh(s,a,h,$,N,k),Y=Eh(),s!==null&&!an?(jh(s,a,k),rs(s,a,k)):(bt&&Y&&ah(a),a.flags|=1,wn(s,a,g,k),a.child)}function Ry(s,a,h,g,k){if(s===null){var N=h.type;return typeof N=="function"&&!rh(N)&&N.defaultProps===void 0&&h.compare===null?(a.tag=15,a.type=N,Oy(s,a,N,g,k)):(s=ec(h.type,null,g,a,a.mode,k),s.ref=a.ref,s.return=a,a.child=s)}if(N=s.child,!Jh(s,k)){var $=N.memoizedProps;if(h=h.compare,h=h!==null?h:mo,h($,g)&&s.ref===a.ref)return rs(s,a,k)}return a.flags|=1,s=Qr(N,g),s.ref=a.ref,s.return=a,a.child=s}function Oy(s,a,h,g,k){if(s!==null){var N=s.memoizedProps;if(mo(N,g)&&s.ref===a.ref)if(an=!1,a.pendingProps=g=N,Jh(s,k))(s.flags&131072)!==0&&(an=!0);else return a.lanes=s.lanes,rs(s,a,k)}return Gh(s,a,h,g,k)}function Iy(s,a,h,g){var k=g.children,N=s!==null?s.memoizedState:null;if(s===null&&a.stateNode===null&&(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),g.mode==="hidden"){if((a.flags&128)!==0){if(N=N!==null?N.baseLanes|h:h,s!==null){for(g=a.child=s.child,k=0;g!==null;)k=k|g.lanes|g.childLanes,g=g.sibling;g=k&~N}else g=0,a.child=null;return My(s,a,N,h,g)}if((h&536870912)!==0)a.memoizedState={baseLanes:0,cachePool:null},s!==null&&sc(a,N!==null?N.cachePool:null),N!==null?Bx(a,N):vh(),$x(a);else return g=a.lanes=536870912,My(s,a,N!==null?N.baseLanes|h:h,h,g)}else N!==null?(sc(a,N.cachePool),Bx(a,N),As(),a.memoizedState=null):(s!==null&&sc(a,null),vh(),As());return wn(s,a,k,h),a.child}function To(s,a){return s!==null&&s.tag===22||a.stateNode!==null||(a.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),a.sibling}function My(s,a,h,g,k){var N=ph();return N=N===null?null:{parent:rn._currentValue,pool:N},a.memoizedState={baseLanes:h,cachePool:N},s!==null&&sc(a,null),vh(),$x(a),s!==null&&aa(s,a,g,!0),a.childLanes=k,null}function _c(s,a){return a=Sc({mode:a.mode,children:a.children},s.mode),a.ref=s.ref,s.child=a,a.return=s,a}function Py(s,a,h){return xi(a,s.child,null,h),s=_c(a,a.pendingProps),s.flags|=2,tr(a),a.memoizedState=null,s}function RE(s,a,h){var g=a.pendingProps,k=(a.flags&128)!==0;if(a.flags&=-129,s===null){if(bt){if(g.mode==="hidden")return s=_c(a,g),a.lanes=536870912,To(null,s);if(wh(a),(s=Ft)?(s=Yb(s,pr),s=s!==null&&s.data==="&"?s:null,s!==null&&(a.memoizedState={dehydrated:s,treeContext:Ss!==null?{id:Ir,overflow:Mr}:null,retryLane:536870912,hydrationErrors:null},h=_x(s),h.return=a,a.child=h,vn=a,Ft=null)):s=null,s===null)throw Cs(a);return a.lanes=536870912,null}return _c(a,g)}var N=s.memoizedState;if(N!==null){var $=N.dehydrated;if(wh(a),k)if(a.flags&256)a.flags&=-257,a=Py(s,a,h);else if(a.memoizedState!==null)a.child=s.child,a.flags|=128,a=null;else throw Error(r(558));else if(an||aa(s,a,h,!1),k=(h&s.childLanes)!==0,an||k){if(g=Mt,g!==null&&($=qe(g,h),$!==0&&$!==N.retryLane))throw N.retryLane=$,ci(s,$),Un(g,s,$),Vh;Lc(),a=Py(s,a,h)}else s=N.treeContext,Ft=xr($.nextSibling),vn=a,bt=!0,ws=null,pr=!1,s!==null&&wx(a,s),a=_c(a,g),a.flags|=4096;return a}return s=Qr(s.child,{mode:g.mode,children:g.children}),s.ref=a.ref,a.child=s,s.return=a,s}function vc(s,a){var h=a.ref;if(h===null)s!==null&&s.ref!==null&&(a.flags|=4194816);else{if(typeof h!="function"&&typeof h!="object")throw Error(r(284));(s===null||s.ref!==h)&&(a.flags|=4194816)}}function Gh(s,a,h,g,k){return fi(a),h=kh(s,a,h,g,void 0,k),g=Eh(),s!==null&&!an?(jh(s,a,k),rs(s,a,k)):(bt&&g&&ah(a),a.flags|=1,wn(s,a,h,k),a.child)}function By(s,a,h,g,k,N){return fi(a),a.updateQueue=null,h=Hx(a,g,h,k),zx(s),g=Eh(),s!==null&&!an?(jh(s,a,N),rs(s,a,N)):(bt&&g&&ah(a),a.flags|=1,wn(s,a,h,N),a.child)}function $y(s,a,h,g,k){if(fi(a),a.stateNode===null){var N=na,$=h.contextType;typeof $=="object"&&$!==null&&(N=Sn($)),N=new h(g,N),a.memoizedState=N.state!==null&&N.state!==void 0?N.state:null,N.updater=Uh,a.stateNode=N,N._reactInternals=a,N=a.stateNode,N.props=g,N.state=a.memoizedState,N.refs={},xh(a),$=h.contextType,N.context=typeof $=="object"&&$!==null?Sn($):na,N.state=a.memoizedState,$=h.getDerivedStateFromProps,typeof $=="function"&&(Hh(a,h,$,g),N.state=a.memoizedState),typeof h.getDerivedStateFromProps=="function"||typeof N.getSnapshotBeforeUpdate=="function"||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||($=N.state,typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount(),$!==N.state&&Uh.enqueueReplaceState(N,N.state,null),Co(a,g,N,k),wo(),N.state=a.memoizedState),typeof N.componentDidMount=="function"&&(a.flags|=4194308),g=!0}else if(s===null){N=a.stateNode;var Y=a.memoizedProps,se=bi(h,Y);N.props=se;var he=N.context,Se=h.contextType;$=na,typeof Se=="object"&&Se!==null&&($=Sn(Se));var Ee=h.getDerivedStateFromProps;Se=typeof Ee=="function"||typeof N.getSnapshotBeforeUpdate=="function",Y=a.pendingProps!==Y,Se||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||(Y||he!==$)&&ky(a,N,g,$),Es=!1;var me=a.memoizedState;N.state=me,Co(a,g,N,k),wo(),he=a.memoizedState,Y||me!==he||Es?(typeof Ee=="function"&&(Hh(a,h,Ee,g),he=a.memoizedState),(se=Es||Cy(a,h,se,g,me,he,$))?(Se||typeof N.UNSAFE_componentWillMount!="function"&&typeof N.componentWillMount!="function"||(typeof N.componentWillMount=="function"&&N.componentWillMount(),typeof N.UNSAFE_componentWillMount=="function"&&N.UNSAFE_componentWillMount()),typeof N.componentDidMount=="function"&&(a.flags|=4194308)):(typeof N.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=g,a.memoizedState=he),N.props=g,N.state=he,N.context=$,g=se):(typeof N.componentDidMount=="function"&&(a.flags|=4194308),g=!1)}else{N=a.stateNode,yh(s,a),$=a.memoizedProps,Se=bi(h,$),N.props=Se,Ee=a.pendingProps,me=N.context,he=h.contextType,se=na,typeof he=="object"&&he!==null&&(se=Sn(he)),Y=h.getDerivedStateFromProps,(he=typeof Y=="function"||typeof N.getSnapshotBeforeUpdate=="function")||typeof N.UNSAFE_componentWillReceiveProps!="function"&&typeof N.componentWillReceiveProps!="function"||($!==Ee||me!==se)&&ky(a,N,g,se),Es=!1,me=a.memoizedState,N.state=me,Co(a,g,N,k),wo();var xe=a.memoizedState;$!==Ee||me!==xe||Es||s!==null&&s.dependencies!==null&&nc(s.dependencies)?(typeof Y=="function"&&(Hh(a,h,Y,g),xe=a.memoizedState),(Se=Es||Cy(a,h,Se,g,me,xe,se)||s!==null&&s.dependencies!==null&&nc(s.dependencies))?(he||typeof N.UNSAFE_componentWillUpdate!="function"&&typeof N.componentWillUpdate!="function"||(typeof N.componentWillUpdate=="function"&&N.componentWillUpdate(g,xe,se),typeof N.UNSAFE_componentWillUpdate=="function"&&N.UNSAFE_componentWillUpdate(g,xe,se)),typeof N.componentDidUpdate=="function"&&(a.flags|=4),typeof N.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof N.componentDidUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(a.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(a.flags|=1024),a.memoizedProps=g,a.memoizedState=xe),N.props=g,N.state=xe,N.context=se,g=Se):(typeof N.componentDidUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(a.flags|=4),typeof N.getSnapshotBeforeUpdate!="function"||$===s.memoizedProps&&me===s.memoizedState||(a.flags|=1024),g=!1)}return N=g,vc(s,a),g=(a.flags&128)!==0,N||g?(N=a.stateNode,h=g&&typeof h.getDerivedStateFromError!="function"?null:N.render(),a.flags|=1,s!==null&&g?(a.child=xi(a,s.child,null,k),a.child=xi(a,null,h,k)):wn(s,a,h,k),a.memoizedState=N.state,s=a.child):s=rs(s,a,k),s}function zy(s,a,h,g){return di(),a.flags|=256,wn(s,a,h,g),a.child}var Wh={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function qh(s){return{baseLanes:s,cachePool:Tx()}}function Kh(s,a,h){return s=s!==null?s.childLanes&~h:0,a&&(s|=rr),s}function Hy(s,a,h){var g=a.pendingProps,k=!1,N=(a.flags&128)!==0,$;if(($=N)||($=s!==null&&s.memoizedState===null?!1:(Qt.current&2)!==0),$&&(k=!0,a.flags&=-129),$=(a.flags&32)!==0,a.flags&=-33,s===null){if(bt){if(k?Ts(a):As(),(s=Ft)?(s=Yb(s,pr),s=s!==null&&s.data!=="&"?s:null,s!==null&&(a.memoizedState={dehydrated:s,treeContext:Ss!==null?{id:Ir,overflow:Mr}:null,retryLane:536870912,hydrationErrors:null},h=_x(s),h.return=a,a.child=h,vn=a,Ft=null)):s=null,s===null)throw Cs(a);return Lf(s)?a.lanes=32:a.lanes=536870912,null}var Y=g.children;return g=g.fallback,k?(As(),k=a.mode,Y=Sc({mode:"hidden",children:Y},k),g=ui(g,k,h,null),Y.return=a,g.return=a,Y.sibling=g,a.child=Y,g=a.child,g.memoizedState=qh(h),g.childLanes=Kh(s,$,h),a.memoizedState=Wh,To(null,g)):(Ts(a),Yh(a,Y))}var se=s.memoizedState;if(se!==null&&(Y=se.dehydrated,Y!==null)){if(N)a.flags&256?(Ts(a),a.flags&=-257,a=Xh(s,a,h)):a.memoizedState!==null?(As(),a.child=s.child,a.flags|=128,a=null):(As(),Y=g.fallback,k=a.mode,g=Sc({mode:"visible",children:g.children},k),Y=ui(Y,k,h,null),Y.flags|=2,g.return=a,Y.return=a,g.sibling=Y,a.child=g,xi(a,s.child,null,h),g=a.child,g.memoizedState=qh(h),g.childLanes=Kh(s,$,h),a.memoizedState=Wh,a=To(null,g));else if(Ts(a),Lf(Y)){if($=Y.nextSibling&&Y.nextSibling.dataset,$)var he=$.dgst;$=he,g=Error(r(419)),g.stack="",g.digest=$,xo({value:g,source:null,stack:null}),a=Xh(s,a,h)}else if(an||aa(s,a,h,!1),$=(h&s.childLanes)!==0,an||$){if($=Mt,$!==null&&(g=qe($,h),g!==0&&g!==se.retryLane))throw se.retryLane=g,ci(s,g),Un($,s,g),Vh;Af(Y)||Lc(),a=Xh(s,a,h)}else Af(Y)?(a.flags|=192,a.child=s.child,a=null):(s=se.treeContext,Ft=xr(Y.nextSibling),vn=a,bt=!0,ws=null,pr=!1,s!==null&&wx(a,s),a=Yh(a,g.children),a.flags|=4096);return a}return k?(As(),Y=g.fallback,k=a.mode,se=s.child,he=se.sibling,g=Qr(se,{mode:"hidden",children:g.children}),g.subtreeFlags=se.subtreeFlags&65011712,he!==null?Y=Qr(he,Y):(Y=ui(Y,k,h,null),Y.flags|=2),Y.return=a,g.return=a,g.sibling=Y,a.child=g,To(null,g),g=a.child,Y=s.child.memoizedState,Y===null?Y=qh(h):(k=Y.cachePool,k!==null?(se=rn._currentValue,k=k.parent!==se?{parent:se,pool:se}:k):k=Tx(),Y={baseLanes:Y.baseLanes|h,cachePool:k}),g.memoizedState=Y,g.childLanes=Kh(s,$,h),a.memoizedState=Wh,To(s.child,g)):(Ts(a),h=s.child,s=h.sibling,h=Qr(h,{mode:"visible",children:g.children}),h.return=a,h.sibling=null,s!==null&&($=a.deletions,$===null?(a.deletions=[s],a.flags|=16):$.push(s)),a.child=h,a.memoizedState=null,h)}function Yh(s,a){return a=Sc({mode:"visible",children:a},s.mode),a.return=s,s.child=a}function Sc(s,a){return s=Zn(22,s,null,a),s.lanes=0,s}function Xh(s,a,h){return xi(a,s.child,null,h),s=Yh(a,a.pendingProps.children),s.flags|=2,a.memoizedState=null,s}function Uy(s,a,h){s.lanes|=a;var g=s.alternate;g!==null&&(g.lanes|=a),dh(s.return,a,h)}function Qh(s,a,h,g,k,N){var $=s.memoizedState;$===null?s.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:g,tail:h,tailMode:k,treeForkCount:N}:($.isBackwards=a,$.rendering=null,$.renderingStartTime=0,$.last=g,$.tail=h,$.tailMode=k,$.treeForkCount=N)}function Fy(s,a,h){var g=a.pendingProps,k=g.revealOrder,N=g.tail;g=g.children;var $=Qt.current,Y=($&2)!==0;if(Y?($=$&1|2,a.flags|=128):$&=1,B(Qt,$),wn(s,a,g,h),g=bt?go:0,!Y&&s!==null&&(s.flags&128)!==0)e:for(s=a.child;s!==null;){if(s.tag===13)s.memoizedState!==null&&Uy(s,h,a);else if(s.tag===19)Uy(s,h,a);else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===a)break e;for(;s.sibling===null;){if(s.return===null||s.return===a)break e;s=s.return}s.sibling.return=s.return,s=s.sibling}switch(k){case"forwards":for(h=a.child,k=null;h!==null;)s=h.alternate,s!==null&&uc(s)===null&&(k=h),h=h.sibling;h=k,h===null?(k=a.child,a.child=null):(k=h.sibling,h.sibling=null),Qh(a,!1,k,h,N,g);break;case"backwards":case"unstable_legacy-backwards":for(h=null,k=a.child,a.child=null;k!==null;){if(s=k.alternate,s!==null&&uc(s)===null){a.child=k;break}s=k.sibling,k.sibling=h,h=k,k=s}Qh(a,!0,h,null,N,g);break;case"together":Qh(a,!1,null,null,void 0,g);break;default:a.memoizedState=null}return a.child}function rs(s,a,h){if(s!==null&&(a.dependencies=s.dependencies),Rs|=a.lanes,(h&a.childLanes)===0)if(s!==null){if(aa(s,a,h,!1),(h&a.childLanes)===0)return null}else return null;if(s!==null&&a.child!==s.child)throw Error(r(153));if(a.child!==null){for(s=a.child,h=Qr(s,s.pendingProps),a.child=h,h.return=a;s.sibling!==null;)s=s.sibling,h=h.sibling=Qr(s,s.pendingProps),h.return=a;h.sibling=null}return a.child}function Jh(s,a){return(s.lanes&a)!==0?!0:(s=s.dependencies,!!(s!==null&&nc(s)))}function OE(s,a,h){switch(a.tag){case 3:F(a,a.stateNode.containerInfo),ks(a,rn,s.memoizedState.cache),di();break;case 27:case 5:re(a);break;case 4:F(a,a.stateNode.containerInfo);break;case 10:ks(a,a.type,a.memoizedProps.value);break;case 31:if(a.memoizedState!==null)return a.flags|=128,wh(a),null;break;case 13:var g=a.memoizedState;if(g!==null)return g.dehydrated!==null?(Ts(a),a.flags|=128,null):(h&a.child.childLanes)!==0?Hy(s,a,h):(Ts(a),s=rs(s,a,h),s!==null?s.sibling:null);Ts(a);break;case 19:var k=(s.flags&128)!==0;if(g=(h&a.childLanes)!==0,g||(aa(s,a,h,!1),g=(h&a.childLanes)!==0),k){if(g)return Fy(s,a,h);a.flags|=128}if(k=a.memoizedState,k!==null&&(k.rendering=null,k.tail=null,k.lastEffect=null),B(Qt,Qt.current),g)break;return null;case 22:return a.lanes=0,Iy(s,a,h,a.pendingProps);case 24:ks(a,rn,s.memoizedState.cache)}return rs(s,a,h)}function Vy(s,a,h){if(s!==null)if(s.memoizedProps!==a.pendingProps)an=!0;else{if(!Jh(s,h)&&(a.flags&128)===0)return an=!1,OE(s,a,h);an=(s.flags&131072)!==0}else an=!1,bt&&(a.flags&1048576)!==0&&Sx(a,go,a.index);switch(a.lanes=0,a.tag){case 16:e:{var g=a.pendingProps;if(s=pi(a.elementType),a.type=s,typeof s=="function")rh(s)?(g=bi(s,g),a.tag=1,a=$y(null,a,s,g,h)):(a.tag=0,a=Gh(null,a,s,g,h));else{if(s!=null){var k=s.$$typeof;if(k===j){a.tag=11,a=Dy(null,a,s,g,h);break e}else if(k===D){a.tag=14,a=Ry(null,a,s,g,h);break e}}throw a=H(s)||s,Error(r(306,a,""))}}return a;case 0:return Gh(s,a,a.type,a.pendingProps,h);case 1:return g=a.type,k=bi(g,a.pendingProps),$y(s,a,g,k,h);case 3:e:{if(F(a,a.stateNode.containerInfo),s===null)throw Error(r(387));g=a.pendingProps;var N=a.memoizedState;k=N.element,yh(s,a),Co(a,g,null,h);var $=a.memoizedState;if(g=$.cache,ks(a,rn,g),g!==N.cache&&hh(a,[rn],h,!0),wo(),g=$.element,N.isDehydrated)if(N={element:g,isDehydrated:!1,cache:$.cache},a.updateQueue.baseState=N,a.memoizedState=N,a.flags&256){a=zy(s,a,g,h);break e}else if(g!==k){k=hr(Error(r(424)),a),xo(k),a=zy(s,a,g,h);break e}else{switch(s=a.stateNode.containerInfo,s.nodeType){case 9:s=s.body;break;default:s=s.nodeName==="HTML"?s.ownerDocument.body:s}for(Ft=xr(s.firstChild),vn=a,bt=!0,ws=null,pr=!0,h=Ix(a,null,g,h),a.child=h;h;)h.flags=h.flags&-3|4096,h=h.sibling}else{if(di(),g===k){a=rs(s,a,h);break e}wn(s,a,g,h)}a=a.child}return a;case 26:return vc(s,a),s===null?(h=t_(a.type,null,a.pendingProps,null))?a.memoizedState=h:bt||(h=a.type,s=a.pendingProps,g=Bc(ne.current).createElement(h),g[jt]=a,g[Mn]=s,Cn(g,h,s),gn(g),a.stateNode=g):a.memoizedState=t_(a.type,s.memoizedProps,a.pendingProps,s.memoizedState),null;case 27:return re(a),s===null&&bt&&(g=a.stateNode=Jb(a.type,a.pendingProps,ne.current),vn=a,pr=!0,k=Ft,Bs(a.type)?(Df=k,Ft=xr(g.firstChild)):Ft=k),wn(s,a,a.pendingProps.children,h),vc(s,a),s===null&&(a.flags|=4194304),a.child;case 5:return s===null&&bt&&((k=g=Ft)&&(g=u2(g,a.type,a.pendingProps,pr),g!==null?(a.stateNode=g,vn=a,Ft=xr(g.firstChild),pr=!1,k=!0):k=!1),k||Cs(a)),re(a),k=a.type,N=a.pendingProps,$=s!==null?s.memoizedProps:null,g=N.children,jf(k,N)?g=null:$!==null&&jf(k,$)&&(a.flags|=32),a.memoizedState!==null&&(k=kh(s,a,kE,null,null,h),Vo._currentValue=k),vc(s,a),wn(s,a,g,h),a.child;case 6:return s===null&&bt&&((s=h=Ft)&&(h=d2(h,a.pendingProps,pr),h!==null?(a.stateNode=h,vn=a,Ft=null,s=!0):s=!1),s||Cs(a)),null;case 13:return Hy(s,a,h);case 4:return F(a,a.stateNode.containerInfo),g=a.pendingProps,s===null?a.child=xi(a,null,g,h):wn(s,a,g,h),a.child;case 11:return Dy(s,a,a.type,a.pendingProps,h);case 7:return wn(s,a,a.pendingProps,h),a.child;case 8:return wn(s,a,a.pendingProps.children,h),a.child;case 12:return wn(s,a,a.pendingProps.children,h),a.child;case 10:return g=a.pendingProps,ks(a,a.type,g.value),wn(s,a,g.children,h),a.child;case 9:return k=a.type._context,g=a.pendingProps.children,fi(a),k=Sn(k),g=g(k),a.flags|=1,wn(s,a,g,h),a.child;case 14:return Ry(s,a,a.type,a.pendingProps,h);case 15:return Oy(s,a,a.type,a.pendingProps,h);case 19:return Fy(s,a,h);case 31:return RE(s,a,h);case 22:return Iy(s,a,h,a.pendingProps);case 24:return fi(a),g=Sn(rn),s===null?(k=ph(),k===null&&(k=Mt,N=fh(),k.pooledCache=N,N.refCount++,N!==null&&(k.pooledCacheLanes|=h),k=N),a.memoizedState={parent:g,cache:k},xh(a),ks(a,rn,k)):((s.lanes&h)!==0&&(yh(s,a),Co(a,null,null,h),wo()),k=s.memoizedState,N=a.memoizedState,k.parent!==g?(k={parent:g,cache:g},a.memoizedState=k,a.lanes===0&&(a.memoizedState=a.updateQueue.baseState=k),ks(a,rn,g)):(g=N.cache,ks(a,rn,g),g!==k.cache&&hh(a,[rn],h,!0))),wn(s,a,a.pendingProps.children,h),a.child;case 29:throw a.pendingProps}throw Error(r(156,a.tag))}function ss(s){s.flags|=4}function Zh(s,a,h,g,k){if((a=(s.mode&32)!==0)&&(a=!1),a){if(s.flags|=16777216,(k&335544128)===k)if(s.stateNode.complete)s.flags|=8192;else if(xb())s.flags|=8192;else throw gi=ac,gh}else s.flags&=-16777217}function Gy(s,a){if(a.type!=="stylesheet"||(a.state.loading&4)!==0)s.flags&=-16777217;else if(s.flags|=16777216,!a_(a))if(xb())s.flags|=8192;else throw gi=ac,gh}function wc(s,a){a!==null&&(s.flags|=4),s.flags&16384&&(a=s.tag!==22?In():536870912,s.lanes|=a,ya|=a)}function Ao(s,a){if(!bt)switch(s.tailMode){case"hidden":a=s.tail;for(var h=null;a!==null;)a.alternate!==null&&(h=a),a=a.sibling;h===null?s.tail=null:h.sibling=null;break;case"collapsed":h=s.tail;for(var g=null;h!==null;)h.alternate!==null&&(g=h),h=h.sibling;g===null?a||s.tail===null?s.tail=null:s.tail.sibling=null:g.sibling=null}}function Vt(s){var a=s.alternate!==null&&s.alternate.child===s.child,h=0,g=0;if(a)for(var k=s.child;k!==null;)h|=k.lanes|k.childLanes,g|=k.subtreeFlags&65011712,g|=k.flags&65011712,k.return=s,k=k.sibling;else for(k=s.child;k!==null;)h|=k.lanes|k.childLanes,g|=k.subtreeFlags,g|=k.flags,k.return=s,k=k.sibling;return s.subtreeFlags|=g,s.childLanes=h,a}function IE(s,a,h){var g=a.pendingProps;switch(oh(a),a.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Vt(a),null;case 1:return Vt(a),null;case 3:return h=a.stateNode,g=null,s!==null&&(g=s.memoizedState.cache),a.memoizedState.cache!==g&&(a.flags|=2048),es(rn),te(),h.pendingContext&&(h.context=h.pendingContext,h.pendingContext=null),(s===null||s.child===null)&&(ia(a)?ss(a):s===null||s.memoizedState.isDehydrated&&(a.flags&256)===0||(a.flags|=1024,ch())),Vt(a),null;case 26:var k=a.type,N=a.memoizedState;return s===null?(ss(a),N!==null?(Vt(a),Gy(a,N)):(Vt(a),Zh(a,k,null,g,h))):N?N!==s.memoizedState?(ss(a),Vt(a),Gy(a,N)):(Vt(a),a.flags&=-16777217):(s=s.memoizedProps,s!==g&&ss(a),Vt(a),Zh(a,k,s,g,h)),null;case 27:if(ge(a),h=ne.current,k=a.type,s!==null&&a.stateNode!=null)s.memoizedProps!==g&&ss(a);else{if(!g){if(a.stateNode===null)throw Error(r(166));return Vt(a),null}s=ee.current,ia(a)?Cx(a):(s=Jb(k,g,h),a.stateNode=s,ss(a))}return Vt(a),null;case 5:if(ge(a),k=a.type,s!==null&&a.stateNode!=null)s.memoizedProps!==g&&ss(a);else{if(!g){if(a.stateNode===null)throw Error(r(166));return Vt(a),null}if(N=ee.current,ia(a))Cx(a);else{var $=Bc(ne.current);switch(N){case 1:N=$.createElementNS("http://www.w3.org/2000/svg",k);break;case 2:N=$.createElementNS("http://www.w3.org/1998/Math/MathML",k);break;default:switch(k){case"svg":N=$.createElementNS("http://www.w3.org/2000/svg",k);break;case"math":N=$.createElementNS("http://www.w3.org/1998/Math/MathML",k);break;case"script":N=$.createElement("div"),N.innerHTML="<script><\/script>",N=N.removeChild(N.firstChild);break;case"select":N=typeof g.is=="string"?$.createElement("select",{is:g.is}):$.createElement("select"),g.multiple?N.multiple=!0:g.size&&(N.size=g.size);break;default:N=typeof g.is=="string"?$.createElement(k,{is:g.is}):$.createElement(k)}}N[jt]=a,N[Mn]=g;e:for($=a.child;$!==null;){if($.tag===5||$.tag===6)N.appendChild($.stateNode);else if($.tag!==4&&$.tag!==27&&$.child!==null){$.child.return=$,$=$.child;continue}if($===a)break e;for(;$.sibling===null;){if($.return===null||$.return===a)break e;$=$.return}$.sibling.return=$.return,$=$.sibling}a.stateNode=N;e:switch(Cn(N,k,g),k){case"button":case"input":case"select":case"textarea":g=!!g.autoFocus;break e;case"img":g=!0;break e;default:g=!1}g&&ss(a)}}return Vt(a),Zh(a,a.type,s===null?null:s.memoizedProps,a.pendingProps,h),null;case 6:if(s&&a.stateNode!=null)s.memoizedProps!==g&&ss(a);else{if(typeof g!="string"&&a.stateNode===null)throw Error(r(166));if(s=ne.current,ia(a)){if(s=a.stateNode,h=a.memoizedProps,g=null,k=vn,k!==null)switch(k.tag){case 27:case 5:g=k.memoizedProps}s[jt]=a,s=!!(s.nodeValue===h||g!==null&&g.suppressHydrationWarning===!0||Hb(s.nodeValue,h)),s||Cs(a,!0)}else s=Bc(s).createTextNode(g),s[jt]=a,a.stateNode=s}return Vt(a),null;case 31:if(h=a.memoizedState,s===null||s.memoizedState!==null){if(g=ia(a),h!==null){if(s===null){if(!g)throw Error(r(318));if(s=a.memoizedState,s=s!==null?s.dehydrated:null,!s)throw Error(r(557));s[jt]=a}else di(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Vt(a),s=!1}else h=ch(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=h),s=!0;if(!s)return a.flags&256?(tr(a),a):(tr(a),null);if((a.flags&128)!==0)throw Error(r(558))}return Vt(a),null;case 13:if(g=a.memoizedState,s===null||s.memoizedState!==null&&s.memoizedState.dehydrated!==null){if(k=ia(a),g!==null&&g.dehydrated!==null){if(s===null){if(!k)throw Error(r(318));if(k=a.memoizedState,k=k!==null?k.dehydrated:null,!k)throw Error(r(317));k[jt]=a}else di(),(a.flags&128)===0&&(a.memoizedState=null),a.flags|=4;Vt(a),k=!1}else k=ch(),s!==null&&s.memoizedState!==null&&(s.memoizedState.hydrationErrors=k),k=!0;if(!k)return a.flags&256?(tr(a),a):(tr(a),null)}return tr(a),(a.flags&128)!==0?(a.lanes=h,a):(h=g!==null,s=s!==null&&s.memoizedState!==null,h&&(g=a.child,k=null,g.alternate!==null&&g.alternate.memoizedState!==null&&g.alternate.memoizedState.cachePool!==null&&(k=g.alternate.memoizedState.cachePool.pool),N=null,g.memoizedState!==null&&g.memoizedState.cachePool!==null&&(N=g.memoizedState.cachePool.pool),N!==k&&(g.flags|=2048)),h!==s&&h&&(a.child.flags|=8192),wc(a,a.updateQueue),Vt(a),null);case 4:return te(),s===null&&Sf(a.stateNode.containerInfo),Vt(a),null;case 10:return es(a.type),Vt(a),null;case 19:if(q(Qt),g=a.memoizedState,g===null)return Vt(a),null;if(k=(a.flags&128)!==0,N=g.rendering,N===null)if(k)Ao(g,!1);else{if(Kt!==0||s!==null&&(s.flags&128)!==0)for(s=a.child;s!==null;){if(N=uc(s),N!==null){for(a.flags|=128,Ao(g,!1),s=N.updateQueue,a.updateQueue=s,wc(a,s),a.subtreeFlags=0,s=h,h=a.child;h!==null;)bx(h,s),h=h.sibling;return B(Qt,Qt.current&1|2),bt&&Jr(a,g.treeForkCount),a.child}s=s.sibling}g.tail!==null&&Ze()>Nc&&(a.flags|=128,k=!0,Ao(g,!1),a.lanes=4194304)}else{if(!k)if(s=uc(N),s!==null){if(a.flags|=128,k=!0,s=s.updateQueue,a.updateQueue=s,wc(a,s),Ao(g,!0),g.tail===null&&g.tailMode==="hidden"&&!N.alternate&&!bt)return Vt(a),null}else 2*Ze()-g.renderingStartTime>Nc&&h!==536870912&&(a.flags|=128,k=!0,Ao(g,!1),a.lanes=4194304);g.isBackwards?(N.sibling=a.child,a.child=N):(s=g.last,s!==null?s.sibling=N:a.child=N,g.last=N)}return g.tail!==null?(s=g.tail,g.rendering=s,g.tail=s.sibling,g.renderingStartTime=Ze(),s.sibling=null,h=Qt.current,B(Qt,k?h&1|2:h&1),bt&&Jr(a,g.treeForkCount),s):(Vt(a),null);case 22:case 23:return tr(a),Sh(),g=a.memoizedState!==null,s!==null?s.memoizedState!==null!==g&&(a.flags|=8192):g&&(a.flags|=8192),g?(h&536870912)!==0&&(a.flags&128)===0&&(Vt(a),a.subtreeFlags&6&&(a.flags|=8192)):Vt(a),h=a.updateQueue,h!==null&&wc(a,h.retryQueue),h=null,s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),g=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(g=a.memoizedState.cachePool.pool),g!==h&&(a.flags|=2048),s!==null&&q(mi),null;case 24:return h=null,s!==null&&(h=s.memoizedState.cache),a.memoizedState.cache!==h&&(a.flags|=2048),es(rn),Vt(a),null;case 25:return null;case 30:return null}throw Error(r(156,a.tag))}function ME(s,a){switch(oh(a),a.tag){case 1:return s=a.flags,s&65536?(a.flags=s&-65537|128,a):null;case 3:return es(rn),te(),s=a.flags,(s&65536)!==0&&(s&128)===0?(a.flags=s&-65537|128,a):null;case 26:case 27:case 5:return ge(a),null;case 31:if(a.memoizedState!==null){if(tr(a),a.alternate===null)throw Error(r(340));di()}return s=a.flags,s&65536?(a.flags=s&-65537|128,a):null;case 13:if(tr(a),s=a.memoizedState,s!==null&&s.dehydrated!==null){if(a.alternate===null)throw Error(r(340));di()}return s=a.flags,s&65536?(a.flags=s&-65537|128,a):null;case 19:return q(Qt),null;case 4:return te(),null;case 10:return es(a.type),null;case 22:case 23:return tr(a),Sh(),s!==null&&q(mi),s=a.flags,s&65536?(a.flags=s&-65537|128,a):null;case 24:return es(rn),null;case 25:return null;default:return null}}function Wy(s,a){switch(oh(a),a.tag){case 3:es(rn),te();break;case 26:case 27:case 5:ge(a);break;case 4:te();break;case 31:a.memoizedState!==null&&tr(a);break;case 13:tr(a);break;case 19:q(Qt);break;case 10:es(a.type);break;case 22:case 23:tr(a),Sh(),s!==null&&q(mi);break;case 24:es(rn)}}function Lo(s,a){try{var h=a.updateQueue,g=h!==null?h.lastEffect:null;if(g!==null){var k=g.next;h=k;do{if((h.tag&s)===s){g=void 0;var N=h.create,$=h.inst;g=N(),$.destroy=g}h=h.next}while(h!==k)}}catch(Y){Tt(a,a.return,Y)}}function Ls(s,a,h){try{var g=a.updateQueue,k=g!==null?g.lastEffect:null;if(k!==null){var N=k.next;g=N;do{if((g.tag&s)===s){var $=g.inst,Y=$.destroy;if(Y!==void 0){$.destroy=void 0,k=a;var se=h,he=Y;try{he()}catch(Se){Tt(k,se,Se)}}}g=g.next}while(g!==N)}}catch(Se){Tt(a,a.return,Se)}}function qy(s){var a=s.updateQueue;if(a!==null){var h=s.stateNode;try{Px(a,h)}catch(g){Tt(s,s.return,g)}}}function Ky(s,a,h){h.props=bi(s.type,s.memoizedProps),h.state=s.memoizedState;try{h.componentWillUnmount()}catch(g){Tt(s,a,g)}}function Do(s,a){try{var h=s.ref;if(h!==null){switch(s.tag){case 26:case 27:case 5:var g=s.stateNode;break;case 30:g=s.stateNode;break;default:g=s.stateNode}typeof h=="function"?s.refCleanup=h(g):h.current=g}}catch(k){Tt(s,a,k)}}function Pr(s,a){var h=s.ref,g=s.refCleanup;if(h!==null)if(typeof g=="function")try{g()}catch(k){Tt(s,a,k)}finally{s.refCleanup=null,s=s.alternate,s!=null&&(s.refCleanup=null)}else if(typeof h=="function")try{h(null)}catch(k){Tt(s,a,k)}else h.current=null}function Yy(s){var a=s.type,h=s.memoizedProps,g=s.stateNode;try{e:switch(a){case"button":case"input":case"select":case"textarea":h.autoFocus&&g.focus();break e;case"img":h.src?g.src=h.src:h.srcSet&&(g.srcset=h.srcSet)}}catch(k){Tt(s,s.return,k)}}function ef(s,a,h){try{var g=s.stateNode;s2(g,s.type,h,a),g[Mn]=a}catch(k){Tt(s,s.return,k)}}function Xy(s){return s.tag===5||s.tag===3||s.tag===26||s.tag===27&&Bs(s.type)||s.tag===4}function tf(s){e:for(;;){for(;s.sibling===null;){if(s.return===null||Xy(s.return))return null;s=s.return}for(s.sibling.return=s.return,s=s.sibling;s.tag!==5&&s.tag!==6&&s.tag!==18;){if(s.tag===27&&Bs(s.type)||s.flags&2||s.child===null||s.tag===4)continue e;s.child.return=s,s=s.child}if(!(s.flags&2))return s.stateNode}}function nf(s,a,h){var g=s.tag;if(g===5||g===6)s=s.stateNode,a?(h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h).insertBefore(s,a):(a=h.nodeType===9?h.body:h.nodeName==="HTML"?h.ownerDocument.body:h,a.appendChild(s),h=h._reactRootContainer,h!=null||a.onclick!==null||(a.onclick=Yr));else if(g!==4&&(g===27&&Bs(s.type)&&(h=s.stateNode,a=null),s=s.child,s!==null))for(nf(s,a,h),s=s.sibling;s!==null;)nf(s,a,h),s=s.sibling}function Cc(s,a,h){var g=s.tag;if(g===5||g===6)s=s.stateNode,a?h.insertBefore(s,a):h.appendChild(s);else if(g!==4&&(g===27&&Bs(s.type)&&(h=s.stateNode),s=s.child,s!==null))for(Cc(s,a,h),s=s.sibling;s!==null;)Cc(s,a,h),s=s.sibling}function Qy(s){var a=s.stateNode,h=s.memoizedProps;try{for(var g=s.type,k=a.attributes;k.length;)a.removeAttributeNode(k[0]);Cn(a,g,h),a[jt]=s,a[Mn]=h}catch(N){Tt(s,s.return,N)}}var is=!1,on=!1,rf=!1,Jy=typeof WeakSet=="function"?WeakSet:Set,xn=null;function PE(s,a){if(s=s.containerInfo,kf=Gc,s=ux(s),Xd(s)){if("selectionStart"in s)var h={start:s.selectionStart,end:s.selectionEnd};else e:{h=(h=s.ownerDocument)&&h.defaultView||window;var g=h.getSelection&&h.getSelection();if(g&&g.rangeCount!==0){h=g.anchorNode;var k=g.anchorOffset,N=g.focusNode;g=g.focusOffset;try{h.nodeType,N.nodeType}catch{h=null;break e}var $=0,Y=-1,se=-1,he=0,Se=0,Ee=s,me=null;t:for(;;){for(var xe;Ee!==h||k!==0&&Ee.nodeType!==3||(Y=$+k),Ee!==N||g!==0&&Ee.nodeType!==3||(se=$+g),Ee.nodeType===3&&($+=Ee.nodeValue.length),(xe=Ee.firstChild)!==null;)me=Ee,Ee=xe;for(;;){if(Ee===s)break t;if(me===h&&++he===k&&(Y=$),me===N&&++Se===g&&(se=$),(xe=Ee.nextSibling)!==null)break;Ee=me,me=Ee.parentNode}Ee=xe}h=Y===-1||se===-1?null:{start:Y,end:se}}else h=null}h=h||{start:0,end:0}}else h=null;for(Ef={focusedElem:s,selectionRange:h},Gc=!1,xn=a;xn!==null;)if(a=xn,s=a.child,(a.subtreeFlags&1028)!==0&&s!==null)s.return=a,xn=s;else for(;xn!==null;){switch(a=xn,N=a.alternate,s=a.flags,a.tag){case 0:if((s&4)!==0&&(s=a.updateQueue,s=s!==null?s.events:null,s!==null))for(h=0;h<s.length;h++)k=s[h],k.ref.impl=k.nextImpl;break;case 11:case 15:break;case 1:if((s&1024)!==0&&N!==null){s=void 0,h=a,k=N.memoizedProps,N=N.memoizedState,g=h.stateNode;try{var Ve=bi(h.type,k);s=g.getSnapshotBeforeUpdate(Ve,N),g.__reactInternalSnapshotBeforeUpdate=s}catch(Je){Tt(h,h.return,Je)}}break;case 3:if((s&1024)!==0){if(s=a.stateNode.containerInfo,h=s.nodeType,h===9)Tf(s);else if(h===1)switch(s.nodeName){case"HEAD":case"HTML":case"BODY":Tf(s);break;default:s.textContent=""}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if((s&1024)!==0)throw Error(r(163))}if(s=a.sibling,s!==null){s.return=a.return,xn=s;break}xn=a.return}}function Zy(s,a,h){var g=h.flags;switch(h.tag){case 0:case 11:case 15:os(s,h),g&4&&Lo(5,h);break;case 1:if(os(s,h),g&4)if(s=h.stateNode,a===null)try{s.componentDidMount()}catch($){Tt(h,h.return,$)}else{var k=bi(h.type,a.memoizedProps);a=a.memoizedState;try{s.componentDidUpdate(k,a,s.__reactInternalSnapshotBeforeUpdate)}catch($){Tt(h,h.return,$)}}g&64&&qy(h),g&512&&Do(h,h.return);break;case 3:if(os(s,h),g&64&&(s=h.updateQueue,s!==null)){if(a=null,h.child!==null)switch(h.child.tag){case 27:case 5:a=h.child.stateNode;break;case 1:a=h.child.stateNode}try{Px(s,a)}catch($){Tt(h,h.return,$)}}break;case 27:a===null&&g&4&&Qy(h);case 26:case 5:os(s,h),a===null&&g&4&&Yy(h),g&512&&Do(h,h.return);break;case 12:os(s,h);break;case 31:os(s,h),g&4&&nb(s,h);break;case 13:os(s,h),g&4&&rb(s,h),g&64&&(s=h.memoizedState,s!==null&&(s=s.dehydrated,s!==null&&(h=WE.bind(null,h),h2(s,h))));break;case 22:if(g=h.memoizedState!==null||is,!g){a=a!==null&&a.memoizedState!==null||on,k=is;var N=on;is=g,(on=a)&&!N?ls(s,h,(h.subtreeFlags&8772)!==0):os(s,h),is=k,on=N}break;case 30:break;default:os(s,h)}}function eb(s){var a=s.alternate;a!==null&&(s.alternate=null,eb(a)),s.child=null,s.deletions=null,s.sibling=null,s.tag===5&&(a=s.stateNode,a!==null&&Rd(a)),s.stateNode=null,s.return=null,s.dependencies=null,s.memoizedProps=null,s.memoizedState=null,s.pendingProps=null,s.stateNode=null,s.updateQueue=null}var Gt=null,Bn=!1;function as(s,a,h){for(h=h.child;h!==null;)tb(s,a,h),h=h.sibling}function tb(s,a,h){if(Ie&&typeof Ie.onCommitFiberUnmount=="function")try{Ie.onCommitFiberUnmount(pe,h)}catch{}switch(h.tag){case 26:on||Pr(h,a),as(s,a,h),h.memoizedState?h.memoizedState.count--:h.stateNode&&(h=h.stateNode,h.parentNode.removeChild(h));break;case 27:on||Pr(h,a);var g=Gt,k=Bn;Bs(h.type)&&(Gt=h.stateNode,Bn=!1),as(s,a,h),Ho(h.stateNode),Gt=g,Bn=k;break;case 5:on||Pr(h,a);case 6:if(g=Gt,k=Bn,Gt=null,as(s,a,h),Gt=g,Bn=k,Gt!==null)if(Bn)try{(Gt.nodeType===9?Gt.body:Gt.nodeName==="HTML"?Gt.ownerDocument.body:Gt).removeChild(h.stateNode)}catch(N){Tt(h,a,N)}else try{Gt.removeChild(h.stateNode)}catch(N){Tt(h,a,N)}break;case 18:Gt!==null&&(Bn?(s=Gt,qb(s.nodeType===9?s.body:s.nodeName==="HTML"?s.ownerDocument.body:s,h.stateNode),Ea(s)):qb(Gt,h.stateNode));break;case 4:g=Gt,k=Bn,Gt=h.stateNode.containerInfo,Bn=!0,as(s,a,h),Gt=g,Bn=k;break;case 0:case 11:case 14:case 15:Ls(2,h,a),on||Ls(4,h,a),as(s,a,h);break;case 1:on||(Pr(h,a),g=h.stateNode,typeof g.componentWillUnmount=="function"&&Ky(h,a,g)),as(s,a,h);break;case 21:as(s,a,h);break;case 22:on=(g=on)||h.memoizedState!==null,as(s,a,h),on=g;break;default:as(s,a,h)}}function nb(s,a){if(a.memoizedState===null&&(s=a.alternate,s!==null&&(s=s.memoizedState,s!==null))){s=s.dehydrated;try{Ea(s)}catch(h){Tt(a,a.return,h)}}}function rb(s,a){if(a.memoizedState===null&&(s=a.alternate,s!==null&&(s=s.memoizedState,s!==null&&(s=s.dehydrated,s!==null))))try{Ea(s)}catch(h){Tt(a,a.return,h)}}function BE(s){switch(s.tag){case 31:case 13:case 19:var a=s.stateNode;return a===null&&(a=s.stateNode=new Jy),a;case 22:return s=s.stateNode,a=s._retryCache,a===null&&(a=s._retryCache=new Jy),a;default:throw Error(r(435,s.tag))}}function kc(s,a){var h=BE(s);a.forEach(function(g){if(!h.has(g)){h.add(g);var k=qE.bind(null,s,g);g.then(k,k)}})}function $n(s,a){var h=a.deletions;if(h!==null)for(var g=0;g<h.length;g++){var k=h[g],N=s,$=a,Y=$;e:for(;Y!==null;){switch(Y.tag){case 27:if(Bs(Y.type)){Gt=Y.stateNode,Bn=!1;break e}break;case 5:Gt=Y.stateNode,Bn=!1;break e;case 3:case 4:Gt=Y.stateNode.containerInfo,Bn=!0;break e}Y=Y.return}if(Gt===null)throw Error(r(160));tb(N,$,k),Gt=null,Bn=!1,N=k.alternate,N!==null&&(N.return=null),k.return=null}if(a.subtreeFlags&13886)for(a=a.child;a!==null;)sb(a,s),a=a.sibling}var Er=null;function sb(s,a){var h=s.alternate,g=s.flags;switch(s.tag){case 0:case 11:case 14:case 15:$n(a,s),zn(s),g&4&&(Ls(3,s,s.return),Lo(3,s),Ls(5,s,s.return));break;case 1:$n(a,s),zn(s),g&512&&(on||h===null||Pr(h,h.return)),g&64&&is&&(s=s.updateQueue,s!==null&&(g=s.callbacks,g!==null&&(h=s.shared.hiddenCallbacks,s.shared.hiddenCallbacks=h===null?g:h.concat(g))));break;case 26:var k=Er;if($n(a,s),zn(s),g&512&&(on||h===null||Pr(h,h.return)),g&4){var N=h!==null?h.memoizedState:null;if(g=s.memoizedState,h===null)if(g===null)if(s.stateNode===null){e:{g=s.type,h=s.memoizedProps,k=k.ownerDocument||k;t:switch(g){case"title":N=k.getElementsByTagName("title")[0],(!N||N[so]||N[jt]||N.namespaceURI==="http://www.w3.org/2000/svg"||N.hasAttribute("itemprop"))&&(N=k.createElement(g),k.head.insertBefore(N,k.querySelector("head > title"))),Cn(N,g,h),N[jt]=s,gn(N),g=N;break e;case"link":var $=s_("link","href",k).get(g+(h.href||""));if($){for(var Y=0;Y<$.length;Y++)if(N=$[Y],N.getAttribute("href")===(h.href==null||h.href===""?null:h.href)&&N.getAttribute("rel")===(h.rel==null?null:h.rel)&&N.getAttribute("title")===(h.title==null?null:h.title)&&N.getAttribute("crossorigin")===(h.crossOrigin==null?null:h.crossOrigin)){$.splice(Y,1);break t}}N=k.createElement(g),Cn(N,g,h),k.head.appendChild(N);break;case"meta":if($=s_("meta","content",k).get(g+(h.content||""))){for(Y=0;Y<$.length;Y++)if(N=$[Y],N.getAttribute("content")===(h.content==null?null:""+h.content)&&N.getAttribute("name")===(h.name==null?null:h.name)&&N.getAttribute("property")===(h.property==null?null:h.property)&&N.getAttribute("http-equiv")===(h.httpEquiv==null?null:h.httpEquiv)&&N.getAttribute("charset")===(h.charSet==null?null:h.charSet)){$.splice(Y,1);break t}}N=k.createElement(g),Cn(N,g,h),k.head.appendChild(N);break;default:throw Error(r(468,g))}N[jt]=s,gn(N),g=N}s.stateNode=g}else i_(k,s.type,s.stateNode);else s.stateNode=r_(k,g,s.memoizedProps);else N!==g?(N===null?h.stateNode!==null&&(h=h.stateNode,h.parentNode.removeChild(h)):N.count--,g===null?i_(k,s.type,s.stateNode):r_(k,g,s.memoizedProps)):g===null&&s.stateNode!==null&&ef(s,s.memoizedProps,h.memoizedProps)}break;case 27:$n(a,s),zn(s),g&512&&(on||h===null||Pr(h,h.return)),h!==null&&g&4&&ef(s,s.memoizedProps,h.memoizedProps);break;case 5:if($n(a,s),zn(s),g&512&&(on||h===null||Pr(h,h.return)),s.flags&32){k=s.stateNode;try{Yi(k,"")}catch(Ve){Tt(s,s.return,Ve)}}g&4&&s.stateNode!=null&&(k=s.memoizedProps,ef(s,k,h!==null?h.memoizedProps:k)),g&1024&&(rf=!0);break;case 6:if($n(a,s),zn(s),g&4){if(s.stateNode===null)throw Error(r(162));g=s.memoizedProps,h=s.stateNode;try{h.nodeValue=g}catch(Ve){Tt(s,s.return,Ve)}}break;case 3:if(Hc=null,k=Er,Er=$c(a.containerInfo),$n(a,s),Er=k,zn(s),g&4&&h!==null&&h.memoizedState.isDehydrated)try{Ea(a.containerInfo)}catch(Ve){Tt(s,s.return,Ve)}rf&&(rf=!1,ib(s));break;case 4:g=Er,Er=$c(s.stateNode.containerInfo),$n(a,s),zn(s),Er=g;break;case 12:$n(a,s),zn(s);break;case 31:$n(a,s),zn(s),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,kc(s,g)));break;case 13:$n(a,s),zn(s),s.child.flags&8192&&s.memoizedState!==null!=(h!==null&&h.memoizedState!==null)&&(jc=Ze()),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,kc(s,g)));break;case 22:k=s.memoizedState!==null;var se=h!==null&&h.memoizedState!==null,he=is,Se=on;if(is=he||k,on=Se||se,$n(a,s),on=Se,is=he,zn(s),g&8192)e:for(a=s.stateNode,a._visibility=k?a._visibility&-2:a._visibility|1,k&&(h===null||se||is||on||_i(s)),h=null,a=s;;){if(a.tag===5||a.tag===26){if(h===null){se=h=a;try{if(N=se.stateNode,k)$=N.style,typeof $.setProperty=="function"?$.setProperty("display","none","important"):$.display="none";else{Y=se.stateNode;var Ee=se.memoizedProps.style,me=Ee!=null&&Ee.hasOwnProperty("display")?Ee.display:null;Y.style.display=me==null||typeof me=="boolean"?"":(""+me).trim()}}catch(Ve){Tt(se,se.return,Ve)}}}else if(a.tag===6){if(h===null){se=a;try{se.stateNode.nodeValue=k?"":se.memoizedProps}catch(Ve){Tt(se,se.return,Ve)}}}else if(a.tag===18){if(h===null){se=a;try{var xe=se.stateNode;k?Kb(xe,!0):Kb(se.stateNode,!1)}catch(Ve){Tt(se,se.return,Ve)}}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===s)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===s)break e;for(;a.sibling===null;){if(a.return===null||a.return===s)break e;h===a&&(h=null),a=a.return}h===a&&(h=null),a.sibling.return=a.return,a=a.sibling}g&4&&(g=s.updateQueue,g!==null&&(h=g.retryQueue,h!==null&&(g.retryQueue=null,kc(s,h))));break;case 19:$n(a,s),zn(s),g&4&&(g=s.updateQueue,g!==null&&(s.updateQueue=null,kc(s,g)));break;case 30:break;case 21:break;default:$n(a,s),zn(s)}}function zn(s){var a=s.flags;if(a&2){try{for(var h,g=s.return;g!==null;){if(Xy(g)){h=g;break}g=g.return}if(h==null)throw Error(r(160));switch(h.tag){case 27:var k=h.stateNode,N=tf(s);Cc(s,N,k);break;case 5:var $=h.stateNode;h.flags&32&&(Yi($,""),h.flags&=-33);var Y=tf(s);Cc(s,Y,$);break;case 3:case 4:var se=h.stateNode.containerInfo,he=tf(s);nf(s,he,se);break;default:throw Error(r(161))}}catch(Se){Tt(s,s.return,Se)}s.flags&=-3}a&4096&&(s.flags&=-4097)}function ib(s){if(s.subtreeFlags&1024)for(s=s.child;s!==null;){var a=s;ib(a),a.tag===5&&a.flags&1024&&a.stateNode.reset(),s=s.sibling}}function os(s,a){if(a.subtreeFlags&8772)for(a=a.child;a!==null;)Zy(s,a.alternate,a),a=a.sibling}function _i(s){for(s=s.child;s!==null;){var a=s;switch(a.tag){case 0:case 11:case 14:case 15:Ls(4,a,a.return),_i(a);break;case 1:Pr(a,a.return);var h=a.stateNode;typeof h.componentWillUnmount=="function"&&Ky(a,a.return,h),_i(a);break;case 27:Ho(a.stateNode);case 26:case 5:Pr(a,a.return),_i(a);break;case 22:a.memoizedState===null&&_i(a);break;case 30:_i(a);break;default:_i(a)}s=s.sibling}}function ls(s,a,h){for(h=h&&(a.subtreeFlags&8772)!==0,a=a.child;a!==null;){var g=a.alternate,k=s,N=a,$=N.flags;switch(N.tag){case 0:case 11:case 15:ls(k,N,h),Lo(4,N);break;case 1:if(ls(k,N,h),g=N,k=g.stateNode,typeof k.componentDidMount=="function")try{k.componentDidMount()}catch(he){Tt(g,g.return,he)}if(g=N,k=g.updateQueue,k!==null){var Y=g.stateNode;try{var se=k.shared.hiddenCallbacks;if(se!==null)for(k.shared.hiddenCallbacks=null,k=0;k<se.length;k++)Mx(se[k],Y)}catch(he){Tt(g,g.return,he)}}h&&$&64&&qy(N),Do(N,N.return);break;case 27:Qy(N);case 26:case 5:ls(k,N,h),h&&g===null&&$&4&&Yy(N),Do(N,N.return);break;case 12:ls(k,N,h);break;case 31:ls(k,N,h),h&&$&4&&nb(k,N);break;case 13:ls(k,N,h),h&&$&4&&rb(k,N);break;case 22:N.memoizedState===null&&ls(k,N,h),Do(N,N.return);break;case 30:break;default:ls(k,N,h)}a=a.sibling}}function sf(s,a){var h=null;s!==null&&s.memoizedState!==null&&s.memoizedState.cachePool!==null&&(h=s.memoizedState.cachePool.pool),s=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(s=a.memoizedState.cachePool.pool),s!==h&&(s!=null&&s.refCount++,h!=null&&yo(h))}function af(s,a){s=null,a.alternate!==null&&(s=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==s&&(a.refCount++,s!=null&&yo(s))}function jr(s,a,h,g){if(a.subtreeFlags&10256)for(a=a.child;a!==null;)ab(s,a,h,g),a=a.sibling}function ab(s,a,h,g){var k=a.flags;switch(a.tag){case 0:case 11:case 15:jr(s,a,h,g),k&2048&&Lo(9,a);break;case 1:jr(s,a,h,g);break;case 3:jr(s,a,h,g),k&2048&&(s=null,a.alternate!==null&&(s=a.alternate.memoizedState.cache),a=a.memoizedState.cache,a!==s&&(a.refCount++,s!=null&&yo(s)));break;case 12:if(k&2048){jr(s,a,h,g),s=a.stateNode;try{var N=a.memoizedProps,$=N.id,Y=N.onPostCommit;typeof Y=="function"&&Y($,a.alternate===null?"mount":"update",s.passiveEffectDuration,-0)}catch(se){Tt(a,a.return,se)}}else jr(s,a,h,g);break;case 31:jr(s,a,h,g);break;case 13:jr(s,a,h,g);break;case 23:break;case 22:N=a.stateNode,$=a.alternate,a.memoizedState!==null?N._visibility&2?jr(s,a,h,g):Ro(s,a):N._visibility&2?jr(s,a,h,g):(N._visibility|=2,pa(s,a,h,g,(a.subtreeFlags&10256)!==0||!1)),k&2048&&sf($,a);break;case 24:jr(s,a,h,g),k&2048&&af(a.alternate,a);break;default:jr(s,a,h,g)}}function pa(s,a,h,g,k){for(k=k&&((a.subtreeFlags&10256)!==0||!1),a=a.child;a!==null;){var N=s,$=a,Y=h,se=g,he=$.flags;switch($.tag){case 0:case 11:case 15:pa(N,$,Y,se,k),Lo(8,$);break;case 23:break;case 22:var Se=$.stateNode;$.memoizedState!==null?Se._visibility&2?pa(N,$,Y,se,k):Ro(N,$):(Se._visibility|=2,pa(N,$,Y,se,k)),k&&he&2048&&sf($.alternate,$);break;case 24:pa(N,$,Y,se,k),k&&he&2048&&af($.alternate,$);break;default:pa(N,$,Y,se,k)}a=a.sibling}}function Ro(s,a){if(a.subtreeFlags&10256)for(a=a.child;a!==null;){var h=s,g=a,k=g.flags;switch(g.tag){case 22:Ro(h,g),k&2048&&sf(g.alternate,g);break;case 24:Ro(h,g),k&2048&&af(g.alternate,g);break;default:Ro(h,g)}a=a.sibling}}var Oo=8192;function ga(s,a,h){if(s.subtreeFlags&Oo)for(s=s.child;s!==null;)ob(s,a,h),s=s.sibling}function ob(s,a,h){switch(s.tag){case 26:ga(s,a,h),s.flags&Oo&&s.memoizedState!==null&&C2(h,Er,s.memoizedState,s.memoizedProps);break;case 5:ga(s,a,h);break;case 3:case 4:var g=Er;Er=$c(s.stateNode.containerInfo),ga(s,a,h),Er=g;break;case 22:s.memoizedState===null&&(g=s.alternate,g!==null&&g.memoizedState!==null?(g=Oo,Oo=16777216,ga(s,a,h),Oo=g):ga(s,a,h));break;default:ga(s,a,h)}}function lb(s){var a=s.alternate;if(a!==null&&(s=a.child,s!==null)){a.child=null;do a=s.sibling,s.sibling=null,s=a;while(s!==null)}}function Io(s){var a=s.deletions;if((s.flags&16)!==0){if(a!==null)for(var h=0;h<a.length;h++){var g=a[h];xn=g,ub(g,s)}lb(s)}if(s.subtreeFlags&10256)for(s=s.child;s!==null;)cb(s),s=s.sibling}function cb(s){switch(s.tag){case 0:case 11:case 15:Io(s),s.flags&2048&&Ls(9,s,s.return);break;case 3:Io(s);break;case 12:Io(s);break;case 22:var a=s.stateNode;s.memoizedState!==null&&a._visibility&2&&(s.return===null||s.return.tag!==13)?(a._visibility&=-3,Ec(s)):Io(s);break;default:Io(s)}}function Ec(s){var a=s.deletions;if((s.flags&16)!==0){if(a!==null)for(var h=0;h<a.length;h++){var g=a[h];xn=g,ub(g,s)}lb(s)}for(s=s.child;s!==null;){switch(a=s,a.tag){case 0:case 11:case 15:Ls(8,a,a.return),Ec(a);break;case 22:h=a.stateNode,h._visibility&2&&(h._visibility&=-3,Ec(a));break;default:Ec(a)}s=s.sibling}}function ub(s,a){for(;xn!==null;){var h=xn;switch(h.tag){case 0:case 11:case 15:Ls(8,h,a);break;case 23:case 22:if(h.memoizedState!==null&&h.memoizedState.cachePool!==null){var g=h.memoizedState.cachePool.pool;g!=null&&g.refCount++}break;case 24:yo(h.memoizedState.cache)}if(g=h.child,g!==null)g.return=h,xn=g;else e:for(h=s;xn!==null;){g=xn;var k=g.sibling,N=g.return;if(eb(g),g===h){xn=null;break e}if(k!==null){k.return=N,xn=k;break e}xn=N}}}var $E={getCacheForType:function(s){var a=Sn(rn),h=a.data.get(s);return h===void 0&&(h=s(),a.data.set(s,h)),h},cacheSignal:function(){return Sn(rn).controller.signal}},zE=typeof WeakMap=="function"?WeakMap:Map,kt=0,Mt=null,ft=null,gt=0,Nt=0,nr=null,Ds=!1,xa=!1,of=!1,cs=0,Kt=0,Rs=0,vi=0,lf=0,rr=0,ya=0,Mo=null,Hn=null,cf=!1,jc=0,db=0,Nc=1/0,Tc=null,Os=null,hn=0,Is=null,ba=null,us=0,uf=0,df=null,hb=null,Po=0,hf=null;function sr(){return(kt&2)!==0&>!==0?gt&-gt:U.T!==null?yf():yt()}function fb(){if(rr===0)if((gt&536870912)===0||bt){var s=ye;ye<<=1,(ye&3932160)===0&&(ye=262144),rr=s}else rr=536870912;return s=er.current,s!==null&&(s.flags|=32),rr}function Un(s,a,h){(s===Mt&&(Nt===2||Nt===9)||s.cancelPendingCommit!==null)&&(_a(s,0),Ms(s,gt,rr,!1)),Cr(s,h),((kt&2)===0||s!==Mt)&&(s===Mt&&((kt&2)===0&&(vi|=h),Kt===4&&Ms(s,gt,rr,!1)),Br(s))}function mb(s,a,h){if((kt&6)!==0)throw Error(r(327));var g=!h&&(a&127)===0&&(a&s.expiredLanes)===0||Qe(s,a),k=g?FE(s,a):mf(s,a,!0),N=g;do{if(k===0){xa&&!g&&Ms(s,a,0,!1);break}else{if(h=s.current.alternate,N&&!HE(h)){k=mf(s,a,!1),N=!1;continue}if(k===2){if(N=a,s.errorRecoveryDisabledLanes&N)var $=0;else $=s.pendingLanes&-536870913,$=$!==0?$:$&536870912?536870912:0;if($!==0){a=$;e:{var Y=s;k=Mo;var se=Y.current.memoizedState.isDehydrated;if(se&&(_a(Y,$).flags|=256),$=mf(Y,$,!1),$!==2){if(of&&!se){Y.errorRecoveryDisabledLanes|=N,vi|=N,k=4;break e}N=Hn,Hn=k,N!==null&&(Hn===null?Hn=N:Hn.push.apply(Hn,N))}k=$}if(N=!1,k!==2)continue}}if(k===1){_a(s,0),Ms(s,a,0,!0);break}e:{switch(g=s,N=k,N){case 0:case 1:throw Error(r(345));case 4:if((a&4194048)!==a)break;case 6:Ms(g,a,rr,!Ds);break e;case 2:Hn=null;break;case 3:case 5:break;default:throw Error(r(329))}if((a&62914560)===a&&(k=jc+300-Ze(),10<k)){if(Ms(g,a,rr,!Ds),Ae(g,0,!0)!==0)break e;us=a,g.timeoutHandle=Gb(pb.bind(null,g,h,Hn,Tc,cf,a,rr,vi,ya,Ds,N,"Throttled",-0,0),k);break e}pb(g,h,Hn,Tc,cf,a,rr,vi,ya,Ds,N,null,-0,0)}}break}while(!0);Br(s)}function pb(s,a,h,g,k,N,$,Y,se,he,Se,Ee,me,xe){if(s.timeoutHandle=-1,Ee=a.subtreeFlags,Ee&8192||(Ee&16785408)===16785408){Ee={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Yr},ob(a,N,Ee);var Ve=(N&62914560)===N?jc-Ze():(N&4194048)===N?db-Ze():0;if(Ve=k2(Ee,Ve),Ve!==null){us=N,s.cancelPendingCommit=Ve(wb.bind(null,s,a,N,h,g,k,$,Y,se,Se,Ee,null,me,xe)),Ms(s,N,$,!he);return}}wb(s,a,N,h,g,k,$,Y,se)}function HE(s){for(var a=s;;){var h=a.tag;if((h===0||h===11||h===15)&&a.flags&16384&&(h=a.updateQueue,h!==null&&(h=h.stores,h!==null)))for(var g=0;g<h.length;g++){var k=h[g],N=k.getSnapshot;k=k.value;try{if(!Jn(N(),k))return!1}catch{return!1}}if(h=a.child,a.subtreeFlags&16384&&h!==null)h.return=a,a=h;else{if(a===s)break;for(;a.sibling===null;){if(a.return===null||a.return===s)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function Ms(s,a,h,g){a&=~lf,a&=~vi,s.suspendedLanes|=a,s.pingedLanes&=~a,g&&(s.warmLanes|=a),g=s.expirationTimes;for(var k=a;0<k;){var N=31-nt(k),$=1<<N;g[N]=-1,k&=~$}h!==0&&Ce(s,h,a)}function Ac(){return(kt&6)===0?(Bo(0),!1):!0}function ff(){if(ft!==null){if(Nt===0)var s=ft.return;else s=ft,Zr=hi=null,Nh(s),ua=null,_o=0,s=ft;for(;s!==null;)Wy(s.alternate,s),s=s.return;ft=null}}function _a(s,a){var h=s.timeoutHandle;h!==-1&&(s.timeoutHandle=-1,o2(h)),h=s.cancelPendingCommit,h!==null&&(s.cancelPendingCommit=null,h()),us=0,ff(),Mt=s,ft=h=Qr(s.current,null),gt=a,Nt=0,nr=null,Ds=!1,xa=Qe(s,a),of=!1,ya=rr=lf=vi=Rs=Kt=0,Hn=Mo=null,cf=!1,(a&8)!==0&&(a|=a&32);var g=s.entangledLanes;if(g!==0)for(s=s.entanglements,g&=a;0<g;){var k=31-nt(g),N=1<<k;a|=s[k],g&=~N}return cs=a,Ql(),h}function gb(s,a){ct=null,U.H=No,a===ca||a===ic?(a=Dx(),Nt=3):a===gh?(a=Dx(),Nt=4):Nt=a===Vh?8:a!==null&&typeof a=="object"&&typeof a.then=="function"?6:1,nr=a,ft===null&&(Kt=1,bc(s,hr(a,s.current)))}function xb(){var s=er.current;return s===null?!0:(gt&4194048)===gt?gr===null:(gt&62914560)===gt||(gt&536870912)!==0?s===gr:!1}function yb(){var s=U.H;return U.H=No,s===null?No:s}function bb(){var s=U.A;return U.A=$E,s}function Lc(){Kt=4,Ds||(gt&4194048)!==gt&&er.current!==null||(xa=!0),(Rs&134217727)===0&&(vi&134217727)===0||Mt===null||Ms(Mt,gt,rr,!1)}function mf(s,a,h){var g=kt;kt|=2;var k=yb(),N=bb();(Mt!==s||gt!==a)&&(Tc=null,_a(s,a)),a=!1;var $=Kt;e:do try{if(Nt!==0&&ft!==null){var Y=ft,se=nr;switch(Nt){case 8:ff(),$=6;break e;case 3:case 2:case 9:case 6:er.current===null&&(a=!0);var he=Nt;if(Nt=0,nr=null,va(s,Y,se,he),h&&xa){$=0;break e}break;default:he=Nt,Nt=0,nr=null,va(s,Y,se,he)}}UE(),$=Kt;break}catch(Se){gb(s,Se)}while(!0);return a&&s.shellSuspendCounter++,Zr=hi=null,kt=g,U.H=k,U.A=N,ft===null&&(Mt=null,gt=0,Ql()),$}function UE(){for(;ft!==null;)_b(ft)}function FE(s,a){var h=kt;kt|=2;var g=yb(),k=bb();Mt!==s||gt!==a?(Tc=null,Nc=Ze()+500,_a(s,a)):xa=Qe(s,a);e:do try{if(Nt!==0&&ft!==null){a=ft;var N=nr;t:switch(Nt){case 1:Nt=0,nr=null,va(s,a,N,1);break;case 2:case 9:if(Ax(N)){Nt=0,nr=null,vb(a);break}a=function(){Nt!==2&&Nt!==9||Mt!==s||(Nt=7),Br(s)},N.then(a,a);break e;case 3:Nt=7;break e;case 4:Nt=5;break e;case 7:Ax(N)?(Nt=0,nr=null,vb(a)):(Nt=0,nr=null,va(s,a,N,7));break;case 5:var $=null;switch(ft.tag){case 26:$=ft.memoizedState;case 5:case 27:var Y=ft;if($?a_($):Y.stateNode.complete){Nt=0,nr=null;var se=Y.sibling;if(se!==null)ft=se;else{var he=Y.return;he!==null?(ft=he,Dc(he)):ft=null}break t}}Nt=0,nr=null,va(s,a,N,5);break;case 6:Nt=0,nr=null,va(s,a,N,6);break;case 8:ff(),Kt=6;break e;default:throw Error(r(462))}}VE();break}catch(Se){gb(s,Se)}while(!0);return Zr=hi=null,U.H=g,U.A=k,kt=h,ft!==null?0:(Mt=null,gt=0,Ql(),Kt)}function VE(){for(;ft!==null&&!Oe();)_b(ft)}function _b(s){var a=Vy(s.alternate,s,cs);s.memoizedProps=s.pendingProps,a===null?Dc(s):ft=a}function vb(s){var a=s,h=a.alternate;switch(a.tag){case 15:case 0:a=By(h,a,a.pendingProps,a.type,void 0,gt);break;case 11:a=By(h,a,a.pendingProps,a.type.render,a.ref,gt);break;case 5:Nh(a);default:Wy(h,a),a=ft=bx(a,cs),a=Vy(h,a,cs)}s.memoizedProps=s.pendingProps,a===null?Dc(s):ft=a}function va(s,a,h,g){Zr=hi=null,Nh(a),ua=null,_o=0;var k=a.return;try{if(DE(s,k,a,h,gt)){Kt=1,bc(s,hr(h,s.current)),ft=null;return}}catch(N){if(k!==null)throw ft=k,N;Kt=1,bc(s,hr(h,s.current)),ft=null;return}a.flags&32768?(bt||g===1?s=!0:xa||(gt&536870912)!==0?s=!1:(Ds=s=!0,(g===2||g===9||g===3||g===6)&&(g=er.current,g!==null&&g.tag===13&&(g.flags|=16384))),Sb(a,s)):Dc(a)}function Dc(s){var a=s;do{if((a.flags&32768)!==0){Sb(a,Ds);return}s=a.return;var h=IE(a.alternate,a,cs);if(h!==null){ft=h;return}if(a=a.sibling,a!==null){ft=a;return}ft=a=s}while(a!==null);Kt===0&&(Kt=5)}function Sb(s,a){do{var h=ME(s.alternate,s);if(h!==null){h.flags&=32767,ft=h;return}if(h=s.return,h!==null&&(h.flags|=32768,h.subtreeFlags=0,h.deletions=null),!a&&(s=s.sibling,s!==null)){ft=s;return}ft=s=h}while(s!==null);Kt=6,ft=null}function wb(s,a,h,g,k,N,$,Y,se){s.cancelPendingCommit=null;do Rc();while(hn!==0);if((kt&6)!==0)throw Error(r(327));if(a!==null){if(a===s.current)throw Error(r(177));if(N=a.lanes|a.childLanes,N|=th,ve(s,h,N,$,Y,se),s===Mt&&(ft=Mt=null,gt=0),ba=a,Is=s,us=h,uf=N,df=k,hb=g,(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?(s.callbackNode=null,s.callbackPriority=0,KE($e,function(){return Nb(),null})):(s.callbackNode=null,s.callbackPriority=0),g=(a.flags&13878)!==0,(a.subtreeFlags&13878)!==0||g){g=U.T,U.T=null,k=Q.p,Q.p=2,$=kt,kt|=4;try{PE(s,a,h)}finally{kt=$,Q.p=k,U.T=g}}hn=1,Cb(),kb(),Eb()}}function Cb(){if(hn===1){hn=0;var s=Is,a=ba,h=(a.flags&13878)!==0;if((a.subtreeFlags&13878)!==0||h){h=U.T,U.T=null;var g=Q.p;Q.p=2;var k=kt;kt|=4;try{sb(a,s);var N=Ef,$=ux(s.containerInfo),Y=N.focusedElem,se=N.selectionRange;if($!==Y&&Y&&Y.ownerDocument&&cx(Y.ownerDocument.documentElement,Y)){if(se!==null&&Xd(Y)){var he=se.start,Se=se.end;if(Se===void 0&&(Se=he),"selectionStart"in Y)Y.selectionStart=he,Y.selectionEnd=Math.min(Se,Y.value.length);else{var Ee=Y.ownerDocument||document,me=Ee&&Ee.defaultView||window;if(me.getSelection){var xe=me.getSelection(),Ve=Y.textContent.length,Je=Math.min(se.start,Ve),Dt=se.end===void 0?Je:Math.min(se.end,Ve);!xe.extend&&Je>Dt&&($=Dt,Dt=Je,Je=$);var le=lx(Y,Je),ie=lx(Y,Dt);if(le&&ie&&(xe.rangeCount!==1||xe.anchorNode!==le.node||xe.anchorOffset!==le.offset||xe.focusNode!==ie.node||xe.focusOffset!==ie.offset)){var de=Ee.createRange();de.setStart(le.node,le.offset),xe.removeAllRanges(),Je>Dt?(xe.addRange(de),xe.extend(ie.node,ie.offset)):(de.setEnd(ie.node,ie.offset),xe.addRange(de))}}}}for(Ee=[],xe=Y;xe=xe.parentNode;)xe.nodeType===1&&Ee.push({element:xe,left:xe.scrollLeft,top:xe.scrollTop});for(typeof Y.focus=="function"&&Y.focus(),Y=0;Y<Ee.length;Y++){var ke=Ee[Y];ke.element.scrollLeft=ke.left,ke.element.scrollTop=ke.top}}Gc=!!kf,Ef=kf=null}finally{kt=k,Q.p=g,U.T=h}}s.current=a,hn=2}}function kb(){if(hn===2){hn=0;var s=Is,a=ba,h=(a.flags&8772)!==0;if((a.subtreeFlags&8772)!==0||h){h=U.T,U.T=null;var g=Q.p;Q.p=2;var k=kt;kt|=4;try{Zy(s,a.alternate,a)}finally{kt=k,Q.p=g,U.T=h}}hn=3}}function Eb(){if(hn===4||hn===3){hn=0,tt();var s=Is,a=ba,h=us,g=hb;(a.subtreeFlags&10256)!==0||(a.flags&10256)!==0?hn=5:(hn=0,ba=Is=null,jb(s,s.pendingLanes));var k=s.pendingLanes;if(k===0&&(Os=null),st(h),a=a.stateNode,Ie&&typeof Ie.onCommitFiberRoot=="function")try{Ie.onCommitFiberRoot(pe,a,void 0,(a.current.flags&128)===128)}catch{}if(g!==null){a=U.T,k=Q.p,Q.p=2,U.T=null;try{for(var N=s.onRecoverableError,$=0;$<g.length;$++){var Y=g[$];N(Y.value,{componentStack:Y.stack})}}finally{U.T=a,Q.p=k}}(us&3)!==0&&Rc(),Br(s),k=s.pendingLanes,(h&261930)!==0&&(k&42)!==0?s===hf?Po++:(Po=0,hf=s):Po=0,Bo(0)}}function jb(s,a){(s.pooledCacheLanes&=a)===0&&(a=s.pooledCache,a!=null&&(s.pooledCache=null,yo(a)))}function Rc(){return Cb(),kb(),Eb(),Nb()}function Nb(){if(hn!==5)return!1;var s=Is,a=uf;uf=0;var h=st(us),g=U.T,k=Q.p;try{Q.p=32>h?32:h,U.T=null,h=df,df=null;var N=Is,$=us;if(hn=0,ba=Is=null,us=0,(kt&6)!==0)throw Error(r(331));var Y=kt;if(kt|=4,cb(N.current),ab(N,N.current,$,h),kt=Y,Bo(0,!1),Ie&&typeof Ie.onPostCommitFiberRoot=="function")try{Ie.onPostCommitFiberRoot(pe,N)}catch{}return!0}finally{Q.p=k,U.T=g,jb(s,a)}}function Tb(s,a,h){a=hr(h,a),a=Fh(s.stateNode,a,2),s=Ns(s,a,2),s!==null&&(Cr(s,2),Br(s))}function Tt(s,a,h){if(s.tag===3)Tb(s,s,h);else for(;a!==null;){if(a.tag===3){Tb(a,s,h);break}else if(a.tag===1){var g=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof g.componentDidCatch=="function"&&(Os===null||!Os.has(g))){s=hr(h,s),h=Ay(2),g=Ns(a,h,2),g!==null&&(Ly(h,g,a,s),Cr(g,2),Br(g));break}}a=a.return}}function pf(s,a,h){var g=s.pingCache;if(g===null){g=s.pingCache=new zE;var k=new Set;g.set(a,k)}else k=g.get(a),k===void 0&&(k=new Set,g.set(a,k));k.has(h)||(of=!0,k.add(h),s=GE.bind(null,s,a,h),a.then(s,s))}function GE(s,a,h){var g=s.pingCache;g!==null&&g.delete(a),s.pingedLanes|=s.suspendedLanes&h,s.warmLanes&=~h,Mt===s&&(gt&h)===h&&(Kt===4||Kt===3&&(gt&62914560)===gt&&300>Ze()-jc?(kt&2)===0&&_a(s,0):lf|=h,ya===gt&&(ya=0)),Br(s)}function Ab(s,a){a===0&&(a=In()),s=ci(s,a),s!==null&&(Cr(s,a),Br(s))}function WE(s){var a=s.memoizedState,h=0;a!==null&&(h=a.retryLane),Ab(s,h)}function qE(s,a){var h=0;switch(s.tag){case 31:case 13:var g=s.stateNode,k=s.memoizedState;k!==null&&(h=k.retryLane);break;case 19:g=s.stateNode;break;case 22:g=s.stateNode._retryCache;break;default:throw Error(r(314))}g!==null&&g.delete(a),Ab(s,h)}function KE(s,a){return ue(s,a)}var Oc=null,Sa=null,gf=!1,Ic=!1,xf=!1,Ps=0;function Br(s){s!==Sa&&s.next===null&&(Sa===null?Oc=Sa=s:Sa=Sa.next=s),Ic=!0,gf||(gf=!0,XE())}function Bo(s,a){if(!xf&&Ic){xf=!0;do for(var h=!1,g=Oc;g!==null;){if(s!==0){var k=g.pendingLanes;if(k===0)var N=0;else{var $=g.suspendedLanes,Y=g.pingedLanes;N=(1<<31-nt(42|s)+1)-1,N&=k&~($&~Y),N=N&201326741?N&201326741|1:N?N|2:0}N!==0&&(h=!0,Ob(g,N))}else N=gt,N=Ae(g,g===Mt?N:0,g.cancelPendingCommit!==null||g.timeoutHandle!==-1),(N&3)===0||Qe(g,N)||(h=!0,Ob(g,N));g=g.next}while(h);xf=!1}}function YE(){Lb()}function Lb(){Ic=gf=!1;var s=0;Ps!==0&&a2()&&(s=Ps);for(var a=Ze(),h=null,g=Oc;g!==null;){var k=g.next,N=Db(g,a);N===0?(g.next=null,h===null?Oc=k:h.next=k,k===null&&(Sa=h)):(h=g,(s!==0||(N&3)!==0)&&(Ic=!0)),g=k}hn!==0&&hn!==5||Bo(s),Ps!==0&&(Ps=0)}function Db(s,a){for(var h=s.suspendedLanes,g=s.pingedLanes,k=s.expirationTimes,N=s.pendingLanes&-62914561;0<N;){var $=31-nt(N),Y=1<<$,se=k[$];se===-1?((Y&h)===0||(Y&g)!==0)&&(k[$]=Bt(Y,a)):se<=a&&(s.expiredLanes|=Y),N&=~Y}if(a=Mt,h=gt,h=Ae(s,s===a?h:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),g=s.callbackNode,h===0||s===a&&(Nt===2||Nt===9)||s.cancelPendingCommit!==null)return g!==null&&g!==null&&oe(g),s.callbackNode=null,s.callbackPriority=0;if((h&3)===0||Qe(s,h)){if(a=h&-h,a===s.callbackPriority)return a;switch(g!==null&&oe(g),st(h)){case 2:case 8:h=Te;break;case 32:h=$e;break;case 268435456:h=rt;break;default:h=$e}return g=Rb.bind(null,s),h=ue(h,g),s.callbackPriority=a,s.callbackNode=h,a}return g!==null&&g!==null&&oe(g),s.callbackPriority=2,s.callbackNode=null,2}function Rb(s,a){if(hn!==0&&hn!==5)return s.callbackNode=null,s.callbackPriority=0,null;var h=s.callbackNode;if(Rc()&&s.callbackNode!==h)return null;var g=gt;return g=Ae(s,s===Mt?g:0,s.cancelPendingCommit!==null||s.timeoutHandle!==-1),g===0?null:(mb(s,g,a),Db(s,Ze()),s.callbackNode!=null&&s.callbackNode===h?Rb.bind(null,s):null)}function Ob(s,a){if(Rc())return null;mb(s,a,!0)}function XE(){l2(function(){(kt&6)!==0?ue(ce,YE):Lb()})}function yf(){if(Ps===0){var s=oa;s===0&&(s=Qn,Qn<<=1,(Qn&261888)===0&&(Qn=256)),Ps=s}return Ps}function Ib(s){return s==null||typeof s=="symbol"||typeof s=="boolean"?null:typeof s=="function"?s:Fl(""+s)}function Mb(s,a){var h=a.ownerDocument.createElement("input");return h.name=a.name,h.value=a.value,s.id&&h.setAttribute("form",s.id),a.parentNode.insertBefore(h,a),s=new FormData(s),h.parentNode.removeChild(h),s}function QE(s,a,h,g,k){if(a==="submit"&&h&&h.stateNode===k){var N=Ib((k[Mn]||null).action),$=g.submitter;$&&(a=(a=$[Mn]||null)?Ib(a.formAction):$.getAttribute("formAction"),a!==null&&(N=a,$=null));var Y=new ql("action","action",null,g,k);s.push({event:Y,listeners:[{instance:null,listener:function(){if(g.defaultPrevented){if(Ps!==0){var se=$?Mb(k,$):new FormData(k);Ph(h,{pending:!0,data:se,method:k.method,action:N},null,se)}}else typeof N=="function"&&(Y.preventDefault(),se=$?Mb(k,$):new FormData(k),Ph(h,{pending:!0,data:se,method:k.method,action:N},N,se))},currentTarget:k}]})}}for(var bf=0;bf<eh.length;bf++){var _f=eh[bf],JE=_f.toLowerCase(),ZE=_f[0].toUpperCase()+_f.slice(1);kr(JE,"on"+ZE)}kr(fx,"onAnimationEnd"),kr(mx,"onAnimationIteration"),kr(px,"onAnimationStart"),kr("dblclick","onDoubleClick"),kr("focusin","onFocus"),kr("focusout","onBlur"),kr(pE,"onTransitionRun"),kr(gE,"onTransitionStart"),kr(xE,"onTransitionCancel"),kr(gx,"onTransitionEnd"),qi("onMouseEnter",["mouseout","mouseover"]),qi("onMouseLeave",["mouseout","mouseover"]),qi("onPointerEnter",["pointerout","pointerover"]),qi("onPointerLeave",["pointerout","pointerover"]),ii("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),ii("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),ii("onBeforeInput",["compositionend","keypress","textInput","paste"]),ii("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),ii("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),ii("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var $o="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),e2=new Set("beforetoggle cancel close invalid load scroll scrollend toggle".split(" ").concat($o));function Pb(s,a){a=(a&4)!==0;for(var h=0;h<s.length;h++){var g=s[h],k=g.event;g=g.listeners;e:{var N=void 0;if(a)for(var $=g.length-1;0<=$;$--){var Y=g[$],se=Y.instance,he=Y.currentTarget;if(Y=Y.listener,se!==N&&k.isPropagationStopped())break e;N=Y,k.currentTarget=he;try{N(k)}catch(Se){Xl(Se)}k.currentTarget=null,N=se}else for($=0;$<g.length;$++){if(Y=g[$],se=Y.instance,he=Y.currentTarget,Y=Y.listener,se!==N&&k.isPropagationStopped())break e;N=Y,k.currentTarget=he;try{N(k)}catch(Se){Xl(Se)}k.currentTarget=null,N=se}}}}function mt(s,a){var h=a[Dd];h===void 0&&(h=a[Dd]=new Set);var g=s+"__bubble";h.has(g)||(Bb(a,s,2,!1),h.add(g))}function vf(s,a,h){var g=0;a&&(g|=4),Bb(h,s,g,a)}var Mc="_reactListening"+Math.random().toString(36).slice(2);function Sf(s){if(!s[Mc]){s[Mc]=!0,Lg.forEach(function(h){h!=="selectionchange"&&(e2.has(h)||vf(h,!1,s),vf(h,!0,s))});var a=s.nodeType===9?s:s.ownerDocument;a===null||a[Mc]||(a[Mc]=!0,vf("selectionchange",!1,a))}}function Bb(s,a,h,g){switch(f_(a)){case 2:var k=N2;break;case 8:k=T2;break;default:k=Pf}h=k.bind(null,a,h,s),k=void 0,!Hd||a!=="touchstart"&&a!=="touchmove"&&a!=="wheel"||(k=!0),g?k!==void 0?s.addEventListener(a,h,{capture:!0,passive:k}):s.addEventListener(a,h,!0):k!==void 0?s.addEventListener(a,h,{passive:k}):s.addEventListener(a,h,!1)}function wf(s,a,h,g,k){var N=g;if((a&1)===0&&(a&2)===0&&g!==null)e:for(;;){if(g===null)return;var $=g.tag;if($===3||$===4){var Y=g.stateNode.containerInfo;if(Y===k)break;if($===4)for($=g.return;$!==null;){var se=$.tag;if((se===3||se===4)&&$.stateNode.containerInfo===k)return;$=$.return}for(;Y!==null;){if($=Vi(Y),$===null)return;if(se=$.tag,se===5||se===6||se===26||se===27){g=N=$;continue e}Y=Y.parentNode}}g=g.return}Fg(function(){var he=N,Se=$d(h),Ee=[];e:{var me=xx.get(s);if(me!==void 0){var xe=ql,Ve=s;switch(s){case"keypress":if(Gl(h)===0)break e;case"keydown":case"keyup":xe=qk;break;case"focusin":Ve="focus",xe=Gd;break;case"focusout":Ve="blur",xe=Gd;break;case"beforeblur":case"afterblur":xe=Gd;break;case"click":if(h.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":xe=Wg;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":xe=Ik;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":xe=Xk;break;case fx:case mx:case px:xe=Bk;break;case gx:xe=Jk;break;case"scroll":case"scrollend":xe=Rk;break;case"wheel":xe=eE;break;case"copy":case"cut":case"paste":xe=zk;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":xe=Kg;break;case"toggle":case"beforetoggle":xe=nE}var Je=(a&4)!==0,Dt=!Je&&(s==="scroll"||s==="scrollend"),le=Je?me!==null?me+"Capture":null:me;Je=[];for(var ie=he,de;ie!==null;){var ke=ie;if(de=ke.stateNode,ke=ke.tag,ke!==5&&ke!==26&&ke!==27||de===null||le===null||(ke=ao(ie,le),ke!=null&&Je.push(zo(ie,ke,de))),Dt)break;ie=ie.return}0<Je.length&&(me=new xe(me,Ve,null,h,Se),Ee.push({event:me,listeners:Je}))}}if((a&7)===0){e:{if(me=s==="mouseover"||s==="pointerover",xe=s==="mouseout"||s==="pointerout",me&&h!==Bd&&(Ve=h.relatedTarget||h.fromElement)&&(Vi(Ve)||Ve[Fi]))break e;if((xe||me)&&(me=Se.window===Se?Se:(me=Se.ownerDocument)?me.defaultView||me.parentWindow:window,xe?(Ve=h.relatedTarget||h.toElement,xe=he,Ve=Ve?Vi(Ve):null,Ve!==null&&(Dt=l(Ve),Je=Ve.tag,Ve!==Dt||Je!==5&&Je!==27&&Je!==6)&&(Ve=null)):(xe=null,Ve=he),xe!==Ve)){if(Je=Wg,ke="onMouseLeave",le="onMouseEnter",ie="mouse",(s==="pointerout"||s==="pointerover")&&(Je=Kg,ke="onPointerLeave",le="onPointerEnter",ie="pointer"),Dt=xe==null?me:io(xe),de=Ve==null?me:io(Ve),me=new Je(ke,ie+"leave",xe,h,Se),me.target=Dt,me.relatedTarget=de,ke=null,Vi(Se)===he&&(Je=new Je(le,ie+"enter",Ve,h,Se),Je.target=de,Je.relatedTarget=Dt,ke=Je),Dt=ke,xe&&Ve)t:{for(Je=t2,le=xe,ie=Ve,de=0,ke=le;ke;ke=Je(ke))de++;ke=0;for(var Ye=ie;Ye;Ye=Je(Ye))ke++;for(;0<de-ke;)le=Je(le),de--;for(;0<ke-de;)ie=Je(ie),ke--;for(;de--;){if(le===ie||ie!==null&&le===ie.alternate){Je=le;break t}le=Je(le),ie=Je(ie)}Je=null}else Je=null;xe!==null&&$b(Ee,me,xe,Je,!1),Ve!==null&&Dt!==null&&$b(Ee,Dt,Ve,Je,!0)}}e:{if(me=he?io(he):window,xe=me.nodeName&&me.nodeName.toLowerCase(),xe==="select"||xe==="input"&&me.type==="file")var St=nx;else if(ex(me))if(rx)St=hE;else{St=uE;var Ge=cE}else xe=me.nodeName,!xe||xe.toLowerCase()!=="input"||me.type!=="checkbox"&&me.type!=="radio"?he&&Pd(he.elementType)&&(St=nx):St=dE;if(St&&(St=St(s,he))){tx(Ee,St,h,Se);break e}Ge&&Ge(s,me,he),s==="focusout"&&he&&me.type==="number"&&he.memoizedProps.value!=null&&Md(me,"number",me.value)}switch(Ge=he?io(he):window,s){case"focusin":(ex(Ge)||Ge.contentEditable==="true")&&(Zi=Ge,Qd=he,po=null);break;case"focusout":po=Qd=Zi=null;break;case"mousedown":Jd=!0;break;case"contextmenu":case"mouseup":case"dragend":Jd=!1,dx(Ee,h,Se);break;case"selectionchange":if(mE)break;case"keydown":case"keyup":dx(Ee,h,Se)}var ut;if(qd)e:{switch(s){case"compositionstart":var xt="onCompositionStart";break e;case"compositionend":xt="onCompositionEnd";break e;case"compositionupdate":xt="onCompositionUpdate";break e}xt=void 0}else Ji?Jg(s,h)&&(xt="onCompositionEnd"):s==="keydown"&&h.keyCode===229&&(xt="onCompositionStart");xt&&(Yg&&h.locale!=="ko"&&(Ji||xt!=="onCompositionStart"?xt==="onCompositionEnd"&&Ji&&(ut=Vg()):(vs=Se,Ud="value"in vs?vs.value:vs.textContent,Ji=!0)),Ge=Pc(he,xt),0<Ge.length&&(xt=new qg(xt,s,null,h,Se),Ee.push({event:xt,listeners:Ge}),ut?xt.data=ut:(ut=Zg(h),ut!==null&&(xt.data=ut)))),(ut=sE?iE(s,h):aE(s,h))&&(xt=Pc(he,"onBeforeInput"),0<xt.length&&(Ge=new qg("onBeforeInput","beforeinput",null,h,Se),Ee.push({event:Ge,listeners:xt}),Ge.data=ut)),QE(Ee,s,he,h,Se)}Pb(Ee,a)})}function zo(s,a,h){return{instance:s,listener:a,currentTarget:h}}function Pc(s,a){for(var h=a+"Capture",g=[];s!==null;){var k=s,N=k.stateNode;if(k=k.tag,k!==5&&k!==26&&k!==27||N===null||(k=ao(s,h),k!=null&&g.unshift(zo(s,k,N)),k=ao(s,a),k!=null&&g.push(zo(s,k,N))),s.tag===3)return g;s=s.return}return[]}function t2(s){if(s===null)return null;do s=s.return;while(s&&s.tag!==5&&s.tag!==27);return s||null}function $b(s,a,h,g,k){for(var N=a._reactName,$=[];h!==null&&h!==g;){var Y=h,se=Y.alternate,he=Y.stateNode;if(Y=Y.tag,se!==null&&se===g)break;Y!==5&&Y!==26&&Y!==27||he===null||(se=he,k?(he=ao(h,N),he!=null&&$.unshift(zo(h,he,se))):k||(he=ao(h,N),he!=null&&$.push(zo(h,he,se)))),h=h.return}$.length!==0&&s.push({event:a,listeners:$})}var n2=/\r\n?/g,r2=/\u0000|\uFFFD/g;function zb(s){return(typeof s=="string"?s:""+s).replace(n2,`
|
|
50
|
+
`).replace(r2,"")}function Hb(s,a){return a=zb(a),zb(s)===a}function Lt(s,a,h,g,k,N){switch(h){case"children":typeof g=="string"?a==="body"||a==="textarea"&&g===""||Yi(s,g):(typeof g=="number"||typeof g=="bigint")&&a!=="body"&&Yi(s,""+g);break;case"className":Hl(s,"class",g);break;case"tabIndex":Hl(s,"tabindex",g);break;case"dir":case"role":case"viewBox":case"width":case"height":Hl(s,h,g);break;case"style":Hg(s,g,N);break;case"data":if(a!=="object"){Hl(s,"data",g);break}case"src":case"href":if(g===""&&(a!=="a"||h!=="href")){s.removeAttribute(h);break}if(g==null||typeof g=="function"||typeof g=="symbol"||typeof g=="boolean"){s.removeAttribute(h);break}g=Fl(""+g),s.setAttribute(h,g);break;case"action":case"formAction":if(typeof g=="function"){s.setAttribute(h,"javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')");break}else typeof N=="function"&&(h==="formAction"?(a!=="input"&&Lt(s,a,"name",k.name,k,null),Lt(s,a,"formEncType",k.formEncType,k,null),Lt(s,a,"formMethod",k.formMethod,k,null),Lt(s,a,"formTarget",k.formTarget,k,null)):(Lt(s,a,"encType",k.encType,k,null),Lt(s,a,"method",k.method,k,null),Lt(s,a,"target",k.target,k,null)));if(g==null||typeof g=="symbol"||typeof g=="boolean"){s.removeAttribute(h);break}g=Fl(""+g),s.setAttribute(h,g);break;case"onClick":g!=null&&(s.onclick=Yr);break;case"onScroll":g!=null&&mt("scroll",s);break;case"onScrollEnd":g!=null&&mt("scrollend",s);break;case"dangerouslySetInnerHTML":if(g!=null){if(typeof g!="object"||!("__html"in g))throw Error(r(61));if(h=g.__html,h!=null){if(k.children!=null)throw Error(r(60));s.innerHTML=h}}break;case"multiple":s.multiple=g&&typeof g!="function"&&typeof g!="symbol";break;case"muted":s.muted=g&&typeof g!="function"&&typeof g!="symbol";break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"defaultValue":case"defaultChecked":case"innerHTML":case"ref":break;case"autoFocus":break;case"xlinkHref":if(g==null||typeof g=="function"||typeof g=="boolean"||typeof g=="symbol"){s.removeAttribute("xlink:href");break}h=Fl(""+g),s.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",h);break;case"contentEditable":case"spellCheck":case"draggable":case"value":case"autoReverse":case"externalResourcesRequired":case"focusable":case"preserveAlpha":g!=null&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,""+g):s.removeAttribute(h);break;case"inert":case"allowFullScreen":case"async":case"autoPlay":case"controls":case"default":case"defer":case"disabled":case"disablePictureInPicture":case"disableRemotePlayback":case"formNoValidate":case"hidden":case"loop":case"noModule":case"noValidate":case"open":case"playsInline":case"readOnly":case"required":case"reversed":case"scoped":case"seamless":case"itemScope":g&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,""):s.removeAttribute(h);break;case"capture":case"download":g===!0?s.setAttribute(h,""):g!==!1&&g!=null&&typeof g!="function"&&typeof g!="symbol"?s.setAttribute(h,g):s.removeAttribute(h);break;case"cols":case"rows":case"size":case"span":g!=null&&typeof g!="function"&&typeof g!="symbol"&&!isNaN(g)&&1<=g?s.setAttribute(h,g):s.removeAttribute(h);break;case"rowSpan":case"start":g==null||typeof g=="function"||typeof g=="symbol"||isNaN(g)?s.removeAttribute(h):s.setAttribute(h,g);break;case"popover":mt("beforetoggle",s),mt("toggle",s),zl(s,"popover",g);break;case"xlinkActuate":Kr(s,"http://www.w3.org/1999/xlink","xlink:actuate",g);break;case"xlinkArcrole":Kr(s,"http://www.w3.org/1999/xlink","xlink:arcrole",g);break;case"xlinkRole":Kr(s,"http://www.w3.org/1999/xlink","xlink:role",g);break;case"xlinkShow":Kr(s,"http://www.w3.org/1999/xlink","xlink:show",g);break;case"xlinkTitle":Kr(s,"http://www.w3.org/1999/xlink","xlink:title",g);break;case"xlinkType":Kr(s,"http://www.w3.org/1999/xlink","xlink:type",g);break;case"xmlBase":Kr(s,"http://www.w3.org/XML/1998/namespace","xml:base",g);break;case"xmlLang":Kr(s,"http://www.w3.org/XML/1998/namespace","xml:lang",g);break;case"xmlSpace":Kr(s,"http://www.w3.org/XML/1998/namespace","xml:space",g);break;case"is":zl(s,"is",g);break;case"innerText":case"textContent":break;default:(!(2<h.length)||h[0]!=="o"&&h[0]!=="O"||h[1]!=="n"&&h[1]!=="N")&&(h=Lk.get(h)||h,zl(s,h,g))}}function Cf(s,a,h,g,k,N){switch(h){case"style":Hg(s,g,N);break;case"dangerouslySetInnerHTML":if(g!=null){if(typeof g!="object"||!("__html"in g))throw Error(r(61));if(h=g.__html,h!=null){if(k.children!=null)throw Error(r(60));s.innerHTML=h}}break;case"children":typeof g=="string"?Yi(s,g):(typeof g=="number"||typeof g=="bigint")&&Yi(s,""+g);break;case"onScroll":g!=null&&mt("scroll",s);break;case"onScrollEnd":g!=null&&mt("scrollend",s);break;case"onClick":g!=null&&(s.onclick=Yr);break;case"suppressContentEditableWarning":case"suppressHydrationWarning":case"innerHTML":case"ref":break;case"innerText":case"textContent":break;default:if(!Dg.hasOwnProperty(h))e:{if(h[0]==="o"&&h[1]==="n"&&(k=h.endsWith("Capture"),a=h.slice(2,k?h.length-7:void 0),N=s[Mn]||null,N=N!=null?N[h]:null,typeof N=="function"&&s.removeEventListener(a,N,k),typeof g=="function")){typeof N!="function"&&N!==null&&(h in s?s[h]=null:s.hasAttribute(h)&&s.removeAttribute(h)),s.addEventListener(a,g,k);break e}h in s?s[h]=g:g===!0?s.setAttribute(h,""):zl(s,h,g)}}}function Cn(s,a,h){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"img":mt("error",s),mt("load",s);var g=!1,k=!1,N;for(N in h)if(h.hasOwnProperty(N)){var $=h[N];if($!=null)switch(N){case"src":g=!0;break;case"srcSet":k=!0;break;case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Lt(s,a,N,$,h,null)}}k&&Lt(s,a,"srcSet",h.srcSet,h,null),g&&Lt(s,a,"src",h.src,h,null);return;case"input":mt("invalid",s);var Y=N=$=k=null,se=null,he=null;for(g in h)if(h.hasOwnProperty(g)){var Se=h[g];if(Se!=null)switch(g){case"name":k=Se;break;case"type":$=Se;break;case"checked":se=Se;break;case"defaultChecked":he=Se;break;case"value":N=Se;break;case"defaultValue":Y=Se;break;case"children":case"dangerouslySetInnerHTML":if(Se!=null)throw Error(r(137,a));break;default:Lt(s,a,g,Se,h,null)}}Pg(s,N,Y,se,he,$,k,!1);return;case"select":mt("invalid",s),g=$=N=null;for(k in h)if(h.hasOwnProperty(k)&&(Y=h[k],Y!=null))switch(k){case"value":N=Y;break;case"defaultValue":$=Y;break;case"multiple":g=Y;default:Lt(s,a,k,Y,h,null)}a=N,h=$,s.multiple=!!g,a!=null?Ki(s,!!g,a,!1):h!=null&&Ki(s,!!g,h,!0);return;case"textarea":mt("invalid",s),N=k=g=null;for($ in h)if(h.hasOwnProperty($)&&(Y=h[$],Y!=null))switch($){case"value":g=Y;break;case"defaultValue":k=Y;break;case"children":N=Y;break;case"dangerouslySetInnerHTML":if(Y!=null)throw Error(r(91));break;default:Lt(s,a,$,Y,h,null)}$g(s,g,k,N);return;case"option":for(se in h)if(h.hasOwnProperty(se)&&(g=h[se],g!=null))switch(se){case"selected":s.selected=g&&typeof g!="function"&&typeof g!="symbol";break;default:Lt(s,a,se,g,h,null)}return;case"dialog":mt("beforetoggle",s),mt("toggle",s),mt("cancel",s),mt("close",s);break;case"iframe":case"object":mt("load",s);break;case"video":case"audio":for(g=0;g<$o.length;g++)mt($o[g],s);break;case"image":mt("error",s),mt("load",s);break;case"details":mt("toggle",s);break;case"embed":case"source":case"link":mt("error",s),mt("load",s);case"area":case"base":case"br":case"col":case"hr":case"keygen":case"meta":case"param":case"track":case"wbr":case"menuitem":for(he in h)if(h.hasOwnProperty(he)&&(g=h[he],g!=null))switch(he){case"children":case"dangerouslySetInnerHTML":throw Error(r(137,a));default:Lt(s,a,he,g,h,null)}return;default:if(Pd(a)){for(Se in h)h.hasOwnProperty(Se)&&(g=h[Se],g!==void 0&&Cf(s,a,Se,g,h,void 0));return}}for(Y in h)h.hasOwnProperty(Y)&&(g=h[Y],g!=null&&Lt(s,a,Y,g,h,null))}function s2(s,a,h,g){switch(a){case"div":case"span":case"svg":case"path":case"a":case"g":case"p":case"li":break;case"input":var k=null,N=null,$=null,Y=null,se=null,he=null,Se=null;for(xe in h){var Ee=h[xe];if(h.hasOwnProperty(xe)&&Ee!=null)switch(xe){case"checked":break;case"value":break;case"defaultValue":se=Ee;default:g.hasOwnProperty(xe)||Lt(s,a,xe,null,g,Ee)}}for(var me in g){var xe=g[me];if(Ee=h[me],g.hasOwnProperty(me)&&(xe!=null||Ee!=null))switch(me){case"type":N=xe;break;case"name":k=xe;break;case"checked":he=xe;break;case"defaultChecked":Se=xe;break;case"value":$=xe;break;case"defaultValue":Y=xe;break;case"children":case"dangerouslySetInnerHTML":if(xe!=null)throw Error(r(137,a));break;default:xe!==Ee&&Lt(s,a,me,xe,g,Ee)}}Id(s,$,Y,se,he,Se,N,k);return;case"select":xe=$=Y=me=null;for(N in h)if(se=h[N],h.hasOwnProperty(N)&&se!=null)switch(N){case"value":break;case"multiple":xe=se;default:g.hasOwnProperty(N)||Lt(s,a,N,null,g,se)}for(k in g)if(N=g[k],se=h[k],g.hasOwnProperty(k)&&(N!=null||se!=null))switch(k){case"value":me=N;break;case"defaultValue":Y=N;break;case"multiple":$=N;default:N!==se&&Lt(s,a,k,N,g,se)}a=Y,h=$,g=xe,me!=null?Ki(s,!!h,me,!1):!!g!=!!h&&(a!=null?Ki(s,!!h,a,!0):Ki(s,!!h,h?[]:"",!1));return;case"textarea":xe=me=null;for(Y in h)if(k=h[Y],h.hasOwnProperty(Y)&&k!=null&&!g.hasOwnProperty(Y))switch(Y){case"value":break;case"children":break;default:Lt(s,a,Y,null,g,k)}for($ in g)if(k=g[$],N=h[$],g.hasOwnProperty($)&&(k!=null||N!=null))switch($){case"value":me=k;break;case"defaultValue":xe=k;break;case"children":break;case"dangerouslySetInnerHTML":if(k!=null)throw Error(r(91));break;default:k!==N&&Lt(s,a,$,k,g,N)}Bg(s,me,xe);return;case"option":for(var Ve in h)if(me=h[Ve],h.hasOwnProperty(Ve)&&me!=null&&!g.hasOwnProperty(Ve))switch(Ve){case"selected":s.selected=!1;break;default:Lt(s,a,Ve,null,g,me)}for(se in g)if(me=g[se],xe=h[se],g.hasOwnProperty(se)&&me!==xe&&(me!=null||xe!=null))switch(se){case"selected":s.selected=me&&typeof me!="function"&&typeof me!="symbol";break;default:Lt(s,a,se,me,g,xe)}return;case"img":case"link":case"area":case"base":case"br":case"col":case"embed":case"hr":case"keygen":case"meta":case"param":case"source":case"track":case"wbr":case"menuitem":for(var Je in h)me=h[Je],h.hasOwnProperty(Je)&&me!=null&&!g.hasOwnProperty(Je)&&Lt(s,a,Je,null,g,me);for(he in g)if(me=g[he],xe=h[he],g.hasOwnProperty(he)&&me!==xe&&(me!=null||xe!=null))switch(he){case"children":case"dangerouslySetInnerHTML":if(me!=null)throw Error(r(137,a));break;default:Lt(s,a,he,me,g,xe)}return;default:if(Pd(a)){for(var Dt in h)me=h[Dt],h.hasOwnProperty(Dt)&&me!==void 0&&!g.hasOwnProperty(Dt)&&Cf(s,a,Dt,void 0,g,me);for(Se in g)me=g[Se],xe=h[Se],!g.hasOwnProperty(Se)||me===xe||me===void 0&&xe===void 0||Cf(s,a,Se,me,g,xe);return}}for(var le in h)me=h[le],h.hasOwnProperty(le)&&me!=null&&!g.hasOwnProperty(le)&&Lt(s,a,le,null,g,me);for(Ee in g)me=g[Ee],xe=h[Ee],!g.hasOwnProperty(Ee)||me===xe||me==null&&xe==null||Lt(s,a,Ee,me,g,xe)}function Ub(s){switch(s){case"css":case"script":case"font":case"img":case"image":case"input":case"link":return!0;default:return!1}}function i2(){if(typeof performance.getEntriesByType=="function"){for(var s=0,a=0,h=performance.getEntriesByType("resource"),g=0;g<h.length;g++){var k=h[g],N=k.transferSize,$=k.initiatorType,Y=k.duration;if(N&&Y&&Ub($)){for($=0,Y=k.responseEnd,g+=1;g<h.length;g++){var se=h[g],he=se.startTime;if(he>Y)break;var Se=se.transferSize,Ee=se.initiatorType;Se&&Ub(Ee)&&(se=se.responseEnd,$+=Se*(se<Y?1:(Y-he)/(se-he)))}if(--g,a+=8*(N+$)/(k.duration/1e3),s++,10<s)break}}if(0<s)return a/s/1e6}return navigator.connection&&(s=navigator.connection.downlink,typeof s=="number")?s:5}var kf=null,Ef=null;function Bc(s){return s.nodeType===9?s:s.ownerDocument}function Fb(s){switch(s){case"http://www.w3.org/2000/svg":return 1;case"http://www.w3.org/1998/Math/MathML":return 2;default:return 0}}function Vb(s,a){if(s===0)switch(a){case"svg":return 1;case"math":return 2;default:return 0}return s===1&&a==="foreignObject"?0:s}function jf(s,a){return s==="textarea"||s==="noscript"||typeof a.children=="string"||typeof a.children=="number"||typeof a.children=="bigint"||typeof a.dangerouslySetInnerHTML=="object"&&a.dangerouslySetInnerHTML!==null&&a.dangerouslySetInnerHTML.__html!=null}var Nf=null;function a2(){var s=window.event;return s&&s.type==="popstate"?s===Nf?!1:(Nf=s,!0):(Nf=null,!1)}var Gb=typeof setTimeout=="function"?setTimeout:void 0,o2=typeof clearTimeout=="function"?clearTimeout:void 0,Wb=typeof Promise=="function"?Promise:void 0,l2=typeof queueMicrotask=="function"?queueMicrotask:typeof Wb<"u"?function(s){return Wb.resolve(null).then(s).catch(c2)}:Gb;function c2(s){setTimeout(function(){throw s})}function Bs(s){return s==="head"}function qb(s,a){var h=a,g=0;do{var k=h.nextSibling;if(s.removeChild(h),k&&k.nodeType===8)if(h=k.data,h==="/$"||h==="/&"){if(g===0){s.removeChild(k),Ea(a);return}g--}else if(h==="$"||h==="$?"||h==="$~"||h==="$!"||h==="&")g++;else if(h==="html")Ho(s.ownerDocument.documentElement);else if(h==="head"){h=s.ownerDocument.head,Ho(h);for(var N=h.firstChild;N;){var $=N.nextSibling,Y=N.nodeName;N[so]||Y==="SCRIPT"||Y==="STYLE"||Y==="LINK"&&N.rel.toLowerCase()==="stylesheet"||h.removeChild(N),N=$}}else h==="body"&&Ho(s.ownerDocument.body);h=k}while(h);Ea(a)}function Kb(s,a){var h=s;s=0;do{var g=h.nextSibling;if(h.nodeType===1?a?(h._stashedDisplay=h.style.display,h.style.display="none"):(h.style.display=h._stashedDisplay||"",h.getAttribute("style")===""&&h.removeAttribute("style")):h.nodeType===3&&(a?(h._stashedText=h.nodeValue,h.nodeValue=""):h.nodeValue=h._stashedText||""),g&&g.nodeType===8)if(h=g.data,h==="/$"){if(s===0)break;s--}else h!=="$"&&h!=="$?"&&h!=="$~"&&h!=="$!"||s++;h=g}while(h)}function Tf(s){var a=s.firstChild;for(a&&a.nodeType===10&&(a=a.nextSibling);a;){var h=a;switch(a=a.nextSibling,h.nodeName){case"HTML":case"HEAD":case"BODY":Tf(h),Rd(h);continue;case"SCRIPT":case"STYLE":continue;case"LINK":if(h.rel.toLowerCase()==="stylesheet")continue}s.removeChild(h)}}function u2(s,a,h,g){for(;s.nodeType===1;){var k=h;if(s.nodeName.toLowerCase()!==a.toLowerCase()){if(!g&&(s.nodeName!=="INPUT"||s.type!=="hidden"))break}else if(g){if(!s[so])switch(a){case"meta":if(!s.hasAttribute("itemprop"))break;return s;case"link":if(N=s.getAttribute("rel"),N==="stylesheet"&&s.hasAttribute("data-precedence"))break;if(N!==k.rel||s.getAttribute("href")!==(k.href==null||k.href===""?null:k.href)||s.getAttribute("crossorigin")!==(k.crossOrigin==null?null:k.crossOrigin)||s.getAttribute("title")!==(k.title==null?null:k.title))break;return s;case"style":if(s.hasAttribute("data-precedence"))break;return s;case"script":if(N=s.getAttribute("src"),(N!==(k.src==null?null:k.src)||s.getAttribute("type")!==(k.type==null?null:k.type)||s.getAttribute("crossorigin")!==(k.crossOrigin==null?null:k.crossOrigin))&&N&&s.hasAttribute("async")&&!s.hasAttribute("itemprop"))break;return s;default:return s}}else if(a==="input"&&s.type==="hidden"){var N=k.name==null?null:""+k.name;if(k.type==="hidden"&&s.getAttribute("name")===N)return s}else return s;if(s=xr(s.nextSibling),s===null)break}return null}function d2(s,a,h){if(a==="")return null;for(;s.nodeType!==3;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!h||(s=xr(s.nextSibling),s===null))return null;return s}function Yb(s,a){for(;s.nodeType!==8;)if((s.nodeType!==1||s.nodeName!=="INPUT"||s.type!=="hidden")&&!a||(s=xr(s.nextSibling),s===null))return null;return s}function Af(s){return s.data==="$?"||s.data==="$~"}function Lf(s){return s.data==="$!"||s.data==="$?"&&s.ownerDocument.readyState!=="loading"}function h2(s,a){var h=s.ownerDocument;if(s.data==="$~")s._reactRetry=a;else if(s.data!=="$?"||h.readyState!=="loading")a();else{var g=function(){a(),h.removeEventListener("DOMContentLoaded",g)};h.addEventListener("DOMContentLoaded",g),s._reactRetry=g}}function xr(s){for(;s!=null;s=s.nextSibling){var a=s.nodeType;if(a===1||a===3)break;if(a===8){if(a=s.data,a==="$"||a==="$!"||a==="$?"||a==="$~"||a==="&"||a==="F!"||a==="F")break;if(a==="/$"||a==="/&")return null}}return s}var Df=null;function Xb(s){s=s.nextSibling;for(var a=0;s;){if(s.nodeType===8){var h=s.data;if(h==="/$"||h==="/&"){if(a===0)return xr(s.nextSibling);a--}else h!=="$"&&h!=="$!"&&h!=="$?"&&h!=="$~"&&h!=="&"||a++}s=s.nextSibling}return null}function Qb(s){s=s.previousSibling;for(var a=0;s;){if(s.nodeType===8){var h=s.data;if(h==="$"||h==="$!"||h==="$?"||h==="$~"||h==="&"){if(a===0)return s;a--}else h!=="/$"&&h!=="/&"||a++}s=s.previousSibling}return null}function Jb(s,a,h){switch(a=Bc(h),s){case"html":if(s=a.documentElement,!s)throw Error(r(452));return s;case"head":if(s=a.head,!s)throw Error(r(453));return s;case"body":if(s=a.body,!s)throw Error(r(454));return s;default:throw Error(r(451))}}function Ho(s){for(var a=s.attributes;a.length;)s.removeAttributeNode(a[0]);Rd(s)}var yr=new Map,Zb=new Set;function $c(s){return typeof s.getRootNode=="function"?s.getRootNode():s.nodeType===9?s:s.ownerDocument}var ds=Q.d;Q.d={f:f2,r:m2,D:p2,C:g2,L:x2,m:y2,X:_2,S:b2,M:v2};function f2(){var s=ds.f(),a=Ac();return s||a}function m2(s){var a=Gi(s);a!==null&&a.tag===5&&a.type==="form"?gy(a):ds.r(s)}var wa=typeof document>"u"?null:document;function e_(s,a,h){var g=wa;if(g&&typeof a=="string"&&a){var k=ur(a);k='link[rel="'+s+'"][href="'+k+'"]',typeof h=="string"&&(k+='[crossorigin="'+h+'"]'),Zb.has(k)||(Zb.add(k),s={rel:s,crossOrigin:h,href:a},g.querySelector(k)===null&&(a=g.createElement("link"),Cn(a,"link",s),gn(a),g.head.appendChild(a)))}}function p2(s){ds.D(s),e_("dns-prefetch",s,null)}function g2(s,a){ds.C(s,a),e_("preconnect",s,a)}function x2(s,a,h){ds.L(s,a,h);var g=wa;if(g&&s&&a){var k='link[rel="preload"][as="'+ur(a)+'"]';a==="image"&&h&&h.imageSrcSet?(k+='[imagesrcset="'+ur(h.imageSrcSet)+'"]',typeof h.imageSizes=="string"&&(k+='[imagesizes="'+ur(h.imageSizes)+'"]')):k+='[href="'+ur(s)+'"]';var N=k;switch(a){case"style":N=Ca(s);break;case"script":N=ka(s)}yr.has(N)||(s=m({rel:"preload",href:a==="image"&&h&&h.imageSrcSet?void 0:s,as:a},h),yr.set(N,s),g.querySelector(k)!==null||a==="style"&&g.querySelector(Uo(N))||a==="script"&&g.querySelector(Fo(N))||(a=g.createElement("link"),Cn(a,"link",s),gn(a),g.head.appendChild(a)))}}function y2(s,a){ds.m(s,a);var h=wa;if(h&&s){var g=a&&typeof a.as=="string"?a.as:"script",k='link[rel="modulepreload"][as="'+ur(g)+'"][href="'+ur(s)+'"]',N=k;switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":N=ka(s)}if(!yr.has(N)&&(s=m({rel:"modulepreload",href:s},a),yr.set(N,s),h.querySelector(k)===null)){switch(g){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(h.querySelector(Fo(N)))return}g=h.createElement("link"),Cn(g,"link",s),gn(g),h.head.appendChild(g)}}}function b2(s,a,h){ds.S(s,a,h);var g=wa;if(g&&s){var k=Wi(g).hoistableStyles,N=Ca(s);a=a||"default";var $=k.get(N);if(!$){var Y={loading:0,preload:null};if($=g.querySelector(Uo(N)))Y.loading=5;else{s=m({rel:"stylesheet",href:s,"data-precedence":a},h),(h=yr.get(N))&&Rf(s,h);var se=$=g.createElement("link");gn(se),Cn(se,"link",s),se._p=new Promise(function(he,Se){se.onload=he,se.onerror=Se}),se.addEventListener("load",function(){Y.loading|=1}),se.addEventListener("error",function(){Y.loading|=2}),Y.loading|=4,zc($,a,g)}$={type:"stylesheet",instance:$,count:1,state:Y},k.set(N,$)}}}function _2(s,a){ds.X(s,a);var h=wa;if(h&&s){var g=Wi(h).hoistableScripts,k=ka(s),N=g.get(k);N||(N=h.querySelector(Fo(k)),N||(s=m({src:s,async:!0},a),(a=yr.get(k))&&Of(s,a),N=h.createElement("script"),gn(N),Cn(N,"link",s),h.head.appendChild(N)),N={type:"script",instance:N,count:1,state:null},g.set(k,N))}}function v2(s,a){ds.M(s,a);var h=wa;if(h&&s){var g=Wi(h).hoistableScripts,k=ka(s),N=g.get(k);N||(N=h.querySelector(Fo(k)),N||(s=m({src:s,async:!0,type:"module"},a),(a=yr.get(k))&&Of(s,a),N=h.createElement("script"),gn(N),Cn(N,"link",s),h.head.appendChild(N)),N={type:"script",instance:N,count:1,state:null},g.set(k,N))}}function t_(s,a,h,g){var k=(k=ne.current)?$c(k):null;if(!k)throw Error(r(446));switch(s){case"meta":case"title":return null;case"style":return typeof h.precedence=="string"&&typeof h.href=="string"?(a=Ca(h.href),h=Wi(k).hoistableStyles,g=h.get(a),g||(g={type:"style",instance:null,count:0,state:null},h.set(a,g)),g):{type:"void",instance:null,count:0,state:null};case"link":if(h.rel==="stylesheet"&&typeof h.href=="string"&&typeof h.precedence=="string"){s=Ca(h.href);var N=Wi(k).hoistableStyles,$=N.get(s);if($||(k=k.ownerDocument||k,$={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},N.set(s,$),(N=k.querySelector(Uo(s)))&&!N._p&&($.instance=N,$.state.loading=5),yr.has(s)||(h={rel:"preload",as:"style",href:h.href,crossOrigin:h.crossOrigin,integrity:h.integrity,media:h.media,hrefLang:h.hrefLang,referrerPolicy:h.referrerPolicy},yr.set(s,h),N||S2(k,s,h,$.state))),a&&g===null)throw Error(r(528,""));return $}if(a&&g!==null)throw Error(r(529,""));return null;case"script":return a=h.async,h=h.src,typeof h=="string"&&a&&typeof a!="function"&&typeof a!="symbol"?(a=ka(h),h=Wi(k).hoistableScripts,g=h.get(a),g||(g={type:"script",instance:null,count:0,state:null},h.set(a,g)),g):{type:"void",instance:null,count:0,state:null};default:throw Error(r(444,s))}}function Ca(s){return'href="'+ur(s)+'"'}function Uo(s){return'link[rel="stylesheet"]['+s+"]"}function n_(s){return m({},s,{"data-precedence":s.precedence,precedence:null})}function S2(s,a,h,g){s.querySelector('link[rel="preload"][as="style"]['+a+"]")?g.loading=1:(a=s.createElement("link"),g.preload=a,a.addEventListener("load",function(){return g.loading|=1}),a.addEventListener("error",function(){return g.loading|=2}),Cn(a,"link",h),gn(a),s.head.appendChild(a))}function ka(s){return'[src="'+ur(s)+'"]'}function Fo(s){return"script[async]"+s}function r_(s,a,h){if(a.count++,a.instance===null)switch(a.type){case"style":var g=s.querySelector('style[data-href~="'+ur(h.href)+'"]');if(g)return a.instance=g,gn(g),g;var k=m({},h,{"data-href":h.href,"data-precedence":h.precedence,href:null,precedence:null});return g=(s.ownerDocument||s).createElement("style"),gn(g),Cn(g,"style",k),zc(g,h.precedence,s),a.instance=g;case"stylesheet":k=Ca(h.href);var N=s.querySelector(Uo(k));if(N)return a.state.loading|=4,a.instance=N,gn(N),N;g=n_(h),(k=yr.get(k))&&Rf(g,k),N=(s.ownerDocument||s).createElement("link"),gn(N);var $=N;return $._p=new Promise(function(Y,se){$.onload=Y,$.onerror=se}),Cn(N,"link",g),a.state.loading|=4,zc(N,h.precedence,s),a.instance=N;case"script":return N=ka(h.src),(k=s.querySelector(Fo(N)))?(a.instance=k,gn(k),k):(g=h,(k=yr.get(N))&&(g=m({},h),Of(g,k)),s=s.ownerDocument||s,k=s.createElement("script"),gn(k),Cn(k,"link",g),s.head.appendChild(k),a.instance=k);case"void":return null;default:throw Error(r(443,a.type))}else a.type==="stylesheet"&&(a.state.loading&4)===0&&(g=a.instance,a.state.loading|=4,zc(g,h.precedence,s));return a.instance}function zc(s,a,h){for(var g=h.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),k=g.length?g[g.length-1]:null,N=k,$=0;$<g.length;$++){var Y=g[$];if(Y.dataset.precedence===a)N=Y;else if(N!==k)break}N?N.parentNode.insertBefore(s,N.nextSibling):(a=h.nodeType===9?h.head:h,a.insertBefore(s,a.firstChild))}function Rf(s,a){s.crossOrigin==null&&(s.crossOrigin=a.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=a.referrerPolicy),s.title==null&&(s.title=a.title)}function Of(s,a){s.crossOrigin==null&&(s.crossOrigin=a.crossOrigin),s.referrerPolicy==null&&(s.referrerPolicy=a.referrerPolicy),s.integrity==null&&(s.integrity=a.integrity)}var Hc=null;function s_(s,a,h){if(Hc===null){var g=new Map,k=Hc=new Map;k.set(h,g)}else k=Hc,g=k.get(h),g||(g=new Map,k.set(h,g));if(g.has(s))return g;for(g.set(s,null),h=h.getElementsByTagName(s),k=0;k<h.length;k++){var N=h[k];if(!(N[so]||N[jt]||s==="link"&&N.getAttribute("rel")==="stylesheet")&&N.namespaceURI!=="http://www.w3.org/2000/svg"){var $=N.getAttribute(a)||"";$=s+$;var Y=g.get($);Y?Y.push(N):g.set($,[N])}}return g}function i_(s,a,h){s=s.ownerDocument||s,s.head.insertBefore(h,a==="title"?s.querySelector("head > title"):null)}function w2(s,a,h){if(h===1||a.itemProp!=null)return!1;switch(s){case"meta":case"title":return!0;case"style":if(typeof a.precedence!="string"||typeof a.href!="string"||a.href==="")break;return!0;case"link":if(typeof a.rel!="string"||typeof a.href!="string"||a.href===""||a.onLoad||a.onError)break;switch(a.rel){case"stylesheet":return s=a.disabled,typeof a.precedence=="string"&&s==null;default:return!0}case"script":if(a.async&&typeof a.async!="function"&&typeof a.async!="symbol"&&!a.onLoad&&!a.onError&&a.src&&typeof a.src=="string")return!0}return!1}function a_(s){return!(s.type==="stylesheet"&&(s.state.loading&3)===0)}function C2(s,a,h,g){if(h.type==="stylesheet"&&(typeof g.media!="string"||matchMedia(g.media).matches!==!1)&&(h.state.loading&4)===0){if(h.instance===null){var k=Ca(g.href),N=a.querySelector(Uo(k));if(N){a=N._p,a!==null&&typeof a=="object"&&typeof a.then=="function"&&(s.count++,s=Uc.bind(s),a.then(s,s)),h.state.loading|=4,h.instance=N,gn(N);return}N=a.ownerDocument||a,g=n_(g),(k=yr.get(k))&&Rf(g,k),N=N.createElement("link"),gn(N);var $=N;$._p=new Promise(function(Y,se){$.onload=Y,$.onerror=se}),Cn(N,"link",g),h.instance=N}s.stylesheets===null&&(s.stylesheets=new Map),s.stylesheets.set(h,a),(a=h.state.preload)&&(h.state.loading&3)===0&&(s.count++,h=Uc.bind(s),a.addEventListener("load",h),a.addEventListener("error",h))}}var If=0;function k2(s,a){return s.stylesheets&&s.count===0&&Vc(s,s.stylesheets),0<s.count||0<s.imgCount?function(h){var g=setTimeout(function(){if(s.stylesheets&&Vc(s,s.stylesheets),s.unsuspend){var N=s.unsuspend;s.unsuspend=null,N()}},6e4+a);0<s.imgBytes&&If===0&&(If=62500*i2());var k=setTimeout(function(){if(s.waitingForImages=!1,s.count===0&&(s.stylesheets&&Vc(s,s.stylesheets),s.unsuspend)){var N=s.unsuspend;s.unsuspend=null,N()}},(s.imgBytes>If?50:800)+a);return s.unsuspend=h,function(){s.unsuspend=null,clearTimeout(g),clearTimeout(k)}}:null}function Uc(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Vc(this,this.stylesheets);else if(this.unsuspend){var s=this.unsuspend;this.unsuspend=null,s()}}}var Fc=null;function Vc(s,a){s.stylesheets=null,s.unsuspend!==null&&(s.count++,Fc=new Map,a.forEach(E2,s),Fc=null,Uc.call(s))}function E2(s,a){if(!(a.state.loading&4)){var h=Fc.get(s);if(h)var g=h.get(null);else{h=new Map,Fc.set(s,h);for(var k=s.querySelectorAll("link[data-precedence],style[data-precedence]"),N=0;N<k.length;N++){var $=k[N];($.nodeName==="LINK"||$.getAttribute("media")!=="not all")&&(h.set($.dataset.precedence,$),g=$)}g&&h.set(null,g)}k=a.instance,$=k.getAttribute("data-precedence"),N=h.get($)||g,N===g&&h.set(null,k),h.set($,k),this.count++,g=Uc.bind(this),k.addEventListener("load",g),k.addEventListener("error",g),N?N.parentNode.insertBefore(k,N.nextSibling):(s=s.nodeType===9?s.head:s,s.insertBefore(k,s.firstChild)),a.state.loading|=4}}var Vo={$$typeof:b,Provider:null,Consumer:null,_currentValue:X,_currentValue2:X,_threadCount:0};function j2(s,a,h,g,k,N,$,Y,se){this.tag=1,this.containerInfo=s,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=_n(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=_n(0),this.hiddenUpdates=_n(null),this.identifierPrefix=g,this.onUncaughtError=k,this.onCaughtError=N,this.onRecoverableError=$,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=se,this.incompleteTransitions=new Map}function o_(s,a,h,g,k,N,$,Y,se,he,Se,Ee){return s=new j2(s,a,h,$,se,he,Se,Ee,Y),a=1,N===!0&&(a|=24),N=Zn(3,null,null,a),s.current=N,N.stateNode=s,a=fh(),a.refCount++,s.pooledCache=a,a.refCount++,N.memoizedState={element:g,isDehydrated:h,cache:a},xh(N),s}function l_(s){return s?(s=na,s):na}function c_(s,a,h,g,k,N){k=l_(k),g.context===null?g.context=k:g.pendingContext=k,g=js(a),g.payload={element:h},N=N===void 0?null:N,N!==null&&(g.callback=N),h=Ns(s,g,a),h!==null&&(Un(h,s,a),So(h,s,a))}function u_(s,a){if(s=s.memoizedState,s!==null&&s.dehydrated!==null){var h=s.retryLane;s.retryLane=h!==0&&h<a?h:a}}function Mf(s,a){u_(s,a),(s=s.alternate)&&u_(s,a)}function d_(s){if(s.tag===13||s.tag===31){var a=ci(s,67108864);a!==null&&Un(a,s,67108864),Mf(s,67108864)}}function h_(s){if(s.tag===13||s.tag===31){var a=sr();a=lt(a);var h=ci(s,a);h!==null&&Un(h,s,a),Mf(s,a)}}var Gc=!0;function N2(s,a,h,g){var k=U.T;U.T=null;var N=Q.p;try{Q.p=2,Pf(s,a,h,g)}finally{Q.p=N,U.T=k}}function T2(s,a,h,g){var k=U.T;U.T=null;var N=Q.p;try{Q.p=8,Pf(s,a,h,g)}finally{Q.p=N,U.T=k}}function Pf(s,a,h,g){if(Gc){var k=Bf(g);if(k===null)wf(s,a,g,Wc,h),m_(s,g);else if(L2(k,s,a,h,g))g.stopPropagation();else if(m_(s,g),a&4&&-1<A2.indexOf(s)){for(;k!==null;){var N=Gi(k);if(N!==null)switch(N.tag){case 3:if(N=N.stateNode,N.current.memoizedState.isDehydrated){var $=Me(N.pendingLanes);if($!==0){var Y=N;for(Y.pendingLanes|=2,Y.entangledLanes|=2;$;){var se=1<<31-nt($);Y.entanglements[1]|=se,$&=~se}Br(N),(kt&6)===0&&(Nc=Ze()+500,Bo(0))}}break;case 31:case 13:Y=ci(N,2),Y!==null&&Un(Y,N,2),Ac(),Mf(N,2)}if(N=Bf(g),N===null&&wf(s,a,g,Wc,h),N===k)break;k=N}k!==null&&g.stopPropagation()}else wf(s,a,g,null,h)}}function Bf(s){return s=$d(s),$f(s)}var Wc=null;function $f(s){if(Wc=null,s=Vi(s),s!==null){var a=l(s);if(a===null)s=null;else{var h=a.tag;if(h===13){if(s=u(a),s!==null)return s;s=null}else if(h===31){if(s=c(a),s!==null)return s;s=null}else if(h===3){if(a.stateNode.current.memoizedState.isDehydrated)return a.tag===3?a.stateNode.containerInfo:null;s=null}else a!==s&&(s=null)}}return Wc=s,null}function f_(s){switch(s){case"beforetoggle":case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"toggle":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 2;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 8;case"message":switch(vt()){case ce:return 2;case Te:return 8;case $e:case Ke:return 32;case rt:return 268435456;default:return 32}default:return 32}}var zf=!1,$s=null,zs=null,Hs=null,Go=new Map,Wo=new Map,Us=[],A2="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset".split(" ");function m_(s,a){switch(s){case"focusin":case"focusout":$s=null;break;case"dragenter":case"dragleave":zs=null;break;case"mouseover":case"mouseout":Hs=null;break;case"pointerover":case"pointerout":Go.delete(a.pointerId);break;case"gotpointercapture":case"lostpointercapture":Wo.delete(a.pointerId)}}function qo(s,a,h,g,k,N){return s===null||s.nativeEvent!==N?(s={blockedOn:a,domEventName:h,eventSystemFlags:g,nativeEvent:N,targetContainers:[k]},a!==null&&(a=Gi(a),a!==null&&d_(a)),s):(s.eventSystemFlags|=g,a=s.targetContainers,k!==null&&a.indexOf(k)===-1&&a.push(k),s)}function L2(s,a,h,g,k){switch(a){case"focusin":return $s=qo($s,s,a,h,g,k),!0;case"dragenter":return zs=qo(zs,s,a,h,g,k),!0;case"mouseover":return Hs=qo(Hs,s,a,h,g,k),!0;case"pointerover":var N=k.pointerId;return Go.set(N,qo(Go.get(N)||null,s,a,h,g,k)),!0;case"gotpointercapture":return N=k.pointerId,Wo.set(N,qo(Wo.get(N)||null,s,a,h,g,k)),!0}return!1}function p_(s){var a=Vi(s.target);if(a!==null){var h=l(a);if(h!==null){if(a=h.tag,a===13){if(a=u(h),a!==null){s.blockedOn=a,nn(s.priority,function(){h_(h)});return}}else if(a===31){if(a=c(h),a!==null){s.blockedOn=a,nn(s.priority,function(){h_(h)});return}}else if(a===3&&h.stateNode.current.memoizedState.isDehydrated){s.blockedOn=h.tag===3?h.stateNode.containerInfo:null;return}}}s.blockedOn=null}function qc(s){if(s.blockedOn!==null)return!1;for(var a=s.targetContainers;0<a.length;){var h=Bf(s.nativeEvent);if(h===null){h=s.nativeEvent;var g=new h.constructor(h.type,h);Bd=g,h.target.dispatchEvent(g),Bd=null}else return a=Gi(h),a!==null&&d_(a),s.blockedOn=h,!1;a.shift()}return!0}function g_(s,a,h){qc(s)&&h.delete(a)}function D2(){zf=!1,$s!==null&&qc($s)&&($s=null),zs!==null&&qc(zs)&&(zs=null),Hs!==null&&qc(Hs)&&(Hs=null),Go.forEach(g_),Wo.forEach(g_)}function Kc(s,a){s.blockedOn===a&&(s.blockedOn=null,zf||(zf=!0,e.unstable_scheduleCallback(e.unstable_NormalPriority,D2)))}var Yc=null;function x_(s){Yc!==s&&(Yc=s,e.unstable_scheduleCallback(e.unstable_NormalPriority,function(){Yc===s&&(Yc=null);for(var a=0;a<s.length;a+=3){var h=s[a],g=s[a+1],k=s[a+2];if(typeof g!="function"){if($f(g||h)===null)continue;break}var N=Gi(h);N!==null&&(s.splice(a,3),a-=3,Ph(N,{pending:!0,data:k,method:h.method,action:g},g,k))}}))}function Ea(s){function a(se){return Kc(se,s)}$s!==null&&Kc($s,s),zs!==null&&Kc(zs,s),Hs!==null&&Kc(Hs,s),Go.forEach(a),Wo.forEach(a);for(var h=0;h<Us.length;h++){var g=Us[h];g.blockedOn===s&&(g.blockedOn=null)}for(;0<Us.length&&(h=Us[0],h.blockedOn===null);)p_(h),h.blockedOn===null&&Us.shift();if(h=(s.ownerDocument||s).$$reactFormReplay,h!=null)for(g=0;g<h.length;g+=3){var k=h[g],N=h[g+1],$=k[Mn]||null;if(typeof N=="function")$||x_(h);else if($){var Y=null;if(N&&N.hasAttribute("formAction")){if(k=N,$=N[Mn]||null)Y=$.formAction;else if($f(k)!==null)continue}else Y=$.action;typeof Y=="function"?h[g+1]=Y:(h.splice(g,3),g-=3),x_(h)}}}function y_(){function s(N){N.canIntercept&&N.info==="react-transition"&&N.intercept({handler:function(){return new Promise(function($){return k=$})},focusReset:"manual",scroll:"manual"})}function a(){k!==null&&(k(),k=null),g||setTimeout(h,20)}function h(){if(!g&&!navigation.transition){var N=navigation.currentEntry;N&&N.url!=null&&navigation.navigate(N.url,{state:N.getState(),info:"react-transition",history:"replace"})}}if(typeof navigation=="object"){var g=!1,k=null;return navigation.addEventListener("navigate",s),navigation.addEventListener("navigatesuccess",a),navigation.addEventListener("navigateerror",a),setTimeout(h,100),function(){g=!0,navigation.removeEventListener("navigate",s),navigation.removeEventListener("navigatesuccess",a),navigation.removeEventListener("navigateerror",a),k!==null&&(k(),k=null)}}}function Hf(s){this._internalRoot=s}Xc.prototype.render=Hf.prototype.render=function(s){var a=this._internalRoot;if(a===null)throw Error(r(409));var h=a.current,g=sr();c_(h,g,s,a,null,null)},Xc.prototype.unmount=Hf.prototype.unmount=function(){var s=this._internalRoot;if(s!==null){this._internalRoot=null;var a=s.containerInfo;c_(s.current,2,null,s,null,null),Ac(),a[Fi]=null}};function Xc(s){this._internalRoot=s}Xc.prototype.unstable_scheduleHydration=function(s){if(s){var a=yt();s={blockedOn:null,target:s,priority:a};for(var h=0;h<Us.length&&a!==0&&a<Us[h].priority;h++);Us.splice(h,0,s),h===0&&p_(s)}};var b_=t.version;if(b_!=="19.2.4")throw Error(r(527,b_,"19.2.4"));Q.findDOMNode=function(s){var a=s._reactInternals;if(a===void 0)throw typeof s.render=="function"?Error(r(188)):(s=Object.keys(s).join(","),Error(r(268,s)));return s=f(a),s=s!==null?p(s):null,s=s===null?null:s.stateNode,s};var R2={bundleType:0,version:"19.2.4",rendererPackageName:"react-dom",currentDispatcherRef:U,reconcilerVersion:"19.2.4"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Qc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Qc.isDisabled&&Qc.supportsFiber)try{pe=Qc.inject(R2),Ie=Qc}catch{}}return Yo.createRoot=function(s,a){if(!o(s))throw Error(r(299));var h=!1,g="",k=Ey,N=jy,$=Ny;return a!=null&&(a.unstable_strictMode===!0&&(h=!0),a.identifierPrefix!==void 0&&(g=a.identifierPrefix),a.onUncaughtError!==void 0&&(k=a.onUncaughtError),a.onCaughtError!==void 0&&(N=a.onCaughtError),a.onRecoverableError!==void 0&&($=a.onRecoverableError)),a=o_(s,1,!1,null,null,h,g,null,k,N,$,y_),s[Fi]=a.current,Sf(s),new Hf(a)},Yo.hydrateRoot=function(s,a,h){if(!o(s))throw Error(r(299));var g=!1,k="",N=Ey,$=jy,Y=Ny,se=null;return h!=null&&(h.unstable_strictMode===!0&&(g=!0),h.identifierPrefix!==void 0&&(k=h.identifierPrefix),h.onUncaughtError!==void 0&&(N=h.onUncaughtError),h.onCaughtError!==void 0&&($=h.onCaughtError),h.onRecoverableError!==void 0&&(Y=h.onRecoverableError),h.formState!==void 0&&(se=h.formState)),a=o_(s,1,!0,a,h??null,g,k,se,N,$,Y,y_),a.context=l_(null),h=a.current,g=sr(),g=lt(g),k=js(g),k.callback=null,Ns(h,k,g),h=g,a.current.lanes=h,Cr(a,h),Br(a),s[Fi]=a.current,Sf(s),new Xc(a)},Yo.version="19.2.4",Yo}var L_;function K2(){if(L_)return Wf.exports;L_=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),Wf.exports=q2(),Wf.exports}var Y2=K2();const X2=ed(Y2),D_=e=>{let t;const n=new Set,r=(f,p)=>{const m=typeof f=="function"?f(t):f;if(!Object.is(m,t)){const x=t;t=p??(typeof m!="object"||m===null)?m:Object.assign({},t,m),n.forEach(y=>y(t,x))}},o=()=>t,c={setState:r,getState:o,getInitialState:()=>d,subscribe:f=>(n.add(f),()=>n.delete(f))},d=t=e(r,o,c);return c},Q2=(e=>e?D_(e):D_),J2=e=>e;function Z2(e,t=J2){const n=Xs.useSyncExternalStore(e.subscribe,Xs.useCallback(()=>t(e.getState()),[e,t]),Xs.useCallback(()=>t(e.getInitialState()),[e,t]));return Xs.useDebugValue(n),n}const R_=e=>{const t=Q2(e),n=r=>Z2(t,r);return Object.assign(n,t),n},qn=(e=>e?R_(e):R_);async function we(e,t={}){const n=localStorage.getItem("openfox_token"),r={...t.headers instanceof Headers?Object.fromEntries(t.headers.entries()):t.headers,...n?{"x-session-token":n}:{}};return fetch(e,{...t,headers:r})}async function ej(e,t){try{return(await we(`/api/sessions/${e}/replay`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({messageId:t})})).ok}catch{return!1}}const Pe={GLOBAL_INSTRUCTIONS:"global_instructions",NOTIFICATION_SETTINGS:"notification_settings",DISPLAY_SHOW_THINKING:"display.showThinking",DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT:"display.showVerboseToolOutput",DISPLAY_SHOW_STATS:"display.showStats",DISPLAY_SHOW_AGENT_DEFINITIONS:"display.showAgentDefinitions",DISPLAY_SHOW_WORKFLOW_BARS:"display.showWorkflowBars",DISPLAY_SHOW_SYNTAX_HIGHLIGHTING:"display.showSyntaxHighlighting",DISPLAY_THEME:"display.theme",DISPLAY_USER_PRESETS:"display.userPresets",DISPLAY_FOLLOW_SYSTEM_THEME:"display.followSystemTheme",DISPLAY_SHOW_OPEN_IN_EDITOR:"display.showOpenInEditorLinks",DISPLAY_MAX_VISIBLE_ITEMS:"display.maxVisibleItems",LLM_DYNAMIC_SYSTEM_PROMPT:"llm.dynamicSystemPrompt",CACHE_WARMING:"cache.warming",KEYBINDINGS:"keybindings",RETRY_PATTERNS:"agent.retryPatterns",SKILLS_DIRECTORIES:"skills.directories",SEARCH_ENGINE:"search.engine",SEARCH_TAVILY_API_KEY:"search.tavilyApiKey",SEARCH_SEARXNG_URL:"search.searxngUrl",SEARCH_SEARXNG_API_KEY:"search.searxngApiKey",TOOLS_USE_RTK:"tools.useRtk",TOOLS_SHELL:"tools.shell"};function Jc(e,t){return n=>({loading:{...n.loading,[e]:t}})}function O_(e,t){return n=>({settings:{...n.settings,[e]:t},loading:{...n.loading,[e]:!1}})}const Ap=[Pe.DISPLAY_SHOW_THINKING,Pe.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT,Pe.DISPLAY_SHOW_STATS,Pe.DISPLAY_SHOW_AGENT_DEFINITIONS,Pe.DISPLAY_SHOW_WORKFLOW_BARS,Pe.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING,Pe.DISPLAY_FOLLOW_SYSTEM_THEME,Pe.DISPLAY_SHOW_OPEN_IN_EDITOR,Pe.DISPLAY_MAX_VISIBLE_ITEMS];function zi(){return{showThinking:tn(e=>e.settings[Pe.DISPLAY_SHOW_THINKING]??"true")==="true",showVerboseToolOutput:tn(e=>e.settings[Pe.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT]??"true")==="true",showStats:tn(e=>e.settings[Pe.DISPLAY_SHOW_STATS]??"true")==="true",showAgentDefinitions:tn(e=>e.settings[Pe.DISPLAY_SHOW_AGENT_DEFINITIONS]??"true")==="true",showWorkflowBars:tn(e=>e.settings[Pe.DISPLAY_SHOW_WORKFLOW_BARS]??"true")==="true",showSyntaxHighlighting:tn(e=>e.settings[Pe.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING]??"true")==="true",maxVisibleItems:Number(tn(e=>e.settings[Pe.DISPLAY_MAX_VISIBLE_ITEMS]??"300"))}}const tn=qn(e=>({settings:{},loading:{},getSetting:async t=>{e(Jc(t,!0));try{const r=await(await we(`/api/settings/${t}`)).json();return e(O_(t,r.value??"")),r.value}catch{return e(Jc(t,!1)),null}},getSettings:async t=>{if(t.length!==0)try{const r=await(await we(`/api/settings?keys=${encodeURIComponent(t.join(","))}`)).json();e({settings:r,loading:Object.fromEntries(t.map(o=>[o,!1]))})}catch{e({loading:Object.fromEntries(t.map(n=>[n,!1]))})}},setSetting:async(t,n)=>{e(Jc(t,!0));try{const o=await(await we(`/api/settings/${t}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({value:n})})).json();e(O_(t,o.value??""))}catch{e(Jc(t,!1))}}})),Xf=Object.freeze(Object.defineProperty({__proto__:null,DISPLAY_SETTINGS_KEYS:Ap,SETTINGS_KEYS:Pe,useDisplaySettings:zi,useSettingsStore:tn},Symbol.toStringTag,{value:"Module"}));function tj(){const[e,t]=A.useState({offsetTop:0,height:window.innerHeight,keyboardVisible:!1}),n=A.useRef(window.innerHeight);return A.useEffect(()=>{const r=window.visualViewport;if(!r)return;const o=()=>{const l=r.offsetTop,u=r.height,c=n.current-u>100;t({offsetTop:l,height:u,keyboardVisible:c})};return o(),r.addEventListener("resize",o),r.addEventListener("scroll",o),()=>{r.removeEventListener("resize",o),r.removeEventListener("scroll",o)}},[]),e}function nj(e,t){if(e instanceof RegExp)return{keys:!1,pattern:e};var n,r,o,l,u=[],c="",d=e.split("/");for(d[0]||d.shift();o=d.shift();)n=o[0],n==="*"?(u.push(n),c+=o[1]==="?"?"(?:/(.*))?":"/(.*)"):n===":"?(r=o.indexOf("?",1),l=o.indexOf(".",1),u.push(o.substring(1,~r?r:~l?l:o.length)),c+=~r&&!~l?"(?:/([^/]+?))?":"/([^/]+?)",~l&&(c+=(~r?"?":"")+"\\"+o.substring(l))):c+="/"+o;return{keys:u,pattern:new RegExp("^"+c+(t?"(?=$|/)":"/?$"),"i")}}var Qf={exports:{}},Jf={};/**
|
|
51
|
+
* @license React
|
|
52
|
+
* use-sync-external-store-shim.production.js
|
|
53
|
+
*
|
|
54
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
55
|
+
*
|
|
56
|
+
* This source code is licensed under the MIT license found in the
|
|
57
|
+
* LICENSE file in the root directory of this source tree.
|
|
58
|
+
*/var I_;function rj(){if(I_)return Jf;I_=1;var e=td();function t(m,x){return m===x&&(m!==0||1/m===1/x)||m!==m&&x!==x}var n=typeof Object.is=="function"?Object.is:t,r=e.useState,o=e.useEffect,l=e.useLayoutEffect,u=e.useDebugValue;function c(m,x){var y=x(),w=r({inst:{value:y,getSnapshot:x}}),C=w[0].inst,v=w[1];return l(function(){C.value=y,C.getSnapshot=x,d(C)&&v({inst:C})},[m,y,x]),o(function(){return d(C)&&v({inst:C}),m(function(){d(C)&&v({inst:C})})},[m]),u(y),y}function d(m){var x=m.getSnapshot;m=m.value;try{var y=x();return!n(m,y)}catch{return!0}}function f(m,x){return x()}var p=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?f:c;return Jf.useSyncExternalStore=e.useSyncExternalStore!==void 0?e.useSyncExternalStore:p,Jf}var M_;function sj(){return M_||(M_=1,Qf.exports=rj()),Qf.exports}var ij=sj();const aj=F2.useInsertionEffect,oj=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",lj=oj?A.useLayoutEffect:A.useEffect,cj=aj||lj,kS=e=>{const t=A.useRef([e,(...n)=>t[0](...n)]).current;return cj(()=>{t[0]=e}),t[1]},uj="popstate",Lp="pushState",Dp="replaceState",dj="hashchange",P_=[uj,Lp,Dp,dj],hj=e=>{for(const t of P_)addEventListener(t,e);return()=>{for(const t of P_)removeEventListener(t,e)}},ES=(e,t)=>ij.useSyncExternalStore(hj,e,t),B_=()=>location.search,fj=({ssrSearch:e}={})=>ES(B_,e!=null?()=>e:B_),$_=()=>location.pathname,mj=({ssrPath:e}={})=>ES($_,e!=null?()=>e:$_),pj=(e,{replace:t=!1,state:n=null}={})=>history[t?Dp:Lp](n,"",e),gj=(e={})=>[mj(e),pj],z_=Symbol.for("wouter_v3");if(typeof history<"u"&&typeof window[z_]>"u"){for(const e of[Lp,Dp]){const t=history[e];history[e]=function(){const n=t.apply(this,arguments),r=new Event(e);return r.arguments=arguments,dispatchEvent(r),n}}Object.defineProperty(window,z_,{value:!0})}const xj=(e,t)=>t.toLowerCase().indexOf(e.toLowerCase())?"~"+t:t.slice(e.length)||"/",jS=(e="")=>e==="/"?"":e,yj=(e,t)=>e[0]==="~"?e.slice(1):jS(t)+e,bj=(e="",t)=>xj(H_(jS(e)),H_(t)),H_=e=>{try{return decodeURI(e)}catch{return e}},NS={hook:gj,searchHook:fj,parser:nj,base:"",ssrPath:void 0,ssrSearch:void 0,ssrContext:void 0,hrefs:e=>e,aroundNav:(e,t,n)=>e(t,n)},TS=A.createContext(NS),Ka=()=>A.useContext(TS),AS={},LS=A.createContext(AS),_j=()=>A.useContext(LS),nd=e=>{const[t,n]=e.hook(e);return[bj(e.base,t),kS((r,o)=>e.aroundNav(n,yj(r,e.base),o))]},Gn=()=>nd(Ka()),Rp=(e,t,n,r)=>{const{pattern:o,keys:l}=t instanceof RegExp?{keys:!1,pattern:t}:e(t||"*",r),u=o.exec(n)||[],[c,...d]=u;return c!==void 0?[!0,(()=>{const f=l!==!1?Object.fromEntries(l.map((m,x)=>[m,d[x]])):u.groups;let p={...d};return f&&Object.assign(p,f),p})(),...r?[c]:[]]:[!1,null]},Ya=e=>Rp(Ka().parser,e,Gn()[0]),vj=({children:e,...t})=>{var p,m,x;const n=Ka(),r=t.hook?NS:n;let o=r;const[l,u=t.ssrSearch??""]=((p=t.ssrPath)==null?void 0:p.split("?"))??[];l&&(t.ssrSearch=u,t.ssrPath=l),t.hrefs=t.hrefs??((m=t.hook)==null?void 0:m.hrefs),t.searchHook=t.searchHook??((x=t.hook)==null?void 0:x.searchHook);let c=A.useRef({}),d=c.current,f=d;for(let y in r){const w=y==="base"?r[y]+(t[y]??""):t[y]??r[y];d===f&&w!==f[y]&&(c.current=f={...f}),f[y]=w,(w!==r[y]||w!==o[y])&&(o=f)}return A.createElement(TS.Provider,{value:o,children:e})},U_=({children:e,component:t},n)=>t?A.createElement(t,{params:n}):typeof e=="function"?e(n):e,Sj=e=>{let t=A.useRef(AS);const n=t.current;return t.current=Object.keys(e).length!==Object.keys(n).length||Object.entries(e).some(([r,o])=>o!==n[r])?e:n},Xo=({path:e,nest:t,match:n,...r})=>{const o=Ka(),[l]=nd(o),[u,c,d]=n??Rp(o.parser,e,l,t),f=Sj({..._j(),...c});if(!u)return null;const p=d?A.createElement(vj,{base:d},U_(r,f)):U_(r,f);return A.createElement(LS.Provider,{value:f,children:p})},or=A.forwardRef((e,t)=>{const n=Ka(),[r,o]=nd(n),{to:l="",href:u=l,onClick:c,asChild:d,children:f,className:p,replace:m,state:x,transition:y,...w}=e,C=kS(S=>{S.ctrlKey||S.metaKey||S.altKey||S.shiftKey||S.button!==0||(c==null||c(S),S.defaultPrevented||(S.preventDefault(),o(u,e)))}),v=n.hrefs(u[0]==="~"?u.slice(1):n.base+u,n);return d&&A.isValidElement(f)?A.cloneElement(f,{onClick:C,href:v}):A.createElement("a",{...w,onClick:C,href:v,className:p!=null&&p.call?p(r===u):p,children:f,ref:t})}),DS=e=>Array.isArray(e)?e.flatMap(t=>DS(t&&t.type===A.Fragment?t.props.children:t)):[e],wj=({children:e,location:t})=>{const n=Ka(),[r]=nd(n);for(const o of DS(e)){let l=0;if(A.isValidElement(o)&&(l=Rp(n.parser,o.props.path,t||r,o.props.nest))[0])return A.cloneElement(o,{match:l})}return null};function Cj(e){return typeof e=="object"&&e!==null&&"type"in e&&"payload"in e}function wu(){if(typeof crypto<"u"&&crypto.randomUUID)try{return crypto.randomUUID()}catch{}return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}class kj{constructor(t){be(this,"ws",null);be(this,"handlers",new Set);be(this,"statusHandler",null);be(this,"baseUrl");be(this,"isReconnecting",!1);be(this,"connectingPromise",null);be(this,"lastCloseCode",0);be(this,"reconnectAttempts",0);be(this,"manualReconnectScheduled",!1);be(this,"pwaRecoveryAttempted",!1);this.baseUrl=t}getUrl(){const t=localStorage.getItem("openfox_token");if(t){const n=this.baseUrl.includes("?")?"&":"?";return`${this.baseUrl}${n}token=${encodeURIComponent(t)}`}return this.baseUrl}setToken(t){localStorage.setItem("openfox_token",t)}clearToken(){localStorage.removeItem("openfox_token")}hasToken(){return!!localStorage.getItem("openfox_token")}getLastCloseCode(){return this.lastCloseCode}onStatusChange(t){this.statusHandler=t}connect(){var t,n,r;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN?Promise.resolve():(this.lastCloseCode=0,this.isReconnecting=!1,this.connectingPromise&&((n=this.ws)==null?void 0:n.readyState)===WebSocket.CONNECTING?this.connectingPromise:(this.lastCloseCode=0,this.isReconnecting=!1,this.connectingPromise&&((r=this.ws)==null?void 0:r.readyState)===WebSocket.CONNECTING?(console.warn("[WS CLIENT] Connection already in progress, returning existing promise"),this.connectingPromise):(this.connectingPromise=new Promise((o,l)=>{try{const u=this.getUrl();this.ws=new WebSocket(u);const c=setTimeout(()=>{var d;((d=this.ws)==null?void 0:d.readyState)===WebSocket.CONNECTING&&(this.ws.close(),l(new Error("Connection timeout")))},5e3);this.ws.onopen=()=>{var d;clearTimeout(c),this.isReconnecting=!1,this.reconnectAttempts=0,this.connectingPromise=null,(d=this.statusHandler)==null||d.call(this,"connected"),o()},this.ws.onclose=d=>{var f,p,m;clearTimeout(c),this.lastCloseCode=d.code,((f=this.ws)==null?void 0:f.readyState)===WebSocket.CONNECTING?(this.connectingPromise=null,(p=this.statusHandler)==null||p.call(this,"disconnected"),l(new Error(`Connection closed: ${d.code}`))):(this.connectingPromise=null,(m=this.statusHandler)==null||m.call(this,"disconnected"),this.attemptReconnect())},this.ws.onerror=d=>{clearTimeout(c),console.error("WebSocket error:",d),this.connectingPromise=null,l(d)},this.ws.onmessage=d=>{try{const f=JSON.parse(d.data);Cj(f)&&this.handlers.forEach(p=>p(f))}catch(f){console.error("Failed to parse WebSocket message:",f)}}}catch(u){this.connectingPromise=null,l(u)}}),this.connectingPromise)))}async recoverPwaStuckConnection(){if(this.pwaRecoveryAttempted||!window.matchMedia("(display-mode: standalone)").matches||!("serviceWorker"in navigator))return;this.pwaRecoveryAttempted=!0;const n=await navigator.serviceWorker.getRegistrations();n.length!==0&&(console.warn("[WS] PWA mode detected with stale service worker — unregistering and reloading"),await Promise.all(n.map(r=>r.unregister())),window.location.reload())}attemptReconnect(){var r;if(this.lastCloseCode===4e3&&this.hasToken()){console.warn("[WS] Auth failure or initial failure with token - not auto-reconnecting, awaiting user action");return}if(this.isReconnecting||this.manualReconnectScheduled)return;this.isReconnecting=!0,(r=this.statusHandler)==null||r.call(this,"reconnecting");const n=Math.min(1e3*Math.pow(2,this.reconnectAttempts||0),3e4);this.reconnectAttempts=(this.reconnectAttempts||0)+1,setTimeout(()=>{this.isReconnecting=!1,this.manualReconnectScheduled=!1,this.connect().catch(()=>{this.reconnectAttempts>=3&&this.recoverPwaStuckConnection()})},n)}reconnect(){this.manualReconnectScheduled=!0,this.isReconnecting=!1,this.lastCloseCode=0,this.connectingPromise=null,this.connect().catch(()=>{this.recoverPwaStuckConnection()})}disconnect(){this.isReconnecting=!1,this.reconnectAttempts=0,this.ws&&(this.ws.close(),this.ws=null)}resetReconnectAttempts(){this.reconnectAttempts=0}send(t,n){if(!this.ws||this.ws.readyState!==WebSocket.OPEN)throw new Error("WebSocket not connected");const r=wu(),o={id:r,type:t,payload:n};return this.ws.send(JSON.stringify(o)),r}subscribe(t){return this.handlers.add(t),()=>this.handlers.delete(t)}get isConnected(){var t;return((t=this.ws)==null?void 0:t.readyState)===WebSocket.OPEN}}const Ej=window.location.protocol==="https:"?"wss:":"ws:";let Wm=window.location.port;Wm||(Wm=window.location.hostname==="localhost"||window.location.hostname==="127.0.0.1"?"10469":window.location.protocol==="https:"?"443":"80");const jj=`${Ej}//${window.location.hostname}:${Wm}/ws`,Xt=new kj(jj),Nj=3e4;function RS(e){switch(e){case"vllm":return"vLLM";case"sglang":return"SGLang";case"ollama":return"Ollama";case"llamacpp":return"llama.cpp";case"lmstudio":return"LM Studio";case"openai":return"OpenAI";case"anthropic":return"Anthropic";case"opencode-go":return"OpenCode Go";case"unknown":return"Other"}}const un=qn((e,t)=>({version:null,model:null,maxContext:2e5,llmUrl:null,llmStatus:"unknown",backend:"unknown",providers:[],activeProviderId:null,defaultModelSelection:null,loading:!1,activating:!1,error:null,autoRefreshInterval:null,fetchConfig:async()=>{e({loading:!0,error:null});try{const n=await we("/api/config");if(!n.ok)throw new Error("Failed to fetch config");const r=await n.json();e({version:r.version,model:r.model,maxContext:r.maxContext,llmUrl:r.llmUrl,llmStatus:r.llmStatus,backend:r.backend,providers:r.providers??[],activeProviderId:r.activeProviderId??null,defaultModelSelection:r.defaultModelSelection??null,loading:!1})}catch(n){e({error:n instanceof Error?n.message:"Unknown error",loading:!1})}},refreshModel:async()=>{try{const n=await we("/api/model/refresh",{method:"POST"});if(!n.ok)throw new Error("Failed to refresh model");const r=await n.json();e({model:r.model,llmStatus:r.llmStatus,backend:r.backend})}catch(n){console.error("Failed to refresh model:",n)}},activateProvider:async n=>{const{activeProviderId:r,providers:o}=t();if(n===r)return!0;e({activating:!0,error:null});try{const l=await we(`/api/providers/${n}/activate`,{method:"POST"});if(!l.ok){const c=await l.json();throw new Error(c.error??"Failed to activate provider")}const u=await l.json();return e({activeProviderId:u.activeProviderId,model:u.model,backend:u.backend,providers:o.map(c=>({...c,isActive:c.id===u.activeProviderId})),activating:!1}),!0}catch(l){return e({error:l instanceof Error?l.message:"Failed to switch provider",activating:!1}),!1}},setDefaultModel:async(n,r)=>{const{providers:o}=t();try{const l=await we("/api/default-model",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerId:n,model:r})});if(!l.ok)return!1;const u=await l.json();return e({activeProviderId:n,model:r,defaultModelSelection:u.defaultModelSelection,providers:o.map(c=>({...c,isActive:c.id===n}))}),!0}catch{return!1}},refreshProviderModels:async n=>{e({activating:!0,error:null});try{const r=await we(`/api/providers/${n}/refresh`,{method:"POST"});if(!r.ok){const u=await r.json();throw new Error(u.error??"Failed to refresh models")}const o=await r.json(),{providers:l}=t();return e({providers:l.map(u=>u.id===n?{...u,models:o.models,status:o.status}:u),activating:!1}),!0}catch(r){return e({error:r instanceof Error?r.message:"Failed to refresh models",activating:!1}),!1}},startAutoRefresh:()=>{const{autoRefreshInterval:n,refreshModel:r}=t();if(n)return;const o=setInterval(()=>{r()},Nj);e({autoRefreshInterval:o})},stopAutoRefresh:()=>{const{autoRefreshInterval:n}=t();n&&(clearInterval(n),e({autoRefreshInterval:null}))},getActiveProvider:()=>{const{providers:n,activeProviderId:r}=t();return n.find(o=>o.id===r)},getModelContext:n=>{const{providers:r,activeProviderId:o}=t(),l=r.find(c=>c.id===o);if(!l)return 2e5;const u=l.models.find(c=>c.id===n);return(u==null?void 0:u.contextWindow)??2e5}})),Ut=qn((e,t)=>({projects:[],currentProject:null,loading:!1,listProjects:async()=>{e({loading:!0});try{const r=await(await we("/api/projects")).json();e({projects:r.projects??[],loading:!1})}catch(n){console.error("Failed to load projects:",n),e({loading:!1})}},createProject:async(n,r)=>{try{const o=await we("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:n,workdir:r})});if(!o.ok){const u=await o.json().catch(()=>({}));return{error:{code:u.code||"UNKNOWN",path:u.path,message:u.error}}}const l=await o.json();return await t().listProjects(),l.project}catch{return null}},loadProject:async n=>{try{const r=await we(`/api/projects/${n}`);if(!r.ok)return null;const o=await r.json();return e({currentProject:o.project}),t().projects.length===0&&await t().listProjects(),o.project}catch{return null}},updateProject:async(n,r)=>{var o;try{const l=await we(`/api/projects/${n}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)});if(!l.ok)return null;const u=await l.json();return((o=t().currentProject)==null?void 0:o.id)===n&&e({currentProject:u.project}),await t().listProjects(),u.project}catch{return null}},deleteProject:async n=>{var r;try{return(await we(`/api/projects/${n}`,{method:"DELETE"})).ok?(await t().listProjects(),((r=t().currentProject)==null?void 0:r.id)===n&&e({currentProject:null}),!0):!1}catch{return!1}},toggleStar:async(n,r)=>{var o;try{const l=await we(`/api/projects/${n}/star`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({isStarred:r})});if(!l.ok)return!1;if(((o=t().currentProject)==null?void 0:o.id)===n){const u=await l.json();e({currentProject:u.project})}return await t().listProjects(),!0}catch{return!1}},clearProject:()=>{e({currentProject:null})}})),ti=async(e,t,n)=>{try{const r=await we(t,{method:e,headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});return r.ok?{success:!0}:{success:!1,error:(await r.json()).error}}catch{return{success:!1,error:"Network error"}}},rd=async(e,t,n)=>{try{const r=await we(e,{method:"POST",body:n?JSON.stringify({destination:n}):void 0,headers:n?{"Content-Type":"application/json"}:void 0}),o=await r.json();return r.ok?(await t(),{success:!0}):{success:!1,error:o.error??"Failed to duplicate"}}catch{return{success:!1,error:"Network error"}}};function OS(e){let t=null;function n(){t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))}return n}let Zc=[];const hl=qn()((e,t)=>{function n(){if(Zc.length===0)return;const o=Zc;Zc=[],e(l=>{const u={...l.logs};for(const c of o){const d=u[c.processId]??[];u[c.processId]=[...d,{offset:d.length,content:c.content,timestamp:Date.now(),stream:c.stream}]}return{logs:u}})}const r=OS(n);return{processes:[],logs:{},loading:!1,setProcesses:o=>e({processes:o}),addProcess:o=>e(l=>({processes:[...l.processes,o]})),updateProcess:(o,l)=>e(u=>({processes:u.processes.map(c=>c.id===o?{...c,...l}:c)})),removeProcess:o=>e(l=>({processes:l.processes.filter(u=>u.id!==o),logs:Object.fromEntries(Object.entries(l.logs).filter(([u])=>u!==o))})),stopProcess:async(o,l)=>{try{(await we(`/api/sessions/${l}/background-process/${o}/stop`,{method:"POST"})).ok&&t().removeProcess(o)}catch{}},appendLog:(o,l,u)=>{Zc.push({processId:o,stream:l,content:u}),r()},setLogs:(o,l)=>e(u=>({logs:{...u.logs,[o]:l}})),clearLogs:o=>e(l=>({logs:{...l.logs,[o]:[]}})),handleMessage:(o,l)=>{switch(o){case"backgroundProcess.started":{const{processId:u,name:c,pid:d,status:f}=l;e(p=>({processes:[...p.processes,{id:u,sessionId:"",name:c,command:"",cwd:"",pid:d,status:f,exitCode:null,createdAt:Date.now(),startedAt:Date.now(),endedAt:null}]}));break}case"backgroundProcess.output":{const u=l.processId,c=l.stream,d=l.content;t().appendLog(u,c,d);break}case"backgroundProcess.exited":{const u=l.processId,c=l.exitCode;e(d=>({processes:d.processes.map(f=>f.id===u?{...f,status:"exited",exitCode:c}:f)}));break}case"backgroundProcess.removed":{const u=l.processId;t().removeProcess(u);break}}}}}),Tj={messageId:null,deltaContent:"",thinkingContent:"",toolOutput:[]};let Cu=null;function Aj(e){Cu=e}function Ni(){return Tj}function Zf(){Cu==null||Cu()}let eu=[];const Fr=qn()((e,t)=>{function n(){if(eu.length===0)return;const o=eu;eu=[],e(l=>({logs:[...l.logs,...o]}))}const r=OS(n);return{workdir:null,status:null,logs:[],config:null,loading:!1,setWorkdir:o=>{t().workdir!==o&&(e({workdir:o,status:null,logs:[],config:null,loading:!0}),o&&(t().fetchStatus(),t().fetchConfig()))},fetchStatus:async()=>{const o=t().workdir;if(o)try{const u=await(await we(`/api/dev-server?workdir=${encodeURIComponent(o)}`)).json();e({status:u,loading:!1})}catch{e({loading:!1})}},fetchConfig:async()=>{const o=t().workdir;if(o)try{const u=await(await we(`/api/dev-server/config?workdir=${encodeURIComponent(o)}`)).json();e({config:u.config??null})}catch{}},fetchLogs:async()=>{const o=t().workdir;if(o)try{const c=(await(await we(`/api/dev-server/logs?workdir=${encodeURIComponent(o)}`)).json()).logs.map(d=>({stream:d.stream,content:d.content}));e({logs:c})}catch{}},start:async()=>{const o=t().workdir;if(o)try{const u=await(await we(`/api/dev-server/start?workdir=${encodeURIComponent(o)}`,{method:"POST"})).json();e({status:u,logs:[]})}catch{}},stop:async()=>{const o=t().workdir;if(o)try{const u=await(await we(`/api/dev-server/stop?workdir=${encodeURIComponent(o)}`,{method:"POST"})).json();e({status:u})}catch{}},restart:async()=>{const o=t().workdir;if(o)try{const u=await(await we(`/api/dev-server/restart?workdir=${encodeURIComponent(o)}`,{method:"POST"})).json();e({status:u,logs:[]})}catch{}},saveConfig:async o=>{const l=t().workdir;if(l)try{const c=await(await we(`/api/dev-server/config?workdir=${encodeURIComponent(l)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)})).json();e({config:c.config??o}),t().fetchStatus()}catch{}},handleMessage:o=>{const l=t().workdir;if(l)switch(o.type){case"devServer.output":{const u=o.payload;if(u.workdir!==l)return;eu.push({stream:u.stream,content:u.content}),r();break}case"devServer.state":{const u=o.payload;if(u.workdir!==l)return;e(c=>({status:c.status?{...c.status,state:u.state,errorMessage:u.errorMessage}:c.status}));break}}}}}),Lj=[{key:"complete",label:"Task Complete",description:"When an agent finishes its work"},{key:"waiting_for_user",label:"Waiting for Input",description:"When the agent needs your input"},{key:"phase_done",label:"Phase Done",description:"When a build phase completes successfully"},{key:"phase_blocked",label:"Phase Blocked",description:"When a build phase is blocked and needs intervention"},{key:"new_message",label:"New Message",description:"When a new assistant message starts arriving"}],Dj=[{url:"/sounds/notification.mp3",label:"Notification"},{url:"/sounds/waiting-for-user.mp3",label:"Waiting for User"},{url:"/sounds/achievement.mp3",label:"Achievement"},{url:"/sounds/intervention.mp3",label:"Intervention"},{url:"/sounds/typing.mp3",label:"Typing"}],IS={complete:"/sounds/notification.mp3",waiting_for_user:"/sounds/waiting-for-user.mp3",phase_done:"/sounds/achievement.mp3",phase_blocked:"/sounds/intervention.mp3",new_message:"/sounds/typing.mp3"},Qs={soundEnabled:!0,browserNotification:!1,customSoundUrl:null},MS={soundEnabled:!1,browserNotification:!1,customSoundUrl:null},qm={soundEnabled:!0,browserNotificationEnabled:!1,events:{complete:{...Qs},waiting_for_user:{...Qs},phase_done:{...Qs},phase_blocked:{...Qs},new_message:{...MS}},agentOverrides:{}};function PS(e,t,n){var l;const r=e.events[t];if(!n)return r;const o=(l=e.agentOverrides[n])==null?void 0:l[t];return o?{soundEnabled:o.soundEnabled??r.soundEnabled,browserNotification:o.browserNotification??r.browserNotification,customSoundUrl:o.customSoundUrl!==void 0?o.customSoundUrl:r.customSoundUrl}:r}const Ai=qn((e,t)=>({settings:qm,loaded:!1,load:()=>{tn.getState().getSetting(Pe.NOTIFICATION_SETTINGS);const r=tn.subscribe(l=>{const u=l.settings[Pe.NOTIFICATION_SETTINGS];if(u!==void 0)try{const c=JSON.parse(u);e({settings:F_(c),loaded:!0})}catch{e({loaded:!0})}}),o=tn.getState().settings[Pe.NOTIFICATION_SETTINGS];if(o)try{const l=JSON.parse(o);e({settings:F_(l),loaded:!0})}catch{e({loaded:!0})}return r},update:n=>{e({settings:n}),em(n)},updateEvent:(n,r)=>{const o=t().settings,l={...o,events:{...o.events,[n]:{...o.events[n],...r}}};e({settings:l}),em(l)},updateAgentOverride:(n,r,o)=>{var d;const l=t().settings,u={...l.agentOverrides};if(o===null){if(u[n]){const f={...u[n]};delete f[r],Object.keys(f).length===0?delete u[n]:u[n]=f}}else u[n]={...u[n],[r]:{...((d=u[n])==null?void 0:d[r])??{},...o}};const c={...l,agentOverrides:u};e({settings:c}),em(c)}}));function em(e){tn.getState().setSetting(Pe.NOTIFICATION_SETTINGS,JSON.stringify(e))}function F_(e){var t,n,r,o,l;return{soundEnabled:e.soundEnabled??qm.soundEnabled,browserNotificationEnabled:e.browserNotificationEnabled??qm.browserNotificationEnabled,events:{complete:{...Qs,...(t=e.events)==null?void 0:t.complete},waiting_for_user:{...Qs,...(n=e.events)==null?void 0:n.waiting_for_user},phase_done:{...Qs,...(r=e.events)==null?void 0:r.phase_done},phase_blocked:{...Qs,...(o=e.events)==null?void 0:o.phase_blocked},new_message:{...MS,...(l=e.events)==null?void 0:l.new_message}},agentOverrides:e.agentOverrides??{}}}const V_=new Map;function Rj(e){let t=V_.get(e);return t||(t=new Audio(e),t.volume=.5,V_.set(e,t)),t}let BS=typeof Notification<"u"?Notification.permission:"denied";function Oj(){return typeof Notification>"u"?Promise.resolve("denied"):Notification.requestPermission().then(e=>(BS=e,e))}const Ij={complete:"Task Complete",waiting_for_user:"Waiting for Input",phase_done:"Phase Complete",phase_blocked:"Phase Blocked",new_message:"New Message"},Mj={complete:"The agent has finished its work.",waiting_for_user:"The agent needs your input to continue.",phase_done:"The build phase completed successfully.",phase_blocked:"The build phase is blocked and needs intervention.",new_message:"A new assistant message is arriving."};function Pj(e){typeof Notification>"u"||BS==="granted"&&(document.hasFocus()||new Notification(Ij[e],{body:Mj[e],icon:"/fox.svg",tag:`openfox-${e}`}))}function Tl(e,t){const{settings:n}=Ai.getState(),r=PS(n,e,t);if(n.soundEnabled&&r.soundEnabled){const o=r.customSoundUrl??IS[e],l=Rj(o);l.currentTime=0,l.play().catch(()=>{})}n.browserNotificationEnabled&&r.browserNotification&&Pj(e)}const Bj=e=>Tl("complete",e),$j=e=>Tl("phase_done",e),zj=e=>Tl("phase_blocked",e),G_=e=>Tl("waiting_for_user",e),Hj=e=>Tl("new_message",e),W_=new Map;function cl(e,t){var l;const n=t===((l=e.currentSession)==null?void 0:l.id)?e.currentSession:null,r=e.sessions.find(u=>u.id===t),o=(n==null?void 0:n.mode)??(r==null?void 0:r.mode);return o==="planner"?"planner":o==="builder"?"build":"planner"}function Uj(e,t){if(e.type==="chat.done"){const n=e.payload,r=cl(t,e.sessionId),o=n.agentType??r;n.reason==="complete"&&Bj(o),n.reason==="waiting_for_user"&&G_(o);return}if(e.type==="chat.path_confirmation"){const n=cl(t,e.sessionId);G_(n);return}if(e.type==="task.completed"){const n=cl(t,e.sessionId);$j(n);return}if(e.type==="phase.changed"&&e.sessionId){const n=e.payload,r=W_.get(e.sessionId)??null;if(W_.set(e.sessionId,n.phase),r===n.phase)return;const o=cl(t,e.sessionId);n.phase==="blocked"&&zj(o)}}const tm=new Set;function Zt(e,t){return t!==null&&e.sessionId===t}function Fj(e,t,n){return e.id!==void 0||Zt(e,t)||n===!0&&e.sessionId!==void 0}function Vj(e,t){return e.includes(t)?e:[...e,t]}function q_(e,t){return e.filter(n=>n!==t)}function Gj(e,t){const n=e.find(l=>l.id===t.id),r=t.messageCount??t.messages.length,o=n?{...n,projectId:t.projectId,workdir:t.workdir,mode:t.mode,phase:t.phase,isRunning:t.isRunning&&n.isRunning!==!1,messageCount:r,criteriaCount:t.criteria.length,criteriaCompleted:t.criteria.filter(l=>l.status.type==="passed").length}:{id:t.id,projectId:t.projectId,workdir:t.workdir,mode:t.mode,phase:t.phase,isRunning:t.isRunning,createdAt:"",updatedAt:"",criteriaCount:t.criteria.length,criteriaCompleted:t.criteria.filter(l=>l.status.type==="passed").length,messageCount:r};return n?e.map(l=>l.id===t.id?o:l):[o,...e]}function Wj(e,t,n){return e.map(r=>{const o=(n==null?void 0:n.id)===r.id?n:null,l=t.find(u=>u.id===r.id);return{...r,title:r.title??(l==null?void 0:l.title),mode:(o==null?void 0:o.mode)??(l==null?void 0:l.mode)??r.mode,phase:(o==null?void 0:o.phase)??(l==null?void 0:l.phase)??r.phase,isRunning:r.isRunning&&(l==null?void 0:l.isRunning)!==!1,messageCount:r.messageCount,recentUserPrompts:r.recentUserPrompts}})}function K_(e,t,n,r){var c;const o=e.sessionId,l=(c=n().currentSession)==null?void 0:c.id,u=o&&o!==l;if(t(d=>({sessions:d.sessions.map(f=>f.id===o?r(f):f)})),!u){const d=n().currentSession;if(d){const f=r(d);t(()=>({currentSession:f}))}}}function Y_(e,t,n){var c,d,f,p,m,x,y,w,C,v,S,_,b,j,E,T,D,L,O,P,G,W;const r=n();Uj(e,r);const o=((c=r.currentSession)==null?void 0:c.id)??null,l=()=>{const I=e.sessionId;!I||I===o||t(H=>({unreadSessionIds:Vj(H.unreadSessionIds,I)}))},u=(I,H,V)=>({messages:I.messages.map(U=>U.id===H?V(U):U)});switch(e.type){case"session.state":{const I=e.payload;if(!Fj(e,o,r.pendingSessionCreate))break;const H=n().pendingSessionCreate===!0;t({currentSession:I.session,sessions:Gj(n().sessions,I.session),unreadSessionIds:q_(n().unreadSessionIds,I.session.id),messages:I.messages,currentTodos:[],pendingPathConfirmations:I.pendingConfirmations??[],pendingQuestions:I.pendingQuestions??[],error:null,...H?{pendingSessionCreate:I.session.id}:{}});break}case"session.list":{const I=e.payload;t(H=>({sessions:Wj(I.sessions,H.sessions,H.currentSession)}));break}case"session.deleted":{const I=e.payload;t(H=>({unreadSessionIds:q_(H.unreadSessionIds,I.sessionId)})),n().listSessions();break}case"session.deletedAll":{n().listSessions();break}case"session.running":{const I=e.payload;K_(e,t,n,H=>({...H,isRunning:I.isRunning})),I.isRunning||t({abortInProgress:!1,queuedMessages:[]}),I.isRunning&&t({restoredInput:null});break}case"chat.message":{if(!Zt(e,((d=n().currentSession)==null?void 0:d.id)??null)){l();break}const I=e.payload;t(H=>{if(H.messages.some(U=>U.id===I.message.id))return H;const V=I.message.role==="user";return{messages:[...H.messages,I.message],sessions:H.sessions.map(U=>U.id===e.sessionId&&V?{...U,messageCount:U.messageCount+1}:U)}});break}case"chat.message_updated":{if(!Zt(e,((f=n().currentSession)==null?void 0:f.id)??null)){l();break}const I=e.payload,H=n().messages.find(V=>V.id===I.messageId);I.updates.isStreaming===!1&&(H==null||H.isStreaming),t(V=>({messages:V.messages.map(U=>U.id===I.messageId?{...U,...I.updates}:U)}));break}case"chat.delta":{if(!Zt(e,((p=n().currentSession)==null?void 0:p.id)??null)){l();break}const I=e.payload;if(!tm.has(I.messageId)){tm.add(I.messageId);const V=I.subAgentType?"sub-agent":cl(n(),e.sessionId);Hj(V)}const H=Ni();H.messageId=I.messageId,H.deltaContent+=I.content,Zf();break}case"chat.thinking":{if(!Zt(e,((m=n().currentSession)==null?void 0:m.id)??null)){l();break}const I=e.payload,H=Ni();H.messageId=I.messageId,H.thinkingContent+=I.content,Zf();break}case"chat.tool_preparing":{if(!Zt(e,((x=n().currentSession)==null?void 0:x.id)??null)){l();break}const I=e.payload;t(H=>{var R;const V=H.messages.find(M=>M.id===I.messageId);if(!V)return{};if((R=V.toolCalls)==null?void 0:R.find((M,q)=>q===I.index))return{};const Q=V.preparingToolCalls??[],X=Q.findIndex(M=>M.index===I.index);let z;return X>=0?z=Q.map((M,q)=>q===X?{...M,arguments:I.arguments}:M):z=[...Q,{index:I.index,name:I.name,...I.arguments?{arguments:I.arguments}:{}}],{messages:H.messages.map(M=>M.id===I.messageId?{...M,preparingToolCalls:z}:M)}});break}case"chat.tool_call":{if(!Zt(e,((y=n().currentSession)==null?void 0:y.id)??null)){l();break}const I=e.payload,H=V=>{var z;const U=(z=V.preparingToolCalls)==null?void 0:z.filter((R,M)=>{var q;return R.name===I.tool?(q=V.preparingToolCalls)==null?void 0:q.slice(0,M).some(ee=>ee.name===I.tool):!0}),Q=Ni(),X=Q.toolOutput.filter(R=>R.callId===I.callId);return X.length>0&&(Q.toolOutput=Q.toolOutput.filter(R=>R.callId!==I.callId)),{...V,toolCalls:[...V.toolCalls??[],{id:I.callId,name:I.tool,arguments:I.args,startedAt:Date.now(),...X.length>0?{streamingOutput:X.map(R=>({stream:R.stream,content:R.content,timestamp:Date.now()}))}:{}}],...U&&U.length>0?{preparingToolCalls:U}:{preparingToolCalls:void 0}}};t(V=>u(V,I.messageId,H));break}case"chat.tool_output":{if(!Zt(e,((w=n().currentSession)==null?void 0:w.id)??null)){l();break}const I=e.payload,H=Ni();H.messageId=I.messageId,H.toolOutput.push({messageId:I.messageId,callId:I.callId,stream:I.stream,content:I.output}),Zf();break}case"chat.tool_result":{if(!Zt(e,((C=n().currentSession)==null?void 0:C.id)??null)){l();break}const I=e.payload,H=V=>{var Q;const U=(Q=V.toolCalls)==null?void 0:Q.map(X=>X.id===I.callId?{...X,result:I.result}:X);return{...V,toolCalls:U}};t(V=>u(V,I.messageId,H));break}case"chat.vision_fallback":{if(!Zt(e,((v=n().currentSession)==null?void 0:v.id)??null)){l();break}const I=e.payload;t(H=>{const V=`${I.messageId}-${I.attachmentId}`,U={...H.visionFallbackByMessage};return U[V]={type:I.type,attachmentId:I.attachmentId,filename:I.filename,description:I.description},{visionFallbackByMessage:U}});break}case"chat.todo":{if(!Zt(e,((S=n().currentSession)==null?void 0:S.id)??null)){l();break}const I=e.payload;t({currentTodos:I.todos});break}case"chat.progress":{if(!Zt(e,((_=n().currentSession)==null?void 0:_.id)??null)){l();break}const I=e.payload;console.warn("Progress:",I.message,I.phase);break}case"chat.format_retry":{if(!Zt(e,((b=n().currentSession)==null?void 0:b.id)??null)){l();break}const I=e.payload;console.warn("Format retry:",I.attempt,"/",I.maxAttempts);break}case"chat.done":{if(!Zt(e,((j=n().currentSession)==null?void 0:j.id)??null)){l();break}const I=Ni();I.messageId=null,I.deltaContent="",I.thinkingContent="",I.toolOutput=[],tm.delete(e.payload.messageId);const H=e.payload,V=H.stats;t(U=>({messages:U.messages.map(Q=>Q.id===H.messageId?{...Q,isStreaming:!1,stats:V??Q.stats,completeReason:H.reason,preparingToolCalls:void 0}:Q),visionFallbackByMessage:{}}));break}case"chat.error":{if(!Zt(e,((E=n().currentSession)==null?void 0:E.id)??null)){l();break}const I=Ni(),H=e.payload;console.error("Chat error:",H.error,"recoverable:",H.recoverable),H.recoverable||(I.messageId=null,I.deltaContent="",I.thinkingContent="",I.toolOutput=[]),t(V=>({error:{code:"CHAT_ERROR",message:H.error},...H.recoverable?{}:{messages:V.messages}}));break}case"chat.path_confirmation":{if(!Zt(e,((T=n().currentSession)==null?void 0:T.id)??null)){l();break}const I=e.payload,H={callId:I.callId,tool:I.tool,paths:I.paths,workdir:I.workdir,reason:I.reason};t(V=>({pendingPathConfirmations:[...V.pendingPathConfirmations,H]}));break}case"chat.ask_user":{if(!Zt(e,((D=n().currentSession)==null?void 0:D.id)??null)){l();return}const I=e.payload,H={callId:I.callId,question:I.question,type:I.type??"text",options:I.options??void 0};t(V=>({pendingQuestions:[...V.pendingQuestions.filter(U=>U.callId!==I.callId),H]}));break}case"mode.changed":{if(!Zt(e,((L=n().currentSession)==null?void 0:L.id)??null)){l();break}const I=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,mode:I.mode}:null}));break}case"phase.changed":{const I=e.payload;K_(e,t,n,H=>({...H,phase:I.phase}));break}case"criteria.updated":{if(!Zt(e,((O=n().currentSession)==null?void 0:O.id)??null)){l();break}const I=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,criteria:I.criteria}:null}));break}case"metadata.updated":{if(!Zt(e,((P=n().currentSession)==null?void 0:P.id)??null)){l();break}const I=e.payload;t(H=>({currentSession:H.currentSession?{...H.currentSession,metadataEntries:{...H.currentSession.metadataEntries,[I.key]:I.entries}}:null}));break}case"context.state":{const I=e.payload,H=Zt(e,((G=n().currentSession)==null?void 0:G.id)??null);I.subAgentId?H&&n().updateSubAgentContextState(I.subAgentId,I.context):H?t({contextState:I.context}):l();break}case"session.name_generated":{const I=e.payload,H=e.sessionId,V=(W=n().currentSession)==null?void 0:W.id;t(U=>{const Q=U.sessions.map(z=>z.id===H?{...z,title:I.name,updatedAt:new Date().toISOString()}:z),X=V===H?U.currentSession?{...U.currentSession,title:I.name,updatedAt:new Date().toISOString()}:null:U.currentSession;return{sessions:Q,currentSession:X}});break}case"queue.state":{const I=e.payload;t({queuedMessages:I.messages??[]});break}case"mcp.servers.changed":{window.dispatchEvent(new CustomEvent("mcp-servers-changed"));break}case"git.status":{const I=e.payload;t({gitStatus:{branch:I.branch,diff:I.diff}});break}case"devServer.output":case"devServer.state":{Fr.getState().handleMessage(e);break}case"backgroundProcess.started":case"backgroundProcess.output":case"backgroundProcess.exited":case"backgroundProcess.removed":{hl.getState().handleMessage(e.type,e.payload);break}case"error":{const I=e.payload;console.error("Server error:",I),t({error:{code:I.code,message:I.message}});break}}}let Qo=!1,$r=null;const nm=new Set,tu=new Map;function X_(e,t,n){return e==null?void 0:e.map(r=>{const o=t.filter(l=>l.callId===r.id);return o.length===0?r:(n.add(r.id),{...r,streamingOutput:[...r.streamingOutput??[],...o.map(l=>({stream:l.stream,content:l.content,timestamp:Date.now()}))]})})}async function Q_(e,t,n,r,o){try{const u=await(await we(`/api/sessions/${e}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({content:t,attachments:n,messageKind:r})})).json();u.queueState&&o({queuedMessages:u.queueState})}catch(l){console.error("Error queueing message:",l)}}const Le=qn((e,t)=>(Aj(()=>{const n=Ni();if(!n.messageId)return;const r=n.deltaContent.length>0,o=n.thinkingContent.length>0,l=n.toolOutput.length>0;if(!r&&!o&&!l)return;const u=n.deltaContent,c=n.thinkingContent,d=n.toolOutput;n.deltaContent="",n.thinkingContent="",n.toolOutput=[],e(f=>{const p=f.messages.find(m=>m.id===n.messageId);if(p){const m={...p};if(r&&(m.content=m.content+u),o&&(m.thinkingContent=(m.thinkingContent??"")+c),l){const x=new Set;m.toolCalls=X_(m.toolCalls,d,x);const y=d.filter(w=>!x.has(w.callId));y.length>0&&n.toolOutput.push(...y)}return{messages:f.messages.map(x=>x.id===n.messageId?m:x)}}if(l){const m=new Set,x=f.messages.map(w=>w.id!==n.messageId?w:{...w,toolCalls:X_(w.toolCalls,d,m)}),y=d.filter(w=>!m.has(w.callId));return y.length>0&&n.toolOutput.push(...y),{messages:x}}return f})}),{connectionStatus:"disconnected",showPasswordModal:!1,passwordModalRetry:!1,sessions:[],currentSession:null,unreadSessionIds:[],messages:[],currentTodos:[],contextState:null,subAgentContextStates:{},pendingPathConfirmations:[],pendingQuestions:[],visionFallbackByMessage:{},gitStatus:null,queuedMessages:[],abortInProgress:!1,restoredInput:null,error:null,sessionsHasMore:!0,sessionsPaginationLoading:!1,pendingSessionCreate:!1,connect:async()=>{if(t().connectionStatus==="connected")return;e({connectionStatus:"reconnecting"});let r=!1;try{r=(await(await we("/api/auth")).json()).requiresAuth}catch{}if(r&&!Xt.hasToken()){e({showPasswordModal:!0,passwordModalRetry:!1,connectionStatus:"reconnecting"});return}Xt.onStatusChange(o=>{var l;if(e({connectionStatus:o}),o==="connected"){t().listSessions(void 0),Ut.getState().listProjects();const u=(l=t().currentSession)==null?void 0:l.id;u&&t().loadSession(u)}});try{await Xt.connect(),Qo||(Qo=!0,$r=Xt.subscribe(o=>{Y_(o,e,t)}))}catch(o){console.error("Failed to connect:",o);const l=Xt.getLastCloseCode();if(!Xt.hasToken()&&(l===1006||l===4e3)){e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"});return}$r&&($r(),$r=null),Qo=!1,e({connectionStatus:"disconnected"})}},reconnect:()=>{Xt.disconnect(),$r&&($r(),$r=null),Qo=!1,e({connectionStatus:"disconnected"}),t().connect()},disconnect:()=>{Xt.disconnect(),$r&&($r(),$r=null),Qo=!1,e({connectionStatus:"disconnected",showPasswordModal:!1})},submitPassword:async n=>{try{const r=await fetch("/api/auth/login",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({password:n})});if(!r.ok){e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"});return}const{token:o}=await r.json();Xt.setToken(o),e({showPasswordModal:!1}),t().connect();const{listProjects:l}=Ut.getState(),{fetchConfig:u}=un.getState();l(),u(),t().connect()}catch{e({showPasswordModal:!0,passwordModalRetry:!0,connectionStatus:"reconnecting"})}},cancelPassword:()=>{Xt.clearToken(),e({showPasswordModal:!1,connectionStatus:"disconnected"})},createSession:async(n,r)=>{if(t().pendingSessionCreate)return null;try{e({pendingSessionCreate:!0});const l=await we("/api/sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({projectId:n,title:r})});if(!l.ok)return e({pendingSessionCreate:!1}),null;const u=await l.json();try{Xt.send("session.load",{sessionId:u.session.id})}catch{}return u.session}catch{return e({pendingSessionCreate:!1}),null}},loadSession:async n=>{if(!nm.has(n)){nm.add(n);try{const r=t().currentSession;!r||r.id!==n?e({currentSession:null,unreadSessionIds:t().unreadSessionIds.filter(c=>c!==n),subAgentContextStates:{},messages:[],currentTodos:[],contextState:null,pendingPathConfirmations:[],pendingQuestions:[],queuedMessages:[],abortInProgress:!1,restoredInput:null,error:null,pendingSessionCreate:!1}):e({unreadSessionIds:t().unreadSessionIds.filter(c=>c!==n)});const o=await we(`/api/sessions/${n}`);if(!o.ok)return;const l=await o.json(),u=l.messages??[];e({currentSession:l.session,messages:u,contextState:l.contextState,queuedMessages:l.queueState??[],pendingQuestions:l.pendingQuestions??[]}),Xt.send("session.load",{sessionId:n});try{const c=await we(`/api/sessions/${n}/background-processes`);if(c.ok){const d=await c.json();hl.getState().setProcesses(d.processes??[])}}catch{}}catch{}finally{nm.delete(n)}}},listSessions:async(n,r=20)=>{const o=n??"global";if(tu.has(o))return tu.get(o);const l=(async()=>{try{const u=new URLSearchParams;u.set("limit",String(r)),n&&u.set("projectId",n);const d=await(await we(`/api/sessions?${u.toString()}`)).json(),f=d.sessions??[];e(p=>({sessions:f.map(m=>{var y,w;const x=p.sessions.find(C=>C.id===m.id);return{...m,title:m.title??(x==null?void 0:x.title),mode:((y=p.currentSession)==null?void 0:y.id)===m.id?p.currentSession.mode:(x==null?void 0:x.mode)??m.mode,phase:((w=p.currentSession)==null?void 0:w.id)===m.id?p.currentSession.phase:(x==null?void 0:x.phase)??m.phase,isRunning:m.isRunning&&(x==null?void 0:x.isRunning)!==!1,messageCount:m.messageCount,recentUserPrompts:m.recentUserPrompts}}),sessionsHasMore:n?d.hasMore??!1:!0}))}catch{}finally{tu.delete(o)}})();return tu.set(o,l),l},loadMoreSessions:async n=>{const r=t();if(!(r.sessionsPaginationLoading||!r.sessionsHasMore)){e({sessionsPaginationLoading:!0});try{const o=new URLSearchParams;o.set("limit","20"),o.set("offset",String(r.sessions.length)),o.set("projectId",n);const u=await(await we(`/api/sessions?${o.toString()}`)).json(),c=u.sessions??[];e(d=>({sessions:[...d.sessions,...c.map(f=>{const p=d.sessions.find(m=>m.id===f.id);return(p==null?void 0:p.isRunning)===!1?{...f,isRunning:!1}:f})],sessionsHasMore:u.hasMore??!1,sessionsPaginationLoading:!1}))}catch{e({sessionsPaginationLoading:!1})}}},deleteSession:async n=>{var r;try{return(await we(`/api/sessions/${n}`,{method:"DELETE"})).ok?(await t().listSessions(),((r=t().currentSession)==null?void 0:r.id)===n&&t().clearSession(),!0):!1}catch{return!1}},renameSession:async(n,r)=>{var o;try{const l=await we(`/api/sessions/${n}/title`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:r})});if(!l.ok)return!1;if(await t().listSessions(),((o=t().currentSession)==null?void 0:o.id)===n){const c=await l.json();c.session&&e({currentSession:c.session})}return!0}catch{return!1}},deleteAllSessions:async n=>{try{return(await we(`/api/projects/${n}/sessions`,{method:"DELETE"})).ok?(await t().listSessions(),!0):!1}catch{return!1}},clearSession:()=>{e(n=>({currentSession:null,messages:[],currentTodos:[],contextState:null,restoredInput:null,pendingSessionCreate:!1,unreadSessionIds:n.currentSession?n.unreadSessionIds.filter(r=>r!==n.currentSession.id):n.unreadSessionIds}))},sendMessage:async(n,r,o)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l)try{const c=n==null?void 0:n.trim(),d=r&&r.length>0,f={};c&&(f.content=n),d&&(f.attachments=r),o!=null&&o.messageKind&&(f.messageKind=o.messageKind);const m=await(await we(`/api/sessions/${l}/message`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)})).json();m.queueState&&e({queuedMessages:m.queueState})}catch(c){console.error("Error sending message:",c)}},stopGeneration:async()=>{var r;const n=(r=t().currentSession)==null?void 0:r.id;if(n&&!t().abortInProgress){e({abortInProgress:!0});try{const l=await(await we(`/api/sessions/${n}/stop`,{method:"POST"})).json();if(l.queuedMessages&&l.queuedMessages.length>0){const u=l.queuedMessages.map(c=>c.content).join(`
|
|
59
|
+
`);e({restoredInput:u})}}catch(o){console.error("Error stopping generation:",o)}}},continueGeneration:async()=>{var r;const n=(r=t().currentSession)==null?void 0:r.id;if(n)try{await we(`/api/sessions/${n}/continue`,{method:"POST"})}catch(o){console.error("Error continuing generation:",o)}},launchWorkflow:(n,r,o,l)=>{const u={};n!=null&&n.trim()&&(u.content=n),r&&r.length>0&&(u.attachments=r),o&&(u.workflowId=o),l&&(u.subGroup=l),Xt.send("runner.launch",u)},switchMode:async n=>{var o;const r=(o=t().currentSession)==null?void 0:o.id;if(r)try{const l=await we(`/api/sessions/${r}/mode`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({mode:n})});if(!l.ok){console.error("Failed to switch mode:",await l.json());return}const u=await l.json();u.session&&e({currentSession:u.session})}catch(l){console.error("Error switching mode:",l)}},switchDangerLevel:async n=>{var o;const r=(o=t().currentSession)==null?void 0:o.id;if(r)try{const l=await we(`/api/sessions/${r}/danger-level`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({dangerLevel:n})});if(!l.ok){console.error("Failed to switch danger level:",await l.json());return}const u=await l.json();u.session&&e({currentSession:u.session})}catch(l){console.error("Error switching danger level:",l)}},editCriteria:async n=>{var o;const r=(o=t().currentSession)==null?void 0:o.id;if(r)try{const l=await we(`/api/sessions/${r}/criteria`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({criteria:n})});l.ok||console.error("Failed to update criteria:",await l.json())}catch(l){console.error("Error updating criteria:",l)}},compactContext:()=>{Xt.send("context.compact",{})},setSessionProvider:async(n,r)=>{var o;try{const l=(o=t().currentSession)==null?void 0:o.id;if(!l)return null;const u=await we(`/api/sessions/${l}/provider`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({providerId:n,...r?{model:r}:{}})});if(!u.ok)return null;const c=await u.json();return e({currentSession:c.session,messages:c.messages??[],contextState:c.contextState}),c.session}catch{return null}},updateContextState:n=>{e({contextState:n})},updateSubAgentContextState:(n,r)=>{e(o=>({subAgentContextStates:{...o.subAgentContextStates,[n]:r}}))},clearSubAgentContextState:n=>{e(r=>{const o={...r.subAgentContextStates};return delete o[n],{subAgentContextStates:o}})},confirmPath:async(n,r,o=!1)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l)try{await we(`/api/sessions/${l}/confirm-path`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({callId:n,approved:r,alwaysAllow:o})})}catch(c){console.error("Error confirming path:",c)}},answerQuestion:async(n,r,o)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;if(l){try{await we(`/api/sessions/${l}/answer`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({callId:n,answer:r,skip:o})})}catch(c){console.error("Error answering question:",c)}e(c=>({pendingQuestions:c.pendingQuestions.filter(d=>d.callId!==n)}))}},queueAsap:async(n,r,o)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;l&&await Q_(l,n,r,o,e)},queueCompletion:async(n,r,o)=>{var u;const l=(u=t().currentSession)==null?void 0:u.id;l&&await Q_(l,n,r,o,e)},cancelQueued:async n=>{var o;const r=(o=t().currentSession)==null?void 0:o.id;if(r)try{const u=await(await we(`/api/sessions/${r}/queue/${n}`,{method:"DELETE"})).json();u.queueState&&e({queuedMessages:u.queueState})}catch(l){console.error("Error canceling queued message:",l)}},clearError:()=>{e({error:null})},clearRestoredInput:()=>{e({restoredInput:null})},resetPendingSessionCreate:()=>{e({pendingSessionCreate:!1})},handleServerMessage:n=>{Y_(n,e,t)}}));function sd(){return Le(e=>{var t;return((t=e.currentSession)==null?void 0:t.isRunning)??!1})}function qj(){return Le(e=>e.abortInProgress)}function Kj(){const e=Le(o=>o.connect),t=Le(o=>o.connectionStatus),n=Ai(o=>o.load),r=Ya("/p/:projectId/s/:sessionId/readonly")[0];return A.useEffect(()=>{r||e()},[e,r]),A.useEffect(()=>{r||t==="connected"&&n()},[t,n,r]),{connectionStatus:t}}const Yj="modulepreload",Xj=function(e){return"/"+e},J_={},Z=function(t,n,r){let o=Promise.resolve();if(n&&n.length>0){let u=function(f){return Promise.all(f.map(p=>Promise.resolve(p).then(m=>({status:"fulfilled",value:m}),m=>({status:"rejected",reason:m}))))};document.getElementsByTagName("link");const c=document.querySelector("meta[property=csp-nonce]"),d=(c==null?void 0:c.nonce)||(c==null?void 0:c.getAttribute("nonce"));o=u(n.map(f=>{if(f=Xj(f),f in J_)return;J_[f]=!0;const p=f.endsWith(".css"),m=p?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${f}"]${m}`))return;const x=document.createElement("link");if(x.rel=p?"stylesheet":Yj,p||(x.as="script"),x.crossOrigin="",x.href=f,d&&x.setAttribute("nonce",d),document.head.appendChild(x),p)return new Promise((y,w)=>{x.addEventListener("load",y),x.addEventListener("error",()=>w(new Error(`Unable to preload CSS for ${f}`)))})}))}function l(u){const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=u,window.dispatchEvent(c),!c.defaultPrevented)throw u}return o.then(u=>{for(const c of u||[])c.status==="rejected"&&l(c.reason);return t().catch(l)})},Qj=[{key:"color-bg-primary",category:"background",label:"Primary Background",defaultValue:"13 17 23"},{key:"color-bg-secondary",category:"background",label:"Secondary Background",defaultValue:"22 27 34"},{key:"color-bg-tertiary",category:"background",label:"Tertiary Background",defaultValue:"33 38 45"},{key:"color-primary",category:"surface",label:"Primary Surface",defaultValue:"10 10 10"},{key:"color-secondary",category:"surface",label:"Secondary Surface",defaultValue:"20 20 20"},{key:"color-text-primary",category:"text",label:"Primary Text",defaultValue:"139 148 158"},{key:"color-text-secondary",category:"text",label:"Secondary Text",defaultValue:"139 148 158"},{key:"color-text-muted",category:"text",label:"Muted Text",defaultValue:"72 79 88"},{key:"color-accent-primary",category:"accent",label:"Primary Accent",defaultValue:"88 166 255"},{key:"color-accent-success",category:"accent",label:"Success Accent",defaultValue:"63 185 80"},{key:"color-accent-warning",category:"accent",label:"Warning Accent",defaultValue:"210 153 34"},{key:"color-accent-error",category:"accent",label:"Error Accent",defaultValue:"248 81 73"},{key:"color-border",category:"border",label:"Border",defaultValue:"48 53 60"}],Jj=[{id:"system",name:"System",tokens:{}},{id:"dark",name:"Dark",tokens:{"color-bg-primary":"13 17 23","color-bg-secondary":"22 27 34","color-bg-tertiary":"33 38 45","color-primary":"10 10 10","color-secondary":"20 20 20","color-text-primary":"255 255 255","color-text-secondary":"139 148 158","color-text-muted":"72 79 88","color-accent-primary":"88 166 255","color-accent-success":"63 185 80","color-accent-warning":"210 153 34","color-accent-error":"248 81 73","color-border":"48 53 60"}},{id:"light",name:"Light",tokens:{"color-bg-primary":"255 255 255","color-bg-secondary":"250 251 252","color-bg-tertiary":"243 244 246","color-primary":"245 245 245","color-secondary":"229 229 229","color-text-primary":"15 23 42","color-text-secondary":"30 41 59","color-text-muted":"100 116 139","color-accent-primary":"37 99 235","color-accent-success":"22 163 74","color-accent-warning":"217 119 6","color-accent-error":"220 38 38","color-border":"203 213 225"}},{id:"monokai",name:"Monokai",tokens:{"color-bg-primary":"39 40 34","color-bg-secondary":"30 31 28","color-bg-tertiary":"62 61 50","color-primary":"30 31 28","color-secondary":"45 46 39","color-text-primary":"248 248 242","color-text-secondary":"207 207 194","color-text-muted":"117 113 94","color-accent-primary":"102 217 239","color-accent-success":"166 226 46","color-accent-warning":"230 219 116","color-accent-error":"249 38 114","color-border":"73 72 62"}},{id:"dracula",name:"Dracula",tokens:{"color-bg-primary":"40 42 54","color-bg-secondary":"33 34 44","color-bg-tertiary":"68 71 90","color-primary":"30 31 41","color-secondary":"44 46 61","color-text-primary":"248 248 242","color-text-secondary":"230 230 230","color-text-muted":"98 114 164","color-accent-primary":"189 147 249","color-accent-success":"80 250 123","color-accent-warning":"255 184 108","color-accent-error":"255 85 85","color-border":"68 71 90"}},{id:"nord",name:"Nord",tokens:{"color-bg-primary":"46 52 64","color-bg-secondary":"59 66 82","color-bg-tertiary":"67 76 94","color-primary":"46 52 64","color-secondary":"59 66 82","color-text-primary":"236 239 244","color-text-secondary":"229 233 240","color-text-muted":"76 86 106","color-accent-primary":"129 161 193","color-accent-success":"163 190 140","color-accent-warning":"235 203 139","color-accent-error":"191 97 106","color-border":"76 86 106"}}],$S={tokens:Qj,presets:Jj},zS=$S.tokens,Gr=$S.presets;function Z_(){try{const e=localStorage.getItem("openfox:userPresets");if(e)return JSON.parse(e)}catch{}return[]}const Yt=qn((e,t)=>({currentPreset:"dark",basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,userPresets:Z_(),followSystemTheme:!0,isSystem:!1,applySavedTheme:()=>{const{getSavedTheme:n,applyPreset:r,applyTokens:o}=t(),l=n();if(l)try{const u=JSON.parse(l);u.preset&&u.tokens?(r(u.preset),e({basePreset:u.preset}),o(u.tokens)):u.preset?r(u.preset):u.tokens&&o(u.tokens)}catch{r("dark")}else r("dark")},applyPreset:n=>{if(Gr.find(o=>o.id===n))if(n==="system"){const l=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";e({basePreset:"system",currentPreset:l,customTokens:{},isCustom:!1,isCustomizing:!1,isSystem:!0}),t().applyTheme()}else e({currentPreset:n,basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,isSystem:!1}),t().applyTheme()},startCustomizing:()=>{var o;const{currentPreset:n}=t(),r=((o=Gr.find(l=>l.id===n))==null?void 0:o.tokens)??{};e({basePreset:n,customTokens:{...r},isCustom:!0,isCustomizing:!0})},setCustomToken:(n,r)=>{e(o=>({customTokens:{...o.customTokens,[n]:r}})),t().applyTheme()},cancelCustomizing:()=>{t().applyPreset(t().basePreset||t().currentPreset)},saveCustomTheme:()=>{const{customTokens:n}=t();t().saveTheme(JSON.stringify({tokens:n})).catch(()=>{}),e({isCustomizing:!1})},applyTokens:n=>{e({customTokens:n,isCustom:!0,isCustomizing:!1}),t().applyTheme()},getActiveTheme:()=>{var u,c;const{basePreset:n,customTokens:r,isCustom:o}=t();if(o&&n)return{...((u=Gr.find(f=>f.id===n))==null?void 0:u.tokens)??{},...r};if(o)return{...zS.reduce((d,f)=>({...d,[f.key]:f.defaultValue}),{}),...r};const l=Gr.find(d=>d.id===t().currentPreset);return(l==null?void 0:l.tokens)??((c=Gr[0])==null?void 0:c.tokens)??{}},applyTheme:()=>{if(typeof document>"u")return;const n=t().getActiveTheme(),r=document.documentElement;Object.entries(n).forEach(([o,l])=>{r.style.setProperty(`--${o}`,l)})},getSavedTheme:()=>{try{const n=localStorage.getItem("openfox:theme");if(!n)return null;if(n[0]!=="{")return JSON.stringify({preset:n});const r=JSON.parse(n);if(r.preset)return JSON.stringify({preset:r.preset});if(r.tokens)return JSON.stringify({tokens:r.tokens})}catch{return null}return null},saveTheme:async n=>{localStorage.setItem("openfox:theme",n);const{useSettingsStore:r}=await Z(async()=>{const{useSettingsStore:o}=await Promise.resolve().then(()=>Xf);return{useSettingsStore:o}},void 0);await r.getState().setSetting(Pe.DISPLAY_THEME,n)},clearCustomTheme:()=>{localStorage.removeItem("openfox:theme"),e({isCustom:!1,isCustomizing:!1,basePreset:""})},setFollowSystemTheme:n=>{e({followSystemTheme:n}),Z(async()=>{const{useSettingsStore:r,SETTINGS_KEYS:o}=await Promise.resolve().then(()=>Xf);return{useSettingsStore:r,SETTINGS_KEYS:o}},void 0).then(({useSettingsStore:r,SETTINGS_KEYS:o})=>{r.getState().setSetting(o.DISPLAY_FOLLOW_SYSTEM_THEME,String(n))})},initSystemThemeListener:()=>{if(typeof window>"u")return()=>{};const n=window.matchMedia("(prefers-color-scheme: dark)"),r=l=>{const{followSystemTheme:u}=t();u&&(t().applyPreset(l?"dark":"light"),t().saveTheme(JSON.stringify({preset:l?"dark":"light"})))},o=l=>r(l.matches);return n.addEventListener("change",o),()=>n.removeEventListener("change",o)},reset:()=>{e({currentPreset:"dark",basePreset:"",customTokens:{},isCustom:!1,isCustomizing:!1,userPresets:[],followSystemTheme:!0})},addUserPreset:n=>{const{basePreset:r,customTokens:o,currentPreset:l}=t(),u={id:"custom-"+Date.now(),name:n,basePreset:r||l,tokens:{...o}},c=[...t().userPresets,u];e({userPresets:c}),t().saveUserPresets()},applyUserPreset:n=>{const r=t().userPresets[n];r&&(e({currentPreset:r.basePreset,basePreset:r.basePreset,customTokens:{...r.tokens},isCustom:!0,isCustomizing:!1}),t().applyTheme(),t().saveTheme(JSON.stringify({preset:r.basePreset,tokens:r.tokens})).catch(()=>{}))},deleteUserPreset:n=>{const r=t().userPresets.filter((o,l)=>l!==n);e({userPresets:r}),t().saveUserPresets()},loadUserPresets:()=>{e({userPresets:Z_()})},saveUserPresets:()=>{localStorage.setItem("openfox:userPresets",JSON.stringify(t().userPresets)),Z(async()=>{const{useSettingsStore:n}=await Promise.resolve().then(()=>Xf);return{useSettingsStore:n}},void 0).then(({useSettingsStore:n})=>{n.getState().setSetting(Pe.DISPLAY_USER_PRESETS,JSON.stringify(t().userPresets)).catch(()=>{})})}}));function Zj({canLoad:e,projectId:t,currentProjectId:n}){const r=Ut(u=>u.loadProject),o=Le(u=>u.listSessions),l=Le(u=>u.clearSession);A.useEffect(()=>{e&&t&&(n!==t&&r(t),o(t),l())},[e,t,n,r,o,l])}function eN({canLoad:e,projectId:t,sessionId:n,currentProjectId:r,currentSessionId:o}){const l=Le(f=>f.loadSession),u=Ut(f=>f.loadProject),c=Le(f=>f.listSessions),d=Le(f=>f.pendingSessionCreate);A.useEffect(()=>{e&&t&&r!==t&&u(t)},[e,t,r,u]),A.useEffect(()=>{e&&n&&o!==n&&l(n),e&&t&&c(t)},[e,n,o,l,c,d,t])}function tN({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 19l-7-7 7-7"})})}function HS({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M14 5l7 7m0 0l-7 7m7-7H3"})})}function nN({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15.172 7l-6.586 6.586a2 2 0 102.828 2.828l6.414-6.586a4 4 0 00-5.656-5.656l-6.415 6.585a6 6 0 108.486 8.486L20.5 13"})})}function rN({className:e="w-3 h-3 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 11H5m14 0a2 2 0 012 2v6a2 2 0 01-2 2H5a2 2 0 01-2-2v-6a2 2 0 012-2m14 0V9a2 2 0 00-2-2M5 11V9a2 2 0 012-2m0 0V5a2 2 0 012-2h6a2 2 0 012 2v2M7 7h10"})})}function Ia({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M9.5 3.25a2.25 2.25 0 1 1 3 2.122V6A2.5 2.5 0 0 1 10 8.5H6a1 1 0 0 0-1 1v1.128a2.251 2.251 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.5 0v1.836A2.493 2.493 0 0 1 6 7h4a1 1 0 0 0 1-1v-.628A2.25 2.25 0 0 1 9.5 3.25Zm-6 0a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Zm8.25-.75a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM4.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Z"})})}function Wr({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M5 13l4 4L19 7"})})}function Wn({className:e="w-3 h-3 text-text-muted",rotate:t}){return i.jsx("svg",{className:e,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,style:t!==void 0?{transform:`rotate(${t}deg)`}:void 0,children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})}function sN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",strokeWidth:"2"}),i.jsx("path",{d:"M5 15H4a2 2 0 01-2-2V4a2 2 0 012-2h9a2 2 0 012 2v1",strokeWidth:"2"})]})}function Op({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 16H6a2 2 0 01-2-2V6a2 2 0 012-2h8a2 2 0 012 2v2m-6 12h8a2 2 0 002-2v-8a2 2 0 00-2-2h-8a2 2 0 00-2 2v8a2 2 0 002 2z"})})}function iN({className:e="w-3 h-3"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})})}function Ip({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("circle",{cx:"12",cy:"5",r:"2"}),i.jsx("circle",{cx:"12",cy:"12",r:"2"}),i.jsx("circle",{cx:"12",cy:"19",r:"2"})]})}function Au({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"})})}function Al({className:e="w-5 h-5 text-accent-primary"}){return i.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M10 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"})})}function aN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 9V4.5M9 9H4.5M9 9L3.75 3.75M9 15v4.5M9 15H4.5M9 15l-5.25 5.25M15 9h4.5M15 9V4.5M15 9l5.25-5.25M15 15h4.5M15 15v4.5m0-4.5l5.25 5.25"})})}function oN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 8V4m0 0h4M4 4l5 5m11-1V4m0 0h-4m4 0l-5 5M4 16v4m0 0h4m-4 0l5-5m11 5l-5-5m5 5v-4m0 4h-4"})})}function lN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M8 0a8.2 8.2 0 0 1 .701.031C9.444.095 9.99.645 10.16 1.29l.288 1.107c.018.066.079.158.212.224.231.114.454.243.668.386.123.082.233.09.299.071l1.1-.303c.652-.18 1.37.008 1.755.653a8.043 8.043 0 0 1 .683 1.18c.227.568.096 1.26-.378 1.726l-.812.804a.312.312 0 0 0-.081.283c.024.166.04.335.04.507s-.016.341-.04.507a.312.312 0 0 0 .08.283l.813.804c.474.466.605 1.158.378 1.726a8.07 8.07 0 0 1-.683 1.18c-.385.645-1.103.833-1.755.653l-1.1-.303c-.066-.019-.176-.011-.299.071a5.1 5.1 0 0 1-.668.386c-.133.066-.194.158-.211.224l-.29 1.107c-.168.645-.714 1.196-1.458 1.26a8.094 8.094 0 0 1-1.402 0c-.744-.064-1.29-.615-1.458-1.26l-.29-1.107a.426.426 0 0 0-.211-.224 5.11 5.11 0 0 1-.668-.386c-.123-.082-.233-.09-.299-.071l-1.1.303c-.652.18-1.37-.008-1.755-.653a8.044 8.044 0 0 1-.683-1.18c-.227-.568-.096-1.26.378-1.726l.812-.804a.312.312 0 0 0 .081-.283A5.18 5.18 0 0 1 2.3 8c0-.172.016-.341.04-.507a.312.312 0 0 0-.08-.283l-.813-.804C.973 5.94.842 5.248 1.069 4.68c.181-.452.395-.882.683-1.18.385-.645 1.103-.833 1.755-.653l1.1.303c.066.019.176.011.299-.071.214-.143.437-.272.668-.386a.426.426 0 0 0 .211-.224l.29-1.107C6.009.645 6.556.095 7.299.03 7.53.01 7.764 0 8 0Zm0 5.5a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5Z"})})}function US({className:e="w-3 h-3"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}function cN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M17 16l4-4m0 0l-4-4m4 4H7m6 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h4a3 3 0 013 3v1"})})}function ev({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 6h16M4 12h16M4 18h16"})})}function FS({className:e="w-[18px] h-[18px]"}){return i.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[i.jsx("circle",{cx:"12",cy:"5",r:"1.5",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"12",r:"1.5",fill:"currentColor",stroke:"none"}),i.jsx("circle",{cx:"12",cy:"19",r:"1.5",fill:"currentColor",stroke:"none"})]})}function uN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("path",{d:"M6.5 3.5H3a1 1 0 0 0-1 1V13a1 1 0 0 0 1 1h8.5a1 1 0 0 0 1-1V9.5"}),i.jsx("path",{d:"M9.5 2h4.5v4.5"}),i.jsx("path",{d:"M14 2L7.5 8.5"})]})}function dN({className:e="w-3 h-3",color:t}){return i.jsx("svg",{className:e,fill:t??"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M8 5v14l11-7z"})})}function ni({className:e="w-3 h-3 text-accent-primary"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 4v16m8-8H4"})})}function hN({className:e="w-5 h-5"}){return i.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor",children:i.jsx("path",{fillRule:"evenodd",d:"M10 3a1 1 0 011 1v5h5a1 1 0 110 2h-5v5a1 1 0 11-2 0v-5H4a1 1 0 110-2h5V4a1 1 0 011-1z",clipRule:"evenodd"})})}function Mp({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15"})})}function fN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:[i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z"}),i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M15 12a3 3 0 11-6 0 3 3 0 016 0z"})]})}function mN({className:e="w-3 h-3 text-blue-400 animate-spin flex-shrink-0"}){return i.jsxs("svg",{"aria-label":"Session running",className:e,viewBox:"0 0 24 24",fill:"none",children:[i.jsx("title",{children:"Running"}),i.jsx("circle",{className:"opacity-30",cx:"12",cy:"12",r:"9",stroke:"currentColor",strokeWidth:"3"}),i.jsx("path",{d:"M21 12a9 9 0 00-9-9",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round"})]})}function VS({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{d:"M10.788 3.21c.448-1.077 1.976-1.077 2.424 0l2.082 5.007 5.404.433c1.164.093 1.636 1.545.749 2.305l-4.117 3.527 1.257 5.273c.271 1.136-.964 2.033-1.96 1.425L12 18.354 7.373 21.18c-.996.608-2.231-.29-1.96-1.425l1.257-5.273-4.117-3.527c-.887-.76-.415-2.212.749-2.305l5.404-.433 2.082-5.006z"})})}function GS({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M11.049 2.927c.3-.921 1.603-.921 1.902 0l1.519 4.674a1 1 0 00.95.69h4.915c.969 0 1.371 1.24.588 1.81l-3.976 2.888a1 1 0 00-.363 1.118l1.518 4.674c.3.922-.755 1.688-1.538 1.118l-3.976-2.888a1 1 0 00-1.176 0l-3.976 2.888c-.783.57-1.838-.197-1.538-1.118l1.518-4.674a1 1 0 00-.363-1.118l-3.976-2.888c-.784-.57-.38-1.81.588-1.81h4.914a1 1 0 00.951-.69l1.519-4.674z"})})}function WS({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("rect",{x:"3",y:"3",width:"10",height:"10",rx:"1"})})}function pN({className:e="w-3.5 h-3.5 shrink-0",color:t}){return i.jsx("svg",{className:e,fill:"none",stroke:t,viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z"})})}function gN({className:e="w-4 h-4"}){return i.jsxs("svg",{className:e,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[i.jsx("polyline",{points:"4 17 10 11 4 5"}),i.jsx("line",{x1:"12",y1:"19",x2:"20",y2:"19"})]})}function Xa({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16"})})}function bl({className:e="w-3.5 h-3.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})})}function xN({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})})}function Km({className:e="w-2.5 h-2.5"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"})})}function Qa({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 20 20",fill:"currentColor",children:i.jsx("path",{fillRule:"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",clipRule:"evenodd"})})}function qS({className:e="w-4 h-4"}){return i.jsx("svg",{className:e,viewBox:"0 0 16 16",fill:"currentColor",children:i.jsx("path",{d:"M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.55.55 0 0 1 0-.708z"})})}function yN({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"})})}function bN({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.663 17h4.673M12 3v1m6.364 1.636l-.707.707M21 12h-1M4 12H3m3.343-5.657l-.707-.707m2.828 9.9a5 5 0 117.072 0l-.548.547A3.374 3.374 0 0014 18.469V19a2 2 0 11-4 0v-.531c0-.895-.356-1.754-.988-2.386l-.548-.547z"})})}function tv({className:e="w-3.5 h-3.5 text-text-muted"}){return i.jsx("svg",{className:e,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9.75 17L9 20l-1 1h8l-1-1-.75-3M3 13h18M5 17h14a2 2 0 002-2V5a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"})})}function Ym(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}function nv(e,t){const n=Xt.ws;!n||n.readyState!==WebSocket.OPEN||n.send(JSON.stringify({id:Ym(),type:e,payload:t}))}const Ar=qn((e,t)=>({isOpen:!1,sessions:[],workdir:null,setOpen:n=>e({isOpen:n}),toggleOpen:()=>e(n=>({isOpen:!n.isOpen})),setWorkdir:n=>e({workdir:n}),fetchSessions:async n=>{if(!n){e({sessions:[]});return}try{const r=await we(`/api/terminals?projectId=${encodeURIComponent(n)}`);if(r.ok){const o=await r.json();e({sessions:o});const l=Xt.ws;if(l&&l.readyState===WebSocket.OPEN)for(const u of o)l.send(JSON.stringify({id:Ym(),type:"terminal.subscribe",payload:{sessionId:u.id}}))}}catch(r){console.error("Failed to fetch terminals:",r)}},createSession:async(n,r)=>{try{const o=await we("/api/terminals",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workdir:n??t().workdir??void 0,projectId:r})});if(o.ok){const l=await o.json();e(c=>({sessions:[...c.sessions,l]}));const u=Xt.ws;u&&u.readyState===WebSocket.OPEN&&u.send(JSON.stringify({id:Ym(),type:"terminal.subscribe",payload:{sessionId:l.id}}))}}catch(o){console.error("Failed to create terminal:",o)}},writeSession:(n,r)=>{nv("terminal.write",{sessionId:n,data:r})},resizeSession:(n,r,o)=>{nv("terminal.resize",{sessionId:n,cols:r,rows:o})},killSession:async n=>{try{(await we(`/api/terminals/${n}`,{method:"DELETE"})).ok&&e(o=>({sessions:o.sessions.filter(l=>l.id!==n)}))}catch(r){console.error("Failed to kill terminal:",r)}},handleMessage:n=>{switch(n.type){case"terminal.exit":{const{sessionId:r}=n.payload||{};r&&e(o=>{const l=o.sessions.filter(u=>u.id!==r);return l.length===0&&o.isOpen?{sessions:[],isOpen:!1}:{sessions:l}});break}}}}));Xt.subscribe(e=>{var t;(t=e.type)!=null&&t.startsWith("terminal.")&&Ar.getState().handleMessage(e)});const Ma={terminalToggle:{type:"double-press",key:"Control",threshold:300},quickAction:{type:"double-press",key:"Shift",threshold:300},agentSwitching:[{type:"chord",key:"1",modifiers:["ctrl"]},{type:"chord",key:"2",modifiers:["ctrl"]},{type:"chord",key:"3",modifiers:["ctrl"]},{type:"chord",key:"4",modifiers:["ctrl"]}]};function Xm(e){if(!e)return structuredClone(Ma);try{const t=JSON.parse(e);return{terminalToggle:t.terminalToggle??structuredClone(Ma.terminalToggle),quickAction:t.quickAction??structuredClone(Ma.quickAction),agentSwitching:t.agentSwitching??structuredClone(Ma.agentSwitching)}}catch{return structuredClone(Ma)}}function rv(e){return e.code.startsWith("Digit")?e.code.slice(-1):e.code.startsWith("Key")?e.code.slice(3).toLowerCase():e.key}function KS(e){if(e.type==="double-press")return`Double ${e.key==="Control"?"Ctrl":e.key==="Shift"?"Shift":e.key==="Alt"?"Alt":e.key==="Meta"?"Meta":e.key}`;const t=e.modifiers.map(r=>{switch(r){case"ctrl":return"Ctrl";case"meta":return"⌘";case"alt":return"Alt";case"shift":return"Shift"}}),n=e.key.length===1?e.key.toUpperCase():e.key;return[...t,n].join("+")}function _N(e){return e.type==="double-press"}function YS(e){return e.type==="chord"}function vN(e,t){return t.length===1&&/^[a-z]$/i.test(t)?e.code===`Key${t.toUpperCase()}`:t.length===1&&/^[0-9]$/.test(t)?e.code===`Digit${t}`:e.key.toLowerCase()===t.toLowerCase()}function XS(e,t){const n=t.modifiers.includes("ctrl"),r=t.modifiers.includes("meta"),o=t.modifiers.includes("alt"),l=t.modifiers.includes("shift");return vN(e,t.key)&&e.ctrlKey===n&&e.metaKey===r&&e.altKey===o&&e.shiftKey===l}function Pp(){const e=tn(t=>t.settings[Pe.KEYBINDINGS]);return Xm(e)}function SN(e,t,n){const r=A.useRef(0),o=A.useRef(t);o.current=t,A.useEffect(()=>{if(!e)return;const l=e.threshold??300,u=c=>{if(c.key!==e.key)return;const d=e.key==="Control",f=e.key==="Shift",p=e.key==="Alt",m=e.key==="Meta";if(!d&&c.ctrlKey||!f&&c.shiftKey||!p&&c.altKey||!m&&c.metaKey)return;const x=Date.now();x-r.current<l?(c.preventDefault(),c.stopPropagation(),o.current(),r.current=0):r.current=x};return window.addEventListener("keydown",u,n!=null&&n.capture?!0:void 0),()=>window.removeEventListener("keydown",u,n!=null&&n.capture?!0:void 0)},[e,n==null?void 0:n.capture])}function wN(e,t){const n=A.useRef(t);n.current=t,A.useEffect(()=>{if(!e)return;const r=o=>{XS(o,e)&&(o.preventDefault(),n.current())};return window.addEventListener("keydown",r),()=>window.removeEventListener("keydown",r)},[e])}function QS(e,t,n){SN(e&&_N(e)?e:void 0,t,n),wN(e&&YS(e)?e:void 0,t)}function CN(e,t,n){const r=A.useRef(n);r.current=n,A.useEffect(()=>{const o=l=>{for(let u=0;u<e.length;u++){const c=e[u];if(!c)continue;const d=t[u];if(d&&YS(c)&&XS(l,c)){l.preventDefault(),r.current(d.id);return}}};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[e,t])}var Ja=CS();const id=A.forwardRef(({icon:e,iconSize:t="w-3.5 h-3.5",className:n="",...r},o)=>i.jsx("button",{ref:o,type:"button",className:`p-1 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors ${n}`,...r,children:i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:e})})}));id.displayName="IconButton";const kN="M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z",Js=A.forwardRef((e,t)=>i.jsx(id,{ref:t,icon:kN,title:"Edit",...e}));Js.displayName="EditButton";const EN="M6 18L18 6M6 6l12 12",Bp=A.forwardRef((e,t)=>i.jsx(id,{ref:t,icon:EN,...e}));Bp.displayName="CloseButton";const jN={sm:"max-w-sm",md:"max-w-md",lg:"max-w-2xl",xl:"max-w-4xl",full:"max-w-[95vw] h-[90vh] flex-1"};function Ot({label:e,title:t,headerRight:n,size:r="md",minHeight:o,children:l,footer:u,className:c,onClose:d,isOpen:f,closeOnBackdropClick:p=!0,closeOnEscape:m=!0,showCloseButton:x=!0,scrollable:y=!0}){const[w,C]=A.useState(!1),v=f!==void 0,S=v?f:w,_=A.useCallback(()=>{v||C(!0)},[v]),b=A.useCallback(()=>{v||C(!1),d==null||d()},[v,d]);A.useEffect(()=>{if(!S||!m)return;const E=T=>{T.key==="Escape"&&(T.stopPropagation(),b())};return document.addEventListener("keydown",E),()=>document.removeEventListener("keydown",E)},[S,b,m]);const j=e&&(typeof e=="string"?i.jsx("button",{type:"button",onClick:_,className:c,children:e}):i.jsx("span",{onClick:_,className:c,style:{cursor:"pointer"},children:e}));return i.jsxs(i.Fragment,{children:[j,S&&(typeof document<"u"?Ja.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-center justify-center p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:p?b:void 0}),i.jsxs("div",{className:`relative w-full ${jN[r]} max-h-[90vh] bg-bg-secondary border border-border rounded shadow-xl flex flex-col`,children:[(t||n||x)&&i.jsxs("div",{className:"flex items-center justify-between px-4 py-3 border-b border-border",children:[t&&i.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:t}),i.jsxs("div",{className:"flex items-center gap-2 ml-auto",children:[n,x&&i.jsx(Bp,{onClick:b,"aria-label":"Close"})]})]}),i.jsx("div",{className:`p-4 flex-1 min-h-0${y?" overflow-y-auto":" overflow-hidden flex flex-col"}`,style:o?{minHeight:o}:void 0,children:l}),u&&i.jsx("div",{className:"px-4 py-3 border-t border-border",children:u})]})]}),document.body):null)]})}function NN({value:e,defaultUrl:t,disabled:n,onChange:r}){const o=e??t;return i.jsxs("div",{className:"relative",children:[i.jsx("select",{value:o,disabled:n,onChange:l=>{const u=l.target.value;r(u===t?null:u)},className:"appearance-none bg-bg-tertiary border border-border rounded px-1.5 pr-5 text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary disabled:opacity-40 cursor-pointer",style:{width:"60px"},children:Dj.map(({url:l,label:u})=>i.jsx("option",{value:l,title:u,children:u.split(" ")[0]},l))}),i.jsx(Wn,{className:"absolute right-0.5 top-1/2 -translate-y-1/2 w-3 h-3 pointer-events-none text-text-muted"})]})}const sv=[{key:"general",label:"General"},{key:"build",label:"Agent"},{key:"sub-agent",label:"Sub-agent"}];function TN(){const e=Ai(d=>d.settings),t=Ai(d=>d.update),n=Ai(d=>d.updateEvent),r=Ai(d=>d.updateAgentOverride),o=Ai(d=>d.load);A.useEffect(()=>{o()},[o]);const l=async()=>{await Oj()==="granted"&&t({...e,browserNotificationEnabled:!0})},u=(d,f,p,m)=>{d==="general"?n(f,{[p]:m}):r(d,f,{[p]:m})},c=(d,f,p)=>{d==="general"?n(f,{customSoundUrl:p}):r(d,f,{customSoundUrl:p})};return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Master Controls"}),i.jsx(iv,{label:"Sound notifications",description:"Play sounds when events occur",checked:e.soundEnabled,onChange:d=>t({...e,soundEnabled:d})}),i.jsx(iv,{label:"Browser notifications",description:"Show desktop notifications when the window is not focused",checked:e.browserNotificationEnabled,onChange:d=>{d&&typeof Notification<"u"&&Notification.permission!=="granted"?l():t({...e,browserNotificationEnabled:d})}}),typeof Notification<"u"&&Notification.permission==="denied"&&e.browserNotificationEnabled&&i.jsx("p",{className:"text-xs text-accent-error ml-6",children:"Browser notifications are blocked. Please enable them in your browser settings."})]}),i.jsxs("div",{className:"space-y-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Notification Settings"}),i.jsx("div",{className:"border border-border rounded overflow-hidden",children:i.jsxs("table",{className:"w-full text-sm",children:[i.jsx("thead",{className:"sticky top-0 bg-bg-tertiary",children:i.jsxs("tr",{className:"border-b border-border",children:[i.jsx("th",{className:"text-left px-3 py-2 text-text-primary font-medium w-40",children:"Event"}),sv.map(d=>i.jsx("th",{className:"text-center px-2 py-2 text-text-primary font-medium",children:d.label},d.key))]})}),i.jsx("tbody",{children:Lj.map(d=>i.jsxs("tr",{className:"border-b border-border last:border-b-0 hover:bg-bg-secondary/50",children:[i.jsx("td",{className:"px-3 py-2",children:i.jsx("div",{className:"text-text-primary text-xs",children:d.label})}),sv.map(f=>{const p=PS(e,d.key,f.key==="general"?void 0:f.key),m=IS[d.key];return i.jsx("td",{className:"px-2 py-2 align-top",children:i.jsxs("div",{className:"flex flex-col items-center gap-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("label",{className:"flex items-center gap-1 text-text-secondary",children:i.jsx("input",{type:"checkbox",checked:p.soundEnabled,onChange:x=>u(f.key,d.key,"soundEnabled",x.target.checked),disabled:!e.soundEnabled,className:"rounded border-border",title:"Sound"})}),i.jsx("label",{className:"flex items-center gap-1 text-text-secondary",children:i.jsx("input",{type:"checkbox",checked:p.browserNotification,onChange:x=>u(f.key,d.key,"browserNotification",x.target.checked),disabled:!e.browserNotificationEnabled,className:"rounded border-border",title:"Browser"})})]}),p.soundEnabled&&e.soundEnabled&&i.jsx(NN,{value:p.customSoundUrl,defaultUrl:m,disabled:!e.soundEnabled,onChange:x=>c(f.key,d.key,x)})]})},f.key)})]},d.key))})]})})]})]})}function iv({label:e,description:t,checked:n,onChange:r}){return i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer group",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary group-hover:text-accent-primary transition-colors",children:e}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:t})]}),i.jsx("div",{className:"flex-shrink-0 pt-0.5",children:i.jsx("div",{className:`relative w-9 h-5 rounded-full transition-colors ${n?"bg-accent-primary":"bg-bg-tertiary border border-border"}`,onClick:o=>{o.preventDefault(),r(!n)},children:i.jsx("div",{className:`absolute top-0.5 w-4 h-4 rounded-full bg-white shadow transition-transform ${n?"translate-x-4":"translate-x-0.5"}`})})})]})}const et=A.forwardRef(({variant:e="secondary",size:t="md",className:n="",children:r,...o},l)=>{const u="rounded font-medium transition-colors disabled:opacity-50 disabled:cursor-not-allowed",c={primary:"bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40",secondary:"bg-bg-tertiary text-text-primary hover:bg-border",danger:"bg-accent-error text-white hover:bg-accent-error/80"},d={sm:"px-1.5 py-1 text-xs",md:"px-3 py-1.5 text-sm",lg:"px-4 py-2 text-base"};return i.jsx("button",{ref:l,className:`${u} ${c[e]} ${d[t]} ${n}`,...o,children:r})});et.displayName="Button";async function av(e,t,n){try{const r=await we(e,t);return r.ok?(await n(),{success:!0}):{success:!1,error:(await r.json()).error}}catch{return{success:!1,error:"Network error"}}}const kn=qn((e,t)=>({defaults:[],userItems:[],projectItems:[],items:[],selectedDirectory:null,diagnostics:[],loading:!1,fetchSkills:async()=>{e({loading:!0});try{const r=await(await we("/api/skills")).json();e({defaults:r.defaults??[],userItems:r.userItems??[],projectItems:r.projectItems??[],items:r.items??[],selectedDirectory:r.selectedDirectory??null,diagnostics:r.diagnostics??[],loading:!1})}catch{e({loading:!1})}},toggleSkill:async n=>{try{const o=await(await we(`/api/skills/${n}/toggle`,{method:"POST"})).json();e(l=>({defaults:l.defaults.map(u=>u.id===n?{...u,enabled:o.enabled}:u),userItems:l.userItems.map(u=>u.id===n?{...u,enabled:o.enabled}:u),projectItems:l.projectItems.map(u=>u.id===n?{...u,enabled:o.enabled}:u),items:l.items.map(u=>u.id===n?{...u,enabled:o.enabled}:u)}))}catch{}},fetchSkill:async n=>{try{const r=await we(`/api/skills/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await we(`/api/skills/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createSkill:async(n,r)=>{const o=await ti("POST","/api/skills",{...n,destination:r});return o.success&&await t().fetchSkills(),o},updateSkill:async(n,r)=>{const o=await ti("PUT",`/api/skills/${n}`,r);return o.success&&await t().fetchSkills(),o},deleteSkill:async n=>{try{const r=await we(`/api/skills/${n}`,{method:"DELETE"}),o=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:o.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateSkill:async(n,r)=>rd(`/api/skills/${n}/duplicate`,()=>t().fetchSkills(),r),selectDirectory:async n=>av("/api/skills/library",{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})},t().fetchSkills),removeDirectory:async()=>{await we("/api/skills/library",{method:"DELETE"}),await t().fetchSkills()},installSkill:async n=>{const r=new FormData;r.append("packageName",n.packageName),r.append("paths",JSON.stringify(n.files.map(o=>o.path)));for(const o of n.files)r.append("files",o.file,o.file.name);return av("/api/skills/install",{method:"POST",body:r},t().fetchSkills)}}));function ad(){const[e,t]=A.useState({id:null,type:null}),n=A.useCallback(l=>t({id:l,type:"delete"}),[]),r=A.useCallback(()=>t({id:null,type:null}),[]),o=A.useCallback((l,u)=>e.id===l&&e.type===u,[e.id,e.type]);return{requestDelete:n,clearConfirm:r,isConfirming:o}}function $p({onConfirm:e,onCancel:t}){return i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("button",{onClick:e,className:"px-1.5 py-0.5 rounded text-xs hover:opacity-90 transition-colors bg-accent-error/20 text-accent-error hover:bg-accent-error/30",children:"Delete"}),i.jsx("button",{onClick:t,className:"px-1.5 py-0.5 rounded text-text-muted text-xs hover:bg-bg-primary transition-colors",children:"Cancel"})]})}function zp({onClick:e}){return i.jsx("button",{onClick:e,className:"p-1.5 rounded hover:bg-bg-primary text-text-muted hover:text-accent-error transition-colors",title:"Delete",children:i.jsx(Xa,{})})}function Lu({onClick:e}){return i.jsx("button",{onClick:e,className:"p-1.5 rounded hover:bg-bg-primary text-text-muted hover:text-text-primary transition-colors",title:"Duplicate",children:i.jsx(Op,{})})}function Dr({label:e,value:t,onChange:n,placeholder:r,readOnly:o,hint:l,mono:u}){return i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:[e,l&&i.jsx("span",{className:"text-text-muted ml-1",children:l})]}),i.jsx("input",{value:t,onChange:c=>n(c.target.value),readOnly:o,placeholder:r,className:`w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary ${u?"font-mono":""} ${o?"opacity-60":""}`})]})}function AN({onCancel:e,onSave:t,saving:n,saveDisabled:r}){return i.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[i.jsx(et,{variant:"secondary",onClick:e,children:"Cancel"}),i.jsx(et,{variant:"primary",onClick:t,disabled:n||r,children:n?"Saving...":"Save"})]})}function od({message:e}){return i.jsx("div",{className:"text-accent-error text-sm px-3 py-2 bg-accent-error/10 rounded",children:e})}function JS({description:e,onNew:t,loading:n,hasItems:r,children:o}){return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:e}),i.jsx("div",{className:"flex items-center gap-2 flex-shrink-0 ml-3",children:i.jsx(et,{variant:"primary",size:"sm",onClick:t,children:"+ New"})})]}),n&&!r?i.jsx("div",{className:"text-text-muted text-sm",children:"Loading..."}):r?o:i.jsx("div",{className:"text-text-muted text-sm",children:"No items defined."})]})}function ZS({label:e="Custom",children:t}){return i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsx("div",{className:"space-y-2",children:t})]})}function e1({description:e,onNew:t,newLabel:n="+ New"}){return i.jsxs("div",{className:"flex items-center justify-between mb-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:e}),i.jsx("div",{className:"flex items-center gap-2 flex-shrink-0 ml-3",children:i.jsx(et,{variant:"primary",size:"sm",onClick:t,children:n})})]})}function Hp({loading:e,hasItems:t,loadingLabel:n,emptyLabel:r,children:o}){return e&&!t?i.jsx("div",{className:"text-text-muted text-sm",children:n}):t?i.jsx("div",{className:"space-y-4",children:o}):r?i.jsx("div",{className:"text-text-muted text-sm",children:r}):null}function t1({name:e,id:t,nameLabel:n="Name",idLabel:r="ID",namePlaceholder:o="My Item",idPlaceholder:l="my-item",nameHint:u,readOnlyId:c=!1,readOnlyHint:d="(read-only)",onNameChange:f,onIdChange:p}){return i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(Dr,{label:n,value:e,onChange:f,placeholder:o,hint:u}),i.jsx(Dr,{label:r,value:t,onChange:p,readOnly:c,placeholder:l,hint:c?d:void 0,mono:!0})]})}function n1(e={}){const{initialData:t={}}=e,[n,r]=A.useState("list"),[o,l]=A.useState(null),[u,c]=A.useState(""),[d,f]=A.useState(!1),[p,m]=A.useState(t),x=A.useCallback(()=>{m(t),c(""),l(null)},[t]),y=A.useCallback(S=>{r(S),S==="list"&&x()},[x]),w=A.useCallback(S=>{m(_=>typeof S=="function"?S(_):S)},[]),C=A.useCallback((S,_={})=>{l(S),r("edit"),m({..._}),c("")},[]),v=A.useCallback(()=>{l(null),r("edit"),m(t),c("")},[t]);return{view:n,editingId:o,formError:u,saving:d,formData:p,setView:y,setEditingId:l,setFormError:c,setFormData:w,setSaving:f,resetForm:x,startEditing:C,startNew:v}}const LN={sm:"w-4 h-4",md:"w-8 h-8",lg:"w-12 h-12"};function ri({size:e="md",className:t=""}){return i.jsx("div",{className:`animate-spin border-2 border-accent-primary border-t-transparent rounded-full ${LN[e]} ${t}`})}function DN({text:e,...t}){return i.jsxs("div",{className:"text-center",children:[i.jsx(ri,{...t,className:"mx-auto mb-4"}),e&&i.jsx("div",{className:"text-text-secondary",children:e})]})}function r1(e){return e.split(/[\\/]/).filter(Boolean).pop()??""}function RN(e){const t=e.includes("\\")?"\\":"/";return e.split(/[\\/]/).filter(Boolean).map((n,r,o)=>({name:n,path:t==="/"?"/"+o.slice(0,r+1).join("/"):o.slice(0,r+1).join("\\")+(r===0?"\\":"")}))}function s1(e,t=28){if(e.length<=t)return e;const n=e.split("/").filter(Boolean);if(n.length<=2)return e;const r=n[0],o=n[n.length-1],l=n.slice(1,-1).join("/"),u=t-r.length-o.length-3;if(u<0)return e;const c=l.slice(0,Math.floor(u/2)),d=l.slice(-Math.ceil(u/2));return`/${r}/${c}...${d}/${o}`}const Mi=A.forwardRef(({className:e="",...t},n)=>i.jsx("input",{ref:n,className:`bg-bg-tertiary border border-border rounded px-3 py-2 text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 focus:border-accent-primary ${e}`,...t}));Mi.displayName="Input";function ld({onSelect:e,onClose:t,initialPath:n}){const[r,o]=A.useState(null),[l,u]=A.useState(!0),[c,d]=A.useState(""),[f,p]=A.useState(-1),m=A.useRef(null),x=A.useRef(null),y=A.useCallback(async b=>{u(!0),d(""),p(-1);try{const j=b?`/api/directories?path=${encodeURIComponent(b)}`:"/api/directories",T=await(await we(j)).json();o(T)}catch(j){console.error("Failed to load directories:",j)}finally{u(!1)}},[]);A.useEffect(()=>{y(n)},[n,y]);const w=RN((r==null?void 0:r.current)??""),C=(r==null?void 0:r.directories.filter(b=>c===""||b.name.toLowerCase().includes(c.toLowerCase())))??[],v=[...!c&&(r!=null&&r.parent)?[{type:"parent",path:r.parent,name:".."}]:[],...C.map(b=>({type:"dir",path:b.path,name:b.name}))];A.useEffect(()=>{p(c?0:-1)},[c,C.length]),A.useEffect(()=>{if(f>=0&&x.current){const b=x.current.querySelector(`[data-index="${f}"]`);b==null||b.scrollIntoView({block:"nearest"})}},[f]);const S=b=>{var j;if(b.key==="ArrowDown")b.preventDefault(),p(E=>Math.min(E+1,v.length-1));else if(b.key==="ArrowUp")b.preventDefault(),p(E=>Math.max(E-1,0));else if(b.key==="Enter"){if(f<0||!v[f]||b.target instanceof HTMLElement&&b.target.dataset.select==="true")return;b.preventDefault(),b.shiftKey?y(v[f].path):e(v[f].path)}else b.key==="Escape"&&(d(""),(j=m.current)==null||j.focus())},_=i.jsx("div",{className:"flex flex-col gap-2",children:i.jsx("button",{onClick:t,className:"w-full text-center text-text-muted hover:text-text-secondary text-sm",children:"Cancel"})});return i.jsx(Ot,{isOpen:!0,onClose:t,title:"Select Folder",size:"lg",footer:_,scrollable:!1,children:i.jsxs("div",{ref:x,className:"flex flex-col flex-1 min-h-0 -m-4",onKeyDown:S,children:[i.jsxs("div",{className:"flex-shrink-0 bg-bg-secondary border-b border-border",children:[r&&i.jsx("div",{className:"px-3 pt-3 pb-1",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[i.jsxs("div",{className:"flex items-center flex-wrap min-w-0",children:[w.map((b,j)=>i.jsxs("span",{className:"flex items-center shrink-0",children:[i.jsx("span",{className:"text-text-muted",children:"/"}),i.jsx("button",{onClick:()=>y(b.path),className:`px-1 ${j===w.length-1?"text-accent-primary font-medium":"text-text-secondary hover:text-accent-primary"}`,children:b.name})]},b.path)),w.length===0&&i.jsx("button",{onClick:()=>y("/"),className:"text-text-muted hover:text-accent-primary",children:"/"})]}),(r==null?void 0:r.current)&&i.jsx("button",{onClick:()=>e(r.current),className:"ml-auto shrink-0 px-4 py-2 text-sm font-medium rounded-lg bg-accent-primary text-text-primary hover:bg-accent-primary/90",children:"Select"})]})}),i.jsx("div",{className:"px-4 py-2",children:i.jsxs("div",{className:"relative",children:[i.jsx("span",{className:"absolute left-3 top-1/2 -translate-y-1/2 w-4 h-4 text-text-muted pointer-events-none flex items-center justify-center",children:i.jsx(bl,{})}),i.jsx(Mi,{autoFocus:!0,ref:m,value:c,onChange:b=>d(b.target.value),placeholder:"Filter directories...",className:"w-full pl-9"})]})})]}),i.jsx("div",{className:"flex-1 overflow-y-auto",children:l?i.jsx("div",{className:"p-8 text-center",children:i.jsx(ri,{size:"sm"})}):v.length===0?i.jsx("div",{className:"p-8 text-center text-text-muted text-sm",children:c?"No matching directories":"No subdirectories"}):i.jsx("div",{className:"divide-y divide-border",children:v.map((b,j)=>i.jsxs("div",{"data-index":j,className:`group flex items-center ${j===f?"bg-accent-primary/20":"hover:bg-bg-tertiary/50"}`,children:[i.jsxs("button",{onClick:()=>{y(b.path)},className:"flex-1 flex items-center gap-3 p-3 text-left min-w-0",tabIndex:-1,children:[b.type==="parent"?i.jsx(tN,{className:"w-5 h-5 text-text-muted shrink-0"}):i.jsx(Al,{className:"w-5 h-5 shrink-0"}),i.jsx("span",{className:"truncate",children:b.name}),b.type==="dir"&&i.jsx(Wn,{className:`w-5 h-5 text-text-muted shrink-0 ml-1 ${j===f?"opacity-100":"opacity-0 group-hover:opacity-100"}`,rotate:-90})]}),b.type==="dir"&&i.jsx("button",{"data-select":"true",tabIndex:j===f?0:-1,onClick:E=>{E.stopPropagation(),e(b.path)},className:`mr-2 shrink-0 px-4 py-2 text-sm font-medium rounded-lg bg-accent-primary text-text-primary hover:bg-accent-primary/90 ${j===f?"opacity-100":"opacity-0 group-hover:opacity-100"}`,"aria-label":`Select ${b.name}`,children:"Select"})]},b.path))})})]})})}function i1(e,t){if(!e||!t.some(n=>n.path==="SKILL.md"))throw new Error("Drop one folder containing SKILL.md.");return{packageName:e,files:t}}function ON(e){const t=[...e];if(!t.length)throw new Error("Choose one skill folder.");const n=new Set(t.map(o=>o.webkitRelativePath.split("/")[0]).filter(Boolean));if(n.size!==1)throw new Error("Choose exactly one skill folder.");const r=[...n][0];return i1(r,t.map(o=>({path:o.webkitRelativePath.slice(r.length+1),file:o})))}function IN(e){return new Promise((t,n)=>e.file(t,n))}async function a1(e,t=""){const n=e.createReader(),r=[];for(;;){const l=await new Promise((u,c)=>n.readEntries(u,c));if(!l.length)break;r.push(...l)}return(await Promise.all(r.map(async l=>{const u=t?`${t}/${l.name}`:l.name;return l.isDirectory?a1(l,u):[{path:u,file:await IN(l)}]}))).flat()}async function MN(e){const t=[...e.items].filter(r=>r.kind==="file").map(r=>{var o;return((o=r.webkitGetAsEntry)==null?void 0:o.call(r))??null}).filter(r=>!!r);if(t.length!==1||!t[0].isDirectory)throw new Error("Drop exactly one skill folder.");const n=t[0];return i1(n.name,await a1(n))}function PN({selectedDirectory:e,onSelect:t,onRemove:n,onRefresh:r,onInstall:o}){const[l,u]=A.useState(!1),[c,d]=A.useState(!1),[f,p]=A.useState(""),m=A.useRef(null);A.useEffect(()=>{var C;(C=m.current)==null||C.setAttribute("webkitdirectory","")},[]);const x=async C=>{if(!window.confirm("Skills may contain instructions and scripts. Select this folder for discovery without executing package content?"))return;const S=await t(C);if(S&&!S.success){p(S.error??"Cannot use selected folder.");return}u(!1)},y=async C=>{d(!0),p("");const v=await o(C);d(!1),v.success||p(v.error??"Failed to install skill package.")},w=async C=>{if(C.preventDefault(),!(!(e!=null&&e.available)||c))try{await y(await MN(C.dataTransfer))}catch(v){p(v instanceof Error?v.message:"Invalid skill folder.")}};return i.jsxs("section",{className:"mb-4 rounded border border-border bg-bg-tertiary/30 p-3",children:[i.jsxs("div",{className:"flex items-start justify-between gap-3",children:[i.jsxs("div",{className:"min-w-0",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Skills folder"}),i.jsx("p",{className:"mt-1 truncate text-xs text-text-muted",children:(e==null?void 0:e.configuredPath)??"No shared folder selected"})]}),i.jsxs("div",{className:"flex shrink-0 gap-2",children:[i.jsx(et,{variant:"secondary",onClick:()=>u(!0),children:"Change folder"}),e&&i.jsxs(i.Fragment,{children:[i.jsx(et,{variant:"secondary",onClick:r,children:"Refresh"}),e.custom&&i.jsx(et,{variant:"secondary",onClick:n,children:"Use default"})]})]})]}),i.jsx("button",{type:"button",disabled:!(e!=null&&e.available)||c,onClick:()=>{var C;return(C=m.current)==null?void 0:C.click()},onDragOver:C=>C.preventDefault(),onDrop:w,className:"mt-3 w-full rounded border border-dashed border-border px-4 py-5 text-center text-xs text-text-secondary disabled:cursor-not-allowed disabled:opacity-50",children:e!=null&&e.available?c?"Installing skill package...":"Drop one skill folder here":"Choose a skills folder to enable drag and drop."}),i.jsx("input",{ref:m,hidden:!0,type:"file",multiple:!0,onChange:C=>{var v;if((v=C.target.files)!=null&&v.length)try{y(ON(C.target.files))}catch(S){p(S instanceof Error?S.message:"Invalid skill folder.")}finally{C.target.value=""}}}),f&&i.jsx("p",{className:"mt-2 text-xs text-error",children:f}),l&&i.jsx(ld,{initialPath:(e==null?void 0:e.resolvedPath)??void 0,onSelect:x,onClose:()=>u(!1)})]})}function Du({enabled:e,onClick:t,label:n}){return i.jsx("button",{type:"button",role:"switch","aria-checked":e,"aria-label":n,onClick:t,className:`relative inline-flex h-6 w-11 items-center rounded-full transition-colors ${e?"bg-accent-primary":"bg-bg-tertiary"}`,children:i.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${e?"translate-x-6":"translate-x-1"}`})})}function o1({isBuiltIn:e,isConfirmingDelete:t,onView:n,onEdit:r,onDuplicate:o,onDelete:l,actions:u,children:c}){return i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:c}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[e&&n&&i.jsx("button",{onClick:n,className:"p-1.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors",title:"View",children:i.jsx(Au,{})}),i.jsx(Lu,{onClick:o}),!e&&r&&i.jsx(Js,{onClick:r}),!e&&l&&(t?i.jsx($p,{onConfirm:()=>{l==null||l()},onCancel:()=>{}}):i.jsx(zp,{onClick:()=>l==null?void 0:l()})),u]})]})}function BN({id:e,name:t,description:n,isBuiltIn:r,isConfirmingDelete:o,onView:l,onEdit:u,onDuplicate:c,onDelete:d,actions:f}){return i.jsxs(o1,{isBuiltIn:r,isConfirmingDelete:o,onView:l,onEdit:u,onDuplicate:c,onDelete:d,actions:f,children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-primary text-sm font-medium",children:t}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:e})]}),n&&i.jsx("p",{className:"text-text-muted text-xs truncate",children:n})]})}function ov({skill:e,isBuiltIn:t,isConfirmingDelete:n,onView:r,onEdit:o,onDuplicate:l,onDelete:u,onToggle:c,readOnly:d=!1}){return i.jsx(BN,{id:e.id,name:e.name,description:e.description,isBuiltIn:t,isConfirmingDelete:n,onView:r,onEdit:d?void 0:o,onDuplicate:l,onDelete:d?void 0:u,actions:i.jsx(Du,{enabled:e.enabled,onClick:c,label:`Activation for ${e.name}`})})}function $N({skill:e,deleting:t,error:n,onClose:r,onConfirm:o}){return i.jsxs(Ot,{isOpen:e!==null,onClose:r,title:"Delete skill?",size:"sm",closeOnBackdropClick:!t,closeOnEscape:!t,footer:i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(et,{variant:"secondary",onClick:r,disabled:t,children:"Cancel"}),i.jsx(et,{variant:"danger",onClick:o,disabled:t,children:t?"Deleting...":"Delete skill"})]}),children:[i.jsx("p",{className:"text-sm font-medium text-text-primary",children:"This skill files will be deleted."}),i.jsx("p",{className:"mt-2 text-sm text-text-secondary",children:"The full skill folder and all its contents will be removed."}),e&&i.jsx("p",{className:"mt-3 break-all font-mono text-xs text-text-muted",children:e.path}),n&&i.jsx("p",{className:"mt-3 text-sm text-error",children:n})]})}function zN({isOpen:e}){const t=kn(te=>te.defaults),n=kn(te=>te.userItems),r=kn(te=>te.projectItems),o=kn(te=>te.items),l=kn(te=>te.selectedDirectory),u=kn(te=>te.diagnostics),c=kn(te=>te.loading),d=kn(te=>te.fetchSkills),f=kn(te=>te.fetchSkill),p=kn(te=>te.fetchDefaultContent),m=kn(te=>te.createSkill),x=kn(te=>te.updateSkill),y=kn(te=>te.deleteSkill),w=kn(te=>te.selectDirectory),C=kn(te=>te.removeDirectory),v=kn(te=>te.installSkill),S=kn(te=>te.toggleSkill),[_,b]=A.useState(null),[j,E]=A.useState(!1),[T,D]=A.useState(""),{view:L,editingId:O,formError:P,saving:G,formData:W,setView:I,setEditingId:H,setFormError:V,setFormData:U,setSaving:Q}=n1(),{clearConfirm:X}=ad();A.useEffect(()=>{e&&(d(),I("list"),H(null),X())},[e,d,X]);const z=(te,re,ge,_e)=>{U({name:_e??te.metadata.name,id:ge??te.metadata.id,description:te.metadata.description??"",version:te.metadata.version??"1.0.0",prompt:te.prompt,isReadOnly:re,destination:"user"})},R=async te=>{if(t.some(ge=>ge.id===te)){const ge=await p(te);if(!ge)return;z(ge,!0),H(te),V(""),I("edit")}else{const ge=await f(te);if(!ge)return;z(ge,!0),H(te),V(""),I("edit")}},M=async te=>{const ge=t.some(Be=>Be.id===te)?await p(te):await f(te);if(!ge)return;const _e=`${te}-copy-${Date.now()}`;z(ge,!1,_e,`${ge.metadata.name} (copy)`),H(null),V(""),I("edit")},q=()=>{U({name:"",id:"",description:"",version:"1.0.0",prompt:"",isReadOnly:!1,destination:"user"}),I("edit")},B=async te=>{const re=await f(te);re&&(z(re,!1),H(te),V(""),I("edit"))},ee=async()=>{if(!_)return;E(!0),D("");const te=await y(_.id);if(E(!1),!te.success){D(te.error??"Failed to delete skill.");return}await d(),b(null),X()},J=async()=>{const te=O??W.id;if(!te||!W.name||!W.prompt){V("Name, ID, and prompt are required.");return}Q(!0),V("");const re={metadata:{id:te,name:W.name,description:W.description,version:W.version},prompt:W.prompt},ge=O?await x(O,re):await m(re,W.destination);if(Q(!1),!ge.success){V(ge.error??"Failed to save skill.");return}I("list")},ne=te=>{U(re=>({...re,name:te})),O||U(re=>({...re,id:te.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}))},K=W.isReadOnly;if(L==="edit")return i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"flex justify-between items-center mb-3",children:[i.jsx("h2",{className:"text-lg font-semibold text-text-primary",children:K?W.name:O?"Edit Skill":"New Skill"}),i.jsx("button",{onClick:()=>I("list"),className:"text-text-muted hover:text-text-primary",children:"Cancel"})]}),P&&i.jsx(od,{message:P}),i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsx(t1,{name:W.name,id:W.id,nameLabel:"Name",idLabel:"ID",namePlaceholder:"My Skill",idPlaceholder:"my-skill",readOnlyId:!0,onNameChange:ne,onIdChange:()=>{}}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(Dr,{label:"Description",value:W.description,onChange:te=>U(re=>({...re,description:te})),placeholder:"What this skill does...",readOnly:K}),i.jsx(Dr,{label:"Version",value:W.version,onChange:te=>U(re=>({...re,version:te})),placeholder:"1.0.0",readOnly:K})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Prompt"}),i.jsx("textarea",{value:W.prompt,onChange:te=>U(re=>({...re,prompt:te.target.value})),readOnly:K,placeholder:"The system prompt for this skill...",className:"h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),!O&&i.jsxs("div",{className:"flex items-center gap-2 pt-2",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Save to:"}),i.jsxs("select",{value:W.destination,onChange:te=>U(re=>({...re,destination:te.target.value})),className:"px-2 py-1 bg-bg-tertiary border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"user",children:"Global config"}),i.jsx("option",{value:"project",children:"Project (.openfox/)"})]})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 border-t border-border flex-shrink-0",children:[i.jsx(et,{variant:"secondary",onClick:()=>I("list"),children:"Cancel"}),K?i.jsx(et,{variant:"primary",onClick:()=>{U(te=>({...te,name:te.name+" (copy)",id:`${O}-copy-${Date.now()}`,isReadOnly:!1})),H(null)},children:"Duplicate & Customize"}):i.jsx(et,{variant:"primary",onClick:J,disabled:G||!W.name||!W.id||!W.prompt,children:G?"Saving...":"Save"})]})]});function F({items:te}){return te.map(re=>i.jsx(ov,{skill:re,isBuiltIn:!1,isConfirmingDelete:!1,onView:()=>R(re.id),onEdit:()=>B(re.id),onDuplicate:()=>M(re.id),onDelete:()=>{D(""),b(re)},onToggle:()=>S(re.id),readOnly:re.readOnly},re.id))}return i.jsxs("div",{children:[i.jsx($N,{skill:_,deleting:j,error:T,onClose:()=>{j||b(null)},onConfirm:ee}),i.jsx(PN,{selectedDirectory:l,onSelect:w,onRemove:C,onRefresh:d,onInstall:v}),u.length>0&&i.jsx("div",{className:"mb-3 rounded border border-accent-warning/40 bg-accent-warning/10 p-2 text-xs text-text-secondary",children:u.map((te,re)=>i.jsx("p",{children:te},`${te}-${re}`))}),i.jsx(e1,{description:"Skills provide domain-specific knowledge that agents can load on demand.",onNew:q}),i.jsxs(Hp,{loading:c,hasItems:t.length>0||n.length>0,loadingLabel:"Loading skills...",emptyLabel:"No skills created yet.",children:[t.length>0&&i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Built-in"}),i.jsx("div",{className:"space-y-2",children:t.map(te=>i.jsx(ov,{skill:te,isBuiltIn:!0,isConfirmingDelete:!1,onView:()=>R(te.id),onDuplicate:()=>M(te.id),onToggle:()=>S(te.id)},te.id))})]}),n.length>0&&i.jsx(ZS,{children:i.jsx(F,{items:n})}),o.some(te=>["global-shared","selected","project-shared"].includes(te.source))&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Shared"}),i.jsx("div",{className:"space-y-2",children:i.jsx(F,{items:o.filter(te=>["global-shared","selected","project-shared"].includes(te.source))})})]}),r.length>0&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Project"}),i.jsx("div",{className:"space-y-2",children:i.jsx(F,{items:r})})]})]})]})}function Ll(){const e=tn(o=>o.settings),t=tn(o=>o.loading),n=tn(o=>o.getSetting),r=tn(o=>o.setSetting);return{settings:e,loading:t,getSetting:n,setSetting:r}}function HN({isOpen:e}){const{settings:t,loading:n,getSetting:r,setSetting:o}=Ll(),l=t[Pe.GLOBAL_INSTRUCTIONS]??"",u=n[Pe.GLOBAL_INSTRUCTIONS]??!1,[c,d]=A.useState(l),[f,p]=A.useState(!1),[m,x]=A.useState(!1);A.useEffect(()=>{e&&r(Pe.GLOBAL_INSTRUCTIONS)},[e,r]),A.useEffect(()=>{d(l),p(!1)},[l]);const y=async()=>{x(!0),await o(Pe.GLOBAL_INSTRUCTIONS,c),x(!1),p(!1)},w=()=>{d(l),p(!1)},C=u||m;return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-2",children:"Global Instructions"}),i.jsx("p",{className:"text-sm text-text-muted mb-2",children:"These instructions are injected into every prompt, regardless of project."}),i.jsx("textarea",{value:c,onChange:v=>{d(v.target.value),p(!0)},placeholder:"Enter global instructions that apply to all projects...",className:"w-full min-h-80 px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:C})]}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(et,{variant:"secondary",onClick:w,disabled:!f,children:"Discard"}),i.jsx(et,{variant:"primary",onClick:y,disabled:!f||C,children:m?"Saving...":"Save"})]})]})}function UN(e){const t=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);if(t){const n=parseInt(t[1]??"0",16),r=parseInt(t[2]??"0",16),o=parseInt(t[3]??"0",16);return`${n} ${r} ${o}`}return e}function Ti(e){const t=e.split(" ").map(n=>parseInt(n,10));return t.length===3&&t.every(n=>!isNaN(n))?`#${t.map(n=>(n??0).toString(16).padStart(2,"0")).join("")}`:e}function FN({isOpen:e,isNew:t,basePresetId:n,presetName:r,initialTokens:o,onClose:l,onSave:u}){const[c,d]=A.useState(o),[f,p]=A.useState(r);A.useEffect(()=>{d(o),p(r)},[o,r]);const m=(v,S)=>{const _=S.startsWith("#")?UN(S):S;d(b=>({...b,[v]:_}))},x=()=>{u(f.trim()||"Untitled",{...c})},y=zS.reduce((v,S)=>{const _=S.category;return v[_]||(v[_]=[]),v[_].push(S),v},{}),w={background:"Backgrounds",surface:"Surfaces",text:"Text",accent:"Accents",border:"Border"},C=Gr.find(v=>v.id===n);return i.jsx(Ot,{isOpen:e,onClose:l,size:"lg",title:t?"New Theme":"Edit Theme",closeOnBackdropClick:!0,closeOnEscape:!0,footer:i.jsxs("div",{className:"flex gap-2 justify-end",children:[i.jsx("button",{type:"button",onClick:l,className:"px-4 py-2 border border-border rounded text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:"Cancel"}),i.jsx("button",{type:"button",onClick:x,className:"px-4 py-2 bg-accent-primary text-white rounded hover:bg-accent-primary/80 transition-colors text-sm",children:"Save"})]}),children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"Name"}),i.jsx("input",{type:"text",value:f,onChange:v=>p(v.target.value),className:"w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm text-text-primary focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),!t&&i.jsxs("div",{className:"text-xs text-text-muted",children:["Based on ",i.jsx("span",{className:"text-text-primary",children:C==null?void 0:C.name})]}),Object.entries(y).map(([v,S])=>i.jsxs("div",{className:"space-y-3",children:[i.jsx("h4",{className:"text-xs font-medium text-text-muted uppercase",children:w[v]??v}),i.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 gap-3",children:S.map(_=>i.jsxs("div",{className:"flex flex-col gap-1",children:[i.jsx("label",{htmlFor:_.key,className:"text-xs text-text-muted",children:_.label}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"color",id:_.key,value:Ti(c[_.key]??_.defaultValue),onChange:b=>m(_.key,b.target.value),className:"w-8 h-8 rounded cursor-pointer border border-border bg-transparent flex-shrink-0"}),i.jsx("input",{type:"text",value:c[_.key]??_.defaultValue,onChange:b=>m(_.key,b.target.value),className:"flex-1 min-w-0 px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary font-mono focus:outline-none focus:ring-1 focus:ring-accent-primary"})]})]},_.key))})]},v))]})})}function VN(){const[e,t]=A.useState(null),n=Yt(b=>b.currentPreset),r=Yt(b=>b.isCustom),o=Yt(b=>b.basePreset),l=Yt(b=>b.isSystem),u=Yt(b=>b.applyPreset),c=Yt(b=>b.applyUserPreset),d=Yt(b=>b.deleteUserPreset),f=Yt(b=>b.saveTheme),p=Yt(b=>b.userPresets),m=b=>{b==="system"?(u(b),f(JSON.stringify({preset:"system"})).catch(()=>{})):(u(b),f(JSON.stringify({preset:b})).catch(()=>{}))},x=b=>{c(b)},y=b=>{const j=Gr.find(E=>E.id===b);j&&t({type:"new",presetIndex:p.length,basePresetId:b,presetName:j.name+" Copy",tokens:{...j.tokens}})},w=b=>{const j=p[b];if(!j)return;const E=Gr.find(D=>D.id===j.basePreset),T=E?{...E.tokens,...j.tokens}:j.tokens;t({type:"edit",presetIndex:b,basePresetId:j.basePreset,presetName:j.name,tokens:T})},C=(b,j)=>{if(!e)return;const E=[...p];if(e.type==="new"){const T={id:"custom-"+Date.now(),name:b,basePreset:e.basePresetId,tokens:j};E.push(T);const D=E.length-1;Yt.setState({userPresets:E}),Yt.getState().saveUserPresets(),Yt.getState().applyUserPreset(D)}else{const T=E[e.presetIndex];T&&(E[e.presetIndex]={...T,name:b,tokens:j}),Yt.setState({userPresets:E}),Yt.getState().saveUserPresets(),Yt.getState().applyUserPreset(e.presetIndex)}t(null)},v=()=>{t(null)},S=(b,j)=>{b.stopPropagation(),d(j)},_=l?"system":r?o:n;return i.jsxs("div",{className:"space-y-4",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Theme"}),i.jsx("div",{className:"flex flex-wrap gap-2 pb-2",children:Gr.map(b=>{const j=b.id===_&&!r;return i.jsxs("div",{className:"relative group",children:[i.jsxs("button",{type:"button",onClick:()=>m(b.id),className:`flex flex-col items-center gap-2 px-3 py-3 rounded-lg border transition-colors min-w-[80px] ${j?"border-accent-primary bg-bg-tertiary text-text-primary":"border-border bg-bg-secondary text-text-muted hover:border-text-muted"}`,children:[i.jsx("div",{className:"w-8 h-8 rounded border flex items-center justify-center",style:{backgroundColor:b.id==="system"?"transparent":Ti(b.tokens["color-bg-primary"]??"#000"),borderColor:Ti(b.tokens["color-border"]??"#000")},children:b.id==="system"?i.jsx("div",{className:"w-4 h-4 rounded-full",style:{background:"linear-gradient(135deg, #000 50%, #fff 50%)"}}):i.jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:Ti(b.tokens["color-text-primary"]??"#fff")}})}),i.jsx("span",{className:"text-xs",children:b.name})]}),b.id!=="system"&&i.jsx("button",{type:"button",onClick:E=>{E.stopPropagation(),y(b.id)},className:"absolute top-1 right-1 w-6 h-6 rounded bg-bg-tertiary border border-border flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:border-text-muted",title:"Create custom theme based on this",children:i.jsx("span",{className:"text-xs",children:"✎"})})]},b.id)})}),p.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("h4",{className:"text-xs font-medium text-text-muted uppercase",children:"My Themes"}),i.jsx("div",{className:"grid grid-cols-5 gap-2",children:p.map((b,j)=>{const E=Gr.find(D=>D.id===b.basePreset),T=E?{...E.tokens,...b.tokens}:b.tokens;return i.jsxs("div",{className:"relative group",children:[i.jsxs("button",{type:"button",onClick:()=>x(j),className:`w-full flex flex-col items-center gap-2 px-3 py-3 rounded-lg border transition-colors ${r&&o===b.basePreset&&_===b.basePreset?"border-accent-primary bg-bg-tertiary text-text-primary":"border-border bg-bg-secondary text-text-muted hover:border-text-muted"}`,children:[i.jsx("div",{className:"w-8 h-8 rounded border flex items-center justify-center",style:{backgroundColor:Ti(T["color-bg-primary"]??"#000"),borderColor:Ti(T["color-border"]??"#000")},children:i.jsx("div",{className:"w-3 h-3 rounded-full",style:{backgroundColor:Ti(T["color-text-primary"]??"#fff")}})}),i.jsx("span",{className:"text-xs truncate w-full text-center",children:b.name})]}),i.jsx("button",{type:"button",onClick:D=>{D.stopPropagation(),w(j)},className:"absolute top-1 right-1 w-6 h-6 rounded bg-bg-tertiary border border-border flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-10 hover:border-text-muted",title:"Edit",children:i.jsx("span",{className:"text-xs",children:"✎"})}),i.jsx("button",{type:"button",onClick:D=>S(D,j),className:"absolute -top-1 -left-1 w-5 h-5 rounded-full bg-accent-error text-white flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity z-20",children:i.jsx(Qa,{className:"w-3 h-3"})})]},b.id)})})]}),e&&i.jsx(FN,{isOpen:!0,isNew:e.type==="new",presetIndex:e.presetIndex,basePresetId:e.basePresetId,presetName:e.presetName,initialTokens:e.tokens,onClose:v,onSave:C})]})}function GN(){return i.jsx(VN,{})}function WN(){const{settings:e,loading:t,getSetting:n,setSetting:r}=Ll(),o=t[Pe.DISPLAY_SHOW_THINKING]??!1,l=e[Pe.DISPLAY_MAX_VISIBLE_ITEMS]??"300",[u,c]=A.useState(l);A.useEffect(()=>{n(Pe.DISPLAY_MAX_VISIBLE_ITEMS)},[n]),A.useEffect(()=>{c(l)},[l]);const d=()=>{const w=parseInt(u,10),C=isNaN(w)||w<0?0:Math.min(w,9999);c(String(C)),r(Pe.DISPLAY_MAX_VISIBLE_ITEMS,String(C))},f=[{key:Pe.DISPLAY_SHOW_THINKING,label:"Show thinking blocks",description:"Display AI reasoning content in the feed"},{key:Pe.DISPLAY_SHOW_VERBOSE_TOOL_OUTPUT,label:"Show expanded tool output",description:"Always show full tool call details instead of compact view"},{key:Pe.DISPLAY_SHOW_STATS,label:"Show stats bar",description:"Display model, tokens, and timing information"},{key:Pe.DISPLAY_SHOW_AGENT_DEFINITIONS,label:"Show agent definitions",description:"Display agent definition injections in the feed"},{key:Pe.DISPLAY_SHOW_WORKFLOW_BARS,label:"Show workflow bars",description:"Display workflow start and end markers"},{key:Pe.DISPLAY_SHOW_SYNTAX_HIGHLIGHTING,label:"Show syntax highlighting",description:"Nicer formatting, but costly - applies to code blocks, diffs, and file previews"}],p=Object.fromEntries(f.map(w=>[w.key,e[w.key]??"true"])),[m,x]=A.useState(()=>Object.fromEntries(f.map(w=>[w.key,p[w.key]==="true"])));A.useEffect(()=>{f.forEach(w=>n(w.key))},[n]),A.useEffect(()=>{x(Object.fromEntries(f.map(w=>[w.key,p[w.key]==="true"])))},[JSON.stringify(p)]);const y=async w=>{const C=String(!m[w]);x(v=>({...v,[w]:!v[w]})),await r(w,C)};return o?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading..."}):i.jsxs("div",{className:"space-y-6",children:[i.jsx(GN,{}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-4",children:"Feed Display"}),i.jsx("div",{className:"space-y-4",children:f.map(({key:w,label:C,description:v})=>i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary font-medium",children:C}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:v})]}),i.jsx("button",{type:"button",onClick:()=>y(w),className:`relative inline-flex h-6 w-11 flex-shrink-0 items-center rounded-full transition-colors ${m[w]?"bg-accent-primary":"bg-bg-tertiary"}`,children:i.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition-transform ${m[w]?"translate-x-6":"translate-x-1"}`})})]},w))})]}),i.jsx("div",{className:"border-t border-border pt-4",children:i.jsxs("label",{className:"flex items-center justify-between gap-3",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-primary font-medium",children:"Max visible items"}),i.jsx("div",{className:"text-xs text-text-muted mt-0.5",children:"Keep only the last N items in the feed. Set to 0 to show all."})]}),i.jsx("input",{type:"number",min:0,max:9999,value:u,onChange:w=>{const C=w.target.value.replace(/[^0-9]/g,"");c(C)},onBlur:d,onKeyDown:w=>{w.key==="Enter"&&d()},className:"w-20 px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded text-right"})]})})]})}function qN(e){try{return new RegExp(e),!0}catch{return!1}}function KN({value:e,onChange:t}){const[n,r]=A.useState({}),o=(d,f)=>{const p=e.patterns.map((m,x)=>x===d?{...m,...f}:m);t({...e,patterns:p})},l=d=>{const f=e.patterns.filter((p,m)=>m!==d);t({...e,patterns:f})},u=()=>{const d={field:"content",pattern:"",action:"retry",active:!0};t({...e,patterns:[...e.patterns,d]})},c=(d,f)=>{r(p=>({...p,[d]:f.length>0&&!qN(f)})),o(d,{pattern:f})};return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-sm font-medium text-text-primary",children:"Max Retries Per Turn"}),i.jsx("input",{type:"number",min:1,max:100,value:e.maxRetriesPerTurn,onChange:d=>{const f=parseInt(d.target.value,10),p=isNaN(f)?10:Math.max(1,Math.min(100,f));t({...e,maxRetriesPerTurn:p})},className:"mt-1 block w-24 px-2 py-1 text-sm bg-bg-secondary border border-border rounded"})]}),e.patterns.length===0?i.jsx("p",{className:"text-sm text-text-muted",children:"No retry patterns configured."}):i.jsxs("table",{className:"w-full text-sm",children:[i.jsx("thead",{children:i.jsxs("tr",{className:"text-left text-text-muted border-b border-border",children:[i.jsx("th",{className:"pb-2 pr-2 w-12",children:"Active"}),i.jsx("th",{className:"pb-2 pr-2",children:"Field"}),i.jsx("th",{className:"pb-2 pr-2",children:"Pattern"}),i.jsx("th",{className:"pb-2 pr-2",children:"Action"}),i.jsx("th",{className:"pb-2 w-8"})]})}),i.jsx("tbody",{children:e.patterns.map((d,f)=>i.jsxs("tr",{className:"border-b border-border",children:[i.jsx("td",{className:"py-2 pr-2",children:i.jsx("input",{type:"checkbox",checked:d.active,onChange:()=>o(f,{active:!d.active}),className:"accent-accent-primary","aria-label":`Toggle pattern ${f+1}`})}),i.jsx("td",{className:"py-2 pr-2",children:i.jsxs("select",{value:d.field,onChange:p=>o(f,{field:p.target.value}),className:"px-2 py-1 bg-bg-secondary border border-border rounded text-sm",children:[i.jsx("option",{value:"content",children:"content"}),i.jsx("option",{value:"thinking",children:"thinking"}),i.jsx("option",{value:"both",children:"both"})]})}),i.jsx("td",{className:"py-2 pr-2",children:i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("input",{type:"text",value:d.pattern,onChange:p=>c(f,p.target.value),placeholder:"regex pattern",className:"flex-1 px-2 py-1 bg-bg-secondary border border-border rounded text-sm font-mono"}),d.pattern.length>0&&i.jsx("span",{className:`text-sm ${n[f]?"text-red-500":"text-green-500"}`,children:n[f]?"✗":"✓"})]})}),i.jsx("td",{className:"py-2 pr-2 text-text-muted",children:"retry"}),i.jsx("td",{className:"py-2",children:i.jsx("button",{onClick:()=>l(f),title:"Remove pattern",className:"text-text-muted hover:text-red-500 transition-colors",children:"×"})})]},f))})]}),i.jsx(et,{variant:"secondary",onClick:u,children:"Add Pattern"})]})}function YN({onClose:e}){const[,t]=Gn(),{settings:n,getSetting:r,setSetting:o}=Ll(),l=n[Pe.DISPLAY_SHOW_OPEN_IN_EDITOR]==="true",u=n[Pe.LLM_DYNAMIC_SYSTEM_PROMPT]==="true",c=n[Pe.CACHE_WARMING]==="true",[d,f]=A.useState({openInEditor:l,dynamicPrompt:u,cacheWarming:c}),[p,m]=A.useState({patterns:[],maxRetriesPerTurn:10});A.useEffect(()=>{f({openInEditor:l,dynamicPrompt:u,cacheWarming:c})},[l,u,c]),A.useEffect(()=>{r(Pe.DISPLAY_SHOW_OPEN_IN_EDITOR),r(Pe.LLM_DYNAMIC_SYSTEM_PROMPT),r(Pe.CACHE_WARMING),r(Pe.RETRY_PATTERNS)},[r]),A.useEffect(()=>{const S=n[Pe.RETRY_PATTERNS];if(S)try{m(JSON.parse(S))}catch{}},[n]);const x=A.useCallback(S=>{m(S),o(Pe.RETRY_PATTERNS,JSON.stringify(S))},[o]),y=()=>{const S=!d.openInEditor;f(_=>({..._,openInEditor:S})),o(Pe.DISPLAY_SHOW_OPEN_IN_EDITOR,String(S))},w=()=>{const S=!d.dynamicPrompt;f(_=>({..._,dynamicPrompt:S})),o(Pe.LLM_DYNAMIC_SYSTEM_PROMPT,String(S))},C=()=>{const S=!d.cacheWarming;f(_=>({..._,cacheWarming:S})),o(Pe.CACHE_WARMING,String(S))};function v(){e(),t("/onboarding")}return i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-1",children:"Onboarding"}),i.jsx("p",{className:"text-sm text-text-muted mb-4",children:"Manage providers, workdir and vision fallback."}),i.jsx(et,{variant:"secondary",onClick:v,children:"Launch Onboarding"})]}),i.jsx("hr",{className:"border-border"}),i.jsx("div",{children:i.jsx(rm,{title:'Show "Open in VSCode" links',description:"Display a link on file reads to open the file directly in VS Code.",enabled:d.openInEditor,onToggle:y})}),i.jsx("hr",{className:"border-border"}),i.jsx(rm,{title:"Speculative Cache Warming",description:"On first keystroke in an empty session, prefill the LLM KV cache to reduce time-to-first-token.",enabled:d.cacheWarming,onToggle:C,boldTitle:!0}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Auto-Retry Patterns"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:'Define regex patterns that, when matched against LLM responses mid-stream, trigger an automatic retry with a "continue" prompt. The content that triggered the match is preserved in the chat feed.'}),i.jsx(KN,{value:p,onChange:x})]}),i.jsx("hr",{className:"border-border"}),i.jsx(rm,{title:"Dynamic System Prompt",description:"Rebuild the system prompt on every turn. Recommended value: off.",enabled:d.dynamicPrompt,onToggle:w,boldTitle:!0})]})}function rm({title:e,description:t,enabled:n,onToggle:r,boldTitle:o}){return i.jsxs("label",{className:"flex items-start justify-between gap-3 cursor-pointer",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:`text-sm ${o?"font-medium":""} text-text-primary`,children:e}),i.jsx("div",{className:"text-sm text-text-muted mt-0.5",children:t})]}),i.jsx("div",{className:"flex-shrink-0",children:i.jsx(Du,{enabled:n,onClick:r})})]})}function XN({label:e,binding:t,isRecording:n,onStartRecording:r,onBindingRecorded:o,onCancelRecording:l}){const u=A.useRef(null),c=A.useRef(0),d=A.useRef("");return A.useEffect(()=>{if(!n)return;const f=new Set(["Control","Shift","Alt","Meta"]);let p=[];const m=y=>{if(y.preventDefault(),y.stopPropagation(),y.key==="Escape"){l();return}if(f.has(y.key)){y.ctrlKey&&!p.includes("ctrl")&&p.push("ctrl"),y.metaKey&&!p.includes("meta")&&p.push("meta"),y.altKey&&!p.includes("alt")&&p.push("alt"),y.shiftKey&&!p.includes("shift")&&p.push("shift");return}if(p.length>0||y.ctrlKey||y.metaKey||y.altKey||y.shiftKey){const v=[...p];y.ctrlKey&&!v.includes("ctrl")&&v.push("ctrl"),y.metaKey&&!v.includes("meta")&&v.push("meta"),y.altKey&&!v.includes("alt")&&v.push("alt"),y.shiftKey&&!v.includes("shift")&&v.push("shift"),o({type:"chord",key:rv(y),modifiers:v});return}const w=Date.now(),C=rv(y);if(C===d.current&&w-c.current<400){o({type:"double-press",key:C,threshold:300});return}c.current=w,d.current=C},x=y=>{y.key==="Control"&&(p=p.filter(w=>w!=="ctrl")),y.key==="Shift"&&(p=p.filter(w=>w!=="shift")),y.key==="Alt"&&(p=p.filter(w=>w!=="alt")),y.key==="Meta"&&(p=p.filter(w=>w!=="meta"))};return window.addEventListener("keydown",m,!0),window.addEventListener("keyup",x,!0),()=>{window.removeEventListener("keydown",m,!0),window.removeEventListener("keyup",x,!0)}},[n,o,l]),i.jsxs("div",{ref:u,className:`flex items-center justify-between px-3 py-2 rounded transition-colors ${n?"bg-accent-primary/10 ring-1 ring-accent-primary":"hover:bg-bg-tertiary"}`,children:[i.jsx("span",{className:"text-sm text-text-primary",children:e}),i.jsx("div",{className:"flex items-center gap-2",children:n?i.jsx("span",{className:"text-xs text-accent-primary font-medium animate-pulse",children:"Press shortcut..."}):i.jsx("button",{type:"button",onClick:r,className:"px-2 py-0.5 text-xs font-mono bg-bg-tertiary text-text-secondary rounded border border-border hover:border-accent-primary hover:text-accent-primary transition-colors",children:KS(t)})})]})}function QN(){const{settings:e,loading:t,setSetting:n}=Ll(),r=e[Pe.KEYBINDINGS],o=t[Pe.KEYBINDINGS]??!1,l=Xm(r),[u,c]=A.useState(null),d=[{id:"terminalToggle",label:"Toggle Terminal",binding:l.terminalToggle},{id:"quickAction",label:"Quick Action",binding:l.quickAction},...l.agentSwitching.map((x,y)=>({id:`agentSwitching.${y}`,label:`Switch to Agent ${y+1}`,binding:x}))],f=x=>{c(x)},p=A.useCallback(x=>{if(!u)return;const y=Xm(r),w=structuredClone(y);if(u.startsWith("agentSwitching.")){const C=parseInt(u.split(".")[1],10);w.agentSwitching[C]=x}else u==="terminalToggle"?w.terminalToggle=x:u==="quickAction"&&(w.quickAction=x);c(null),n(Pe.KEYBINDINGS,JSON.stringify(w))},[u,r,n]),m=()=>{n(Pe.KEYBINDINGS,JSON.stringify(Ma))};return i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"Keyboard Shortcuts"}),i.jsx("button",{type:"button",onClick:m,disabled:o,className:"text-xs text-text-muted hover:text-text-primary px-2 py-1 rounded hover:bg-bg-tertiary transition-colors disabled:opacity-30",children:"Reset to defaults"})]}),o?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading..."}):i.jsx("div",{className:"space-y-1",children:d.map(x=>i.jsx(XN,{label:x.label,binding:x.binding,isRecording:u===x.id,onStartRecording:()=>f(x.id),onBindingRecorded:p,onCancelRecording:()=>c(null)},x.id))})]})}function lv(e){return e>=1e3?`~${(e/1e3).toFixed(1)}K`:`~${e}`}function sm(e,t,n,r=250){const o=A.useRef(!0);A.useEffect(()=>{if(o.current){o.current=!1;return}const l=setTimeout(()=>{n(t,e)},r);return()=>clearTimeout(l)},[e,t,r,n])}function cv(){const[e,t]=A.useState("Test"),[n,r]=A.useState(""),[o,l]=A.useState(!1),u=A.useCallback(async c=>{t("Testing..."),r(""),l(!1);try{const d=await c();d.success?(t("Success"),l(!0),setTimeout(()=>{t("Test"),l(!1)},3e3)):(r(d.error??"Test failed"),t("Test"))}catch{r("Connection error"),t("Test")}},[]);return[e,n,o,u]}function JN(){const{settings:e,getSetting:t,setSetting:n}=Ll(),[r,o]=A.useState(""),[l,u]=A.useState(""),[c,d]=A.useState(""),[f,p]=A.useState("");sm(l,Pe.SEARCH_TAVILY_API_KEY,n),sm(c,Pe.SEARCH_SEARXNG_URL,n),sm(f,Pe.SEARCH_SEARXNG_API_KEY,n);const[m,x,y,w]=cv(),[C,v,S,_]=cv();A.useEffect(()=>{t(Pe.SEARCH_ENGINE),t(Pe.SEARCH_TAVILY_API_KEY),t(Pe.SEARCH_SEARXNG_URL),t(Pe.SEARCH_SEARXNG_API_KEY),t(Pe.TOOLS_USE_RTK)},[t]),A.useEffect(()=>{e[Pe.SEARCH_ENGINE]!==void 0&&(o(e[Pe.SEARCH_ENGINE]??""),u(e[Pe.SEARCH_TAVILY_API_KEY]??""),d(e[Pe.SEARCH_SEARXNG_URL]??""),p(e[Pe.SEARCH_SEARXNG_API_KEY]??""))},[e]);function b(ae){o(ae),n(Pe.SEARCH_ENGINE,ae)}function j(){w(async()=>(await we("/api/search/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({engine:"tavily",tavilyApiKey:l||void 0})})).json())}function E(){_(async()=>(await we("/api/search/test",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({engine:"searxng",searxngUrl:c||void 0,searxngApiKey:f||void 0})})).json())}const[T,D]=A.useState("checking");A.useEffect(()=>{we("/api/tools/rtk-check").then(ae=>ae.json()).then(ae=>D(ae.available?"available":"unavailable")).catch(()=>D("unavailable"))},[]);const[L,O]=A.useState([]);A.useEffect(()=>{t(Pe.TOOLS_SHELL),we("/api/tools/shells").then(ae=>ae.json()).then(ae=>O(ae.shells??[])).catch(()=>O([]))},[t]);const P=e[Pe.TOOLS_SHELL]||"cmd",[G,W]=A.useState([]),[I,H]=A.useState(!0),[V,U]=A.useState(!1),[Q,X]=A.useState(new Set),[z,R]=A.useState(new Set),[M,q]=A.useState({name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:""}),[B,ee]=A.useState(""),[J,ne]=A.useState(!1),{requestDelete:K,clearConfirm:F,isConfirming:te}=ad(),re=A.useCallback(async()=>{try{const ze=await(await we("/api/mcp/servers")).json();W(ze.servers??[])}catch{}H(!1)},[]);A.useEffect(()=>{re()},[re]),A.useEffect(()=>{const ae=()=>re();return window.addEventListener("mcp-servers-changed",ae),()=>window.removeEventListener("mcp-servers-changed",ae)},[re]);const ge=ae=>{X(ze=>{const fe=new Set(ze);return fe.has(ae)?fe.delete(ae):fe.add(ae),fe})},_e=async()=>{if(ee(""),!M.name){ee("Name is required");return}if(M.transport==="stdio"&&!M.command){ee("Command is required for stdio transport");return}if(M.transport==="http"&&!M.url){ee("URL is required for HTTP transport");return}ne(!0);try{const ae=ue=>{const oe={};return ue.split(`
|
|
60
|
+
`).filter(Boolean).forEach(Oe=>{const tt=Oe.indexOf("=");tt>0&&(oe[Oe.slice(0,tt).trim()]=Oe.slice(tt+1).trim())}),oe},ze={name:M.name,transport:M.transport};if(M.transport==="stdio"){ze.command=M.command;const ue=M.args?M.args.split(" ").filter(Boolean):void 0;ue&&ue.length>0&&(ze.args=ue);const oe=ae(M.env);Object.keys(oe).length>0&&(ze.env=oe)}else{ze.url=M.url;const ue=ae(M.headers);Object.keys(ue).length>0&&(ze.headers=ue)}const fe=await we("/api/mcp/servers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(ze)});if(!fe.ok){const ue=await fe.json();throw new Error(ue.error??"Failed to add server")}U(!1),q({name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:""}),await re()}catch(ae){ee(ae instanceof Error?ae.message:String(ae))}finally{ne(!1)}},Be=async ae=>{try{const ze=await we(`/api/mcp/servers/${encodeURIComponent(ae)}`,{method:"DELETE"});if(!ze.ok){const fe=await ze.json();console.error("Failed to remove MCP server:",fe.error)}F(),await re()}catch(ze){console.error("Failed to remove MCP server:",ze)}},He=async(ae,ze,fe)=>{try{const ue=await we(`/api/mcp/servers/${encodeURIComponent(ae)}/tools/${encodeURIComponent(ze)}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({enabled:fe})});if(!ue.ok){const oe=await ue.json();console.error("Failed to toggle tool:",oe.error)}await re()}catch(ue){console.error("Failed to toggle tool:",ue)}},Ne=ae=>{switch(ae){case"connected":return"text-accent-success";case"error":return"text-accent-error";default:return"text-text-muted"}},je=ae=>{switch(ae){case"connected":return"●";case"error":return"●";default:return"○"}};return i.jsxs("div",{className:"space-y-8",children:[i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Search Engine"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Configure a web search engine for the web_search tool."}),i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"Engine"}),i.jsx("div",{className:"flex gap-2",children:["","tavily","searxng"].map(ae=>i.jsx("button",{onClick:()=>b(ae),className:`px-3 py-1.5 rounded text-sm border transition-colors ${r===ae?"bg-accent-primary/10 border-accent-primary text-accent-primary":"border-border text-text-muted hover:text-text-primary"}`,children:ae||"Off"},ae))})]}),r==="tavily"&&i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"Tavily API Key"}),i.jsxs("div",{className:"flex gap-2 items-center",children:[i.jsx(Mi,{type:"password",value:l,onChange:ae=>u(ae.target.value),placeholder:"tvly-...",className:"flex-1"}),i.jsx(et,{variant:"secondary",onClick:j,style:y?{color:"rgb(63, 185, 80)"}:void 0,children:m})]}),x&&i.jsx("p",{className:"text-xs text-red-500 mt-1",children:x}),i.jsxs("p",{className:"text-xs text-text-muted mt-1",children:["Get a free API key at"," ",i.jsx("a",{href:"https://app.tavily.com",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline",children:"tavily.com"})]})]}),r==="searxng"&&i.jsxs("div",{className:"space-y-3",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs font-medium text-text-primary mb-1",children:"SearXNG URL"}),i.jsx(Mi,{type:"url",value:c,onChange:ae=>d(ae.target.value),placeholder:"http://localhost:4000",className:"w-full"})]}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs font-medium text-text-primary mb-1",children:["API Key ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsx(Mi,{type:"password",value:f,onChange:ae=>p(ae.target.value),placeholder:"Optional API key",className:"w-full"})]}),i.jsx(et,{variant:"secondary",onClick:E,style:S?{color:"rgb(63, 185, 80)"}:void 0,children:C}),v&&i.jsx("p",{className:"text-xs text-red-500",children:v})]})]})]}),L.length>0&&i.jsxs(i.Fragment,{children:[i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Shell"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Shell used to run agent commands and integrated terminals. Git Bash gives the agent a Unix-like toolset (grep, sed, ls…) and usually works better than cmd.exe."}),i.jsx("div",{className:"flex gap-2",children:L.map(ae=>i.jsxs("button",{onClick:()=>n(Pe.TOOLS_SHELL,ae.id),disabled:!ae.available,title:ae.available?void 0:"Not found on this machine",className:`px-3 py-1.5 rounded text-sm border transition-colors ${P===ae.id?"bg-accent-primary/10 border-accent-primary text-accent-primary":ae.available?"border-border text-text-muted hover:text-text-primary":"border-border text-text-muted opacity-50 cursor-not-allowed"}`,children:[ae.label,!ae.available&&" (not found)"]},ae.id))}),i.jsx("p",{className:"text-xs text-text-muted mt-2",children:"Applies to new commands and newly opened terminals. Running terminals keep their current shell."})]})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Token Optimization"}),i.jsxs("p",{className:"text-sm text-text-muted mb-3",children:["Reduce token consumption by filtering command output through RTK. See the"," ",i.jsx("a",{href:"https://github.com/rtk-ai/rtk",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline",children:"README"})," ","for installation."]}),i.jsxs("div",{className:"flex items-center justify-between py-2",children:[i.jsx("div",{className:"flex-1",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-sm text-text-primary",children:"Enable RTK auto-rewrite"}),T==="checking"&&i.jsx("span",{className:"text-xs text-text-muted animate-pulse",children:"checking…"}),T==="available"&&i.jsx("span",{className:"text-xs text-accent-success",children:"● installed"}),T==="unavailable"&&i.jsx("span",{className:"text-xs text-accent-error",children:"○ not found"})]})}),i.jsx(Du,{enabled:e[Pe.TOOLS_USE_RTK]==="true",onClick:()=>n(Pe.TOOLS_USE_RTK,e[Pe.TOOLS_USE_RTK]==="true"?"false":"true")})]})]}),i.jsx("hr",{className:"border-border"}),i.jsxs("div",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-3",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:"MCP Servers"}),i.jsx(et,{variant:"primary",size:"sm",onClick:()=>U(!0),children:"+ Add Server"})]}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"MCP servers provide external tools that extend OpenFox's capabilities."}),i.jsx(Hp,{loading:I,hasItems:G.length>0,loadingLabel:"Loading MCP servers...",emptyLabel:"No MCP servers configured.",children:G.map(ae=>{var ze;return i.jsxs("div",{className:"rounded border border-border bg-bg-tertiary overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between p-3 cursor-pointer hover:bg-bg-primary/50 transition-colors",onClick:()=>ge(ae.name),children:[i.jsxs("div",{className:"flex items-center gap-2 min-w-0",children:[i.jsx("span",{className:`text-sm ${Ne(ae.status)}`,children:je(ae.status)}),i.jsx("span",{className:"text-sm font-medium text-text-primary",children:ae.name}),i.jsx("span",{className:"text-xs text-text-muted",children:ae.config.transport}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",ae.tools.length," tools)"]}),i.jsxs("span",{className:"text-xs text-text-muted",children:[lv(ae.estimatedTokens)," tokens"]})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[ae.status==="error"&&ae.error&&i.jsx("span",{className:"text-xs text-accent-error truncate max-w-[200px]",title:ae.error,children:ae.error}),i.jsx("span",{className:"text-xs text-text-muted",children:Q.has(ae.name)?"▲":"▼"})]})]}),Q.has(ae.name)&&i.jsxs("div",{className:"border-t border-border px-3 py-2 space-y-1.5",children:[ae.config.command&&i.jsxs("div",{className:"text-xs text-text-muted font-mono",children:[ae.config.command," ",((ze=ae.config.args)==null?void 0:ze.join(" "))??""]}),ae.config.url&&i.jsx("div",{className:"text-xs text-text-muted font-mono",children:ae.config.url}),ae.tools.length===0?i.jsx("div",{className:"text-xs text-text-muted",children:"No tools available"}):i.jsx("div",{className:"space-y-1",children:ae.tools.map(fe=>i.jsxs("div",{className:"py-1",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"min-w-0 flex-1 mr-2",children:[i.jsx("span",{className:"text-xs text-text-primary font-mono",children:fe.name}),fe.description&&fe.description.length>80?i.jsxs("button",{onClick:()=>{const ue=`${ae.name}:${fe.name}`;R(oe=>{const Oe=new Set(oe);return Oe.has(ue)?Oe.delete(ue):Oe.add(ue),Oe})},className:"inline-flex items-center gap-0.5 text-xs text-text-muted hover:text-text-primary transition-colors ml-2",children:[i.jsx("span",{className:"truncate max-w-[300px]",children:fe.description}),i.jsx(Wn,{rotate:z.has(`${ae.name}:${fe.name}`)?180:0,className:"w-3 h-3 flex-shrink-0"})]}):fe.description?i.jsx("span",{className:"text-xs text-text-muted ml-2",children:fe.description}):null]}),i.jsx("span",{className:"text-xs text-text-muted mr-2 flex-shrink-0",children:lv(fe.estimatedTokens)}),i.jsx(Du,{enabled:fe.enabled,onClick:()=>He(ae.name,fe.name,!fe.enabled)})]}),fe.description&&fe.description.length>80&&z.has(`${ae.name}:${fe.name}`)&&i.jsx("div",{className:"text-xs text-text-muted mt-1 ml-1",children:fe.description})]},fe.name))}),i.jsx("div",{className:"pt-2 flex items-center justify-end gap-2",children:te(ae.name,"delete")?i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:fe=>{fe.stopPropagation(),Be(ae.name)},className:"px-2 py-1 rounded text-xs font-medium hover:opacity-90 transition-colors bg-accent-error/20 text-accent-error hover:bg-accent-error/30",children:"Delete"}),i.jsx("button",{onClick:fe=>{fe.stopPropagation(),F()},className:"px-2 py-1 rounded text-xs text-text-muted hover:bg-bg-primary transition-colors",children:"Cancel"})]}):i.jsx("button",{onClick:fe=>{fe.stopPropagation(),K(ae.name)},className:"px-2 py-1 rounded text-xs font-medium text-accent-error/80 hover:text-accent-error hover:bg-accent-error/10 transition-colors",children:"Remove server"})})]})]},ae.name)})}),V&&i.jsx(Ot,{isOpen:V,onClose:()=>{U(!1),ee("")},title:"Add MCP Server",size:"sm",children:i.jsxs("div",{className:"space-y-3",children:[i.jsx(Dr,{label:"Name",value:M.name,onChange:ae=>q({...M,name:ae}),placeholder:"e.g. filesystem"}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Transport"}),i.jsxs("div",{className:"flex gap-1",children:[i.jsx("button",{onClick:()=>q({...M,transport:"stdio"}),className:`px-3 py-1.5 rounded text-xs font-medium transition-colors ${M.transport==="stdio"?"bg-accent-primary text-white":"bg-bg-tertiary text-text-secondary hover:bg-bg-primary"}`,children:"Stdio"}),i.jsx("button",{onClick:()=>q({...M,transport:"http"}),className:`px-3 py-1.5 rounded text-xs font-medium transition-colors ${M.transport==="http"?"bg-accent-primary text-white":"bg-bg-tertiary text-text-secondary hover:bg-bg-primary"}`,children:"HTTP"})]})]}),M.transport==="stdio"?i.jsxs(i.Fragment,{children:[i.jsx(Dr,{label:"Command",value:M.command,onChange:ae=>q({...M,command:ae}),placeholder:"e.g. npx"}),i.jsx(Dr,{label:"Arguments",value:M.args,onChange:ae=>q({...M,args:ae}),placeholder:"space-separated args"}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Environment variables ",i.jsx("span",{className:"text-text-muted",children:"(KEY=VALUE, one per line)"})]}),i.jsx("textarea",{value:M.env,onChange:ae=>q({...M,env:ae.target.value}),placeholder:"API_KEY=xxx",className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",rows:3})]})]}):i.jsxs(i.Fragment,{children:[i.jsx(Dr,{label:"URL",value:M.url,onChange:ae=>q({...M,url:ae}),placeholder:"e.g. https://mcp.example.com/mcp"}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Headers ",i.jsx("span",{className:"text-text-muted",children:"(KEY=VALUE, one per line)"})]}),i.jsx("textarea",{value:M.headers,onChange:ae=>q({...M,headers:ae.target.value}),placeholder:"X-API-Key=xxx",className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",rows:3})]})]}),B&&i.jsx(od,{message:B}),i.jsxs("div",{className:"flex justify-end gap-2 pt-2 border-t border-border",children:[i.jsx(et,{variant:"secondary",onClick:()=>{U(!1),ee(""),ne(!1),q({name:"",transport:"stdio",command:"",args:"",env:"",url:"",headers:""})},disabled:J,children:"Cancel"}),i.jsx(et,{variant:"primary",onClick:_e,disabled:J,children:J?"Adding...":"Add"})]})]})})]})]})}const l1="openfox_user_plugins";function ZN(e){const t=e.match(/github\.com\/([^/]+)\/([^/]+?)(?:\/|$)/);return t?{owner:t[1],repo:t[2].replace(/\.git$/,"")}:null}async function im(e){const t=ZN(e);if(!t)return null;try{const n=await fetch(`https://api.github.com/repos/${t.owner}/${t.repo}/releases/latest`,{signal:AbortSignal.timeout(5e3)});return n.ok?(await n.json()).tag_name??null:null}catch{return null}}function nu(){try{return JSON.parse(localStorage.getItem(l1)??"[]")}catch{return[]}}function uv(e){localStorage.setItem(l1,JSON.stringify(e))}function eT({onAdd:e}){const[t,n]=A.useState(""),[r,o]=A.useState(""),[l,u]=A.useState(!1),c=d=>{d.preventDefault(),!(!t.trim()||!r.trim())&&(e({name:t.trim(),displayName:t.trim(),description:"User-added plugin",githubUrl:r.trim()}),n(""),o(""),u(!0),setTimeout(()=>u(!1),2e3))};return i.jsxs("form",{onSubmit:c,className:"flex gap-2 items-end",children:[i.jsxs("div",{className:"flex-1",children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"Name"}),i.jsx("input",{type:"text",value:t,onChange:d=>n(d.target.value),placeholder:"my-plugin",className:"w-full px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded"})]}),i.jsxs("div",{className:"flex-[2]",children:[i.jsx("label",{className:"text-xs text-text-muted block mb-1",children:"GitHub URL"}),i.jsx("input",{type:"text",value:r,onChange:d=>o(d.target.value),placeholder:"https://github.com/user/repo",className:"w-full px-2 py-1 text-sm text-text-primary bg-bg-tertiary border border-border rounded"})]}),i.jsx(et,{type:"submit",variant:"primary",size:"sm",children:l?"Added":"Add"})]})}function tT({plugin:e,initiallyInstalled:t,installedVersion:n,onRemove:r,onOpenFolder:o}){const[l,u]=A.useState(t?"installed":"idle"),[c,d]=A.useState(!1),[f,p]=A.useState(""),[m,x]=A.useState(n);A.useEffect(()=>{x(n)},[n]);const y=A.useCallback(async()=>{const E=await we("/api/plugins/install",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({githubUrl:e.githubUrl})}),T=await E.json();if(E.ok)u("installed"),e.latestVersion&&x(e.latestVersion),T.loaded||p(T.loadError??"Plugin installed but failed to load");else throw new Error(T.error??"Install failed")},[e.githubUrl,e.name]),w=async()=>{u("installing"),p("");try{await y()}catch(E){u("error"),p(E instanceof Error?E.message:"Connection error")}},C=async()=>{if(window.confirm(`Remove "${e.displayName}"?`))try{(await we(`/api/plugins/${e.name}`,{method:"DELETE"})).ok&&(u("idle"),r(e.name))}catch{}},v=async()=>{d(!0),p("");try{await y()}catch(E){p(E instanceof Error?E.message:"Update failed")}d(!1)},S=m??n,_=e.latestVersion&&S&&S!=="unknown"&&e.latestVersion!==S,b=l==="installing"?"Installing…":c?"Updating…":l==="installed"?"Installed ✓":"Install",j=l==="installing"||l==="installed"||c;return i.jsx("div",{className:"border border-border rounded-lg p-4",children:i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2 flex-wrap",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary",children:e.displayName}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",e.name,")"]})]}),i.jsx("p",{className:"text-xs text-text-muted mt-1",children:e.description}),i.jsxs("div",{className:"flex items-center gap-3 mt-2 text-xs",children:[e.githubUrl&&i.jsx("a",{href:e.githubUrl,target:"_blank",rel:"noreferrer",className:"text-accent-primary hover:underline",children:"GitHub"}),e.versionLoading?i.jsx("span",{className:"text-text-muted",children:"Loading version…"}):e.latestVersion?i.jsxs("span",{className:"text-text-muted",children:["v",e.latestVersion]}):null,S&&S!=="unknown"&&i.jsxs("span",{className:"text-text-muted",children:["installed: v",S]})]}),l==="error"&&f&&i.jsx("p",{className:"text-xs text-accent-error mt-1",children:f})]}),i.jsxs("div",{className:"flex flex-col items-end gap-1",children:[i.jsxs("div",{className:"flex gap-1",children:[e.githubUrl&&i.jsx(et,{variant:l==="installed"?"secondary":"primary",size:"sm",onClick:w,disabled:j,children:b}),_&&i.jsx(et,{variant:"primary",size:"sm",onClick:v,children:"Update"}),l==="installed"&&i.jsx(et,{variant:"danger",size:"sm",onClick:C,children:"Remove"})]}),l==="installed"&&i.jsx("button",{onClick:()=>o(e.name),className:"text-xs text-accent-primary hover:underline",children:"Open folder"})]})]})})}function nT(){const[e,t]=A.useState([]),[n,r]=A.useState([]),[o,l]=A.useState({}),[u,c]=A.useState(!0),[d,f]=A.useState(""),[p,m]=A.useState("");A.useEffect(()=>{let S=!1;Promise.all([we("/api/plugins/registry").then(b=>{if(!b.ok)throw new Error(`HTTP ${b.status}`);return b.json()}),we("/api/plugins/installed").then(b=>b.ok?b.json():{installed:[]})]).then(([b,j])=>{if(S)return;const E={},T=j.installed;for(const G of T)E[G.name]=G.version;l(E);const D=b.plugins.map(G=>({...G,latestVersion:null,versionLoading:!0}));t(D),D.forEach(G=>{im(G.githubUrl).then(W=>{S||t(I=>I.map(H=>H.name===G.name?{...H,latestVersion:W,versionLoading:!1}:H))})});const L=new Set(D.map(G=>G.name)),O=nu(),P=[];for(const G of T)!L.has(G.name)&&!O.some(W=>W.name===G.name)&&P.push({name:G.name,displayName:G.name,description:"Found on disk",githubUrl:"",latestVersion:null,versionLoading:!1});P.length>0&&r(G=>[...G,...P])}).catch(b=>{S||f(b instanceof Error?b.message:"Failed to load plugins")}).finally(()=>{S||c(!1)});const _=nu();return _.length>0&&(r(_.map(b=>({...b,latestVersion:null,versionLoading:!0}))),_.forEach(b=>{im(b.githubUrl).then(j=>{S||r(E=>E.map(T=>T.name===b.name?{...T,latestVersion:j,versionLoading:!1}:T))})})),()=>{S=!0}},[]);const x=async S=>{try{S?await we(`/api/plugins/${S}/open-folder`):await we("/api/plugins/open-folder")}catch{}},y=A.useCallback(S=>{l(j=>{const E={...j};return delete E[S],E});const _=nu(),b=_.filter(j=>j.name!==S);b.length!==_.length&&uv(b),r(j=>j.filter(E=>E.name!==S))},[]),w=A.useCallback(S=>{if(new Set(e.map(j=>j.name)).has(S.name)){m(`"${S.displayName}" is already listed in the registry and won't be added again.`);return}const b=nu();uv([...b,S]),r(j=>[...j,{...S,latestVersion:null,versionLoading:!0}]),im(S.githubUrl).then(j=>{r(E=>E.map(T=>T.name===S.name?{...T,latestVersion:j,versionLoading:!1}:T))})},[e]),C=new Set,v=[...e,...n].filter(S=>C.has(S.name)?!1:(C.add(S.name),!0));return u?i.jsx("div",{className:"text-sm text-text-muted",children:"Loading plugins..."}):i.jsxs("div",{className:"space-y-4",children:[d&&i.jsxs("div",{className:"text-sm text-accent-error bg-accent-error/10 border border-accent-error/30 rounded-lg p-3",children:["Failed to load plugin registry: ",d]}),p&&i.jsxs("div",{className:"text-sm text-accent-warning bg-accent-warning/10 border border-accent-warning/30 rounded-lg p-3 flex justify-between items-center",children:[i.jsx("span",{children:p}),i.jsx("button",{onClick:()=>m(""),className:"text-text-muted hover:text-text-primary ml-2",children:"×"})]}),i.jsxs("div",{className:"border border-border rounded-lg p-4",children:[i.jsx("h3",{className:"text-sm font-medium text-text-primary mb-3",children:"Add Plugin"}),i.jsx(eT,{onAdd:w})]}),v.length===0&&!d&&i.jsx("div",{className:"text-sm text-text-muted",children:"No plugins found."}),v.map(S=>i.jsx(tT,{plugin:S,initiallyInstalled:S.name in o,installedVersion:o[S.name]??null,onRemove:y,onOpenFolder:x},S.name))]})}function rT({isOpen:e,onClose:t}){const[n,r]=A.useState("instructions"),o=()=>{try{Xt.send("context.checkDynamic",{})}catch{}t()};return i.jsx(Ot,{isOpen:e,onClose:o,title:"Settings",size:"xl",minHeight:"500px",children:i.jsxs("div",{"data-global-settings":!0,className:"flex flex-col h-full",children:[i.jsxs("div",{className:"flex border-b border-border mb-4 -mt-1 overflow-x-auto scrollbar-hide",children:[i.jsx(Vs,{label:"Instructions",active:n==="instructions",onClick:()=>r("instructions")}),i.jsx(Vs,{label:"Tools",active:n==="tools",onClick:()=>r("tools")}),i.jsx(Vs,{label:"Skills",active:n==="skills",onClick:()=>r("skills")}),i.jsx(Vs,{label:"Plugins",active:n==="plugins",onClick:()=>r("plugins")}),i.jsx(Vs,{label:"Notifications",active:n==="notifications",onClick:()=>r("notifications")}),i.jsx(Vs,{label:"Display",active:n==="display",onClick:()=>r("display")}),i.jsx(Vs,{label:"Keybindings",active:n==="keybindings",onClick:()=>r("keybindings")}),i.jsx(Vs,{label:"Advanced",active:n==="advanced",onClick:()=>r("advanced")})]}),n==="instructions"&&i.jsx(HN,{isOpen:e}),n==="skills"&&i.jsx(zN,{isOpen:e}),n==="plugins"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(nT,{})}),n==="notifications"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(TN,{})}),n==="display"&&i.jsx(WN,{}),n==="keybindings"&&i.jsx(QN,{}),n==="tools"&&i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:i.jsx(JN,{})}),n==="advanced"&&i.jsx(YN,{onClose:t})]})})}function Vs({label:e,active:t,onClick:n}){return i.jsx("button",{onClick:n,className:`px-4 py-2 text-sm font-medium border-b-2 transition-colors whitespace-nowrap ${t?"border-accent-primary text-accent-primary":"border-transparent text-text-muted hover:text-text-secondary hover:border-border"}`,children:e})}var am={exports:{}},dv;function sT(){return dv||(dv=1,(function(e,t){(function(n,r){e.exports=r()})(globalThis,(()=>(()=>{var n={4567:function(u,c,d){var f=this&&this.__decorate||function(_,b,j,E){var T,D=arguments.length,L=D<3?b:E===null?E=Object.getOwnPropertyDescriptor(b,j):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(_,b,j,E);else for(var O=_.length-1;O>=0;O--)(T=_[O])&&(L=(D<3?T(L):D>3?T(b,j,L):T(b,j))||L);return D>3&&L&&Object.defineProperty(b,j,L),L},p=this&&this.__param||function(_,b){return function(j,E){b(j,E,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.AccessibilityManager=void 0;const m=d(9042),x=d(9924),y=d(844),w=d(4725),C=d(2585),v=d(3656);let S=c.AccessibilityManager=class extends y.Disposable{constructor(_,b,j,E){super(),this._terminal=_,this._coreBrowserService=j,this._renderService=E,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let T=0;T<this._terminal.rows;T++)this._rowElements[T]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[T]);if(this._topBoundaryFocusListener=T=>this._handleBoundaryFocus(T,0),this._bottomBoundaryFocusListener=T=>this._handleBoundaryFocus(T,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new x.TimeBasedDebouncer(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this.register(this._terminal.onResize((T=>this._handleResize(T.rows)))),this.register(this._terminal.onRender((T=>this._refreshRows(T.start,T.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((T=>this._handleChar(T)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(`
|
|
61
|
+
`)))),this.register(this._terminal.onA11yTab((T=>this._handleTab(T)))),this.register(this._terminal.onKey((T=>this._handleKey(T.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,v.addDisposableDomListener)(document,"selectionchange",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,y.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(_){for(let b=0;b<_;b++)this._handleChar(" ")}_handleChar(_){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==_&&(this._charsToAnnounce+=_):this._charsToAnnounce+=_,_===`
|
|
62
|
+
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=m.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(_){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(_)||this._charsToConsume.push(_)}_refreshRows(_,b){this._liveRegionDebouncer.refresh(_,b,this._terminal.rows)}_renderRows(_,b){const j=this._terminal.buffer,E=j.lines.length.toString();for(let T=_;T<=b;T++){const D=j.lines.get(j.ydisp+T),L=[],O=(D==null?void 0:D.translateToString(!0,void 0,void 0,L))||"",P=(j.ydisp+T+1).toString(),G=this._rowElements[T];G&&(O.length===0?(G.innerText=" ",this._rowColumns.set(G,[0,1])):(G.textContent=O,this._rowColumns.set(G,L)),G.setAttribute("aria-posinset",P),G.setAttribute("aria-setsize",E))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(_,b){const j=_.target,E=this._rowElements[b===0?1:this._rowElements.length-2];if(j.getAttribute("aria-posinset")===(b===0?"1":`${this._terminal.buffer.lines.length}`)||_.relatedTarget!==E)return;let T,D;if(b===0?(T=j,D=this._rowElements.pop(),this._rowContainer.removeChild(D)):(T=this._rowElements.shift(),D=j,this._rowContainer.removeChild(T)),T.removeEventListener("focus",this._topBoundaryFocusListener),D.removeEventListener("focus",this._bottomBoundaryFocusListener),b===0){const L=this._createAccessibilityTreeNode();this._rowElements.unshift(L),this._rowContainer.insertAdjacentElement("afterbegin",L)}else{const L=this._createAccessibilityTreeNode();this._rowElements.push(L),this._rowContainer.appendChild(L)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(b===0?-1:1),this._rowElements[b===0?1:this._rowElements.length-2].focus(),_.preventDefault(),_.stopImmediatePropagation()}_handleSelectionChange(){var O;if(this._rowElements.length===0)return;const _=document.getSelection();if(!_)return;if(_.isCollapsed)return void(this._rowContainer.contains(_.anchorNode)&&this._terminal.clearSelection());if(!_.anchorNode||!_.focusNode)return void console.error("anchorNode and/or focusNode are null");let b={node:_.anchorNode,offset:_.anchorOffset},j={node:_.focusNode,offset:_.focusOffset};if((b.node.compareDocumentPosition(j.node)&Node.DOCUMENT_POSITION_PRECEDING||b.node===j.node&&b.offset>j.offset)&&([b,j]=[j,b]),b.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(b={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(b.node))return;const E=this._rowElements.slice(-1)[0];if(j.node.compareDocumentPosition(E)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(j={node:E,offset:((O=E.textContent)==null?void 0:O.length)??0}),!this._rowContainer.contains(j.node))return;const T=({node:P,offset:G})=>{const W=P instanceof Text?P.parentNode:P;let I=parseInt(W==null?void 0:W.getAttribute("aria-posinset"),10)-1;if(isNaN(I))return console.warn("row is invalid. Race condition?"),null;const H=this._rowColumns.get(W);if(!H)return console.warn("columns is null. Race condition?"),null;let V=G<H.length?H[G]:H.slice(-1)[0]+1;return V>=this._terminal.cols&&(++I,V=0),{row:I,column:V}},D=T(b),L=T(j);if(D&&L){if(D.row>L.row||D.row===L.row&&D.column>=L.column)throw new Error("invalid range");this._terminal.select(D.column,D.row,(L.row-D.row)*this._terminal.cols-D.column+L.column)}}_handleResize(_){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let b=this._rowContainer.children.length;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);for(;this._rowElements.length>_;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const _=this._coreBrowserService.mainDocument.createElement("div");return _.setAttribute("role","listitem"),_.tabIndex=-1,this._refreshRowDimensions(_),_}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let _=0;_<this._terminal.rows;_++)this._refreshRowDimensions(this._rowElements[_])}}_refreshRowDimensions(_){_.style.height=`${this._renderService.dimensions.css.cell.height}px`}};c.AccessibilityManager=S=f([p(1,C.IInstantiationService),p(2,w.ICoreBrowserService),p(3,w.IRenderService)],S)},3614:(u,c)=>{function d(x){return x.replace(/\r?\n/g,"\r")}function f(x,y){return y?"\x1B[200~"+x+"\x1B[201~":x}function p(x,y,w,C){x=f(x=d(x),w.decPrivateModes.bracketedPasteMode&&C.rawOptions.ignoreBracketedPasteMode!==!0),w.triggerDataEvent(x,!0),y.value=""}function m(x,y,w){const C=w.getBoundingClientRect(),v=x.clientX-C.left-10,S=x.clientY-C.top-10;y.style.width="20px",y.style.height="20px",y.style.left=`${v}px`,y.style.top=`${S}px`,y.style.zIndex="1000",y.focus()}Object.defineProperty(c,"__esModule",{value:!0}),c.rightClickHandler=c.moveTextAreaUnderMouseCursor=c.paste=c.handlePasteEvent=c.copyHandler=c.bracketTextForPaste=c.prepareTextForTerminal=void 0,c.prepareTextForTerminal=d,c.bracketTextForPaste=f,c.copyHandler=function(x,y){x.clipboardData&&x.clipboardData.setData("text/plain",y.selectionText),x.preventDefault()},c.handlePasteEvent=function(x,y,w,C){x.stopPropagation(),x.clipboardData&&p(x.clipboardData.getData("text/plain"),y,w,C)},c.paste=p,c.moveTextAreaUnderMouseCursor=m,c.rightClickHandler=function(x,y,w,C,v){m(x,y,w),v&&C.rightClickSelect(x),y.value=C.selectionText,y.select()}},7239:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ColorContrastCache=void 0;const f=d(1505);c.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(p,m,x){this._css.set(p,m,x)}getCss(p,m){return this._css.get(p,m)}setColor(p,m,x){this._color.set(p,m,x)}getColor(p,m){return this._color.get(p,m)}clear(){this._color.clear(),this._css.clear()}}},3656:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.addDisposableDomListener=void 0,c.addDisposableDomListener=function(d,f,p,m){d.addEventListener(f,p,m);let x=!1;return{dispose:()=>{x||(x=!0,d.removeEventListener(f,p,m))}}}},3551:function(u,c,d){var f=this&&this.__decorate||function(S,_,b,j){var E,T=arguments.length,D=T<3?_:j===null?j=Object.getOwnPropertyDescriptor(_,b):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,_,b,j);else for(var L=S.length-1;L>=0;L--)(E=S[L])&&(D=(T<3?E(D):T>3?E(_,b,D):E(_,b))||D);return T>3&&D&&Object.defineProperty(_,b,D),D},p=this&&this.__param||function(S,_){return function(b,j){_(b,j,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.Linkifier=void 0;const m=d(3656),x=d(8460),y=d(844),w=d(2585),C=d(4725);let v=c.Linkifier=class extends y.Disposable{get currentLink(){return this._currentLink}constructor(S,_,b,j,E){super(),this._element=S,this._mouseService=_,this._renderService=b,this._bufferService=j,this._linkProviderService=E,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new x.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new x.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,y.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,y.toDisposable)((()=>{var T;this._lastMouseEvent=void 0,(T=this._activeProviderReplies)==null||T.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,m.addDisposableDomListener)(this._element,"mouseleave",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,m.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,m.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,m.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(S){this._lastMouseEvent=S;const _=this._positionFromMouseEvent(S,this._element,this._mouseService);if(!_)return;this._isMouseOut=!1;const b=S.composedPath();for(let j=0;j<b.length;j++){const E=b[j];if(E.classList.contains("xterm"))break;if(E.classList.contains("xterm-hover"))return}this._lastBufferCell&&_.x===this._lastBufferCell.x&&_.y===this._lastBufferCell.y||(this._handleHover(_),this._lastBufferCell=_)}_handleHover(S){if(this._activeLine!==S.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(S,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,S)||(this._clearCurrentLink(),this._askForLink(S,!0))}_askForLink(S,_){var j,E;this._activeProviderReplies&&_||((j=this._activeProviderReplies)==null||j.forEach((T=>{T==null||T.forEach((D=>{D.link.dispose&&D.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=S.y);let b=!1;for(const[T,D]of this._linkProviderService.linkProviders.entries())_?(E=this._activeProviderReplies)!=null&&E.get(T)&&(b=this._checkLinkProviderResult(T,S,b)):D.provideLinks(S.y,(L=>{var P,G;if(this._isMouseOut)return;const O=L==null?void 0:L.map((W=>({link:W})));(P=this._activeProviderReplies)==null||P.set(T,O),b=this._checkLinkProviderResult(T,S,b),((G=this._activeProviderReplies)==null?void 0:G.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(S.y,this._activeProviderReplies)}))}_removeIntersectingLinks(S,_){const b=new Set;for(let j=0;j<_.size;j++){const E=_.get(j);if(E)for(let T=0;T<E.length;T++){const D=E[T],L=D.link.range.start.y<S?0:D.link.range.start.x,O=D.link.range.end.y>S?this._bufferService.cols:D.link.range.end.x;for(let P=L;P<=O;P++){if(b.has(P)){E.splice(T--,1);break}b.add(P)}}}}_checkLinkProviderResult(S,_,b){var T;if(!this._activeProviderReplies)return b;const j=this._activeProviderReplies.get(S);let E=!1;for(let D=0;D<S;D++)this._activeProviderReplies.has(D)&&!this._activeProviderReplies.get(D)||(E=!0);if(!E&&j){const D=j.find((L=>this._linkAtPosition(L.link,_)));D&&(b=!0,this._handleNewLink(D))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!b)for(let D=0;D<this._activeProviderReplies.size;D++){const L=(T=this._activeProviderReplies.get(D))==null?void 0:T.find((O=>this._linkAtPosition(O.link,_)));if(L){b=!0,this._handleNewLink(L);break}}return b}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(S){if(!this._currentLink)return;const _=this._positionFromMouseEvent(S,this._element,this._mouseService);_&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,_)&&this._currentLink.link.activate(S,this._currentLink.link.text)}_clearCurrentLink(S,_){this._currentLink&&this._lastMouseEvent&&(!S||!_||this._currentLink.link.range.start.y>=S&&this._currentLink.link.range.end.y<=_)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,y.disposeArray)(this._linkCacheDisposables))}_handleNewLink(S){if(!this._lastMouseEvent)return;const _=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);_&&this._linkAtPosition(S.link,_)&&(this._currentLink=S,this._currentLink.state={decorations:{underline:S.link.decorations===void 0||S.link.decorations.underline,pointerCursor:S.link.decorations===void 0||S.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,S.link,this._lastMouseEvent),S.link.decorations={},Object.defineProperties(S.link.decorations,{pointerCursor:{get:()=>{var b,j;return(j=(b=this._currentLink)==null?void 0:b.state)==null?void 0:j.decorations.pointerCursor},set:b=>{var j;(j=this._currentLink)!=null&&j.state&&this._currentLink.state.decorations.pointerCursor!==b&&(this._currentLink.state.decorations.pointerCursor=b,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",b))}},underline:{get:()=>{var b,j;return(j=(b=this._currentLink)==null?void 0:b.state)==null?void 0:j.decorations.underline},set:b=>{var j,E,T;(j=this._currentLink)!=null&&j.state&&((T=(E=this._currentLink)==null?void 0:E.state)==null?void 0:T.decorations.underline)!==b&&(this._currentLink.state.decorations.underline=b,this._currentLink.state.isHovered&&this._fireUnderlineEvent(S.link,b))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((b=>{if(!this._currentLink)return;const j=b.start===0?0:b.start+1+this._bufferService.buffer.ydisp,E=this._bufferService.buffer.ydisp+1+b.end;if(this._currentLink.link.range.start.y>=j&&this._currentLink.link.range.end.y<=E&&(this._clearCurrentLink(j,E),this._lastMouseEvent)){const T=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);T&&this._askForLink(T,!1)}}))))}_linkHover(S,_,b){var j;(j=this._currentLink)!=null&&j.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(_,!0),this._currentLink.state.decorations.pointerCursor&&S.classList.add("xterm-cursor-pointer")),_.hover&&_.hover(b,_.text)}_fireUnderlineEvent(S,_){const b=S.range,j=this._bufferService.buffer.ydisp,E=this._createLinkUnderlineEvent(b.start.x-1,b.start.y-j-1,b.end.x,b.end.y-j-1,void 0);(_?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(E)}_linkLeave(S,_,b){var j;(j=this._currentLink)!=null&&j.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(_,!1),this._currentLink.state.decorations.pointerCursor&&S.classList.remove("xterm-cursor-pointer")),_.leave&&_.leave(b,_.text)}_linkAtPosition(S,_){const b=S.range.start.y*this._bufferService.cols+S.range.start.x,j=S.range.end.y*this._bufferService.cols+S.range.end.x,E=_.y*this._bufferService.cols+_.x;return b<=E&&E<=j}_positionFromMouseEvent(S,_,b){const j=b.getCoords(S,_,this._bufferService.cols,this._bufferService.rows);if(j)return{x:j[0],y:j[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(S,_,b,j,E){return{x1:S,y1:_,x2:b,y2:j,cols:this._bufferService.cols,fg:E}}};c.Linkifier=v=f([p(1,C.IMouseService),p(2,C.IRenderService),p(3,w.IBufferService),p(4,C.ILinkProviderService)],v)},9042:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.tooMuchOutput=c.promptLabel=void 0,c.promptLabel="Terminal input",c.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(u,c,d){var f=this&&this.__decorate||function(C,v,S,_){var b,j=arguments.length,E=j<3?v:_===null?_=Object.getOwnPropertyDescriptor(v,S):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(C,v,S,_);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(E=(j<3?b(E):j>3?b(v,S,E):b(v,S))||E);return j>3&&E&&Object.defineProperty(v,S,E),E},p=this&&this.__param||function(C,v){return function(S,_){v(S,_,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OscLinkProvider=void 0;const m=d(511),x=d(2585);let y=c.OscLinkProvider=class{constructor(C,v,S){this._bufferService=C,this._optionsService=v,this._oscLinkService=S}provideLinks(C,v){var O;const S=this._bufferService.buffer.lines.get(C-1);if(!S)return void v(void 0);const _=[],b=this._optionsService.rawOptions.linkHandler,j=new m.CellData,E=S.getTrimmedLength();let T=-1,D=-1,L=!1;for(let P=0;P<E;P++)if(D!==-1||S.hasContent(P)){if(S.loadCell(P,j),j.hasExtendedAttrs()&&j.extended.urlId){if(D===-1){D=P,T=j.extended.urlId;continue}L=j.extended.urlId!==T}else D!==-1&&(L=!0);if(L||D!==-1&&P===E-1){const G=(O=this._oscLinkService.getLinkData(T))==null?void 0:O.uri;if(G){const W={start:{x:D+1,y:C},end:{x:P+(L||P!==E-1?0:1),y:C}};let I=!1;if(!(b!=null&&b.allowNonHttpProtocols))try{const H=new URL(G);["http:","https:"].includes(H.protocol)||(I=!0)}catch{I=!0}I||_.push({text:G,range:W,activate:(H,V)=>b?b.activate(H,V,W):w(0,V),hover:(H,V)=>{var U;return(U=b==null?void 0:b.hover)==null?void 0:U.call(b,H,V,W)},leave:(H,V)=>{var U;return(U=b==null?void 0:b.leave)==null?void 0:U.call(b,H,V,W)}})}L=!1,j.hasExtendedAttrs()&&j.extended.urlId?(D=P,T=j.extended.urlId):(D=-1,T=-1)}}v(_)}};function w(C,v){if(confirm(`Do you want to navigate to ${v}?
|
|
63
|
+
|
|
64
|
+
WARNING: This link could potentially be dangerous`)){const S=window.open();if(S){try{S.opener=null}catch{}S.location.href=v}else console.warn("Opening link blocked as opener could not be cleared")}}c.OscLinkProvider=y=f([p(0,x.IBufferService),p(1,x.IOptionsService),p(2,x.IOscLinkService)],y)},6193:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.RenderDebouncer=void 0,c.RenderDebouncer=class{constructor(d,f){this._renderCallback=d,this._coreBrowserService=f,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(d){return this._refreshCallbacks.push(d),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(d,f,p){this._rowCount=p,d=d!==void 0?d:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,d):d,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return void this._runRefreshCallbacks();const d=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(d,f),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const d of this._refreshCallbacks)d(0);this._refreshCallbacks=[]}}},3236:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Terminal=void 0;const f=d(3614),p=d(3656),m=d(3551),x=d(9042),y=d(3730),w=d(1680),C=d(3107),v=d(5744),S=d(2950),_=d(1296),b=d(428),j=d(4269),E=d(5114),T=d(8934),D=d(3230),L=d(9312),O=d(4725),P=d(6731),G=d(8055),W=d(8969),I=d(8460),H=d(844),V=d(6114),U=d(8437),Q=d(2584),X=d(7399),z=d(5941),R=d(9074),M=d(2585),q=d(5435),B=d(4567),ee=d(779);class J extends W.CoreTerminal{get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}constructor(K={}){super(K),this.browser=V,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new H.MutableDisposable),this._onCursorMove=this.register(new I.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new I.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new I.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new I.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new I.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new I.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new I.EventEmitter),this._onBlur=this.register(new I.EventEmitter),this._onA11yCharEmitter=this.register(new I.EventEmitter),this._onA11yTabEmitter=this.register(new I.EventEmitter),this._onWillOpen=this.register(new I.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(R.DecorationService),this._instantiationService.setService(M.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(ee.LinkProviderService),this._instantiationService.setService(O.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(y.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((F,te)=>this.refresh(F,te)))),this.register(this._inputHandler.onRequestSendFocus((()=>this._reportFocus()))),this.register(this._inputHandler.onRequestReset((()=>this.reset()))),this.register(this._inputHandler.onRequestWindowsOptionsReport((F=>this._reportWindowsOptions(F)))),this.register(this._inputHandler.onColor((F=>this._handleColorEvent(F)))),this.register((0,I.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,I.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,I.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,I.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((F=>this._afterResize(F.cols,F.rows)))),this.register((0,H.toDisposable)((()=>{var F,te;this._customKeyEventHandler=void 0,(te=(F=this.element)==null?void 0:F.parentNode)==null||te.removeChild(this.element)})))}_handleColorEvent(K){if(this._themeService)for(const F of K){let te,re="";switch(F.index){case 256:te="foreground",re="10";break;case 257:te="background",re="11";break;case 258:te="cursor",re="12";break;default:te="ansi",re="4;"+F.index}switch(F.type){case 0:const ge=G.color.toColorRGB(te==="ansi"?this._themeService.colors.ansi[F.index]:this._themeService.colors[te]);this.coreService.triggerDataEvent(`${Q.C0.ESC}]${re};${(0,z.toRgbString)(ge)}${Q.C1_ESCAPED.ST}`);break;case 1:if(te==="ansi")this._themeService.modifyColors((_e=>_e.ansi[F.index]=G.channels.toColor(...F.color)));else{const _e=te;this._themeService.modifyColors((Be=>Be[_e]=G.channels.toColor(...F.color)))}break;case 2:this._themeService.restoreColor(F.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(K){K?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(B.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(K){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var K;return(K=this.textarea)==null?void 0:K.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const K=this.buffer.ybase+this.buffer.y,F=this.buffer.lines.get(K);if(!F)return;const te=Math.min(this.buffer.x,this.cols-1),re=this._renderService.dimensions.css.cell.height,ge=F.getWidth(te),_e=this._renderService.dimensions.css.cell.width*ge,Be=this.buffer.y*this._renderService.dimensions.css.cell.height,He=te*this._renderService.dimensions.css.cell.width;this.textarea.style.left=He+"px",this.textarea.style.top=Be+"px",this.textarea.style.width=_e+"px",this.textarea.style.height=re+"px",this.textarea.style.lineHeight=re+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,p.addDisposableDomListener)(this.element,"copy",(F=>{this.hasSelection()&&(0,f.copyHandler)(F,this._selectionService)})));const K=F=>(0,f.handlePasteEvent)(F,this.textarea,this.coreService,this.optionsService);this.register((0,p.addDisposableDomListener)(this.textarea,"paste",K)),this.register((0,p.addDisposableDomListener)(this.element,"paste",K)),V.isFirefox?this.register((0,p.addDisposableDomListener)(this.element,"mousedown",(F=>{F.button===2&&(0,f.rightClickHandler)(F,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,p.addDisposableDomListener)(this.element,"contextmenu",(F=>{(0,f.rightClickHandler)(F,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),V.isLinux&&this.register((0,p.addDisposableDomListener)(this.element,"auxclick",(F=>{F.button===1&&(0,f.moveTextAreaUnderMouseCursor)(F,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,p.addDisposableDomListener)(this.textarea,"keyup",(K=>this._keyUp(K)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"keydown",(K=>this._keyDown(K)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"keypress",(K=>this._keyPress(K)),!0)),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionstart",(()=>this._compositionHelper.compositionstart()))),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionupdate",(K=>this._compositionHelper.compositionupdate(K)))),this.register((0,p.addDisposableDomListener)(this.textarea,"compositionend",(()=>this._compositionHelper.compositionend()))),this.register((0,p.addDisposableDomListener)(this.textarea,"input",(K=>this._inputEvent(K)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(K){var te;if(!K)throw new Error("Terminal requires a parent element.");if(K.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((te=this.element)==null?void 0:te.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=K.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),K.appendChild(this.element);const F=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),F.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,p.addDisposableDomListener)(this.screenElement,"mousemove",(re=>this.updateCursorStyle(re)))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),F.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",x.promptLabel),V.isChromeOS||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._coreBrowserService=this.register(this._instantiationService.createInstance(E.CoreBrowserService,this.textarea,K.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(O.ICoreBrowserService,this._coreBrowserService),this.register((0,p.addDisposableDomListener)(this.textarea,"focus",(re=>this._handleTextAreaFocus(re)))),this.register((0,p.addDisposableDomListener)(this.textarea,"blur",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(b.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(O.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(P.ThemeService),this._instantiationService.setService(O.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(j.CharacterJoinerService),this._instantiationService.setService(O.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(D.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(O.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((re=>this._onRender.fire(re)))),this.onResize((re=>this._renderService.resize(re.cols,re.rows))),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(S.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(T.MouseService),this._instantiationService.setService(O.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(m.Linkifier,this.screenElement)),this.element.appendChild(F);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(w.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((re=>this.scrollLines(re.amount,re.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),this.register(this.onCursorMove((()=>{this._renderService.handleCursorMove(),this._syncTextArea()}))),this.register(this.onResize((()=>this._renderService.handleResize(this.cols,this.rows)))),this.register(this.onBlur((()=>this._renderService.handleBlur()))),this.register(this.onFocus((()=>this._renderService.handleFocus()))),this.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(L.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(O.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((re=>this.scrollLines(re.amount,re.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((re=>this._renderService.handleSelectionChanged(re.start,re.end,re.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((re=>{this.textarea.value=re,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((re=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,p.addDisposableDomListener)(this._viewportElement,"scroll",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(C.BufferDecorationRenderer,this.screenElement)),this.register((0,p.addDisposableDomListener)(this.element,"mousedown",(re=>this._selectionService.handleMouseDown(re)))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(B.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",(re=>this._handleScreenReaderModeOptionChange(re)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(v.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",(re=>{!this._overviewRulerRenderer&&re&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(v.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(_.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const K=this,F=this.element;function te(_e){const Be=K._mouseService.getMouseReportCoords(_e,K.screenElement);if(!Be)return!1;let He,Ne;switch(_e.overrideType||_e.type){case"mousemove":Ne=32,_e.buttons===void 0?(He=3,_e.button!==void 0&&(He=_e.button<3?_e.button:3)):He=1&_e.buttons?0:4&_e.buttons?1:2&_e.buttons?2:3;break;case"mouseup":Ne=0,He=_e.button<3?_e.button:3;break;case"mousedown":Ne=1,He=_e.button<3?_e.button:3;break;case"wheel":if(K._customWheelEventHandler&&K._customWheelEventHandler(_e)===!1||K.viewport.getLinesScrolled(_e)===0)return!1;Ne=_e.deltaY<0?0:1,He=4;break;default:return!1}return!(Ne===void 0||He===void 0||He>4)&&K.coreMouseService.triggerMouseEvent({col:Be.col,row:Be.row,x:Be.x,y:Be.y,button:He,action:Ne,ctrl:_e.ctrlKey,alt:_e.altKey,shift:_e.shiftKey})}const re={mouseup:null,wheel:null,mousedrag:null,mousemove:null},ge={mouseup:_e=>(te(_e),_e.buttons||(this._document.removeEventListener("mouseup",re.mouseup),re.mousedrag&&this._document.removeEventListener("mousemove",re.mousedrag)),this.cancel(_e)),wheel:_e=>(te(_e),this.cancel(_e,!0)),mousedrag:_e=>{_e.buttons&&te(_e)},mousemove:_e=>{_e.buttons||te(_e)}};this.register(this.coreMouseService.onProtocolChange((_e=>{_e?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(_e)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),8&_e?re.mousemove||(F.addEventListener("mousemove",ge.mousemove),re.mousemove=ge.mousemove):(F.removeEventListener("mousemove",re.mousemove),re.mousemove=null),16&_e?re.wheel||(F.addEventListener("wheel",ge.wheel,{passive:!1}),re.wheel=ge.wheel):(F.removeEventListener("wheel",re.wheel),re.wheel=null),2&_e?re.mouseup||(re.mouseup=ge.mouseup):(this._document.removeEventListener("mouseup",re.mouseup),re.mouseup=null),4&_e?re.mousedrag||(re.mousedrag=ge.mousedrag):(this._document.removeEventListener("mousemove",re.mousedrag),re.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,p.addDisposableDomListener)(F,"mousedown",(_e=>{if(_e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(_e))return te(_e),re.mouseup&&this._document.addEventListener("mouseup",re.mouseup),re.mousedrag&&this._document.addEventListener("mousemove",re.mousedrag),this.cancel(_e)}))),this.register((0,p.addDisposableDomListener)(F,"wheel",(_e=>{if(!re.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(_e)===!1)return!1;if(!this.buffer.hasScrollback){const Be=this.viewport.getLinesScrolled(_e);if(Be===0)return;const He=Q.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(_e.deltaY<0?"A":"B");let Ne="";for(let je=0;je<Math.abs(Be);je++)Ne+=He;return this.coreService.triggerDataEvent(Ne,!0),this.cancel(_e,!0)}return this.viewport.handleWheel(_e)?this.cancel(_e):void 0}}),{passive:!1})),this.register((0,p.addDisposableDomListener)(F,"touchstart",(_e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(_e),this.cancel(_e)}),{passive:!0})),this.register((0,p.addDisposableDomListener)(F,"touchmove",(_e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(_e)?void 0:this.cancel(_e)}),{passive:!1}))}refresh(K,F){var te;(te=this._renderService)==null||te.refreshRows(K,F)}updateCursorStyle(K){var F;(F=this._selectionService)!=null&&F.shouldColumnSelect(K)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(K,F,te=0){var re;te===1?(super.scrollLines(K,F,te),this.refresh(0,this.rows-1)):(re=this.viewport)==null||re.scrollLines(K)}paste(K){(0,f.paste)(K,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(K){this._customKeyEventHandler=K}attachCustomWheelEventHandler(K){this._customWheelEventHandler=K}registerLinkProvider(K){return this._linkProviderService.registerLinkProvider(K)}registerCharacterJoiner(K){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const F=this._characterJoinerService.register(K);return this.refresh(0,this.rows-1),F}deregisterCharacterJoiner(K){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(K)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(K){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+K)}registerDecoration(K){return this._decorationService.registerDecoration(K)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(K,F,te){this._selectionService.setSelection(K,F,te)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(this._selectionService&&this._selectionService.hasSelection)return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var K;(K=this._selectionService)==null||K.clearSelection()}selectAll(){var K;(K=this._selectionService)==null||K.selectAll()}selectLines(K,F){var te;(te=this._selectionService)==null||te.selectLines(K,F)}_keyDown(K){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(K)===!1)return!1;const F=this.browser.isMac&&this.options.macOptionIsMeta&&K.altKey;if(!F&&!this._compositionHelper.keydown(K))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;F||K.key!=="Dead"&&K.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const te=(0,X.evaluateKeyboardEvent)(K,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(K),te.type===3||te.type===2){const re=this.rows-1;return this.scrollLines(te.type===2?-re:re),this.cancel(K,!0)}return te.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,K)||(te.cancel&&this.cancel(K,!0),!te.key||!!(K.key&&!K.ctrlKey&&!K.altKey&&!K.metaKey&&K.key.length===1&&K.key.charCodeAt(0)>=65&&K.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(te.key!==Q.C0.ETX&&te.key!==Q.C0.CR||(this.textarea.value=""),this._onKey.fire({key:te.key,domEvent:K}),this._showCursor(),this.coreService.triggerDataEvent(te.key,!0),!this.optionsService.rawOptions.screenReaderMode||K.altKey||K.ctrlKey?this.cancel(K,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(K,F){const te=K.isMac&&!this.options.macOptionIsMeta&&F.altKey&&!F.ctrlKey&&!F.metaKey||K.isWindows&&F.altKey&&F.ctrlKey&&!F.metaKey||K.isWindows&&F.getModifierState("AltGraph");return F.type==="keypress"?te:te&&(!F.keyCode||F.keyCode>47)}_keyUp(K){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(K)===!1||((function(F){return F.keyCode===16||F.keyCode===17||F.keyCode===18})(K)||this.focus(),this.updateCursorStyle(K),this._keyPressHandled=!1)}_keyPress(K){let F;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(K)===!1)return!1;if(this.cancel(K),K.charCode)F=K.charCode;else if(K.which===null||K.which===void 0)F=K.keyCode;else{if(K.which===0||K.charCode===0)return!1;F=K.which}return!(!F||(K.altKey||K.ctrlKey||K.metaKey)&&!this._isThirdLevelShift(this.browser,K)||(F=String.fromCharCode(F),this._onKey.fire({key:F,domEvent:K}),this._showCursor(),this.coreService.triggerDataEvent(F,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(K){if(K.data&&K.inputType==="insertText"&&(!K.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const F=K.data;return this.coreService.triggerDataEvent(F,!0),this.cancel(K),!0}return!1}resize(K,F){K!==this.cols||F!==this.rows?super.resize(K,F):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(K,F){var te,re;(te=this._charSizeService)==null||te.measure(),(re=this.viewport)==null||re.syncScrollArea(!0)}clear(){var K;if(this.buffer.ybase!==0||this.buffer.y!==0){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let F=1;F<this.rows;F++)this.buffer.lines.push(this.buffer.getBlankLine(U.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(K=this.viewport)==null||K.reset(),this.refresh(0,this.rows-1)}}reset(){var F,te;this.options.rows=this.rows,this.options.cols=this.cols;const K=this._customKeyEventHandler;this._setup(),super.reset(),(F=this._selectionService)==null||F.reset(),this._decorationService.reset(),(te=this.viewport)==null||te.reset(),this._customKeyEventHandler=K,this.refresh(0,this.rows-1)}clearTextureAtlas(){var K;(K=this._renderService)==null||K.clearTextureAtlas()}_reportFocus(){var K;(K=this.element)!=null&&K.classList.contains("focus")?this.coreService.triggerDataEvent(Q.C0.ESC+"[I"):this.coreService.triggerDataEvent(Q.C0.ESC+"[O")}_reportWindowsOptions(K){if(this._renderService)switch(K){case q.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const F=this._renderService.dimensions.css.canvas.width.toFixed(0),te=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.C0.ESC}[4;${te};${F}t`);break;case q.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const re=this._renderService.dimensions.css.cell.width.toFixed(0),ge=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${Q.C0.ESC}[6;${ge};${re}t`)}}cancel(K,F){if(this.options.cancelEvents||F)return K.preventDefault(),K.stopPropagation(),!1}}c.Terminal=J},9924:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.TimeBasedDebouncer=void 0,c.TimeBasedDebouncer=class{constructor(d,f=1e3){this._renderCallback=d,this._debounceThresholdMS=f,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(d,f,p){this._rowCount=p,d=d!==void 0?d:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,d):d,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f;const m=Date.now();if(m-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=m,this._innerRefresh();else if(!this._additionalRefreshRequested){const x=m-this._lastRefreshMs,y=this._debounceThresholdMS-x;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),y)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const d=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(d,f)}}},1680:function(u,c,d){var f=this&&this.__decorate||function(S,_,b,j){var E,T=arguments.length,D=T<3?_:j===null?j=Object.getOwnPropertyDescriptor(_,b):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,_,b,j);else for(var L=S.length-1;L>=0;L--)(E=S[L])&&(D=(T<3?E(D):T>3?E(_,b,D):E(_,b))||D);return T>3&&D&&Object.defineProperty(_,b,D),D},p=this&&this.__param||function(S,_){return function(b,j){_(b,j,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.Viewport=void 0;const m=d(3656),x=d(4725),y=d(8460),w=d(844),C=d(2585);let v=c.Viewport=class extends w.Disposable{constructor(S,_,b,j,E,T,D,L){super(),this._viewportElement=S,this._scrollArea=_,this._bufferService=b,this._optionsService=j,this._charSizeService=E,this._renderService=T,this._coreBrowserService=D,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new y.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,m.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((O=>this._activeBuffer=O.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((O=>this._renderDimensions=O))),this._handleThemeChange(L.colors),this.register(L.onChangeColors((O=>this._handleThemeChange(O)))),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(S){this._viewportElement.style.backgroundColor=S.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(S){if(S)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const _=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==_&&(this._lastRecordedBufferHeight=_,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const S=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==S&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=S),this._refreshAnimationFrame=null}syncScrollArea(S=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(S);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(S)}_handleScroll(S){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const _=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:_,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const S=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(S*(this._smoothScrollState.target-this._smoothScrollState.origin)),S<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(S,_){const b=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(_<0&&this._viewportElement.scrollTop!==0||_>0&&b<this._lastRecordedBufferHeight)||(S.cancelable&&S.preventDefault(),!1)}handleWheel(S){const _=this._getPixelsScrolled(S);return _!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+_:this._smoothScrollState.target+=_,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=_,this._bubbleScroll(S,_))}scrollLines(S){if(S!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const _=S*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+_,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:S,suppressScrollEvent:!1})}_getPixelsScrolled(S){if(S.deltaY===0||S.shiftKey)return 0;let _=this._applyScrollModifier(S.deltaY,S);return S.deltaMode===WheelEvent.DOM_DELTA_LINE?_*=this._currentRowHeight:S.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(_*=this._currentRowHeight*this._bufferService.rows),_}getBufferElements(S,_){var L;let b,j="";const E=[],T=_??this._bufferService.buffer.lines.length,D=this._bufferService.buffer.lines;for(let O=S;O<T;O++){const P=D.get(O);if(!P)continue;const G=(L=D.get(O+1))==null?void 0:L.isWrapped;if(j+=P.translateToString(!G),!G||O===D.length-1){const W=document.createElement("div");W.textContent=j,E.push(W),j.length>0&&(b=W),j=""}}return{bufferElements:E,cursorElement:b}}getLinesScrolled(S){if(S.deltaY===0||S.shiftKey)return 0;let _=this._applyScrollModifier(S.deltaY,S);return S.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(_/=this._currentRowHeight+0,this._wheelPartialScroll+=_,_=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):S.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(_*=this._bufferService.rows),_}_applyScrollModifier(S,_){const b=this._optionsService.rawOptions.fastScrollModifier;return b==="alt"&&_.altKey||b==="ctrl"&&_.ctrlKey||b==="shift"&&_.shiftKey?S*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:S*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(S){this._lastTouchY=S.touches[0].pageY}handleTouchMove(S){const _=this._lastTouchY-S.touches[0].pageY;return this._lastTouchY=S.touches[0].pageY,_!==0&&(this._viewportElement.scrollTop+=_,this._bubbleScroll(S,_))}};c.Viewport=v=f([p(2,C.IBufferService),p(3,C.IOptionsService),p(4,x.ICharSizeService),p(5,x.IRenderService),p(6,x.ICoreBrowserService),p(7,x.IThemeService)],v)},3107:function(u,c,d){var f=this&&this.__decorate||function(C,v,S,_){var b,j=arguments.length,E=j<3?v:_===null?_=Object.getOwnPropertyDescriptor(v,S):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(C,v,S,_);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(E=(j<3?b(E):j>3?b(v,S,E):b(v,S))||E);return j>3&&E&&Object.defineProperty(v,S,E),E},p=this&&this.__param||function(C,v){return function(S,_){v(S,_,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.BufferDecorationRenderer=void 0;const m=d(4725),x=d(844),y=d(2585);let w=c.BufferDecorationRenderer=class extends x.Disposable{constructor(C,v,S,_,b){super(),this._screenElement=C,this._bufferService=v,this._coreBrowserService=S,this._decorationService=_,this._renderService=b,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this.register(this._renderService.onRenderedViewportChange((()=>this._doRefreshDecorations()))),this.register(this._renderService.onDimensionsChange((()=>{this._dimensionsChanged=!0,this._queueRefresh()}))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt}))),this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh()))),this.register(this._decorationService.onDecorationRemoved((j=>this._removeDecoration(j)))),this.register((0,x.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const C of this._decorationService.decorations)this._renderDecoration(C);this._dimensionsChanged=!1}_renderDecoration(C){this._refreshStyle(C),this._dimensionsChanged&&this._refreshXPosition(C)}_createElement(C){var _;const v=this._coreBrowserService.mainDocument.createElement("div");v.classList.add("xterm-decoration"),v.classList.toggle("xterm-decoration-top-layer",((_=C==null?void 0:C.options)==null?void 0:_.layer)==="top"),v.style.width=`${Math.round((C.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,v.style.height=(C.options.height||1)*this._renderService.dimensions.css.cell.height+"px",v.style.top=(C.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",v.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const S=C.options.x??0;return S&&S>this._bufferService.cols&&(v.style.display="none"),this._refreshXPosition(C,v),v}_refreshStyle(C){const v=C.marker.line-this._bufferService.buffers.active.ydisp;if(v<0||v>=this._bufferService.rows)C.element&&(C.element.style.display="none",C.onRenderEmitter.fire(C.element));else{let S=this._decorationElements.get(C);S||(S=this._createElement(C),C.element=S,this._decorationElements.set(C,S),this._container.appendChild(S),C.onDispose((()=>{this._decorationElements.delete(C),S.remove()}))),S.style.top=v*this._renderService.dimensions.css.cell.height+"px",S.style.display=this._altBufferIsActive?"none":"block",C.onRenderEmitter.fire(S)}}_refreshXPosition(C,v=C.element){if(!v)return;const S=C.options.x??0;(C.options.anchor||"left")==="right"?v.style.right=S?S*this._renderService.dimensions.css.cell.width+"px":"":v.style.left=S?S*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(C){var v;(v=this._decorationElements.get(C))==null||v.remove(),this._decorationElements.delete(C),C.dispose()}};c.BufferDecorationRenderer=w=f([p(1,y.IBufferService),p(2,m.ICoreBrowserService),p(3,y.IDecorationService),p(4,m.IRenderService)],w)},5871:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ColorZoneStore=void 0,c.ColorZoneStore=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(d){if(d.options.overviewRulerOptions){for(const f of this._zones)if(f.color===d.options.overviewRulerOptions.color&&f.position===d.options.overviewRulerOptions.position){if(this._lineIntersectsZone(f,d.marker.line))return;if(this._lineAdjacentToZone(f,d.marker.line,d.options.overviewRulerOptions.position))return void this._addLineToZone(f,d.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=d.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=d.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=d.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=d.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:d.options.overviewRulerOptions.color,position:d.options.overviewRulerOptions.position,startBufferLine:d.marker.line,endBufferLine:d.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(d){this._linePadding=d}_lineIntersectsZone(d,f){return f>=d.startBufferLine&&f<=d.endBufferLine}_lineAdjacentToZone(d,f,p){return f>=d.startBufferLine-this._linePadding[p||"full"]&&f<=d.endBufferLine+this._linePadding[p||"full"]}_addLineToZone(d,f){d.startBufferLine=Math.min(d.startBufferLine,f),d.endBufferLine=Math.max(d.endBufferLine,f)}}},5744:function(u,c,d){var f=this&&this.__decorate||function(b,j,E,T){var D,L=arguments.length,O=L<3?j:T===null?T=Object.getOwnPropertyDescriptor(j,E):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(b,j,E,T);else for(var P=b.length-1;P>=0;P--)(D=b[P])&&(O=(L<3?D(O):L>3?D(j,E,O):D(j,E))||O);return L>3&&O&&Object.defineProperty(j,E,O),O},p=this&&this.__param||function(b,j){return function(E,T){j(E,T,b)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OverviewRulerRenderer=void 0;const m=d(5871),x=d(4725),y=d(844),w=d(2585),C={full:0,left:0,center:0,right:0},v={full:0,left:0,center:0,right:0},S={full:0,left:0,center:0,right:0};let _=c.OverviewRulerRenderer=class extends y.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(b,j,E,T,D,L,O){var G;super(),this._viewportElement=b,this._screenElement=j,this._bufferService=E,this._decorationService=T,this._renderService=D,this._optionsService=L,this._coreBrowserService=O,this._colorZoneStore=new m.ColorZoneStore,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(G=this._viewportElement.parentElement)==null||G.insertBefore(this._canvas,this._viewportElement);const P=this._canvas.getContext("2d");if(!P)throw new Error("Ctx cannot be null");this._ctx=P,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,y.toDisposable)((()=>{var W;(W=this._canvas)==null||W.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){this.register(this._renderService.onRenderedViewportChange((()=>this._queueRefresh()))),this.register(this._bufferService.buffers.onBufferActivate((()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"}))),this.register(this._bufferService.onScroll((()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const b=Math.floor(this._canvas.width/3),j=Math.ceil(this._canvas.width/3);v.full=this._canvas.width,v.left=b,v.center=j,v.right=b,this._refreshDrawHeightConstants(),S.full=0,S.left=0,S.center=v.left,S.right=v.left+v.center}_refreshDrawHeightConstants(){C.full=Math.round(2*this._coreBrowserService.dpr);const b=this._canvas.height/this._bufferService.buffer.lines.length,j=Math.round(Math.max(Math.min(b,12),6)*this._coreBrowserService.dpr);C.left=j,C.center=j,C.right=j}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*C.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(const j of this._decorationService.decorations)this._colorZoneStore.addDecoration(j);this._ctx.lineWidth=1;const b=this._colorZoneStore.zones;for(const j of b)j.position!=="full"&&this._renderColorZone(j);for(const j of b)j.position==="full"&&this._renderColorZone(j);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(b){this._ctx.fillStyle=b.color,this._ctx.fillRect(S[b.position||"full"],Math.round((this._canvas.height-1)*(b.startBufferLine/this._bufferService.buffers.active.lines.length)-C[b.position||"full"]/2),v[b.position||"full"],Math.round((this._canvas.height-1)*((b.endBufferLine-b.startBufferLine)/this._bufferService.buffers.active.lines.length)+C[b.position||"full"]))}_queueRefresh(b,j){this._shouldUpdateDimensions=b||this._shouldUpdateDimensions,this._shouldUpdateAnchor=j||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};c.OverviewRulerRenderer=_=f([p(2,w.IBufferService),p(3,w.IDecorationService),p(4,x.IRenderService),p(5,w.IOptionsService),p(6,x.ICoreBrowserService)],_)},2950:function(u,c,d){var f=this&&this.__decorate||function(C,v,S,_){var b,j=arguments.length,E=j<3?v:_===null?_=Object.getOwnPropertyDescriptor(v,S):_;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(C,v,S,_);else for(var T=C.length-1;T>=0;T--)(b=C[T])&&(E=(j<3?b(E):j>3?b(v,S,E):b(v,S))||E);return j>3&&E&&Object.defineProperty(v,S,E),E},p=this&&this.__param||function(C,v){return function(S,_){v(S,_,C)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CompositionHelper=void 0;const m=d(4725),x=d(2585),y=d(2584);let w=c.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(C,v,S,_,b,j){this._textarea=C,this._compositionView=v,this._bufferService=S,this._optionsService=_,this._coreService=b,this._renderService=j,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(C){this._compositionView.textContent=C.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(C){if(this._isComposing||this._isSendingComposition){if(C.keyCode===229||C.keyCode===16||C.keyCode===17||C.keyCode===18)return!1;this._finalizeComposition(!1)}return C.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(C){if(this._compositionView.classList.remove("active"),this._isComposing=!1,C){const v={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let S;this._isSendingComposition=!1,v.start+=this._dataAlreadySent.length,S=this._isComposing?this._textarea.value.substring(v.start,v.end):this._textarea.value.substring(v.start),S.length>0&&this._coreService.triggerDataEvent(S,!0)}}),0)}else{this._isSendingComposition=!1;const v=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(v,!0)}}_handleAnyTextareaChanges(){const C=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const v=this._textarea.value,S=v.replace(C,"");this._dataAlreadySent=S,v.length>C.length?this._coreService.triggerDataEvent(S,!0):v.length<C.length?this._coreService.triggerDataEvent(`${y.C0.DEL}`,!0):v.length===C.length&&v!==C&&this._coreService.triggerDataEvent(v,!0)}}),0)}updateCompositionElements(C){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const v=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),S=this._renderService.dimensions.css.cell.height,_=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,b=v*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=b+"px",this._compositionView.style.top=_+"px",this._compositionView.style.height=S+"px",this._compositionView.style.lineHeight=S+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const j=this._compositionView.getBoundingClientRect();this._textarea.style.left=b+"px",this._textarea.style.top=_+"px",this._textarea.style.width=Math.max(j.width,1)+"px",this._textarea.style.height=Math.max(j.height,1)+"px",this._textarea.style.lineHeight=j.height+"px"}C||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};c.CompositionHelper=w=f([p(2,x.IBufferService),p(3,x.IOptionsService),p(4,x.ICoreService),p(5,m.IRenderService)],w)},9806:(u,c)=>{function d(f,p,m){const x=m.getBoundingClientRect(),y=f.getComputedStyle(m),w=parseInt(y.getPropertyValue("padding-left")),C=parseInt(y.getPropertyValue("padding-top"));return[p.clientX-x.left-w,p.clientY-x.top-C]}Object.defineProperty(c,"__esModule",{value:!0}),c.getCoords=c.getCoordsRelativeToElement=void 0,c.getCoordsRelativeToElement=d,c.getCoords=function(f,p,m,x,y,w,C,v,S){if(!w)return;const _=d(f,p,m);return _?(_[0]=Math.ceil((_[0]+(S?C/2:0))/C),_[1]=Math.ceil(_[1]/v),_[0]=Math.min(Math.max(_[0],1),x+(S?1:0)),_[1]=Math.min(Math.max(_[1],1),y),_):void 0}},9504:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.moveToCellSequence=void 0;const f=d(2584);function p(v,S,_,b){const j=v-m(v,_),E=S-m(S,_),T=Math.abs(j-E)-(function(D,L,O){let P=0;const G=D-m(D,O),W=L-m(L,O);for(let I=0;I<Math.abs(G-W);I++){const H=x(D,L)==="A"?-1:1,V=O.buffer.lines.get(G+H*I);V!=null&&V.isWrapped&&P++}return P})(v,S,_);return C(T,w(x(v,S),b))}function m(v,S){let _=0,b=S.buffer.lines.get(v),j=b==null?void 0:b.isWrapped;for(;j&&v>=0&&v<S.rows;)_++,b=S.buffer.lines.get(--v),j=b==null?void 0:b.isWrapped;return _}function x(v,S){return v>S?"A":"B"}function y(v,S,_,b,j,E){let T=v,D=S,L="";for(;T!==_||D!==b;)T+=j?1:-1,j&&T>E.cols-1?(L+=E.buffer.translateBufferLineToString(D,!1,v,T),T=0,v=0,D++):!j&&T<0&&(L+=E.buffer.translateBufferLineToString(D,!1,0,v+1),T=E.cols-1,v=T,D--);return L+E.buffer.translateBufferLineToString(D,!1,v,T)}function w(v,S){const _=S?"O":"[";return f.C0.ESC+_+v}function C(v,S){v=Math.floor(v);let _="";for(let b=0;b<v;b++)_+=S;return _}c.moveToCellSequence=function(v,S,_,b){const j=_.buffer.x,E=_.buffer.y;if(!_.buffer.hasScrollback)return(function(L,O,P,G,W,I){return p(O,G,W,I).length===0?"":C(y(L,O,L,O-m(O,W),!1,W).length,w("D",I))})(j,E,0,S,_,b)+p(E,S,_,b)+(function(L,O,P,G,W,I){let H;H=p(O,G,W,I).length>0?G-m(G,W):O;const V=G,U=(function(Q,X,z,R,M,q){let B;return B=p(z,R,M,q).length>0?R-m(R,M):X,Q<z&&B<=R||Q>=z&&B<R?"C":"D"})(L,O,P,G,W,I);return C(y(L,H,P,V,U==="C",W).length,w(U,I))})(j,E,v,S,_,b);let T;if(E===S)return T=j>v?"D":"C",C(Math.abs(j-v),w(T,b));T=E>S?"D":"C";const D=Math.abs(E-S);return C((function(L,O){return O.cols-L})(E>S?v:j,_)+(D-1)*_.cols+1+((E>S?j:v)-1),w(T,b))}},1296:function(u,c,d){var f=this&&this.__decorate||function(I,H,V,U){var Q,X=arguments.length,z=X<3?H:U===null?U=Object.getOwnPropertyDescriptor(H,V):U;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")z=Reflect.decorate(I,H,V,U);else for(var R=I.length-1;R>=0;R--)(Q=I[R])&&(z=(X<3?Q(z):X>3?Q(H,V,z):Q(H,V))||z);return X>3&&z&&Object.defineProperty(H,V,z),z},p=this&&this.__param||function(I,H){return function(V,U){H(V,U,I)}};Object.defineProperty(c,"__esModule",{value:!0}),c.DomRenderer=void 0;const m=d(3787),x=d(2550),y=d(2223),w=d(6171),C=d(6052),v=d(4725),S=d(8055),_=d(8460),b=d(844),j=d(2585),E="xterm-dom-renderer-owner-",T="xterm-rows",D="xterm-fg-",L="xterm-bg-",O="xterm-focus",P="xterm-selection";let G=1,W=c.DomRenderer=class extends b.Disposable{constructor(I,H,V,U,Q,X,z,R,M,q,B,ee,J){super(),this._terminal=I,this._document=H,this._element=V,this._screenElement=U,this._viewportElement=Q,this._helperContainer=X,this._linkifier2=z,this._charSizeService=M,this._optionsService=q,this._bufferService=B,this._coreBrowserService=ee,this._themeService=J,this._terminalClass=G++,this._rowElements=[],this._selectionRenderModel=(0,C.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new _.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(T),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(P),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,w.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((ne=>this._injectCss(ne)))),this._injectCss(this._themeService.colors),this._rowFactory=R.createInstance(m.DomRendererRowFactory,document),this._element.classList.add(E+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((ne=>this._handleLinkHover(ne)))),this.register(this._linkifier2.onHideLinkUnderline((ne=>this._handleLinkLeave(ne)))),this.register((0,b.toDisposable)((()=>{this._element.classList.remove(E+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new x.WidthCache(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){const I=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*I,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*I),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/I),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/I),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(const V of this._rowElements)V.style.width=`${this.dimensions.css.canvas.width}px`,V.style.height=`${this.dimensions.css.cell.height}px`,V.style.lineHeight=`${this.dimensions.css.cell.height}px`,V.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const H=`${this._terminalSelector} .${T} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=H,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(I){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let H=`${this._terminalSelector} .${T} { color: ${I.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;H+=`${this._terminalSelector} .${T} .xterm-dim { color: ${S.color.multiplyOpacity(I.foreground,.5).css};}`,H+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;const V=`blink_underline_${this._terminalClass}`,U=`blink_bar_${this._terminalClass}`,Q=`blink_block_${this._terminalClass}`;H+=`@keyframes ${V} { 50% { border-bottom-style: hidden; }}`,H+=`@keyframes ${U} { 50% { box-shadow: none; }}`,H+=`@keyframes ${Q} { 0% { background-color: ${I.cursor.css}; color: ${I.cursorAccent.css}; } 50% { background-color: inherit; color: ${I.cursor.css}; }}`,H+=`${this._terminalSelector} .${T}.${O} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${V} 1s step-end infinite;}${this._terminalSelector} .${T}.${O} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${U} 1s step-end infinite;}${this._terminalSelector} .${T}.${O} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${Q} 1s step-end infinite;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-block { background-color: ${I.cursor.css}; color: ${I.cursorAccent.css};}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${I.cursor.css} !important; color: ${I.cursorAccent.css} !important;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${I.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${I.cursor.css} inset;}${this._terminalSelector} .${T} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${I.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,H+=`${this._terminalSelector} .${P} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${P} div { position: absolute; background-color: ${I.selectionBackgroundOpaque.css};}${this._terminalSelector} .${P} div { position: absolute; background-color: ${I.selectionInactiveBackgroundOpaque.css};}`;for(const[X,z]of I.ansi.entries())H+=`${this._terminalSelector} .${D}${X} { color: ${z.css}; }${this._terminalSelector} .${D}${X}.xterm-dim { color: ${S.color.multiplyOpacity(z,.5).css}; }${this._terminalSelector} .${L}${X} { background-color: ${z.css}; }`;H+=`${this._terminalSelector} .${D}${y.INVERTED_DEFAULT_COLOR} { color: ${S.color.opaque(I.background).css}; }${this._terminalSelector} .${D}${y.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${S.color.multiplyOpacity(S.color.opaque(I.background),.5).css}; }${this._terminalSelector} .${L}${y.INVERTED_DEFAULT_COLOR} { background-color: ${I.foreground.css}; }`,this._themeStyleElement.textContent=H}_setDefaultSpacing(){const I=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${I}px`,this._rowFactory.defaultSpacing=I}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(I,H){for(let V=this._rowElements.length;V<=H;V++){const U=this._document.createElement("div");this._rowContainer.appendChild(U),this._rowElements.push(U)}for(;this._rowElements.length>H;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(I,H){this._refreshRowElements(I,H),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(O),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(O),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(I,H,V){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(I,H,V),this.renderRows(0,this._bufferService.rows-1),!I||!H)return;this._selectionRenderModel.update(this._terminal,I,H,V);const U=this._selectionRenderModel.viewportStartRow,Q=this._selectionRenderModel.viewportEndRow,X=this._selectionRenderModel.viewportCappedStartRow,z=this._selectionRenderModel.viewportCappedEndRow;if(X>=this._bufferService.rows||z<0)return;const R=this._document.createDocumentFragment();if(V){const M=I[0]>H[0];R.appendChild(this._createSelectionElement(X,M?H[0]:I[0],M?I[0]:H[0],z-X+1))}else{const M=U===X?I[0]:0,q=X===Q?H[0]:this._bufferService.cols;R.appendChild(this._createSelectionElement(X,M,q));const B=z-X-1;if(R.appendChild(this._createSelectionElement(X+1,0,this._bufferService.cols,B)),X!==z){const ee=Q===z?H[0]:this._bufferService.cols;R.appendChild(this._createSelectionElement(z,0,ee))}}this._selectionContainer.appendChild(R)}_createSelectionElement(I,H,V,U=1){const Q=this._document.createElement("div"),X=H*this.dimensions.css.cell.width;let z=this.dimensions.css.cell.width*(V-H);return X+z>this.dimensions.css.canvas.width&&(z=this.dimensions.css.canvas.width-X),Q.style.height=U*this.dimensions.css.cell.height+"px",Q.style.top=I*this.dimensions.css.cell.height+"px",Q.style.left=`${X}px`,Q.style.width=`${z}px`,Q}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(const I of this._rowElements)I.replaceChildren()}renderRows(I,H){const V=this._bufferService.buffer,U=V.ybase+V.y,Q=Math.min(V.x,this._bufferService.cols-1),X=this._optionsService.rawOptions.cursorBlink,z=this._optionsService.rawOptions.cursorStyle,R=this._optionsService.rawOptions.cursorInactiveStyle;for(let M=I;M<=H;M++){const q=M+V.ydisp,B=this._rowElements[M],ee=V.lines.get(q);if(!B||!ee)break;B.replaceChildren(...this._rowFactory.createRow(ee,q,q===U,z,R,Q,X,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${E}${this._terminalClass}`}_handleLinkHover(I){this._setCellUnderline(I.x1,I.x2,I.y1,I.y2,I.cols,!0)}_handleLinkLeave(I){this._setCellUnderline(I.x1,I.x2,I.y1,I.y2,I.cols,!1)}_setCellUnderline(I,H,V,U,Q,X){V<0&&(I=0),U<0&&(H=0);const z=this._bufferService.rows-1;V=Math.max(Math.min(V,z),0),U=Math.max(Math.min(U,z),0),Q=Math.min(Q,this._bufferService.cols);const R=this._bufferService.buffer,M=R.ybase+R.y,q=Math.min(R.x,Q-1),B=this._optionsService.rawOptions.cursorBlink,ee=this._optionsService.rawOptions.cursorStyle,J=this._optionsService.rawOptions.cursorInactiveStyle;for(let ne=V;ne<=U;++ne){const K=ne+R.ydisp,F=this._rowElements[ne],te=R.lines.get(K);if(!F||!te)break;F.replaceChildren(...this._rowFactory.createRow(te,K,K===M,ee,J,q,B,this.dimensions.css.cell.width,this._widthCache,X?ne===V?I:0:-1,X?(ne===U?H:Q)-1:-1))}}};c.DomRenderer=W=f([p(7,j.IInstantiationService),p(8,v.ICharSizeService),p(9,j.IOptionsService),p(10,j.IBufferService),p(11,v.ICoreBrowserService),p(12,v.IThemeService)],W)},3787:function(u,c,d){var f=this&&this.__decorate||function(T,D,L,O){var P,G=arguments.length,W=G<3?D:O===null?O=Object.getOwnPropertyDescriptor(D,L):O;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")W=Reflect.decorate(T,D,L,O);else for(var I=T.length-1;I>=0;I--)(P=T[I])&&(W=(G<3?P(W):G>3?P(D,L,W):P(D,L))||W);return G>3&&W&&Object.defineProperty(D,L,W),W},p=this&&this.__param||function(T,D){return function(L,O){D(L,O,T)}};Object.defineProperty(c,"__esModule",{value:!0}),c.DomRendererRowFactory=void 0;const m=d(2223),x=d(643),y=d(511),w=d(2585),C=d(8055),v=d(4725),S=d(4269),_=d(6171),b=d(3734);let j=c.DomRendererRowFactory=class{constructor(T,D,L,O,P,G,W){this._document=T,this._characterJoinerService=D,this._optionsService=L,this._coreBrowserService=O,this._coreService=P,this._decorationService=G,this._themeService=W,this._workCell=new y.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(T,D,L){this._selectionStart=T,this._selectionEnd=D,this._columnSelectMode=L}createRow(T,D,L,O,P,G,W,I,H,V,U){const Q=[],X=this._characterJoinerService.getJoinedCharacters(D),z=this._themeService.colors;let R,M=T.getNoBgTrimmedLength();L&&M<G+1&&(M=G+1);let q=0,B="",ee=0,J=0,ne=0,K=!1,F=0,te=!1,re=0;const ge=[],_e=V!==-1&&U!==-1;for(let Be=0;Be<M;Be++){T.loadCell(Be,this._workCell);let He=this._workCell.getWidth();if(He===0)continue;let Ne=!1,je=Be,ae=this._workCell;if(X.length>0&&Be===X[0][0]){Ne=!0;const at=X.shift();ae=new S.JoinedCellData(this._workCell,T.translateToString(!0,at[0],at[1]),at[1]-at[0]),je=at[1]-1,He=ae.getWidth()}const ze=this._isCellInSelection(Be,D),fe=L&&Be===G,ue=_e&&Be>=V&&Be<=U;let oe=!1;this._decorationService.forEachDecorationAtCell(Be,D,void 0,(at=>{oe=!0}));let Oe=ae.getChars()||x.WHITESPACE_CELL_CHAR;if(Oe===" "&&(ae.isUnderline()||ae.isOverline())&&(Oe=" "),re=He*I-H.get(Oe,ae.isBold(),ae.isItalic()),R){if(q&&(ze&&te||!ze&&!te&&ae.bg===ee)&&(ze&&te&&z.selectionForeground||ae.fg===J)&&ae.extended.ext===ne&&ue===K&&re===F&&!fe&&!Ne&&!oe){ae.isInvisible()?B+=x.WHITESPACE_CELL_CHAR:B+=Oe,q++;continue}q&&(R.textContent=B),R=this._document.createElement("span"),q=0,B=""}else R=this._document.createElement("span");if(ee=ae.bg,J=ae.fg,ne=ae.extended.ext,K=ue,F=re,te=ze,Ne&&G>=Be&&G<=je&&(G=Be),!this._coreService.isCursorHidden&&fe&&this._coreService.isCursorInitialized){if(ge.push("xterm-cursor"),this._coreBrowserService.isFocused)W&&ge.push("xterm-cursor-blink"),ge.push(O==="bar"?"xterm-cursor-bar":O==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(P)switch(P){case"outline":ge.push("xterm-cursor-outline");break;case"block":ge.push("xterm-cursor-block");break;case"bar":ge.push("xterm-cursor-bar");break;case"underline":ge.push("xterm-cursor-underline")}}if(ae.isBold()&&ge.push("xterm-bold"),ae.isItalic()&&ge.push("xterm-italic"),ae.isDim()&&ge.push("xterm-dim"),B=ae.isInvisible()?x.WHITESPACE_CELL_CHAR:ae.getChars()||x.WHITESPACE_CELL_CHAR,ae.isUnderline()&&(ge.push(`xterm-underline-${ae.extended.underlineStyle}`),B===" "&&(B=" "),!ae.isUnderlineColorDefault()))if(ae.isUnderlineColorRGB())R.style.textDecorationColor=`rgb(${b.AttributeData.toColorRGB(ae.getUnderlineColor()).join(",")})`;else{let at=ae.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&ae.isBold()&&at<8&&(at+=8),R.style.textDecorationColor=z.ansi[at].css}ae.isOverline()&&(ge.push("xterm-overline"),B===" "&&(B=" ")),ae.isStrikethrough()&&ge.push("xterm-strikethrough"),ue&&(R.style.textDecoration="underline");let tt=ae.getFgColor(),Ze=ae.getFgColorMode(),vt=ae.getBgColor(),ce=ae.getBgColorMode();const Te=!!ae.isInverse();if(Te){const at=tt;tt=vt,vt=at;const pe=Ze;Ze=ce,ce=pe}let $e,Ke,rt,Et=!1;switch(this._decorationService.forEachDecorationAtCell(Be,D,void 0,(at=>{at.options.layer!=="top"&&Et||(at.backgroundColorRGB&&(ce=50331648,vt=at.backgroundColorRGB.rgba>>8&16777215,$e=at.backgroundColorRGB),at.foregroundColorRGB&&(Ze=50331648,tt=at.foregroundColorRGB.rgba>>8&16777215,Ke=at.foregroundColorRGB),Et=at.options.layer==="top")})),!Et&&ze&&($e=this._coreBrowserService.isFocused?z.selectionBackgroundOpaque:z.selectionInactiveBackgroundOpaque,vt=$e.rgba>>8&16777215,ce=50331648,Et=!0,z.selectionForeground&&(Ze=50331648,tt=z.selectionForeground.rgba>>8&16777215,Ke=z.selectionForeground)),Et&&ge.push("xterm-decoration-top"),ce){case 16777216:case 33554432:rt=z.ansi[vt],ge.push(`xterm-bg-${vt}`);break;case 50331648:rt=C.channels.toColor(vt>>16,vt>>8&255,255&vt),this._addStyle(R,`background-color:#${E((vt>>>0).toString(16),"0",6)}`);break;default:Te?(rt=z.foreground,ge.push(`xterm-bg-${m.INVERTED_DEFAULT_COLOR}`)):rt=z.background}switch($e||ae.isDim()&&($e=C.color.multiplyOpacity(rt,.5)),Ze){case 16777216:case 33554432:ae.isBold()&&tt<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(tt+=8),this._applyMinimumContrast(R,rt,z.ansi[tt],ae,$e,void 0)||ge.push(`xterm-fg-${tt}`);break;case 50331648:const at=C.channels.toColor(tt>>16&255,tt>>8&255,255&tt);this._applyMinimumContrast(R,rt,at,ae,$e,Ke)||this._addStyle(R,`color:#${E(tt.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(R,rt,z.foreground,ae,$e,Ke)||Te&&ge.push(`xterm-fg-${m.INVERTED_DEFAULT_COLOR}`)}ge.length&&(R.className=ge.join(" "),ge.length=0),fe||Ne||oe?R.textContent=B:q++,re!==this.defaultSpacing&&(R.style.letterSpacing=`${re}px`),Q.push(R),Be=je}return R&&q&&(R.textContent=B),Q}_applyMinimumContrast(T,D,L,O,P,G){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,_.treatGlyphAsBackgroundColor)(O.getCode()))return!1;const W=this._getContrastCache(O);let I;if(P||G||(I=W.getColor(D.rgba,L.rgba)),I===void 0){const H=this._optionsService.rawOptions.minimumContrastRatio/(O.isDim()?2:1);I=C.color.ensureContrastRatio(P||D,G||L,H),W.setColor((P||D).rgba,(G||L).rgba,I??null)}return!!I&&(this._addStyle(T,`color:${I.css}`),!0)}_getContrastCache(T){return T.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(T,D){T.setAttribute("style",`${T.getAttribute("style")||""}${D};`)}_isCellInSelection(T,D){const L=this._selectionStart,O=this._selectionEnd;return!(!L||!O)&&(this._columnSelectMode?L[0]<=O[0]?T>=L[0]&&D>=L[1]&&T<O[0]&&D<=O[1]:T<L[0]&&D>=L[1]&&T>=O[0]&&D<=O[1]:D>L[1]&&D<O[1]||L[1]===O[1]&&D===L[1]&&T>=L[0]&&T<O[0]||L[1]<O[1]&&D===O[1]&&T<O[0]||L[1]<O[1]&&D===L[1]&&T>=L[0])}};function E(T,D,L){for(;T.length<L;)T=D+T;return T}c.DomRendererRowFactory=j=f([p(1,v.ICharacterJoinerService),p(2,w.IOptionsService),p(3,v.ICoreBrowserService),p(4,w.ICoreService),p(5,w.IDecorationService),p(6,v.IThemeService)],j)},2550:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WidthCache=void 0,c.WidthCache=class{constructor(d,f){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=d.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";const p=d.createElement("span");p.classList.add("xterm-char-measure-element");const m=d.createElement("span");m.classList.add("xterm-char-measure-element"),m.style.fontWeight="bold";const x=d.createElement("span");x.classList.add("xterm-char-measure-element"),x.style.fontStyle="italic";const y=d.createElement("span");y.classList.add("xterm-char-measure-element"),y.style.fontWeight="bold",y.style.fontStyle="italic",this._measureElements=[p,m,x,y],this._container.appendChild(p),this._container.appendChild(m),this._container.appendChild(x),this._container.appendChild(y),f.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(d,f,p,m){d===this._font&&f===this._fontSize&&p===this._weight&&m===this._weightBold||(this._font=d,this._fontSize=f,this._weight=p,this._weightBold=m,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${p}`,this._measureElements[1].style.fontWeight=`${m}`,this._measureElements[2].style.fontWeight=`${p}`,this._measureElements[3].style.fontWeight=`${m}`,this.clear())}get(d,f,p){let m=0;if(!f&&!p&&d.length===1&&(m=d.charCodeAt(0))<256){if(this._flat[m]!==-9999)return this._flat[m];const w=this._measure(d,0);return w>0&&(this._flat[m]=w),w}let x=d;f&&(x+="B"),p&&(x+="I");let y=this._holey.get(x);if(y===void 0){let w=0;f&&(w|=1),p&&(w|=2),y=this._measure(d,w),y>0&&this._holey.set(x,y)}return y}_measure(d,f){const p=this._measureElements[f];return p.textContent=d.repeat(32),p.offsetWidth/32}}},2223:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.TEXT_BASELINE=c.DIM_OPACITY=c.INVERTED_DEFAULT_COLOR=void 0;const f=d(6114);c.INVERTED_DEFAULT_COLOR=257,c.DIM_OPACITY=.5,c.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},6171:(u,c)=>{function d(p){return 57508<=p&&p<=57558}function f(p){return p>=128512&&p<=128591||p>=127744&&p<=128511||p>=128640&&p<=128767||p>=9728&&p<=9983||p>=9984&&p<=10175||p>=65024&&p<=65039||p>=129280&&p<=129535||p>=127462&&p<=127487}Object.defineProperty(c,"__esModule",{value:!0}),c.computeNextVariantOffset=c.createRenderDimensions=c.treatGlyphAsBackgroundColor=c.allowRescaling=c.isEmoji=c.isRestrictedPowerlineGlyph=c.isPowerlineGlyph=c.throwIfFalsy=void 0,c.throwIfFalsy=function(p){if(!p)throw new Error("value must not be falsy");return p},c.isPowerlineGlyph=d,c.isRestrictedPowerlineGlyph=function(p){return 57520<=p&&p<=57527},c.isEmoji=f,c.allowRescaling=function(p,m,x,y){return m===1&&x>Math.ceil(1.5*y)&&p!==void 0&&p>255&&!f(p)&&!d(p)&&!(function(w){return 57344<=w&&w<=63743})(p)},c.treatGlyphAsBackgroundColor=function(p){return d(p)||(function(m){return 9472<=m&&m<=9631})(p)},c.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},c.computeNextVariantOffset=function(p,m,x=0){return(p-(2*Math.round(m)-x))%(2*Math.round(m))}},6052:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.createSelectionRenderModel=void 0;class d{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(p,m,x,y=!1){if(this.selectionStart=m,this.selectionEnd=x,!m||!x||m[0]===x[0]&&m[1]===x[1])return void this.clear();const w=p.buffers.active.ydisp,C=m[1]-w,v=x[1]-w,S=Math.max(C,0),_=Math.min(v,p.rows-1);S>=p.rows||_<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=y,this.viewportStartRow=C,this.viewportEndRow=v,this.viewportCappedStartRow=S,this.viewportCappedEndRow=_,this.startCol=m[0],this.endCol=x[0])}isCellSelected(p,m,x){return!!this.hasSelection&&(x-=p.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?m>=this.startCol&&x>=this.viewportCappedStartRow&&m<this.endCol&&x<=this.viewportCappedEndRow:m<this.startCol&&x>=this.viewportCappedStartRow&&m>=this.endCol&&x<=this.viewportCappedEndRow:x>this.viewportStartRow&&x<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&x===this.viewportStartRow&&m>=this.startCol&&m<this.endCol||this.viewportStartRow<this.viewportEndRow&&x===this.viewportEndRow&&m<this.endCol||this.viewportStartRow<this.viewportEndRow&&x===this.viewportStartRow&&m>=this.startCol)}}c.createSelectionRenderModel=function(){return new d}},456:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.SelectionModel=void 0,c.SelectionModel=class{constructor(d){this._bufferService=d,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const d=this.selectionStart[0]+this.selectionStartLength;return d>this._bufferService.cols?d%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)-1]:[d%this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)]:[d,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const d=this.selectionStart[0]+this.selectionStartLength;return d>this._bufferService.cols?[d%this._bufferService.cols,this.selectionStart[1]+Math.floor(d/this._bufferService.cols)]:[Math.max(d,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const d=this.selectionStart,f=this.selectionEnd;return!(!d||!f)&&(d[1]>f[1]||d[1]===f[1]&&d[0]>f[0])}handleTrim(d){return this.selectionStart&&(this.selectionStart[1]-=d),this.selectionEnd&&(this.selectionEnd[1]-=d),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(u,c,d){var f=this&&this.__decorate||function(_,b,j,E){var T,D=arguments.length,L=D<3?b:E===null?E=Object.getOwnPropertyDescriptor(b,j):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(_,b,j,E);else for(var O=_.length-1;O>=0;O--)(T=_[O])&&(L=(D<3?T(L):D>3?T(b,j,L):T(b,j))||L);return D>3&&L&&Object.defineProperty(b,j,L),L},p=this&&this.__param||function(_,b){return function(j,E){b(j,E,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CharSizeService=void 0;const m=d(2585),x=d(8460),y=d(844);let w=c.CharSizeService=class extends y.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(_,b,j){super(),this._optionsService=j,this.width=0,this.height=0,this._onCharSizeChange=this.register(new x.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new S(this._optionsService))}catch{this._measureStrategy=this.register(new v(_,b,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],(()=>this.measure())))}measure(){const _=this._measureStrategy.measure();_.width===this.width&&_.height===this.height||(this.width=_.width,this.height=_.height,this._onCharSizeChange.fire())}};c.CharSizeService=w=f([p(2,m.IOptionsService)],w);class C extends y.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(b,j){b!==void 0&&b>0&&j!==void 0&&j>0&&(this._result.width=b,this._result.height=j)}}class v extends C{constructor(b,j,E){super(),this._document=b,this._parentElement=j,this._optionsService=E,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}}class S extends C{constructor(b){super(),this._optionsService=b,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const j=this._ctx.measureText("W");if(!("width"in j&&"fontBoundingBoxAscent"in j&&"fontBoundingBoxDescent"in j))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const b=this._ctx.measureText("W");return this._validateAndSet(b.width,b.fontBoundingBoxAscent+b.fontBoundingBoxDescent),this._result}}},4269:function(u,c,d){var f=this&&this.__decorate||function(S,_,b,j){var E,T=arguments.length,D=T<3?_:j===null?j=Object.getOwnPropertyDescriptor(_,b):j;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")D=Reflect.decorate(S,_,b,j);else for(var L=S.length-1;L>=0;L--)(E=S[L])&&(D=(T<3?E(D):T>3?E(_,b,D):E(_,b))||D);return T>3&&D&&Object.defineProperty(_,b,D),D},p=this&&this.__param||function(S,_){return function(b,j){_(b,j,S)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CharacterJoinerService=c.JoinedCellData=void 0;const m=d(3734),x=d(643),y=d(511),w=d(2585);class C extends m.AttributeData{constructor(_,b,j){super(),this.content=0,this.combinedData="",this.fg=_.fg,this.bg=_.bg,this.combinedData=b,this._width=j}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(_){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}c.JoinedCellData=C;let v=c.CharacterJoinerService=class c1{constructor(_){this._bufferService=_,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new y.CellData}register(_){const b={id:this._nextCharacterJoinerId++,handler:_};return this._characterJoiners.push(b),b.id}deregister(_){for(let b=0;b<this._characterJoiners.length;b++)if(this._characterJoiners[b].id===_)return this._characterJoiners.splice(b,1),!0;return!1}getJoinedCharacters(_){if(this._characterJoiners.length===0)return[];const b=this._bufferService.buffer.lines.get(_);if(!b||b.length===0)return[];const j=[],E=b.translateToString(!0);let T=0,D=0,L=0,O=b.getFg(0),P=b.getBg(0);for(let G=0;G<b.getTrimmedLength();G++)if(b.loadCell(G,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==O||this._workCell.bg!==P){if(G-T>1){const W=this._getJoinedRanges(E,L,D,b,T);for(let I=0;I<W.length;I++)j.push(W[I])}T=G,L=D,O=this._workCell.fg,P=this._workCell.bg}D+=this._workCell.getChars().length||x.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-T>1){const G=this._getJoinedRanges(E,L,D,b,T);for(let W=0;W<G.length;W++)j.push(G[W])}return j}_getJoinedRanges(_,b,j,E,T){const D=_.substring(b,j);let L=[];try{L=this._characterJoiners[0].handler(D)}catch(O){console.error(O)}for(let O=1;O<this._characterJoiners.length;O++)try{const P=this._characterJoiners[O].handler(D);for(let G=0;G<P.length;G++)c1._mergeRanges(L,P[G])}catch(P){console.error(P)}return this._stringRangesToCellRanges(L,E,T),L}_stringRangesToCellRanges(_,b,j){let E=0,T=!1,D=0,L=_[E];if(L){for(let O=j;O<this._bufferService.cols;O++){const P=b.getWidth(O),G=b.getString(O).length||x.WHITESPACE_CELL_CHAR.length;if(P!==0){if(!T&&L[0]<=D&&(L[0]=O,T=!0),L[1]<=D){if(L[1]=O,L=_[++E],!L)break;L[0]<=D?(L[0]=O,T=!0):T=!1}D+=G}}L&&(L[1]=this._bufferService.cols)}}static _mergeRanges(_,b){let j=!1;for(let E=0;E<_.length;E++){const T=_[E];if(j){if(b[1]<=T[0])return _[E-1][1]=b[1],_;if(b[1]<=T[1])return _[E-1][1]=Math.max(b[1],T[1]),_.splice(E,1),_;_.splice(E,1),E--}else{if(b[1]<=T[0])return _.splice(E,0,b),_;if(b[1]<=T[1])return T[0]=Math.min(b[0],T[0]),_;b[0]<T[1]&&(T[0]=Math.min(b[0],T[0]),j=!0)}}return j?_[_.length-1][1]=b[1]:_.push(b),_}};c.CharacterJoinerService=v=f([p(0,w.IBufferService)],v)},5114:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CoreBrowserService=void 0;const f=d(844),p=d(8460),m=d(3656);class x extends f.Disposable{constructor(C,v,S){super(),this._textarea=C,this._window=v,this.mainDocument=S,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new y(this._window),this._onDprChange=this.register(new p.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new p.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((_=>this._screenDprMonitor.setWindow(_)))),this.register((0,p.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",(()=>this._isFocused=!0)),this._textarea.addEventListener("blur",(()=>this._isFocused=!1))}get window(){return this._window}set window(C){this._window!==C&&(this._window=C,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}c.CoreBrowserService=x;class y extends f.Disposable{constructor(C){super(),this._parentWindow=C,this._windowResizeListener=this.register(new f.MutableDisposable),this._onDprChange=this.register(new p.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,f.toDisposable)((()=>this.clearListener())))}setWindow(C){this._parentWindow=C,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,m.addDisposableDomListener)(this._parentWindow,"resize",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var C;this._outerListener&&((C=this._resolutionMediaMatchList)==null||C.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){this._resolutionMediaMatchList&&this._outerListener&&(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}}},779:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.LinkProviderService=void 0;const f=d(844);class p extends f.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,f.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(x){return this.linkProviders.push(x),{dispose:()=>{const y=this.linkProviders.indexOf(x);y!==-1&&this.linkProviders.splice(y,1)}}}}c.LinkProviderService=p},8934:function(u,c,d){var f=this&&this.__decorate||function(w,C,v,S){var _,b=arguments.length,j=b<3?C:S===null?S=Object.getOwnPropertyDescriptor(C,v):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(w,C,v,S);else for(var E=w.length-1;E>=0;E--)(_=w[E])&&(j=(b<3?_(j):b>3?_(C,v,j):_(C,v))||j);return b>3&&j&&Object.defineProperty(C,v,j),j},p=this&&this.__param||function(w,C){return function(v,S){C(v,S,w)}};Object.defineProperty(c,"__esModule",{value:!0}),c.MouseService=void 0;const m=d(4725),x=d(9806);let y=c.MouseService=class{constructor(w,C){this._renderService=w,this._charSizeService=C}getCoords(w,C,v,S,_){return(0,x.getCoords)(window,w,C,v,S,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,_)}getMouseReportCoords(w,C){const v=(0,x.getCoordsRelativeToElement)(window,w,C);if(this._charSizeService.hasValidSize)return v[0]=Math.min(Math.max(v[0],0),this._renderService.dimensions.css.canvas.width-1),v[1]=Math.min(Math.max(v[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(v[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(v[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(v[0]),y:Math.floor(v[1])}}};c.MouseService=y=f([p(0,m.IRenderService),p(1,m.ICharSizeService)],y)},3230:function(u,c,d){var f=this&&this.__decorate||function(_,b,j,E){var T,D=arguments.length,L=D<3?b:E===null?E=Object.getOwnPropertyDescriptor(b,j):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(_,b,j,E);else for(var O=_.length-1;O>=0;O--)(T=_[O])&&(L=(D<3?T(L):D>3?T(b,j,L):T(b,j))||L);return D>3&&L&&Object.defineProperty(b,j,L),L},p=this&&this.__param||function(_,b){return function(j,E){b(j,E,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.RenderService=void 0;const m=d(6193),x=d(4725),y=d(8460),w=d(844),C=d(7226),v=d(2585);let S=c.RenderService=class extends w.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(_,b,j,E,T,D,L,O){super(),this._rowCount=_,this._charSizeService=E,this._renderer=this.register(new w.MutableDisposable),this._pausedResizeTask=new C.DebouncedIdleTask,this._observerDisposable=this.register(new w.MutableDisposable),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this.register(new y.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new y.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new y.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new y.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new m.RenderDebouncer(((P,G)=>this._renderRows(P,G)),L),this.register(this._renderDebouncer),this.register(L.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(D.onResize((()=>this._fullRefresh()))),this.register(D.buffers.onBufferActivate((()=>{var P;return(P=this._renderer.value)==null?void 0:P.clear()}))),this.register(j.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(T.onDecorationRegistered((()=>this._fullRefresh()))),this.register(T.onDecorationRemoved((()=>this._fullRefresh()))),this.register(j.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],(()=>{this.clear(),this.handleResize(D.cols,D.rows),this._fullRefresh()}))),this.register(j.onMultipleOptionChange(["cursorBlink","cursorStyle"],(()=>this.refreshRows(D.buffer.y,D.buffer.y,!0)))),this.register(O.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(L.window,b),this.register(L.onWindowChange((P=>this._registerIntersectionObserver(P,b))))}_registerIntersectionObserver(_,b){if("IntersectionObserver"in _){const j=new _.IntersectionObserver((E=>this._handleIntersectionChange(E[E.length-1])),{threshold:0});j.observe(b),this._observerDisposable.value=(0,w.toDisposable)((()=>j.disconnect()))}}_handleIntersectionChange(_){this._isPaused=_.isIntersecting===void 0?_.intersectionRatio===0:!_.isIntersecting,this._isPaused||this._charSizeService.hasValidSize||this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(_,b,j=!1){this._isPaused?this._needsFullRefresh=!0:(j||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(_,b,this._rowCount))}_renderRows(_,b){this._renderer.value&&(_=Math.min(_,this._rowCount-1),b=Math.min(b,this._rowCount-1),this._renderer.value.renderRows(_,b),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:_,end:b}),this._onRender.fire({start:_,end:b}),this._isNextRenderRedrawOnly=!0)}resize(_,b){this._rowCount=b,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(_){this._renderer.value=_,this._renderer.value&&(this._renderer.value.onRequestRedraw((b=>this.refreshRows(b.start,b.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(_){return this._renderDebouncer.addRefreshCallback(_)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var _,b;this._renderer.value&&((b=(_=this._renderer.value).clearTextureAtlas)==null||b.call(_),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(_,b){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>{var j;return(j=this._renderer.value)==null?void 0:j.handleResize(_,b)})):this._renderer.value.handleResize(_,b),this._fullRefresh())}handleCharSizeChanged(){var _;(_=this._renderer.value)==null||_.handleCharSizeChanged()}handleBlur(){var _;(_=this._renderer.value)==null||_.handleBlur()}handleFocus(){var _;(_=this._renderer.value)==null||_.handleFocus()}handleSelectionChanged(_,b,j){var E;this._selectionState.start=_,this._selectionState.end=b,this._selectionState.columnSelectMode=j,(E=this._renderer.value)==null||E.handleSelectionChanged(_,b,j)}handleCursorMove(){var _;(_=this._renderer.value)==null||_.handleCursorMove()}clear(){var _;(_=this._renderer.value)==null||_.clear()}};c.RenderService=S=f([p(2,v.IOptionsService),p(3,x.ICharSizeService),p(4,v.IDecorationService),p(5,v.IBufferService),p(6,x.ICoreBrowserService),p(7,x.IThemeService)],S)},9312:function(u,c,d){var f=this&&this.__decorate||function(L,O,P,G){var W,I=arguments.length,H=I<3?O:G===null?G=Object.getOwnPropertyDescriptor(O,P):G;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")H=Reflect.decorate(L,O,P,G);else for(var V=L.length-1;V>=0;V--)(W=L[V])&&(H=(I<3?W(H):I>3?W(O,P,H):W(O,P))||H);return I>3&&H&&Object.defineProperty(O,P,H),H},p=this&&this.__param||function(L,O){return function(P,G){O(P,G,L)}};Object.defineProperty(c,"__esModule",{value:!0}),c.SelectionService=void 0;const m=d(9806),x=d(9504),y=d(456),w=d(4725),C=d(8460),v=d(844),S=d(6114),_=d(4841),b=d(511),j=d(2585),E=" ",T=new RegExp(E,"g");let D=c.SelectionService=class extends v.Disposable{constructor(L,O,P,G,W,I,H,V,U){super(),this._element=L,this._screenElement=O,this._linkifier=P,this._bufferService=G,this._coreService=W,this._mouseService=I,this._optionsService=H,this._renderService=V,this._coreBrowserService=U,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new b.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new C.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new C.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new C.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new C.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=Q=>this._handleMouseMove(Q),this._mouseUpListener=Q=>this._handleMouseUp(Q),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((Q=>this._handleTrim(Q))),this.register(this._bufferService.buffers.onBufferActivate((Q=>this._handleBufferActivate(Q)))),this.enable(),this._model=new y.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,v.toDisposable)((()=>{this._removeMouseDownListeners()})))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){const L=this._model.finalSelectionStart,O=this._model.finalSelectionEnd;return!(!L||!O||L[0]===O[0]&&L[1]===O[1])}get selectionText(){const L=this._model.finalSelectionStart,O=this._model.finalSelectionEnd;if(!L||!O)return"";const P=this._bufferService.buffer,G=[];if(this._activeSelectionMode===3){if(L[0]===O[0])return"";const W=L[0]<O[0]?L[0]:O[0],I=L[0]<O[0]?O[0]:L[0];for(let H=L[1];H<=O[1];H++){const V=P.translateBufferLineToString(H,!0,W,I);G.push(V)}}else{const W=L[1]===O[1]?O[0]:void 0;G.push(P.translateBufferLineToString(L[1],!0,L[0],W));for(let I=L[1]+1;I<=O[1]-1;I++){const H=P.lines.get(I),V=P.translateBufferLineToString(I,!0);H!=null&&H.isWrapped?G[G.length-1]+=V:G.push(V)}if(L[1]!==O[1]){const I=P.lines.get(O[1]),H=P.translateBufferLineToString(O[1],!0,0,O[0]);I&&I.isWrapped?G[G.length-1]+=H:G.push(H)}}return G.map((W=>W.replace(T," "))).join(S.isWindows?`\r
|
|
65
|
+
`:`
|
|
66
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(L){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),S.isLinux&&L&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(L){const O=this._getMouseBufferCoords(L),P=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;return!!(P&&G&&O)&&this._areCoordsInSelection(O,P,G)}isCellInSelection(L,O){const P=this._model.finalSelectionStart,G=this._model.finalSelectionEnd;return!(!P||!G)&&this._areCoordsInSelection([L,O],P,G)}_areCoordsInSelection(L,O,P){return L[1]>O[1]&&L[1]<P[1]||O[1]===P[1]&&L[1]===O[1]&&L[0]>=O[0]&&L[0]<P[0]||O[1]<P[1]&&L[1]===P[1]&&L[0]<P[0]||O[1]<P[1]&&L[1]===O[1]&&L[0]>=O[0]}_selectWordAtCursor(L,O){var W,I;const P=(I=(W=this._linkifier.currentLink)==null?void 0:W.link)==null?void 0:I.range;if(P)return this._model.selectionStart=[P.start.x-1,P.start.y-1],this._model.selectionStartLength=(0,_.getRangeLength)(P,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const G=this._getMouseBufferCoords(L);return!!G&&(this._selectWordAt(G,O),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(L,O){this._model.clearSelection(),L=Math.max(L,0),O=Math.min(O,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,L],this._model.selectionEnd=[this._bufferService.cols,O],this.refresh(),this._onSelectionChange.fire()}_handleTrim(L){this._model.handleTrim(L)&&this.refresh()}_getMouseBufferCoords(L){const O=this._mouseService.getCoords(L,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(O)return O[0]--,O[1]--,O[1]+=this._bufferService.buffer.ydisp,O}_getMouseEventScrollAmount(L){let O=(0,m.getCoordsRelativeToElement)(this._coreBrowserService.window,L,this._screenElement)[1];const P=this._renderService.dimensions.css.canvas.height;return O>=0&&O<=P?0:(O>P&&(O-=P),O=Math.min(Math.max(O,-50),50),O/=50,O/Math.abs(O)+Math.round(14*O))}shouldForceSelection(L){return S.isMac?L.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:L.shiftKey}handleMouseDown(L){if(this._mouseDownTimeStamp=L.timeStamp,(L.button!==2||!this.hasSelection)&&L.button===0){if(!this._enabled){if(!this.shouldForceSelection(L))return;L.stopPropagation()}L.preventDefault(),this._dragScrollAmount=0,this._enabled&&L.shiftKey?this._handleIncrementalClick(L):L.detail===1?this._handleSingleClick(L):L.detail===2?this._handleDoubleClick(L):L.detail===3&&this._handleTripleClick(L),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval((()=>this._dragScroll()),50)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(L){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(L))}_handleSingleClick(L){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(L)?3:0,this._model.selectionStart=this._getMouseBufferCoords(L),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const O=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);O&&O.length!==this._model.selectionStart[0]&&O.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(L){this._selectWordAtCursor(L,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(L){const O=this._getMouseBufferCoords(L);O&&(this._activeSelectionMode=2,this._selectLineAt(O[1]))}shouldColumnSelect(L){return L.altKey&&!(S.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(L){if(L.stopImmediatePropagation(),!this._model.selectionStart)return;const O=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(L),!this._model.selectionEnd)return void this.refresh(!0);this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(L),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const P=this._bufferService.buffer;if(this._model.selectionEnd[1]<P.lines.length){const G=P.lines.get(this._model.selectionEnd[1]);G&&G.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}O&&O[0]===this._model.selectionEnd[0]&&O[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const L=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(L.ydisp+this._bufferService.rows,L.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=L.ydisp),this.refresh()}}_handleMouseUp(L){const O=L.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&O<500&&L.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const P=this._mouseService.getCoords(L,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(P&&P[0]!==void 0&&P[1]!==void 0){const G=(0,x.moveToCellSequence)(P[0]-1,P[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(G,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const L=this._model.finalSelectionStart,O=this._model.finalSelectionEnd,P=!(!L||!O||L[0]===O[0]&&L[1]===O[1]);P?L&&O&&(this._oldSelectionStart&&this._oldSelectionEnd&&L[0]===this._oldSelectionStart[0]&&L[1]===this._oldSelectionStart[1]&&O[0]===this._oldSelectionEnd[0]&&O[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(L,O,P)):this._oldHasSelection&&this._fireOnSelectionChange(L,O,P)}_fireOnSelectionChange(L,O,P){this._oldSelectionStart=L,this._oldSelectionEnd=O,this._oldHasSelection=P,this._onSelectionChange.fire()}_handleBufferActivate(L){this.clearSelection(),this._trimListener.dispose(),this._trimListener=L.activeBuffer.lines.onTrim((O=>this._handleTrim(O)))}_convertViewportColToCharacterIndex(L,O){let P=O;for(let G=0;O>=G;G++){const W=L.loadCell(G,this._workCell).getChars().length;this._workCell.getWidth()===0?P--:W>1&&O!==G&&(P+=W-1)}return P}setSelection(L,O,P){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[L,O],this._model.selectionStartLength=P,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(L){this._isClickInSelection(L)||(this._selectWordAtCursor(L,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(L,O,P=!0,G=!0){if(L[0]>=this._bufferService.cols)return;const W=this._bufferService.buffer,I=W.lines.get(L[1]);if(!I)return;const H=W.translateBufferLineToString(L[1],!1);let V=this._convertViewportColToCharacterIndex(I,L[0]),U=V;const Q=L[0]-V;let X=0,z=0,R=0,M=0;if(H.charAt(V)===" "){for(;V>0&&H.charAt(V-1)===" ";)V--;for(;U<H.length&&H.charAt(U+1)===" ";)U++}else{let ee=L[0],J=L[0];I.getWidth(ee)===0&&(X++,ee--),I.getWidth(J)===2&&(z++,J++);const ne=I.getString(J).length;for(ne>1&&(M+=ne-1,U+=ne-1);ee>0&&V>0&&!this._isCharWordSeparator(I.loadCell(ee-1,this._workCell));){I.loadCell(ee-1,this._workCell);const K=this._workCell.getChars().length;this._workCell.getWidth()===0?(X++,ee--):K>1&&(R+=K-1,V-=K-1),V--,ee--}for(;J<I.length&&U+1<H.length&&!this._isCharWordSeparator(I.loadCell(J+1,this._workCell));){I.loadCell(J+1,this._workCell);const K=this._workCell.getChars().length;this._workCell.getWidth()===2?(z++,J++):K>1&&(M+=K-1,U+=K-1),U++,J++}}U++;let q=V+Q-X+R,B=Math.min(this._bufferService.cols,U-V+X+z-R-M);if(O||H.slice(V,U).trim()!==""){if(P&&q===0&&I.getCodePoint(0)!==32){const ee=W.lines.get(L[1]-1);if(ee&&I.isWrapped&&ee.getCodePoint(this._bufferService.cols-1)!==32){const J=this._getWordAt([this._bufferService.cols-1,L[1]-1],!1,!0,!1);if(J){const ne=this._bufferService.cols-J.start;q-=ne,B+=ne}}}if(G&&q+B===this._bufferService.cols&&I.getCodePoint(this._bufferService.cols-1)!==32){const ee=W.lines.get(L[1]+1);if(ee!=null&&ee.isWrapped&&ee.getCodePoint(0)!==32){const J=this._getWordAt([0,L[1]+1],!1,!1,!0);J&&(B+=J.length)}}return{start:q,length:B}}}_selectWordAt(L,O){const P=this._getWordAt(L,O);if(P){for(;P.start<0;)P.start+=this._bufferService.cols,L[1]--;this._model.selectionStart=[P.start,L[1]],this._model.selectionStartLength=P.length}}_selectToWordAt(L){const O=this._getWordAt(L,!0);if(O){let P=L[1];for(;O.start<0;)O.start+=this._bufferService.cols,P--;if(!this._model.areSelectionValuesReversed())for(;O.start+O.length>this._bufferService.cols;)O.length-=this._bufferService.cols,P++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?O.start:O.start+O.length,P]}}_isCharWordSeparator(L){return L.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(L.getChars())>=0}_selectLineAt(L){const O=this._bufferService.buffer.getWrappedRangeForLine(L),P={start:{x:0,y:O.first},end:{x:this._bufferService.cols-1,y:O.last}};this._model.selectionStart=[0,O.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,_.getRangeLength)(P,this._bufferService.cols)}};c.SelectionService=D=f([p(3,j.IBufferService),p(4,j.ICoreService),p(5,w.IMouseService),p(6,j.IOptionsService),p(7,w.IRenderService),p(8,w.ICoreBrowserService)],D)},4725:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ILinkProviderService=c.IThemeService=c.ICharacterJoinerService=c.ISelectionService=c.IRenderService=c.IMouseService=c.ICoreBrowserService=c.ICharSizeService=void 0;const f=d(8343);c.ICharSizeService=(0,f.createDecorator)("CharSizeService"),c.ICoreBrowserService=(0,f.createDecorator)("CoreBrowserService"),c.IMouseService=(0,f.createDecorator)("MouseService"),c.IRenderService=(0,f.createDecorator)("RenderService"),c.ISelectionService=(0,f.createDecorator)("SelectionService"),c.ICharacterJoinerService=(0,f.createDecorator)("CharacterJoinerService"),c.IThemeService=(0,f.createDecorator)("ThemeService"),c.ILinkProviderService=(0,f.createDecorator)("LinkProviderService")},6731:function(u,c,d){var f=this&&this.__decorate||function(D,L,O,P){var G,W=arguments.length,I=W<3?L:P===null?P=Object.getOwnPropertyDescriptor(L,O):P;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")I=Reflect.decorate(D,L,O,P);else for(var H=D.length-1;H>=0;H--)(G=D[H])&&(I=(W<3?G(I):W>3?G(L,O,I):G(L,O))||I);return W>3&&I&&Object.defineProperty(L,O,I),I},p=this&&this.__param||function(D,L){return function(O,P){L(O,P,D)}};Object.defineProperty(c,"__esModule",{value:!0}),c.ThemeService=c.DEFAULT_ANSI_COLORS=void 0;const m=d(7239),x=d(8055),y=d(8460),w=d(844),C=d(2585),v=x.css.toColor("#ffffff"),S=x.css.toColor("#000000"),_=x.css.toColor("#ffffff"),b=x.css.toColor("#000000"),j={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};c.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const D=[x.css.toColor("#2e3436"),x.css.toColor("#cc0000"),x.css.toColor("#4e9a06"),x.css.toColor("#c4a000"),x.css.toColor("#3465a4"),x.css.toColor("#75507b"),x.css.toColor("#06989a"),x.css.toColor("#d3d7cf"),x.css.toColor("#555753"),x.css.toColor("#ef2929"),x.css.toColor("#8ae234"),x.css.toColor("#fce94f"),x.css.toColor("#729fcf"),x.css.toColor("#ad7fa8"),x.css.toColor("#34e2e2"),x.css.toColor("#eeeeec")],L=[0,95,135,175,215,255];for(let O=0;O<216;O++){const P=L[O/36%6|0],G=L[O/6%6|0],W=L[O%6];D.push({css:x.channels.toCss(P,G,W),rgba:x.channels.toRgba(P,G,W)})}for(let O=0;O<24;O++){const P=8+10*O;D.push({css:x.channels.toCss(P,P,P),rgba:x.channels.toRgba(P,P,P)})}return D})());let E=c.ThemeService=class extends w.Disposable{get colors(){return this._colors}constructor(D){super(),this._optionsService=D,this._contrastCache=new m.ColorContrastCache,this._halfContrastCache=new m.ColorContrastCache,this._onChangeColors=this.register(new y.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:v,background:S,cursor:_,cursorAccent:b,selectionForeground:void 0,selectionBackgroundTransparent:j,selectionBackgroundOpaque:x.color.blend(S,j),selectionInactiveBackgroundTransparent:j,selectionInactiveBackgroundOpaque:x.color.blend(S,j),ansi:c.DEFAULT_ANSI_COLORS.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this.register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",(()=>this._contrastCache.clear()))),this.register(this._optionsService.onSpecificOptionChange("theme",(()=>this._setTheme(this._optionsService.rawOptions.theme))))}_setTheme(D={}){const L=this._colors;if(L.foreground=T(D.foreground,v),L.background=T(D.background,S),L.cursor=T(D.cursor,_),L.cursorAccent=T(D.cursorAccent,b),L.selectionBackgroundTransparent=T(D.selectionBackground,j),L.selectionBackgroundOpaque=x.color.blend(L.background,L.selectionBackgroundTransparent),L.selectionInactiveBackgroundTransparent=T(D.selectionInactiveBackground,L.selectionBackgroundTransparent),L.selectionInactiveBackgroundOpaque=x.color.blend(L.background,L.selectionInactiveBackgroundTransparent),L.selectionForeground=D.selectionForeground?T(D.selectionForeground,x.NULL_COLOR):void 0,L.selectionForeground===x.NULL_COLOR&&(L.selectionForeground=void 0),x.color.isOpaque(L.selectionBackgroundTransparent)&&(L.selectionBackgroundTransparent=x.color.opacity(L.selectionBackgroundTransparent,.3)),x.color.isOpaque(L.selectionInactiveBackgroundTransparent)&&(L.selectionInactiveBackgroundTransparent=x.color.opacity(L.selectionInactiveBackgroundTransparent,.3)),L.ansi=c.DEFAULT_ANSI_COLORS.slice(),L.ansi[0]=T(D.black,c.DEFAULT_ANSI_COLORS[0]),L.ansi[1]=T(D.red,c.DEFAULT_ANSI_COLORS[1]),L.ansi[2]=T(D.green,c.DEFAULT_ANSI_COLORS[2]),L.ansi[3]=T(D.yellow,c.DEFAULT_ANSI_COLORS[3]),L.ansi[4]=T(D.blue,c.DEFAULT_ANSI_COLORS[4]),L.ansi[5]=T(D.magenta,c.DEFAULT_ANSI_COLORS[5]),L.ansi[6]=T(D.cyan,c.DEFAULT_ANSI_COLORS[6]),L.ansi[7]=T(D.white,c.DEFAULT_ANSI_COLORS[7]),L.ansi[8]=T(D.brightBlack,c.DEFAULT_ANSI_COLORS[8]),L.ansi[9]=T(D.brightRed,c.DEFAULT_ANSI_COLORS[9]),L.ansi[10]=T(D.brightGreen,c.DEFAULT_ANSI_COLORS[10]),L.ansi[11]=T(D.brightYellow,c.DEFAULT_ANSI_COLORS[11]),L.ansi[12]=T(D.brightBlue,c.DEFAULT_ANSI_COLORS[12]),L.ansi[13]=T(D.brightMagenta,c.DEFAULT_ANSI_COLORS[13]),L.ansi[14]=T(D.brightCyan,c.DEFAULT_ANSI_COLORS[14]),L.ansi[15]=T(D.brightWhite,c.DEFAULT_ANSI_COLORS[15]),D.extendedAnsi){const O=Math.min(L.ansi.length-16,D.extendedAnsi.length);for(let P=0;P<O;P++)L.ansi[P+16]=T(D.extendedAnsi[P],c.DEFAULT_ANSI_COLORS[P+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(D){this._restoreColor(D),this._onChangeColors.fire(this.colors)}_restoreColor(D){if(D!==void 0)switch(D){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[D]=this._restoreColors.ansi[D]}else for(let L=0;L<this._restoreColors.ansi.length;++L)this._colors.ansi[L]=this._restoreColors.ansi[L]}modifyColors(D){D(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function T(D,L){if(D!==void 0)try{return x.css.toColor(D)}catch{}return L}c.ThemeService=E=f([p(0,C.IOptionsService)],E)},6349:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CircularList=void 0;const f=d(8460),p=d(844);class m extends p.Disposable{constructor(y){super(),this._maxLength=y,this.onDeleteEmitter=this.register(new f.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new f.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new f.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(y){if(this._maxLength===y)return;const w=new Array(y);for(let C=0;C<Math.min(y,this.length);C++)w[C]=this._array[this._getCyclicIndex(C)];this._array=w,this._maxLength=y,this._startIndex=0}get length(){return this._length}set length(y){if(y>this._length)for(let w=this._length;w<y;w++)this._array[w]=void 0;this._length=y}get(y){return this._array[this._getCyclicIndex(y)]}set(y,w){this._array[this._getCyclicIndex(y)]=w}push(y){this._array[this._getCyclicIndex(this._length)]=y,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(y,w,...C){if(w){for(let v=y;v<this._length-w;v++)this._array[this._getCyclicIndex(v)]=this._array[this._getCyclicIndex(v+w)];this._length-=w,this.onDeleteEmitter.fire({index:y,amount:w})}for(let v=this._length-1;v>=y;v--)this._array[this._getCyclicIndex(v+C.length)]=this._array[this._getCyclicIndex(v)];for(let v=0;v<C.length;v++)this._array[this._getCyclicIndex(y+v)]=C[v];if(C.length&&this.onInsertEmitter.fire({index:y,amount:C.length}),this._length+C.length>this._maxLength){const v=this._length+C.length-this._maxLength;this._startIndex+=v,this._length=this._maxLength,this.onTrimEmitter.fire(v)}else this._length+=C.length}trimStart(y){y>this._length&&(y=this._length),this._startIndex+=y,this._length-=y,this.onTrimEmitter.fire(y)}shiftElements(y,w,C){if(!(w<=0)){if(y<0||y>=this._length)throw new Error("start argument out of range");if(y+C<0)throw new Error("Cannot shift elements in list beyond index 0");if(C>0){for(let S=w-1;S>=0;S--)this.set(y+S+C,this.get(y+S));const v=y+w+C-this._length;if(v>0)for(this._length+=v;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let v=0;v<w;v++)this.set(y+v+C,this.get(y+v))}}_getCyclicIndex(y){return(this._startIndex+y)%this._maxLength}}c.CircularList=m},1439:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.clone=void 0,c.clone=function d(f,p=5){if(typeof f!="object")return f;const m=Array.isArray(f)?[]:{};for(const x in f)m[x]=p<=1?f[x]:f[x]&&d(f[x],p-1);return m}},8055:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.contrastRatio=c.toPaddedHex=c.rgba=c.rgb=c.css=c.color=c.channels=c.NULL_COLOR=void 0;let d=0,f=0,p=0,m=0;var x,y,w,C,v;function S(b){const j=b.toString(16);return j.length<2?"0"+j:j}function _(b,j){return b<j?(j+.05)/(b+.05):(b+.05)/(j+.05)}c.NULL_COLOR={css:"#00000000",rgba:0},(function(b){b.toCss=function(j,E,T,D){return D!==void 0?`#${S(j)}${S(E)}${S(T)}${S(D)}`:`#${S(j)}${S(E)}${S(T)}`},b.toRgba=function(j,E,T,D=255){return(j<<24|E<<16|T<<8|D)>>>0},b.toColor=function(j,E,T,D){return{css:b.toCss(j,E,T,D),rgba:b.toRgba(j,E,T,D)}}})(x||(c.channels=x={})),(function(b){function j(E,T){return m=Math.round(255*T),[d,f,p]=v.toChannels(E.rgba),{css:x.toCss(d,f,p,m),rgba:x.toRgba(d,f,p,m)}}b.blend=function(E,T){if(m=(255&T.rgba)/255,m===1)return{css:T.css,rgba:T.rgba};const D=T.rgba>>24&255,L=T.rgba>>16&255,O=T.rgba>>8&255,P=E.rgba>>24&255,G=E.rgba>>16&255,W=E.rgba>>8&255;return d=P+Math.round((D-P)*m),f=G+Math.round((L-G)*m),p=W+Math.round((O-W)*m),{css:x.toCss(d,f,p),rgba:x.toRgba(d,f,p)}},b.isOpaque=function(E){return(255&E.rgba)==255},b.ensureContrastRatio=function(E,T,D){const L=v.ensureContrastRatio(E.rgba,T.rgba,D);if(L)return x.toColor(L>>24&255,L>>16&255,L>>8&255)},b.opaque=function(E){const T=(255|E.rgba)>>>0;return[d,f,p]=v.toChannels(T),{css:x.toCss(d,f,p),rgba:T}},b.opacity=j,b.multiplyOpacity=function(E,T){return m=255&E.rgba,j(E,m*T/255)},b.toColorRGB=function(E){return[E.rgba>>24&255,E.rgba>>16&255,E.rgba>>8&255]}})(y||(c.color=y={})),(function(b){let j,E;try{const T=document.createElement("canvas");T.width=1,T.height=1;const D=T.getContext("2d",{willReadFrequently:!0});D&&(j=D,j.globalCompositeOperation="copy",E=j.createLinearGradient(0,0,1,1))}catch{}b.toColor=function(T){if(T.match(/#[\da-f]{3,8}/i))switch(T.length){case 4:return d=parseInt(T.slice(1,2).repeat(2),16),f=parseInt(T.slice(2,3).repeat(2),16),p=parseInt(T.slice(3,4).repeat(2),16),x.toColor(d,f,p);case 5:return d=parseInt(T.slice(1,2).repeat(2),16),f=parseInt(T.slice(2,3).repeat(2),16),p=parseInt(T.slice(3,4).repeat(2),16),m=parseInt(T.slice(4,5).repeat(2),16),x.toColor(d,f,p,m);case 7:return{css:T,rgba:(parseInt(T.slice(1),16)<<8|255)>>>0};case 9:return{css:T,rgba:parseInt(T.slice(1),16)>>>0}}const D=T.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(D)return d=parseInt(D[1]),f=parseInt(D[2]),p=parseInt(D[3]),m=Math.round(255*(D[5]===void 0?1:parseFloat(D[5]))),x.toColor(d,f,p,m);if(!j||!E)throw new Error("css.toColor: Unsupported css format");if(j.fillStyle=E,j.fillStyle=T,typeof j.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(j.fillRect(0,0,1,1),[d,f,p,m]=j.getImageData(0,0,1,1).data,m!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:x.toRgba(d,f,p,m),css:T}}})(w||(c.css=w={})),(function(b){function j(E,T,D){const L=E/255,O=T/255,P=D/255;return .2126*(L<=.03928?L/12.92:Math.pow((L+.055)/1.055,2.4))+.7152*(O<=.03928?O/12.92:Math.pow((O+.055)/1.055,2.4))+.0722*(P<=.03928?P/12.92:Math.pow((P+.055)/1.055,2.4))}b.relativeLuminance=function(E){return j(E>>16&255,E>>8&255,255&E)},b.relativeLuminance2=j})(C||(c.rgb=C={})),(function(b){function j(T,D,L){const O=T>>24&255,P=T>>16&255,G=T>>8&255;let W=D>>24&255,I=D>>16&255,H=D>>8&255,V=_(C.relativeLuminance2(W,I,H),C.relativeLuminance2(O,P,G));for(;V<L&&(W>0||I>0||H>0);)W-=Math.max(0,Math.ceil(.1*W)),I-=Math.max(0,Math.ceil(.1*I)),H-=Math.max(0,Math.ceil(.1*H)),V=_(C.relativeLuminance2(W,I,H),C.relativeLuminance2(O,P,G));return(W<<24|I<<16|H<<8|255)>>>0}function E(T,D,L){const O=T>>24&255,P=T>>16&255,G=T>>8&255;let W=D>>24&255,I=D>>16&255,H=D>>8&255,V=_(C.relativeLuminance2(W,I,H),C.relativeLuminance2(O,P,G));for(;V<L&&(W<255||I<255||H<255);)W=Math.min(255,W+Math.ceil(.1*(255-W))),I=Math.min(255,I+Math.ceil(.1*(255-I))),H=Math.min(255,H+Math.ceil(.1*(255-H))),V=_(C.relativeLuminance2(W,I,H),C.relativeLuminance2(O,P,G));return(W<<24|I<<16|H<<8|255)>>>0}b.blend=function(T,D){if(m=(255&D)/255,m===1)return D;const L=D>>24&255,O=D>>16&255,P=D>>8&255,G=T>>24&255,W=T>>16&255,I=T>>8&255;return d=G+Math.round((L-G)*m),f=W+Math.round((O-W)*m),p=I+Math.round((P-I)*m),x.toRgba(d,f,p)},b.ensureContrastRatio=function(T,D,L){const O=C.relativeLuminance(T>>8),P=C.relativeLuminance(D>>8);if(_(O,P)<L){if(P<O){const I=j(T,D,L),H=_(O,C.relativeLuminance(I>>8));if(H<L){const V=E(T,D,L);return H>_(O,C.relativeLuminance(V>>8))?I:V}return I}const G=E(T,D,L),W=_(O,C.relativeLuminance(G>>8));if(W<L){const I=j(T,D,L);return W>_(O,C.relativeLuminance(I>>8))?G:I}return G}},b.reduceLuminance=j,b.increaseLuminance=E,b.toChannels=function(T){return[T>>24&255,T>>16&255,T>>8&255,255&T]}})(v||(c.rgba=v={})),c.toPaddedHex=S,c.contrastRatio=_},8969:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CoreTerminal=void 0;const f=d(844),p=d(2585),m=d(4348),x=d(7866),y=d(744),w=d(7302),C=d(6975),v=d(8460),S=d(1753),_=d(1480),b=d(7994),j=d(9282),E=d(5435),T=d(5981),D=d(2660);let L=!1;class O extends f.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new v.EventEmitter),this._onScroll.event((G=>{var W;(W=this._onScrollApi)==null||W.fire(G.position)}))),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(G){for(const W in G)this.optionsService.options[W]=G[W]}constructor(G){super(),this._windowsWrappingHeuristics=this.register(new f.MutableDisposable),this._onBinary=this.register(new v.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new v.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new v.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new v.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new v.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new v.EventEmitter),this._instantiationService=new m.InstantiationService,this.optionsService=this.register(new w.OptionsService(G)),this._instantiationService.setService(p.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(y.BufferService)),this._instantiationService.setService(p.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(x.LogService)),this._instantiationService.setService(p.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(C.CoreService)),this._instantiationService.setService(p.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(S.CoreMouseService)),this._instantiationService.setService(p.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(_.UnicodeService)),this._instantiationService.setService(p.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(b.CharsetService),this._instantiationService.setService(p.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(D.OscLinkService),this._instantiationService.setService(p.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new E.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,v.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,v.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,v.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,v.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((W=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((W=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new T.WriteBuffer(((W,I)=>this._inputHandler.parse(W,I)))),this.register((0,v.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(G,W){this._writeBuffer.write(G,W)}writeSync(G,W){this._logService.logLevel<=p.LogLevelEnum.WARN&&!L&&(this._logService.warn("writeSync is unreliable and will be removed soon."),L=!0),this._writeBuffer.writeSync(G,W)}input(G,W=!0){this.coreService.triggerDataEvent(G,W)}resize(G,W){isNaN(G)||isNaN(W)||(G=Math.max(G,y.MINIMUM_COLS),W=Math.max(W,y.MINIMUM_ROWS),this._bufferService.resize(G,W))}scroll(G,W=!1){this._bufferService.scroll(G,W)}scrollLines(G,W,I){this._bufferService.scrollLines(G,W,I)}scrollPages(G){this.scrollLines(G*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(G){const W=G-this._bufferService.buffer.ydisp;W!==0&&this.scrollLines(W)}registerEscHandler(G,W){return this._inputHandler.registerEscHandler(G,W)}registerDcsHandler(G,W){return this._inputHandler.registerDcsHandler(G,W)}registerCsiHandler(G,W){return this._inputHandler.registerCsiHandler(G,W)}registerOscHandler(G,W){return this._inputHandler.registerOscHandler(G,W)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let G=!1;const W=this.optionsService.rawOptions.windowsPty;W&&W.buildNumber!==void 0&&W.buildNumber!==void 0?G=W.backend==="conpty"&&W.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(G=!0),G?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const G=[];G.push(this.onLineFeed(j.updateWindowsModeWrappedState.bind(null,this._bufferService))),G.push(this.registerCsiHandler({final:"H"},(()=>((0,j.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,f.toDisposable)((()=>{for(const W of G)W.dispose()}))}}}c.CoreTerminal=O},8460:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.runAndSubscribe=c.forwardEvent=c.EventEmitter=void 0,c.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=d=>(this._listeners.push(d),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===d)return void this._listeners.splice(f,1)}}})),this._event}fire(d,f){const p=[];for(let m=0;m<this._listeners.length;m++)p.push(this._listeners[m]);for(let m=0;m<p.length;m++)p[m].call(void 0,d,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},c.forwardEvent=function(d,f){return d((p=>f.fire(p)))},c.runAndSubscribe=function(d,f){return f(void 0),d((p=>f(p)))}},5435:function(u,c,d){var f=this&&this.__decorate||function(X,z,R,M){var q,B=arguments.length,ee=B<3?z:M===null?M=Object.getOwnPropertyDescriptor(z,R):M;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")ee=Reflect.decorate(X,z,R,M);else for(var J=X.length-1;J>=0;J--)(q=X[J])&&(ee=(B<3?q(ee):B>3?q(z,R,ee):q(z,R))||ee);return B>3&&ee&&Object.defineProperty(z,R,ee),ee},p=this&&this.__param||function(X,z){return function(R,M){z(R,M,X)}};Object.defineProperty(c,"__esModule",{value:!0}),c.InputHandler=c.WindowsOptionsReportType=void 0;const m=d(2584),x=d(7116),y=d(2015),w=d(844),C=d(482),v=d(8437),S=d(8460),_=d(643),b=d(511),j=d(3734),E=d(2585),T=d(1480),D=d(6242),L=d(6351),O=d(5941),P={"(":0,")":1,"*":2,"+":3,"-":1,".":2},G=131072;function W(X,z){if(X>24)return z.setWinLines||!1;switch(X){case 1:return!!z.restoreWin;case 2:return!!z.minimizeWin;case 3:return!!z.setWinPosition;case 4:return!!z.setWinSizePixels;case 5:return!!z.raiseWin;case 6:return!!z.lowerWin;case 7:return!!z.refreshWin;case 8:return!!z.setWinSizeChars;case 9:return!!z.maximizeWin;case 10:return!!z.fullscreenWin;case 11:return!!z.getWinState;case 13:return!!z.getWinPosition;case 14:return!!z.getWinSizePixels;case 15:return!!z.getScreenSizePixels;case 16:return!!z.getCellSizePixels;case 18:return!!z.getWinSizeChars;case 19:return!!z.getScreenSizeChars;case 20:return!!z.getIconTitle;case 21:return!!z.getWinTitle;case 22:return!!z.pushTitle;case 23:return!!z.popTitle;case 24:return!!z.setWinLines}return!1}var I;(function(X){X[X.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",X[X.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(I||(c.WindowsOptionsReportType=I={}));let H=0;class V extends w.Disposable{getAttrData(){return this._curAttrData}constructor(z,R,M,q,B,ee,J,ne,K=new y.EscapeSequenceParser){super(),this._bufferService=z,this._charsetService=R,this._coreService=M,this._logService=q,this._optionsService=B,this._oscLinkService=ee,this._coreMouseService=J,this._unicodeService=ne,this._parser=K,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new C.StringToUtf32,this._utf8Decoder=new C.Utf8ToUtf32,this._workCell=new b.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=v.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=v.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new S.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new S.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new S.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new S.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new S.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new S.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new S.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new S.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new S.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new S.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new S.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new S.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new S.EventEmitter),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this.register(this._parser),this._dirtyRowTracker=new U(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((F=>this._activeBuffer=F.activeBuffer))),this._parser.setCsiHandlerFallback(((F,te)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(F),params:te.toArray()})})),this._parser.setEscHandlerFallback((F=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(F)})})),this._parser.setExecuteHandlerFallback((F=>{this._logService.debug("Unknown EXECUTE code: ",{code:F})})),this._parser.setOscHandlerFallback(((F,te,re)=>{this._logService.debug("Unknown OSC code: ",{identifier:F,action:te,data:re})})),this._parser.setDcsHandlerFallback(((F,te,re)=>{te==="HOOK"&&(re=re.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(F),action:te,payload:re})})),this._parser.setPrintHandler(((F,te,re)=>this.print(F,te,re))),this._parser.registerCsiHandler({final:"@"},(F=>this.insertChars(F))),this._parser.registerCsiHandler({intermediates:" ",final:"@"},(F=>this.scrollLeft(F))),this._parser.registerCsiHandler({final:"A"},(F=>this.cursorUp(F))),this._parser.registerCsiHandler({intermediates:" ",final:"A"},(F=>this.scrollRight(F))),this._parser.registerCsiHandler({final:"B"},(F=>this.cursorDown(F))),this._parser.registerCsiHandler({final:"C"},(F=>this.cursorForward(F))),this._parser.registerCsiHandler({final:"D"},(F=>this.cursorBackward(F))),this._parser.registerCsiHandler({final:"E"},(F=>this.cursorNextLine(F))),this._parser.registerCsiHandler({final:"F"},(F=>this.cursorPrecedingLine(F))),this._parser.registerCsiHandler({final:"G"},(F=>this.cursorCharAbsolute(F))),this._parser.registerCsiHandler({final:"H"},(F=>this.cursorPosition(F))),this._parser.registerCsiHandler({final:"I"},(F=>this.cursorForwardTab(F))),this._parser.registerCsiHandler({final:"J"},(F=>this.eraseInDisplay(F,!1))),this._parser.registerCsiHandler({prefix:"?",final:"J"},(F=>this.eraseInDisplay(F,!0))),this._parser.registerCsiHandler({final:"K"},(F=>this.eraseInLine(F,!1))),this._parser.registerCsiHandler({prefix:"?",final:"K"},(F=>this.eraseInLine(F,!0))),this._parser.registerCsiHandler({final:"L"},(F=>this.insertLines(F))),this._parser.registerCsiHandler({final:"M"},(F=>this.deleteLines(F))),this._parser.registerCsiHandler({final:"P"},(F=>this.deleteChars(F))),this._parser.registerCsiHandler({final:"S"},(F=>this.scrollUp(F))),this._parser.registerCsiHandler({final:"T"},(F=>this.scrollDown(F))),this._parser.registerCsiHandler({final:"X"},(F=>this.eraseChars(F))),this._parser.registerCsiHandler({final:"Z"},(F=>this.cursorBackwardTab(F))),this._parser.registerCsiHandler({final:"`"},(F=>this.charPosAbsolute(F))),this._parser.registerCsiHandler({final:"a"},(F=>this.hPositionRelative(F))),this._parser.registerCsiHandler({final:"b"},(F=>this.repeatPrecedingCharacter(F))),this._parser.registerCsiHandler({final:"c"},(F=>this.sendDeviceAttributesPrimary(F))),this._parser.registerCsiHandler({prefix:">",final:"c"},(F=>this.sendDeviceAttributesSecondary(F))),this._parser.registerCsiHandler({final:"d"},(F=>this.linePosAbsolute(F))),this._parser.registerCsiHandler({final:"e"},(F=>this.vPositionRelative(F))),this._parser.registerCsiHandler({final:"f"},(F=>this.hVPosition(F))),this._parser.registerCsiHandler({final:"g"},(F=>this.tabClear(F))),this._parser.registerCsiHandler({final:"h"},(F=>this.setMode(F))),this._parser.registerCsiHandler({prefix:"?",final:"h"},(F=>this.setModePrivate(F))),this._parser.registerCsiHandler({final:"l"},(F=>this.resetMode(F))),this._parser.registerCsiHandler({prefix:"?",final:"l"},(F=>this.resetModePrivate(F))),this._parser.registerCsiHandler({final:"m"},(F=>this.charAttributes(F))),this._parser.registerCsiHandler({final:"n"},(F=>this.deviceStatus(F))),this._parser.registerCsiHandler({prefix:"?",final:"n"},(F=>this.deviceStatusPrivate(F))),this._parser.registerCsiHandler({intermediates:"!",final:"p"},(F=>this.softReset(F))),this._parser.registerCsiHandler({intermediates:" ",final:"q"},(F=>this.setCursorStyle(F))),this._parser.registerCsiHandler({final:"r"},(F=>this.setScrollRegion(F))),this._parser.registerCsiHandler({final:"s"},(F=>this.saveCursor(F))),this._parser.registerCsiHandler({final:"t"},(F=>this.windowOptions(F))),this._parser.registerCsiHandler({final:"u"},(F=>this.restoreCursor(F))),this._parser.registerCsiHandler({intermediates:"'",final:"}"},(F=>this.insertColumns(F))),this._parser.registerCsiHandler({intermediates:"'",final:"~"},(F=>this.deleteColumns(F))),this._parser.registerCsiHandler({intermediates:'"',final:"q"},(F=>this.selectProtected(F))),this._parser.registerCsiHandler({intermediates:"$",final:"p"},(F=>this.requestMode(F,!0))),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},(F=>this.requestMode(F,!1))),this._parser.setExecuteHandler(m.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(m.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(m.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(m.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(m.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(m.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(m.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(m.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(m.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(m.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new D.OscHandler((F=>(this.setTitle(F),this.setIconName(F),!0)))),this._parser.registerOscHandler(1,new D.OscHandler((F=>this.setIconName(F)))),this._parser.registerOscHandler(2,new D.OscHandler((F=>this.setTitle(F)))),this._parser.registerOscHandler(4,new D.OscHandler((F=>this.setOrReportIndexedColor(F)))),this._parser.registerOscHandler(8,new D.OscHandler((F=>this.setHyperlink(F)))),this._parser.registerOscHandler(10,new D.OscHandler((F=>this.setOrReportFgColor(F)))),this._parser.registerOscHandler(11,new D.OscHandler((F=>this.setOrReportBgColor(F)))),this._parser.registerOscHandler(12,new D.OscHandler((F=>this.setOrReportCursorColor(F)))),this._parser.registerOscHandler(104,new D.OscHandler((F=>this.restoreIndexedColor(F)))),this._parser.registerOscHandler(110,new D.OscHandler((F=>this.restoreFgColor(F)))),this._parser.registerOscHandler(111,new D.OscHandler((F=>this.restoreBgColor(F)))),this._parser.registerOscHandler(112,new D.OscHandler((F=>this.restoreCursorColor(F)))),this._parser.registerEscHandler({final:"7"},(()=>this.saveCursor())),this._parser.registerEscHandler({final:"8"},(()=>this.restoreCursor())),this._parser.registerEscHandler({final:"D"},(()=>this.index())),this._parser.registerEscHandler({final:"E"},(()=>this.nextLine())),this._parser.registerEscHandler({final:"H"},(()=>this.tabSet())),this._parser.registerEscHandler({final:"M"},(()=>this.reverseIndex())),this._parser.registerEscHandler({final:"="},(()=>this.keypadApplicationMode())),this._parser.registerEscHandler({final:">"},(()=>this.keypadNumericMode())),this._parser.registerEscHandler({final:"c"},(()=>this.fullReset())),this._parser.registerEscHandler({final:"n"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"o"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"|"},(()=>this.setgLevel(3))),this._parser.registerEscHandler({final:"}"},(()=>this.setgLevel(2))),this._parser.registerEscHandler({final:"~"},(()=>this.setgLevel(1))),this._parser.registerEscHandler({intermediates:"%",final:"@"},(()=>this.selectDefaultCharset())),this._parser.registerEscHandler({intermediates:"%",final:"G"},(()=>this.selectDefaultCharset()));for(const F in x.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:F},(()=>this.selectCharset("("+F))),this._parser.registerEscHandler({intermediates:")",final:F},(()=>this.selectCharset(")"+F))),this._parser.registerEscHandler({intermediates:"*",final:F},(()=>this.selectCharset("*"+F))),this._parser.registerEscHandler({intermediates:"+",final:F},(()=>this.selectCharset("+"+F))),this._parser.registerEscHandler({intermediates:"-",final:F},(()=>this.selectCharset("-"+F))),this._parser.registerEscHandler({intermediates:".",final:F},(()=>this.selectCharset("."+F))),this._parser.registerEscHandler({intermediates:"/",final:F},(()=>this.selectCharset("/"+F)));this._parser.registerEscHandler({intermediates:"#",final:"8"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((F=>(this._logService.error("Parsing error: ",F),F))),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new L.DcsHandler(((F,te)=>this.requestStatusString(F,te))))}_preserveStack(z,R,M,q){this._parseStack.paused=!0,this._parseStack.cursorStartX=z,this._parseStack.cursorStartY=R,this._parseStack.decodedLength=M,this._parseStack.position=q}_logSlowResolvingAsync(z){this._logService.logLevel<=E.LogLevelEnum.WARN&&Promise.race([z,new Promise(((R,M)=>setTimeout((()=>M("#SLOW_TIMEOUT")),5e3)))]).catch((R=>{if(R!=="#SLOW_TIMEOUT")throw R;console.warn("async parser handler taking longer than 5000 ms")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(z,R){let M,q=this._activeBuffer.x,B=this._activeBuffer.y,ee=0;const J=this._parseStack.paused;if(J){if(M=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,R))return this._logSlowResolvingAsync(M),M;q=this._parseStack.cursorStartX,B=this._parseStack.cursorStartY,this._parseStack.paused=!1,z.length>G&&(ee=this._parseStack.position+G)}if(this._logService.logLevel<=E.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof z=="string"?` "${z}"`:` "${Array.prototype.map.call(z,(F=>String.fromCharCode(F))).join("")}"`),typeof z=="string"?z.split("").map((F=>F.charCodeAt(0))):z),this._parseBuffer.length<z.length&&this._parseBuffer.length<G&&(this._parseBuffer=new Uint32Array(Math.min(z.length,G))),J||this._dirtyRowTracker.clearRange(),z.length>G)for(let F=ee;F<z.length;F+=G){const te=F+G<z.length?F+G:z.length,re=typeof z=="string"?this._stringDecoder.decode(z.substring(F,te),this._parseBuffer):this._utf8Decoder.decode(z.subarray(F,te),this._parseBuffer);if(M=this._parser.parse(this._parseBuffer,re))return this._preserveStack(q,B,re,F),this._logSlowResolvingAsync(M),M}else if(!J){const F=typeof z=="string"?this._stringDecoder.decode(z,this._parseBuffer):this._utf8Decoder.decode(z,this._parseBuffer);if(M=this._parser.parse(this._parseBuffer,F))return this._preserveStack(q,B,F,0),this._logSlowResolvingAsync(M),M}this._activeBuffer.x===q&&this._activeBuffer.y===B||this._onCursorMove.fire();const ne=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),K=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);K<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(K,this._bufferService.rows-1),Math.min(ne,this._bufferService.rows-1))}print(z,R,M){let q,B;const ee=this._charsetService.charset,J=this._optionsService.rawOptions.screenReaderMode,ne=this._bufferService.cols,K=this._coreService.decPrivateModes.wraparound,F=this._coreService.modes.insertMode,te=this._curAttrData;let re=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&M-R>0&&re.getWidth(this._activeBuffer.x-1)===2&&re.setCellFromCodepoint(this._activeBuffer.x-1,0,1,te);let ge=this._parser.precedingJoinState;for(let _e=R;_e<M;++_e){if(q=z[_e],q<127&&ee){const je=ee[String.fromCharCode(q)];je&&(q=je.charCodeAt(0))}const Be=this._unicodeService.charProperties(q,ge);B=T.UnicodeService.extractWidth(Be);const He=T.UnicodeService.extractShouldJoin(Be),Ne=He?T.UnicodeService.extractWidth(ge):0;if(ge=Be,J&&this._onA11yChar.fire((0,C.stringFromCodePoint)(q)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+B-Ne>ne){if(K){const je=re;let ae=this._activeBuffer.x-Ne;for(this._activeBuffer.x=Ne,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),re=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Ne>0&&re instanceof v.BufferLine&&re.copyCellsFrom(je,ae,0,Ne,!1);ae<ne;)je.setCellFromCodepoint(ae++,0,1,te)}else if(this._activeBuffer.x=ne-1,B===2)continue}if(He&&this._activeBuffer.x){const je=re.getWidth(this._activeBuffer.x-1)?1:2;re.addCodepointToCell(this._activeBuffer.x-je,q,B);for(let ae=B-Ne;--ae>=0;)re.setCellFromCodepoint(this._activeBuffer.x++,0,0,te)}else if(F&&(re.insertCells(this._activeBuffer.x,B-Ne,this._activeBuffer.getNullCell(te)),re.getWidth(ne-1)===2&&re.setCellFromCodepoint(ne-1,_.NULL_CELL_CODE,_.NULL_CELL_WIDTH,te)),re.setCellFromCodepoint(this._activeBuffer.x++,q,B,te),B>0)for(;--B;)re.setCellFromCodepoint(this._activeBuffer.x++,0,0,te)}this._parser.precedingJoinState=ge,this._activeBuffer.x<ne&&M-R>0&&re.getWidth(this._activeBuffer.x)===0&&!re.hasContent(this._activeBuffer.x)&&re.setCellFromCodepoint(this._activeBuffer.x,0,1,te),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(z,R){return z.final!=="t"||z.prefix||z.intermediates?this._parser.registerCsiHandler(z,R):this._parser.registerCsiHandler(z,(M=>!W(M.params[0],this._optionsService.rawOptions.windowOptions)||R(M)))}registerDcsHandler(z,R){return this._parser.registerDcsHandler(z,new L.DcsHandler(R))}registerEscHandler(z,R){return this._parser.registerEscHandler(z,R)}registerOscHandler(z,R){return this._parser.registerOscHandler(z,new D.OscHandler(R))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var z;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((z=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&z.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const R=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);R.hasWidth(this._activeBuffer.x)&&!R.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const z=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-z),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(z=this._bufferService.cols-1){this._activeBuffer.x=Math.min(z,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(z,R){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=z,this._activeBuffer.y=this._activeBuffer.scrollTop+R):(this._activeBuffer.x=z,this._activeBuffer.y=R),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(z,R){this._restrictCursor(),this._setCursor(this._activeBuffer.x+z,this._activeBuffer.y+R)}cursorUp(z){const R=this._activeBuffer.y-this._activeBuffer.scrollTop;return R>=0?this._moveCursor(0,-Math.min(R,z.params[0]||1)):this._moveCursor(0,-(z.params[0]||1)),!0}cursorDown(z){const R=this._activeBuffer.scrollBottom-this._activeBuffer.y;return R>=0?this._moveCursor(0,Math.min(R,z.params[0]||1)):this._moveCursor(0,z.params[0]||1),!0}cursorForward(z){return this._moveCursor(z.params[0]||1,0),!0}cursorBackward(z){return this._moveCursor(-(z.params[0]||1),0),!0}cursorNextLine(z){return this.cursorDown(z),this._activeBuffer.x=0,!0}cursorPrecedingLine(z){return this.cursorUp(z),this._activeBuffer.x=0,!0}cursorCharAbsolute(z){return this._setCursor((z.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(z){return this._setCursor(z.length>=2?(z.params[1]||1)-1:0,(z.params[0]||1)-1),!0}charPosAbsolute(z){return this._setCursor((z.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(z){return this._moveCursor(z.params[0]||1,0),!0}linePosAbsolute(z){return this._setCursor(this._activeBuffer.x,(z.params[0]||1)-1),!0}vPositionRelative(z){return this._moveCursor(0,z.params[0]||1),!0}hVPosition(z){return this.cursorPosition(z),!0}tabClear(z){const R=z.params[0];return R===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:R===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(z){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let R=z.params[0]||1;for(;R--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(z){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let R=z.params[0]||1;for(;R--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(z){const R=z.params[0];return R===1&&(this._curAttrData.bg|=536870912),R!==2&&R!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(z,R,M,q=!1,B=!1){const ee=this._activeBuffer.lines.get(this._activeBuffer.ybase+z);ee.replaceCells(R,M,this._activeBuffer.getNullCell(this._eraseAttrData()),B),q&&(ee.isWrapped=!1)}_resetBufferLine(z,R=!1){const M=this._activeBuffer.lines.get(this._activeBuffer.ybase+z);M&&(M.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),R),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+z),M.isWrapped=!1)}eraseInDisplay(z,R=!1){let M;switch(this._restrictCursor(this._bufferService.cols),z.params[0]){case 0:for(M=this._activeBuffer.y,this._dirtyRowTracker.markDirty(M),this._eraseInBufferLine(M++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,R);M<this._bufferService.rows;M++)this._resetBufferLine(M,R);this._dirtyRowTracker.markDirty(M);break;case 1:for(M=this._activeBuffer.y,this._dirtyRowTracker.markDirty(M),this._eraseInBufferLine(M,0,this._activeBuffer.x+1,!0,R),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(M+1).isWrapped=!1);M--;)this._resetBufferLine(M,R);this._dirtyRowTracker.markDirty(0);break;case 2:for(M=this._bufferService.rows,this._dirtyRowTracker.markDirty(M-1);M--;)this._resetBufferLine(M,R);this._dirtyRowTracker.markDirty(0);break;case 3:const q=this._activeBuffer.lines.length-this._bufferService.rows;q>0&&(this._activeBuffer.lines.trimStart(q),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-q,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-q,0),this._onScroll.fire(0))}return!0}eraseInLine(z,R=!1){switch(this._restrictCursor(this._bufferService.cols),z.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,R);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,R);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,R)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(z){this._restrictCursor();let R=z.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=this._activeBuffer.ybase+this._activeBuffer.y,q=this._bufferService.rows-1-this._activeBuffer.scrollBottom,B=this._bufferService.rows-1+this._activeBuffer.ybase-q+1;for(;R--;)this._activeBuffer.lines.splice(B-1,1),this._activeBuffer.lines.splice(M,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(z){this._restrictCursor();let R=z.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const M=this._activeBuffer.ybase+this._activeBuffer.y;let q;for(q=this._bufferService.rows-1-this._activeBuffer.scrollBottom,q=this._bufferService.rows-1+this._activeBuffer.ybase-q;R--;)this._activeBuffer.lines.splice(M,1),this._activeBuffer.lines.splice(q,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(z){this._restrictCursor();const R=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return R&&(R.insertCells(this._activeBuffer.x,z.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(z){this._restrictCursor();const R=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return R&&(R.deleteCells(this._activeBuffer.x,z.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(z){let R=z.params[0]||1;for(;R--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(z){let R=z.params[0]||1;for(;R--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(v.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const R=z.params[0]||1;for(let M=this._activeBuffer.scrollTop;M<=this._activeBuffer.scrollBottom;++M){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+M);q.deleteCells(0,R,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const R=z.params[0]||1;for(let M=this._activeBuffer.scrollTop;M<=this._activeBuffer.scrollBottom;++M){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+M);q.insertCells(0,R,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const R=z.params[0]||1;for(let M=this._activeBuffer.scrollTop;M<=this._activeBuffer.scrollBottom;++M){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+M);q.insertCells(this._activeBuffer.x,R,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(z){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const R=z.params[0]||1;for(let M=this._activeBuffer.scrollTop;M<=this._activeBuffer.scrollBottom;++M){const q=this._activeBuffer.lines.get(this._activeBuffer.ybase+M);q.deleteCells(this._activeBuffer.x,R,this._activeBuffer.getNullCell(this._eraseAttrData())),q.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(z){this._restrictCursor();const R=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return R&&(R.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(z.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(z){const R=this._parser.precedingJoinState;if(!R)return!0;const M=z.params[0]||1,q=T.UnicodeService.extractWidth(R),B=this._activeBuffer.x-q,ee=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(B),J=new Uint32Array(ee.length*M);let ne=0;for(let F=0;F<ee.length;){const te=ee.codePointAt(F)||0;J[ne++]=te,F+=te>65535?2:1}let K=ne;for(let F=1;F<M;++F)J.copyWithin(K,0,ne),K+=ne;return this.print(J,0,K),!0}sendDeviceAttributesPrimary(z){return z.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(m.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(m.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(z){return z.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(m.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(m.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(z.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(m.C0.ESC+"[>83;40003;0c")),!0}_is(z){return(this._optionsService.rawOptions.termName+"").indexOf(z)===0}setMode(z){for(let R=0;R<z.length;R++)switch(z.params[R]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(z){for(let R=0;R<z.length;R++)switch(z.params[R]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,x.DEFAULT_CHARSET),this._charsetService.setgCharset(1,x.DEFAULT_CHARSET),this._charsetService.setgCharset(2,x.DEFAULT_CHARSET),this._charsetService.setgCharset(3,x.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(z){for(let R=0;R<z.length;R++)switch(z.params[R]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(z){for(let R=0;R<z.length;R++)switch(z.params[R]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),z.params[R]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(z,R){const M=this._coreService.decPrivateModes,{activeProtocol:q,activeEncoding:B}=this._coreMouseService,ee=this._coreService,{buffers:J,cols:ne}=this._bufferService,{active:K,alt:F}=J,te=this._optionsService.rawOptions,re=He=>He?1:2,ge=z.params[0];return _e=ge,Be=R?ge===2?4:ge===4?re(ee.modes.insertMode):ge===12?3:ge===20?re(te.convertEol):0:ge===1?re(M.applicationCursorKeys):ge===3?te.windowOptions.setWinLines?ne===80?2:ne===132?1:0:0:ge===6?re(M.origin):ge===7?re(M.wraparound):ge===8?3:ge===9?re(q==="X10"):ge===12?re(te.cursorBlink):ge===25?re(!ee.isCursorHidden):ge===45?re(M.reverseWraparound):ge===66?re(M.applicationKeypad):ge===67?4:ge===1e3?re(q==="VT200"):ge===1002?re(q==="DRAG"):ge===1003?re(q==="ANY"):ge===1004?re(M.sendFocus):ge===1005?4:ge===1006?re(B==="SGR"):ge===1015?4:ge===1016?re(B==="SGR_PIXELS"):ge===1048?1:ge===47||ge===1047||ge===1049?re(K===F):ge===2004?re(M.bracketedPasteMode):0,ee.triggerDataEvent(`${m.C0.ESC}[${R?"":"?"}${_e};${Be}$y`),!0;var _e,Be}_updateAttrColor(z,R,M,q,B){return R===2?(z|=50331648,z&=-16777216,z|=j.AttributeData.fromColorRGB([M,q,B])):R===5&&(z&=-50331904,z|=33554432|255&M),z}_extractColor(z,R,M){const q=[0,0,-1,0,0,0];let B=0,ee=0;do{if(q[ee+B]=z.params[R+ee],z.hasSubParams(R+ee)){const J=z.getSubParams(R+ee);let ne=0;do q[1]===5&&(B=1),q[ee+ne+1+B]=J[ne];while(++ne<J.length&&ne+ee+1+B<q.length);break}if(q[1]===5&&ee+B>=2||q[1]===2&&ee+B>=5)break;q[1]&&(B=1)}while(++ee+R<z.length&&ee+B<q.length);for(let J=2;J<q.length;++J)q[J]===-1&&(q[J]=0);switch(q[0]){case 38:M.fg=this._updateAttrColor(M.fg,q[1],q[3],q[4],q[5]);break;case 48:M.bg=this._updateAttrColor(M.bg,q[1],q[3],q[4],q[5]);break;case 58:M.extended=M.extended.clone(),M.extended.underlineColor=this._updateAttrColor(M.extended.underlineColor,q[1],q[3],q[4],q[5])}return ee}_processUnderline(z,R){R.extended=R.extended.clone(),(!~z||z>5)&&(z=1),R.extended.underlineStyle=z,R.fg|=268435456,z===0&&(R.fg&=-268435457),R.updateExtended()}_processSGR0(z){z.fg=v.DEFAULT_ATTR_DATA.fg,z.bg=v.DEFAULT_ATTR_DATA.bg,z.extended=z.extended.clone(),z.extended.underlineStyle=0,z.extended.underlineColor&=-67108864,z.updateExtended()}charAttributes(z){if(z.length===1&&z.params[0]===0)return this._processSGR0(this._curAttrData),!0;const R=z.length;let M;const q=this._curAttrData;for(let B=0;B<R;B++)M=z.params[B],M>=30&&M<=37?(q.fg&=-50331904,q.fg|=16777216|M-30):M>=40&&M<=47?(q.bg&=-50331904,q.bg|=16777216|M-40):M>=90&&M<=97?(q.fg&=-50331904,q.fg|=16777224|M-90):M>=100&&M<=107?(q.bg&=-50331904,q.bg|=16777224|M-100):M===0?this._processSGR0(q):M===1?q.fg|=134217728:M===3?q.bg|=67108864:M===4?(q.fg|=268435456,this._processUnderline(z.hasSubParams(B)?z.getSubParams(B)[0]:1,q)):M===5?q.fg|=536870912:M===7?q.fg|=67108864:M===8?q.fg|=1073741824:M===9?q.fg|=2147483648:M===2?q.bg|=134217728:M===21?this._processUnderline(2,q):M===22?(q.fg&=-134217729,q.bg&=-134217729):M===23?q.bg&=-67108865:M===24?(q.fg&=-268435457,this._processUnderline(0,q)):M===25?q.fg&=-536870913:M===27?q.fg&=-67108865:M===28?q.fg&=-1073741825:M===29?q.fg&=2147483647:M===39?(q.fg&=-67108864,q.fg|=16777215&v.DEFAULT_ATTR_DATA.fg):M===49?(q.bg&=-67108864,q.bg|=16777215&v.DEFAULT_ATTR_DATA.bg):M===38||M===48||M===58?B+=this._extractColor(z,B,q):M===53?q.bg|=1073741824:M===55?q.bg&=-1073741825:M===59?(q.extended=q.extended.clone(),q.extended.underlineColor=-1,q.updateExtended()):M===100?(q.fg&=-67108864,q.fg|=16777215&v.DEFAULT_ATTR_DATA.fg,q.bg&=-67108864,q.bg|=16777215&v.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",M);return!0}deviceStatus(z){switch(z.params[0]){case 5:this._coreService.triggerDataEvent(`${m.C0.ESC}[0n`);break;case 6:const R=this._activeBuffer.y+1,M=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${m.C0.ESC}[${R};${M}R`)}return!0}deviceStatusPrivate(z){if(z.params[0]===6){const R=this._activeBuffer.y+1,M=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${m.C0.ESC}[?${R};${M}R`)}return!0}softReset(z){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=v.DEFAULT_ATTR_DATA.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(z){const R=z.params[0]||1;switch(R){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const M=R%2==1;return this._optionsService.options.cursorBlink=M,!0}setScrollRegion(z){const R=z.params[0]||1;let M;return(z.length<2||(M=z.params[1])>this._bufferService.rows||M===0)&&(M=this._bufferService.rows),M>R&&(this._activeBuffer.scrollTop=R-1,this._activeBuffer.scrollBottom=M-1,this._setCursor(0,0)),!0}windowOptions(z){if(!W(z.params[0],this._optionsService.rawOptions.windowOptions))return!0;const R=z.length>1?z.params[1]:0;switch(z.params[0]){case 14:R!==2&&this._onRequestWindowsOptionsReport.fire(I.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(I.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${m.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:R!==0&&R!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),R!==0&&R!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:R!==0&&R!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),R!==0&&R!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(z){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(z){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(z){return this._windowTitle=z,this._onTitleChange.fire(z),!0}setIconName(z){return this._iconName=z,!0}setOrReportIndexedColor(z){const R=[],M=z.split(";");for(;M.length>1;){const q=M.shift(),B=M.shift();if(/^\d+$/.exec(q)){const ee=parseInt(q);if(Q(ee))if(B==="?")R.push({type:0,index:ee});else{const J=(0,O.parseColor)(B);J&&R.push({type:1,index:ee,color:J})}}}return R.length&&this._onColor.fire(R),!0}setHyperlink(z){const R=z.split(";");return!(R.length<2)&&(R[1]?this._createHyperlink(R[0],R[1]):!R[0]&&this._finishHyperlink())}_createHyperlink(z,R){this._getCurrentLinkId()&&this._finishHyperlink();const M=z.split(":");let q;const B=M.findIndex((ee=>ee.startsWith("id=")));return B!==-1&&(q=M[B].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:q,uri:R}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(z,R){const M=z.split(";");for(let q=0;q<M.length&&!(R>=this._specialColors.length);++q,++R)if(M[q]==="?")this._onColor.fire([{type:0,index:this._specialColors[R]}]);else{const B=(0,O.parseColor)(M[q]);B&&this._onColor.fire([{type:1,index:this._specialColors[R],color:B}])}return!0}setOrReportFgColor(z){return this._setOrReportSpecialColor(z,0)}setOrReportBgColor(z){return this._setOrReportSpecialColor(z,1)}setOrReportCursorColor(z){return this._setOrReportSpecialColor(z,2)}restoreIndexedColor(z){if(!z)return this._onColor.fire([{type:2}]),!0;const R=[],M=z.split(";");for(let q=0;q<M.length;++q)if(/^\d+$/.exec(M[q])){const B=parseInt(M[q]);Q(B)&&R.push({type:2,index:B})}return R.length&&this._onColor.fire(R),!0}restoreFgColor(z){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(z){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(z){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,x.DEFAULT_CHARSET),!0}selectCharset(z){return z.length!==2?(this.selectDefaultCharset(),!0):(z[0]==="/"||this._charsetService.setgCharset(P[z[0]],x.CHARSETS[z[1]]||x.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const z=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,z,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=v.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=v.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(z){return this._charsetService.setgLevel(z),!0}screenAlignmentPattern(){const z=new b.CellData;z.content=4194373,z.fg=this._curAttrData.fg,z.bg=this._curAttrData.bg,this._setCursor(0,0);for(let R=0;R<this._bufferService.rows;++R){const M=this._activeBuffer.ybase+this._activeBuffer.y+R,q=this._activeBuffer.lines.get(M);q&&(q.fill(z),q.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(z,R){const M=this._bufferService.buffer,q=this._optionsService.rawOptions;return(B=>(this._coreService.triggerDataEvent(`${m.C0.ESC}${B}${m.C0.ESC}\\`),!0))(z==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:z==='"p'?'P1$r61;1"p':z==="r"?`P1$r${M.scrollTop+1};${M.scrollBottom+1}r`:z==="m"?"P1$r0m":z===" q"?`P1$r${{block:2,underline:4,bar:6}[q.cursorStyle]-(q.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(z,R){this._dirtyRowTracker.markRangeDirty(z,R)}}c.InputHandler=V;let U=class{constructor(X){this._bufferService=X,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(X){X<this.start?this.start=X:X>this.end&&(this.end=X)}markRangeDirty(X,z){X>z&&(H=X,X=z,z=H),X<this.start&&(this.start=X),z>this.end&&(this.end=z)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function Q(X){return 0<=X&&X<256}U=f([p(0,E.IBufferService)],U)},844:(u,c)=>{function d(f){for(const p of f)p.dispose();f.length=0}Object.defineProperty(c,"__esModule",{value:!0}),c.getDisposeArrayDisposable=c.disposeArray=c.toDisposable=c.MutableDisposable=c.Disposable=void 0,c.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const p=this._disposables.indexOf(f);p!==-1&&this._disposables.splice(p,1)}},c.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var p;this._isDisposed||f===this._value||((p=this._value)==null||p.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},c.toDisposable=function(f){return{dispose:f}},c.disposeArray=d,c.getDisposeArrayDisposable=function(f){return{dispose:()=>d(f)}}},1505:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.FourKeyMap=c.TwoKeyMap=void 0;class d{constructor(){this._data={}}set(p,m,x){this._data[p]||(this._data[p]={}),this._data[p][m]=x}get(p,m){return this._data[p]?this._data[p][m]:void 0}clear(){this._data={}}}c.TwoKeyMap=d,c.FourKeyMap=class{constructor(){this._data=new d}set(f,p,m,x,y){this._data.get(f,p)||this._data.set(f,p,new d),this._data.get(f,p).set(m,x,y)}get(f,p,m,x){var y;return(y=this._data.get(f,p))==null?void 0:y.get(m,x)}clear(){this._data.clear()}}},6114:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.isChromeOS=c.isLinux=c.isWindows=c.isIphone=c.isIpad=c.isMac=c.getSafariVersion=c.isSafari=c.isLegacyEdge=c.isFirefox=c.isNode=void 0,c.isNode=typeof process<"u"&&"title"in process;const d=c.isNode?"node":navigator.userAgent,f=c.isNode?"node":navigator.platform;c.isFirefox=d.includes("Firefox"),c.isLegacyEdge=d.includes("Edge"),c.isSafari=/^((?!chrome|android).)*safari/i.test(d),c.getSafariVersion=function(){if(!c.isSafari)return 0;const p=d.match(/Version\/(\d+)/);return p===null||p.length<2?0:parseInt(p[1])},c.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),c.isIpad=f==="iPad",c.isIphone=f==="iPhone",c.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),c.isLinux=f.indexOf("Linux")>=0,c.isChromeOS=/\bCrOS\b/.test(d)},6106:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.SortedList=void 0;let d=0;c.SortedList=class{constructor(f){this._getKey=f,this._array=[]}clear(){this._array.length=0}insert(f){this._array.length!==0?(d=this._search(this._getKey(f)),this._array.splice(d,0,f)):this._array.push(f)}delete(f){if(this._array.length===0)return!1;const p=this._getKey(f);if(p===void 0||(d=this._search(p),d===-1)||this._getKey(this._array[d])!==p)return!1;do if(this._array[d]===f)return this._array.splice(d,1),!0;while(++d<this._array.length&&this._getKey(this._array[d])===p);return!1}*getKeyIterator(f){if(this._array.length!==0&&(d=this._search(f),!(d<0||d>=this._array.length)&&this._getKey(this._array[d])===f))do yield this._array[d];while(++d<this._array.length&&this._getKey(this._array[d])===f)}forEachByKey(f,p){if(this._array.length!==0&&(d=this._search(f),!(d<0||d>=this._array.length)&&this._getKey(this._array[d])===f))do p(this._array[d]);while(++d<this._array.length&&this._getKey(this._array[d])===f)}values(){return[...this._array].values()}_search(f){let p=0,m=this._array.length-1;for(;m>=p;){let x=p+m>>1;const y=this._getKey(this._array[x]);if(y>f)m=x-1;else{if(!(y<f)){for(;x>0&&this._getKey(this._array[x-1])===f;)x--;return x}p=x+1}}return p}}},7226:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DebouncedIdleTask=c.IdleTaskQueue=c.PriorityTaskQueue=void 0;const f=d(6114);class p{constructor(){this._tasks=[],this._i=0}enqueue(y){this._tasks.push(y),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(y){this._idleCallback=void 0;let w=0,C=0,v=y.timeRemaining(),S=0;for(;this._i<this._tasks.length;){if(w=Date.now(),this._tasks[this._i]()||this._i++,w=Math.max(1,Date.now()-w),C=Math.max(w,C),S=y.timeRemaining(),1.5*C>S)return v-w<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(v-w))}ms`),void this._start();v=S}this.clear()}}class m extends p{_requestCallback(y){return setTimeout((()=>y(this._createDeadline(16))))}_cancelCallback(y){clearTimeout(y)}_createDeadline(y){const w=Date.now()+y;return{timeRemaining:()=>Math.max(0,w-Date.now())}}}c.PriorityTaskQueue=m,c.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends p{_requestCallback(x){return requestIdleCallback(x)}_cancelCallback(x){cancelIdleCallback(x)}}:m,c.DebouncedIdleTask=class{constructor(){this._queue=new c.IdleTaskQueue}set(x){this._queue.clear(),this._queue.enqueue(x)}flush(){this._queue.flush()}}},9282:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.updateWindowsModeWrappedState=void 0;const f=d(643);c.updateWindowsModeWrappedState=function(p){const m=p.buffer.lines.get(p.buffer.ybase+p.buffer.y-1),x=m==null?void 0:m.get(p.cols-1),y=p.buffer.lines.get(p.buffer.ybase+p.buffer.y);y&&x&&(y.isWrapped=x[f.CHAR_DATA_CODE_INDEX]!==f.NULL_CELL_CODE&&x[f.CHAR_DATA_CODE_INDEX]!==f.WHITESPACE_CELL_CODE)}},3734:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ExtendedAttrs=c.AttributeData=void 0;class d{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(m){return[m>>>16&255,m>>>8&255,255&m]}static fromColorRGB(m){return(255&m[0])<<16|(255&m[1])<<8|255&m[2]}clone(){const m=new d;return m.fg=this.fg,m.bg=this.bg,m.extended=this.extended.clone(),m}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}c.AttributeData=d;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(m){this._ext=m}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(m){this._ext&=-469762049,this._ext|=m<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(m){this._ext&=-67108864,this._ext|=67108863&m}get urlId(){return this._urlId}set urlId(m){this._urlId=m}get underlineVariantOffset(){const m=(3758096384&this._ext)>>29;return m<0?4294967288^m:m}set underlineVariantOffset(m){this._ext&=536870911,this._ext|=m<<29&3758096384}constructor(m=0,x=0){this._ext=0,this._urlId=0,this._ext=m,this._urlId=x}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}c.ExtendedAttrs=f},9092:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Buffer=c.MAX_BUFFER_SIZE=void 0;const f=d(6349),p=d(7226),m=d(3734),x=d(8437),y=d(4634),w=d(511),C=d(643),v=d(4863),S=d(7116);c.MAX_BUFFER_SIZE=4294967295,c.Buffer=class{constructor(_,b,j){this._hasScrollback=_,this._optionsService=b,this._bufferService=j,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=x.DEFAULT_ATTR_DATA.clone(),this.savedCharset=S.DEFAULT_CHARSET,this.markers=[],this._nullCell=w.CellData.fromCharData([0,C.NULL_CELL_CHAR,C.NULL_CELL_WIDTH,C.NULL_CELL_CODE]),this._whitespaceCell=w.CellData.fromCharData([0,C.WHITESPACE_CELL_CHAR,C.WHITESPACE_CELL_WIDTH,C.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new p.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(_){return _?(this._nullCell.fg=_.fg,this._nullCell.bg=_.bg,this._nullCell.extended=_.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new m.ExtendedAttrs),this._nullCell}getWhitespaceCell(_){return _?(this._whitespaceCell.fg=_.fg,this._whitespaceCell.bg=_.bg,this._whitespaceCell.extended=_.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new m.ExtendedAttrs),this._whitespaceCell}getBlankLine(_,b){return new x.BufferLine(this._bufferService.cols,this.getNullCell(_),b)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const _=this.ybase+this.y-this.ydisp;return _>=0&&_<this._rows}_getCorrectBufferLength(_){if(!this._hasScrollback)return _;const b=_+this._optionsService.rawOptions.scrollback;return b>c.MAX_BUFFER_SIZE?c.MAX_BUFFER_SIZE:b}fillViewportRows(_){if(this.lines.length===0){_===void 0&&(_=x.DEFAULT_ATTR_DATA);let b=this._rows;for(;b--;)this.lines.push(this.getBlankLine(_))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(_,b){const j=this.getNullCell(x.DEFAULT_ATTR_DATA);let E=0;const T=this._getCorrectBufferLength(b);if(T>this.lines.maxLength&&(this.lines.maxLength=T),this.lines.length>0){if(this._cols<_)for(let L=0;L<this.lines.length;L++)E+=+this.lines.get(L).resize(_,j);let D=0;if(this._rows<b)for(let L=this._rows;L<b;L++)this.lines.length<b+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new x.BufferLine(_,j)):this.ybase>0&&this.lines.length<=this.ybase+this.y+D+1?(this.ybase--,D++,this.ydisp>0&&this.ydisp--):this.lines.push(new x.BufferLine(_,j)));else for(let L=this._rows;L>b;L--)this.lines.length>b+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(T<this.lines.maxLength){const L=this.lines.length-T;L>0&&(this.lines.trimStart(L),this.ybase=Math.max(this.ybase-L,0),this.ydisp=Math.max(this.ydisp-L,0),this.savedY=Math.max(this.savedY-L,0)),this.lines.maxLength=T}this.x=Math.min(this.x,_-1),this.y=Math.min(this.y,b-1),D&&(this.y+=D),this.savedX=Math.min(this.savedX,_-1),this.scrollTop=0}if(this.scrollBottom=b-1,this._isReflowEnabled&&(this._reflow(_,b),this._cols>_))for(let D=0;D<this.lines.length;D++)E+=+this.lines.get(D).resize(_,j);this._cols=_,this._rows=b,this._memoryCleanupQueue.clear(),E>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let _=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,_=!1);let b=0;for(;this._memoryCleanupPosition<this.lines.length;)if(b+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),b>100)return!0;return _}get _isReflowEnabled(){const _=this._optionsService.rawOptions.windowsPty;return _&&_.buildNumber?this._hasScrollback&&_.backend==="conpty"&&_.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(_,b){this._cols!==_&&(_>this._cols?this._reflowLarger(_,b):this._reflowSmaller(_,b))}_reflowLarger(_,b){const j=(0,y.reflowLargerGetLinesToRemove)(this.lines,this._cols,_,this.ybase+this.y,this.getNullCell(x.DEFAULT_ATTR_DATA));if(j.length>0){const E=(0,y.reflowLargerCreateNewLayout)(this.lines,j);(0,y.reflowLargerApplyNewLayout)(this.lines,E.layout),this._reflowLargerAdjustViewport(_,b,E.countRemoved)}}_reflowLargerAdjustViewport(_,b,j){const E=this.getNullCell(x.DEFAULT_ATTR_DATA);let T=j;for(;T-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<b&&this.lines.push(new x.BufferLine(_,E))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-j,0)}_reflowSmaller(_,b){const j=this.getNullCell(x.DEFAULT_ATTR_DATA),E=[];let T=0;for(let D=this.lines.length-1;D>=0;D--){let L=this.lines.get(D);if(!L||!L.isWrapped&&L.getTrimmedLength()<=_)continue;const O=[L];for(;L.isWrapped&&D>0;)L=this.lines.get(--D),O.unshift(L);const P=this.ybase+this.y;if(P>=D&&P<D+O.length)continue;const G=O[O.length-1].getTrimmedLength(),W=(0,y.reflowSmallerGetNewLineLengths)(O,this._cols,_),I=W.length-O.length;let H;H=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+I):Math.max(0,this.lines.length-this.lines.maxLength+I);const V=[];for(let M=0;M<I;M++){const q=this.getBlankLine(x.DEFAULT_ATTR_DATA,!0);V.push(q)}V.length>0&&(E.push({start:D+O.length+T,newLines:V}),T+=V.length),O.push(...V);let U=W.length-1,Q=W[U];Q===0&&(U--,Q=W[U]);let X=O.length-I-1,z=G;for(;X>=0;){const M=Math.min(z,Q);if(O[U]===void 0)break;if(O[U].copyCellsFrom(O[X],z-M,Q-M,M,!0),Q-=M,Q===0&&(U--,Q=W[U]),z-=M,z===0){X--;const q=Math.max(X,0);z=(0,y.getWrappedLineTrimmedLength)(O,q,this._cols)}}for(let M=0;M<O.length;M++)W[M]<_&&O[M].setCell(W[M],j);let R=I-H;for(;R-- >0;)this.ybase===0?this.y<b-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+T)-b&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+I,this.ybase+b-1)}if(E.length>0){const D=[],L=[];for(let U=0;U<this.lines.length;U++)L.push(this.lines.get(U));const O=this.lines.length;let P=O-1,G=0,W=E[G];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+T);let I=0;for(let U=Math.min(this.lines.maxLength-1,O+T-1);U>=0;U--)if(W&&W.start>P+I){for(let Q=W.newLines.length-1;Q>=0;Q--)this.lines.set(U--,W.newLines[Q]);U++,D.push({index:P+1,amount:W.newLines.length}),I+=W.newLines.length,W=E[++G]}else this.lines.set(U,L[P--]);let H=0;for(let U=D.length-1;U>=0;U--)D[U].index+=H,this.lines.onInsertEmitter.fire(D[U]),H+=D[U].amount;const V=Math.max(0,O+T-this.lines.maxLength);V>0&&this.lines.onTrimEmitter.fire(V)}}translateBufferLineToString(_,b,j=0,E){const T=this.lines.get(_);return T?T.translateToString(b,j,E):""}getWrappedRangeForLine(_){let b=_,j=_;for(;b>0&&this.lines.get(b).isWrapped;)b--;for(;j+1<this.lines.length&&this.lines.get(j+1).isWrapped;)j++;return{first:b,last:j}}setupTabStops(_){for(_!=null?this.tabs[_]||(_=this.prevStop(_)):(this.tabs={},_=0);_<this._cols;_+=this._optionsService.rawOptions.tabStopWidth)this.tabs[_]=!0}prevStop(_){for(_==null&&(_=this.x);!this.tabs[--_]&&_>0;);return _>=this._cols?this._cols-1:_<0?0:_}nextStop(_){for(_==null&&(_=this.x);!this.tabs[++_]&&_<this._cols;);return _>=this._cols?this._cols-1:_<0?0:_}clearMarkers(_){this._isClearing=!0;for(let b=0;b<this.markers.length;b++)this.markers[b].line===_&&(this.markers[b].dispose(),this.markers.splice(b--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let _=0;_<this.markers.length;_++)this.markers[_].dispose(),this.markers.splice(_--,1);this._isClearing=!1}addMarker(_){const b=new v.Marker(_);return this.markers.push(b),b.register(this.lines.onTrim((j=>{b.line-=j,b.line<0&&b.dispose()}))),b.register(this.lines.onInsert((j=>{b.line>=j.index&&(b.line+=j.amount)}))),b.register(this.lines.onDelete((j=>{b.line>=j.index&&b.line<j.index+j.amount&&b.dispose(),b.line>j.index&&(b.line-=j.amount)}))),b.register(b.onDispose((()=>this._removeMarker(b)))),b}_removeMarker(_){this._isClearing||this.markers.splice(this.markers.indexOf(_),1)}}},8437:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferLine=c.DEFAULT_ATTR_DATA=void 0;const f=d(3734),p=d(511),m=d(643),x=d(482);c.DEFAULT_ATTR_DATA=Object.freeze(new f.AttributeData);let y=0;class w{constructor(v,S,_=!1){this.isWrapped=_,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*v);const b=S||p.CellData.fromCharData([0,m.NULL_CELL_CHAR,m.NULL_CELL_WIDTH,m.NULL_CELL_CODE]);for(let j=0;j<v;++j)this.setCell(j,b);this.length=v}get(v){const S=this._data[3*v+0],_=2097151&S;return[this._data[3*v+1],2097152&S?this._combined[v]:_?(0,x.stringFromCodePoint)(_):"",S>>22,2097152&S?this._combined[v].charCodeAt(this._combined[v].length-1):_]}set(v,S){this._data[3*v+1]=S[m.CHAR_DATA_ATTR_INDEX],S[m.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[v]=S[1],this._data[3*v+0]=2097152|v|S[m.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*v+0]=S[m.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[m.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(v){return this._data[3*v+0]>>22}hasWidth(v){return 12582912&this._data[3*v+0]}getFg(v){return this._data[3*v+1]}getBg(v){return this._data[3*v+2]}hasContent(v){return 4194303&this._data[3*v+0]}getCodePoint(v){const S=this._data[3*v+0];return 2097152&S?this._combined[v].charCodeAt(this._combined[v].length-1):2097151&S}isCombined(v){return 2097152&this._data[3*v+0]}getString(v){const S=this._data[3*v+0];return 2097152&S?this._combined[v]:2097151&S?(0,x.stringFromCodePoint)(2097151&S):""}isProtected(v){return 536870912&this._data[3*v+2]}loadCell(v,S){return y=3*v,S.content=this._data[y+0],S.fg=this._data[y+1],S.bg=this._data[y+2],2097152&S.content&&(S.combinedData=this._combined[v]),268435456&S.bg&&(S.extended=this._extendedAttrs[v]),S}setCell(v,S){2097152&S.content&&(this._combined[v]=S.combinedData),268435456&S.bg&&(this._extendedAttrs[v]=S.extended),this._data[3*v+0]=S.content,this._data[3*v+1]=S.fg,this._data[3*v+2]=S.bg}setCellFromCodepoint(v,S,_,b){268435456&b.bg&&(this._extendedAttrs[v]=b.extended),this._data[3*v+0]=S|_<<22,this._data[3*v+1]=b.fg,this._data[3*v+2]=b.bg}addCodepointToCell(v,S,_){let b=this._data[3*v+0];2097152&b?this._combined[v]+=(0,x.stringFromCodePoint)(S):2097151&b?(this._combined[v]=(0,x.stringFromCodePoint)(2097151&b)+(0,x.stringFromCodePoint)(S),b&=-2097152,b|=2097152):b=S|4194304,_&&(b&=-12582913,b|=_<<22),this._data[3*v+0]=b}insertCells(v,S,_){if((v%=this.length)&&this.getWidth(v-1)===2&&this.setCellFromCodepoint(v-1,0,1,_),S<this.length-v){const b=new p.CellData;for(let j=this.length-v-S-1;j>=0;--j)this.setCell(v+S+j,this.loadCell(v+j,b));for(let j=0;j<S;++j)this.setCell(v+j,_)}else for(let b=v;b<this.length;++b)this.setCell(b,_);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,_)}deleteCells(v,S,_){if(v%=this.length,S<this.length-v){const b=new p.CellData;for(let j=0;j<this.length-v-S;++j)this.setCell(v+j,this.loadCell(v+S+j,b));for(let j=this.length-S;j<this.length;++j)this.setCell(j,_)}else for(let b=v;b<this.length;++b)this.setCell(b,_);v&&this.getWidth(v-1)===2&&this.setCellFromCodepoint(v-1,0,1,_),this.getWidth(v)!==0||this.hasContent(v)||this.setCellFromCodepoint(v,0,1,_)}replaceCells(v,S,_,b=!1){if(b)for(v&&this.getWidth(v-1)===2&&!this.isProtected(v-1)&&this.setCellFromCodepoint(v-1,0,1,_),S<this.length&&this.getWidth(S-1)===2&&!this.isProtected(S)&&this.setCellFromCodepoint(S,0,1,_);v<S&&v<this.length;)this.isProtected(v)||this.setCell(v,_),v++;else for(v&&this.getWidth(v-1)===2&&this.setCellFromCodepoint(v-1,0,1,_),S<this.length&&this.getWidth(S-1)===2&&this.setCellFromCodepoint(S,0,1,_);v<S&&v<this.length;)this.setCell(v++,_)}resize(v,S){if(v===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const _=3*v;if(v>this.length){if(this._data.buffer.byteLength>=4*_)this._data=new Uint32Array(this._data.buffer,0,_);else{const b=new Uint32Array(_);b.set(this._data),this._data=b}for(let b=this.length;b<v;++b)this.setCell(b,S)}else{this._data=this._data.subarray(0,_);const b=Object.keys(this._combined);for(let E=0;E<b.length;E++){const T=parseInt(b[E],10);T>=v&&delete this._combined[T]}const j=Object.keys(this._extendedAttrs);for(let E=0;E<j.length;E++){const T=parseInt(j[E],10);T>=v&&delete this._extendedAttrs[T]}}return this.length=v,4*_*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const v=new Uint32Array(this._data.length);return v.set(this._data),this._data=v,1}return 0}fill(v,S=!1){if(S)for(let _=0;_<this.length;++_)this.isProtected(_)||this.setCell(_,v);else{this._combined={},this._extendedAttrs={};for(let _=0;_<this.length;++_)this.setCell(_,v)}}copyFrom(v){this.length!==v.length?this._data=new Uint32Array(v._data):this._data.set(v._data),this.length=v.length,this._combined={};for(const S in v._combined)this._combined[S]=v._combined[S];this._extendedAttrs={};for(const S in v._extendedAttrs)this._extendedAttrs[S]=v._extendedAttrs[S];this.isWrapped=v.isWrapped}clone(){const v=new w(0);v._data=new Uint32Array(this._data),v.length=this.length;for(const S in this._combined)v._combined[S]=this._combined[S];for(const S in this._extendedAttrs)v._extendedAttrs[S]=this._extendedAttrs[S];return v.isWrapped=this.isWrapped,v}getTrimmedLength(){for(let v=this.length-1;v>=0;--v)if(4194303&this._data[3*v+0])return v+(this._data[3*v+0]>>22);return 0}getNoBgTrimmedLength(){for(let v=this.length-1;v>=0;--v)if(4194303&this._data[3*v+0]||50331648&this._data[3*v+2])return v+(this._data[3*v+0]>>22);return 0}copyCellsFrom(v,S,_,b,j){const E=v._data;if(j)for(let D=b-1;D>=0;D--){for(let L=0;L<3;L++)this._data[3*(_+D)+L]=E[3*(S+D)+L];268435456&E[3*(S+D)+2]&&(this._extendedAttrs[_+D]=v._extendedAttrs[S+D])}else for(let D=0;D<b;D++){for(let L=0;L<3;L++)this._data[3*(_+D)+L]=E[3*(S+D)+L];268435456&E[3*(S+D)+2]&&(this._extendedAttrs[_+D]=v._extendedAttrs[S+D])}const T=Object.keys(v._combined);for(let D=0;D<T.length;D++){const L=parseInt(T[D],10);L>=S&&(this._combined[L-S+_]=v._combined[L])}}translateToString(v,S,_,b){S=S??0,_=_??this.length,v&&(_=Math.min(_,this.getTrimmedLength())),b&&(b.length=0);let j="";for(;S<_;){const E=this._data[3*S+0],T=2097151&E,D=2097152&E?this._combined[S]:T?(0,x.stringFromCodePoint)(T):m.WHITESPACE_CELL_CHAR;if(j+=D,b)for(let L=0;L<D.length;++L)b.push(S);S+=E>>22||1}return b&&b.push(S),j}}c.BufferLine=w},4841:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.getRangeLength=void 0,c.getRangeLength=function(d,f){if(d.start.y>d.end.y)throw new Error(`Buffer range end (${d.end.x}, ${d.end.y}) cannot be before start (${d.start.x}, ${d.start.y})`);return f*(d.end.y-d.start.y)+(d.end.x-d.start.x+1)}},4634:(u,c)=>{function d(f,p,m){if(p===f.length-1)return f[p].getTrimmedLength();const x=!f[p].hasContent(m-1)&&f[p].getWidth(m-1)===1,y=f[p+1].getWidth(0)===2;return x&&y?m-1:m}Object.defineProperty(c,"__esModule",{value:!0}),c.getWrappedLineTrimmedLength=c.reflowSmallerGetNewLineLengths=c.reflowLargerApplyNewLayout=c.reflowLargerCreateNewLayout=c.reflowLargerGetLinesToRemove=void 0,c.reflowLargerGetLinesToRemove=function(f,p,m,x,y){const w=[];for(let C=0;C<f.length-1;C++){let v=C,S=f.get(++v);if(!S.isWrapped)continue;const _=[f.get(C)];for(;v<f.length&&S.isWrapped;)_.push(S),S=f.get(++v);if(x>=C&&x<v){C+=_.length-1;continue}let b=0,j=d(_,b,p),E=1,T=0;for(;E<_.length;){const L=d(_,E,p),O=L-T,P=m-j,G=Math.min(O,P);_[b].copyCellsFrom(_[E],T,j,G,!1),j+=G,j===m&&(b++,j=0),T+=G,T===L&&(E++,T=0),j===0&&b!==0&&_[b-1].getWidth(m-1)===2&&(_[b].copyCellsFrom(_[b-1],m-1,j++,1,!1),_[b-1].setCell(m-1,y))}_[b].replaceCells(j,m,y);let D=0;for(let L=_.length-1;L>0&&(L>b||_[L].getTrimmedLength()===0);L--)D++;D>0&&(w.push(C+_.length-D),w.push(D)),C+=_.length-1}return w},c.reflowLargerCreateNewLayout=function(f,p){const m=[];let x=0,y=p[x],w=0;for(let C=0;C<f.length;C++)if(y===C){const v=p[++x];f.onDeleteEmitter.fire({index:C-w,amount:v}),C+=v-1,w+=v,y=p[++x]}else m.push(C);return{layout:m,countRemoved:w}},c.reflowLargerApplyNewLayout=function(f,p){const m=[];for(let x=0;x<p.length;x++)m.push(f.get(p[x]));for(let x=0;x<m.length;x++)f.set(x,m[x]);f.length=p.length},c.reflowSmallerGetNewLineLengths=function(f,p,m){const x=[],y=f.map(((S,_)=>d(f,_,p))).reduce(((S,_)=>S+_));let w=0,C=0,v=0;for(;v<y;){if(y-v<m){x.push(y-v);break}w+=m;const S=d(f,C,p);w>S&&(w-=S,C++);const _=f[C].getWidth(w-1)===2;_&&w--;const b=_?m-1:m;x.push(b),v+=b}return x},c.getWrappedLineTrimmedLength=d},5295:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferSet=void 0;const f=d(8460),p=d(844),m=d(9092);class x extends p.Disposable{constructor(w,C){super(),this._optionsService=w,this._bufferService=C,this._onBufferActivate=this.register(new f.EventEmitter),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this.register(this._optionsService.onSpecificOptionChange("scrollback",(()=>this.resize(this._bufferService.cols,this._bufferService.rows)))),this.register(this._optionsService.onSpecificOptionChange("tabStopWidth",(()=>this.setupTabStops())))}reset(){this._normal=new m.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new m.Buffer(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(w){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(w),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(w,C){this._normal.resize(w,C),this._alt.resize(w,C),this.setupTabStops(w)}setupTabStops(w){this._normal.setupTabStops(w),this._alt.setupTabStops(w)}}c.BufferSet=x},511:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CellData=void 0;const f=d(482),p=d(643),m=d(3734);class x extends m.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new m.ExtendedAttrs,this.combinedData=""}static fromCharData(w){const C=new x;return C.setFromCharData(w),C}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(w){this.fg=w[p.CHAR_DATA_ATTR_INDEX],this.bg=0;let C=!1;if(w[p.CHAR_DATA_CHAR_INDEX].length>2)C=!0;else if(w[p.CHAR_DATA_CHAR_INDEX].length===2){const v=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=v&&v<=56319){const S=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=S&&S<=57343?this.content=1024*(v-55296)+S-56320+65536|w[p.CHAR_DATA_WIDTH_INDEX]<<22:C=!0}else C=!0}else this.content=w[p.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|w[p.CHAR_DATA_WIDTH_INDEX]<<22;C&&(this.combinedData=w[p.CHAR_DATA_CHAR_INDEX],this.content=2097152|w[p.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}c.CellData=x},643:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WHITESPACE_CELL_CODE=c.WHITESPACE_CELL_WIDTH=c.WHITESPACE_CELL_CHAR=c.NULL_CELL_CODE=c.NULL_CELL_WIDTH=c.NULL_CELL_CHAR=c.CHAR_DATA_CODE_INDEX=c.CHAR_DATA_WIDTH_INDEX=c.CHAR_DATA_CHAR_INDEX=c.CHAR_DATA_ATTR_INDEX=c.DEFAULT_EXT=c.DEFAULT_ATTR=c.DEFAULT_COLOR=void 0,c.DEFAULT_COLOR=0,c.DEFAULT_ATTR=256|c.DEFAULT_COLOR<<9,c.DEFAULT_EXT=0,c.CHAR_DATA_ATTR_INDEX=0,c.CHAR_DATA_CHAR_INDEX=1,c.CHAR_DATA_WIDTH_INDEX=2,c.CHAR_DATA_CODE_INDEX=3,c.NULL_CELL_CHAR="",c.NULL_CELL_WIDTH=1,c.NULL_CELL_CODE=0,c.WHITESPACE_CELL_CHAR=" ",c.WHITESPACE_CELL_WIDTH=1,c.WHITESPACE_CELL_CODE=32},4863:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Marker=void 0;const f=d(8460),p=d(844);class m{get id(){return this._id}constructor(y){this.line=y,this.isDisposed=!1,this._disposables=[],this._id=m._nextId++,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,p.disposeArray)(this._disposables),this._disposables.length=0)}register(y){return this._disposables.push(y),y}}c.Marker=m,m._nextId=1},7116:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DEFAULT_CHARSET=c.CHARSETS=void 0,c.CHARSETS={},c.DEFAULT_CHARSET=c.CHARSETS.B,c.CHARSETS[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"},c.CHARSETS.A={"#":"£"},c.CHARSETS.B=void 0,c.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},c.CHARSETS.C=c.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},c.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},c.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},c.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},c.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},c.CHARSETS.E=c.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},c.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},c.CHARSETS.H=c.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},c.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(u,c)=>{var d,f,p;Object.defineProperty(c,"__esModule",{value:!0}),c.C1_ESCAPED=c.C1=c.C0=void 0,(function(m){m.NUL="\0",m.SOH="",m.STX="",m.ETX="",m.EOT="",m.ENQ="",m.ACK="",m.BEL="\x07",m.BS="\b",m.HT=" ",m.LF=`
|
|
67
|
+
`,m.VT="\v",m.FF="\f",m.CR="\r",m.SO="",m.SI="",m.DLE="",m.DC1="",m.DC2="",m.DC3="",m.DC4="",m.NAK="",m.SYN="",m.ETB="",m.CAN="",m.EM="",m.SUB="",m.ESC="\x1B",m.FS="",m.GS="",m.RS="",m.US="",m.SP=" ",m.DEL=""})(d||(c.C0=d={})),(function(m){m.PAD="",m.HOP="",m.BPH="",m.NBH="",m.IND="",m.NEL="
",m.SSA="",m.ESA="",m.HTS="",m.HTJ="",m.VTS="",m.PLD="",m.PLU="",m.RI="",m.SS2="",m.SS3="",m.DCS="",m.PU1="",m.PU2="",m.STS="",m.CCH="",m.MW="",m.SPA="",m.EPA="",m.SOS="",m.SGCI="",m.SCI="",m.CSI="",m.ST="",m.OSC="",m.PM="",m.APC=""})(f||(c.C1=f={})),(function(m){m.ST=`${d.ESC}\\`})(p||(c.C1_ESCAPED=p={}))},7399:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.evaluateKeyboardEvent=void 0;const f=d(2584),p={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};c.evaluateKeyboardEvent=function(m,x,y,w){const C={type:0,cancel:!1,key:void 0},v=(m.shiftKey?1:0)|(m.altKey?2:0)|(m.ctrlKey?4:0)|(m.metaKey?8:0);switch(m.keyCode){case 0:m.key==="UIKeyInputUpArrow"?C.key=x?f.C0.ESC+"OA":f.C0.ESC+"[A":m.key==="UIKeyInputLeftArrow"?C.key=x?f.C0.ESC+"OD":f.C0.ESC+"[D":m.key==="UIKeyInputRightArrow"?C.key=x?f.C0.ESC+"OC":f.C0.ESC+"[C":m.key==="UIKeyInputDownArrow"&&(C.key=x?f.C0.ESC+"OB":f.C0.ESC+"[B");break;case 8:C.key=m.ctrlKey?"\b":f.C0.DEL,m.altKey&&(C.key=f.C0.ESC+C.key);break;case 9:if(m.shiftKey){C.key=f.C0.ESC+"[Z";break}C.key=f.C0.HT,C.cancel=!0;break;case 13:C.key=m.altKey?f.C0.ESC+f.C0.CR:f.C0.CR,C.cancel=!0;break;case 27:C.key=f.C0.ESC,m.altKey&&(C.key=f.C0.ESC+f.C0.ESC),C.cancel=!0;break;case 37:if(m.metaKey)break;v?(C.key=f.C0.ESC+"[1;"+(v+1)+"D",C.key===f.C0.ESC+"[1;3D"&&(C.key=f.C0.ESC+(y?"b":"[1;5D"))):C.key=x?f.C0.ESC+"OD":f.C0.ESC+"[D";break;case 39:if(m.metaKey)break;v?(C.key=f.C0.ESC+"[1;"+(v+1)+"C",C.key===f.C0.ESC+"[1;3C"&&(C.key=f.C0.ESC+(y?"f":"[1;5C"))):C.key=x?f.C0.ESC+"OC":f.C0.ESC+"[C";break;case 38:if(m.metaKey)break;v?(C.key=f.C0.ESC+"[1;"+(v+1)+"A",y||C.key!==f.C0.ESC+"[1;3A"||(C.key=f.C0.ESC+"[1;5A")):C.key=x?f.C0.ESC+"OA":f.C0.ESC+"[A";break;case 40:if(m.metaKey)break;v?(C.key=f.C0.ESC+"[1;"+(v+1)+"B",y||C.key!==f.C0.ESC+"[1;3B"||(C.key=f.C0.ESC+"[1;5B")):C.key=x?f.C0.ESC+"OB":f.C0.ESC+"[B";break;case 45:m.shiftKey||m.ctrlKey||(C.key=f.C0.ESC+"[2~");break;case 46:C.key=v?f.C0.ESC+"[3;"+(v+1)+"~":f.C0.ESC+"[3~";break;case 36:C.key=v?f.C0.ESC+"[1;"+(v+1)+"H":x?f.C0.ESC+"OH":f.C0.ESC+"[H";break;case 35:C.key=v?f.C0.ESC+"[1;"+(v+1)+"F":x?f.C0.ESC+"OF":f.C0.ESC+"[F";break;case 33:m.shiftKey?C.type=2:m.ctrlKey?C.key=f.C0.ESC+"[5;"+(v+1)+"~":C.key=f.C0.ESC+"[5~";break;case 34:m.shiftKey?C.type=3:m.ctrlKey?C.key=f.C0.ESC+"[6;"+(v+1)+"~":C.key=f.C0.ESC+"[6~";break;case 112:C.key=v?f.C0.ESC+"[1;"+(v+1)+"P":f.C0.ESC+"OP";break;case 113:C.key=v?f.C0.ESC+"[1;"+(v+1)+"Q":f.C0.ESC+"OQ";break;case 114:C.key=v?f.C0.ESC+"[1;"+(v+1)+"R":f.C0.ESC+"OR";break;case 115:C.key=v?f.C0.ESC+"[1;"+(v+1)+"S":f.C0.ESC+"OS";break;case 116:C.key=v?f.C0.ESC+"[15;"+(v+1)+"~":f.C0.ESC+"[15~";break;case 117:C.key=v?f.C0.ESC+"[17;"+(v+1)+"~":f.C0.ESC+"[17~";break;case 118:C.key=v?f.C0.ESC+"[18;"+(v+1)+"~":f.C0.ESC+"[18~";break;case 119:C.key=v?f.C0.ESC+"[19;"+(v+1)+"~":f.C0.ESC+"[19~";break;case 120:C.key=v?f.C0.ESC+"[20;"+(v+1)+"~":f.C0.ESC+"[20~";break;case 121:C.key=v?f.C0.ESC+"[21;"+(v+1)+"~":f.C0.ESC+"[21~";break;case 122:C.key=v?f.C0.ESC+"[23;"+(v+1)+"~":f.C0.ESC+"[23~";break;case 123:C.key=v?f.C0.ESC+"[24;"+(v+1)+"~":f.C0.ESC+"[24~";break;default:if(!m.ctrlKey||m.shiftKey||m.altKey||m.metaKey)if(y&&!w||!m.altKey||m.metaKey)!y||m.altKey||m.ctrlKey||m.shiftKey||!m.metaKey?m.key&&!m.ctrlKey&&!m.altKey&&!m.metaKey&&m.keyCode>=48&&m.key.length===1?C.key=m.key:m.key&&m.ctrlKey&&(m.key==="_"&&(C.key=f.C0.US),m.key==="@"&&(C.key=f.C0.NUL)):m.keyCode===65&&(C.type=1);else{const S=p[m.keyCode],_=S==null?void 0:S[m.shiftKey?1:0];if(_)C.key=f.C0.ESC+_;else if(m.keyCode>=65&&m.keyCode<=90){const b=m.ctrlKey?m.keyCode-64:m.keyCode+32;let j=String.fromCharCode(b);m.shiftKey&&(j=j.toUpperCase()),C.key=f.C0.ESC+j}else if(m.keyCode===32)C.key=f.C0.ESC+(m.ctrlKey?f.C0.NUL:" ");else if(m.key==="Dead"&&m.code.startsWith("Key")){let b=m.code.slice(3,4);m.shiftKey||(b=b.toLowerCase()),C.key=f.C0.ESC+b,C.cancel=!0}}else m.keyCode>=65&&m.keyCode<=90?C.key=String.fromCharCode(m.keyCode-64):m.keyCode===32?C.key=f.C0.NUL:m.keyCode>=51&&m.keyCode<=55?C.key=String.fromCharCode(m.keyCode-51+27):m.keyCode===56?C.key=f.C0.DEL:m.keyCode===219?C.key=f.C0.ESC:m.keyCode===220?C.key=f.C0.FS:m.keyCode===221&&(C.key=f.C0.GS)}return C}},482:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Utf8ToUtf32=c.StringToUtf32=c.utf32ToString=c.stringFromCodePoint=void 0,c.stringFromCodePoint=function(d){return d>65535?(d-=65536,String.fromCharCode(55296+(d>>10))+String.fromCharCode(d%1024+56320)):String.fromCharCode(d)},c.utf32ToString=function(d,f=0,p=d.length){let m="";for(let x=f;x<p;++x){let y=d[x];y>65535?(y-=65536,m+=String.fromCharCode(55296+(y>>10))+String.fromCharCode(y%1024+56320)):m+=String.fromCharCode(y)}return m},c.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(d,f){const p=d.length;if(!p)return 0;let m=0,x=0;if(this._interim){const y=d.charCodeAt(x++);56320<=y&&y<=57343?f[m++]=1024*(this._interim-55296)+y-56320+65536:(f[m++]=this._interim,f[m++]=y),this._interim=0}for(let y=x;y<p;++y){const w=d.charCodeAt(y);if(55296<=w&&w<=56319){if(++y>=p)return this._interim=w,m;const C=d.charCodeAt(y);56320<=C&&C<=57343?f[m++]=1024*(w-55296)+C-56320+65536:(f[m++]=w,f[m++]=C)}else w!==65279&&(f[m++]=w)}return m}},c.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(d,f){const p=d.length;if(!p)return 0;let m,x,y,w,C=0,v=0,S=0;if(this.interim[0]){let j=!1,E=this.interim[0];E&=(224&E)==192?31:(240&E)==224?15:7;let T,D=0;for(;(T=63&this.interim[++D])&&D<4;)E<<=6,E|=T;const L=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,O=L-D;for(;S<O;){if(S>=p)return 0;if(T=d[S++],(192&T)!=128){S--,j=!0;break}this.interim[D++]=T,E<<=6,E|=63&T}j||(L===2?E<128?S--:f[C++]=E:L===3?E<2048||E>=55296&&E<=57343||E===65279||(f[C++]=E):E<65536||E>1114111||(f[C++]=E)),this.interim.fill(0)}const _=p-4;let b=S;for(;b<p;){for(;!(!(b<_)||128&(m=d[b])||128&(x=d[b+1])||128&(y=d[b+2])||128&(w=d[b+3]));)f[C++]=m,f[C++]=x,f[C++]=y,f[C++]=w,b+=4;if(m=d[b++],m<128)f[C++]=m;else if((224&m)==192){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(v=(31&m)<<6|63&x,v<128){b--;continue}f[C++]=v}else if((240&m)==224){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,C;if(y=d[b++],(192&y)!=128){b--;continue}if(v=(15&m)<<12|(63&x)<<6|63&y,v<2048||v>=55296&&v<=57343||v===65279)continue;f[C++]=v}else if((248&m)==240){if(b>=p)return this.interim[0]=m,C;if(x=d[b++],(192&x)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,C;if(y=d[b++],(192&y)!=128){b--;continue}if(b>=p)return this.interim[0]=m,this.interim[1]=x,this.interim[2]=y,C;if(w=d[b++],(192&w)!=128){b--;continue}if(v=(7&m)<<18|(63&x)<<12|(63&y)<<6|63&w,v<65536||v>1114111)continue;f[C++]=v}}return C}}},225:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeV6=void 0;const f=d(1480),p=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],m=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]];let x;c.UnicodeV6=class{constructor(){if(this.version="6",!x){x=new Uint8Array(65536),x.fill(1),x[0]=0,x.fill(0,1,32),x.fill(0,127,160),x.fill(2,4352,4448),x[9001]=2,x[9002]=2,x.fill(2,11904,42192),x[12351]=1,x.fill(2,44032,55204),x.fill(2,63744,64256),x.fill(2,65040,65050),x.fill(2,65072,65136),x.fill(2,65280,65377),x.fill(2,65504,65511);for(let y=0;y<p.length;++y)x.fill(0,p[y][0],p[y][1]+1)}}wcwidth(y){return y<32?0:y<127?1:y<65536?x[y]:(function(w,C){let v,S=0,_=C.length-1;if(w<C[0][0]||w>C[_][1])return!1;for(;_>=S;)if(v=S+_>>1,w>C[v][1])S=v+1;else{if(!(w<C[v][0]))return!0;_=v-1}return!1})(y,m)?0:y>=131072&&y<=196605||y>=196608&&y<=262141?2:1}charProperties(y,w){let C=this.wcwidth(y),v=C===0&&w!==0;if(v){const S=f.UnicodeService.extractWidth(w);S===0?v=!1:S>C&&(C=S)}return f.UnicodeService.createPropertyValue(0,C,v)}}},5981:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.WriteBuffer=void 0;const f=d(8460),p=d(844);class m extends p.Disposable{constructor(y){super(),this._action=y,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new f.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(y,w){if(w!==void 0&&this._syncCalls>w)return void(this._syncCalls=0);if(this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let C;for(this._isSyncWriting=!0;C=this._writeBuffer.shift();){this._action(C);const v=this._callbacks.shift();v&&v()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(y,w){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(w),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=y.length,this._writeBuffer.push(y),this._callbacks.push(w)}_innerWrite(y=0,w=!0){const C=y||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const v=this._writeBuffer[this._bufferOffset],S=this._action(v,w);if(S){const b=j=>Date.now()-C>=12?setTimeout((()=>this._innerWrite(0,j))):this._innerWrite(C,j);return void S.catch((j=>(queueMicrotask((()=>{throw j})),Promise.resolve(!1)))).then(b)}const _=this._callbacks[this._bufferOffset];if(_&&_(),this._bufferOffset++,this._pendingData-=v.length,Date.now()-C>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout((()=>this._innerWrite()))):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}}c.WriteBuffer=m},5941:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.toRgbString=c.parseColor=void 0;const d=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,f=/^[\da-f]+$/;function p(m,x){const y=m.toString(16),w=y.length<2?"0"+y:y;switch(x){case 4:return y[0];case 8:return w;case 12:return(w+w).slice(0,3);default:return w+w}}c.parseColor=function(m){if(!m)return;let x=m.toLowerCase();if(x.indexOf("rgb:")===0){x=x.slice(4);const y=d.exec(x);if(y){const w=y[1]?15:y[4]?255:y[7]?4095:65535;return[Math.round(parseInt(y[1]||y[4]||y[7]||y[10],16)/w*255),Math.round(parseInt(y[2]||y[5]||y[8]||y[11],16)/w*255),Math.round(parseInt(y[3]||y[6]||y[9]||y[12],16)/w*255)]}}else if(x.indexOf("#")===0&&(x=x.slice(1),f.exec(x)&&[3,6,9,12].includes(x.length))){const y=x.length/3,w=[0,0,0];for(let C=0;C<3;++C){const v=parseInt(x.slice(y*C,y*C+y),16);w[C]=y===1?v<<4:y===2?v:y===3?v>>4:v>>8}return w}},c.toRgbString=function(m,x=16){const[y,w,C]=m;return`rgb:${p(y,x)}/${p(w,x)}/${p(C,x)}`}},5770:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.PAYLOAD_LIMIT=void 0,c.PAYLOAD_LIMIT=1e7},6351:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DcsHandler=c.DcsParser=void 0;const f=d(482),p=d(8742),m=d(5770),x=[];c.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=x,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=x}registerHandler(w,C){this._handlers[w]===void 0&&(this._handlers[w]=[]);const v=this._handlers[w];return v.push(C),{dispose:()=>{const S=v.indexOf(C);S!==-1&&v.splice(S,1)}}}clearHandler(w){this._handlers[w]&&delete this._handlers[w]}setHandlerFallback(w){this._handlerFb=w}reset(){if(this._active.length)for(let w=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;w>=0;--w)this._active[w].unhook(!1);this._stack.paused=!1,this._active=x,this._ident=0}hook(w,C){if(this.reset(),this._ident=w,this._active=this._handlers[w]||x,this._active.length)for(let v=this._active.length-1;v>=0;v--)this._active[v].hook(C);else this._handlerFb(this._ident,"HOOK",C)}put(w,C,v){if(this._active.length)for(let S=this._active.length-1;S>=0;S--)this._active[S].put(w,C,v);else this._handlerFb(this._ident,"PUT",(0,f.utf32ToString)(w,C,v))}unhook(w,C=!0){if(this._active.length){let v=!1,S=this._active.length-1,_=!1;if(this._stack.paused&&(S=this._stack.loopPosition-1,v=C,_=this._stack.fallThrough,this._stack.paused=!1),!_&&v===!1){for(;S>=0&&(v=this._active[S].unhook(w),v!==!0);S--)if(v instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=S,this._stack.fallThrough=!1,v;S--}for(;S>=0;S--)if(v=this._active[S].unhook(!1),v instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=S,this._stack.fallThrough=!0,v}else this._handlerFb(this._ident,"UNHOOK",w);this._active=x,this._ident=0}};const y=new p.Params;y.addParam(0),c.DcsHandler=class{constructor(w){this._handler=w,this._data="",this._params=y,this._hitLimit=!1}hook(w){this._params=w.length>1||w.params[0]?w.clone():y,this._data="",this._hitLimit=!1}put(w,C,v){this._hitLimit||(this._data+=(0,f.utf32ToString)(w,C,v),this._data.length>m.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(w){let C=!1;if(this._hitLimit)C=!1;else if(w&&(C=this._handler(this._data,this._params),C instanceof Promise))return C.then((v=>(this._params=y,this._data="",this._hitLimit=!1,v)));return this._params=y,this._data="",this._hitLimit=!1,C}}},2015:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.EscapeSequenceParser=c.VT500_TRANSITION_TABLE=c.TransitionTable=void 0;const f=d(844),p=d(8742),m=d(6242),x=d(6351);class y{constructor(S){this.table=new Uint8Array(S)}setDefault(S,_){this.table.fill(S<<4|_)}add(S,_,b,j){this.table[_<<8|S]=b<<4|j}addMany(S,_,b,j){for(let E=0;E<S.length;E++)this.table[_<<8|S[E]]=b<<4|j}}c.TransitionTable=y;const w=160;c.VT500_TRANSITION_TABLE=(function(){const v=new y(4095),S=Array.apply(null,Array(256)).map(((D,L)=>L)),_=(D,L)=>S.slice(D,L),b=_(32,127),j=_(0,24);j.push(25),j.push.apply(j,_(28,32));const E=_(0,14);let T;for(T in v.setDefault(1,0),v.addMany(b,0,2,0),E)v.addMany([24,26,153,154],T,3,0),v.addMany(_(128,144),T,3,0),v.addMany(_(144,152),T,3,0),v.add(156,T,0,0),v.add(27,T,11,1),v.add(157,T,4,8),v.addMany([152,158,159],T,0,7),v.add(155,T,11,3),v.add(144,T,11,9);return v.addMany(j,0,3,0),v.addMany(j,1,3,1),v.add(127,1,0,1),v.addMany(j,8,0,8),v.addMany(j,3,3,3),v.add(127,3,0,3),v.addMany(j,4,3,4),v.add(127,4,0,4),v.addMany(j,6,3,6),v.addMany(j,5,3,5),v.add(127,5,0,5),v.addMany(j,2,3,2),v.add(127,2,0,2),v.add(93,1,4,8),v.addMany(b,8,5,8),v.add(127,8,5,8),v.addMany([156,27,24,26,7],8,6,0),v.addMany(_(28,32),8,0,8),v.addMany([88,94,95],1,0,7),v.addMany(b,7,0,7),v.addMany(j,7,0,7),v.add(156,7,0,0),v.add(127,7,0,7),v.add(91,1,11,3),v.addMany(_(64,127),3,7,0),v.addMany(_(48,60),3,8,4),v.addMany([60,61,62,63],3,9,4),v.addMany(_(48,60),4,8,4),v.addMany(_(64,127),4,7,0),v.addMany([60,61,62,63],4,0,6),v.addMany(_(32,64),6,0,6),v.add(127,6,0,6),v.addMany(_(64,127),6,0,0),v.addMany(_(32,48),3,9,5),v.addMany(_(32,48),5,9,5),v.addMany(_(48,64),5,0,6),v.addMany(_(64,127),5,7,0),v.addMany(_(32,48),4,9,5),v.addMany(_(32,48),1,9,2),v.addMany(_(32,48),2,9,2),v.addMany(_(48,127),2,10,0),v.addMany(_(48,80),1,10,0),v.addMany(_(81,88),1,10,0),v.addMany([89,90,92],1,10,0),v.addMany(_(96,127),1,10,0),v.add(80,1,11,9),v.addMany(j,9,0,9),v.add(127,9,0,9),v.addMany(_(28,32),9,0,9),v.addMany(_(32,48),9,9,12),v.addMany(_(48,60),9,8,10),v.addMany([60,61,62,63],9,9,10),v.addMany(j,11,0,11),v.addMany(_(32,128),11,0,11),v.addMany(_(28,32),11,0,11),v.addMany(j,10,0,10),v.add(127,10,0,10),v.addMany(_(28,32),10,0,10),v.addMany(_(48,60),10,8,10),v.addMany([60,61,62,63],10,0,11),v.addMany(_(32,48),10,9,12),v.addMany(j,12,0,12),v.add(127,12,0,12),v.addMany(_(28,32),12,0,12),v.addMany(_(32,48),12,9,12),v.addMany(_(48,64),12,0,11),v.addMany(_(64,127),12,12,13),v.addMany(_(64,127),10,12,13),v.addMany(_(64,127),9,12,13),v.addMany(j,13,13,13),v.addMany(b,13,13,13),v.add(127,13,0,13),v.addMany([27,156,24,26],13,14,0),v.add(w,0,2,0),v.add(w,8,5,8),v.add(w,6,0,6),v.add(w,11,0,11),v.add(w,13,13,13),v})();class C extends f.Disposable{constructor(S=c.VT500_TRANSITION_TABLE){super(),this._transitions=S,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new p.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(_,b,j)=>{},this._executeHandlerFb=_=>{},this._csiHandlerFb=(_,b)=>{},this._escHandlerFb=_=>{},this._errorHandlerFb=_=>_,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,f.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new m.OscParser),this._dcsParser=this.register(new x.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},(()=>!0))}_identifier(S,_=[64,126]){let b=0;if(S.prefix){if(S.prefix.length>1)throw new Error("only one byte as prefix supported");if(b=S.prefix.charCodeAt(0),b&&60>b||b>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(S.intermediates){if(S.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let E=0;E<S.intermediates.length;++E){const T=S.intermediates.charCodeAt(E);if(32>T||T>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");b<<=8,b|=T}}if(S.final.length!==1)throw new Error("final must be a single byte");const j=S.final.charCodeAt(0);if(_[0]>j||j>_[1])throw new Error(`final must be in range ${_[0]} .. ${_[1]}`);return b<<=8,b|=j,b}identToString(S){const _=[];for(;S;)_.push(String.fromCharCode(255&S)),S>>=8;return _.reverse().join("")}setPrintHandler(S){this._printHandler=S}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(S,_){const b=this._identifier(S,[48,126]);this._escHandlers[b]===void 0&&(this._escHandlers[b]=[]);const j=this._escHandlers[b];return j.push(_),{dispose:()=>{const E=j.indexOf(_);E!==-1&&j.splice(E,1)}}}clearEscHandler(S){this._escHandlers[this._identifier(S,[48,126])]&&delete this._escHandlers[this._identifier(S,[48,126])]}setEscHandlerFallback(S){this._escHandlerFb=S}setExecuteHandler(S,_){this._executeHandlers[S.charCodeAt(0)]=_}clearExecuteHandler(S){this._executeHandlers[S.charCodeAt(0)]&&delete this._executeHandlers[S.charCodeAt(0)]}setExecuteHandlerFallback(S){this._executeHandlerFb=S}registerCsiHandler(S,_){const b=this._identifier(S);this._csiHandlers[b]===void 0&&(this._csiHandlers[b]=[]);const j=this._csiHandlers[b];return j.push(_),{dispose:()=>{const E=j.indexOf(_);E!==-1&&j.splice(E,1)}}}clearCsiHandler(S){this._csiHandlers[this._identifier(S)]&&delete this._csiHandlers[this._identifier(S)]}setCsiHandlerFallback(S){this._csiHandlerFb=S}registerDcsHandler(S,_){return this._dcsParser.registerHandler(this._identifier(S),_)}clearDcsHandler(S){this._dcsParser.clearHandler(this._identifier(S))}setDcsHandlerFallback(S){this._dcsParser.setHandlerFallback(S)}registerOscHandler(S,_){return this._oscParser.registerHandler(S,_)}clearOscHandler(S){this._oscParser.clearHandler(S)}setOscHandlerFallback(S){this._oscParser.setHandlerFallback(S)}setErrorHandler(S){this._errorHandler=S}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(S,_,b,j,E){this._parseStack.state=S,this._parseStack.handlers=_,this._parseStack.handlerPos=b,this._parseStack.transition=j,this._parseStack.chunkPos=E}parse(S,_,b){let j,E=0,T=0,D=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,D=this._parseStack.chunkPos+1;else{if(b===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const L=this._parseStack.handlers;let O=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(b===!1&&O>-1){for(;O>=0&&(j=L[O](this._params),j!==!0);O--)if(j instanceof Promise)return this._parseStack.handlerPos=O,j}this._parseStack.handlers=[];break;case 4:if(b===!1&&O>-1){for(;O>=0&&(j=L[O](),j!==!0);O--)if(j instanceof Promise)return this._parseStack.handlerPos=O,j}this._parseStack.handlers=[];break;case 6:if(E=S[this._parseStack.chunkPos],j=this._dcsParser.unhook(E!==24&&E!==26,b),j)return j;E===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(E=S[this._parseStack.chunkPos],j=this._oscParser.end(E!==24&&E!==26,b),j)return j;E===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,D=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let L=D;L<_;++L){switch(E=S[L],T=this._transitions.table[this.currentState<<8|(E<160?E:w)],T>>4){case 2:for(let I=L+1;;++I){if(I>=_||(E=S[I])<32||E>126&&E<w){this._printHandler(S,L,I),L=I-1;break}if(++I>=_||(E=S[I])<32||E>126&&E<w){this._printHandler(S,L,I),L=I-1;break}if(++I>=_||(E=S[I])<32||E>126&&E<w){this._printHandler(S,L,I),L=I-1;break}if(++I>=_||(E=S[I])<32||E>126&&E<w){this._printHandler(S,L,I),L=I-1;break}}break;case 3:this._executeHandlers[E]?this._executeHandlers[E]():this._executeHandlerFb(E),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:L,code:E,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const O=this._csiHandlers[this._collect<<8|E];let P=O?O.length-1:-1;for(;P>=0&&(j=O[P](this._params),j!==!0);P--)if(j instanceof Promise)return this._preserveStack(3,O,P,T,L),j;P<0&&this._csiHandlerFb(this._collect<<8|E,this._params),this.precedingJoinState=0;break;case 8:do switch(E){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(E-48)}while(++L<_&&(E=S[L])>47&&E<60);L--;break;case 9:this._collect<<=8,this._collect|=E;break;case 10:const G=this._escHandlers[this._collect<<8|E];let W=G?G.length-1:-1;for(;W>=0&&(j=G[W](),j!==!0);W--)if(j instanceof Promise)return this._preserveStack(4,G,W,T,L),j;W<0&&this._escHandlerFb(this._collect<<8|E),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|E,this._params);break;case 13:for(let I=L+1;;++I)if(I>=_||(E=S[I])===24||E===26||E===27||E>127&&E<w){this._dcsParser.put(S,L,I),L=I-1;break}break;case 14:if(j=this._dcsParser.unhook(E!==24&&E!==26),j)return this._preserveStack(6,[],0,T,L),j;E===27&&(T|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let I=L+1;;I++)if(I>=_||(E=S[I])<32||E>127&&E<w){this._oscParser.put(S,L,I),L=I-1;break}break;case 6:if(j=this._oscParser.end(E!==24&&E!==26),j)return this._preserveStack(5,[],0,T,L),j;E===27&&(T|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&T}}}c.EscapeSequenceParser=C},6242:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.OscHandler=c.OscParser=void 0;const f=d(5770),p=d(482),m=[];c.OscParser=class{constructor(){this._state=0,this._active=m,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(x,y){this._handlers[x]===void 0&&(this._handlers[x]=[]);const w=this._handlers[x];return w.push(y),{dispose:()=>{const C=w.indexOf(y);C!==-1&&w.splice(C,1)}}}clearHandler(x){this._handlers[x]&&delete this._handlers[x]}setHandlerFallback(x){this._handlerFb=x}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=m}reset(){if(this._state===2)for(let x=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;x>=0;--x)this._active[x].end(!1);this._stack.paused=!1,this._active=m,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||m,this._active.length)for(let x=this._active.length-1;x>=0;x--)this._active[x].start();else this._handlerFb(this._id,"START")}_put(x,y,w){if(this._active.length)for(let C=this._active.length-1;C>=0;C--)this._active[C].put(x,y,w);else this._handlerFb(this._id,"PUT",(0,p.utf32ToString)(x,y,w))}start(){this.reset(),this._state=1}put(x,y,w){if(this._state!==3){if(this._state===1)for(;y<w;){const C=x[y++];if(C===59){this._state=2,this._start();break}if(C<48||57<C)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+C-48}this._state===2&&w-y>0&&this._put(x,y,w)}}end(x,y=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let w=!1,C=this._active.length-1,v=!1;if(this._stack.paused&&(C=this._stack.loopPosition-1,w=y,v=this._stack.fallThrough,this._stack.paused=!1),!v&&w===!1){for(;C>=0&&(w=this._active[C].end(x),w!==!0);C--)if(w instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=C,this._stack.fallThrough=!1,w;C--}for(;C>=0;C--)if(w=this._active[C].end(!1),w instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=C,this._stack.fallThrough=!0,w}else this._handlerFb(this._id,"END",x);this._active=m,this._id=-1,this._state=0}}},c.OscHandler=class{constructor(x){this._handler=x,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(x,y,w){this._hitLimit||(this._data+=(0,p.utf32ToString)(x,y,w),this._data.length>f.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(x){let y=!1;if(this._hitLimit)y=!1;else if(x&&(y=this._handler(this._data),y instanceof Promise))return y.then((w=>(this._data="",this._hitLimit=!1,w)));return this._data="",this._hitLimit=!1,y}}},8742:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.Params=void 0;const d=2147483647;class f{static fromArray(m){const x=new f;if(!m.length)return x;for(let y=Array.isArray(m[0])?1:0;y<m.length;++y){const w=m[y];if(Array.isArray(w))for(let C=0;C<w.length;++C)x.addSubParam(w[C]);else x.addParam(w)}return x}constructor(m=32,x=32){if(this.maxLength=m,this.maxSubParamsLength=x,x>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(m),this.length=0,this._subParams=new Int32Array(x),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(m),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const m=new f(this.maxLength,this.maxSubParamsLength);return m.params.set(this.params),m.length=this.length,m._subParams.set(this._subParams),m._subParamsLength=this._subParamsLength,m._subParamsIdx.set(this._subParamsIdx),m._rejectDigits=this._rejectDigits,m._rejectSubDigits=this._rejectSubDigits,m._digitIsSub=this._digitIsSub,m}toArray(){const m=[];for(let x=0;x<this.length;++x){m.push(this.params[x]);const y=this._subParamsIdx[x]>>8,w=255&this._subParamsIdx[x];w-y>0&&m.push(Array.prototype.slice.call(this._subParams,y,w))}return m}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(m){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(m<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=m>d?d:m}}addSubParam(m){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(m<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=m>d?d:m,this._subParamsIdx[this.length-1]++}}hasSubParams(m){return(255&this._subParamsIdx[m])-(this._subParamsIdx[m]>>8)>0}getSubParams(m){const x=this._subParamsIdx[m]>>8,y=255&this._subParamsIdx[m];return y-x>0?this._subParams.subarray(x,y):null}getSubParamsAll(){const m={};for(let x=0;x<this.length;++x){const y=this._subParamsIdx[x]>>8,w=255&this._subParamsIdx[x];w-y>0&&(m[x]=this._subParams.slice(y,w))}return m}addDigit(m){let x;if(this._rejectDigits||!(x=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const y=this._digitIsSub?this._subParams:this.params,w=y[x-1];y[x-1]=~w?Math.min(10*w+m,d):m}}c.Params=f},5741:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.AddonManager=void 0,c.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let d=this._addons.length-1;d>=0;d--)this._addons[d].instance.dispose()}loadAddon(d,f){const p={instance:f,dispose:f.dispose,isDisposed:!1};this._addons.push(p),f.dispose=()=>this._wrappedAddonDispose(p),f.activate(d)}_wrappedAddonDispose(d){if(d.isDisposed)return;let f=-1;for(let p=0;p<this._addons.length;p++)if(this._addons[p]===d){f=p;break}if(f===-1)throw new Error("Could not dispose an addon that has not been loaded");d.isDisposed=!0,d.dispose.apply(d.instance),this._addons.splice(f,1)}}},8771:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferApiView=void 0;const f=d(3785),p=d(511);c.BufferApiView=class{constructor(m,x){this._buffer=m,this.type=x}init(m){return this._buffer=m,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(m){const x=this._buffer.lines.get(m);if(x)return new f.BufferLineApiView(x)}getNullCell(){return new p.CellData}}},3785:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferLineApiView=void 0;const f=d(511);c.BufferLineApiView=class{constructor(p){this._line=p}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(p,m){if(!(p<0||p>=this._line.length))return m?(this._line.loadCell(p,m),m):this._line.loadCell(p,new f.CellData)}translateToString(p,m,x){return this._line.translateToString(p,m,x)}}},8285:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.BufferNamespaceApi=void 0;const f=d(8771),p=d(8460),m=d(844);class x extends m.Disposable{constructor(w){super(),this._core=w,this._onBufferChange=this.register(new p.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new f.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new f.BufferApiView(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate((()=>this._onBufferChange.fire(this.active)))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}}c.BufferNamespaceApi=x},7975:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.ParserApi=void 0,c.ParserApi=class{constructor(d){this._core=d}registerCsiHandler(d,f){return this._core.registerCsiHandler(d,(p=>f(p.toArray())))}addCsiHandler(d,f){return this.registerCsiHandler(d,f)}registerDcsHandler(d,f){return this._core.registerDcsHandler(d,((p,m)=>f(p,m.toArray())))}addDcsHandler(d,f){return this.registerDcsHandler(d,f)}registerEscHandler(d,f){return this._core.registerEscHandler(d,f)}addEscHandler(d,f){return this.registerEscHandler(d,f)}registerOscHandler(d,f){return this._core.registerOscHandler(d,f)}addOscHandler(d,f){return this.registerOscHandler(d,f)}}},7090:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeApi=void 0,c.UnicodeApi=class{constructor(d){this._core=d}register(d){this._core.unicodeService.register(d)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(d){this._core.unicodeService.activeVersion=d}}},744:function(u,c,d){var f=this&&this.__decorate||function(v,S,_,b){var j,E=arguments.length,T=E<3?S:b===null?b=Object.getOwnPropertyDescriptor(S,_):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(v,S,_,b);else for(var D=v.length-1;D>=0;D--)(j=v[D])&&(T=(E<3?j(T):E>3?j(S,_,T):j(S,_))||T);return E>3&&T&&Object.defineProperty(S,_,T),T},p=this&&this.__param||function(v,S){return function(_,b){S(_,b,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.BufferService=c.MINIMUM_ROWS=c.MINIMUM_COLS=void 0;const m=d(8460),x=d(844),y=d(5295),w=d(2585);c.MINIMUM_COLS=2,c.MINIMUM_ROWS=1;let C=c.BufferService=class extends x.Disposable{get buffer(){return this.buffers.active}constructor(v){super(),this.isUserScrolling=!1,this._onResize=this.register(new m.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new m.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(v.rawOptions.cols||0,c.MINIMUM_COLS),this.rows=Math.max(v.rawOptions.rows||0,c.MINIMUM_ROWS),this.buffers=this.register(new y.BufferSet(v,this))}resize(v,S){this.cols=v,this.rows=S,this.buffers.resize(v,S),this._onResize.fire({cols:v,rows:S})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(v,S=!1){const _=this.buffer;let b;b=this._cachedBlankLine,b&&b.length===this.cols&&b.getFg(0)===v.fg&&b.getBg(0)===v.bg||(b=_.getBlankLine(v,S),this._cachedBlankLine=b),b.isWrapped=S;const j=_.ybase+_.scrollTop,E=_.ybase+_.scrollBottom;if(_.scrollTop===0){const T=_.lines.isFull;E===_.lines.length-1?T?_.lines.recycle().copyFrom(b):_.lines.push(b.clone()):_.lines.splice(E+1,0,b.clone()),T?this.isUserScrolling&&(_.ydisp=Math.max(_.ydisp-1,0)):(_.ybase++,this.isUserScrolling||_.ydisp++)}else{const T=E-j+1;_.lines.shiftElements(j+1,T-1,-1),_.lines.set(E,b.clone())}this.isUserScrolling||(_.ydisp=_.ybase),this._onScroll.fire(_.ydisp)}scrollLines(v,S,_){const b=this.buffer;if(v<0){if(b.ydisp===0)return;this.isUserScrolling=!0}else v+b.ydisp>=b.ybase&&(this.isUserScrolling=!1);const j=b.ydisp;b.ydisp=Math.max(Math.min(b.ydisp+v,b.ybase),0),j!==b.ydisp&&(S||this._onScroll.fire(b.ydisp))}};c.BufferService=C=f([p(0,w.IOptionsService)],C)},7994:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.CharsetService=void 0,c.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(d){this.glevel=d,this.charset=this._charsets[d]}setgCharset(d,f){this._charsets[d]=f,this.glevel===d&&(this.charset=f)}}},1753:function(u,c,d){var f=this&&this.__decorate||function(b,j,E,T){var D,L=arguments.length,O=L<3?j:T===null?T=Object.getOwnPropertyDescriptor(j,E):T;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")O=Reflect.decorate(b,j,E,T);else for(var P=b.length-1;P>=0;P--)(D=b[P])&&(O=(L<3?D(O):L>3?D(j,E,O):D(j,E))||O);return L>3&&O&&Object.defineProperty(j,E,O),O},p=this&&this.__param||function(b,j){return function(E,T){j(E,T,b)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CoreMouseService=void 0;const m=d(2585),x=d(8460),y=d(844),w={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:b=>b.button!==4&&b.action===1&&(b.ctrl=!1,b.alt=!1,b.shift=!1,!0)},VT200:{events:19,restrict:b=>b.action!==32},DRAG:{events:23,restrict:b=>b.action!==32||b.button!==3},ANY:{events:31,restrict:b=>!0}};function C(b,j){let E=(b.ctrl?16:0)|(b.shift?4:0)|(b.alt?8:0);return b.button===4?(E|=64,E|=b.action):(E|=3&b.button,4&b.button&&(E|=64),8&b.button&&(E|=128),b.action===32?E|=32:b.action!==0||j||(E|=3)),E}const v=String.fromCharCode,S={DEFAULT:b=>{const j=[C(b,!1)+32,b.col+32,b.row+32];return j[0]>255||j[1]>255||j[2]>255?"":`\x1B[M${v(j[0])}${v(j[1])}${v(j[2])}`},SGR:b=>{const j=b.action===0&&b.button!==4?"m":"M";return`\x1B[<${C(b,!0)};${b.col};${b.row}${j}`},SGR_PIXELS:b=>{const j=b.action===0&&b.button!==4?"m":"M";return`\x1B[<${C(b,!0)};${b.x};${b.y}${j}`}};let _=c.CoreMouseService=class extends y.Disposable{constructor(b,j){super(),this._bufferService=b,this._coreService=j,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new x.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const E of Object.keys(w))this.addProtocol(E,w[E]);for(const E of Object.keys(S))this.addEncoding(E,S[E]);this.reset()}addProtocol(b,j){this._protocols[b]=j}addEncoding(b,j){this._encodings[b]=j}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(b){if(!this._protocols[b])throw new Error(`unknown protocol "${b}"`);this._activeProtocol=b,this._onProtocolChange.fire(this._protocols[b].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(b){if(!this._encodings[b])throw new Error(`unknown encoding "${b}"`);this._activeEncoding=b}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(b){if(b.col<0||b.col>=this._bufferService.cols||b.row<0||b.row>=this._bufferService.rows||b.button===4&&b.action===32||b.button===3&&b.action!==32||b.button!==4&&(b.action===2||b.action===3)||(b.col++,b.row++,b.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,b,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(b))return!1;const j=this._encodings[this._activeEncoding](b);return j&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(j):this._coreService.triggerDataEvent(j,!0)),this._lastEvent=b,!0}explainEvents(b){return{down:!!(1&b),up:!!(2&b),drag:!!(4&b),move:!!(8&b),wheel:!!(16&b)}}_equalEvents(b,j,E){if(E){if(b.x!==j.x||b.y!==j.y)return!1}else if(b.col!==j.col||b.row!==j.row)return!1;return b.button===j.button&&b.action===j.action&&b.ctrl===j.ctrl&&b.alt===j.alt&&b.shift===j.shift}};c.CoreMouseService=_=f([p(0,m.IBufferService),p(1,m.ICoreService)],_)},6975:function(u,c,d){var f=this&&this.__decorate||function(_,b,j,E){var T,D=arguments.length,L=D<3?b:E===null?E=Object.getOwnPropertyDescriptor(b,j):E;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")L=Reflect.decorate(_,b,j,E);else for(var O=_.length-1;O>=0;O--)(T=_[O])&&(L=(D<3?T(L):D>3?T(b,j,L):T(b,j))||L);return D>3&&L&&Object.defineProperty(b,j,L),L},p=this&&this.__param||function(_,b){return function(j,E){b(j,E,_)}};Object.defineProperty(c,"__esModule",{value:!0}),c.CoreService=void 0;const m=d(1439),x=d(8460),y=d(844),w=d(2585),C=Object.freeze({insertMode:!1}),v=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let S=c.CoreService=class extends y.Disposable{constructor(_,b,j){super(),this._bufferService=_,this._logService=b,this._optionsService=j,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new x.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new x.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new x.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new x.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,m.clone)(C),this.decPrivateModes=(0,m.clone)(v)}reset(){this.modes=(0,m.clone)(C),this.decPrivateModes=(0,m.clone)(v)}triggerDataEvent(_,b=!1){if(this._optionsService.rawOptions.disableStdin)return;const j=this._bufferService.buffer;b&&this._optionsService.rawOptions.scrollOnUserInput&&j.ybase!==j.ydisp&&this._onRequestScrollToBottom.fire(),b&&this._onUserInput.fire(),this._logService.debug(`sending data "${_}"`,(()=>_.split("").map((E=>E.charCodeAt(0))))),this._onData.fire(_)}triggerBinaryEvent(_){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${_}"`,(()=>_.split("").map((b=>b.charCodeAt(0))))),this._onBinary.fire(_))}};c.CoreService=S=f([p(0,w.IBufferService),p(1,w.ILogService),p(2,w.IOptionsService)],S)},9074:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.DecorationService=void 0;const f=d(8055),p=d(8460),m=d(844),x=d(6106);let y=0,w=0;class C extends m.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new x.SortedList((_=>_==null?void 0:_.marker.line)),this._onDecorationRegistered=this.register(new p.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new p.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,m.toDisposable)((()=>this.reset())))}registerDecoration(_){if(_.marker.isDisposed)return;const b=new v(_);if(b){const j=b.marker.onDispose((()=>b.dispose()));b.onDispose((()=>{b&&(this._decorations.delete(b)&&this._onDecorationRemoved.fire(b),j.dispose())})),this._decorations.insert(b),this._onDecorationRegistered.fire(b)}return b}reset(){for(const _ of this._decorations.values())_.dispose();this._decorations.clear()}*getDecorationsAtCell(_,b,j){let E=0,T=0;for(const D of this._decorations.getKeyIterator(b))E=D.options.x??0,T=E+(D.options.width??1),_>=E&&_<T&&(!j||(D.options.layer??"bottom")===j)&&(yield D)}forEachDecorationAtCell(_,b,j,E){this._decorations.forEachByKey(b,(T=>{y=T.options.x??0,w=y+(T.options.width??1),_>=y&&_<w&&(!j||(T.options.layer??"bottom")===j)&&E(T)}))}}c.DecorationService=C;class v extends m.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=f.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=f.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(_){super(),this.options=_,this.onRenderEmitter=this.register(new p.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new p.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=_.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.InstantiationService=c.ServiceCollection=void 0;const f=d(2585),p=d(8343);class m{constructor(...y){this._entries=new Map;for(const[w,C]of y)this.set(w,C)}set(y,w){const C=this._entries.get(y);return this._entries.set(y,w),C}forEach(y){for(const[w,C]of this._entries.entries())y(w,C)}has(y){return this._entries.has(y)}get(y){return this._entries.get(y)}}c.ServiceCollection=m,c.InstantiationService=class{constructor(){this._services=new m,this._services.set(f.IInstantiationService,this)}setService(x,y){this._services.set(x,y)}getService(x){return this._services.get(x)}createInstance(x,...y){const w=(0,p.getServiceDependencies)(x).sort(((S,_)=>S.index-_.index)),C=[];for(const S of w){const _=this._services.get(S.id);if(!_)throw new Error(`[createInstance] ${x.name} depends on UNKNOWN service ${S.id}.`);C.push(_)}const v=w.length>0?w[0].index:y.length;if(y.length!==v)throw new Error(`[createInstance] First service dependency of ${x.name} at position ${v+1} conflicts with ${y.length} static arguments`);return new x(...y,...C)}}},7866:function(u,c,d){var f=this&&this.__decorate||function(v,S,_,b){var j,E=arguments.length,T=E<3?S:b===null?b=Object.getOwnPropertyDescriptor(S,_):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")T=Reflect.decorate(v,S,_,b);else for(var D=v.length-1;D>=0;D--)(j=v[D])&&(T=(E<3?j(T):E>3?j(S,_,T):j(S,_))||T);return E>3&&T&&Object.defineProperty(S,_,T),T},p=this&&this.__param||function(v,S){return function(_,b){S(_,b,v)}};Object.defineProperty(c,"__esModule",{value:!0}),c.traceCall=c.setTraceLogger=c.LogService=void 0;const m=d(844),x=d(2585),y={trace:x.LogLevelEnum.TRACE,debug:x.LogLevelEnum.DEBUG,info:x.LogLevelEnum.INFO,warn:x.LogLevelEnum.WARN,error:x.LogLevelEnum.ERROR,off:x.LogLevelEnum.OFF};let w,C=c.LogService=class extends m.Disposable{get logLevel(){return this._logLevel}constructor(v){super(),this._optionsService=v,this._logLevel=x.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),w=this}_updateLogLevel(){this._logLevel=y[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(v){for(let S=0;S<v.length;S++)typeof v[S]=="function"&&(v[S]=v[S]())}_log(v,S,_){this._evalLazyOptionalParams(_),v.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+S,..._)}trace(v,...S){var _;this._logLevel<=x.LogLevelEnum.TRACE&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.trace.bind(this._optionsService.options.logger))??console.log,v,S)}debug(v,...S){var _;this._logLevel<=x.LogLevelEnum.DEBUG&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.debug.bind(this._optionsService.options.logger))??console.log,v,S)}info(v,...S){var _;this._logLevel<=x.LogLevelEnum.INFO&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.info.bind(this._optionsService.options.logger))??console.info,v,S)}warn(v,...S){var _;this._logLevel<=x.LogLevelEnum.WARN&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.warn.bind(this._optionsService.options.logger))??console.warn,v,S)}error(v,...S){var _;this._logLevel<=x.LogLevelEnum.ERROR&&this._log(((_=this._optionsService.options.logger)==null?void 0:_.error.bind(this._optionsService.options.logger))??console.error,v,S)}};c.LogService=C=f([p(0,x.IOptionsService)],C),c.setTraceLogger=function(v){w=v},c.traceCall=function(v,S,_){if(typeof _.value!="function")throw new Error("not supported");const b=_.value;_.value=function(...j){if(w.logLevel!==x.LogLevelEnum.TRACE)return b.apply(this,j);w.trace(`GlyphRenderer#${b.name}(${j.map((T=>JSON.stringify(T))).join(", ")})`);const E=b.apply(this,j);return w.trace(`GlyphRenderer#${b.name} return`,E),E}}},7302:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.OptionsService=c.DEFAULT_OPTIONS=void 0;const f=d(8460),p=d(844),m=d(6114);c.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:m.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const x=["normal","bold","100","200","300","400","500","600","700","800","900"];class y extends p.Disposable{constructor(C){super(),this._onOptionChange=this.register(new f.EventEmitter),this.onOptionChange=this._onOptionChange.event;const v={...c.DEFAULT_OPTIONS};for(const S in C)if(S in v)try{const _=C[S];v[S]=this._sanitizeAndValidateOption(S,_)}catch(_){console.error(_)}this.rawOptions=v,this.options={...v},this._setupOptions(),this.register((0,p.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(C,v){return this.onOptionChange((S=>{S===C&&v(this.rawOptions[C])}))}onMultipleOptionChange(C,v){return this.onOptionChange((S=>{C.indexOf(S)!==-1&&v()}))}_setupOptions(){const C=S=>{if(!(S in c.DEFAULT_OPTIONS))throw new Error(`No option with key "${S}"`);return this.rawOptions[S]},v=(S,_)=>{if(!(S in c.DEFAULT_OPTIONS))throw new Error(`No option with key "${S}"`);_=this._sanitizeAndValidateOption(S,_),this.rawOptions[S]!==_&&(this.rawOptions[S]=_,this._onOptionChange.fire(S))};for(const S in this.rawOptions){const _={get:C.bind(this,S),set:v.bind(this,S)};Object.defineProperty(this.options,S,_)}}_sanitizeAndValidateOption(C,v){switch(C){case"cursorStyle":if(v||(v=c.DEFAULT_OPTIONS[C]),!(function(S){return S==="block"||S==="underline"||S==="bar"})(v))throw new Error(`"${v}" is not a valid value for ${C}`);break;case"wordSeparator":v||(v=c.DEFAULT_OPTIONS[C]);break;case"fontWeight":case"fontWeightBold":if(typeof v=="number"&&1<=v&&v<=1e3)break;v=x.includes(v)?v:c.DEFAULT_OPTIONS[C];break;case"cursorWidth":v=Math.floor(v);case"lineHeight":case"tabStopWidth":if(v<1)throw new Error(`${C} cannot be less than 1, value: ${v}`);break;case"minimumContrastRatio":v=Math.max(1,Math.min(21,Math.round(10*v)/10));break;case"scrollback":if((v=Math.min(v,4294967295))<0)throw new Error(`${C} cannot be less than 0, value: ${v}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(v<=0)throw new Error(`${C} cannot be less than or equal to 0, value: ${v}`);break;case"rows":case"cols":if(!v&&v!==0)throw new Error(`${C} must be numeric, value: ${v}`);break;case"windowsPty":v=v??{}}return v}}c.OptionsService=y},2660:function(u,c,d){var f=this&&this.__decorate||function(y,w,C,v){var S,_=arguments.length,b=_<3?w:v===null?v=Object.getOwnPropertyDescriptor(w,C):v;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(y,w,C,v);else for(var j=y.length-1;j>=0;j--)(S=y[j])&&(b=(_<3?S(b):_>3?S(w,C,b):S(w,C))||b);return _>3&&b&&Object.defineProperty(w,C,b),b},p=this&&this.__param||function(y,w){return function(C,v){w(C,v,y)}};Object.defineProperty(c,"__esModule",{value:!0}),c.OscLinkService=void 0;const m=d(2585);let x=c.OscLinkService=class{constructor(y){this._bufferService=y,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(y){const w=this._bufferService.buffer;if(y.id===void 0){const j=w.addMarker(w.ybase+w.y),E={data:y,id:this._nextId++,lines:[j]};return j.onDispose((()=>this._removeMarkerFromLink(E,j))),this._dataByLinkId.set(E.id,E),E.id}const C=y,v=this._getEntryIdKey(C),S=this._entriesWithId.get(v);if(S)return this.addLineToLink(S.id,w.ybase+w.y),S.id;const _=w.addMarker(w.ybase+w.y),b={id:this._nextId++,key:this._getEntryIdKey(C),data:C,lines:[_]};return _.onDispose((()=>this._removeMarkerFromLink(b,_))),this._entriesWithId.set(b.key,b),this._dataByLinkId.set(b.id,b),b.id}addLineToLink(y,w){const C=this._dataByLinkId.get(y);if(C&&C.lines.every((v=>v.line!==w))){const v=this._bufferService.buffer.addMarker(w);C.lines.push(v),v.onDispose((()=>this._removeMarkerFromLink(C,v)))}}getLinkData(y){var w;return(w=this._dataByLinkId.get(y))==null?void 0:w.data}_getEntryIdKey(y){return`${y.id};;${y.uri}`}_removeMarkerFromLink(y,w){const C=y.lines.indexOf(w);C!==-1&&(y.lines.splice(C,1),y.lines.length===0&&(y.data.id!==void 0&&this._entriesWithId.delete(y.key),this._dataByLinkId.delete(y.id)))}};c.OscLinkService=x=f([p(0,m.IBufferService)],x)},8343:(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.createDecorator=c.getServiceDependencies=c.serviceRegistry=void 0;const d="di$target",f="di$dependencies";c.serviceRegistry=new Map,c.getServiceDependencies=function(p){return p[f]||[]},c.createDecorator=function(p){if(c.serviceRegistry.has(p))return c.serviceRegistry.get(p);const m=function(x,y,w){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(C,v,S){v[d]===v?v[f].push({id:C,index:S}):(v[f]=[{id:C,index:S}],v[d]=v)})(m,x,w)};return m.toString=()=>p,c.serviceRegistry.set(p,m),m}},2585:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.IDecorationService=c.IUnicodeService=c.IOscLinkService=c.IOptionsService=c.ILogService=c.LogLevelEnum=c.IInstantiationService=c.ICharsetService=c.ICoreService=c.ICoreMouseService=c.IBufferService=void 0;const f=d(8343);var p;c.IBufferService=(0,f.createDecorator)("BufferService"),c.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),c.ICoreService=(0,f.createDecorator)("CoreService"),c.ICharsetService=(0,f.createDecorator)("CharsetService"),c.IInstantiationService=(0,f.createDecorator)("InstantiationService"),(function(m){m[m.TRACE=0]="TRACE",m[m.DEBUG=1]="DEBUG",m[m.INFO=2]="INFO",m[m.WARN=3]="WARN",m[m.ERROR=4]="ERROR",m[m.OFF=5]="OFF"})(p||(c.LogLevelEnum=p={})),c.ILogService=(0,f.createDecorator)("LogService"),c.IOptionsService=(0,f.createDecorator)("OptionsService"),c.IOscLinkService=(0,f.createDecorator)("OscLinkService"),c.IUnicodeService=(0,f.createDecorator)("UnicodeService"),c.IDecorationService=(0,f.createDecorator)("DecorationService")},1480:(u,c,d)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.UnicodeService=void 0;const f=d(8460),p=d(225);class m{static extractShouldJoin(y){return(1&y)!=0}static extractWidth(y){return y>>1&3}static extractCharKind(y){return y>>3}static createPropertyValue(y,w,C=!1){return(16777215&y)<<3|(3&w)<<1|(C?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new f.EventEmitter,this.onChange=this._onChange.event;const y=new p.UnicodeV6;this.register(y),this._active=y.version,this._activeProvider=y}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(y){if(!this._providers[y])throw new Error(`unknown Unicode version "${y}"`);this._active=y,this._activeProvider=this._providers[y],this._onChange.fire(y)}register(y){this._providers[y.version]=y}wcwidth(y){return this._activeProvider.wcwidth(y)}getStringCellWidth(y){let w=0,C=0;const v=y.length;for(let S=0;S<v;++S){let _=y.charCodeAt(S);if(55296<=_&&_<=56319){if(++S>=v)return w+this.wcwidth(_);const E=y.charCodeAt(S);56320<=E&&E<=57343?_=1024*(_-55296)+E-56320+65536:w+=this.wcwidth(E)}const b=this.charProperties(_,C);let j=m.extractWidth(b);m.extractShouldJoin(b)&&(j-=m.extractWidth(C)),w+=j,C=b}return w}charProperties(y,w){return this._activeProvider.charProperties(y,w)}}c.UnicodeService=m}},r={};function o(u){var c=r[u];if(c!==void 0)return c.exports;var d=r[u]={exports:{}};return n[u].call(d.exports,d,d.exports,o),d.exports}var l={};return(()=>{var u=l;Object.defineProperty(u,"__esModule",{value:!0}),u.Terminal=void 0;const c=o(9042),d=o(3236),f=o(844),p=o(5741),m=o(8285),x=o(7975),y=o(7090),w=["cols","rows"];class C extends f.Disposable{constructor(S){super(),this._core=this.register(new d.Terminal(S)),this._addonManager=this.register(new p.AddonManager),this._publicOptions={...this._core.options};const _=j=>this._core.options[j],b=(j,E)=>{this._checkReadonlyOptions(j),this._core.options[j]=E};for(const j in this._core.options){const E={get:_.bind(this,j),set:b.bind(this,j)};Object.defineProperty(this._publicOptions,j,E)}}_checkReadonlyOptions(S){if(w.includes(S))throw new Error(`Option "${S}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new x.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new y.UnicodeApi(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this.register(new m.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const S=this._core.coreService.decPrivateModes;let _="none";switch(this._core.coreMouseService.activeProtocol){case"X10":_="x10";break;case"VT200":_="vt200";break;case"DRAG":_="drag";break;case"ANY":_="any"}return{applicationCursorKeysMode:S.applicationCursorKeys,applicationKeypadMode:S.applicationKeypad,bracketedPasteMode:S.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:_,originMode:S.origin,reverseWraparoundMode:S.reverseWraparound,sendFocusMode:S.sendFocus,wraparoundMode:S.wraparound}}get options(){return this._publicOptions}set options(S){for(const _ in S)this._publicOptions[_]=S[_]}blur(){this._core.blur()}focus(){this._core.focus()}input(S,_=!0){this._core.input(S,_)}resize(S,_){this._verifyIntegers(S,_),this._core.resize(S,_)}open(S){this._core.open(S)}attachCustomKeyEventHandler(S){this._core.attachCustomKeyEventHandler(S)}attachCustomWheelEventHandler(S){this._core.attachCustomWheelEventHandler(S)}registerLinkProvider(S){return this._core.registerLinkProvider(S)}registerCharacterJoiner(S){return this._checkProposedApi(),this._core.registerCharacterJoiner(S)}deregisterCharacterJoiner(S){this._checkProposedApi(),this._core.deregisterCharacterJoiner(S)}registerMarker(S=0){return this._verifyIntegers(S),this._core.registerMarker(S)}registerDecoration(S){return this._checkProposedApi(),this._verifyPositiveIntegers(S.x??0,S.width??0,S.height??0),this._core.registerDecoration(S)}hasSelection(){return this._core.hasSelection()}select(S,_,b){this._verifyIntegers(S,_,b),this._core.select(S,_,b)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(S,_){this._verifyIntegers(S,_),this._core.selectLines(S,_)}dispose(){super.dispose()}scrollLines(S){this._verifyIntegers(S),this._core.scrollLines(S)}scrollPages(S){this._verifyIntegers(S),this._core.scrollPages(S)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(S){this._verifyIntegers(S),this._core.scrollToLine(S)}clear(){this._core.clear()}write(S,_){this._core.write(S,_)}writeln(S,_){this._core.write(S),this._core.write(`\r
|
|
68
|
+
`,_)}paste(S){this._core.paste(S)}refresh(S,_){this._verifyIntegers(S,_),this._core.refresh(S,_)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(S){this._addonManager.loadAddon(this,S)}static get strings(){return c}_verifyIntegers(...S){for(const _ of S)if(_===1/0||isNaN(_)||_%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...S){for(const _ of S)if(_&&(_===1/0||isNaN(_)||_%1!=0||_<0))throw new Error("This API only accepts positive integers")}}u.Terminal=C})(),l})()))})(am)),am.exports}var iT=sT();/**
|
|
69
|
+
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
70
|
+
* @license MIT
|
|
71
|
+
*
|
|
72
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
73
|
+
* @license MIT
|
|
74
|
+
*
|
|
75
|
+
* Originally forked from (with the author's permission):
|
|
76
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
77
|
+
* http://bellard.org/jslinux/
|
|
78
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
79
|
+
*/var aT=2,oT=1,lT=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let n=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(n._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){var x;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let n=this._terminal.options.scrollback===0?0:((x=this._terminal.options.overviewRuler)==null?void 0:x.width)||14,r=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(r.getPropertyValue("height")),l=Math.max(0,parseInt(r.getPropertyValue("width"))),u=window.getComputedStyle(this._terminal.element),c={top:parseInt(u.getPropertyValue("padding-top")),bottom:parseInt(u.getPropertyValue("padding-bottom")),right:parseInt(u.getPropertyValue("padding-right")),left:parseInt(u.getPropertyValue("padding-left"))},d=c.top+c.bottom,f=c.right+c.left,p=o-d,m=l-f-n;return{cols:Math.max(aT,Math.floor(m/t.css.cell.width)),rows:Math.max(oT,Math.floor(p/t.css.cell.height))}}};function cT({sessionId:e,onClose:t,onEscape:n,autoFocus:r}){const o=A.useRef(null),l=A.useRef(e),u=A.useRef(null),c=A.useRef(null),d=Ar(p=>p.writeSession),f=Ar(p=>p.resizeSession);return A.useEffect(()=>{l.current=e},[e]),A.useEffect(()=>{if(!n)return;const p=m=>{m.key==="Escape"&&(m.preventDefault(),m.stopPropagation(),n())};return window.addEventListener("keydown",p),()=>window.removeEventListener("keydown",p)},[n]),A.useEffect(()=>{if(!o.current)return;const p=new iT.Terminal({fontFamily:'"JetBrains Mono", monospace',fontSize:13,theme:{background:"#1a1a1a",foreground:"#e0e0e0",cursor:"#ffffff",cursorAccent:"#1a1a1a"},cursorBlink:!0,cursorStyle:"bar",convertEol:!0}),m=new lT;p.loadAddon(m),u.current={term:p,fitAddon:m},o.current.addEventListener("keydown",C=>{C.key==="Escape"&&n&&(C.preventDefault(),C.stopPropagation(),n())}),p.open(o.current);const x=o.current.querySelector(".xterm");x&&(x.style.padding="8px"),m.fit(),r&&setTimeout(()=>{p.focus()},150);const y=new ResizeObserver(()=>{c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{requestAnimationFrame(()=>{var v;m.fit&&m.fit();const C=(v=u.current)==null?void 0:v.term;C&&C.cols>0&&C.rows>0&&f(l.current,C.cols,C.rows)})},100)});y.observe(o.current),p.onData(C=>{if(C==="\x1B"&&n){n();return}d(l.current,C)}),p.onKey(C=>{C.key==="\x1B"&&n&&(C.domEvent.stopPropagation(),n())});const w=Xt.subscribe(C=>{const v=C.payload;if(C.type==="terminal.output"&&(v==null?void 0:v.sessionId)===l.current){const S=v==null?void 0:v.data;S&&p.write(S)}});return()=>{w(),y.disconnect(),c.current&&clearTimeout(c.current),p.dispose(),u.current=null}},[e,d,f]),i.jsxs("div",{className:"flex flex-col h-full bg-[#1a1a1a]",children:[i.jsxs("div",{className:"flex-shrink-0 flex items-center justify-between px-2 py-1 bg-[#252525] border-b border-[#333]",children:[i.jsx("div",{}),i.jsx("button",{onClick:t,className:"p-1 rounded hover:bg-[#333] text-[#888] hover:text-[#ccc] transition-colors",title:"Close terminal",children:i.jsx(qS,{})})]}),i.jsx("div",{ref:o,className:"flex-1 relative overflow-hidden",tabIndex:0,onKeyDown:p=>{p.key==="Escape"&&n&&(p.preventDefault(),p.stopPropagation(),n())}})]})}const u1="openfox-chat-textarea";function Qm(){const e=document.getElementById(u1);e&&e.focus()}function uT(e){return e===1?"grid-cols-1":e===2?"grid-cols-1 lg:grid-cols-2":"grid-cols-1 lg:grid-cols-2 xl:grid-cols-3"}function dT({isOpen:e,onClose:t}){const n=Ar(w=>w.createSession),r=Ar(w=>w.killSession),o=Ar(w=>w.sessions),l=Ar(w=>w.setWorkdir),u=Ar(w=>w.fetchSessions),c=Ut(w=>w.currentProject),[d,f]=A.useState(!0),p=A.useRef(null),m=A.useRef(!1),x=A.useRef(!1),y=A.useCallback(()=>{t()},[t]);return A.useEffect(()=>{c!=null&&c.workdir&&l(c.workdir)},[c==null?void 0:c.workdir,l]),A.useEffect(()=>{e?(f(!0),u(c==null?void 0:c.id).finally(()=>f(!1))):Qm()},[e,u,c==null?void 0:c.id]),A.useEffect(()=>{e&&o.length===0&&!d&&!x.current&&(x.current=!0,n(void 0,c==null?void 0:c.id))},[e,o.length,d,n,c==null?void 0:c.id]),A.useEffect(()=>{e?(m.current=!0,setTimeout(()=>{var w;(w=p.current)==null||w.focus(),setTimeout(()=>{m.current=!1},200)},100)):x.current=!1},[e]),A.useEffect(()=>{if(!e)return;const w=C=>{m.current||C.key==="Escape"&&(C.preventDefault(),t())};return window.addEventListener("keydown",w),()=>window.removeEventListener("keydown",w)},[e,t]),e?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-x-0 top-[50vh] bottom-0 z-[100] bg-black/40",style:{pointerEvents:"auto"},onClick:y}),i.jsxs("div",{ref:p,tabIndex:-1,className:"fixed inset-x-0 top-0 z-[100] h-[50vh] bg-bg-primary border-b border-border flex flex-col animate-slide-down outline-none",onClick:w=>w.stopPropagation(),onKeyDown:w=>{w.key==="Escape"&&(w.preventDefault(),y())},children:[i.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border",children:[i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Terminal"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>n(void 0,c==null?void 0:c.id),className:"p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"New terminal",children:i.jsx(hN,{})}),i.jsx("button",{onClick:t,className:"p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Close (Esc)",children:i.jsx(Qa,{})})]})]}),i.jsx("div",{className:"flex-1 min-h-0 p-2 overflow-auto",children:d?i.jsx("div",{className:"flex items-center justify-center h-full text-text-muted",children:"Loading..."}):o.length===0?i.jsx("div",{className:"flex items-center justify-center h-full text-text-muted",children:i.jsxs("div",{className:"text-center",children:[i.jsx("p",{className:"mb-4",children:"No terminal sessions"}),i.jsx("button",{onClick:()=>n(void 0,c==null?void 0:c.id),className:"px-4 py-2 bg-accent-primary/25 text-text-primary rounded hover:bg-accent-primary/40 transition-colors",children:"Create Terminal"})]})}):i.jsx("div",{className:`grid ${uT(o.length)} gap-2 h-full auto-rows-fr`,children:o.map(w=>i.jsx(cT,{sessionId:w.id,onClose:()=>r(w.id),onEscape:y,autoFocus:o.length===1},w.id))})})]})]}):null}function Dl({items:e,footerItems:t=[],trigger:n,minWidth:r="120px",isOpen:o,onOpenChange:l}){const[u,c]=A.useState(!1),d=o!==void 0,f=d?o:u,p=I=>{if(d){const H=typeof I=="function"?I(u):I;l==null||l(H)}else c(I)},[m,x]=A.useState(null),y=A.useRef(null),w=A.useRef(null),[C,v]=A.useState(0),S=A.useRef(0),_=A.useMemo(()=>[...e,...t],[e,t]),b=A.useRef(_),j=A.useCallback(()=>{if(!y.current)return;const I=y.current.getBoundingClientRect(),H=200,U=window.innerHeight-I.bottom<H;x({top:U?I.top-H-4:I.bottom+4,left:I.left,alignToTop:U})},[]);A.useEffect(()=>{b.current=_},[_]),A.useEffect(()=>{function I(H){if(w.current){const V=H.target;w.current.contains(V)||p(!1)}}return f&&document.addEventListener("mousedown",I),()=>{document.removeEventListener("mousedown",I)}},[f]),A.useEffect(()=>{f&&j()},[f,j]),A.useEffect(()=>{if(!f)return;setTimeout(()=>{var H;(H=w.current)==null||H.focus()},0);function I(H){const V=b.current,U=V.filter(X=>!E(X)),Q=T(S.current,V);switch(H.key){case"ArrowDown":if(H.preventDefault(),H.stopPropagation(),Q<U.length-1){const X=D(S.current+1,V);S.current=X,v(X)}break;case"ArrowUp":if(H.preventDefault(),H.stopPropagation(),Q>0){const X=L(S.current-1,V);S.current=X,v(X)}break;case"Enter":H.preventDefault(),H.stopPropagation(),O(S.current,V);break;case"Escape":H.preventDefault(),H.stopPropagation(),p(!1);break}}return window.addEventListener("keydown",I,!0),()=>window.removeEventListener("keydown",I,!0)},[f,_]);function E(I){var U;const H=I.label;return H?String(((U=H.props)==null?void 0:U.className)??"").includes("cursor-default"):!1}function T(I,H){let V=0;for(let U=0;U<I;U++){const Q=H[U];Q&&!E(Q)&&V++}return V}function D(I,H){for(let V=I;V<H.length;V++){const U=H[V];if(U&&!E(U))return V}return I}function L(I,H){for(let V=I;V>=0;V--){const U=H[V];if(U&&!E(U))return V}return I}function O(I,H){var U;const V=H[I];!V||E(V)||((U=V.onClick)==null||U.call(V),V.href&&(window.history.pushState(null,"",V.href),window.dispatchEvent(new PopStateEvent("popstate"))),p(!1))}A.useEffect(()=>{f&&(v(_.findIndex(I=>!E(I))),S.current=_.findIndex(I=>!E(I)))},[f,_]);const P=I=>{I.stopPropagation(),f||j(),p(!f)};function G(I,H,V,U){const X=!E(I)&&U===C,z=i.jsxs(i.Fragment,{children:[I.icon&&i.jsx("span",{className:"w-4 h-4 flex-shrink-0",children:I.icon}),I.label]}),R=H!==V-1;return I.href?i.jsx(or,{href:I.href,onClick:M=>{var q;(q=I.onClick)==null||q.call(I,M),p(!1)},onAuxClick:()=>p(!1),className:`w-full px-3 py-2 text-left text-sm flex items-center gap-2 transition-colors ${I.danger?"text-accent-error hover:bg-accent-error/10":X?"bg-accent-primary/20 text-text-primary":"hover:bg-bg-tertiary text-text-primary"} ${R?"border-b border-border":""}`,children:z},U):i.jsx("button",{onClick:M=>{var q;(q=I.onClick)==null||q.call(I,M),I.closeOnClick!==!1&&p(!1)},className:`w-full px-3 py-2 text-left text-sm flex items-center gap-2 transition-colors ${I.danger?"text-accent-error hover:bg-accent-error/10":X?"bg-accent-primary/20 text-text-primary":"hover:bg-bg-tertiary text-text-primary"} ${R?"border-b border-border":""}`,children:z},U)}const W=m&&i.jsxs("div",{ref:w,"data-testid":"session-dropdown-menu",className:`fixed bg-bg-secondary border border-border rounded shadow-lg z-50 ${m.alignToTop?"mb-1":"mt-1"}`,style:{top:m.top,left:m.left,minWidth:r},tabIndex:-1,children:[i.jsx("div",{className:"max-h-[60vh] overflow-y-auto",children:e.map((I,H)=>G(I,H,e.length,H))}),t.length>0&&i.jsx("div",{className:"border-t border-border",children:t.map((I,H)=>G(I,H,t.length,e.length+H))})]});return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"relative",children:i.jsx("div",{ref:y,onClick:P,children:n})}),f&&Ja.createPortal(W,document.body)]})}function hT(e){return!e||e.trim()===""?{valid:!1,error:"Project name cannot be empty"}:/^[a-zA-Z0-9._-]+$/.test(e)?{valid:!0}:{valid:!1,error:"Project name can only contain letters, numbers, hyphens, underscores, and dots"}}function d1({isOpen:e,onClose:t,path:n,onRetry:r}){const[o,l]=A.useState(!1),[u,c]=A.useState(null),[d,f]=A.useState(null);A.useEffect(()=>{e&&p()},[e]);const p=async()=>{try{const j=await(await we("/api/projects/check-permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n})})).json();f({sudoAvailable:j.sudoAvailable,userInGroup:j.userInGroup,groupHasWrite:j.groupHasWrite,groupName:j.groupName||null})}catch{f({sudoAvailable:!1,userInGroup:!1,groupHasWrite:!1,groupName:null})}},m=A.useCallback(async b=>{l(!0),c(null);try{const E=await(await we("/api/projects/fix-permissions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,action:b})})).json();E.success?(r(),t()):E.sudoAvailable?c("Failed to fix permissions: "+(E.error||"Unknown error")):c(`Passwordless sudo is not available. Please fix permissions manually:
|
|
80
|
+
|
|
81
|
+
`+(b==="group"?`sudo chmod g+w "${n}"`:"sudo usermod -aG <group> $USER"))}catch(j){c("Failed to fix permissions: "+(j instanceof Error?j.message:"Unknown error"))}finally{l(!1)}},[n,r,t]),x=(d==null?void 0:d.userInGroup)??!1,y=(d==null?void 0:d.groupHasWrite)??!1,w=(d==null?void 0:d.sudoAvailable)??!1,C=(d==null?void 0:d.groupName)??"",v=x&&!y,S=!x&&y,_=!x&&!y;return i.jsx(Ot,{isOpen:e,onClose:t,title:"Permission Denied",size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"text-sm text-text-secondary",children:[i.jsx("p",{children:v?i.jsxs(i.Fragment,{children:["The group ",i.jsx("strong",{children:C})," doesn't have write access:"]}):S?i.jsxs(i.Fragment,{children:["You're not a member of group ",i.jsx("strong",{children:C}),":"]}):i.jsxs(i.Fragment,{children:["You're not a member of group ",i.jsx("strong",{children:C})," and it doesn't have write access:"]})}),i.jsx("p",{className:"mt-2 font-mono text-xs bg-bg-tertiary p-2 rounded break-all",children:n})]}),u?i.jsx("div",{className:"p-3 bg-accent-error/10 border border-accent-error/30 rounded text-sm text-accent-error whitespace-pre-wrap",children:u}):d?i.jsxs("div",{className:"flex flex-col gap-2",children:[v&&i.jsxs(i.Fragment,{children:[i.jsx(et,{type:"button",variant:"primary",onClick:()=>m("group"),disabled:o||!w,className:"w-full",children:o?"Granting access...":"Extend group permissions"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:['sudo chmod g+w "',n,'"']})]}),S&&i.jsxs(i.Fragment,{children:[i.jsx(et,{type:"button",variant:"primary",onClick:()=>m("join_group"),disabled:o||!w,className:"w-full",children:o?"Joining group...":"Join group"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:["sudo usermod -aG ",C," $USER"]})]}),_&&i.jsxs(i.Fragment,{children:[i.jsx(et,{type:"button",variant:"primary",onClick:()=>m("join_group_and_group"),disabled:o||!w,className:"w-full",children:o?"Joining group...":"Join group & grant write permissions"}),i.jsx("div",{className:"text-xs text-text-secondary",children:"Or manually execute:"}),i.jsxs("code",{className:"text-xs text-text-muted p-2 bg-bg-tertiary rounded break-all",children:["sudo usermod -aG ",C," $USER",i.jsx("br",{}),'sudo chmod g+w "',n,'"']})]}),!w&&!u&&i.jsxs("div",{className:"text-xs text-text-secondary",children:[i.jsx("p",{children:"Passwordless sudo is not available. Please fix permissions manually:"}),i.jsxs("code",{className:"block mt-1 p-2 bg-bg-tertiary rounded break-all",children:['sudo chmod g+w "',n,'"']})]}),i.jsx("div",{className:"flex justify-end",children:i.jsx(et,{type:"button",variant:"secondary",onClick:t,disabled:o,children:"Cancel"})})]}):null]})})}function h1({isOpen:e,onClose:t}){const[,n]=Gn(),r=Ut(E=>E.listProjects),[o,l]=A.useState(""),[u,c]=A.useState(null),[d,f]=A.useState(!1),[p,m]=A.useState(""),[x,y]=A.useState(null),w=A.useRef(null);A.useEffect(()=>{e&&(we("/api/config").then(E=>E.json()).then(E=>{E.workdir&&m(E.workdir)}),l(""),c(null),f(!1),y(null),setTimeout(()=>{var E;(E=w.current)==null||E.focus()},100))},[e]);const C=A.useCallback(async E=>{E.preventDefault();const T=hT(o);if(!T.valid){c(T.error);return}const D=`${p}/${o}`;await _(D)},[o,n,t,p]),v=A.useCallback(()=>{y(null)},[]),S=A.useCallback(async()=>{const E=`${p}/${o}`;await _(E)},[p,o,n,t,y,c,f]);async function _(E){f(!0),c(null),y(null);try{const T=await we("/api/projects",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:o,workdir:E})});if(!T.ok){const O=await T.json().catch(()=>({}));if(O.code==="EACCES"){y(E),f(!1);return}throw new Error(O.error||"Failed to create project")}const L=(await T.json()).project;t(),await r(),n(`/p/${L.id}`)}catch(T){c(T instanceof Error?T.message:"Failed to create project"),f(!1)}}const b=A.useCallback(()=>{l(""),c(null),t()},[t]),j=o?`${p}/${o}`:"";return i.jsxs(i.Fragment,{children:[i.jsx(Ot,{isOpen:e,onClose:b,title:"Create New Project",size:"sm",children:i.jsxs("form",{onSubmit:C,className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{htmlFor:"project-name",className:"block text-sm font-medium text-text-secondary mb-2",children:"Project Name"}),i.jsx(Mi,{ref:w,id:"project-name",value:o,onChange:E=>{l(E.target.value),c(null)},placeholder:"my-project",disabled:d,"data-testid":"create-project-name-input",className:"w-full"}),o&&i.jsxs("div",{className:"mt-2 text-xs text-text-muted",children:["Full path: ",i.jsx("span",{className:"font-mono",children:j})]}),u&&i.jsx("div",{className:"mt-3 p-3 bg-accent-error/10 border border-accent-error/30 rounded text-sm text-accent-error",children:u})]}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(et,{type:"button",variant:"secondary",onClick:b,disabled:d,children:"Cancel"}),i.jsx(et,{type:"submit",variant:"primary",disabled:d||!o.trim(),"data-testid":"create-project-submit-button",className:"min-w-[100px]",children:d?i.jsxs("span",{className:"flex items-center gap-2",children:[i.jsx(ni,{className:"h-4 w-4"}),"Creating..."]}):"Create"})]})]})}),x&&i.jsx(d1,{isOpen:!!x,onClose:v,path:x,onRetry:S})]})}function f1(){const[e,t]=A.useState(null);return A.useEffect(()=>{we("/api/config").then(n=>n.json()).then(n=>{n.workdir&&t(n.workdir)})},[]),e}function hv({projects:e,currentProject:t}){const[,n]=Gn(),r=Ut(v=>v.loadProject),o=Ut(v=>v.toggleStar),l=Ut(v=>v.createProject),u=Ut(v=>v.listProjects),[c,d]=A.useState(!1),[f,p]=A.useState(!1),m=f1(),x=A.useCallback(async v=>{const S=r1(v),_=await l(S,v);return _&&"id"in _?(await u(),p(!1),n(`/p/${_.id}`),!0):!1},[l,u,n]),w=A.useMemo(()=>{const v=e.filter(_=>_.isStarred).sort((_,b)=>_.name.localeCompare(b.name)),S=e.filter(_=>!_.isStarred).sort((_,b)=>_.name.localeCompare(b.name));return[...v,...S]},[e]).map(v=>({label:i.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[i.jsx("span",{className:"truncate flex-1",children:v.name}),i.jsx("button",{onClick:S=>{S.stopPropagation(),S.preventDefault(),S.nativeEvent.stopImmediatePropagation(),o(v.id,!v.isStarred)},className:"flex-shrink-0 p-1 hover:bg-bg-tertiary rounded transition-colors",title:v.isStarred?"Unstar project":"Star project",children:v.isStarred?i.jsx(VS,{className:"w-3.5 h-3.5 text-yellow-500"}):i.jsx(GS,{className:"w-3.5 h-3.5 text-text-muted hover:text-yellow-500"})})]}),icon:v.id===(t==null?void 0:t.id)?i.jsx(Wr,{}):void 0,href:`/p/${v.id}`,closeOnClick:!0,onClick:()=>{r(v.id)}})),C=[{label:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(Al,{className:"w-4 h-4"}),i.jsx("span",{children:"Open Project"})]}),onClick:()=>p(!0)},{label:i.jsxs("div",{className:"flex items-center gap-2 text-accent-primary",children:[i.jsx(ni,{className:"w-4 h-4"}),i.jsx("span",{children:"New Project"})]}),onClick:()=>d(!0)}];return i.jsxs(i.Fragment,{children:[i.jsx(Dl,{items:w,footerItems:C,trigger:i.jsxs("button",{className:`text-text-secondary hover:text-text-primary text-sm truncate flex items-center gap-1 ${t?"hover:underline":""}`,title:(t==null?void 0:t.name)??"Select project",children:[(t==null?void 0:t.name)??i.jsx("span",{className:"text-text-muted",children:"Select project..."}),i.jsx(Wn,{})]}),minWidth:"250px"}),c&&i.jsx(h1,{isOpen:c,onClose:()=>d(!1)}),f&&i.jsx(ld,{initialPath:m??void 0,onSelect:x,onClose:()=>p(!1)})]})}function m1(e){const t=new Date(e),r=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"][t.getDay()],o=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),u=String(t.getDate()).padStart(2,"0");return`${r} ${o}/${l}/${u}`}function cd(e){const t=new Date(e),n=String(t.getHours()).padStart(2,"0"),r=String(t.getMinutes()).padStart(2,"0");return`${n}:${r}`}function fT(e){const t=new Date(e),n=new Date,r=new Date(n.getFullYear(),n.getMonth(),n.getDate()),o=new Date(t.getFullYear(),t.getMonth(),t.getDate()),l=Math.floor((r.getTime()-o.getTime())/(1e3*60*60*24)),u=cd(e);if(l===0)return`today ${u}`;if(l===1)return`yesterday ${u}`;if(l<7)return`${l} days ago ${u}`;{const c=t.getFullYear(),d=String(t.getMonth()+1).padStart(2,"0"),f=String(t.getDate()).padStart(2,"0");return`${c}/${d}/${f} ${u}`}}function p1(e){const t=new Date(e);return{year:t.getFullYear(),month:String(t.getMonth()+1).padStart(2,"0"),day:String(t.getDate()).padStart(2,"0")}}function mT(e){const{year:t,month:n,day:r}=p1(e);return`${t}-${n}-${r}`}function g1(e){const t=new Map;for(const o of e){const l=mT(o.updatedAt);t.has(l)||t.set(l,[]),t.get(l).push(o)}for(const[o,l]of t)l.sort((u,c)=>{const d=new Date(u.updatedAt).getTime();return new Date(c.updatedAt).getTime()-d});const n=Array.from(t.keys()).sort((o,l)=>l.localeCompare(o)),r=new Map;for(const o of n)r.set(o,t.get(o));return r}function pT({sessions:e,currentProject:t,currentSession:n,isOpen:r,onOpenChange:o}){var p;const l=Le(m=>m.loadSession),u=e.filter(m=>m.projectId===t.id).slice(0,15),c=g1(u),d=A.useMemo(()=>{const m=[];m.push({label:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(ni,{className:"w-4 h-4 text-accent-primary"}),i.jsx("span",{className:"text-sm",children:"New session"})]}),href:`/p/${t.id}/new`,onClick:()=>{}});for(const[x,y]of c){const w=y[0];if(w){m.push({label:i.jsx("div",{className:"px-3 py-2 text-text-muted text-xs font-medium cursor-default",children:m1(w.updatedAt)}),onClick:()=>{}});for(const C of y)m.push({label:i.jsxs("div",{className:"min-w-[160px]",children:[i.jsx("div",{className:"truncate text-sm",children:C.title??C.id.slice(0,8)}),i.jsx("div",{className:"text-text-muted text-xs",children:cd(C.updatedAt)})]}),icon:C.id===(n==null?void 0:n.id)?i.jsx(Wr,{}):void 0,href:`/p/${t.id}/s/${C.id}`,onClick:()=>{l(C.id)}})}}return m},[t.id,c,n==null?void 0:n.id]),f=n?((p=n.metadata)==null?void 0:p.title)??n.id.slice(0,8):"No session selected";return i.jsx(Dl,{items:d,isOpen:r,onOpenChange:o,trigger:i.jsxs("button",{className:"text-text-secondary hover:text-text-primary hover:underline text-sm truncate flex items-center gap-1",title:f,"data-testid":"header-session-dropdown",children:[f,i.jsx(Wn,{})]}),minWidth:"280px"})}function gT({items:e,trigger:t,isActive:n=!1}){const[r,o]=A.useState(!1),l=A.useRef(null);return A.useEffect(()=>{function u(c){l.current&&!l.current.contains(c.target)&&o(!1)}if(r)return document.addEventListener("mousedown",u),()=>document.removeEventListener("mousedown",u)},[r]),i.jsxs("div",{className:"relative",ref:l,children:[i.jsxs("button",{type:"button",onClick:()=>o(!r),className:`flex items-center gap-1 px-1.5 py-0.5 rounded transition-colors ${n?"bg-bg-tertiary":"hover:bg-bg-tertiary"}`,children:[typeof t=="string"?i.jsx("span",{className:"text-sm text-text-secondary font-medium",children:t}):t,i.jsx(Wn,{className:"w-3 h-3 text-text-muted flex-shrink-0 transition-transform",rotate:r?180:0})]}),r&&e.length>0&&i.jsx("div",{className:"absolute top-full left-0 mt-1 w-56 bg-bg-secondary border border-border rounded-lg shadow-lg overflow-hidden z-50",children:e.map((u,c)=>{const d=u.label&&typeof u.label=="object"&&u.label.type===or?u.label:null;if(d){const f=d.props.href||"";return i.jsxs(or,{href:f,className:"flex items-center gap-2 px-3 py-2 text-sm border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,d.props.children]},c)}return u.href?i.jsxs("a",{href:u.href,className:"flex items-center gap-2 px-3 py-2 text-sm border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,u.label]},c):i.jsxs("button",{type:"button",onClick:()=>{var f;(f=u.onClick)==null||f.call(u),o(!1)},className:"flex items-center gap-2 px-3 py-2 text-sm w-full text-left border-b border-border hover:bg-bg-tertiary transition-colors",children:[u.icon,u.label]},c)})})]})}function xT({currentProject:e,sessions:t,currentSession:n,projectIdFromUrl:r}){if(!(e!=null&&e.id)||e.id!==r)return null;const o=t.filter(u=>u.projectId===e.id).sort((u,c)=>new Date(c.updatedAt).getTime()-new Date(u.updatedAt).getTime()).slice(0,5),l=[{label:i.jsxs(or,{href:`/p/${e.id}/new`,className:"flex items-center gap-2",children:[i.jsx(ni,{className:"w-3 h-3 text-accent-primary"}),i.jsx("span",{className:"text-sm",children:"New Session"})]})},...o.map(u=>({label:i.jsx(or,{href:`/p/${e.id}/s/${u.id}`,className:"flex items-center gap-2 truncate text-sm",children:i.jsx("span",{children:u.title??u.id.slice(0,8)})}),icon:u.id===(n==null?void 0:n.id)?i.jsx(Wr,{className:"w-3 h-3"}):void 0})),{label:i.jsxs(or,{href:"/",className:"flex items-center gap-2 text-text-muted hover:text-text-primary",children:[i.jsx(rN,{className:"w-3 h-3"}),i.jsx("span",{className:"text-sm",children:"Projects"})]})}];return i.jsx(gT,{items:l,trigger:i.jsx("span",{className:"text-sm text-text-secondary font-medium",children:e.name})})}function yT({onMenuClick:e,onCriteriaToggle:t}){const[n,r]=A.useState(!1),[o,l]=A.useState(!1),[u,c]=A.useState(!!document.fullscreenElement),[d,f]=Gn();A.useEffect(()=>{const E=()=>c(!!document.fullscreenElement);return document.addEventListener("fullscreenchange",E),()=>document.removeEventListener("fullscreenchange",E)},[]);const p=d.startsWith("/p/"),m=/^\/p\/[^/]+\/s\/[^/]+$/.test(d),x=Le(E=>E.currentSession),y=Le(E=>E.sessions),w=Ut(E=>E.currentProject),C=Ut(E=>E.projects),v=un(E=>E.startAutoRefresh),S=un(E=>E.stopAutoRefresh),_=Ar(E=>E.setOpen),b=Ar(E=>E.isOpen);A.useEffect(()=>{const E=()=>l(!0);return window.addEventListener("open-session-dropdown",E),()=>window.removeEventListener("open-session-dropdown",E)},[]);const j=Pp();return QS(j.terminalToggle,()=>{Ar.getState().toggleOpen()},{capture:!0}),A.useEffect(()=>(v(),()=>S()),[v,S]),i.jsxs("header",{className:"h-8 bg-secondary border-b border-border flex items-center justify-between px-2",children:[i.jsxs("div",{className:"flex items-center gap-2 flex-1 min-w-0",children:[e&&m&&i.jsx("button",{onClick:e,className:"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Toggle session list",children:i.jsx(ev,{})}),i.jsx(or,{href:"/",className:"text-accent-primary font-semibold text-sm hover:underline flex-shrink-0 hidden md:inline",children:"OpenFox"}),w&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"hidden md:inline text-text-muted flex-shrink-0",children:"/"}),i.jsx("span",{className:"hidden md:inline",children:i.jsx(hv,{projects:C,currentProject:w})}),i.jsx("span",{className:"md:hidden",children:i.jsx(xT,{currentProject:w,sessions:y,currentSession:x,projectIdFromUrl:p&&d.split("/")[2]||null},w==null?void 0:w.id)}),i.jsx("span",{className:"hidden md:inline text-text-muted flex-shrink-0",children:"/"}),i.jsx("span",{className:"hidden md:inline",children:i.jsx(pT,{sessions:y,currentProject:w,currentSession:x,isOpen:o,onOpenChange:l})})]}),!w&&i.jsx("span",{className:"hidden md:inline",children:i.jsx(hv,{projects:C})})]}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[m&&i.jsx("button",{onClick:()=>{var E,T,D;document.fullscreenElement?(E=document.exitFullscreen)==null||E.call(document):(D=(T=document.documentElement).requestFullscreen)==null||D.call(T)},className:"max-sm:block hidden p-2 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:u?"Exit fullscreen":"Enter fullscreen",children:u?i.jsx(aN,{}):i.jsx(oN,{})}),p&&i.jsx("button",{onClick:()=>_(!b),className:`p-2.5 rounded hover:bg-bg-tertiary transition-colors ${b?"text-accent-primary":"text-text-muted hover:text-text-primary"}`,title:"Toggle terminal (double Ctrl)",children:i.jsx(gN,{})}),i.jsx("button",{onClick:()=>r(!0),className:"p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Settings",children:i.jsx(fN,{})}),i.jsx("button",{onClick:()=>{localStorage.removeItem("openfox_token"),f("/")},className:"p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Logout",children:i.jsx(cN,{})}),t&&m&&i.jsx("button",{onClick:t,className:"p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Toggle sidebar",children:i.jsx(ev,{})})]}),i.jsx(rT,{isOpen:n,onClose:()=>r(!1)}),i.jsx(dT,{isOpen:b,onClose:()=>_(!1)})]})}function bT({onCancel:e,onSave:t,saving:n,saveDisabled:r,cancelLabel:o="Cancel",saveLabel:l=n?"Saving...":"Save"}){return i.jsxs("div",{className:"flex justify-end gap-2 flex-shrink-0",children:[i.jsx(et,{variant:"secondary",onClick:e,children:o}),i.jsx(et,{variant:"primary",onClick:t,disabled:r??n,children:l})]})}const ru=qn()(e=>({config:null,loading:!1,fetchConfig:async t=>{e({loading:!0});try{const r=await(await we(`/api/worktree/config?workdir=${encodeURIComponent(t)}`)).json();e({config:r.config??null,loading:!1})}catch{e({loading:!1})}},saveConfig:async(t,n)=>{const r=await we(`/api/worktree/config?workdir=${encodeURIComponent(t)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)});if(!r.ok)throw new Error("Failed to save worktree config");const o=await r.json();e({config:o.config??n})}}));function _T({isOpen:e,onClose:t,project:n}){const r=Ut(R=>R.updateProject),o=ru(R=>R.config),l=ru(R=>R.loading),u=ru(R=>R.fetchConfig),c=ru(R=>R.saveConfig),d=()=>{try{Xt.send("context.checkDynamic",{})}catch{}t()},[f,p]=A.useState(n.customInstructions??""),[m,x]=A.useState(n.dangerLevel??""),[y,w]=A.useState(!1),[C,v]=A.useState(!1),[S,_]=A.useState(!1),[b,j]=A.useState(null),[E,T]=A.useState("skip"),[D,L]=A.useState([]),[O,P]=A.useState(!1),G=y||C||O;A.useEffect(()=>{e&&(p(n.customInstructions??""),x(n.dangerLevel??""),w(!1),v(!1),P(!1),u(n.workdir))},[e,n,u]),A.useEffect(()=>{o?(T(o.ignoredAssets),L(Object.entries(o.overrides??{}).map(([R,M])=>({path:R,strategy:M})))):(T("skip"),L([]))},[o]);const W=R=>{p(R.target.value),w(!0)},I=R=>{x(R),v(!0)},H=R=>{T(R),P(!0)},V=(R,M,q)=>{L(B=>{const ee=[...B];return ee[R]&&(ee[R]={...ee[R],[M]:q}),ee}),P(!0)},U=()=>{L(R=>[...R,{path:"",strategy:"symlink"}]),P(!0)},Q=R=>{L(M=>M.filter((q,B)=>B!==R)),P(!0)},X=async()=>{_(!0),j(null);try{const R=m===""?null:m;if(await r(n.id,{customInstructions:f||null,dangerLevel:R}),O){const M={};for(const q of D)q.path.trim()&&(M[q.path.trim()]=q.strategy);await c(n.workdir,{ignoredAssets:E,overrides:Object.keys(M).length>0?M:void 0})}w(!1),v(!1),P(!1),d()}catch(R){j(R instanceof Error?R.message:"Failed to save settings")}finally{_(!1)}},z=()=>{p(n.customInstructions??""),x(n.dangerLevel??""),w(!1),v(!1),P(!1),d()};return i.jsx(Ot,{isOpen:e,onClose:z,title:`${n.name} Settings`,size:"lg",footer:i.jsx(bT,{onCancel:z,onSave:X,saving:S,saveDisabled:!G||S}),children:i.jsxs("div",{className:"flex flex-col gap-5 -mt-1",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Default Danger Level"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Default danger level for new sessions in this project. Existing sessions are not affected."}),i.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-1 rounded bg-bg-tertiary/50 w-fit",children:[i.jsx("button",{type:"button",onClick:()=>I(""),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m===""?"bg-bg-tertiary text-text-primary border border-border":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Use global default (Normal)",children:"Default"}),i.jsx("button",{type:"button",onClick:()=>I("normal"),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m==="normal"?"bg-accent-success/20 text-accent-success border border-accent-success/30":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Normal mode - requires path confirmation",children:"Normal"}),i.jsx("button",{type:"button",onClick:()=>I("dangerous"),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${m==="dangerous"?"bg-red-500/20 text-red-400 border border-red-500/30":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Dangerous mode - bypasses all confirmations",children:"Dangerous"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Project Path"}),i.jsx("p",{className:"text-sm text-text-muted font-mono",children:n.workdir})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Project Instructions"}),i.jsx("p",{className:"text-sm text-text-muted mb-3 flex-shrink-0",children:"These instructions are injected into prompts when working in this project. They are applied after global instructions but before AGENTS.md files."}),i.jsx("textarea",{value:f,onChange:W,placeholder:"Enter project-specific instructions...",className:"w-full h-32 px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none focus:outline-none focus:ring-1 focus:ring-accent-primary",disabled:S})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm font-medium text-text-primary mb-1 flex-shrink-0",children:"Worktree Asset Strategy"}),i.jsx("p",{className:"text-sm text-text-muted mb-3",children:"Controls how .gitignored files (e.g. node_modules) are handled when creating a worktree. Symlink is fast and saves disk space. Copy works when tools don't follow symlinks."}),l&&i.jsx("div",{className:"text-xs text-text-muted mb-2",children:"Loading config..."}),i.jsx("div",{className:"flex items-center gap-1 px-1.5 py-1 rounded bg-bg-tertiary/50 w-fit mb-4",children:["skip","symlink","copy"].map(R=>i.jsx("button",{type:"button",onClick:()=>H(R),className:`px-3 py-1 text-sm font-medium rounded transition-colors ${E===R?"bg-bg-tertiary text-text-primary border border-border":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,children:R.charAt(0).toUpperCase()+R.slice(1)},R))}),i.jsx("label",{className:"block text-xs font-medium text-text-secondary mb-1",children:"Per-path overrides"}),i.jsxs("div",{className:"space-y-2",children:[D.map((R,M)=>i.jsxs("div",{className:`flex items-center gap-2 ${R.path.trim()?"":"opacity-50"}`,children:[i.jsx("input",{type:"text",value:R.path,onChange:q=>V(M,"path",q.target.value),placeholder:"e.g. node_modules",className:"input flex-1 text-sm"}),i.jsxs("select",{value:R.strategy,onChange:q=>V(M,"strategy",q.target.value),className:"input w-28 text-sm",children:[i.jsx("option",{value:"symlink",children:"Symlink"}),i.jsx("option",{value:"copy",children:"Copy"}),i.jsx("option",{value:"skip",children:"Skip"})]}),i.jsx("button",{type:"button",onClick:()=>Q(M),className:"text-text-muted hover:text-red-400 text-sm px-1",children:"✕"})]},M)),i.jsx("button",{type:"button",onClick:U,className:"text-xs text-accent-primary hover:text-accent-primary/80 transition-colors",children:"+ Add override"})]})]}),b&&i.jsx("div",{className:"text-sm text-red-400 bg-red-500/10 border border-red-500/20 rounded px-3 py-2",children:b})]})})}const vT={sm:"w-3 h-3",md:"w-4 h-4",lg:"w-5 h-5",xl:"w-6 h-6"},ST="M6 18L18 6M6 6l12 12";function Rl({onClick:e,className:t="",size:n="md",variant:r="default"}){const o=r==="overlay"?"bg-accent-error text-white rounded-full flex items-center justify-center hover:bg-accent-error/80 transition-colors":r==="sidebar"?"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors":r==="modal"?"text-text-muted hover:text-text-primary transition-colors":"hover:text-white transition-colors";return i.jsx(id,{onClick:e,icon:ST,iconSize:vT[n],className:`${o} ${t}`,title:"Close"})}function x1({projectId:e,isOpen:t=!0,onClose:n}){const[,r]=Gn(),[o,l]=A.useState(!1),u=Le(E=>E.sessions),c=Le(E=>E.currentSession),d=Le(E=>E.unreadSessionIds),f=Le(E=>E.deleteSession),p=Le(E=>E.deleteAllSessions),m=Le(E=>E.loadMoreSessions),x=Le(E=>E.sessionsHasMore),y=Le(E=>E.sessionsPaginationLoading),w=Ut(E=>E.currentProject),C=A.useRef(null),v=A.useCallback(()=>{x&&!y&&w&&m(w.id)},[x,y,w,m]);A.useEffect(()=>{if(!C.current||!x)return;const E=new IntersectionObserver(T=>{const D=T[0];D&&D.isIntersecting&&v()},{threshold:.1});return E.observe(C.current),()=>E.disconnect()},[x,v]);const S=u.filter(E=>E.projectId===(w==null?void 0:w.id)),_=(E,T)=>{T==null||T.stopPropagation(),confirm("Delete this session?")&&(f(E),(c==null?void 0:c.id)===E&&r(`/p/${e}`))},b=(E,T)=>{T==null||T.stopPropagation();const D=u.find(P=>P.id===E),L=(D==null?void 0:D.title)??E.slice(0,6),O=prompt("Rename session:",L);if(O!==null&&O.trim()!==""){const P=Le.getState().renameSession;P(E,O.trim())}},j=()=>{confirm("Delete all sessions in this project? This cannot be undone.")&&(p(e),r(`/p/${e}`))};return i.jsxs(i.Fragment,{children:[t&&n&&i.jsx("div",{className:"md:hidden fixed inset-0 bg-black/50 z-40",onClick:n}),i.jsxs("aside",{className:`
|
|
82
|
+
${t?"md:w-[300px] md:shrink-0":"md:w-0 md:shrink-0 md:overflow-hidden"}
|
|
83
|
+
md:relative md:h-auto md:translate-x-0
|
|
84
|
+
|
|
85
|
+
fixed z-50 h-[calc(100vh-32px)]
|
|
86
|
+
w-[300px] bg-secondary border-r border-border flex flex-col
|
|
87
|
+
transition-all duration-300 ease-in-out
|
|
88
|
+
${t?"translate-x-0":"-translate-x-full"}
|
|
89
|
+
`,children:[i.jsxs("div",{className:"p-4 border-b border-border flex gap-2",children:[i.jsx(or,{href:`/p/${e}/new`,className:"flex-1 block text-center rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-3 py-1.5 text-sm","data-testid":"sidebar-new-session-button",children:"+ New Session"}),i.jsx(Dl,{items:[{label:"Edit project settings",onClick:()=>l(!0)},{label:"Delete all sessions",onClick:j,danger:!0}],trigger:i.jsx("button",{className:"flex-shrink-0 p-2.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Options",children:i.jsx(Ip,{})})}),n&&i.jsx(Rl,{onClick:n,className:"md:hidden",variant:"sidebar",size:"md"})]}),w&&i.jsx(_T,{isOpen:o,onClose:()=>l(!1),project:w}),i.jsx("div",{className:"flex-1 overflow-y-auto",children:S.length===0?i.jsx("div",{className:"p-4 text-center text-text-muted text-xs",children:"No sessions"}):i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"divide-y divide-border",children:wT(S,c,d,_,b,e)}),y&&i.jsx("div",{className:"p-4 text-center text-text-muted text-xs",children:"Loading more..."}),i.jsx("div",{ref:C,className:"h-px"})]})})]})]})}function wT(e,t,n,r,o,l){const u=g1(e);return Array.from(u).map(([c,d])=>{const f=d[0];return f?i.jsxs("div",{children:[i.jsx("div",{className:"px-4 py-2 bg-bg-tertiary/30 text-text-muted text-xs font-medium",children:m1(f.updatedAt)}),d.map(p=>{const m=(t==null?void 0:t.id)===p.id,x=n.includes(p.id),y=p.isRunning;return i.jsx("div",{className:`w-full px-4 py-3 text-left hover:bg-bg-tertiary/50 transition-colors group ${m?"bg-bg-tertiary":""}`,children:i.jsxs(or,{href:`/p/${l}/s/${p.id}`,className:`block ${m?"text-accent-primary":"text-text-primary"} hover:text-accent-primary`,children:[i.jsxs("div",{className:"flex justify-between items-center mb-1",children:[i.jsx("span",{className:`font-medium truncate text-sm ${m?"text-accent-primary":"text-text-primary"}`,children:p.title??p.id.slice(0,6)}),i.jsx(Dl,{items:[{label:"Rename session",onClick:w=>o(p.id,w)},{label:"Delete session",onClick:w=>r(p.id,w),danger:!0}],trigger:i.jsx("button",{onClick:w=>w.preventDefault(),className:"p-1.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-all",title:"Options",children:i.jsx(Ip,{})})})]}),i.jsxs("div",{className:"flex items-center gap-2 mt-1",children:[y?i.jsx(mN,{}):x&&!m?i.jsx("span",{"aria-label":"Unread activity",title:"Unread activity",className:"w-2 h-2 rounded-full bg-amber-400 flex-shrink-0"}):null,i.jsx("span",{className:"text-text-muted text-xs flex-shrink-0",children:cd(p.updatedAt)}),i.jsxs("span",{className:"text-text-muted text-xs flex-shrink-0",children:[p.messageCount," messages"]})]})]})},p.id)})]},c):null})}const fv=["⠋","⠙","⠹","⠸","⠼","⠴"];function CT(){var c;const e=Ut(d=>d.currentProject),t=Le(d=>d.currentSession),n=sd(),r=!1,o=A.useRef(0),l=A.useRef(null);A.useEffect(()=>(n?(l.current=window.setInterval(()=>{o.current=(o.current+1)%fv.length,u()},150),u()):(l.current&&(clearInterval(l.current),l.current=null),u()),()=>{l.current&&(clearInterval(l.current),l.current=null)}),[n,e,t,r]);const u=()=>{var m;const f=(m=t==null?void 0:t.metadata)==null?void 0:m.title,p=n?`${fv[o.current]} `:"";e&&f?document.title=`${p}${e.name} - ${f} | OpenFox`:e?document.title=`${p}${e.name} | OpenFox`:document.title=`${p}OpenFox`};return typeof window<"u"&&((c=t==null?void 0:t.metadata)!=null&&c.title)&&window.document.documentElement.setAttribute("data-session-title",t.metadata.title),null}function y1({isOpen:e,onClose:t,projectName:n,onConfirm:r}){const o=()=>{r(),t()};return i.jsx(Ot,{isOpen:e,onClose:t,title:"Delete Project",size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("p",{className:"text-text-secondary",children:["This will permanently delete the project"," ",i.jsx("span",{className:"font-semibold text-text-primary",children:n})," and all its sessions from OpenFox. The project files on disk will remain untouched."]}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(et,{variant:"secondary",onClick:t,children:"Cancel"}),i.jsx(et,{variant:"danger",onClick:o,children:"Delete"})]})]})})}function kT({isOpen:e,onClose:t}){const[,n]=Gn(),[r,o]=A.useState(!1),l=f1(),[u,c]=A.useState(!1),d=Ut(L=>L.projects),f=Ut(L=>L.createProject),p=Ut(L=>L.listProjects),m=Ut(L=>L.deleteProject),[x,y]=A.useState(null),[w,C]=A.useState(null);A.useEffect(()=>{e&&p()},[e,p]);const v=L=>{n(`/p/${L}`),t()},S=(L,O)=>{O.stopPropagation(),y(L)},_=()=>{x&&(m(x.id),y(null))},b=async L=>E(L);function j(L){return L!=null&&typeof L=="object"&&"error"in L&&L.error!=null&&typeof L.error=="object"&&"code"in L.error&&L.error.code==="EACCES"}async function E(L){const O=r1(L),P=await f(O,L);return p(),j(P)?(C(P.error.path||L),!1):P&&"id"in P?(n(`/p/${P.id}`),t(),!0):!1}const T=A.useCallback(()=>{C(null)},[]),D=A.useCallback(async()=>{const L=w;C(null),L&&await E(L)},[w]);return e?i.jsxs(Ot,{isOpen:e,onClose:t,title:"Open Project",size:"xl",footer:i.jsx("div",{className:"flex justify-end gap-2",children:i.jsx(et,{variant:"secondary",onClick:t,children:"Close"})}),children:[i.jsxs("div",{className:"flex flex-col sm:flex-row flex-1 -m-4",children:[i.jsxs("div",{className:"w-full sm:w-1/2 border-b sm:border-b-0 sm:border-r border-border flex flex-col max-h-[40vh] sm:max-h-[50vh]",children:[i.jsx("div",{className:"p-3 border-b border-border bg-bg-tertiary/30 shrink-0",children:i.jsx("h3",{className:"font-medium text-sm text-text-secondary",children:"Recent Projects"})}),i.jsx("div",{className:"flex-1 overflow-y-auto",children:d.length===0?i.jsxs("div",{className:"p-6 text-center text-text-muted text-sm",children:[i.jsx("p",{className:"mb-2",children:"No recent projects"}),i.jsx("p",{className:"text-xs",children:'Click "Create new project" to add one'})]}):i.jsx("div",{className:"divide-y divide-border",children:d.map(L=>i.jsxs("div",{className:"group flex items-center gap-3 p-3 hover:bg-bg-tertiary/50 transition-colors",children:[i.jsxs("button",{onClick:()=>v(L.id),className:"flex-1 flex items-center gap-3 text-left",children:[i.jsx(Al,{className:"w-5 h-5 text-accent-primary"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"font-medium truncate",children:L.name}),i.jsx("div",{className:"text-xs text-text-muted truncate",children:s1(L.workdir,32)})]})]}),i.jsx("button",{onClick:O=>S(L,O),className:"text-accent-error/70 hover:text-accent-error p-1",title:"Delete project",children:i.jsx(Xa,{className:"w-4 h-4"})})]},L.id))})})]}),i.jsx("div",{className:"w-full sm:w-1/2 flex flex-col items-center justify-center p-6 sm:p-8 text-center",children:i.jsxs("div",{className:"flex flex-col gap-3 w-full max-w-sm",children:[i.jsx(et,{variant:"primary",onClick:()=>c(!0),children:"Select existing project"}),i.jsx(et,{variant:"secondary",onClick:()=>o(!0),"data-testid":"open-project-create-button",children:"Create new project"})]})})]}),r&&i.jsx(h1,{isOpen:r,onClose:()=>o(!1)}),x&&i.jsx(y1,{isOpen:!0,onClose:()=>y(null),projectName:x.name,onConfirm:_}),u&&i.jsx(ld,{initialPath:l??void 0,onSelect:L=>{b(L)},onClose:()=>c(!1)}),w&&i.jsx(d1,{isOpen:!0,onClose:T,path:w,onRetry:D})]}):null}function Vr(e,t){const n=new Set(t.map(r=>r.id));return[...e.filter(r=>!n.has(r.id)),...t]}function za(e,t){if(!t)return!0;const n=t.toLowerCase().split(/\s+/),r=e.toLowerCase().split(/\s+/);return n.every(o=>{for(const l of r){let u=0;for(let c=0;c<l.length&&u<o.length;c++)l[c]===o[u]&&u++;if(u===o.length)return!0}return!1})}function b1(e,t,n,r,o){switch(e.key){case"ArrowDown":e.preventDefault(),n(l=>Math.min(l+1,t));break;case"ArrowUp":e.preventDefault(),n(l=>Math.max(l-1,0));break;case"Enter":e.preventDefault(),r();break;case"Escape":e.preventDefault(),o();break}}function mv(e,t){if(!t)return e;const n=e.toLowerCase(),r=t.toLowerCase(),o=new Array(e.length).fill(!1),l=n.indexOf(r);if(l>=0)for(let f=l;f<l+r.length;f++)o[f]=!0;else{let f=0;for(let p=0;p<e.length&&f<r.length;p++)n[p]===r[f]&&(o[p]=!0,f++)}const u=[];let c="",d=o[0]??!1;for(let f=0;f<e.length;f++)o[f]===d?c+=e[f]:(u.push(d?i.jsx("span",{className:"font-semibold text-accent-primary",children:c},u.length):c),c=e[f],d=o[f]);return u.push(d?i.jsx("span",{className:"font-semibold text-accent-primary",children:c},u.length):c),i.jsx(i.Fragment,{children:u})}function ET(){const[e,t]=A.useState(!1),[n,r]=A.useState(null),[o,l]=A.useState(""),[u,c]=A.useState(""),d=A.useRef(null),f=Le(H=>H.sessions),p=Ut(H=>H.projects),m=Ut(H=>H.loading),x=Ut(H=>H.listProjects),y=Le(H=>H.listSessions),w=Ut(H=>H.deleteProject),C=Le(H=>H.connectionStatus);A.useEffect(()=>{C==="connected"&&(x(),y())},[C,x,y]),A.useEffect(()=>{const H=setTimeout(()=>c(o),150);return()=>clearTimeout(H)},[o]);const{matchCount:v,filteredSessionIds:S,relevanceScores:_,matchTypes:b,promptSnippets:j}=A.useMemo(()=>{if(!u)return{matchCount:0,filteredSessionIds:null,relevanceScores:null,matchTypes:null,promptSnippets:null};const H=new Map(p.map(z=>[z.id,z])),V=new Map,U=new Map,Q=new Map,X=f.filter(z=>{var K;const R=H.get(z.projectId),M=(R==null?void 0:R.name)??"",q=z.title??"",B=((K=z.recentUserPrompts)==null?void 0:K.map(F=>F.content))??[],ee=B.join(" ");let J=0,ne="";if(za(q,u)&&(J+=10,ne="title"),za(ee,u)){J+=3,ne=ne==="title"?"title":"prompts";const F=B.find(te=>za(te,u));if(F){const te=F.toLowerCase().indexOf(u.toLowerCase());if(te>=0){const re=Math.max(0,te-30),ge=Math.min(F.length,te+u.length+30);Q.set(z.id,(re>0?"…":"")+F.slice(re,ge)+(ge<F.length?"…":""))}else Q.set(z.id,F.slice(0,80)+(F.length>80?"…":""))}}return za(M,u)&&(J+=1,ne=ne||"project"),V.set(z.id,J),U.set(z.id,ne),J>0});return{matchCount:X.length,filteredSessionIds:new Set(X.map(z=>z.id)),relevanceScores:V,matchTypes:U,promptSnippets:Q}},[f,u,p]),E=A.useMemo(()=>{const H=new Map;for(const V of f){const U=new Date(V.updatedAt).getTime(),Q=H.get(V.projectId)??0;U>Q&&H.set(V.projectId,U)}return H},[f]),T=A.useMemo(()=>{const H=new Map;for(const V of f){const U=H.get(V.projectId);U?U.push(V):H.set(V.projectId,[V])}for(const[,V]of H)V.sort((U,Q)=>new Date(Q.updatedAt).getTime()-new Date(U.updatedAt).getTime());return H},[f]),D=A.useMemo(()=>{let H=p;return u&&S&&(H=p.filter(V=>{const U=T.get(V.id);return U==null?void 0:U.some(Q=>S.has(Q.id))})),[...H].sort((V,U)=>{const Q=E.get(V.id)??new Date(V.updatedAt).getTime();return(E.get(U.id)??new Date(U.updatedAt).getTime())-Q})},[p,T,u,S,E]),L=A.useCallback(H=>{const V=T.get(H);return V?u&&S&&_?V.filter(U=>S.has(U.id)).sort((U,Q)=>{const X=(_.get(Q.id)??0)-(_.get(U.id)??0);return X!==0?X:new Date(Q.updatedAt).getTime()-new Date(U.updatedAt).getTime()}):V.slice(0,5):[]},[T,u,S,_]),O=()=>{t(!0)},P=()=>{var H;l(""),c(""),(H=d.current)==null||H.focus()},G=H=>{var V;H.key==="Escape"&&(P(),(V=d.current)==null||V.blur())},W=u.length>0,I=W&&v===0;return i.jsxs("div",{className:"flex-1 flex flex-col overflow-y-auto bg-primary",children:[i.jsxs("div",{className:"max-w-5xl mx-auto w-full p-4 md:p-8",children:[i.jsxs("div",{className:"mb-6 md:mb-8 flex items-center justify-between",children:[i.jsxs("div",{children:[i.jsx("h1",{className:"text-3xl font-bold text-accent-primary",children:"OpenFox"}),i.jsx("p",{className:"text-text-secondary",children:"Local LLM-powered coding assistant with contract-driven execution"})]}),i.jsx(et,{variant:"primary",onClick:O,children:"Open Project"})]}),f.length>0&&i.jsxs("div",{className:"mb-4 md:mb-6 relative",children:[i.jsxs("div",{className:"relative flex items-center",children:[i.jsx(bl,{className:"absolute left-3 w-4 h-4 text-text-muted pointer-events-none"}),i.jsx("input",{ref:d,type:"text",value:o,onChange:H=>l(H.target.value),onKeyDown:G,placeholder:"Search sessions by title or keyword...",className:"w-full bg-bg-secondary border border-border rounded-lg pl-10 pr-10 py-2.5 text-sm text-text-primary placeholder-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 focus:border-accent-primary transition-colors"}),o&&i.jsx("button",{type:"button",onClick:P,className:"absolute right-3 p-0.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors","aria-label":"Clear search",children:i.jsx(Qa,{className:"w-4 h-4"})})]}),W&&!I&&i.jsxs("div",{className:"mt-1.5 text-xs text-text-muted px-1",children:[v," ",v===1?"match":"matches"]})]}),I?i.jsxs("div",{className:"text-center py-16 text-text-muted",children:[i.jsx(bl,{className:"w-10 h-10 mx-auto mb-4 opacity-40"}),i.jsxs("p",{className:"text-lg",children:["No sessions matching ",i.jsxs("span",{className:"text-text-primary font-medium",children:["“",u,"”"]})]}),i.jsx("p",{className:"mt-2 text-sm",children:"Try a different keyword or clear the search"})]}):D.map(H=>{const V=L(H.id);return i.jsx("div",{className:"mb-6 md:mb-8",children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-lg overflow-hidden",children:[i.jsxs("div",{className:"p-3 md:p-4 border-b border-border flex items-center justify-between gap-2",children:[i.jsxs(or,{href:`/p/${H.id}`,className:"flex items-center gap-2 cursor-pointer hover:opacity-80 transition-opacity flex-1",children:[i.jsx(Al,{className:"w-5 h-5 text-accent-primary flex-shrink-0"}),i.jsx("span",{className:"text-text-primary font-semibold",children:H.name})]}),i.jsx(or,{href:`/p/${H.id}/new`,className:"rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-1.5 py-1 text-xs",children:"+ New Session"}),i.jsx("button",{type:"button",onClick:()=>r({id:H.id,name:H.name}),className:"p-1.5 rounded text-text-muted hover:text-accent-error hover:bg-accent-error/10 transition-colors",title:"Delete project",children:i.jsx(Xa,{className:"w-4 h-4"})})]}),i.jsx("div",{className:"divide-y divide-border",children:V.length>0?V.map(U=>{const Q=p.find(M=>U.projectId===M.id),X=Q?`/p/${Q.id}/s/${U.id}`:"#",z=U.title??U.id.slice(0,8),R=b==null?void 0:b.get(U.id);return i.jsx(or,{href:X,className:"block p-3 md:p-4 hover:bg-bg-tertiary/50 cursor-pointer transition-colors",children:i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("div",{className:"flex items-center gap-3 flex-1 min-w-0",children:i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:"text-sm text-text-muted truncate",children:W&&R==="title"?mv(z,u):z}),W&&R&&R!=="title"&&i.jsxs("div",{className:"flex flex-wrap items-center gap-1.5 mt-1",children:[i.jsx("span",{className:"text-[10px] font-medium text-accent-primary border border-accent-primary/30 bg-accent-primary/8 rounded px-1 py-0.5 leading-none",children:R==="prompts"?"prompts":"project"}),R==="prompts"&&(j==null?void 0:j.get(U.id))&&i.jsx("span",{className:"text-[11px] text-text-muted truncate max-w-[250px]",children:mv(j.get(U.id),u)})]})]})}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[i.jsx("span",{className:"text-text-muted text-xs",children:fT(U.updatedAt)}),i.jsxs("span",{className:"text-text-muted text-xs",children:[U.messageCount," msgs"]})]})]})},U.id)}):i.jsx("div",{className:"p-3 md:p-4 text-text-muted text-sm",children:"No sessions yet"})})]})},H.id)}),!W&&D.length===0&&!m&&i.jsx("div",{className:"text-center py-12 text-text-muted",children:"No projects yet. Open a project to get started."}),m&&i.jsx("div",{className:"flex justify-center py-12",children:i.jsx(ri,{})})]}),e&&i.jsx(kT,{isOpen:e,onClose:()=>t(!1)}),n&&i.jsx(y1,{isOpen:!0,onClose:()=>r(null),projectName:n.name,onConfirm:()=>w(n.id)})]})}function jT(){const[,e]=Ya("/p/:projectId/new"),[,t]=Gn(),n=e==null?void 0:e.projectId,r=Le(u=>u.createSession),o=Le(u=>u.resetPendingSessionCreate),l=A.useCallback(async()=>{if(!n)return;const u=await r(n);u?(t(`/p/${n}/s/${u.id}`),o()):(t(`/p/${n}`),o())},[n,r,t,o]);return A.useEffect(()=>{l()},[l]),i.jsx("div",{className:"flex-1 flex items-center justify-center",children:i.jsx(ri,{})})}function NT(){const e=Ut(t=>t.currentProject);return i.jsx("div",{className:"h-full flex flex-col items-center justify-center p-8 text-center",children:i.jsxs("div",{className:"max-w-md",children:[i.jsx("h2",{className:"text-xl font-semibold text-text-primary mb-2",children:(e==null?void 0:e.name)??"Project"}),i.jsx("p",{className:"text-text-secondary mb-6",children:"No session selected"}),i.jsxs("div",{className:"flex flex-col gap-3",children:[e&&i.jsx(or,{href:`/p/${e.id}/new`,"data-testid":"create-new-session-button",className:"block w-full rounded font-medium transition-colors bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 px-3 py-2 text-center",children:"Create New Session"}),i.jsx("p",{className:"text-sm text-text-muted",children:"Or select an existing session from the sidebar"})]})]})})}const Jo=e=>Math.round(e*10)/10;function TT(e){return typeof e.totalTime=="number"&&!Number.isNaN(e.totalTime)}function Jm(e){return{providerId:e.providerId,providerName:e.providerName,backend:e.backend,model:e.model}}function AT(e){return`${e.providerId}::${e.model}`}function LT(e){return`${e.providerName} > ${e.model}`}function pv(e){let t=0,n=0,r=0,o=0,l=0,u=0;const c=[],d=[];let f=0;for(const[x,y]of e.entries()){const w=y.stats,C=Jm(w);t+=w.totalTime,n+=w.toolTime,r+=w.prefillTokens,o+=w.generationTokens;const v=w.prefillSpeed>0?w.prefillTokens/w.prefillSpeed:0,S=w.generationSpeed>0?w.generationTokens/w.generationSpeed:0;l+=v,u+=S,c.push({messageId:y.id,timestamp:y.timestamp,...C,mode:w.mode,responseIndex:x+1,prefillTokens:w.prefillTokens,generationTokens:w.generationTokens,prefillSpeed:w.prefillSpeed,generationSpeed:w.generationSpeed,totalTime:w.totalTime,aiTime:w.totalTime-w.toolTime,toolTime:w.toolTime});const _=w.llmCalls??[];for(const b of _)f+=1,d.push({messageId:y.id,timestamp:b.timestamp??y.timestamp,providerId:b.providerId,providerName:b.providerName,backend:b.backend,model:b.model,mode:w.mode,responseIndex:x+1,sessionCallIndex:f,callIndex:b.callIndex,promptTokens:b.promptTokens,completionTokens:b.completionTokens,ttft:b.ttft,completionTime:b.completionTime,prefillSpeed:b.prefillSpeed,generationSpeed:b.generationSpeed,totalTime:b.totalTime,...b.temperature!==void 0&&{temperature:b.temperature},...b.topP!==void 0&&{topP:b.topP},...b.topK!==void 0&&{topK:b.topK},...b.maxTokens!==void 0&&{maxTokens:b.maxTokens}})}const p=l>0?Jo(r/l):0,m=u>0?Jo(o/u):0;return{totalTime:Jo(t),aiTime:Jo(t-n),toolTime:Jo(n),prefillTokens:r,generationTokens:o,avgPrefillSpeed:p,avgGenerationSpeed:m,responseCount:e.length,llmCallCount:d.length,dataPoints:c,callDataPoints:d}}function DT(e){const t=e.filter(o=>o.stats!==void 0&&o.stats!==null&&TT(o.stats)).sort((o,l)=>new Date(o.timestamp).getTime()-new Date(l.timestamp).getTime());if(t.length===0)return null;const n=new Map;for(const o of t){const l=AT(Jm(o.stats)),u=n.get(l)??[];n.set(l,[...u,o])}const r=Array.from(n.entries()).map(([o,l])=>{const u=Jm(l[0].stats),c=pv(l);return{...u,key:o,label:LT(u),...c}});return{...pv(t),modelGroups:r}}function RT(e){return A.useMemo(()=>DT(e),[e])}function _1(){var o;const e=Le(l=>l.gitStatus),t=Le(l=>l.currentSession),[n,r]=A.useState(!0);return A.useEffect(()=>{t!=null&&t.workdir&&r(!1)},[t==null?void 0:t.workdir]),{branch:(e==null?void 0:e.branch)??null,diff:{files:((o=e==null?void 0:e.diff)==null?void 0:o.files)??[],loading:n,error:null}}}function Ru(e){return e.toLocaleString("en-US").replace(/,/g," ")}function gv(e){return Number.isFinite(e)?e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1):"0"}function OT(e){if(!Number.isFinite(e))return"0s";if(e<60)return`${e.toFixed(1)}s`;const t=Math.floor(e/60),n=Math.round(e%60);return`${t}m${n}s`}const xv=["▁","▂","▃","▄","▅","▆","▇","█"];function IT(e,t,n){if(n===t)return 4;const r=(e-t)/(n-t);return Math.min(7,Math.max(0,Math.round(r*7)))}function MT(e,t){if(e===t){const o=Math.max(Math.abs(e)*.05,1);return{minY:e-o,maxY:t+o}}const n=t-e,r=Math.max(n*.1,.1);return{minY:e-r,maxY:t+r}}function PT(e,t){if(e.length===0||t<=0)return{blocks:"",minX:0,maxX:0,minY:0,maxY:0};const n=[...e].sort((x,y)=>x.x-y.x),r=n[0].x,o=n[n.length-1].x,l=Math.min(...n.map(x=>x.y)),u=Math.max(...n.map(x=>x.y)),{minY:c,maxY:d}=MT(l,u),f=Math.max(0,c),p=Array.from({length:t},()=>" "),m=new Map;for(const x of n){const y=o===r?0:Math.round((x.x-r)/(o-r)*(t-1)),w=m.get(y)??[];m.set(y,[...w,x.y])}for(const[x,y]of m){const w=Math.max(...y);p[x]=xv[IT(w,c,d)]??xv[0]}return{blocks:p.join(""),minX:r,maxX:o,minY:f,maxY:d}}function yv(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function bv({data:e,width:t=60,height:n=78,label:r,xLabel:o,yLabel:l,showAxes:u=!0,formatY:c=yv,formatX:d=yv}){const f=A.useMemo(()=>{const p=PT(e,t),m=Math.max(t*6,240),x=10,y=8,C=[...e].sort((b,j)=>b.x-j.x).map(b=>{const j=p.maxX===p.minX?m/2:x+(b.x-p.minX)/(p.maxX-p.minX)*(m-x*2),E=p.maxY===p.minY?n/2:y+(p.maxY-b.y)/(p.maxY-p.minY)*(n-y*2);return{...b,cx:j,cy:E,leftPercent:j/m*100,topPercent:E/n*100}}),v=C.map((b,j)=>`${j===0?"M":"L"} ${b.cx.toFixed(1)} ${b.cy.toFixed(1)}`).join(" "),_=[p.maxY,(p.maxY+p.minY)/2,p.minY].map(b=>({value:b,y:p.maxY===p.minY?n/2:y+(p.maxY-b)/(p.maxY-p.minY)*(n-y*2)}));return{...p,chartWidth:m,points:C,path:v,gridLines:_}},[e,n,t]);return e.length===0?i.jsxs("div",{className:"font-mono text-text-muted text-xs",children:[r&&i.jsx("div",{className:"mb-1",children:r}),i.jsx("div",{children:"No data"})]}):i.jsxs("div",{className:"font-mono text-xs",children:[r&&i.jsx("div",{className:"text-text-secondary mb-2",children:r}),i.jsxs("div",{className:"flex gap-3",children:[u&&i.jsx("div",{className:"w-12 h-[78px] flex flex-col justify-between text-right text-text-muted",children:f.gridLines.map(p=>i.jsx("span",{children:c(p.value)},`${p.value}-${p.y}`))}),i.jsx("div",{className:"flex-1 min-w-0",children:i.jsxs("div",{className:"relative h-[78px]",children:[i.jsxs("svg",{viewBox:`0 0 ${f.chartWidth} ${n}`,className:"w-full h-[78px] overflow-visible",preserveAspectRatio:"none","aria-hidden":"true",children:[f.gridLines.map(p=>i.jsx("line",{x1:"0",x2:f.chartWidth,y1:p.y,y2:p.y,stroke:"currentColor",strokeDasharray:"3 4",className:"text-border/60"},`grid-${p.y}`)),f.points.map(p=>i.jsx("line",{x1:p.cx,x2:p.cx,y1:n-4,y2:p.cy,stroke:"currentColor",className:"text-border/40"},`guide-${p.cx}-${p.cy}`)),f.points.length>1&&i.jsx("path",{d:f.path,fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-accent-primary/45"})]}),f.points.map(p=>i.jsx("div",{className:"absolute -translate-x-1/2 -translate-y-1/2",style:{left:`${p.leftPercent}%`,top:`${p.topPercent}%`},title:`${d(p.x)} -> ${c(p.y)}`,children:i.jsx("div",{className:"w-2.5 h-2.5 rounded-full bg-accent-primary/20 flex items-center justify-center",children:i.jsx("div",{className:"w-1.5 h-1.5 rounded-full bg-accent-primary"})})},`point-${p.x}-${p.y}`))]})})]}),u&&i.jsxs("div",{className:"flex items-start gap-3 text-text-muted mt-1",children:[i.jsx("span",{className:"w-12"}),i.jsxs("span",{className:"flex-1 flex justify-between",children:[i.jsx("span",{children:d(f.minX)}),i.jsx("span",{children:o}),i.jsx("span",{children:d(f.maxX)})]})]}),l&&u&&i.jsx("div",{className:"text-text-muted mt-1 text-center",children:l})]})}function BT({data:e,prefillLabel:t="Prefill Speed (tok/s) by Response",generationLabel:n="Generation Speed (tok/s) by Response",xLabel:r="response",width:o=60}){const l=e.map(c=>({x:c.x,y:c.ppSpeed})),u=e.map(c=>({x:c.x,y:c.tgSpeed}));return i.jsxs("div",{className:"space-y-5",children:[i.jsx(bv,{data:l,width:o,label:t,xLabel:r}),i.jsx(bv,{data:u,width:o,label:n,xLabel:r})]})}function $T(e){const t=new Map;for(const n of e.callDataPoints){const r=t.get(n.messageId)??[];t.set(n.messageId,[...r,n])}return e.dataPoints.map(n=>{const r=[...t.get(n.messageId)??[]].sort((o,l)=>o.callIndex-l.callIndex);return{...n,callCount:r.length,calls:r,isExpandable:r.length>1}})}function zT(e){return{mode:"responses",xLabel:"response",prefillLabel:"Prefill Speed (tok/s) by Response",generationLabel:"Generation Speed (tok/s) by Response",points:e.dataPoints.map(t=>({x:t.responseIndex,ppSpeed:t.prefillSpeed,tgSpeed:t.generationSpeed}))}}function HT(e){return{mode:"calls",xLabel:"context",prefillLabel:"Prefill Speed (tok/s) vs Context",generationLabel:"Generation Speed (tok/s) vs Context",points:e.callDataPoints.map(t=>({x:t.promptTokens,ppSpeed:t.prefillSpeed,tgSpeed:t.generationSpeed}))}}function UT(e){return e.callDataPoints.length>0?HT(e):zT(e)}function om(e){if(e<60)return`${e.toFixed(1)}s`;const t=Math.floor(e/60),n=e%60;return`${t}m ${n.toFixed(0)}s`}function Pi(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toString()}function ul(e){return e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toFixed(1)}function FT(e){if(e.length===0)return"0 ctx";const t=Math.min(...e),n=Math.max(...e);return t===n?`${Pi(t)} ctx`:`${Pi(t)}-${Pi(n)} ctx`}function Ou(e){return`${ul(e)} t/s`}function v1(e){try{return new Date(e).toLocaleTimeString("en-US",{hour12:!1})}catch{return e}}function VT(e){return{exportedAt:new Date().toISOString(),providerId:e.providerId,providerName:e.providerName,backend:e.backend,model:e.model,label:e.label,summary:{totalTime:e.totalTime,aiTime:e.aiTime,toolTime:e.toolTime,prefillTokens:e.prefillTokens,generationTokens:e.generationTokens,avgPrefillSpeed:e.avgPrefillSpeed,avgGenerationSpeed:e.avgGenerationSpeed,responseCount:e.responseCount,llmCallCount:e.llmCallCount},responses:e.dataPoints.map(t=>({responseIndex:t.responseIndex,timestamp:t.timestamp,mode:t.mode,prefillTokens:t.prefillTokens,generationTokens:t.generationTokens,prefillSpeed:t.prefillSpeed,generationSpeed:t.generationSpeed,totalTime:t.totalTime,aiTime:t.aiTime,toolTime:t.toolTime})),llmCalls:e.callDataPoints.map(t=>({sessionCallIndex:t.sessionCallIndex,responseIndex:t.responseIndex,callIndex:t.callIndex,timestamp:t.timestamp,mode:t.mode,promptTokens:t.promptTokens,completionTokens:t.completionTokens,ttft:t.ttft,completionTime:t.completionTime,prefillSpeed:t.prefillSpeed,generationSpeed:t.generationSpeed,totalTime:t.totalTime}))}}function GT({isOpen:e,onClose:t,stats:n}){const r=A.useRef(null),[o,l]=A.useState({}),[u,c]=A.useState(()=>{var w;return((w=n.modelGroups[0])==null?void 0:w.key)??""});A.useEffect(()=>{var w;n.modelGroups.some(C=>C.key===u)||c(((w=n.modelGroups[0])==null?void 0:w.key)??"")},[u,n.modelGroups]);const d=A.useMemo(()=>n.modelGroups.find(w=>w.key===u)??n.modelGroups[0],[u,n.modelGroups]),f=A.useMemo(()=>d?$T(d):[],[d]),p=A.useMemo(()=>d?UT(d):{mode:"responses",xLabel:"response",prefillLabel:"",generationLabel:"",points:[]},[d]),m=A.useCallback(w=>{l(C=>({...C,[w]:!C[w]}))},[]),x=A.useCallback(()=>{if(!d)return;const w=VT(d);navigator.clipboard.writeText(JSON.stringify(w,null,2)).catch(C=>console.error("Failed to copy:",C))},[d]),y=A.useCallback(async()=>{if(r.current)try{const w=(await Z(async()=>{const{default:S}=await import("./html2canvas.esm-QH1iLAAe.js");return{default:S}},[])).default,C=await w(r.current,{backgroundColor:"#1a1a1a",scale:2}),v=document.createElement("a");v.download=`openfox-stats-${new Date().toISOString().slice(0,10)}.png`,v.href=C.toDataURL("image/png"),v.click()}catch(w){console.error("Failed to export PNG:",w),x()}},[x]);return i.jsx(Ot,{isOpen:e,onClose:t,title:"Session Stats",size:"lg",children:i.jsxs("div",{ref:r,className:"space-y-6",children:[i.jsx("section",{children:i.jsx("div",{className:"flex flex-wrap gap-2",children:n.modelGroups.map(w=>i.jsx("button",{onClick:()=>c(w.key),className:`px-3 py-1.5 rounded border text-xs transition-colors ${w.key===(d==null?void 0:d.key)?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border text-text-muted hover:text-text-primary hover:bg-bg-tertiary/40"}`,title:w.label,children:w.label},w.key))})}),d&&i.jsxs("section",{children:[i.jsx("h3",{className:"text-sm font-semibold text-text-secondary mb-3 uppercase tracking-wide",children:"Summary"}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-5 gap-4",children:[i.jsx(hs,{label:"AI Time",value:om(d.aiTime)}),i.jsx(hs,{label:"Total Time",value:om(d.totalTime)}),i.jsx(hs,{label:"Tool Time",value:om(d.toolTime)}),i.jsx(hs,{label:"Responses",value:d.responseCount.toString()}),i.jsx(hs,{label:"LLM Calls",value:d.llmCallCount.toString()})]}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-4 mt-3",children:[i.jsx(hs,{label:"Prefill Tokens",value:Pi(d.prefillTokens),subValue:`@ ${ul(d.avgPrefillSpeed)} tok/s`}),i.jsx(hs,{label:"Gen Tokens",value:Pi(d.generationTokens),subValue:`@ ${ul(d.avgGenerationSpeed)} tok/s`}),i.jsx(hs,{label:"Avg PP Speed",value:`${ul(d.avgPrefillSpeed)}`,subValue:"tok/s"}),i.jsx(hs,{label:"Avg TG Speed",value:`${ul(d.avgGenerationSpeed)}`,subValue:"tok/s"})]})]}),d&&p.points.length>1&&i.jsxs("section",{children:[i.jsxs("div",{className:"flex items-center justify-between mb-3",children:[i.jsx("h3",{className:"text-sm font-semibold text-text-secondary uppercase tracking-wide",children:"Performance Progression"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:x,className:"px-2 py-1 text-xs text-text-muted hover:text-text-primary hover:bg-bg-tertiary rounded transition-colors",children:"Copy JSON"}),i.jsx("button",{onClick:y,className:"px-2 py-1 text-xs text-text-muted hover:text-text-primary hover:bg-bg-tertiary rounded transition-colors",children:"Save PNG"})]})]}),i.jsx("div",{className:"bg-bg-tertiary/50 rounded p-4",children:i.jsx(BT,{data:p.points,width:50,prefillLabel:p.prefillLabel,generationLabel:p.generationLabel,xLabel:p.xLabel})})]}),d&&i.jsxs("section",{children:[i.jsxs("h3",{className:"text-sm font-semibold text-text-secondary mb-3 uppercase tracking-wide",children:["Response Log (",d.responseCount," responses)"]}),i.jsx("div",{className:"overflow-y-auto bg-bg-tertiary/30 rounded",children:i.jsxs("table",{className:"w-full table-fixed border-separate border-spacing-0 text-xs",children:[i.jsxs("colgroup",{children:[i.jsx("col",{className:"w-[7%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[10%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[14%]"}),i.jsx("col",{className:"w-[11%]"}),i.jsx("col",{className:"w-[2%]"})]}),i.jsx("thead",{children:i.jsxs("tr",{className:"text-[10px] uppercase tracking-wide text-text-muted/80",children:[i.jsx("th",{className:"px-3 py-2 text-center font-medium",children:"#"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"At"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Time"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Context"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"PP t/s"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"TG t/s"}),i.jsx("th",{className:"px-2 py-2 text-center font-medium",children:"Calls"}),i.jsx("th",{className:"px-2 py-2"})]})}),i.jsx("tbody",{children:f.map((w,C)=>i.jsxs(A.Fragment,{children:[i.jsx(WT,{row:w,index:C,isExpanded:o[w.messageId]??!1,onToggle:w.isExpandable?()=>m(w.messageId):void 0}),(o[w.messageId]??!1)&&w.calls.map((v,S)=>i.jsx(qT,{dataPoint:v,index:S},`${v.messageId}-${v.callIndex}`))]},w.messageId))})]})})]})]})})}function hs({label:e,value:t,subValue:n}){return i.jsxs("div",{className:"bg-bg-tertiary/50 rounded p-3",children:[i.jsx("div",{className:"text-text-muted text-xs mb-1",children:e}),i.jsx("div",{className:"text-text-primary text-lg font-semibold",children:t}),n&&i.jsx("div",{className:"text-text-muted text-xs",children:n})]})}function WT({row:e,index:t,isExpanded:n,onToggle:r}){const o=e.calls.length>0?FT(e.calls.map(l=>l.promptTokens)):`${Pi(e.prefillTokens)} ctx`;return i.jsxs("tr",{onClick:r,className:`${t%2===0?"bg-bg-tertiary/20":""} ${r?"cursor-pointer hover:bg-bg-tertiary/35 transition-colors":""}`,children:[i.jsx("td",{className:"px-3 py-2 text-center text-text-muted align-middle",children:e.responseIndex}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:v1(e.timestamp)}),i.jsxs("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:[e.totalTime.toFixed(1),"s"]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:o.replace(/ ctx$/,"")}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Ou(e.prefillSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Ou(e.generationSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:e.callCount}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:e.isExpandable?n?"v":">":""})]})}function qT({dataPoint:e,index:t}){const n=e.temperature!==void 0||e.topP!==void 0||e.topK!==void 0||e.maxTokens!==void 0;return i.jsxs(i.Fragment,{children:[i.jsxs("tr",{className:`${t%2===0?"bg-bg-tertiary/10":"bg-bg-tertiary/5"}`,children:[i.jsxs("td",{className:"px-3 py-2 pl-6 text-center text-text-muted align-middle border-l border-border/60",children:["c",e.callIndex]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:v1(e.timestamp)}),i.jsxs("td",{className:"px-2 py-2 text-center text-text-muted align-middle whitespace-nowrap",children:[e.totalTime.toFixed(1),"s"]}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Pi(e.promptTokens)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Ou(e.prefillSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-primary font-mono align-middle whitespace-nowrap",children:Ou(e.generationSpeed)}),i.jsx("td",{className:"px-2 py-2 text-center text-text-muted font-mono align-middle whitespace-nowrap",children:e.callIndex}),i.jsx("td",{className:"px-2 py-2"})]}),n&&i.jsx("tr",{className:`${t%2===0?"bg-bg-tertiary/5":"bg-bg-tertiary/[2.5%]"}`,children:i.jsx("td",{colSpan:8,className:"px-6 py-1.5 border-l border-border/60",children:i.jsxs("div",{className:"flex flex-wrap gap-x-4 gap-y-1 text-[10px] text-text-muted",children:[e.temperature!==void 0&&i.jsxs("span",{children:["temp: ",e.temperature.toFixed(2)]}),e.topP!==void 0&&i.jsxs("span",{children:["topP: ",e.topP.toFixed(2)]}),e.topK!==void 0&&i.jsxs("span",{children:["topK: ",e.topK]}),e.maxTokens!==void 0&&i.jsxs("span",{children:["maxTok: ",e.maxTokens]})]})})})]})}const KT={passed:{icon:"✓",color:"text-accent-success"},completed:{icon:"◉",color:"text-purple-400"},failed:{icon:"✗",color:"text-accent-error"},resolved:{icon:"✓",color:"text-accent-success"},dismissed:{icon:"–",color:"text-text-muted"},open:{icon:"○",color:"text-accent-warning"},pending:{icon:"○",color:"text-text-muted"},in_progress:{icon:"◌",color:"text-accent-warning"}},YT=["open","in_progress","pending","completed","resolved","dismissed","passed","failed"];function XT(e){return KT[e]??{icon:"○",color:"text-text-muted"}}function S1(e){const t=document.createElement("textarea");return t.innerHTML=e,t.value}const ud=A.memo(function({status:t,className:n="text-xs leading-tight flex-shrink-0"}){const{icon:r,color:o}=XT(t);return i.jsx("span",{className:`${o} ${n}`,children:r})});function _v({entries:e,title:t}){const n=A.useMemo(()=>e.reduce((r,o)=>(r[o.status]=(r[o.status]??0)+1,r),{}),[e]);return i.jsxs("h3",{className:"text-sm font-semibold text-text-primary mb-2 flex items-center justify-between",children:[i.jsx("span",{children:t}),Object.keys(n).length>0&&i.jsx("span",{className:"font-normal text-xs flex items-center gap-1.5",children:YT.map(r=>{const o=n[r];return o?i.jsxs("span",{className:"flex items-center gap-0.5",children:[i.jsx(ud,{status:r}),i.jsx("span",{children:o})]},r):null})})]})}const QT=A.memo(function({entries:t,title:n,onClearAll:r}){const[o,l]=A.useState(!1),u=A.useCallback(()=>{l(!1),r==null||r()},[r]);return t.length===0?null:i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[n&&i.jsx("div",{className:"px-1.5 py-1 border-b border-border bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:n})}),i.jsx("div",{className:"bg-primary",children:t.map((c,d)=>i.jsxs("div",{className:`flex items-start gap-1 px-1.5 py-1 ${d>0?"border-t border-border":""}`,children:[i.jsx(ud,{status:c.status}),i.jsxs("div",{className:"flex-1 min-w-0 text-xs truncate",children:[i.jsxs("span",{className:"text-text-muted",children:["[",c.id,"]"]})," ",S1(c.description)]})]},c.id??d))}),r&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary flex items-center gap-2",children:i.jsxs("button",{onClick:()=>l(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-error transition-colors ml-auto cursor-pointer",title:"Clear all",children:[i.jsx(Xa,{className:"w-3 h-3"}),"Clear all"]})}),o&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[i.jsx("span",{className:"text-xs text-accent-error",children:"Clear all?"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:u,className:"text-xs text-accent-error hover:text-accent-error/70 transition-colors cursor-pointer",children:"Yes"}),i.jsx("button",{onClick:()=>l(!1),className:"text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",children:"No"})]})]})})]})]})});async function w1(e,t,n){t({loading:!0});try{const o=await(await we(e)).json();t({defaults:o.defaults??[],userItems:o.userItems??[],...n?{projectItems:o.projectItems??[]}:{},loading:!1})}catch{t({loading:!1})}}const JT="#6b7280";function _l(e,t){var n;return((n=e.find(r=>r.id===t))==null?void 0:n.color)??JT}const Ct=qn(e=>{const t=async()=>{await w1("/api/agents",e,!0)};return{defaults:[],userItems:[],projectItems:[],loading:!1,fetchAgents:t,fetchAgent:async n=>{try{const r=await we(`/api/agents/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await we(`/api/agents/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createAgent:async(n,r)=>{const o=await ti("POST","/api/agents",{...n,destination:r});return o.success&&await t(),o},updateAgent:async(n,r)=>{const o=await ti("PUT",`/api/agents/${n}`,r);return o.success&&await t(),o},deleteAgent:async n=>{try{const r=await we(`/api/agents/${n}`,{method:"DELETE"}),o=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:o.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateAgent:async(n,r)=>rd(`/api/agents/${n}/duplicate`,t,r)}}),Rt=qn((e,t)=>({defaults:[],userItems:[],projectItems:[],activeWorkflowId:"default",loading:!1,templateVariables:[],fetchTemplateVariables:async()=>{try{const r=await(await we("/api/workflows/template-variables")).json();e({templateVariables:r.variables??[]})}catch{}},fetchWorkflows:async()=>{e({loading:!0});try{const r=await(await we("/api/workflows")).json();e({defaults:r.defaults??[],userItems:r.userItems??[],projectItems:r.projectItems??[],activeWorkflowId:r.activeWorkflowId??"default",loading:!1})}catch{e({loading:!1})}},fetchWorkflow:async n=>{try{const r=await we(`/api/workflows/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await we(`/api/workflows/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createWorkflow:async(n,r)=>{const o=await ti("POST","/api/workflows",{...n,destination:r});return o.success&&await t().fetchWorkflows(),o},updateWorkflow:async(n,r)=>{const o=await ti("PUT",`/api/workflows/${n}`,r);return o.success&&await t().fetchWorkflows(),o},deleteWorkflow:async n=>{try{const r=await we(`/api/workflows/${n}`,{method:"DELETE"}),o=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:o.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateWorkflow:async(n,r)=>rd(`/api/workflows/${n}/duplicate`,()=>t().fetchWorkflows(),r)})),ZT={pending:"completed",completed:"passed",passed:"failed",failed:"pending"};async function eA(e,t){await we(`/api/sessions/${e}/criteria`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({criteria:t})})}function su({id:e,agents:t}){const n=_l(t,e),r=t.find(o=>o.id===e);return i.jsx("span",{className:"font-medium rounded px-1",style:{backgroundColor:`${n}20`,color:n},children:(r==null?void 0:r.name)??e})}function tA({id:e}){const t=Rt(u=>u.defaults),n=Rt(u=>u.userItems),o=A.useMemo(()=>[...t,...n],[t,n]).find(u=>u.id===e),l=(o==null?void 0:o.color)??"#3b82f6";return i.jsx("span",{className:"font-medium rounded px-1",style:{backgroundColor:`${l}20`,color:l},children:(o==null?void 0:o.name)??e})}function nA({entries:e,sessionId:t}){const[n,r]=A.useState(e),[o,l]=A.useState(!1),[u,c]=A.useState(null),[d,f]=A.useState(""),[p,m]=A.useState(""),[x,y]=A.useState(!1),[w,C]=A.useState(!1),v=Ct(X=>X.defaults),S=Ct(X=>X.userItems),_=Ct(X=>X.projectItems),b=A.useMemo(()=>[...v,...S,..._],[v,S,_]),j=A.useRef(null),E=A.useRef(null);A.useEffect(()=>{r(e)},[e]),A.useEffect(()=>{var X;o&&((X=j.current)==null||X.focus())},[o]),A.useEffect(()=>{var X;u&&((X=E.current)==null||X.focus())},[u]);const T=A.useCallback(X=>{r(X),eA(t,X)},[t]),D=A.useCallback(X=>{var B;const z=X.map(ee=>ee.trim()).filter(Boolean);if(z.length===0)return;const R=n.map(ee=>Number(ee.id)).filter(ee=>Number.isInteger(ee)&&ee>=0),M=Math.max(-1,...R)+1,q=z.map((ee,J)=>({id:String(M+J),description:ee,status:"pending"}));T([...n,...q]),f(""),(B=j.current)==null||B.focus()},[n,T]),L=A.useCallback(()=>{D([d])},[D,d]),O=A.useCallback(X=>{const z=X.clipboardData.getData("text/plain").split(/\r\n|\r|\n/);z.length<2||(X.preventDefault(),D(z))},[D]),P=A.useCallback(()=>{l(!1),f("")},[]),G=A.useCallback((X,z)=>{c(X),m(z)},[]),W=A.useCallback(()=>{if(!u)return;const X=p.trim(),z=n.map(R=>R.id===u?{...R,description:X||R.description}:R);T(z),c(null)},[u,p,n,T]),I=A.useCallback(X=>{const z=n.map(R=>R.id===X?{...R,status:ZT[R.status]??"pending"}:R);T(z)},[n,T]),H=A.useCallback(X=>{T(n.filter(z=>z.id!==X))},[n,T]),V=A.useCallback(()=>{T([]),y(!1)},[T]),U=A.useCallback(X=>{X.key==="Enter"&&(X.preventDefault(),L()),X.key==="Escape"&&P()},[L,P]),Q=A.useCallback(X=>{X.key==="Enter"&&W(),X.key==="Escape"&&c(null)},[W]);return i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[i.jsxs("div",{className:"bg-primary",children:[n.length===0&&!o&&i.jsxs("div",{className:"px-1.5 py-2 text-xs text-text-muted italic text-center",children:["No criteria yet."," ",i.jsx("button",{onClick:()=>C(!0),className:"text-accent-primary hover:underline not-italic cursor-pointer",children:"Learn more"})]}),n.map((X,z)=>{const R=X.status,M=u===X.id;return i.jsxs("div",{className:`flex items-start gap-1 px-1.5 py-1 group ${z>0?"border-t border-border":""}`,children:[i.jsx("button",{onClick:()=>I(X.id),className:"text-xs leading-tight flex-shrink-0 cursor-pointer hover:opacity-70 transition-opacity",title:`Status: ${X.status} (click to cycle)`,children:i.jsx(ud,{status:R})}),i.jsx("div",{className:"flex-1 min-w-0",children:M?i.jsx("input",{ref:E,value:p,onChange:q=>m(q.target.value),onBlur:W,onKeyDown:Q,className:"w-full bg-bg-tertiary text-text-primary text-xs px-1.5 py-0.5 rounded border border-border focus:outline-none focus:border-accent-primary"}):i.jsxs("button",{onClick:()=>G(X.id,X.description),className:"text-xs text-text-primary text-left hover:text-accent-primary transition-colors w-full truncate cursor-pointer",title:"Click to edit",children:["[",X.id,"] ",S1(X.description)]})}),i.jsx("button",{onClick:()=>H(X.id),className:"flex-shrink-0 opacity-0 group-hover:opacity-100 text-text-muted hover:text-accent-error transition-all ml-0.5 cursor-pointer flex items-center self-center",title:"Delete criterion",children:i.jsx(Qa,{className:"w-4 h-4"})})]},X.id)})]}),o&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("span",{className:"text-text-muted text-xs leading-tight flex-shrink-0",children:"○"}),i.jsx("input",{ref:j,value:d,onChange:X=>f(X.target.value),onKeyDown:U,onPaste:O,placeholder:"New criterion...",className:"flex-1 bg-bg-tertiary text-text-primary text-xs px-1.5 py-0.5 rounded border border-border focus:outline-none focus:border-accent-primary placeholder-text-muted"})]})}),i.jsxs("div",{className:"px-1.5 py-1 border-t border-border bg-secondary flex items-center gap-2",children:[o?i.jsxs(i.Fragment,{children:[i.jsxs("button",{onClick:L,className:"flex items-center gap-1 text-xs text-accent-primary hover:text-accent-primary/70 transition-colors cursor-pointer",title:"Add criterion",children:[i.jsx(ni,{className:"w-3 h-3"}),"Add"]}),i.jsx("button",{onClick:P,className:"flex items-center gap-1 text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",title:"Cancel",children:"Cancel"})]}):i.jsxs("button",{onClick:()=>l(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-primary transition-colors cursor-pointer",title:"Add criterion",children:[i.jsx(ni,{className:"w-3 h-3"}),"Add"]}),n.length>0&&i.jsxs("button",{onClick:()=>y(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-error transition-colors ml-auto cursor-pointer",title:"Clear all criteria",children:[i.jsx(Xa,{className:"w-3 h-3"}),"Clear all"]}),i.jsx("button",{onClick:()=>C(!0),className:"flex items-center gap-1 text-xs text-text-muted hover:text-accent-primary transition-colors cursor-pointer",title:"About criteria",children:i.jsx(US,{className:"w-3 h-3"})})]}),x&&i.jsx("div",{className:"px-1.5 py-1 border-t border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center gap-2 justify-between",children:[i.jsx("span",{className:"text-xs text-accent-error",children:"Clear all criteria?"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:V,className:"text-xs text-accent-error hover:text-accent-error/70 transition-colors cursor-pointer",children:"Yes"}),i.jsx("button",{onClick:()=>y(!1),className:"text-xs text-text-muted hover:text-text-primary transition-colors cursor-pointer",children:"No"})]})]})}),i.jsx(Ot,{isOpen:w,onClose:()=>C(!1),title:"About Acceptance Criteria",size:"md",children:i.jsxs("div",{className:"space-y-3 text-sm text-text-secondary",children:[i.jsx("p",{children:"Each criterion defines a specific requirement that needs to be met."}),i.jsxs("p",{children:["To use this feature, start in ",i.jsx(su,{id:"planner",agents:b})," mode and",i.jsxs("strong",{className:"text-text-primary",children:[" ","ask the agent to define acceptance criteria that matches your goal"]}),". Then launch the ",i.jsx(tA,{id:"default"})," builtin workflow to launch the automation part."]}),i.jsx("p",{children:"This workflow will automatically:"}),i.jsxs("ol",{className:"list-decimal list-inside space-y-1",children:[i.jsxs("li",{children:["Launch the ",i.jsx(su,{id:"builder",agents:b}),' agent, that will be forced to continue until it marks all criteria as "completed"']}),i.jsxs("li",{children:["Then launch the ",i.jsx(su,{id:"verifier",agents:b})," subagent, that will verify each criterion. If every criterion is fulfilled, then it goes to the next step, otherwise, it gives feedback to the main agent until 100% of the criteria are met."]}),i.jsxs("li",{children:["Launch a ",i.jsx(su,{id:"code_reviewer",agents:b})," subagent, that will analyze the code to provide actionable feedback to the main agent."]})]}),i.jsx("div",{className:"bg-bg-tertiary rounded p-3 space-y-1.5",children:i.jsx("p",{children:"This lets smaller models follow complex plans to completion and improves the chances that nothing from your plan is missed."})})]})})]})}function rA({isOpen:e,onClose:t}){const n=Fr(C=>C.config),r=Fr(C=>C.saveConfig),[o,l]=A.useState(""),[u,c]=A.useState(""),[d,f]=A.useState(!1),[p,m]=A.useState(!1),[x,y]=A.useState(!1);A.useEffect(()=>{e&&(l((n==null?void 0:n.command)??""),c((n==null?void 0:n.url)??""),f((n==null?void 0:n.hotReload)??!1),m((n==null?void 0:n.disableInspect)??!1))},[e,n]);const w=async()=>{!o.trim()||!u.trim()||(y(!0),await r({command:o.trim(),url:u.trim(),hotReload:d,disableInspect:p}),y(!1),t())};return i.jsx(Ot,{isOpen:e,onClose:t,title:"Dev Server Config",size:"sm",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Command"}),i.jsx("input",{className:"input w-full",type:"text",value:o,onChange:C=>l(C.target.value),placeholder:"npm run dev"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Dev URL"}),i.jsx("input",{className:"input w-full",type:"text",value:u,onChange:C=>c(C.target.value),placeholder:"http://localhost:3000"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"checkbox",id:"hotReload",checked:d,onChange:C=>f(C.target.checked),className:"rounded border-border bg-bg-tertiary"}),i.jsx("label",{htmlFor:"hotReload",className:"text-xs text-text-secondary",children:"Hot Reload"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("input",{type:"checkbox",id:"disableInspect",checked:p,onChange:C=>m(C.target.checked),className:"rounded border-border bg-bg-tertiary"}),i.jsx("label",{htmlFor:"disableInspect",className:"text-xs text-text-secondary",children:"Disable inspect feedback"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-2",children:[i.jsx("button",{className:"btn btn-secondary",onClick:t,children:"Cancel"}),i.jsx("button",{className:"btn btn-primary",onClick:w,disabled:x||!o.trim()||!u.trim(),children:x?"Saving...":"Save"})]})]})})}const vv={30:"text-black",31:"text-red-400",32:"text-accent-success",33:"text-accent-warning",34:"text-blue-400",35:"text-purple-400",36:"text-cyan-400",37:"text-gray-300",90:"text-gray-500",91:"text-red-500",92:"text-green-500",93:"text-yellow-400",94:"text-blue-500",95:"text-pink-400",96:"text-cyan-500",97:"text-white"},sA={40:"bg-black",41:"bg-red-900",42:"bg-green-900",43:"bg-yellow-900",44:"bg-blue-900",45:"bg-purple-900",46:"bg-cyan-900",47:"bg-gray-700"},Sv={1:"font-bold",2:"opacity-75",4:"underline",7:"bg-bg-secondary"},iA="text-text-primary";function aA(e){const t=[],n=new RegExp("\x1B\\[([0-9;]+)m","g");let r=0,o="text-text-primary",l;try{for(;(l=n.exec(e))!==null;){if(l.index>r){const f=e.slice(r,l.index);f&&t.push({text:f,className:o})}const u=l[1];if(!u)continue;const c=u.split(";").map(Number);if(c.length===0||c[0]===0){o="text-text-primary";continue}const d=[];for(const f of c)if(f>=30&&f<=37){const p=vv[f];p&&d.push(p)}else if(f>=40&&f<=47){const p=sA[f];p&&d.push(p)}else if(f>=90&&f<=97){const p=vv[f];p&&d.push(p)}else if(f in Sv){const p=Sv[f];p&&d.push(p)}else f===39?d.push(iA):f===49&&(o=o.split(" ").filter(p=>!p.startsWith("bg-")).join(" "));d.length>0&&(o=d.join(" ")),r=n.lastIndex}if(r<e.length){const u=e.slice(r);u&&t.push({text:u,className:o})}return t}catch(u){return console.warn("ANSI parsing failed, stripping codes:",u),[{text:oA(e),className:"text-text-primary"}]}}function oA(e){return e.replace(new RegExp("\x1B\\[([0-9;]+)m","g"),"")}function Iu(e){const t=aA(e),n=[];return t.forEach((r,o)=>{const l=r.text.split(`
|
|
90
|
+
`);l.forEach((u,c)=>{n.push(Xs.createElement("span",{key:`${o}-${c}`,className:r.className,style:{display:"inline-block",whiteSpace:"pre-wrap"}},u)),c<l.length-1&&n.push(Xs.createElement("br",{key:`${o}-${c}-br`}))})}),n.length===1?n[0]:n}function C1({logs:e,preRef:t,preClassName:n="text-sm font-mono"}){return i.jsx("pre",{ref:t,className:n,children:e.length===0?i.jsx("span",{className:"text-text-muted",children:"No output yet"}):e.map((r,o)=>i.jsx("span",{className:r.stream==="stderr"?"text-accent-warning":"",children:Iu(r.content)},o))})}function Up({isActive:e,onToggle:t,className:n,style:r}){return i.jsxs("button",{type:"button",onClick:()=>t(!e),className:n,style:r,children:[e?i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-success"}):i.jsx(Wn,{className:"w-3 h-3"}),e?"live":"scroll to bottom"]})}const dd=(e,t)=>{const n=A.useRef(!0),r=A.useRef(null),[o,l]=A.useState(!0),u=()=>{const c=e.current;c&&(c.scrollTop=c.scrollHeight)};return A.useEffect(()=>{const c=e.current;if(!c)return;const d=y=>{if(y.deltaY>0){requestAnimationFrame(()=>requestAnimationFrame(()=>{c.scrollHeight-c.scrollTop-c.offsetHeight<100&&(n.current=!0,l(!0))}));return}n.current=!1,l(!1)},f=y=>{y.touches[0]&&(r.current=y.touches[0].clientY)},p=y=>{if(r.current===null)return;const w=y.touches[0];if(!w)return;if(w.clientY-r.current>0){n.current=!1,l(!1);return}requestAnimationFrame(()=>requestAnimationFrame(()=>{c.scrollHeight-c.scrollTop-c.offsetHeight<100&&(n.current=!0,l(!0))}))},m=new MutationObserver(()=>{n.current&&requestAnimationFrame(u)}),x=setInterval(()=>{n.current&&u()},1e3);return c.addEventListener("wheel",d,{passive:!0}),c.addEventListener("touchstart",f,{passive:!0}),c.addEventListener("touchmove",p,{passive:!0}),m.observe(c,{childList:!0,subtree:!0,characterData:!0}),()=>{c.removeEventListener("wheel",d),c.removeEventListener("touchstart",f),c.removeEventListener("touchmove",p),m.disconnect(),clearInterval(x)}},[t==null?void 0:t.id]),{force_scroll_to_bottom:()=>{n.current=!0,l(!0),u()},isAutoScrollActive:o,setAutoScroll:c=>{n.current=c,l(c),c&&u()}}},k1=A.memo(function({title:t,logs:n,onClose:r,preClassName:o}){const l=A.useRef(null),{isAutoScrollActive:u,setAutoScroll:c}=dd(l,null);return i.jsx(Ot,{isOpen:!0,onClose:r,title:t,size:"full",headerRight:i.jsx(Up,{isActive:u,onToggle:c,className:"text-xs text-text-muted hover:text-text-primary flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),children:i.jsx("div",{ref:l,className:"h-full overflow-y-auto",children:i.jsx(C1,{logs:n,preClassName:o})})})}),lA=A.memo(function({logs:t,anchorRef:n,isHiding:r,isAutoScrollActive:o,onSetAutoScroll:l}){const[u,c]=A.useState(null),d=A.useRef(null),f=A.useRef(l);return f.current=l,A.useEffect(()=>{var m;const p=(m=n.current)==null?void 0:m.getBoundingClientRect();p&&c({bottom:window.innerHeight-p.bottom,right:window.innerWidth-p.right,width:p.width,height:p.height})},[n]),A.useEffect(()=>{const p=d.current;if(!p)return;const m=x=>{if(x.deltaY<0){f.current(!1);return}x.deltaY>0&&requestAnimationFrame(()=>requestAnimationFrame(()=>{p.scrollHeight-p.scrollTop-p.offsetHeight<100&&f.current(!0)}))};return p.addEventListener("wheel",m,{passive:!0}),()=>p.removeEventListener("wheel",m)},[]),A.useEffect(()=>{d.current&&o&&(d.current.scrollTop=d.current.scrollHeight)},[t,o,u]),i.jsx("div",{className:`relative ${u?"":"hidden"}`,children:i.jsx("pre",{ref:d,className:"fixed z-40 text-sm font-mono text-text-primary bg-bg-primary p-2 rounded border border-border overflow-auto transition-all duration-150 ease-out select-text",style:u?{bottom:u.bottom,right:u.right,width:u.width*2,maxHeight:u.height*3,transformOrigin:"bottom right",transform:r?"scale(0.01)":"scale(1)",opacity:r?0:1}:void 0,children:t.map((p,m)=>i.jsx("span",{className:p.stream==="stderr"?"text-accent-warning":"",children:Iu(p.content)},m))})})}),cA=A.memo(function({workdir:t}){const n=Fr(W=>W.setWorkdir),r=Fr(W=>W.status),o=Fr(W=>W.config),l=Fr(W=>W.logs),u=Fr(W=>W.start),c=Fr(W=>W.stop),d=Fr(W=>W.fetchLogs),[f,p]=A.useState(!1),[m,x]=A.useState(!1),[y,w]=A.useState(!1),[C,v]=A.useState(!1),S=A.useRef(null),{isAutoScrollActive:_,setAutoScroll:b}=dd(S,null),j=A.useRef(null),E=A.useRef(null),T=A.useRef(null),D=()=>{const W=r==null?void 0:r.inspectProxyPort;if(!W){r!=null&&r.url&&window.open(r.url,"_blank");return}const I=`${window.location.protocol}//${window.location.hostname}:${W}`;window.open(I,"_blank")},L=(r==null?void 0:r.state)??"off",O=o!==null,P=L==="running"||L==="warning";A.useEffect(()=>{n(t??null)},[t,n]),A.useEffect(()=>{P&&d()},[P,d]);const G=()=>{P?c():u()};return i.jsxs("div",{className:"mt-2 pt-3 border-t border-border space-y-3",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:`inline-block w-2.5 h-2.5 rounded-full flex-shrink-0 ${L==="running"?"bg-accent-success":L==="warning"?"bg-accent-warning":L==="error"?"bg-accent-error":"bg-text-muted"}`}),i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Dev Server"})]}),i.jsx("button",{onClick:()=>p(!0),className:"p-1.5 rounded hover:bg-bg-tertiary transition-colors text-text-muted",title:"Configure dev server",children:i.jsx(lN,{})})]}),O?i.jsx(i.Fragment,{children:L==="running"||L==="warning"?i.jsxs("div",{className:"flex gap-2",children:[i.jsxs("button",{onClick:G,className:"flex-1 flex items-center justify-center gap-1.5 rounded font-medium text-sm px-3 py-1.5 bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:[i.jsx(WS,{}),"Stop"]}),(r==null?void 0:r.url)&&i.jsxs("button",{onClick:()=>D(),className:"flex-1 flex items-center justify-center gap-1.5 rounded font-medium text-sm px-3 py-1.5 bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 transition-colors",title:r.url,children:[i.jsx(uN,{}),"Open"]})]}):i.jsx("button",{onClick:G,className:"w-full rounded font-medium text-sm px-3 py-1.5 bg-accent-primary/25 text-text-primary hover:bg-accent-primary/40 transition-colors",children:"Start"})}):i.jsx("button",{onClick:()=>p(!0),className:"w-full rounded font-medium text-sm px-3 py-1.5 bg-bg-tertiary text-text-muted hover:bg-border transition-colors",children:"Configure"}),i.jsxs("div",{ref:T,className:`relative ${O&&P?"":"hidden"}`,onMouseEnter:()=>{!O||!P||(E.current&&clearTimeout(E.current),j.current=setTimeout(()=>{w(!0),v(!1)},500))},onMouseLeave:()=>{j.current&&clearTimeout(j.current),v(!0),E.current=setTimeout(()=>w(!1),150)},children:[i.jsx(C1,{logs:l,preRef:S,preClassName:"text-sm bg-bg-primary p-2 rounded overflow-auto max-h-[200px] border border-border"}),O&&P&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"absolute bottom-1 right-1 z-50 flex items-center gap-1",children:[(y||C)&&i.jsx(Up,{isActive:_,onToggle:b,className:"text-xs text-text-muted hover:text-text-primary flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),i.jsx("button",{onClick:()=>x(!0),className:"px-2 py-0.5 rounded text-xs font-medium bg-accent-primary/30 text-text-primary hover:bg-accent-primary/50 transition-colors",children:"Expand"})]}),(y||C)&&T.current&&Ja.createPortal(i.jsx(lA,{logs:l,anchorRef:T,isHiding:C,isAutoScrollActive:_,onSetAutoScroll:b}),document.body)]})]}),i.jsx(rA,{isOpen:f,onClose:()=>p(!1)}),m&&i.jsx(k1,{title:"Dev Server Logs",logs:l,onClose:()=>x(!1)})]})}),uA=A.memo(function({sessionId:t}){var y;const n=hl(w=>w.processes),r=hl(w=>w.stopProcess),[o,l]=A.useState(null),[u,c]=A.useState([]),d=n.filter(w=>w.status!=="exited"),f=d.filter(w=>w.status==="running").length;if(n.length===0)return null;const p=w=>{switch(w){case"running":return"bg-accent-success";case"starting":return"bg-accent-warning";case"stopping":return"bg-accent-warning";case"exited":return"bg-text-muted";default:return"bg-text-muted"}},m=w=>{const C=hl.getState().logs[w]??[];c(C.map(v=>({content:v.content,stream:v.stream}))),l(w)},x=w=>{t&&r(w,t)};return i.jsxs("div",{className:"mt-2 pt-3 border-t border-border space-y-3",children:[i.jsx("div",{className:"flex items-center justify-between",children:i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-full flex-shrink-0 bg-accent-primary"}),i.jsx("h3",{className:"text-sm font-semibold text-text-primary",children:"Background"}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",f," running)"]})]})}),i.jsx("div",{className:"space-y-2",children:d.map(w=>i.jsx("div",{className:"border border-border rounded p-2",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2 min-w-0 flex-1",children:[i.jsx("span",{className:`inline-block w-2 h-2 rounded-full flex-shrink-0 ${p(w.status)}`}),i.jsx("span",{className:"text-sm text-text-primary truncate",title:w.name,children:w.name}),i.jsxs("span",{className:"text-xs text-text-muted",children:["[",w.status,"]"]})]}),i.jsxs("div",{className:"flex gap-1 ml-2",children:[i.jsx("button",{onClick:()=>m(w.id),className:"px-2 py-1 text-xs rounded bg-bg-tertiary hover:bg-border text-text-secondary transition-colors",title:"View logs",children:"Logs"}),i.jsx("button",{onClick:()=>x(w.id),className:"px-2 py-1 text-xs rounded bg-bg-tertiary hover:bg-accent-error/20 text-text-secondary hover:text-accent-error transition-colors",title:"Stop process",children:"Stop"})]})]})},w.id))}),o&&i.jsx(k1,{title:((y=d.find(w=>w.id===o))==null?void 0:y.name)??"",logs:u,onClose:()=>{l(null),c([])}})]})});function dA({isOpen:e,onClose:t,versionInfo:n}){const[r,o]=A.useState("ready"),[l,u]=A.useState(""),[c,d]=A.useState(n),[f,p]=A.useState(null),[m,x]=A.useState(null);A.useEffect(()=>{if(e){if(n){d(n);return}fetch("/api/auto-update/check").then(v=>v.json()).then(v=>{d({current:v.current,latest:v.latest})}).catch(()=>{})}},[e]),A.useEffect(()=>{if(!e||r!=="updating"&&r!=="restarting")return;const v=setInterval(()=>{u(S=>S.length>=3?"":S+".")},400);return()=>clearInterval(v)},[e,r]);const y=A.useCallback(async()=>{o("updating"),x(null);try{const S=await(await we("/api/auto-update",{method:"POST"})).json();if(S.success){const _=S.version??"unknown";p(_),localStorage.setItem("openfox_updated_to",_),localStorage.setItem("update_pending","true"),S.isService?(o("restarting"),await we("/api/auto-update/restart",{method:"POST"}).catch(()=>{}),setTimeout(()=>window.location.reload(),5e3)):o("complete")}else x(S.error??"Update failed"),o("failed")}catch(v){x(v instanceof Error?v.message:"Update request failed"),o("failed")}},[]);A.useEffect(()=>{e&&(o("ready"),u(""),p(null),x(null))},[e]);const w=r!=="updating"&&r!=="restarting",C=r==="failed"?"Update Failed":r==="complete"||r==="restarting"?"Update Complete":"New OpenFox Version Available";return i.jsxs(Ot,{isOpen:e,onClose:w?t:void 0,title:C,size:"sm",closeOnBackdropClick:w,showCloseButton:w,children:[i.jsxs("div",{className:"flex flex-col gap-4",children:[c&&i.jsxs("div",{className:"flex justify-between text-sm",children:[i.jsx("span",{className:"text-text-muted",children:"Current version"}),i.jsx("span",{className:"text-text-primary font-mono",children:c.current})]}),c&&i.jsxs("div",{className:"flex justify-between text-sm pb-2",children:[i.jsx("span",{className:"text-text-muted",children:"Latest version"}),i.jsx("span",{className:"text-accent-primary font-mono font-semibold",children:c.latest})]}),(r==="updating"||r==="restarting")&&i.jsxs("div",{className:"flex flex-col gap-2 mt-2",children:[i.jsx("div",{className:"h-1.5 bg-bg-tertiary rounded-full overflow-hidden",children:i.jsx("div",{className:"h-full bg-accent-primary animate-pulse w-full"})}),i.jsxs("p",{className:"text-xs text-text-muted text-center",children:[r==="restarting"?"Restarting":"Updating",l]})]}),r==="complete"&&i.jsx("div",{className:"flex flex-col gap-3 mt-2",children:i.jsxs("div",{className:"bg-bg-tertiary rounded px-3 py-2 text-xs text-text-secondary",children:["OpenFox has been updated to v",f??(c==null?void 0:c.latest),"."," Please restart OpenFox to use the new version."]})}),r==="failed"&&i.jsxs("div",{className:"flex flex-col gap-3 mt-2",children:[i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-accent-danger/10 border border-accent-danger/30 rounded text-xs",children:[i.jsx("span",{children:"⚠️"}),i.jsx("p",{className:"text-text-secondary",children:m})]}),i.jsx("div",{className:"bg-bg-tertiary rounded px-3 py-2 text-xs font-mono text-text-secondary",children:"openfox update"}),i.jsx("p",{className:"text-xs text-text-muted",children:"Run this command in your terminal to complete the update."})]})]}),r==="ready"&&i.jsx("button",{onClick:y,className:"w-full px-3 py-2 text-sm rounded bg-accent-primary hover:brightness-110 transition-all text-white font-medium",children:"Update OpenFox"}),(r==="complete"||r==="failed")&&i.jsx("button",{onClick:t,className:"w-full px-3 py-2 text-sm rounded bg-bg-tertiary hover:bg-bg-secondary transition-colors text-text-primary font-medium mt-2",children:"Close"})]})}function hA({file:e}){const t=s1(e.path,28),n=e.status==="added"?"text-accent-success":e.status==="deleted"?"text-accent-error":"text-accent-primary",r=e.status==="added"?`+${e.additions}`:e.status==="deleted"?`-${e.deletions}`:e.additions>0||e.deletions>0?`+${e.additions}, -${e.deletions}`:"";return i.jsxs("div",{className:"flex items-center justify-between gap-1 py-0.5 text-xs min-w-0",children:[i.jsx("span",{className:`truncate ${n}`,title:e.path,children:t}),r&&i.jsx("span",{className:`shrink-0 font-mono${e.status==="added"?" text-accent-success":e.status==="deleted"?" text-accent-error":" text-text-muted"}`,children:r})]})}function fA(){const{diff:e}=_1();return e.loading?i.jsx("div",{className:"mt-3",children:i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-muted",children:[i.jsx("span",{className:"w-3 h-3 border border-border border-t-accent-primary rounded-full animate-spin"}),i.jsx("span",{children:"Checking changes..."})]})}):e.files.length===0?i.jsx("div",{className:"mt-3",children:i.jsx("p",{className:"text-xs text-text-muted text-center",children:"No changes"})}):i.jsx("div",{className:"mt-3 max-h-[150px] overflow-y-auto",children:i.jsx("div",{className:"pr-1",children:e.files.map((t,n)=>i.jsx(hA,{file:t},n))})})}function mA({isOpen:e,onClose:t,projectId:n,sessionId:r,currentBranch:o,hasWorktree:l,worktreeBranch:u}){const c=Le(Q=>Q.loadSession),[d,f]=A.useState([]),[p,m]=A.useState([]),[x,y]=A.useState(null),[w,C]=A.useState(null),[v,S]=A.useState("feature/"),[_,b]=A.useState("worktree"),[j,E]=A.useState(!1),[T,D]=A.useState(null),[L,O]=A.useState(!1);A.useEffect(()=>{e&&(D(null),E(!1),y(null),C(null),S("feature/"),b("worktree"),O(!0),Promise.all([we(`/api/projects/${n}/branches`).then(Q=>Q.json()),we(`/api/projects/${n}/worktrees`).then(Q=>Q.json())]).then(([Q,X])=>{f(Q.branches),m(X.worktrees),O(!1)}).catch(()=>{f([]),m([]),O(!1)}))},[e,n]);const P=new Set(p.map(Q=>Q.branch)),G=d.filter(Q=>!P.has(Q.name)),W=A.useCallback(async()=>{D(null),E(!0);try{if(l){const Q=await we(`/api/sessions/${r}/close-worktree`,{method:"POST"});if(!Q.ok){const X=await Q.json().catch(()=>({error:"Failed to close worktree"}));D(X.error),E(!1);return}await c(r),t();return}if(w){const Q=await we(`/api/sessions/${r}/attach-worktree`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:w.path})});if(!Q.ok){const X=await Q.json().catch(()=>({error:"Failed to attach worktree"}));D(X.error),E(!1);return}await c(r),t();return}if(x){const Q=await we(`/api/projects/${n}/checkout`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({branch:x})});if(!Q.ok){const X=await Q.json().catch(()=>({error:"Failed to switch branch"}));D(X.error),E(!1);return}await c(r),t();return}if(v.trim()){if(_==="worktree"){const Q=await we(`/api/sessions/${r}/worktree`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:v.trim()})});if(!Q.ok){const X=await Q.json().catch(()=>({error:"Failed to create worktree"}));D(X.error),E(!1);return}}else{const Q=await we(`/api/projects/${n}/checkout-new`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:v.trim()})});if(!Q.ok){const X=await Q.json().catch(()=>({error:"Failed to create branch"}));D(X.error),E(!1);return}}await c(r),t();return}D("Select a branch or enter a name"),E(!1)}catch(Q){D(Q instanceof Error?Q.message:"Operation failed"),E(!1)}},[l,x,w,v,_,n,r,c,t]),I=A.useCallback(()=>{j||t()},[j,t]),H=l?"Close Worktree":w?"Switch to Worktree":x?"Switch":_==="worktree"?"Create Worktree":"Create Branch",V=!l&&!x&&!w&&!v.trim()||j,U=i.jsxs("div",{className:"flex gap-2 justify-end",children:[i.jsx("button",{onClick:I,className:"px-4 py-2 text-sm rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary transition-colors",children:"Cancel"}),i.jsx("button",{onClick:W,disabled:V,className:"px-4 py-2 text-sm rounded bg-accent-primary text-white hover:opacity-90 transition-colors disabled:opacity-50",children:H})]});return i.jsx(Ot,{isOpen:e,onClose:I,title:"Switch Branch",size:"md",footer:U,children:L||j?i.jsx("div",{className:"flex items-center justify-center py-8",children:i.jsx(ri,{})}):l?i.jsxs("div",{children:[i.jsxs("p",{className:"text-sm text-text-muted mb-2",children:["Working in worktree: ",i.jsx(Ia,{className:"inline-block w-4 h-4 mx-1 align-text-bottom"}),i.jsx("span",{className:"font-mono text-text-secondary",children:u??o})]}),i.jsx("p",{className:"text-sm text-text-muted mb-4",children:"Close the worktree first to switch branches."}),T&&i.jsx("p",{className:"text-sm text-accent-error bg-accent-error/10 p-2 rounded",children:T})]}):i.jsxs("div",{children:[i.jsxs("p",{className:"text-sm text-text-muted mb-3",children:["Currently on: ",i.jsx(Ia,{className:"inline-block w-4 h-4 mx-1 align-text-bottom"}),i.jsx("span",{className:"font-mono text-text-secondary",children:o})]}),G.length>0&&i.jsxs("div",{className:"mb-4",children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:"Existing branches"}),i.jsx("div",{className:"max-h-32 overflow-y-auto space-y-0.5 bg-bg-tertiary/30 rounded p-2",children:G.map(Q=>i.jsxs("button",{onClick:()=>{y(Q.current?null:Q.name),C(null),S("feature/")},className:`w-full text-left px-3 py-1.5 text-sm rounded transition-colors flex items-center gap-2 ${x===Q.name?"bg-accent-primary/20 text-accent-primary":Q.current?"bg-bg-tertiary text-text-muted cursor-default":"hover:bg-bg-tertiary text-text-secondary"}`,disabled:Q.current,children:[i.jsx(Ia,{className:"w-3.5 h-3.5 shrink-0"}),i.jsx("span",{className:"font-mono truncate",children:Q.name}),Q.current&&i.jsx("span",{className:"ml-auto text-xs text-text-muted",children:"(current)"})]},Q.name))})]}),p.length>0&&i.jsxs("div",{className:"mb-4",children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:"Existing worktrees"}),i.jsx("div",{className:"max-h-32 overflow-y-auto space-y-0.5 bg-bg-tertiary/30 rounded p-2",children:p.map(Q=>i.jsxs("button",{onClick:()=>{C((w==null?void 0:w.path)===Q.path?null:Q),y(null),S("feature/")},className:`w-full text-left px-3 py-1.5 text-sm rounded transition-colors flex items-center gap-2 ${(w==null?void 0:w.path)===Q.path?"bg-accent-primary/20 text-accent-primary":"hover:bg-bg-tertiary text-text-secondary"}`,children:[i.jsx(Ia,{className:"w-3.5 h-3.5 shrink-0"}),i.jsx("span",{className:"font-mono truncate",children:Q.branch}),i.jsx("span",{className:"ml-auto text-xs text-text-muted truncate max-w-[120px]",title:Q.path,children:Q.path.split("/worktrees/")[1]??Q.path})]},Q.path))})]}),i.jsxs("div",{className:"mb-4",children:[i.jsx("p",{className:"text-sm font-medium text-text-primary mb-2",children:"Or create new"}),i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 rounded border border-border bg-bg-primary focus-within:border-accent-primary mb-3",children:[i.jsx(Ia,{className:"w-4 h-4 shrink-0 text-text-muted"}),i.jsx("input",{type:"text",value:v,onChange:Q=>{S(Q.target.value),y(null),C(null)},placeholder:"feature/my-branch",className:"flex-1 bg-transparent text-sm text-text-primary outline-none font-mono placeholder-text-muted"})]}),i.jsxs("div",{className:"flex gap-4",children:[i.jsxs("label",{className:"flex items-center gap-2 text-sm text-text-secondary cursor-pointer",children:[i.jsx("input",{type:"radio",name:"createType",value:"branch",checked:_==="branch",onChange:()=>b("branch"),className:"text-accent-primary"}),"Branch"]}),i.jsxs("label",{className:"flex items-center gap-2 text-sm text-text-secondary cursor-pointer",children:[i.jsx("input",{type:"radio",name:"createType",value:"worktree",checked:_==="worktree",onChange:()=>b("worktree"),className:"text-accent-primary"}),"Worktree"]})]})]}),T&&i.jsx("p",{className:"text-sm text-accent-error bg-accent-error/10 p-2 rounded",children:T})]})})}function wv({messages:e,workdir:t}){var _,b,j,E;const[n,r]=A.useState(!1),[o,l]=A.useState(!1),[u,c]=A.useState(!1),[d,f]=A.useState(!1),[p,m]=A.useState(!1),x=RT(e),{branch:y}=_1(),w=un(T=>T.version),C=Le(T=>T.currentSession),v=!!(C!=null&&C.worktree),S=A.useCallback(async()=>{l(!0);try{const T=await fetch("/api/auto-update/check");if(T.ok){const D=await T.json();c(D.isUpdateAvailable)}}catch{}finally{l(!1)}},[]);return A.useEffect(()=>{S()},[S]),i.jsxs("div",{className:"flex flex-col h-full",children:[x&&i.jsxs("div",{className:"mb-4",children:[i.jsx("button",{onClick:()=>r(!0),className:"w-full flex items-center justify-center px-3 py-2 rounded bg-bg-tertiary hover:bg-bg-secondary transition-colors",title:"View detailed response and call-level stats",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[i.jsx("span",{className:"text-text-secondary",children:OT(x.aiTime)}),i.jsx("span",{className:"w-px h-3 bg-border"}),i.jsx("span",{className:"text-text-secondary",children:gv(x.avgPrefillSpeed)}),i.jsx("span",{children:"pp"}),i.jsx("span",{className:"w-px h-3 bg-border"}),i.jsx("span",{className:"text-text-secondary",children:gv(x.avgGenerationSpeed)}),i.jsx("span",{children:"tg"})]})}),i.jsx(GT,{isOpen:n,onClose:()=>r(!1),stats:x})]}),i.jsx("div",{className:"flex flex-col flex-1 overflow-y-auto",children:i.jsxs("div",{className:"mt-4",children:[i.jsx(_v,{entries:((_=C==null?void 0:C.metadataEntries)==null?void 0:_.criteria)??[],title:"Acceptance Criteria"}),C&&i.jsx(nA,{entries:((b=C==null?void 0:C.metadataEntries)==null?void 0:b.criteria)??[],sessionId:C.id}),C&&(((E=(j=C.metadataEntries)==null?void 0:j.review_findings)==null?void 0:E.length)??0)>0&&i.jsxs("div",{className:"mt-6",children:[i.jsx(_v,{entries:C.metadataEntries.review_findings,title:"Review Findings"}),i.jsx(QT,{entries:C.metadataEntries.review_findings,onClearAll:async()=>{try{await we(`/api/sessions/${C.id}/review-findings`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({review_findings:[]})})}catch(T){console.error("Failed to clear review findings:",T)}}})]})]})}),y&&i.jsx("div",{className:"mt-4",children:i.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[i.jsx(Ia,{}),i.jsx("span",{className:"truncate text-text-secondary",title:y,children:y}),v&&i.jsx("span",{className:"text-xs text-accent-primary ml-1 font-medium",children:"worktree"}),i.jsx("button",{onClick:()=>m(!0),className:"ml-auto px-2 py-0.5 text-xs rounded bg-bg-tertiary text-text-secondary hover:bg-bg-secondary transition-colors",children:"Edit"})]})}),i.jsx(fA,{}),i.jsx(cA,{workdir:t}),i.jsx(uA,{sessionId:C==null?void 0:C.id}),w&&i.jsxs("div",{className:"mt-4 pt-4 border-t border-border text-center text-xs text-text-muted",children:[i.jsxs("div",{className:"flex items-center justify-center gap-1",children:[i.jsx("a",{href:"https://github.com/co-l/openfox",target:"_blank",rel:"noopener noreferrer",className:"hover:text-accent-primary transition-colors",children:"OpenFox"})," - ",i.jsxs("span",{className:"font-mono",children:["v",w]}),i.jsx("button",{onClick:()=>S(),disabled:o,className:"p-0.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors disabled:opacity-50",title:"Check for updates",children:i.jsx(Mp,{className:`w-3 h-3 ${o?"animate-spin":""}`})})]}),u&&i.jsx("button",{onClick:()=>f(!0),className:"text-accent-primary hover:underline mt-1",children:"Update OpenFox →"})]}),i.jsx(dA,{isOpen:d,onClose:()=>f(!1),versionInfo:null}),C&&i.jsx(mA,{isOpen:p,onClose:()=>m(!1),projectId:C.projectId,sessionId:C.id,currentBranch:y,hasWorktree:v,worktreeBranch:y})]})}function pA({children:e,criteriaSidebarOpen:t=!0,onCriteriaSidebarToggle:n,messages:r}){const o=Le(l=>l.currentSession);return i.jsxs("div",{className:"relative h-full overflow-hidden",children:[t&&i.jsx("div",{className:"fixed md:hidden inset-0 bg-secondary/50 z-40",onClick:n}),i.jsxs("div",{className:"flex h-full",children:[i.jsx("div",{className:"flex-1 min-w-0 flex flex-col overflow-hidden bg-secondary",children:e}),t?i.jsx("aside",{className:"hidden md:block w-[320px] shrink-0 border-l border-border p-4 overflow-y-auto bg-secondary",children:i.jsx(wv,{messages:r,workdir:(o==null?void 0:o.worktree)??(o==null?void 0:o.workdir)})}):i.jsx("aside",{className:"hidden md:block w-0 shrink-0 overflow-hidden border-l-0"}),i.jsx("aside",{className:`
|
|
91
|
+
md:hidden
|
|
92
|
+
p-4 overflow-y-auto bg-secondary
|
|
93
|
+
transition-all duration-300 ease-in-out
|
|
94
|
+
fixed right-0 top-[32px] h-[calc(100vh-32px)] z-50
|
|
95
|
+
${t?"w-[320px] translate-x-0 border-l border-border":"w-[320px] translate-x-full"}
|
|
96
|
+
`,children:i.jsx(wv,{messages:r,workdir:(o==null?void 0:o.worktree)??(o==null?void 0:o.workdir)})})]})]})}function gA(e,t){return t||e>85?"bg-accent-error":e>60?"bg-accent-warning":"bg-accent-success"}function E1({percent:e,dangerZone:t=!1,size:n="md",className:r=""}){const o=n==="sm"?"w-12":"w-20",l=n==="sm"?"h-1":"h-1.5";return i.jsx("div",{className:`${l} bg-bg-tertiary rounded-full overflow-hidden ${o} ${r}`,children:i.jsx("div",{className:`h-full transition-all duration-300 ${gA(e,t)}`,style:{width:`${Math.min(e,100)}%`}})})}function xA({dangerZone:e,size:t="md"}){return e?i.jsx("span",{className:"text-accent-error animate-pulse text-[10px] font-medium",children:"Low!"}):null}function Cv(e,t){return t||e>85?"text-accent-error":e>60?"text-accent-warning":"text-text-muted"}function yA(){const e=Le(_=>_.contextState),t=Le(_=>_.currentSession),n=Le(_=>_.compactContext),[r,o]=A.useState(!1),[l,u]=A.useState(!1),[c,d]=A.useState(!1),f=A.useRef(!1);if(A.useEffect(()=>{e!=null&&e.dynamicContextChanged&&!f.current&&u(!1),f.current=(e==null?void 0:e.dynamicContextChanged)??!1},[e==null?void 0:e.dynamicContextChanged]),!e||!t)return null;const{currentTokens:p,maxTokens:m,compactionCount:x,dangerZone:y,dynamicContextChanged:w}=e,C=Math.round(p/m*100),v=t.isRunning,S=()=>{Xt.send("context.applyDynamic",{}),u(!0)};return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex-shrink-0 px-4 py-1.5 border-b border-border bg-secondary",children:i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsx("div",{className:"flex-1"}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:Cv(C,y),children:[Ru(p)," / ",Ru(m)]}),i.jsxs("span",{className:Cv(C,y),children:["(",C,"%)"]}),i.jsx(E1,{percent:C,dangerZone:y}),i.jsx(xA,{dangerZone:y}),x>0&&i.jsxs("span",{className:"text-[10px] text-text-muted bg-bg-tertiary px-1 py-0.5 rounded",children:[x,"x"]})]}),i.jsx("div",{className:"flex-1 flex justify-end",children:i.jsxs("div",{className:"relative",children:[i.jsx("button",{onClick:()=>o(!r),className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"More options",children:i.jsx(FS,{})}),r&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"fixed inset-0 z-40",onClick:()=>o(!1)}),i.jsxs("div",{className:"absolute right-0 top-full mt-1.5 z-50 bg-bg-secondary border border-border rounded-lg shadow-xl py-1 min-w-[160px]",children:[i.jsx("button",{onClick:()=>{v||n(),o(!1)},disabled:v,className:"w-full px-3 py-1.5 text-left text-sm hover:bg-bg-tertiary transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:v?"Cannot compact while running":"Compact context",children:i.jsx("span",{className:y?"text-accent-error":"",children:"Compact"})}),w&&i.jsx("button",{onClick:()=>{o(!1),d(!0)},disabled:v,className:"w-full px-3 py-1.5 text-left text-sm hover:bg-bg-tertiary transition-colors disabled:opacity-40 disabled:cursor-not-allowed",title:v?"Cannot apply while running":"Apply dynamic context",children:i.jsx("span",{className:"text-accent-warning",children:"Update system prompt"})})]})]})]})})]})}),w&&!l&&i.jsx("div",{className:"flex-shrink-0 px-4 py-2 bg-accent-warning/10 border-b border-accent-warning/30",children:i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex-1 flex items-center justify-center gap-1 text-sm text-text-secondary",children:[i.jsx("span",{children:"System prompt has changed —"}),i.jsx("button",{onClick:()=>d(!0),className:"underline hover:text-text-primary transition-colors",children:"click here to update it"})]}),i.jsx("button",{onClick:()=>u(!0),className:"flex-shrink-0 p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors",title:"Dismiss",children:i.jsx(Qa,{})})]})}),i.jsxs(Ot,{isOpen:c,onClose:()=>d(!1),title:"Update system prompt",size:"sm",children:[i.jsx("p",{className:"text-sm text-text-secondary mb-4",children:"Applying the new system prompt will rebuild the cached prompt, which may cause the next response to take longer while the LLM reprocesses the prefix."}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{onClick:()=>d(!1),className:"px-3 py-1.5 text-sm rounded bg-bg-tertiary text-text-primary hover:bg-border transition-colors",children:"Cancel"}),i.jsx("button",{onClick:()=>{S(),d(!1)},disabled:v,className:"px-3 py-1.5 text-sm rounded bg-accent-primary text-white hover:opacity-90 transition-colors disabled:opacity-40 disabled:cursor-not-allowed",children:"Update"})]})]})]})}function bA({stats:e,onClose:t}){var n;return i.jsx(Ot,{isOpen:!0,onClose:t,title:"Turn Stats",size:"md",children:i.jsxs("div",{className:"space-y-4",children:[i.jsx("div",{className:"flex items-center gap-3",children:i.jsxs("p",{className:"text-xs text-text-muted",children:[e.model," · ",e.mode]})}),i.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 gap-3",children:[i.jsx(iu,{label:"Total Time",value:`${e.totalTime.toFixed(1)}s`}),i.jsx(iu,{label:"Prefill",value:e.prefillTokens>=1e3?`${(e.prefillTokens/1e3).toFixed(1)}k`:String(e.prefillTokens)}),i.jsx(iu,{label:"Generated",value:e.generationTokens>=1e3?`${(e.generationTokens/1e3).toFixed(1)}k`:String(e.generationTokens)}),i.jsx(iu,{label:"LLM Calls",value:String(((n=e.llmCalls)==null?void 0:n.length)??1)})]}),e.llmCalls&&e.llmCalls.length>0&&i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-secondary mb-2",children:"LLM Calls"}),e.llmCalls.map((r,o)=>i.jsxs("div",{className:"bg-bg-tertiary/30 rounded p-3 mb-2",children:[i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsxs("span",{className:"text-xs text-text-muted",children:["Call ",o+1]}),i.jsxs("span",{className:"text-xs text-text-muted",children:[r.ttft.toFixed(2),"s TTFT · ",r.completionTime.toFixed(2),"s gen"]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 text-xs",children:[i.jsxs("div",{children:[i.jsx("span",{className:"text-text-muted",children:"Tokens:"})," ",i.jsxs("span",{className:"text-text-primary",children:[r.promptTokens," → ",r.completionTokens]})]}),i.jsxs("div",{className:"flex flex-wrap gap-x-2 gap-y-1",children:[r.temperature!==void 0&&i.jsx(au,{label:"temp",value:r.temperature.toFixed(2)}),r.topP!==void 0&&i.jsx(au,{label:"topP",value:r.topP.toFixed(2)}),r.topK!==void 0&&i.jsx(au,{label:"topK",value:String(r.topK)}),r.maxTokens!==void 0&&i.jsx(au,{label:"maxTok",value:String(r.maxTokens)})]})]})]},o))]})]})})}function iu({label:e,value:t}){return i.jsxs("div",{className:"bg-bg-tertiary/50 rounded p-3",children:[i.jsx("div",{className:"text-xs text-text-muted",children:e}),i.jsx("div",{className:"text-lg font-semibold text-text-primary",children:t})]})}function au({label:e,value:t}){return i.jsxs("span",{className:"bg-bg-tertiary px-1.5 py-0.5 rounded text-text-primary",children:[i.jsxs("span",{className:"text-text-muted",children:[e,":"]})," ",t]})}function _A(e,t){const n={};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}const vA=/^[$_\p{ID_Start}][$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,SA=/^[$_\p{ID_Start}][-$_\u{200C}\u{200D}\p{ID_Continue}]*$/u,wA={};function kv(e,t){return(wA.jsx?SA:vA).test(e)}const CA=/[ \t\n\f\r]/g;function kA(e){return typeof e=="object"?e.type==="text"?Ev(e.value):!1:Ev(e)}function Ev(e){return e.replace(CA,"")===""}let Ol=class{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}};Ol.prototype.normal={};Ol.prototype.property={};Ol.prototype.space=void 0;function j1(e,t){const n={},r={};for(const o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new Ol(n,r,t)}function Zm(e){return e.toLowerCase()}let Kn=class{constructor(t,n){this.attribute=n,this.property=t}};Kn.prototype.attribute="";Kn.prototype.booleanish=!1;Kn.prototype.boolean=!1;Kn.prototype.commaOrSpaceSeparated=!1;Kn.prototype.commaSeparated=!1;Kn.prototype.defined=!1;Kn.prototype.mustUseProperty=!1;Kn.prototype.number=!1;Kn.prototype.overloadedBoolean=!1;Kn.prototype.property="";Kn.prototype.spaceSeparated=!1;Kn.prototype.space=void 0;let EA=0;const dt=Hi(),ln=Hi(),ep=Hi(),De=Hi(),$t=Hi(),Ua=Hi(),ir=Hi();function Hi(){return 2**++EA}const tp=Object.freeze(Object.defineProperty({__proto__:null,boolean:dt,booleanish:ln,commaOrSpaceSeparated:ir,commaSeparated:Ua,number:De,overloadedBoolean:ep,spaceSeparated:$t},Symbol.toStringTag,{value:"Module"})),lm=Object.keys(tp);let Fp=class extends Kn{constructor(t,n,r,o){let l=-1;if(super(t,n),jv(this,"space",o),typeof r=="number")for(;++l<lm.length;){const u=lm[l];jv(this,lm[l],(r&tp[u])===tp[u])}}};Fp.prototype.defined=!0;function jv(e,t,n){n&&(e[t]=n)}function Za(e){const t={},n={};for(const[r,o]of Object.entries(e.properties)){const l=new Fp(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),t[r]=l,n[Zm(r)]=r,n[Zm(l.attribute)]=r}return new Ol(t,n,e.space)}const N1=Za({properties:{ariaActiveDescendant:null,ariaAtomic:ln,ariaAutoComplete:null,ariaBusy:ln,ariaChecked:ln,ariaColCount:De,ariaColIndex:De,ariaColSpan:De,ariaControls:$t,ariaCurrent:null,ariaDescribedBy:$t,ariaDetails:null,ariaDisabled:ln,ariaDropEffect:$t,ariaErrorMessage:null,ariaExpanded:ln,ariaFlowTo:$t,ariaGrabbed:ln,ariaHasPopup:null,ariaHidden:ln,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:$t,ariaLevel:De,ariaLive:null,ariaModal:ln,ariaMultiLine:ln,ariaMultiSelectable:ln,ariaOrientation:null,ariaOwns:$t,ariaPlaceholder:null,ariaPosInSet:De,ariaPressed:ln,ariaReadOnly:ln,ariaRelevant:null,ariaRequired:ln,ariaRoleDescription:$t,ariaRowCount:De,ariaRowIndex:De,ariaRowSpan:De,ariaSelected:ln,ariaSetSize:De,ariaSort:null,ariaValueMax:De,ariaValueMin:De,ariaValueNow:De,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function T1(e,t){return t in e?e[t]:t}function A1(e,t){return T1(e,t.toLowerCase())}const jA=Za({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Ua,acceptCharset:$t,accessKey:$t,action:null,allow:null,allowFullScreen:dt,allowPaymentRequest:dt,allowUserMedia:dt,alt:null,as:null,async:dt,autoCapitalize:null,autoComplete:$t,autoFocus:dt,autoPlay:dt,blocking:$t,capture:null,charSet:null,checked:dt,cite:null,className:$t,cols:De,colSpan:null,content:null,contentEditable:ln,controls:dt,controlsList:$t,coords:De|Ua,crossOrigin:null,data:null,dateTime:null,decoding:null,default:dt,defer:dt,dir:null,dirName:null,disabled:dt,download:ep,draggable:ln,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:dt,formTarget:null,headers:$t,height:De,hidden:ep,high:De,href:null,hrefLang:null,htmlFor:$t,httpEquiv:$t,id:null,imageSizes:null,imageSrcSet:null,inert:dt,inputMode:null,integrity:null,is:null,isMap:dt,itemId:null,itemProp:$t,itemRef:$t,itemScope:dt,itemType:$t,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:dt,low:De,manifest:null,max:null,maxLength:De,media:null,method:null,min:null,minLength:De,multiple:dt,muted:dt,name:null,nonce:null,noModule:dt,noValidate:dt,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:dt,optimum:De,pattern:null,ping:$t,placeholder:null,playsInline:dt,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:dt,referrerPolicy:null,rel:$t,required:dt,reversed:dt,rows:De,rowSpan:De,sandbox:$t,scope:null,scoped:dt,seamless:dt,selected:dt,shadowRootClonable:dt,shadowRootDelegatesFocus:dt,shadowRootMode:null,shape:null,size:De,sizes:null,slot:null,span:De,spellCheck:ln,src:null,srcDoc:null,srcLang:null,srcSet:null,start:De,step:null,style:null,tabIndex:De,target:null,title:null,translate:null,type:null,typeMustMatch:dt,useMap:null,value:ln,width:De,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:$t,axis:null,background:null,bgColor:null,border:De,borderColor:null,bottomMargin:De,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:dt,declare:dt,event:null,face:null,frame:null,frameBorder:null,hSpace:De,leftMargin:De,link:null,longDesc:null,lowSrc:null,marginHeight:De,marginWidth:De,noResize:dt,noHref:dt,noShade:dt,noWrap:dt,object:null,profile:null,prompt:null,rev:null,rightMargin:De,rules:null,scheme:null,scrolling:ln,standby:null,summary:null,text:null,topMargin:De,valueType:null,version:null,vAlign:null,vLink:null,vSpace:De,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:dt,disableRemotePlayback:dt,prefix:null,property:null,results:De,security:null,unselectable:null},space:"html",transform:A1}),NA=Za({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",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:ir,accentHeight:De,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:De,amplitude:De,arabicForm:null,ascent:De,attributeName:null,attributeType:null,azimuth:De,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:De,by:null,calcMode:null,capHeight:De,className:$t,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:De,diffuseConstant:De,direction:null,display:null,dur:null,divisor:De,dominantBaseline:null,download:dt,dx:null,dy:null,edgeMode:null,editable:null,elevation:De,enableBackground:null,end:null,event:null,exponent:De,externalResourcesRequired:null,fill:null,fillOpacity:De,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:Ua,g2:Ua,glyphName:Ua,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:De,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:De,horizOriginX:De,horizOriginY:De,id:null,ideographic:De,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:De,k:De,k1:De,k2:De,k3:De,k4:De,kernelMatrix:ir,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:De,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:De,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:De,overlineThickness:De,paintOrder:null,panose1:null,path:null,pathLength:De,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:$t,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:De,pointsAtY:De,pointsAtZ:De,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ir,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ir,rev:ir,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ir,requiredFeatures:ir,requiredFonts:ir,requiredFormats:ir,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:De,specularExponent:De,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:De,strikethroughThickness:De,string:null,stroke:null,strokeDashArray:ir,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:De,strokeOpacity:De,strokeWidth:null,style:null,surfaceScale:De,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ir,tabIndex:De,tableValues:null,target:null,targetX:De,targetY:De,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ir,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:De,underlineThickness:De,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:De,values:null,vAlphabetic:De,vMathematical:De,vectorEffect:null,vHanging:De,vIdeographic:De,version:null,vertAdvY:De,vertOriginX:De,vertOriginY:De,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:De,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:T1}),L1=Za({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()}}),D1=Za({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:A1}),R1=Za({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),TA={classId:"classID",dataType:"datatype",itemId:"itemID",strokeDashArray:"strokeDasharray",strokeDashOffset:"strokeDashoffset",strokeLineCap:"strokeLinecap",strokeLineJoin:"strokeLinejoin",strokeMiterLimit:"strokeMiterlimit",typeOf:"typeof",xLinkActuate:"xlinkActuate",xLinkArcRole:"xlinkArcrole",xLinkHref:"xlinkHref",xLinkRole:"xlinkRole",xLinkShow:"xlinkShow",xLinkTitle:"xlinkTitle",xLinkType:"xlinkType",xmlnsXLink:"xmlnsXlink"},AA=/[A-Z]/g,Nv=/-[a-z]/g,LA=/^data[-\w.:]+$/i;function DA(e,t){const n=Zm(t);let r=t,o=Kn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&LA.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(Nv,OA);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!Nv.test(l)){let u=l.replace(AA,RA);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}o=Fp}return new o(r,t)}function RA(e){return"-"+e.toLowerCase()}function OA(e){return e.charAt(1).toUpperCase()}const IA=j1([N1,jA,L1,D1,R1],"html"),Vp=j1([N1,NA,L1,D1,R1],"svg");function MA(e){return e.join(" ").trim()}var ja={},cm,Tv;function PA(){if(Tv)return cm;Tv=1;var e=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,t=/\n/g,n=/^\s*/,r=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,o=/^:\s*/,l=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,u=/^[;\s]*/,c=/^\s+|\s+$/g,d=`
|
|
97
|
+
`,f="/",p="*",m="",x="comment",y="declaration";function w(v,S){if(typeof v!="string")throw new TypeError("First argument must be a string");if(!v)return[];S=S||{};var _=1,b=1;function j(H){var V=H.match(t);V&&(_+=V.length);var U=H.lastIndexOf(d);b=~U?H.length-U:b+H.length}function E(){var H={line:_,column:b};return function(V){return V.position=new T(H),O(),V}}function T(H){this.start=H,this.end={line:_,column:b},this.source=S.source}T.prototype.content=v;function D(H){var V=new Error(S.source+":"+_+":"+b+": "+H);if(V.reason=H,V.filename=S.source,V.line=_,V.column=b,V.source=v,!S.silent)throw V}function L(H){var V=H.exec(v);if(V){var U=V[0];return j(U),v=v.slice(U.length),V}}function O(){L(n)}function P(H){var V;for(H=H||[];V=G();)V!==!1&&H.push(V);return H}function G(){var H=E();if(!(f!=v.charAt(0)||p!=v.charAt(1))){for(var V=2;m!=v.charAt(V)&&(p!=v.charAt(V)||f!=v.charAt(V+1));)++V;if(V+=2,m===v.charAt(V-1))return D("End of comment missing");var U=v.slice(2,V-2);return b+=2,j(U),v=v.slice(V),b+=2,H({type:x,comment:U})}}function W(){var H=E(),V=L(r);if(V){if(G(),!L(o))return D("property missing ':'");var U=L(l),Q=H({type:y,property:C(V[0].replace(e,m)),value:U?C(U[0].replace(e,m)):m});return L(u),Q}}function I(){var H=[];P(H);for(var V;V=W();)V!==!1&&(H.push(V),P(H));return H}return O(),I()}function C(v){return v?v.replace(c,m):m}return cm=w,cm}var Av;function BA(){if(Av)return ja;Av=1;var e=ja&&ja.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(ja,"__esModule",{value:!0}),ja.default=n;const t=e(PA());function n(r,o){let l=null;if(!r||typeof r!="string")return l;const u=(0,t.default)(r),c=typeof o=="function";return u.forEach(d=>{if(d.type!=="declaration")return;const{property:f,value:p}=d;c?o(f,p,d):p&&(l=l||{},l[f]=p)}),l}return ja}var Zo={},Lv;function $A(){if(Lv)return Zo;Lv=1,Object.defineProperty(Zo,"__esModule",{value:!0}),Zo.camelCase=void 0;var e=/^--[a-zA-Z0-9_-]+$/,t=/-([a-z])/g,n=/^[^-]+$/,r=/^-(webkit|moz|ms|o|khtml)-/,o=/^-(ms)-/,l=function(f){return!f||n.test(f)||e.test(f)},u=function(f,p){return p.toUpperCase()},c=function(f,p){return"".concat(p,"-")},d=function(f,p){return p===void 0&&(p={}),l(f)?f:(f=f.toLowerCase(),p.reactCompat?f=f.replace(o,c):f=f.replace(r,c),f.replace(t,u))};return Zo.camelCase=d,Zo}var el,Dv;function zA(){if(Dv)return el;Dv=1;var e=el&&el.__importDefault||function(o){return o&&o.__esModule?o:{default:o}},t=e(BA()),n=$A();function r(o,l){var u={};return!o||typeof o!="string"||(0,t.default)(o,function(c,d){c&&d&&(u[(0,n.camelCase)(c,l)]=d)}),u}return r.default=r,el=r,el}var HA=zA();const UA=ed(HA),O1=I1("end"),Gp=I1("start");function I1(e){return t;function t(n){const r=n&&n.position&&n.position[e]||{};if(typeof r.line=="number"&&r.line>0&&typeof r.column=="number"&&r.column>0)return{line:r.line,column:r.column,offset:typeof r.offset=="number"&&r.offset>-1?r.offset:void 0}}}function FA(e){const t=Gp(e),n=O1(e);if(t&&n)return{start:t,end:n}}function fl(e){return!e||typeof e!="object"?"":"position"in e||"type"in e?Rv(e.position):"start"in e||"end"in e?Rv(e):"line"in e||"column"in e?np(e):""}function np(e){return Ov(e&&e.line)+":"+Ov(e&&e.column)}function Rv(e){return np(e&&e.start)+"-"+np(e&&e.end)}function Ov(e){return e&&typeof e=="number"?e:1}class Ln extends Error{constructor(t,n,r){super(),typeof n=="string"&&(r=n,n=void 0);let o="",l={},u=!1;if(n&&("line"in n&&"column"in n?l={place:n}:"start"in n&&"end"in n?l={place:n}:"type"in n?l={ancestors:[n],place:n.position}:l={...n}),typeof t=="string"?o=t:!l.cause&&t&&(u=!0,o=t.message,l.cause=t),!l.ruleId&&!l.source&&typeof r=="string"){const d=r.indexOf(":");d===-1?l.ruleId=r:(l.source=r.slice(0,d),l.ruleId=r.slice(d+1))}if(!l.place&&l.ancestors&&l.ancestors){const d=l.ancestors[l.ancestors.length-1];d&&(l.place=d.position)}const c=l.place&&"start"in l.place?l.place.start:l.place;this.ancestors=l.ancestors||void 0,this.cause=l.cause||void 0,this.column=c?c.column:void 0,this.fatal=void 0,this.file="",this.message=o,this.line=c?c.line:void 0,this.name=fl(l.place)||"1:1",this.place=l.place||void 0,this.reason=this.message,this.ruleId=l.ruleId||void 0,this.source=l.source||void 0,this.stack=u&&l.cause&&typeof l.cause.stack=="string"?l.cause.stack:"",this.actual=void 0,this.expected=void 0,this.note=void 0,this.url=void 0}}Ln.prototype.file="";Ln.prototype.name="";Ln.prototype.reason="";Ln.prototype.message="";Ln.prototype.stack="";Ln.prototype.column=void 0;Ln.prototype.line=void 0;Ln.prototype.ancestors=void 0;Ln.prototype.cause=void 0;Ln.prototype.fatal=void 0;Ln.prototype.place=void 0;Ln.prototype.ruleId=void 0;Ln.prototype.source=void 0;const Wp={}.hasOwnProperty,VA=new Map,GA=/[A-Z]/g,WA=new Set(["table","tbody","thead","tfoot","tr"]),qA=new Set(["td","th"]),M1="https://github.com/syntax-tree/hast-util-to-jsx-runtime";function KA(e,t){if(!t||t.Fragment===void 0)throw new TypeError("Expected `Fragment` in options");const n=t.filePath||void 0;let r;if(t.development){if(typeof t.jsxDEV!="function")throw new TypeError("Expected `jsxDEV` in options when `development: true`");r=nL(n,t.jsxDEV)}else{if(typeof t.jsx!="function")throw new TypeError("Expected `jsx` in production options");if(typeof t.jsxs!="function")throw new TypeError("Expected `jsxs` in production options");r=tL(n,t.jsx,t.jsxs)}const o={Fragment:t.Fragment,ancestors:[],components:t.components||{},create:r,elementAttributeNameCase:t.elementAttributeNameCase||"react",evaluater:t.createEvaluater?t.createEvaluater():void 0,filePath:n,ignoreInvalidStyle:t.ignoreInvalidStyle||!1,passKeys:t.passKeys!==!1,passNode:t.passNode||!1,schema:t.space==="svg"?Vp:IA,stylePropertyNameCase:t.stylePropertyNameCase||"dom",tableCellAlignToStyle:t.tableCellAlignToStyle!==!1},l=P1(o,e,void 0);return l&&typeof l!="string"?l:o.create(e,o.Fragment,{children:l||void 0},void 0)}function P1(e,t,n){if(t.type==="element")return YA(e,t,n);if(t.type==="mdxFlowExpression"||t.type==="mdxTextExpression")return XA(e,t);if(t.type==="mdxJsxFlowElement"||t.type==="mdxJsxTextElement")return JA(e,t,n);if(t.type==="mdxjsEsm")return QA(e,t);if(t.type==="root")return ZA(e,t,n);if(t.type==="text")return eL(e,t)}function YA(e,t,n){const r=e.schema;let o=r;t.tagName.toLowerCase()==="svg"&&r.space==="html"&&(o=Vp,e.schema=o),e.ancestors.push(t);const l=$1(e,t.tagName,!1),u=rL(e,t);let c=Kp(e,t);return WA.has(t.tagName)&&(c=c.filter(function(d){return typeof d=="string"?!kA(d):!0})),B1(e,u,l,t),qp(u,c),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function XA(e,t){if(t.data&&t.data.estree&&e.evaluater){const r=t.data.estree.body[0];return r.type,e.evaluater.evaluateExpression(r.expression)}vl(e,t.position)}function QA(e,t){if(t.data&&t.data.estree&&e.evaluater)return e.evaluater.evaluateProgram(t.data.estree);vl(e,t.position)}function JA(e,t,n){const r=e.schema;let o=r;t.name==="svg"&&r.space==="html"&&(o=Vp,e.schema=o),e.ancestors.push(t);const l=t.name===null?e.Fragment:$1(e,t.name,!0),u=sL(e,t),c=Kp(e,t);return B1(e,u,l,t),qp(u,c),e.ancestors.pop(),e.schema=r,e.create(t,l,u,n)}function ZA(e,t,n){const r={};return qp(r,Kp(e,t)),e.create(t,e.Fragment,r,n)}function eL(e,t){return t.value}function B1(e,t,n,r){typeof n!="string"&&n!==e.Fragment&&e.passNode&&(t.node=r)}function qp(e,t){if(t.length>0){const n=t.length>1?t:t[0];n&&(e.children=n)}}function tL(e,t,n){return r;function r(o,l,u,c){const f=Array.isArray(u.children)?n:t;return c?f(l,u,c):f(l,u)}}function nL(e,t){return n;function n(r,o,l,u){const c=Array.isArray(l.children),d=Gp(r);return t(o,l,u,c,{columnNumber:d?d.column-1:void 0,fileName:e,lineNumber:d?d.line:void 0},void 0)}}function rL(e,t){const n={};let r,o;for(o in t.properties)if(o!=="children"&&Wp.call(t.properties,o)){const l=iL(e,o,t.properties[o]);if(l){const[u,c]=l;e.tableCellAlignToStyle&&u==="align"&&typeof c=="string"&&qA.has(t.tagName)?r=c:n[u]=c}}if(r){const l=n.style||(n.style={});l[e.stylePropertyNameCase==="css"?"text-align":"textAlign"]=r}return n}function sL(e,t){const n={};for(const r of t.attributes)if(r.type==="mdxJsxExpressionAttribute")if(r.data&&r.data.estree&&e.evaluater){const l=r.data.estree.body[0];l.type;const u=l.expression;u.type;const c=u.properties[0];c.type,Object.assign(n,e.evaluater.evaluateExpression(c.argument))}else vl(e,t.position);else{const o=r.name;let l;if(r.value&&typeof r.value=="object")if(r.value.data&&r.value.data.estree&&e.evaluater){const c=r.value.data.estree.body[0];c.type,l=e.evaluater.evaluateExpression(c.expression)}else vl(e,t.position);else l=r.value===null?!0:r.value;n[o]=l}return n}function Kp(e,t){const n=[];let r=-1;const o=e.passKeys?new Map:VA;for(;++r<t.children.length;){const l=t.children[r];let u;if(e.passKeys){const d=l.type==="element"?l.tagName:l.type==="mdxJsxFlowElement"||l.type==="mdxJsxTextElement"?l.name:void 0;if(d){const f=o.get(d)||0;u=d+"-"+f,o.set(d,f+1)}}const c=P1(e,l,u);c!==void 0&&n.push(c)}return n}function iL(e,t,n){const r=DA(e.schema,t);if(!(n==null||typeof n=="number"&&Number.isNaN(n))){if(Array.isArray(n)&&(n=r.commaSeparated?_A(n):MA(n)),r.property==="style"){let o=typeof n=="object"?n:aL(e,String(n));return e.stylePropertyNameCase==="css"&&(o=oL(o)),["style",o]}return[e.elementAttributeNameCase==="react"&&r.space?TA[r.property]||r.property:r.attribute,n]}}function aL(e,t){try{return UA(t,{reactCompat:!0})}catch(n){if(e.ignoreInvalidStyle)return{};const r=n,o=new Ln("Cannot parse `style` attribute",{ancestors:e.ancestors,cause:r,ruleId:"style",source:"hast-util-to-jsx-runtime"});throw o.file=e.filePath||void 0,o.url=M1+"#cannot-parse-style-attribute",o}}function $1(e,t,n){let r;if(!n)r={type:"Literal",value:t};else if(t.includes(".")){const o=t.split(".");let l=-1,u;for(;++l<o.length;){const c=kv(o[l])?{type:"Identifier",name:o[l]}:{type:"Literal",value:o[l]};u=u?{type:"MemberExpression",object:u,property:c,computed:!!(l&&c.type==="Literal"),optional:!1}:c}r=u}else r=kv(t)&&!/^[a-z]/.test(t)?{type:"Identifier",name:t}:{type:"Literal",value:t};if(r.type==="Literal"){const o=r.value;return Wp.call(e.components,o)?e.components[o]:o}if(e.evaluater)return e.evaluater.evaluateExpression(r);vl(e)}function vl(e,t){const n=new Ln("Cannot handle MDX estrees without `createEvaluater`",{ancestors:e.ancestors,place:t,ruleId:"mdx-estree",source:"hast-util-to-jsx-runtime"});throw n.file=e.filePath||void 0,n.url=M1+"#cannot-handle-mdx-estrees-without-createevaluater",n}function oL(e){const t={};let n;for(n in e)Wp.call(e,n)&&(t[lL(n)]=e[n]);return t}function lL(e){let t=e.replace(GA,cL);return t.slice(0,3)==="ms-"&&(t="-"+t),t}function cL(e){return"-"+e.toLowerCase()}const um={action:["form"],cite:["blockquote","del","ins","q"],data:["object"],formAction:["button","input"],href:["a","area","base","link"],icon:["menuitem"],itemId:null,manifest:["html"],ping:["a","area"],poster:["video"],src:["audio","embed","iframe","img","input","script","source","track","video"]},uL={};function Yp(e,t){const n=uL,r=typeof n.includeImageAlt=="boolean"?n.includeImageAlt:!0,o=typeof n.includeHtml=="boolean"?n.includeHtml:!0;return z1(e,r,o)}function z1(e,t,n){if(dL(e)){if("value"in e)return e.type==="html"&&!n?"":e.value;if(t&&"alt"in e&&e.alt)return e.alt;if("children"in e)return Iv(e.children,t,n)}return Array.isArray(e)?Iv(e,t,n):""}function Iv(e,t,n){const r=[];let o=-1;for(;++o<e.length;)r[o]=z1(e[o],t,n);return r.join("")}function dL(e){return!!(e&&typeof e=="object")}const Mv=document.createElement("i");function Xp(e){const t="&"+e+";";Mv.innerHTML=t;const n=Mv.textContent;return n.charCodeAt(n.length-1)===59&&e!=="semi"||n===t?!1:n}function lr(e,t,n,r){const o=e.length;let l=0,u;if(t<0?t=-t>o?0:o+t:t=t>o?o:t,n=n>0?n:0,r.length<1e4)u=Array.from(r),u.unshift(t,n),e.splice(...u);else for(n&&e.splice(t,n);l<r.length;)u=r.slice(l,l+1e4),u.unshift(t,0),e.splice(...u),l+=1e4,t+=1e4}function _r(e,t){return e.length>0?(lr(e,e.length,0,t),e):t}const Pv={}.hasOwnProperty;function H1(e){const t={};let n=-1;for(;++n<e.length;)hL(t,e[n]);return t}function hL(e,t){let n;for(n in t){const o=(Pv.call(e,n)?e[n]:void 0)||(e[n]={}),l=t[n];let u;if(l)for(u in l){Pv.call(o,u)||(o[u]=[]);const c=l[u];fL(o[u],Array.isArray(c)?c:c?[c]:[])}}}function fL(e,t){let n=-1;const r=[];for(;++n<t.length;)(t[n].add==="after"?e:r).push(t[n]);lr(e,0,0,r)}function U1(e,t){const n=Number.parseInt(e,t);return n<9||n===11||n>13&&n<32||n>126&&n<160||n>55295&&n<57344||n>64975&&n<65008||(n&65535)===65535||(n&65535)===65534||n>1114111?"�":String.fromCodePoint(n)}function Rr(e){return e.replace(/[\t\n\r ]+/g," ").replace(/^ | $/g,"").toLowerCase().toUpperCase()}const On=si(/[A-Za-z]/),An=si(/[\dA-Za-z]/),mL=si(/[#-'*+\--9=?A-Z^-~]/);function Mu(e){return e!==null&&(e<32||e===127)}const rp=si(/\d/),pL=si(/[\dA-Fa-f]/),gL=si(/[!-/:-@[-`{-~]/);function Xe(e){return e!==null&&e<-2}function Pt(e){return e!==null&&(e<0||e===32)}function pt(e){return e===-2||e===-1||e===32}const hd=si(new RegExp("\\p{P}|\\p{S}","u")),Bi=si(/\s/);function si(e){return t;function t(n){return n!==null&&n>-1&&e.test(String.fromCharCode(n))}}function eo(e){const t=[];let n=-1,r=0,o=0;for(;++n<e.length;){const l=e.charCodeAt(n);let u="";if(l===37&&An(e.charCodeAt(n+1))&&An(e.charCodeAt(n+2)))o=2;else if(l<128)/[!#$&-;=?-Z_a-z~]/.test(String.fromCharCode(l))||(u=String.fromCharCode(l));else if(l>55295&&l<57344){const c=e.charCodeAt(n+1);l<56320&&c>56319&&c<57344?(u=String.fromCharCode(l,c),o=1):u="�"}else u=String.fromCharCode(l);u&&(t.push(e.slice(r,n),encodeURIComponent(u)),r=n+o+1,u=""),o&&(n+=o,o=0)}return t.join("")+e.slice(r)}function _t(e,t,n,r){const o=r?r-1:Number.POSITIVE_INFINITY;let l=0;return u;function u(d){return pt(d)?(e.enter(n),c(d)):t(d)}function c(d){return pt(d)&&l++<o?(e.consume(d),c):(e.exit(n),t(d))}}const xL={tokenize:yL};function yL(e){const t=e.attempt(this.parser.constructs.contentInitial,r,o);let n;return t;function r(c){if(c===null){e.consume(c);return}return e.enter("lineEnding"),e.consume(c),e.exit("lineEnding"),_t(e,t,"linePrefix")}function o(c){return e.enter("paragraph"),l(c)}function l(c){const d=e.enter("chunkText",{contentType:"text",previous:n});return n&&(n.next=d),n=d,u(c)}function u(c){if(c===null){e.exit("chunkText"),e.exit("paragraph"),e.consume(c);return}return Xe(c)?(e.consume(c),e.exit("chunkText"),l):(e.consume(c),u)}}const bL={tokenize:_L},Bv={tokenize:vL};function _L(e){const t=this,n=[];let r=0,o,l,u;return c;function c(b){if(r<n.length){const j=n[r];return t.containerState=j[1],e.attempt(j[0].continuation,d,f)(b)}return f(b)}function d(b){if(r++,t.containerState._closeFlow){t.containerState._closeFlow=void 0,o&&_();const j=t.events.length;let E=j,T;for(;E--;)if(t.events[E][0]==="exit"&&t.events[E][1].type==="chunkFlow"){T=t.events[E][1].end;break}S(r);let D=j;for(;D<t.events.length;)t.events[D][1].end={...T},D++;return lr(t.events,E+1,0,t.events.slice(j)),t.events.length=D,f(b)}return c(b)}function f(b){if(r===n.length){if(!o)return x(b);if(o.currentConstruct&&o.currentConstruct.concrete)return w(b);t.interrupt=!!(o.currentConstruct&&!o._gfmTableDynamicInterruptHack)}return t.containerState={},e.check(Bv,p,m)(b)}function p(b){return o&&_(),S(r),x(b)}function m(b){return t.parser.lazy[t.now().line]=r!==n.length,u=t.now().offset,w(b)}function x(b){return t.containerState={},e.attempt(Bv,y,w)(b)}function y(b){return r++,n.push([t.currentConstruct,t.containerState]),x(b)}function w(b){if(b===null){o&&_(),S(0),e.consume(b);return}return o=o||t.parser.flow(t.now()),e.enter("chunkFlow",{_tokenizer:o,contentType:"flow",previous:l}),C(b)}function C(b){if(b===null){v(e.exit("chunkFlow"),!0),S(0),e.consume(b);return}return Xe(b)?(e.consume(b),v(e.exit("chunkFlow")),r=0,t.interrupt=void 0,c):(e.consume(b),C)}function v(b,j){const E=t.sliceStream(b);if(j&&E.push(null),b.previous=l,l&&(l.next=b),l=b,o.defineSkip(b.start),o.write(E),t.parser.lazy[b.start.line]){let T=o.events.length;for(;T--;)if(o.events[T][1].start.offset<u&&(!o.events[T][1].end||o.events[T][1].end.offset>u))return;const D=t.events.length;let L=D,O,P;for(;L--;)if(t.events[L][0]==="exit"&&t.events[L][1].type==="chunkFlow"){if(O){P=t.events[L][1].end;break}O=!0}for(S(r),T=D;T<t.events.length;)t.events[T][1].end={...P},T++;lr(t.events,L+1,0,t.events.slice(D)),t.events.length=T}}function S(b){let j=n.length;for(;j-- >b;){const E=n[j];t.containerState=E[1],E[0].exit.call(t,e)}n.length=b}function _(){o.write([null]),l=void 0,o=void 0,t.containerState._closeFlow=void 0}}function vL(e,t,n){return _t(e,e.attempt(this.parser.constructs.document,t,n),"linePrefix",this.parser.constructs.disable.null.includes("codeIndented")?void 0:4)}function Ga(e){if(e===null||Pt(e)||Bi(e))return 1;if(hd(e))return 2}function fd(e,t,n){const r=[];let o=-1;for(;++o<e.length;){const l=e[o].resolveAll;l&&!r.includes(l)&&(t=l(t,n),r.push(l))}return t}const sp={name:"attention",resolveAll:SL,tokenize:wL};function SL(e,t){let n=-1,r,o,l,u,c,d,f,p;for(;++n<e.length;)if(e[n][0]==="enter"&&e[n][1].type==="attentionSequence"&&e[n][1]._close){for(r=n;r--;)if(e[r][0]==="exit"&&e[r][1].type==="attentionSequence"&&e[r][1]._open&&t.sliceSerialize(e[r][1]).charCodeAt(0)===t.sliceSerialize(e[n][1]).charCodeAt(0)){if((e[r][1]._close||e[n][1]._open)&&(e[n][1].end.offset-e[n][1].start.offset)%3&&!((e[r][1].end.offset-e[r][1].start.offset+e[n][1].end.offset-e[n][1].start.offset)%3))continue;d=e[r][1].end.offset-e[r][1].start.offset>1&&e[n][1].end.offset-e[n][1].start.offset>1?2:1;const m={...e[r][1].end},x={...e[n][1].start};$v(m,-d),$v(x,d),u={type:d>1?"strongSequence":"emphasisSequence",start:m,end:{...e[r][1].end}},c={type:d>1?"strongSequence":"emphasisSequence",start:{...e[n][1].start},end:x},l={type:d>1?"strongText":"emphasisText",start:{...e[r][1].end},end:{...e[n][1].start}},o={type:d>1?"strong":"emphasis",start:{...u.start},end:{...c.end}},e[r][1].end={...u.start},e[n][1].start={...c.end},f=[],e[r][1].end.offset-e[r][1].start.offset&&(f=_r(f,[["enter",e[r][1],t],["exit",e[r][1],t]])),f=_r(f,[["enter",o,t],["enter",u,t],["exit",u,t],["enter",l,t]]),f=_r(f,fd(t.parser.constructs.insideSpan.null,e.slice(r+1,n),t)),f=_r(f,[["exit",l,t],["enter",c,t],["exit",c,t],["exit",o,t]]),e[n][1].end.offset-e[n][1].start.offset?(p=2,f=_r(f,[["enter",e[n][1],t],["exit",e[n][1],t]])):p=0,lr(e,r-1,n-r+3,f),n=r+f.length-p-2;break}}for(n=-1;++n<e.length;)e[n][1].type==="attentionSequence"&&(e[n][1].type="data");return e}function wL(e,t){const n=this.parser.constructs.attentionMarkers.null,r=this.previous,o=Ga(r);let l;return u;function u(d){return l=d,e.enter("attentionSequence"),c(d)}function c(d){if(d===l)return e.consume(d),c;const f=e.exit("attentionSequence"),p=Ga(d),m=!p||p===2&&o||n.includes(d),x=!o||o===2&&p||n.includes(r);return f._open=!!(l===42?m:m&&(o||!x)),f._close=!!(l===42?x:x&&(p||!m)),t(d)}}function $v(e,t){e.column+=t,e.offset+=t,e._bufferIndex+=t}const CL={name:"autolink",tokenize:kL};function kL(e,t,n){let r=0;return o;function o(y){return e.enter("autolink"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.enter("autolinkProtocol"),l}function l(y){return On(y)?(e.consume(y),u):y===64?n(y):f(y)}function u(y){return y===43||y===45||y===46||An(y)?(r=1,c(y)):f(y)}function c(y){return y===58?(e.consume(y),r=0,d):(y===43||y===45||y===46||An(y))&&r++<32?(e.consume(y),c):(r=0,f(y))}function d(y){return y===62?(e.exit("autolinkProtocol"),e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):y===null||y===32||y===60||Mu(y)?n(y):(e.consume(y),d)}function f(y){return y===64?(e.consume(y),p):mL(y)?(e.consume(y),f):n(y)}function p(y){return An(y)?m(y):n(y)}function m(y){return y===46?(e.consume(y),r=0,p):y===62?(e.exit("autolinkProtocol").type="autolinkEmail",e.enter("autolinkMarker"),e.consume(y),e.exit("autolinkMarker"),e.exit("autolink"),t):x(y)}function x(y){if((y===45||An(y))&&r++<63){const w=y===45?x:m;return e.consume(y),w}return n(y)}}const Il={partial:!0,tokenize:EL};function EL(e,t,n){return r;function r(l){return pt(l)?_t(e,o,"linePrefix")(l):o(l)}function o(l){return l===null||Xe(l)?t(l):n(l)}}const F1={continuation:{tokenize:NL},exit:TL,name:"blockQuote",tokenize:jL};function jL(e,t,n){const r=this;return o;function o(u){if(u===62){const c=r.containerState;return c.open||(e.enter("blockQuote",{_container:!0}),c.open=!0),e.enter("blockQuotePrefix"),e.enter("blockQuoteMarker"),e.consume(u),e.exit("blockQuoteMarker"),l}return n(u)}function l(u){return pt(u)?(e.enter("blockQuotePrefixWhitespace"),e.consume(u),e.exit("blockQuotePrefixWhitespace"),e.exit("blockQuotePrefix"),t):(e.exit("blockQuotePrefix"),t(u))}}function NL(e,t,n){const r=this;return o;function o(u){return pt(u)?_t(e,l,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(u):l(u)}function l(u){return e.attempt(F1,t,n)(u)}}function TL(e){e.exit("blockQuote")}const V1={name:"characterEscape",tokenize:AL};function AL(e,t,n){return r;function r(l){return e.enter("characterEscape"),e.enter("escapeMarker"),e.consume(l),e.exit("escapeMarker"),o}function o(l){return gL(l)?(e.enter("characterEscapeValue"),e.consume(l),e.exit("characterEscapeValue"),e.exit("characterEscape"),t):n(l)}}const G1={name:"characterReference",tokenize:LL};function LL(e,t,n){const r=this;let o=0,l,u;return c;function c(m){return e.enter("characterReference"),e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),d}function d(m){return m===35?(e.enter("characterReferenceMarkerNumeric"),e.consume(m),e.exit("characterReferenceMarkerNumeric"),f):(e.enter("characterReferenceValue"),l=31,u=An,p(m))}function f(m){return m===88||m===120?(e.enter("characterReferenceMarkerHexadecimal"),e.consume(m),e.exit("characterReferenceMarkerHexadecimal"),e.enter("characterReferenceValue"),l=6,u=pL,p):(e.enter("characterReferenceValue"),l=7,u=rp,p(m))}function p(m){if(m===59&&o){const x=e.exit("characterReferenceValue");return u===An&&!Xp(r.sliceSerialize(x))?n(m):(e.enter("characterReferenceMarker"),e.consume(m),e.exit("characterReferenceMarker"),e.exit("characterReference"),t)}return u(m)&&o++<l?(e.consume(m),p):n(m)}}const zv={partial:!0,tokenize:RL},Hv={concrete:!0,name:"codeFenced",tokenize:DL};function DL(e,t,n){const r=this,o={partial:!0,tokenize:E};let l=0,u=0,c;return d;function d(T){return f(T)}function f(T){const D=r.events[r.events.length-1];return l=D&&D[1].type==="linePrefix"?D[2].sliceSerialize(D[1],!0).length:0,c=T,e.enter("codeFenced"),e.enter("codeFencedFence"),e.enter("codeFencedFenceSequence"),p(T)}function p(T){return T===c?(u++,e.consume(T),p):u<3?n(T):(e.exit("codeFencedFenceSequence"),pt(T)?_t(e,m,"whitespace")(T):m(T))}function m(T){return T===null||Xe(T)?(e.exit("codeFencedFence"),r.interrupt?t(T):e.check(zv,C,j)(T)):(e.enter("codeFencedFenceInfo"),e.enter("chunkString",{contentType:"string"}),x(T))}function x(T){return T===null||Xe(T)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),m(T)):pt(T)?(e.exit("chunkString"),e.exit("codeFencedFenceInfo"),_t(e,y,"whitespace")(T)):T===96&&T===c?n(T):(e.consume(T),x)}function y(T){return T===null||Xe(T)?m(T):(e.enter("codeFencedFenceMeta"),e.enter("chunkString",{contentType:"string"}),w(T))}function w(T){return T===null||Xe(T)?(e.exit("chunkString"),e.exit("codeFencedFenceMeta"),m(T)):T===96&&T===c?n(T):(e.consume(T),w)}function C(T){return e.attempt(o,j,v)(T)}function v(T){return e.enter("lineEnding"),e.consume(T),e.exit("lineEnding"),S}function S(T){return l>0&&pt(T)?_t(e,_,"linePrefix",l+1)(T):_(T)}function _(T){return T===null||Xe(T)?e.check(zv,C,j)(T):(e.enter("codeFlowValue"),b(T))}function b(T){return T===null||Xe(T)?(e.exit("codeFlowValue"),_(T)):(e.consume(T),b)}function j(T){return e.exit("codeFenced"),t(T)}function E(T,D,L){let O=0;return P;function P(V){return T.enter("lineEnding"),T.consume(V),T.exit("lineEnding"),G}function G(V){return T.enter("codeFencedFence"),pt(V)?_t(T,W,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(V):W(V)}function W(V){return V===c?(T.enter("codeFencedFenceSequence"),I(V)):L(V)}function I(V){return V===c?(O++,T.consume(V),I):O>=u?(T.exit("codeFencedFenceSequence"),pt(V)?_t(T,H,"whitespace")(V):H(V)):L(V)}function H(V){return V===null||Xe(V)?(T.exit("codeFencedFence"),D(V)):L(V)}}}function RL(e,t,n){const r=this;return o;function o(u){return u===null?n(u):(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}const dm={name:"codeIndented",tokenize:IL},OL={partial:!0,tokenize:ML};function IL(e,t,n){const r=this;return o;function o(f){return e.enter("codeIndented"),_t(e,l,"linePrefix",5)(f)}function l(f){const p=r.events[r.events.length-1];return p&&p[1].type==="linePrefix"&&p[2].sliceSerialize(p[1],!0).length>=4?u(f):n(f)}function u(f){return f===null?d(f):Xe(f)?e.attempt(OL,u,d)(f):(e.enter("codeFlowValue"),c(f))}function c(f){return f===null||Xe(f)?(e.exit("codeFlowValue"),u(f)):(e.consume(f),c)}function d(f){return e.exit("codeIndented"),t(f)}}function ML(e,t,n){const r=this;return o;function o(u){return r.parser.lazy[r.now().line]?n(u):Xe(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),o):_t(e,l,"linePrefix",5)(u)}function l(u){const c=r.events[r.events.length-1];return c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(u):Xe(u)?o(u):n(u)}}const PL={name:"codeText",previous:$L,resolve:BL,tokenize:zL};function BL(e){let t=e.length-4,n=3,r,o;if((e[n][1].type==="lineEnding"||e[n][1].type==="space")&&(e[t][1].type==="lineEnding"||e[t][1].type==="space")){for(r=n;++r<t;)if(e[r][1].type==="codeTextData"){e[n][1].type="codeTextPadding",e[t][1].type="codeTextPadding",n+=2,t-=2;break}}for(r=n-1,t++;++r<=t;)o===void 0?r!==t&&e[r][1].type!=="lineEnding"&&(o=r):(r===t||e[r][1].type==="lineEnding")&&(e[o][1].type="codeTextData",r!==o+2&&(e[o][1].end=e[r-1][1].end,e.splice(o+2,r-o-2),t-=r-o-2,r=o+2),o=void 0);return e}function $L(e){return e!==96||this.events[this.events.length-1][1].type==="characterEscape"}function zL(e,t,n){let r=0,o,l;return u;function u(m){return e.enter("codeText"),e.enter("codeTextSequence"),c(m)}function c(m){return m===96?(e.consume(m),r++,c):(e.exit("codeTextSequence"),d(m))}function d(m){return m===null?n(m):m===32?(e.enter("space"),e.consume(m),e.exit("space"),d):m===96?(l=e.enter("codeTextSequence"),o=0,p(m)):Xe(m)?(e.enter("lineEnding"),e.consume(m),e.exit("lineEnding"),d):(e.enter("codeTextData"),f(m))}function f(m){return m===null||m===32||m===96||Xe(m)?(e.exit("codeTextData"),d(m)):(e.consume(m),f)}function p(m){return m===96?(e.consume(m),o++,p):o===r?(e.exit("codeTextSequence"),e.exit("codeText"),t(m)):(l.type="codeTextData",f(m))}}class HL{constructor(t){this.left=t?[...t]:[],this.right=[]}get(t){if(t<0||t>=this.left.length+this.right.length)throw new RangeError("Cannot access index `"+t+"` in a splice buffer of size `"+(this.left.length+this.right.length)+"`");return t<this.left.length?this.left[t]:this.right[this.right.length-t+this.left.length-1]}get length(){return this.left.length+this.right.length}shift(){return this.setCursor(0),this.right.pop()}slice(t,n){const r=n??Number.POSITIVE_INFINITY;return r<this.left.length?this.left.slice(t,r):t>this.left.length?this.right.slice(this.right.length-r+this.left.length,this.right.length-t+this.left.length).reverse():this.left.slice(t).concat(this.right.slice(this.right.length-r+this.left.length).reverse())}splice(t,n,r){const o=n||0;this.setCursor(Math.trunc(t));const l=this.right.splice(this.right.length-o,Number.POSITIVE_INFINITY);return r&&tl(this.left,r),l.reverse()}pop(){return this.setCursor(Number.POSITIVE_INFINITY),this.left.pop()}push(t){this.setCursor(Number.POSITIVE_INFINITY),this.left.push(t)}pushMany(t){this.setCursor(Number.POSITIVE_INFINITY),tl(this.left,t)}unshift(t){this.setCursor(0),this.right.push(t)}unshiftMany(t){this.setCursor(0),tl(this.right,t.reverse())}setCursor(t){if(!(t===this.left.length||t>this.left.length&&this.right.length===0||t<0&&this.left.length===0))if(t<this.left.length){const n=this.left.splice(t,Number.POSITIVE_INFINITY);tl(this.right,n.reverse())}else{const n=this.right.splice(this.left.length+this.right.length-t,Number.POSITIVE_INFINITY);tl(this.left,n.reverse())}}}function tl(e,t){let n=0;if(t.length<1e4)e.push(...t);else for(;n<t.length;)e.push(...t.slice(n,n+1e4)),n+=1e4}function W1(e){const t={};let n=-1,r,o,l,u,c,d,f;const p=new HL(e);for(;++n<p.length;){for(;n in t;)n=t[n];if(r=p.get(n),n&&r[1].type==="chunkFlow"&&p.get(n-1)[1].type==="listItemPrefix"&&(d=r[1]._tokenizer.events,l=0,l<d.length&&d[l][1].type==="lineEndingBlank"&&(l+=2),l<d.length&&d[l][1].type==="content"))for(;++l<d.length&&d[l][1].type!=="content";)d[l][1].type==="chunkText"&&(d[l][1]._isInFirstContentOfListItem=!0,l++);if(r[0]==="enter")r[1].contentType&&(Object.assign(t,UL(p,n)),n=t[n],f=!0);else if(r[1]._container){for(l=n,o=void 0;l--;)if(u=p.get(l),u[1].type==="lineEnding"||u[1].type==="lineEndingBlank")u[0]==="enter"&&(o&&(p.get(o)[1].type="lineEndingBlank"),u[1].type="lineEnding",o=l);else if(!(u[1].type==="linePrefix"||u[1].type==="listItemIndent"))break;o&&(r[1].end={...p.get(o)[1].start},c=p.slice(o,n),c.unshift(r),p.splice(o,n-o+1,c))}}return lr(e,0,Number.POSITIVE_INFINITY,p.slice(0)),!f}function UL(e,t){const n=e.get(t)[1],r=e.get(t)[2];let o=t-1;const l=[];let u=n._tokenizer;u||(u=r.parser[n.contentType](n.start),n._contentTypeTextTrailing&&(u._contentTypeTextTrailing=!0));const c=u.events,d=[],f={};let p,m,x=-1,y=n,w=0,C=0;const v=[C];for(;y;){for(;e.get(++o)[1]!==y;);l.push(o),y._tokenizer||(p=r.sliceStream(y),y.next||p.push(null),m&&u.defineSkip(y.start),y._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=!0),u.write(p),y._isInFirstContentOfListItem&&(u._gfmTasklistFirstContentOfListItem=void 0)),m=y,y=y.next}for(y=n;++x<c.length;)c[x][0]==="exit"&&c[x-1][0]==="enter"&&c[x][1].type===c[x-1][1].type&&c[x][1].start.line!==c[x][1].end.line&&(C=x+1,v.push(C),y._tokenizer=void 0,y.previous=void 0,y=y.next);for(u.events=[],y?(y._tokenizer=void 0,y.previous=void 0):v.pop(),x=v.length;x--;){const S=c.slice(v[x],v[x+1]),_=l.pop();d.push([_,_+S.length-1]),e.splice(_,2,S)}for(d.reverse(),x=-1;++x<d.length;)f[w+d[x][0]]=w+d[x][1],w+=d[x][1]-d[x][0]-1;return f}const FL={resolve:GL,tokenize:WL},VL={partial:!0,tokenize:qL};function GL(e){return W1(e),e}function WL(e,t){let n;return r;function r(c){return e.enter("content"),n=e.enter("chunkContent",{contentType:"content"}),o(c)}function o(c){return c===null?l(c):Xe(c)?e.check(VL,u,l)(c):(e.consume(c),o)}function l(c){return e.exit("chunkContent"),e.exit("content"),t(c)}function u(c){return e.consume(c),e.exit("chunkContent"),n.next=e.enter("chunkContent",{contentType:"content",previous:n}),n=n.next,o}}function qL(e,t,n){const r=this;return o;function o(u){return e.exit("chunkContent"),e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),_t(e,l,"linePrefix")}function l(u){if(u===null||Xe(u))return n(u);const c=r.events[r.events.length-1];return!r.parser.constructs.disable.null.includes("codeIndented")&&c&&c[1].type==="linePrefix"&&c[2].sliceSerialize(c[1],!0).length>=4?t(u):e.interrupt(r.parser.constructs.flow,n,t)(u)}}function q1(e,t,n,r,o,l,u,c,d){const f=d||Number.POSITIVE_INFINITY;let p=0;return m;function m(S){return S===60?(e.enter(r),e.enter(o),e.enter(l),e.consume(S),e.exit(l),x):S===null||S===32||S===41||Mu(S)?n(S):(e.enter(r),e.enter(u),e.enter(c),e.enter("chunkString",{contentType:"string"}),C(S))}function x(S){return S===62?(e.enter(l),e.consume(S),e.exit(l),e.exit(o),e.exit(r),t):(e.enter(c),e.enter("chunkString",{contentType:"string"}),y(S))}function y(S){return S===62?(e.exit("chunkString"),e.exit(c),x(S)):S===null||S===60||Xe(S)?n(S):(e.consume(S),S===92?w:y)}function w(S){return S===60||S===62||S===92?(e.consume(S),y):y(S)}function C(S){return!p&&(S===null||S===41||Pt(S))?(e.exit("chunkString"),e.exit(c),e.exit(u),e.exit(r),t(S)):p<f&&S===40?(e.consume(S),p++,C):S===41?(e.consume(S),p--,C):S===null||S===32||S===40||Mu(S)?n(S):(e.consume(S),S===92?v:C)}function v(S){return S===40||S===41||S===92?(e.consume(S),C):C(S)}}function K1(e,t,n,r,o,l){const u=this;let c=0,d;return f;function f(y){return e.enter(r),e.enter(o),e.consume(y),e.exit(o),e.enter(l),p}function p(y){return c>999||y===null||y===91||y===93&&!d||y===94&&!c&&"_hiddenFootnoteSupport"in u.parser.constructs?n(y):y===93?(e.exit(l),e.enter(o),e.consume(y),e.exit(o),e.exit(r),t):Xe(y)?(e.enter("lineEnding"),e.consume(y),e.exit("lineEnding"),p):(e.enter("chunkString",{contentType:"string"}),m(y))}function m(y){return y===null||y===91||y===93||Xe(y)||c++>999?(e.exit("chunkString"),p(y)):(e.consume(y),d||(d=!pt(y)),y===92?x:m)}function x(y){return y===91||y===92||y===93?(e.consume(y),c++,m):m(y)}}function Y1(e,t,n,r,o,l){let u;return c;function c(x){return x===34||x===39||x===40?(e.enter(r),e.enter(o),e.consume(x),e.exit(o),u=x===40?41:x,d):n(x)}function d(x){return x===u?(e.enter(o),e.consume(x),e.exit(o),e.exit(r),t):(e.enter(l),f(x))}function f(x){return x===u?(e.exit(l),d(u)):x===null?n(x):Xe(x)?(e.enter("lineEnding"),e.consume(x),e.exit("lineEnding"),_t(e,f,"linePrefix")):(e.enter("chunkString",{contentType:"string"}),p(x))}function p(x){return x===u||x===null||Xe(x)?(e.exit("chunkString"),f(x)):(e.consume(x),x===92?m:p)}function m(x){return x===u||x===92?(e.consume(x),p):p(x)}}function ml(e,t){let n;return r;function r(o){return Xe(o)?(e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),n=!0,r):pt(o)?_t(e,r,n?"linePrefix":"lineSuffix")(o):t(o)}}const KL={name:"definition",tokenize:XL},YL={partial:!0,tokenize:QL};function XL(e,t,n){const r=this;let o;return l;function l(y){return e.enter("definition"),u(y)}function u(y){return K1.call(r,e,c,n,"definitionLabel","definitionLabelMarker","definitionLabelString")(y)}function c(y){return o=Rr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)),y===58?(e.enter("definitionMarker"),e.consume(y),e.exit("definitionMarker"),d):n(y)}function d(y){return Pt(y)?ml(e,f)(y):f(y)}function f(y){return q1(e,p,n,"definitionDestination","definitionDestinationLiteral","definitionDestinationLiteralMarker","definitionDestinationRaw","definitionDestinationString")(y)}function p(y){return e.attempt(YL,m,m)(y)}function m(y){return pt(y)?_t(e,x,"whitespace")(y):x(y)}function x(y){return y===null||Xe(y)?(e.exit("definition"),r.parser.defined.push(o),t(y)):n(y)}}function QL(e,t,n){return r;function r(c){return Pt(c)?ml(e,o)(c):n(c)}function o(c){return Y1(e,l,n,"definitionTitle","definitionTitleMarker","definitionTitleString")(c)}function l(c){return pt(c)?_t(e,u,"whitespace")(c):u(c)}function u(c){return c===null||Xe(c)?t(c):n(c)}}const JL={name:"hardBreakEscape",tokenize:ZL};function ZL(e,t,n){return r;function r(l){return e.enter("hardBreakEscape"),e.consume(l),o}function o(l){return Xe(l)?(e.exit("hardBreakEscape"),t(l)):n(l)}}const eD={name:"headingAtx",resolve:tD,tokenize:nD};function tD(e,t){let n=e.length-2,r=3,o,l;return e[r][1].type==="whitespace"&&(r+=2),n-2>r&&e[n][1].type==="whitespace"&&(n-=2),e[n][1].type==="atxHeadingSequence"&&(r===n-1||n-4>r&&e[n-2][1].type==="whitespace")&&(n-=r+1===n?2:4),n>r&&(o={type:"atxHeadingText",start:e[r][1].start,end:e[n][1].end},l={type:"chunkText",start:e[r][1].start,end:e[n][1].end,contentType:"text"},lr(e,r,n-r+1,[["enter",o,t],["enter",l,t],["exit",l,t],["exit",o,t]])),e}function nD(e,t,n){let r=0;return o;function o(p){return e.enter("atxHeading"),l(p)}function l(p){return e.enter("atxHeadingSequence"),u(p)}function u(p){return p===35&&r++<6?(e.consume(p),u):p===null||Pt(p)?(e.exit("atxHeadingSequence"),c(p)):n(p)}function c(p){return p===35?(e.enter("atxHeadingSequence"),d(p)):p===null||Xe(p)?(e.exit("atxHeading"),t(p)):pt(p)?_t(e,c,"whitespace")(p):(e.enter("atxHeadingText"),f(p))}function d(p){return p===35?(e.consume(p),d):(e.exit("atxHeadingSequence"),c(p))}function f(p){return p===null||p===35||Pt(p)?(e.exit("atxHeadingText"),c(p)):(e.consume(p),f)}}const rD=["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","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],Uv=["pre","script","style","textarea"],sD={concrete:!0,name:"htmlFlow",resolveTo:oD,tokenize:lD},iD={partial:!0,tokenize:uD},aD={partial:!0,tokenize:cD};function oD(e){let t=e.length;for(;t--&&!(e[t][0]==="enter"&&e[t][1].type==="htmlFlow"););return t>1&&e[t-2][1].type==="linePrefix"&&(e[t][1].start=e[t-2][1].start,e[t+1][1].start=e[t-2][1].start,e.splice(t-2,2)),e}function lD(e,t,n){const r=this;let o,l,u,c,d;return f;function f(B){return p(B)}function p(B){return e.enter("htmlFlow"),e.enter("htmlFlowData"),e.consume(B),m}function m(B){return B===33?(e.consume(B),x):B===47?(e.consume(B),l=!0,C):B===63?(e.consume(B),o=3,r.interrupt?t:R):On(B)?(e.consume(B),u=String.fromCharCode(B),v):n(B)}function x(B){return B===45?(e.consume(B),o=2,y):B===91?(e.consume(B),o=5,c=0,w):On(B)?(e.consume(B),o=4,r.interrupt?t:R):n(B)}function y(B){return B===45?(e.consume(B),r.interrupt?t:R):n(B)}function w(B){const ee="CDATA[";return B===ee.charCodeAt(c++)?(e.consume(B),c===ee.length?r.interrupt?t:W:w):n(B)}function C(B){return On(B)?(e.consume(B),u=String.fromCharCode(B),v):n(B)}function v(B){if(B===null||B===47||B===62||Pt(B)){const ee=B===47,J=u.toLowerCase();return!ee&&!l&&Uv.includes(J)?(o=1,r.interrupt?t(B):W(B)):rD.includes(u.toLowerCase())?(o=6,ee?(e.consume(B),S):r.interrupt?t(B):W(B)):(o=7,r.interrupt&&!r.parser.lazy[r.now().line]?n(B):l?_(B):b(B))}return B===45||An(B)?(e.consume(B),u+=String.fromCharCode(B),v):n(B)}function S(B){return B===62?(e.consume(B),r.interrupt?t:W):n(B)}function _(B){return pt(B)?(e.consume(B),_):P(B)}function b(B){return B===47?(e.consume(B),P):B===58||B===95||On(B)?(e.consume(B),j):pt(B)?(e.consume(B),b):P(B)}function j(B){return B===45||B===46||B===58||B===95||An(B)?(e.consume(B),j):E(B)}function E(B){return B===61?(e.consume(B),T):pt(B)?(e.consume(B),E):b(B)}function T(B){return B===null||B===60||B===61||B===62||B===96?n(B):B===34||B===39?(e.consume(B),d=B,D):pt(B)?(e.consume(B),T):L(B)}function D(B){return B===d?(e.consume(B),d=null,O):B===null||Xe(B)?n(B):(e.consume(B),D)}function L(B){return B===null||B===34||B===39||B===47||B===60||B===61||B===62||B===96||Pt(B)?E(B):(e.consume(B),L)}function O(B){return B===47||B===62||pt(B)?b(B):n(B)}function P(B){return B===62?(e.consume(B),G):n(B)}function G(B){return B===null||Xe(B)?W(B):pt(B)?(e.consume(B),G):n(B)}function W(B){return B===45&&o===2?(e.consume(B),U):B===60&&o===1?(e.consume(B),Q):B===62&&o===4?(e.consume(B),M):B===63&&o===3?(e.consume(B),R):B===93&&o===5?(e.consume(B),z):Xe(B)&&(o===6||o===7)?(e.exit("htmlFlowData"),e.check(iD,q,I)(B)):B===null||Xe(B)?(e.exit("htmlFlowData"),I(B)):(e.consume(B),W)}function I(B){return e.check(aD,H,q)(B)}function H(B){return e.enter("lineEnding"),e.consume(B),e.exit("lineEnding"),V}function V(B){return B===null||Xe(B)?I(B):(e.enter("htmlFlowData"),W(B))}function U(B){return B===45?(e.consume(B),R):W(B)}function Q(B){return B===47?(e.consume(B),u="",X):W(B)}function X(B){if(B===62){const ee=u.toLowerCase();return Uv.includes(ee)?(e.consume(B),M):W(B)}return On(B)&&u.length<8?(e.consume(B),u+=String.fromCharCode(B),X):W(B)}function z(B){return B===93?(e.consume(B),R):W(B)}function R(B){return B===62?(e.consume(B),M):B===45&&o===2?(e.consume(B),R):W(B)}function M(B){return B===null||Xe(B)?(e.exit("htmlFlowData"),q(B)):(e.consume(B),M)}function q(B){return e.exit("htmlFlow"),t(B)}}function cD(e,t,n){const r=this;return o;function o(u){return Xe(u)?(e.enter("lineEnding"),e.consume(u),e.exit("lineEnding"),l):n(u)}function l(u){return r.parser.lazy[r.now().line]?n(u):t(u)}}function uD(e,t,n){return r;function r(o){return e.enter("lineEnding"),e.consume(o),e.exit("lineEnding"),e.attempt(Il,t,n)}}const dD={name:"htmlText",tokenize:hD};function hD(e,t,n){const r=this;let o,l,u;return c;function c(R){return e.enter("htmlText"),e.enter("htmlTextData"),e.consume(R),d}function d(R){return R===33?(e.consume(R),f):R===47?(e.consume(R),E):R===63?(e.consume(R),b):On(R)?(e.consume(R),L):n(R)}function f(R){return R===45?(e.consume(R),p):R===91?(e.consume(R),l=0,w):On(R)?(e.consume(R),_):n(R)}function p(R){return R===45?(e.consume(R),y):n(R)}function m(R){return R===null?n(R):R===45?(e.consume(R),x):Xe(R)?(u=m,Q(R)):(e.consume(R),m)}function x(R){return R===45?(e.consume(R),y):m(R)}function y(R){return R===62?U(R):R===45?x(R):m(R)}function w(R){const M="CDATA[";return R===M.charCodeAt(l++)?(e.consume(R),l===M.length?C:w):n(R)}function C(R){return R===null?n(R):R===93?(e.consume(R),v):Xe(R)?(u=C,Q(R)):(e.consume(R),C)}function v(R){return R===93?(e.consume(R),S):C(R)}function S(R){return R===62?U(R):R===93?(e.consume(R),S):C(R)}function _(R){return R===null||R===62?U(R):Xe(R)?(u=_,Q(R)):(e.consume(R),_)}function b(R){return R===null?n(R):R===63?(e.consume(R),j):Xe(R)?(u=b,Q(R)):(e.consume(R),b)}function j(R){return R===62?U(R):b(R)}function E(R){return On(R)?(e.consume(R),T):n(R)}function T(R){return R===45||An(R)?(e.consume(R),T):D(R)}function D(R){return Xe(R)?(u=D,Q(R)):pt(R)?(e.consume(R),D):U(R)}function L(R){return R===45||An(R)?(e.consume(R),L):R===47||R===62||Pt(R)?O(R):n(R)}function O(R){return R===47?(e.consume(R),U):R===58||R===95||On(R)?(e.consume(R),P):Xe(R)?(u=O,Q(R)):pt(R)?(e.consume(R),O):U(R)}function P(R){return R===45||R===46||R===58||R===95||An(R)?(e.consume(R),P):G(R)}function G(R){return R===61?(e.consume(R),W):Xe(R)?(u=G,Q(R)):pt(R)?(e.consume(R),G):O(R)}function W(R){return R===null||R===60||R===61||R===62||R===96?n(R):R===34||R===39?(e.consume(R),o=R,I):Xe(R)?(u=W,Q(R)):pt(R)?(e.consume(R),W):(e.consume(R),H)}function I(R){return R===o?(e.consume(R),o=void 0,V):R===null?n(R):Xe(R)?(u=I,Q(R)):(e.consume(R),I)}function H(R){return R===null||R===34||R===39||R===60||R===61||R===96?n(R):R===47||R===62||Pt(R)?O(R):(e.consume(R),H)}function V(R){return R===47||R===62||Pt(R)?O(R):n(R)}function U(R){return R===62?(e.consume(R),e.exit("htmlTextData"),e.exit("htmlText"),t):n(R)}function Q(R){return e.exit("htmlTextData"),e.enter("lineEnding"),e.consume(R),e.exit("lineEnding"),X}function X(R){return pt(R)?_t(e,z,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(R):z(R)}function z(R){return e.enter("htmlTextData"),u(R)}}const Qp={name:"labelEnd",resolveAll:gD,resolveTo:xD,tokenize:yD},fD={tokenize:bD},mD={tokenize:_D},pD={tokenize:vD};function gD(e){let t=-1;const n=[];for(;++t<e.length;){const r=e[t][1];if(n.push(e[t]),r.type==="labelImage"||r.type==="labelLink"||r.type==="labelEnd"){const o=r.type==="labelImage"?4:2;r.type="data",t+=o}}return e.length!==n.length&&lr(e,0,e.length,n),e}function xD(e,t){let n=e.length,r=0,o,l,u,c;for(;n--;)if(o=e[n][1],l){if(o.type==="link"||o.type==="labelLink"&&o._inactive)break;e[n][0]==="enter"&&o.type==="labelLink"&&(o._inactive=!0)}else if(u){if(e[n][0]==="enter"&&(o.type==="labelImage"||o.type==="labelLink")&&!o._balanced&&(l=n,o.type!=="labelLink")){r=2;break}}else o.type==="labelEnd"&&(u=n);const d={type:e[l][1].type==="labelLink"?"link":"image",start:{...e[l][1].start},end:{...e[e.length-1][1].end}},f={type:"label",start:{...e[l][1].start},end:{...e[u][1].end}},p={type:"labelText",start:{...e[l+r+2][1].end},end:{...e[u-2][1].start}};return c=[["enter",d,t],["enter",f,t]],c=_r(c,e.slice(l+1,l+r+3)),c=_r(c,[["enter",p,t]]),c=_r(c,fd(t.parser.constructs.insideSpan.null,e.slice(l+r+4,u-3),t)),c=_r(c,[["exit",p,t],e[u-2],e[u-1],["exit",f,t]]),c=_r(c,e.slice(u+1)),c=_r(c,[["exit",d,t]]),lr(e,l,e.length,c),e}function yD(e,t,n){const r=this;let o=r.events.length,l,u;for(;o--;)if((r.events[o][1].type==="labelImage"||r.events[o][1].type==="labelLink")&&!r.events[o][1]._balanced){l=r.events[o][1];break}return c;function c(x){return l?l._inactive?m(x):(u=r.parser.defined.includes(Rr(r.sliceSerialize({start:l.end,end:r.now()}))),e.enter("labelEnd"),e.enter("labelMarker"),e.consume(x),e.exit("labelMarker"),e.exit("labelEnd"),d):n(x)}function d(x){return x===40?e.attempt(fD,p,u?p:m)(x):x===91?e.attempt(mD,p,u?f:m)(x):u?p(x):m(x)}function f(x){return e.attempt(pD,p,m)(x)}function p(x){return t(x)}function m(x){return l._balanced=!0,n(x)}}function bD(e,t,n){return r;function r(m){return e.enter("resource"),e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),o}function o(m){return Pt(m)?ml(e,l)(m):l(m)}function l(m){return m===41?p(m):q1(e,u,c,"resourceDestination","resourceDestinationLiteral","resourceDestinationLiteralMarker","resourceDestinationRaw","resourceDestinationString",32)(m)}function u(m){return Pt(m)?ml(e,d)(m):p(m)}function c(m){return n(m)}function d(m){return m===34||m===39||m===40?Y1(e,f,n,"resourceTitle","resourceTitleMarker","resourceTitleString")(m):p(m)}function f(m){return Pt(m)?ml(e,p)(m):p(m)}function p(m){return m===41?(e.enter("resourceMarker"),e.consume(m),e.exit("resourceMarker"),e.exit("resource"),t):n(m)}}function _D(e,t,n){const r=this;return o;function o(c){return K1.call(r,e,l,u,"reference","referenceMarker","referenceString")(c)}function l(c){return r.parser.defined.includes(Rr(r.sliceSerialize(r.events[r.events.length-1][1]).slice(1,-1)))?t(c):n(c)}function u(c){return n(c)}}function vD(e,t,n){return r;function r(l){return e.enter("reference"),e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),o}function o(l){return l===93?(e.enter("referenceMarker"),e.consume(l),e.exit("referenceMarker"),e.exit("reference"),t):n(l)}}const SD={name:"labelStartImage",resolveAll:Qp.resolveAll,tokenize:wD};function wD(e,t,n){const r=this;return o;function o(c){return e.enter("labelImage"),e.enter("labelImageMarker"),e.consume(c),e.exit("labelImageMarker"),l}function l(c){return c===91?(e.enter("labelMarker"),e.consume(c),e.exit("labelMarker"),e.exit("labelImage"),u):n(c)}function u(c){return c===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(c):t(c)}}const CD={name:"labelStartLink",resolveAll:Qp.resolveAll,tokenize:kD};function kD(e,t,n){const r=this;return o;function o(u){return e.enter("labelLink"),e.enter("labelMarker"),e.consume(u),e.exit("labelMarker"),e.exit("labelLink"),l}function l(u){return u===94&&"_hiddenFootnoteSupport"in r.parser.constructs?n(u):t(u)}}const hm={name:"lineEnding",tokenize:ED};function ED(e,t){return n;function n(r){return e.enter("lineEnding"),e.consume(r),e.exit("lineEnding"),_t(e,t,"linePrefix")}}const ku={name:"thematicBreak",tokenize:jD};function jD(e,t,n){let r=0,o;return l;function l(f){return e.enter("thematicBreak"),u(f)}function u(f){return o=f,c(f)}function c(f){return f===o?(e.enter("thematicBreakSequence"),d(f)):r>=3&&(f===null||Xe(f))?(e.exit("thematicBreak"),t(f)):n(f)}function d(f){return f===o?(e.consume(f),r++,d):(e.exit("thematicBreakSequence"),pt(f)?_t(e,c,"whitespace")(f):c(f))}}const Fn={continuation:{tokenize:LD},exit:RD,name:"list",tokenize:AD},ND={partial:!0,tokenize:OD},TD={partial:!0,tokenize:DD};function AD(e,t,n){const r=this,o=r.events[r.events.length-1];let l=o&&o[1].type==="linePrefix"?o[2].sliceSerialize(o[1],!0).length:0,u=0;return c;function c(y){const w=r.containerState.type||(y===42||y===43||y===45?"listUnordered":"listOrdered");if(w==="listUnordered"?!r.containerState.marker||y===r.containerState.marker:rp(y)){if(r.containerState.type||(r.containerState.type=w,e.enter(w,{_container:!0})),w==="listUnordered")return e.enter("listItemPrefix"),y===42||y===45?e.check(ku,n,f)(y):f(y);if(!r.interrupt||y===49)return e.enter("listItemPrefix"),e.enter("listItemValue"),d(y)}return n(y)}function d(y){return rp(y)&&++u<10?(e.consume(y),d):(!r.interrupt||u<2)&&(r.containerState.marker?y===r.containerState.marker:y===41||y===46)?(e.exit("listItemValue"),f(y)):n(y)}function f(y){return e.enter("listItemMarker"),e.consume(y),e.exit("listItemMarker"),r.containerState.marker=r.containerState.marker||y,e.check(Il,r.interrupt?n:p,e.attempt(ND,x,m))}function p(y){return r.containerState.initialBlankLine=!0,l++,x(y)}function m(y){return pt(y)?(e.enter("listItemPrefixWhitespace"),e.consume(y),e.exit("listItemPrefixWhitespace"),x):n(y)}function x(y){return r.containerState.size=l+r.sliceSerialize(e.exit("listItemPrefix"),!0).length,t(y)}}function LD(e,t,n){const r=this;return r.containerState._closeFlow=void 0,e.check(Il,o,l);function o(c){return r.containerState.furtherBlankLines=r.containerState.furtherBlankLines||r.containerState.initialBlankLine,_t(e,t,"listItemIndent",r.containerState.size+1)(c)}function l(c){return r.containerState.furtherBlankLines||!pt(c)?(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,u(c)):(r.containerState.furtherBlankLines=void 0,r.containerState.initialBlankLine=void 0,e.attempt(TD,t,u)(c))}function u(c){return r.containerState._closeFlow=!0,r.interrupt=void 0,_t(e,e.attempt(Fn,t,n),"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(c)}}function DD(e,t,n){const r=this;return _t(e,o,"listItemIndent",r.containerState.size+1);function o(l){const u=r.events[r.events.length-1];return u&&u[1].type==="listItemIndent"&&u[2].sliceSerialize(u[1],!0).length===r.containerState.size?t(l):n(l)}}function RD(e){e.exit(this.containerState.type)}function OD(e,t,n){const r=this;return _t(e,o,"listItemPrefixWhitespace",r.parser.constructs.disable.null.includes("codeIndented")?void 0:5);function o(l){const u=r.events[r.events.length-1];return!pt(l)&&u&&u[1].type==="listItemPrefixWhitespace"?t(l):n(l)}}const Fv={name:"setextUnderline",resolveTo:ID,tokenize:MD};function ID(e,t){let n=e.length,r,o,l;for(;n--;)if(e[n][0]==="enter"){if(e[n][1].type==="content"){r=n;break}e[n][1].type==="paragraph"&&(o=n)}else e[n][1].type==="content"&&e.splice(n,1),!l&&e[n][1].type==="definition"&&(l=n);const u={type:"setextHeading",start:{...e[r][1].start},end:{...e[e.length-1][1].end}};return e[o][1].type="setextHeadingText",l?(e.splice(o,0,["enter",u,t]),e.splice(l+1,0,["exit",e[r][1],t]),e[r][1].end={...e[l][1].end}):e[r][1]=u,e.push(["exit",u,t]),e}function MD(e,t,n){const r=this;let o;return l;function l(f){let p=r.events.length,m;for(;p--;)if(r.events[p][1].type!=="lineEnding"&&r.events[p][1].type!=="linePrefix"&&r.events[p][1].type!=="content"){m=r.events[p][1].type==="paragraph";break}return!r.parser.lazy[r.now().line]&&(r.interrupt||m)?(e.enter("setextHeadingLine"),o=f,u(f)):n(f)}function u(f){return e.enter("setextHeadingLineSequence"),c(f)}function c(f){return f===o?(e.consume(f),c):(e.exit("setextHeadingLineSequence"),pt(f)?_t(e,d,"lineSuffix")(f):d(f))}function d(f){return f===null||Xe(f)?(e.exit("setextHeadingLine"),t(f)):n(f)}}const PD={tokenize:BD};function BD(e){const t=this,n=e.attempt(Il,r,e.attempt(this.parser.constructs.flowInitial,o,_t(e,e.attempt(this.parser.constructs.flow,o,e.attempt(FL,o)),"linePrefix")));return n;function r(l){if(l===null){e.consume(l);return}return e.enter("lineEndingBlank"),e.consume(l),e.exit("lineEndingBlank"),t.currentConstruct=void 0,n}function o(l){if(l===null){e.consume(l);return}return e.enter("lineEnding"),e.consume(l),e.exit("lineEnding"),t.currentConstruct=void 0,n}}const $D={resolveAll:Q1()},zD=X1("string"),HD=X1("text");function X1(e){return{resolveAll:Q1(e==="text"?UD:void 0),tokenize:t};function t(n){const r=this,o=this.parser.constructs[e],l=n.attempt(o,u,c);return u;function u(p){return f(p)?l(p):c(p)}function c(p){if(p===null){n.consume(p);return}return n.enter("data"),n.consume(p),d}function d(p){return f(p)?(n.exit("data"),l(p)):(n.consume(p),d)}function f(p){if(p===null)return!0;const m=o[p];let x=-1;if(m)for(;++x<m.length;){const y=m[x];if(!y.previous||y.previous.call(r,r.previous))return!0}return!1}}}function Q1(e){return t;function t(n,r){let o=-1,l;for(;++o<=n.length;)l===void 0?n[o]&&n[o][1].type==="data"&&(l=o,o++):(!n[o]||n[o][1].type!=="data")&&(o!==l+2&&(n[l][1].end=n[o-1][1].end,n.splice(l+2,o-l-2),o=l+2),l=void 0);return e?e(n,r):n}}function UD(e,t){let n=0;for(;++n<=e.length;)if((n===e.length||e[n][1].type==="lineEnding")&&e[n-1][1].type==="data"){const r=e[n-1][1],o=t.sliceStream(r);let l=o.length,u=-1,c=0,d;for(;l--;){const f=o[l];if(typeof f=="string"){for(u=f.length;f.charCodeAt(u-1)===32;)c++,u--;if(u)break;u=-1}else if(f===-2)d=!0,c++;else if(f!==-1){l++;break}}if(t._contentTypeTextTrailing&&n===e.length&&(c=0),c){const f={type:n===e.length||d||c<2?"lineSuffix":"hardBreakTrailing",start:{_bufferIndex:l?u:r.start._bufferIndex+u,_index:r.start._index+l,line:r.end.line,column:r.end.column-c,offset:r.end.offset-c},end:{...r.end}};r.end={...f.start},r.start.offset===r.end.offset?Object.assign(r,f):(e.splice(n,0,["enter",f,t],["exit",f,t]),n+=2)}n++}return e}const FD={42:Fn,43:Fn,45:Fn,48:Fn,49:Fn,50:Fn,51:Fn,52:Fn,53:Fn,54:Fn,55:Fn,56:Fn,57:Fn,62:F1},VD={91:KL},GD={[-2]:dm,[-1]:dm,32:dm},WD={35:eD,42:ku,45:[Fv,ku],60:sD,61:Fv,95:ku,96:Hv,126:Hv},qD={38:G1,92:V1},KD={[-5]:hm,[-4]:hm,[-3]:hm,33:SD,38:G1,42:sp,60:[CL,dD],91:CD,92:[JL,V1],93:Qp,95:sp,96:PL},YD={null:[sp,$D]},XD={null:[42,95]},QD={null:[]},JD=Object.freeze(Object.defineProperty({__proto__:null,attentionMarkers:XD,contentInitial:VD,disable:QD,document:FD,flow:WD,flowInitial:GD,insideSpan:YD,string:qD,text:KD},Symbol.toStringTag,{value:"Module"}));function ZD(e,t,n){let r={_bufferIndex:-1,_index:0,line:n&&n.line||1,column:n&&n.column||1,offset:n&&n.offset||0};const o={},l=[];let u=[],c=[];const d={attempt:D(E),check:D(T),consume:_,enter:b,exit:j,interrupt:D(T,{interrupt:!0})},f={code:null,containerState:{},defineSkip:C,events:[],now:w,parser:e,previous:null,sliceSerialize:x,sliceStream:y,write:m};let p=t.tokenize.call(f,d);return t.resolveAll&&l.push(t),f;function m(G){return u=_r(u,G),v(),u[u.length-1]!==null?[]:(L(t,0),f.events=fd(l,f.events,f),f.events)}function x(G,W){return tR(y(G),W)}function y(G){return eR(u,G)}function w(){const{_bufferIndex:G,_index:W,line:I,column:H,offset:V}=r;return{_bufferIndex:G,_index:W,line:I,column:H,offset:V}}function C(G){o[G.line]=G.column,P()}function v(){let G;for(;r._index<u.length;){const W=u[r._index];if(typeof W=="string")for(G=r._index,r._bufferIndex<0&&(r._bufferIndex=0);r._index===G&&r._bufferIndex<W.length;)S(W.charCodeAt(r._bufferIndex));else S(W)}}function S(G){p=p(G)}function _(G){Xe(G)?(r.line++,r.column=1,r.offset+=G===-3?2:1,P()):G!==-1&&(r.column++,r.offset++),r._bufferIndex<0?r._index++:(r._bufferIndex++,r._bufferIndex===u[r._index].length&&(r._bufferIndex=-1,r._index++)),f.previous=G}function b(G,W){const I=W||{};return I.type=G,I.start=w(),f.events.push(["enter",I,f]),c.push(I),I}function j(G){const W=c.pop();return W.end=w(),f.events.push(["exit",W,f]),W}function E(G,W){L(G,W.from)}function T(G,W){W.restore()}function D(G,W){return I;function I(H,V,U){let Q,X,z,R;return Array.isArray(H)?q(H):"tokenize"in H?q([H]):M(H);function M(ne){return K;function K(F){const te=F!==null&&ne[F],re=F!==null&&ne.null,ge=[...Array.isArray(te)?te:te?[te]:[],...Array.isArray(re)?re:re?[re]:[]];return q(ge)(F)}}function q(ne){return Q=ne,X=0,ne.length===0?U:B(ne[X])}function B(ne){return K;function K(F){return R=O(),z=ne,ne.partial||(f.currentConstruct=ne),ne.name&&f.parser.constructs.disable.null.includes(ne.name)?J():ne.tokenize.call(W?Object.assign(Object.create(f),W):f,d,ee,J)(F)}}function ee(ne){return G(z,R),V}function J(ne){return R.restore(),++X<Q.length?B(Q[X]):U}}}function L(G,W){G.resolveAll&&!l.includes(G)&&l.push(G),G.resolve&&lr(f.events,W,f.events.length-W,G.resolve(f.events.slice(W),f)),G.resolveTo&&(f.events=G.resolveTo(f.events,f))}function O(){const G=w(),W=f.previous,I=f.currentConstruct,H=f.events.length,V=Array.from(c);return{from:H,restore:U};function U(){r=G,f.previous=W,f.currentConstruct=I,f.events.length=H,c=V,P()}}function P(){r.line in o&&r.column<2&&(r.column=o[r.line],r.offset+=o[r.line]-1)}}function eR(e,t){const n=t.start._index,r=t.start._bufferIndex,o=t.end._index,l=t.end._bufferIndex;let u;if(n===o)u=[e[n].slice(r,l)];else{if(u=e.slice(n,o),r>-1){const c=u[0];typeof c=="string"?u[0]=c.slice(r):u.shift()}l>0&&u.push(e[o].slice(0,l))}return u}function tR(e,t){let n=-1;const r=[];let o;for(;++n<e.length;){const l=e[n];let u;if(typeof l=="string")u=l;else switch(l){case-5:{u="\r";break}case-4:{u=`
|
|
98
|
+
`;break}case-3:{u=`\r
|
|
99
|
+
`;break}case-2:{u=t?" ":" ";break}case-1:{if(!t&&o)continue;u=" ";break}default:u=String.fromCharCode(l)}o=l===-2,r.push(u)}return r.join("")}function nR(e){const r={constructs:H1([JD,...(e||{}).extensions||[]]),content:o(xL),defined:[],document:o(bL),flow:o(PD),lazy:{},string:o(zD),text:o(HD)};return r;function o(l){return u;function u(c){return ZD(r,l,c)}}}function rR(e){for(;!W1(e););return e}const Vv=/[\0\t\n\r]/g;function sR(){let e=1,t="",n=!0,r;return o;function o(l,u,c){const d=[];let f,p,m,x,y;for(l=t+(typeof l=="string"?l.toString():new TextDecoder(u||void 0).decode(l)),m=0,t="",n&&(l.charCodeAt(0)===65279&&m++,n=void 0);m<l.length;){if(Vv.lastIndex=m,f=Vv.exec(l),x=f&&f.index!==void 0?f.index:l.length,y=l.charCodeAt(x),!f){t=l.slice(m);break}if(y===10&&m===x&&r)d.push(-3),r=void 0;else switch(r&&(d.push(-5),r=void 0),m<x&&(d.push(l.slice(m,x)),e+=x-m),y){case 0:{d.push(65533),e++;break}case 9:{for(p=Math.ceil(e/4)*4,d.push(-2);e++<p;)d.push(-1);break}case 10:{d.push(-4),e=1;break}default:r=!0,e=1}m=x+1}return c&&(r&&d.push(-5),t&&d.push(t),d.push(null)),d}}const iR=/\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;function aR(e){return e.replace(iR,oR)}function oR(e,t,n){if(t)return t;if(n.charCodeAt(0)===35){const o=n.charCodeAt(1),l=o===120||o===88;return U1(n.slice(l?2:1),l?16:10)}return Xp(n)||e}const J1={}.hasOwnProperty;function lR(e,t,n){return t&&typeof t=="object"&&(n=t,t=void 0),cR(n)(rR(nR(n).document().write(sR()(e,t,!0))))}function cR(e){const t={transforms:[],canContainEols:["emphasis","fragment","heading","paragraph","strong"],enter:{autolink:l(fe),autolinkProtocol:O,autolinkEmail:O,atxHeading:l(Ne),blockQuote:l(re),characterEscape:O,characterReference:O,codeFenced:l(ge),codeFencedFenceInfo:u,codeFencedFenceMeta:u,codeIndented:l(ge,u),codeText:l(_e,u),codeTextData:O,data:O,codeFlowValue:O,definition:l(Be),definitionDestinationString:u,definitionLabelString:u,definitionTitleString:u,emphasis:l(He),hardBreakEscape:l(je),hardBreakTrailing:l(je),htmlFlow:l(ae,u),htmlFlowData:O,htmlText:l(ae,u),htmlTextData:O,image:l(ze),label:u,link:l(fe),listItem:l(oe),listItemValue:x,listOrdered:l(ue,m),listUnordered:l(ue),paragraph:l(Oe),reference:B,referenceString:u,resourceDestinationString:u,resourceTitleString:u,setextHeading:l(Ne),strong:l(tt),thematicBreak:l(vt)},exit:{atxHeading:d(),atxHeadingSequence:E,autolink:d(),autolinkEmail:te,autolinkProtocol:F,blockQuote:d(),characterEscapeValue:P,characterReferenceMarkerHexadecimal:J,characterReferenceMarkerNumeric:J,characterReferenceValue:ne,characterReference:K,codeFenced:d(v),codeFencedFence:C,codeFencedFenceInfo:y,codeFencedFenceMeta:w,codeFlowValue:P,codeIndented:d(S),codeText:d(V),codeTextData:P,data:P,definition:d(),definitionDestinationString:j,definitionLabelString:_,definitionTitleString:b,emphasis:d(),hardBreakEscape:d(W),hardBreakTrailing:d(W),htmlFlow:d(I),htmlFlowData:P,htmlText:d(H),htmlTextData:P,image:d(Q),label:z,labelText:X,lineEnding:G,link:d(U),listItem:d(),listOrdered:d(),listUnordered:d(),paragraph:d(),referenceString:ee,resourceDestinationString:R,resourceTitleString:M,resource:q,setextHeading:d(L),setextHeadingLineSequence:D,setextHeadingText:T,strong:d(),thematicBreak:d()}};Z1(t,(e||{}).mdastExtensions||[]);const n={};return r;function r(ce){let Te={type:"root",children:[]};const $e={stack:[Te],tokenStack:[],config:t,enter:c,exit:f,buffer:u,resume:p,data:n},Ke=[];let rt=-1;for(;++rt<ce.length;)if(ce[rt][1].type==="listOrdered"||ce[rt][1].type==="listUnordered")if(ce[rt][0]==="enter")Ke.push(rt);else{const Et=Ke.pop();rt=o(ce,Et,rt)}for(rt=-1;++rt<ce.length;){const Et=t[ce[rt][0]];J1.call(Et,ce[rt][1].type)&&Et[ce[rt][1].type].call(Object.assign({sliceSerialize:ce[rt][2].sliceSerialize},$e),ce[rt][1])}if($e.tokenStack.length>0){const Et=$e.tokenStack[$e.tokenStack.length-1];(Et[1]||Gv).call($e,void 0,Et[0])}for(Te.position={start:Gs(ce.length>0?ce[0][1].start:{line:1,column:1,offset:0}),end:Gs(ce.length>0?ce[ce.length-2][1].end:{line:1,column:1,offset:0})},rt=-1;++rt<t.transforms.length;)Te=t.transforms[rt](Te)||Te;return Te}function o(ce,Te,$e){let Ke=Te-1,rt=-1,Et=!1,at,pe,Ie,We;for(;++Ke<=$e;){const nt=ce[Ke];switch(nt[1].type){case"listUnordered":case"listOrdered":case"blockQuote":{nt[0]==="enter"?rt++:rt--,We=void 0;break}case"lineEndingBlank":{nt[0]==="enter"&&(at&&!We&&!rt&&!Ie&&(Ie=Ke),We=void 0);break}case"linePrefix":case"listItemValue":case"listItemMarker":case"listItemPrefix":case"listItemPrefixWhitespace":break;default:We=void 0}if(!rt&&nt[0]==="enter"&&nt[1].type==="listItemPrefix"||rt===-1&&nt[0]==="exit"&&(nt[1].type==="listUnordered"||nt[1].type==="listOrdered")){if(at){let En=Ke;for(pe=void 0;En--;){const Wt=ce[En];if(Wt[1].type==="lineEnding"||Wt[1].type==="lineEndingBlank"){if(Wt[0]==="exit")continue;pe&&(ce[pe][1].type="lineEndingBlank",Et=!0),Wt[1].type="lineEnding",pe=En}else if(!(Wt[1].type==="linePrefix"||Wt[1].type==="blockQuotePrefix"||Wt[1].type==="blockQuotePrefixWhitespace"||Wt[1].type==="blockQuoteMarker"||Wt[1].type==="listItemIndent"))break}Ie&&(!pe||Ie<pe)&&(at._spread=!0),at.end=Object.assign({},pe?ce[pe][1].start:nt[1].end),ce.splice(pe||Ke,0,["exit",at,nt[2]]),Ke++,$e++}if(nt[1].type==="listItemPrefix"){const En={type:"listItem",_spread:!1,start:Object.assign({},nt[1].start),end:void 0};at=En,ce.splice(Ke,0,["enter",En,nt[2]]),Ke++,$e++,Ie=void 0,We=!0}}}return ce[Te][1]._spread=Et,$e}function l(ce,Te){return $e;function $e(Ke){c.call(this,ce(Ke),Ke),Te&&Te.call(this,Ke)}}function u(){this.stack.push({type:"fragment",children:[]})}function c(ce,Te,$e){this.stack[this.stack.length-1].children.push(ce),this.stack.push(ce),this.tokenStack.push([Te,$e||void 0]),ce.position={start:Gs(Te.start),end:void 0}}function d(ce){return Te;function Te($e){ce&&ce.call(this,$e),f.call(this,$e)}}function f(ce,Te){const $e=this.stack.pop(),Ke=this.tokenStack.pop();if(Ke)Ke[0].type!==ce.type&&(Te?Te.call(this,ce,Ke[0]):(Ke[1]||Gv).call(this,ce,Ke[0]));else throw new Error("Cannot close `"+ce.type+"` ("+fl({start:ce.start,end:ce.end})+"): it’s not open");$e.position.end=Gs(ce.end)}function p(){return Yp(this.stack.pop())}function m(){this.data.expectingFirstListItemValue=!0}function x(ce){if(this.data.expectingFirstListItemValue){const Te=this.stack[this.stack.length-2];Te.start=Number.parseInt(this.sliceSerialize(ce),10),this.data.expectingFirstListItemValue=void 0}}function y(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.lang=ce}function w(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.meta=ce}function C(){this.data.flowCodeInside||(this.buffer(),this.data.flowCodeInside=!0)}function v(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.value=ce.replace(/^(\r?\n|\r)|(\r?\n|\r)$/g,""),this.data.flowCodeInside=void 0}function S(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.value=ce.replace(/(\r?\n|\r)$/g,"")}function _(ce){const Te=this.resume(),$e=this.stack[this.stack.length-1];$e.label=Te,$e.identifier=Rr(this.sliceSerialize(ce)).toLowerCase()}function b(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.title=ce}function j(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.url=ce}function E(ce){const Te=this.stack[this.stack.length-1];if(!Te.depth){const $e=this.sliceSerialize(ce).length;Te.depth=$e}}function T(){this.data.setextHeadingSlurpLineEnding=!0}function D(ce){const Te=this.stack[this.stack.length-1];Te.depth=this.sliceSerialize(ce).codePointAt(0)===61?1:2}function L(){this.data.setextHeadingSlurpLineEnding=void 0}function O(ce){const $e=this.stack[this.stack.length-1].children;let Ke=$e[$e.length-1];(!Ke||Ke.type!=="text")&&(Ke=Ze(),Ke.position={start:Gs(ce.start),end:void 0},$e.push(Ke)),this.stack.push(Ke)}function P(ce){const Te=this.stack.pop();Te.value+=this.sliceSerialize(ce),Te.position.end=Gs(ce.end)}function G(ce){const Te=this.stack[this.stack.length-1];if(this.data.atHardBreak){const $e=Te.children[Te.children.length-1];$e.position.end=Gs(ce.end),this.data.atHardBreak=void 0;return}!this.data.setextHeadingSlurpLineEnding&&t.canContainEols.includes(Te.type)&&(O.call(this,ce),P.call(this,ce))}function W(){this.data.atHardBreak=!0}function I(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.value=ce}function H(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.value=ce}function V(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.value=ce}function U(){const ce=this.stack[this.stack.length-1];if(this.data.inReference){const Te=this.data.referenceType||"shortcut";ce.type+="Reference",ce.referenceType=Te,delete ce.url,delete ce.title}else delete ce.identifier,delete ce.label;this.data.referenceType=void 0}function Q(){const ce=this.stack[this.stack.length-1];if(this.data.inReference){const Te=this.data.referenceType||"shortcut";ce.type+="Reference",ce.referenceType=Te,delete ce.url,delete ce.title}else delete ce.identifier,delete ce.label;this.data.referenceType=void 0}function X(ce){const Te=this.sliceSerialize(ce),$e=this.stack[this.stack.length-2];$e.label=aR(Te),$e.identifier=Rr(Te).toLowerCase()}function z(){const ce=this.stack[this.stack.length-1],Te=this.resume(),$e=this.stack[this.stack.length-1];if(this.data.inReference=!0,$e.type==="link"){const Ke=ce.children;$e.children=Ke}else $e.alt=Te}function R(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.url=ce}function M(){const ce=this.resume(),Te=this.stack[this.stack.length-1];Te.title=ce}function q(){this.data.inReference=void 0}function B(){this.data.referenceType="collapsed"}function ee(ce){const Te=this.resume(),$e=this.stack[this.stack.length-1];$e.label=Te,$e.identifier=Rr(this.sliceSerialize(ce)).toLowerCase(),this.data.referenceType="full"}function J(ce){this.data.characterReferenceType=ce.type}function ne(ce){const Te=this.sliceSerialize(ce),$e=this.data.characterReferenceType;let Ke;$e?(Ke=U1(Te,$e==="characterReferenceMarkerNumeric"?10:16),this.data.characterReferenceType=void 0):Ke=Xp(Te);const rt=this.stack[this.stack.length-1];rt.value+=Ke}function K(ce){const Te=this.stack.pop();Te.position.end=Gs(ce.end)}function F(ce){P.call(this,ce);const Te=this.stack[this.stack.length-1];Te.url=this.sliceSerialize(ce)}function te(ce){P.call(this,ce);const Te=this.stack[this.stack.length-1];Te.url="mailto:"+this.sliceSerialize(ce)}function re(){return{type:"blockquote",children:[]}}function ge(){return{type:"code",lang:null,meta:null,value:""}}function _e(){return{type:"inlineCode",value:""}}function Be(){return{type:"definition",identifier:"",label:null,title:null,url:""}}function He(){return{type:"emphasis",children:[]}}function Ne(){return{type:"heading",depth:0,children:[]}}function je(){return{type:"break"}}function ae(){return{type:"html",value:""}}function ze(){return{type:"image",title:null,url:"",alt:null}}function fe(){return{type:"link",title:null,url:"",children:[]}}function ue(ce){return{type:"list",ordered:ce.type==="listOrdered",start:null,spread:ce._spread,children:[]}}function oe(ce){return{type:"listItem",spread:ce._spread,checked:null,children:[]}}function Oe(){return{type:"paragraph",children:[]}}function tt(){return{type:"strong",children:[]}}function Ze(){return{type:"text",value:""}}function vt(){return{type:"thematicBreak"}}}function Gs(e){return{line:e.line,column:e.column,offset:e.offset}}function Z1(e,t){let n=-1;for(;++n<t.length;){const r=t[n];Array.isArray(r)?Z1(e,r):uR(e,r)}}function uR(e,t){let n;for(n in t)if(J1.call(t,n))switch(n){case"canContainEols":{const r=t[n];r&&e[n].push(...r);break}case"transforms":{const r=t[n];r&&e[n].push(...r);break}case"enter":case"exit":{const r=t[n];r&&Object.assign(e[n],r);break}}}function Gv(e,t){throw e?new Error("Cannot close `"+e.type+"` ("+fl({start:e.start,end:e.end})+"): a different token (`"+t.type+"`, "+fl({start:t.start,end:t.end})+") is open"):new Error("Cannot close document, a token (`"+t.type+"`, "+fl({start:t.start,end:t.end})+") is still open")}function dR(e){const t=this;t.parser=n;function n(r){return lR(r,{...t.data("settings"),...e,extensions:t.data("micromarkExtensions")||[],mdastExtensions:t.data("fromMarkdownExtensions")||[]})}}function hR(e,t){const n={type:"element",tagName:"blockquote",properties:{},children:e.wrap(e.all(t),!0)};return e.patch(t,n),e.applyData(t,n)}function fR(e,t){const n={type:"element",tagName:"br",properties:{},children:[]};return e.patch(t,n),[e.applyData(t,n),{type:"text",value:`
|
|
100
|
+
`}]}function mR(e,t){const n=t.value?t.value+`
|
|
101
|
+
`:"",r={},o=t.lang?t.lang.split(/\s+/):[];o.length>0&&(r.className=["language-"+o[0]]);let l={type:"element",tagName:"code",properties:r,children:[{type:"text",value:n}]};return t.meta&&(l.data={meta:t.meta}),e.patch(t,l),l=e.applyData(t,l),l={type:"element",tagName:"pre",properties:{},children:[l]},e.patch(t,l),l}function pR(e,t){const n={type:"element",tagName:"del",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function gR(e,t){const n={type:"element",tagName:"em",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function xR(e,t){const n=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",r=String(t.identifier).toUpperCase(),o=eo(r.toLowerCase()),l=e.footnoteOrder.indexOf(r);let u,c=e.footnoteCounts.get(r);c===void 0?(c=0,e.footnoteOrder.push(r),u=e.footnoteOrder.length):u=l+1,c+=1,e.footnoteCounts.set(r,c);const d={type:"element",tagName:"a",properties:{href:"#"+n+"fn-"+o,id:n+"fnref-"+o+(c>1?"-"+c:""),dataFootnoteRef:!0,ariaDescribedBy:["footnote-label"]},children:[{type:"text",value:String(u)}]};e.patch(t,d);const f={type:"element",tagName:"sup",properties:{},children:[d]};return e.patch(t,f),e.applyData(t,f)}function yR(e,t){const n={type:"element",tagName:"h"+t.depth,properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function bR(e,t){if(e.options.allowDangerousHtml){const n={type:"raw",value:t.value};return e.patch(t,n),e.applyData(t,n)}}function ew(e,t){const n=t.referenceType;let r="]";if(n==="collapsed"?r+="[]":n==="full"&&(r+="["+(t.label||t.identifier)+"]"),t.type==="imageReference")return[{type:"text",value:"!["+t.alt+r}];const o=e.all(t),l=o[0];l&&l.type==="text"?l.value="["+l.value:o.unshift({type:"text",value:"["});const u=o[o.length-1];return u&&u.type==="text"?u.value+=r:o.push({type:"text",value:r}),o}function _R(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ew(e,t);const o={src:eo(r.url||""),alt:t.alt};r.title!==null&&r.title!==void 0&&(o.title=r.title);const l={type:"element",tagName:"img",properties:o,children:[]};return e.patch(t,l),e.applyData(t,l)}function vR(e,t){const n={src:eo(t.url)};t.alt!==null&&t.alt!==void 0&&(n.alt=t.alt),t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"img",properties:n,children:[]};return e.patch(t,r),e.applyData(t,r)}function SR(e,t){const n={type:"text",value:t.value.replace(/\r?\n|\r/g," ")};e.patch(t,n);const r={type:"element",tagName:"code",properties:{},children:[n]};return e.patch(t,r),e.applyData(t,r)}function wR(e,t){const n=String(t.identifier).toUpperCase(),r=e.definitionById.get(n);if(!r)return ew(e,t);const o={href:eo(r.url||"")};r.title!==null&&r.title!==void 0&&(o.title=r.title);const l={type:"element",tagName:"a",properties:o,children:e.all(t)};return e.patch(t,l),e.applyData(t,l)}function CR(e,t){const n={href:eo(t.url)};t.title!==null&&t.title!==void 0&&(n.title=t.title);const r={type:"element",tagName:"a",properties:n,children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function kR(e,t,n){const r=e.all(t),o=n?ER(n):tw(t),l={},u=[];if(typeof t.checked=="boolean"){const p=r[0];let m;p&&p.type==="element"&&p.tagName==="p"?m=p:(m={type:"element",tagName:"p",properties:{},children:[]},r.unshift(m)),m.children.length>0&&m.children.unshift({type:"text",value:" "}),m.children.unshift({type:"element",tagName:"input",properties:{type:"checkbox",checked:t.checked,disabled:!0},children:[]}),l.className=["task-list-item"]}let c=-1;for(;++c<r.length;){const p=r[c];(o||c!==0||p.type!=="element"||p.tagName!=="p")&&u.push({type:"text",value:`
|
|
102
|
+
`}),p.type==="element"&&p.tagName==="p"&&!o?u.push(...p.children):u.push(p)}const d=r[r.length-1];d&&(o||d.type!=="element"||d.tagName!=="p")&&u.push({type:"text",value:`
|
|
103
|
+
`});const f={type:"element",tagName:"li",properties:l,children:u};return e.patch(t,f),e.applyData(t,f)}function ER(e){let t=!1;if(e.type==="list"){t=e.spread||!1;const n=e.children;let r=-1;for(;!t&&++r<n.length;)t=tw(n[r])}return t}function tw(e){const t=e.spread;return t??e.children.length>1}function jR(e,t){const n={},r=e.all(t);let o=-1;for(typeof t.start=="number"&&t.start!==1&&(n.start=t.start);++o<r.length;){const u=r[o];if(u.type==="element"&&u.tagName==="li"&&u.properties&&Array.isArray(u.properties.className)&&u.properties.className.includes("task-list-item")){n.className=["contains-task-list"];break}}const l={type:"element",tagName:t.ordered?"ol":"ul",properties:n,children:e.wrap(r,!0)};return e.patch(t,l),e.applyData(t,l)}function NR(e,t){const n={type:"element",tagName:"p",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function TR(e,t){const n={type:"root",children:e.wrap(e.all(t))};return e.patch(t,n),e.applyData(t,n)}function AR(e,t){const n={type:"element",tagName:"strong",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}function LR(e,t){const n=e.all(t),r=n.shift(),o=[];if(r){const u={type:"element",tagName:"thead",properties:{},children:e.wrap([r],!0)};e.patch(t.children[0],u),o.push(u)}if(n.length>0){const u={type:"element",tagName:"tbody",properties:{},children:e.wrap(n,!0)},c=Gp(t.children[1]),d=O1(t.children[t.children.length-1]);c&&d&&(u.position={start:c,end:d}),o.push(u)}const l={type:"element",tagName:"table",properties:{},children:e.wrap(o,!0)};return e.patch(t,l),e.applyData(t,l)}function DR(e,t,n){const r=n?n.children:void 0,l=(r?r.indexOf(t):1)===0?"th":"td",u=n&&n.type==="table"?n.align:void 0,c=u?u.length:t.children.length;let d=-1;const f=[];for(;++d<c;){const m=t.children[d],x={},y=u?u[d]:void 0;y&&(x.align=y);let w={type:"element",tagName:l,properties:x,children:[]};m&&(w.children=e.all(m),e.patch(m,w),w=e.applyData(m,w)),f.push(w)}const p={type:"element",tagName:"tr",properties:{},children:e.wrap(f,!0)};return e.patch(t,p),e.applyData(t,p)}function RR(e,t){const n={type:"element",tagName:"td",properties:{},children:e.all(t)};return e.patch(t,n),e.applyData(t,n)}const Wv=9,qv=32;function OR(e){const t=String(e),n=/\r?\n|\r/g;let r=n.exec(t),o=0;const l=[];for(;r;)l.push(Kv(t.slice(o,r.index),o>0,!0),r[0]),o=r.index+r[0].length,r=n.exec(t);return l.push(Kv(t.slice(o),o>0,!1)),l.join("")}function Kv(e,t,n){let r=0,o=e.length;if(t){let l=e.codePointAt(r);for(;l===Wv||l===qv;)r++,l=e.codePointAt(r)}if(n){let l=e.codePointAt(o-1);for(;l===Wv||l===qv;)o--,l=e.codePointAt(o-1)}return o>r?e.slice(r,o):""}function IR(e,t){const n={type:"text",value:OR(String(t.value))};return e.patch(t,n),e.applyData(t,n)}function MR(e,t){const n={type:"element",tagName:"hr",properties:{},children:[]};return e.patch(t,n),e.applyData(t,n)}const PR={blockquote:hR,break:fR,code:mR,delete:pR,emphasis:gR,footnoteReference:xR,heading:yR,html:bR,imageReference:_R,image:vR,inlineCode:SR,linkReference:wR,link:CR,listItem:kR,list:jR,paragraph:NR,root:TR,strong:AR,table:LR,tableCell:RR,tableRow:DR,text:IR,thematicBreak:MR,toml:ou,yaml:ou,definition:ou,footnoteDefinition:ou};function ou(){}const nw=-1,md=0,pl=1,Pu=2,Jp=3,Zp=4,eg=5,tg=6,rw=7,sw=8,Yv=typeof self=="object"?self:globalThis,BR=(e,t)=>{const n=(o,l)=>(e.set(l,o),o),r=o=>{if(e.has(o))return e.get(o);const[l,u]=t[o];switch(l){case md:case nw:return n(u,o);case pl:{const c=n([],o);for(const d of u)c.push(r(d));return c}case Pu:{const c=n({},o);for(const[d,f]of u)c[r(d)]=r(f);return c}case Jp:return n(new Date(u),o);case Zp:{const{source:c,flags:d}=u;return n(new RegExp(c,d),o)}case eg:{const c=n(new Map,o);for(const[d,f]of u)c.set(r(d),r(f));return c}case tg:{const c=n(new Set,o);for(const d of u)c.add(r(d));return c}case rw:{const{name:c,message:d}=u;return n(new Yv[c](d),o)}case sw:return n(BigInt(u),o);case"BigInt":return n(Object(BigInt(u)),o);case"ArrayBuffer":return n(new Uint8Array(u).buffer,u);case"DataView":{const{buffer:c}=new Uint8Array(u);return n(new DataView(c),u)}}return n(new Yv[l](u),o)};return r},Xv=e=>BR(new Map,e)(0),Na="",{toString:$R}={},{keys:zR}=Object,nl=e=>{const t=typeof e;if(t!=="object"||!e)return[md,t];const n=$R.call(e).slice(8,-1);switch(n){case"Array":return[pl,Na];case"Object":return[Pu,Na];case"Date":return[Jp,Na];case"RegExp":return[Zp,Na];case"Map":return[eg,Na];case"Set":return[tg,Na];case"DataView":return[pl,n]}return n.includes("Array")?[pl,n]:n.includes("Error")?[rw,n]:[Pu,n]},lu=([e,t])=>e===md&&(t==="function"||t==="symbol"),HR=(e,t,n,r)=>{const o=(u,c)=>{const d=r.push(u)-1;return n.set(c,d),d},l=u=>{if(n.has(u))return n.get(u);let[c,d]=nl(u);switch(c){case md:{let p=u;switch(d){case"bigint":c=sw,p=u.toString();break;case"function":case"symbol":if(e)throw new TypeError("unable to serialize "+d);p=null;break;case"undefined":return o([nw],u)}return o([c,p],u)}case pl:{if(d){let x=u;return d==="DataView"?x=new Uint8Array(u.buffer):d==="ArrayBuffer"&&(x=new Uint8Array(u)),o([d,[...x]],u)}const p=[],m=o([c,p],u);for(const x of u)p.push(l(x));return m}case Pu:{if(d)switch(d){case"BigInt":return o([d,u.toString()],u);case"Boolean":case"Number":case"String":return o([d,u.valueOf()],u)}if(t&&"toJSON"in u)return l(u.toJSON());const p=[],m=o([c,p],u);for(const x of zR(u))(e||!lu(nl(u[x])))&&p.push([l(x),l(u[x])]);return m}case Jp:return o([c,u.toISOString()],u);case Zp:{const{source:p,flags:m}=u;return o([c,{source:p,flags:m}],u)}case eg:{const p=[],m=o([c,p],u);for(const[x,y]of u)(e||!(lu(nl(x))||lu(nl(y))))&&p.push([l(x),l(y)]);return m}case tg:{const p=[],m=o([c,p],u);for(const x of u)(e||!lu(nl(x)))&&p.push(l(x));return m}}const{message:f}=u;return o([c,{name:d,message:f}],u)};return l},Qv=(e,{json:t,lossy:n}={})=>{const r=[];return HR(!(t||n),!!t,new Map,r)(e),r},Bu=typeof structuredClone=="function"?(e,t)=>t&&("json"in t||"lossy"in t)?Xv(Qv(e,t)):structuredClone(e):(e,t)=>Xv(Qv(e,t));function UR(e,t){const n=[{type:"text",value:"↩"}];return t>1&&n.push({type:"element",tagName:"sup",properties:{},children:[{type:"text",value:String(t)}]}),n}function FR(e,t){return"Back to reference "+(e+1)+(t>1?"-"+t:"")}function VR(e){const t=typeof e.options.clobberPrefix=="string"?e.options.clobberPrefix:"user-content-",n=e.options.footnoteBackContent||UR,r=e.options.footnoteBackLabel||FR,o=e.options.footnoteLabel||"Footnotes",l=e.options.footnoteLabelTagName||"h2",u=e.options.footnoteLabelProperties||{className:["sr-only"]},c=[];let d=-1;for(;++d<e.footnoteOrder.length;){const f=e.footnoteById.get(e.footnoteOrder[d]);if(!f)continue;const p=e.all(f),m=String(f.identifier).toUpperCase(),x=eo(m.toLowerCase());let y=0;const w=[],C=e.footnoteCounts.get(m);for(;C!==void 0&&++y<=C;){w.length>0&&w.push({type:"text",value:" "});let _=typeof n=="string"?n:n(d,y);typeof _=="string"&&(_={type:"text",value:_}),w.push({type:"element",tagName:"a",properties:{href:"#"+t+"fnref-"+x+(y>1?"-"+y:""),dataFootnoteBackref:"",ariaLabel:typeof r=="string"?r:r(d,y),className:["data-footnote-backref"]},children:Array.isArray(_)?_:[_]})}const v=p[p.length-1];if(v&&v.type==="element"&&v.tagName==="p"){const _=v.children[v.children.length-1];_&&_.type==="text"?_.value+=" ":v.children.push({type:"text",value:" "}),v.children.push(...w)}else p.push(...w);const S={type:"element",tagName:"li",properties:{id:t+"fn-"+x},children:e.wrap(p,!0)};e.patch(f,S),c.push(S)}if(c.length!==0)return{type:"element",tagName:"section",properties:{dataFootnotes:!0,className:["footnotes"]},children:[{type:"element",tagName:l,properties:{...Bu(u),id:"footnote-label"},children:[{type:"text",value:o}]},{type:"text",value:`
|
|
104
|
+
`},{type:"element",tagName:"ol",properties:{},children:e.wrap(c,!0)},{type:"text",value:`
|
|
105
|
+
`}]}}const pd=(function(e){if(e==null)return KR;if(typeof e=="function")return gd(e);if(typeof e=="object")return Array.isArray(e)?GR(e):WR(e);if(typeof e=="string")return qR(e);throw new Error("Expected function, string, or object as test")});function GR(e){const t=[];let n=-1;for(;++n<e.length;)t[n]=pd(e[n]);return gd(r);function r(...o){let l=-1;for(;++l<t.length;)if(t[l].apply(this,o))return!0;return!1}}function WR(e){const t=e;return gd(n);function n(r){const o=r;let l;for(l in e)if(o[l]!==t[l])return!1;return!0}}function qR(e){return gd(t);function t(n){return n&&n.type===e}}function gd(e){return t;function t(n,r,o){return!!(YR(n)&&e.call(this,n,typeof r=="number"?r:void 0,o||void 0))}}function KR(){return!0}function YR(e){return e!==null&&typeof e=="object"&&"type"in e}const iw=[],XR=!0,ip=!1,QR="skip";function aw(e,t,n,r){let o;typeof t=="function"&&typeof n!="function"?(r=n,n=t):o=t;const l=pd(o),u=r?-1:1;c(e,void 0,[])();function c(d,f,p){const m=d&&typeof d=="object"?d:{};if(typeof m.type=="string"){const y=typeof m.tagName=="string"?m.tagName:typeof m.name=="string"?m.name:void 0;Object.defineProperty(x,"name",{value:"node ("+(d.type+(y?"<"+y+">":""))+")"})}return x;function x(){let y=iw,w,C,v;if((!t||l(d,f,p[p.length-1]||void 0))&&(y=JR(n(d,p)),y[0]===ip))return y;if("children"in d&&d.children){const S=d;if(S.children&&y[0]!==QR)for(C=(r?S.children.length:-1)+u,v=p.concat(S);C>-1&&C<S.children.length;){const _=S.children[C];if(w=c(_,C,v)(),w[0]===ip)return w;C=typeof w[1]=="number"?w[1]:C+u}}return y}}}function JR(e){return Array.isArray(e)?e:typeof e=="number"?[XR,e]:e==null?iw:[e]}function ng(e,t,n,r){let o,l,u;typeof t=="function"&&typeof n!="function"?(l=void 0,u=t,o=n):(l=t,u=n,o=r),aw(e,l,c,o);function c(d,f){const p=f[f.length-1],m=p?p.children.indexOf(d):void 0;return u(d,m,p)}}const ap={}.hasOwnProperty,ZR={};function e3(e,t){const n=t||ZR,r=new Map,o=new Map,l=new Map,u={...PR,...n.handlers},c={all:f,applyData:n3,definitionById:r,footnoteById:o,footnoteCounts:l,footnoteOrder:[],handlers:u,one:d,options:n,patch:t3,wrap:s3};return ng(e,function(p){if(p.type==="definition"||p.type==="footnoteDefinition"){const m=p.type==="definition"?r:o,x=String(p.identifier).toUpperCase();m.has(x)||m.set(x,p)}}),c;function d(p,m){const x=p.type,y=c.handlers[x];if(ap.call(c.handlers,x)&&y)return y(c,p,m);if(c.options.passThrough&&c.options.passThrough.includes(x)){if("children"in p){const{children:C,...v}=p,S=Bu(v);return S.children=c.all(p),S}return Bu(p)}return(c.options.unknownHandler||r3)(c,p,m)}function f(p){const m=[];if("children"in p){const x=p.children;let y=-1;for(;++y<x.length;){const w=c.one(x[y],p);if(w){if(y&&x[y-1].type==="break"&&(!Array.isArray(w)&&w.type==="text"&&(w.value=Jv(w.value)),!Array.isArray(w)&&w.type==="element")){const C=w.children[0];C&&C.type==="text"&&(C.value=Jv(C.value))}Array.isArray(w)?m.push(...w):m.push(w)}}}return m}}function t3(e,t){e.position&&(t.position=FA(e))}function n3(e,t){let n=t;if(e&&e.data){const r=e.data.hName,o=e.data.hChildren,l=e.data.hProperties;if(typeof r=="string")if(n.type==="element")n.tagName=r;else{const u="children"in n?n.children:[n];n={type:"element",tagName:r,properties:{},children:u}}n.type==="element"&&l&&Object.assign(n.properties,Bu(l)),"children"in n&&n.children&&o!==null&&o!==void 0&&(n.children=o)}return n}function r3(e,t){const n=t.data||{},r="value"in t&&!(ap.call(n,"hProperties")||ap.call(n,"hChildren"))?{type:"text",value:t.value}:{type:"element",tagName:"div",properties:{},children:e.all(t)};return e.patch(t,r),e.applyData(t,r)}function s3(e,t){const n=[];let r=-1;for(t&&n.push({type:"text",value:`
|
|
106
|
+
`});++r<e.length;)r&&n.push({type:"text",value:`
|
|
107
|
+
`}),n.push(e[r]);return t&&e.length>0&&n.push({type:"text",value:`
|
|
108
|
+
`}),n}function Jv(e){let t=0,n=e.charCodeAt(t);for(;n===9||n===32;)t++,n=e.charCodeAt(t);return e.slice(t)}function Zv(e,t){const n=e3(e,t),r=n.one(e,void 0),o=VR(n),l=Array.isArray(r)?{type:"root",children:r}:r||{type:"root",children:[]};return o&&l.children.push({type:"text",value:`
|
|
109
|
+
`},o),l}function i3(e,t){return e&&"run"in e?async function(n,r){const o=Zv(n,{file:r,...t});await e.run(o,r)}:function(n,r){return Zv(n,{file:r,...e||t})}}function e0(e){if(e)throw e}var fm,t0;function a3(){if(t0)return fm;t0=1;var e=Object.prototype.hasOwnProperty,t=Object.prototype.toString,n=Object.defineProperty,r=Object.getOwnPropertyDescriptor,o=function(f){return typeof Array.isArray=="function"?Array.isArray(f):t.call(f)==="[object Array]"},l=function(f){if(!f||t.call(f)!=="[object Object]")return!1;var p=e.call(f,"constructor"),m=f.constructor&&f.constructor.prototype&&e.call(f.constructor.prototype,"isPrototypeOf");if(f.constructor&&!p&&!m)return!1;var x;for(x in f);return typeof x>"u"||e.call(f,x)},u=function(f,p){n&&p.name==="__proto__"?n(f,p.name,{enumerable:!0,configurable:!0,value:p.newValue,writable:!0}):f[p.name]=p.newValue},c=function(f,p){if(p==="__proto__")if(e.call(f,p)){if(r)return r(f,p).value}else return;return f[p]};return fm=function d(){var f,p,m,x,y,w,C=arguments[0],v=1,S=arguments.length,_=!1;for(typeof C=="boolean"&&(_=C,C=arguments[1]||{},v=2),(C==null||typeof C!="object"&&typeof C!="function")&&(C={});v<S;++v)if(f=arguments[v],f!=null)for(p in f)m=c(C,p),x=c(f,p),C!==x&&(_&&x&&(l(x)||(y=o(x)))?(y?(y=!1,w=m&&o(m)?m:[]):w=m&&l(m)?m:{},u(C,{name:p,newValue:d(_,w,x)})):typeof x<"u"&&u(C,{name:p,newValue:x}));return C},fm}var o3=a3();const mm=ed(o3);function op(e){if(typeof e!="object"||e===null)return!1;const t=Object.getPrototypeOf(e);return(t===null||t===Object.prototype||Object.getPrototypeOf(t)===null)&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)}function l3(){const e=[],t={run:n,use:r};return t;function n(...o){let l=-1;const u=o.pop();if(typeof u!="function")throw new TypeError("Expected function as last argument, not "+u);c(null,...o);function c(d,...f){const p=e[++l];let m=-1;if(d){u(d);return}for(;++m<o.length;)(f[m]===null||f[m]===void 0)&&(f[m]=o[m]);o=f,p?c3(p,c)(...f):u(null,...f)}}function r(o){if(typeof o!="function")throw new TypeError("Expected `middelware` to be a function, not "+o);return e.push(o),t}}function c3(e,t){let n;return r;function r(...u){const c=e.length>u.length;let d;c&&u.push(o);try{d=e.apply(this,u)}catch(f){const p=f;if(c&&n)throw p;return o(p)}c||(d&&d.then&&typeof d.then=="function"?d.then(l,o):d instanceof Error?o(d):l(d))}function o(u,...c){n||(n=!0,t(u,...c))}function l(u){o(null,u)}}const Ur={basename:u3,dirname:d3,extname:h3,join:f3,sep:"/"};function u3(e,t){if(t!==void 0&&typeof t!="string")throw new TypeError('"ext" argument must be a string');Ml(e);let n=0,r=-1,o=e.length,l;if(t===void 0||t.length===0||t.length>e.length){for(;o--;)if(e.codePointAt(o)===47){if(l){n=o+1;break}}else r<0&&(l=!0,r=o+1);return r<0?"":e.slice(n,r)}if(t===e)return"";let u=-1,c=t.length-1;for(;o--;)if(e.codePointAt(o)===47){if(l){n=o+1;break}}else u<0&&(l=!0,u=o+1),c>-1&&(e.codePointAt(o)===t.codePointAt(c--)?c<0&&(r=o):(c=-1,r=u));return n===r?r=u:r<0&&(r=e.length),e.slice(n,r)}function d3(e){if(Ml(e),e.length===0)return".";let t=-1,n=e.length,r;for(;--n;)if(e.codePointAt(n)===47){if(r){t=n;break}}else r||(r=!0);return t<0?e.codePointAt(0)===47?"/":".":t===1&&e.codePointAt(0)===47?"//":e.slice(0,t)}function h3(e){Ml(e);let t=e.length,n=-1,r=0,o=-1,l=0,u;for(;t--;){const c=e.codePointAt(t);if(c===47){if(u){r=t+1;break}continue}n<0&&(u=!0,n=t+1),c===46?o<0?o=t:l!==1&&(l=1):o>-1&&(l=-1)}return o<0||n<0||l===0||l===1&&o===n-1&&o===r+1?"":e.slice(o,n)}function f3(...e){let t=-1,n;for(;++t<e.length;)Ml(e[t]),e[t]&&(n=n===void 0?e[t]:n+"/"+e[t]);return n===void 0?".":m3(n)}function m3(e){Ml(e);const t=e.codePointAt(0)===47;let n=p3(e,!t);return n.length===0&&!t&&(n="."),n.length>0&&e.codePointAt(e.length-1)===47&&(n+="/"),t?"/"+n:n}function p3(e,t){let n="",r=0,o=-1,l=0,u=-1,c,d;for(;++u<=e.length;){if(u<e.length)c=e.codePointAt(u);else{if(c===47)break;c=47}if(c===47){if(!(o===u-1||l===1))if(o!==u-1&&l===2){if(n.length<2||r!==2||n.codePointAt(n.length-1)!==46||n.codePointAt(n.length-2)!==46){if(n.length>2){if(d=n.lastIndexOf("/"),d!==n.length-1){d<0?(n="",r=0):(n=n.slice(0,d),r=n.length-1-n.lastIndexOf("/")),o=u,l=0;continue}}else if(n.length>0){n="",r=0,o=u,l=0;continue}}t&&(n=n.length>0?n+"/..":"..",r=2)}else n.length>0?n+="/"+e.slice(o+1,u):n=e.slice(o+1,u),r=u-o-1;o=u,l=0}else c===46&&l>-1?l++:l=-1}return n}function Ml(e){if(typeof e!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}const g3={cwd:x3};function x3(){return"/"}function lp(e){return!!(e!==null&&typeof e=="object"&&"href"in e&&e.href&&"protocol"in e&&e.protocol&&e.auth===void 0)}function y3(e){if(typeof e=="string")e=new URL(e);else if(!lp(e)){const t=new TypeError('The "path" argument must be of type string or an instance of URL. Received `'+e+"`");throw t.code="ERR_INVALID_ARG_TYPE",t}if(e.protocol!=="file:"){const t=new TypeError("The URL must be of scheme file");throw t.code="ERR_INVALID_URL_SCHEME",t}return b3(e)}function b3(e){if(e.hostname!==""){const r=new TypeError('File URL host must be "localhost" or empty on darwin');throw r.code="ERR_INVALID_FILE_URL_HOST",r}const t=e.pathname;let n=-1;for(;++n<t.length;)if(t.codePointAt(n)===37&&t.codePointAt(n+1)===50){const r=t.codePointAt(n+2);if(r===70||r===102){const o=new TypeError("File URL path must not include encoded / characters");throw o.code="ERR_INVALID_FILE_URL_PATH",o}}return decodeURIComponent(t)}const pm=["history","path","basename","stem","extname","dirname"];class ow{constructor(t){let n;t?lp(t)?n={path:t}:typeof t=="string"||_3(t)?n={value:t}:n=t:n={},this.cwd="cwd"in n?"":g3.cwd(),this.data={},this.history=[],this.messages=[],this.value,this.map,this.result,this.stored;let r=-1;for(;++r<pm.length;){const l=pm[r];l in n&&n[l]!==void 0&&n[l]!==null&&(this[l]=l==="history"?[...n[l]]:n[l])}let o;for(o in n)pm.includes(o)||(this[o]=n[o])}get basename(){return typeof this.path=="string"?Ur.basename(this.path):void 0}set basename(t){xm(t,"basename"),gm(t,"basename"),this.path=Ur.join(this.dirname||"",t)}get dirname(){return typeof this.path=="string"?Ur.dirname(this.path):void 0}set dirname(t){n0(this.basename,"dirname"),this.path=Ur.join(t||"",this.basename)}get extname(){return typeof this.path=="string"?Ur.extname(this.path):void 0}set extname(t){if(gm(t,"extname"),n0(this.dirname,"extname"),t){if(t.codePointAt(0)!==46)throw new Error("`extname` must start with `.`");if(t.includes(".",1))throw new Error("`extname` cannot contain multiple dots")}this.path=Ur.join(this.dirname,this.stem+(t||""))}get path(){return this.history[this.history.length-1]}set path(t){lp(t)&&(t=y3(t)),xm(t,"path"),this.path!==t&&this.history.push(t)}get stem(){return typeof this.path=="string"?Ur.basename(this.path,this.extname):void 0}set stem(t){xm(t,"stem"),gm(t,"stem"),this.path=Ur.join(this.dirname||"",t+(this.extname||""))}fail(t,n,r){const o=this.message(t,n,r);throw o.fatal=!0,o}info(t,n,r){const o=this.message(t,n,r);return o.fatal=void 0,o}message(t,n,r){const o=new Ln(t,n,r);return this.path&&(o.name=this.path+":"+o.name,o.file=this.path),o.fatal=!1,this.messages.push(o),o}toString(t){return this.value===void 0?"":typeof this.value=="string"?this.value:new TextDecoder(t||void 0).decode(this.value)}}function gm(e,t){if(e&&e.includes(Ur.sep))throw new Error("`"+t+"` cannot be a path: did not expect `"+Ur.sep+"`")}function xm(e,t){if(!e)throw new Error("`"+t+"` cannot be empty")}function n0(e,t){if(!e)throw new Error("Setting `"+t+"` requires `path` to be set too")}function _3(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const v3=(function(e){const r=this.constructor.prototype,o=r[e],l=function(){return o.apply(l,arguments)};return Object.setPrototypeOf(l,r),l}),S3={}.hasOwnProperty;class rg extends v3{constructor(){super("copy"),this.Compiler=void 0,this.Parser=void 0,this.attachers=[],this.compiler=void 0,this.freezeIndex=-1,this.frozen=void 0,this.namespace={},this.parser=void 0,this.transformers=l3()}copy(){const t=new rg;let n=-1;for(;++n<this.attachers.length;){const r=this.attachers[n];t.use(...r)}return t.data(mm(!0,{},this.namespace)),t}data(t,n){return typeof t=="string"?arguments.length===2?(_m("data",this.frozen),this.namespace[t]=n,this):S3.call(this.namespace,t)&&this.namespace[t]||void 0:t?(_m("data",this.frozen),this.namespace=t,this):this.namespace}freeze(){if(this.frozen)return this;const t=this;for(;++this.freezeIndex<this.attachers.length;){const[n,...r]=this.attachers[this.freezeIndex];if(r[0]===!1)continue;r[0]===!0&&(r[0]=void 0);const o=n.call(t,...r);typeof o=="function"&&this.transformers.use(o)}return this.frozen=!0,this.freezeIndex=Number.POSITIVE_INFINITY,this}parse(t){this.freeze();const n=cu(t),r=this.parser||this.Parser;return ym("parse",r),r(String(n),n)}process(t,n){const r=this;return this.freeze(),ym("process",this.parser||this.Parser),bm("process",this.compiler||this.Compiler),n?o(void 0,n):new Promise(o);function o(l,u){const c=cu(t),d=r.parse(c);r.run(d,c,function(p,m,x){if(p||!m||!x)return f(p);const y=m,w=r.stringify(y,x);k3(w)?x.value=w:x.result=w,f(p,x)});function f(p,m){p||!m?u(p):l?l(m):n(void 0,m)}}}processSync(t){let n=!1,r;return this.freeze(),ym("processSync",this.parser||this.Parser),bm("processSync",this.compiler||this.Compiler),this.process(t,o),s0("processSync","process",n),r;function o(l,u){n=!0,e0(l),r=u}}run(t,n,r){r0(t),this.freeze();const o=this.transformers;return!r&&typeof n=="function"&&(r=n,n=void 0),r?l(void 0,r):new Promise(l);function l(u,c){const d=cu(n);o.run(t,d,f);function f(p,m,x){const y=m||t;p?c(p):u?u(y):r(void 0,y,x)}}}runSync(t,n){let r=!1,o;return this.run(t,n,l),s0("runSync","run",r),o;function l(u,c){e0(u),o=c,r=!0}}stringify(t,n){this.freeze();const r=cu(n),o=this.compiler||this.Compiler;return bm("stringify",o),r0(t),o(t,r)}use(t,...n){const r=this.attachers,o=this.namespace;if(_m("use",this.frozen),t!=null)if(typeof t=="function")d(t,n);else if(typeof t=="object")Array.isArray(t)?c(t):u(t);else throw new TypeError("Expected usable value, not `"+t+"`");return this;function l(f){if(typeof f=="function")d(f,[]);else if(typeof f=="object")if(Array.isArray(f)){const[p,...m]=f;d(p,m)}else u(f);else throw new TypeError("Expected usable value, not `"+f+"`")}function u(f){if(!("plugins"in f)&&!("settings"in f))throw new Error("Expected usable value but received an empty preset, which is probably a mistake: presets typically come with `plugins` and sometimes with `settings`, but this has neither");c(f.plugins),f.settings&&(o.settings=mm(!0,o.settings,f.settings))}function c(f){let p=-1;if(f!=null)if(Array.isArray(f))for(;++p<f.length;){const m=f[p];l(m)}else throw new TypeError("Expected a list of plugins, not `"+f+"`")}function d(f,p){let m=-1,x=-1;for(;++m<r.length;)if(r[m][0]===f){x=m;break}if(x===-1)r.push([f,...p]);else if(p.length>0){let[y,...w]=p;const C=r[x][1];op(C)&&op(y)&&(y=mm(!0,C,y)),r[x]=[f,y,...w]}}}}const w3=new rg().freeze();function ym(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `parser`")}function bm(e,t){if(typeof t!="function")throw new TypeError("Cannot `"+e+"` without `compiler`")}function _m(e,t){if(t)throw new Error("Cannot call `"+e+"` on a frozen processor.\nCreate a new processor first, by calling it: use `processor()` instead of `processor`.")}function r0(e){if(!op(e)||typeof e.type!="string")throw new TypeError("Expected node, got `"+e+"`")}function s0(e,t,n){if(!n)throw new Error("`"+e+"` finished async. Use `"+t+"` instead")}function cu(e){return C3(e)?e:new ow(e)}function C3(e){return!!(e&&typeof e=="object"&&"message"in e&&"messages"in e)}function k3(e){return typeof e=="string"||E3(e)}function E3(e){return!!(e&&typeof e=="object"&&"byteLength"in e&&"byteOffset"in e)}const j3="https://github.com/remarkjs/react-markdown/blob/main/changelog.md",i0=[],a0={allowDangerousHtml:!0},N3=/^(https?|ircs?|mailto|xmpp)$/i,T3=[{from:"astPlugins",id:"remove-buggy-html-in-markdown-parser"},{from:"allowDangerousHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"allowNode",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowElement"},{from:"allowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"allowedElements"},{from:"className",id:"remove-classname"},{from:"disallowedTypes",id:"replace-allownode-allowedtypes-and-disallowedtypes",to:"disallowedElements"},{from:"escapeHtml",id:"remove-buggy-html-in-markdown-parser"},{from:"includeElementIndex",id:"#remove-includeelementindex"},{from:"includeNodeIndex",id:"change-includenodeindex-to-includeelementindex"},{from:"linkTarget",id:"remove-linktarget"},{from:"plugins",id:"change-plugins-to-remarkplugins",to:"remarkPlugins"},{from:"rawSourcePos",id:"#remove-rawsourcepos"},{from:"renderers",id:"change-renderers-to-components",to:"components"},{from:"source",id:"change-source-to-children",to:"children"},{from:"sourcePos",id:"#remove-sourcepos"},{from:"transformImageUri",id:"#add-urltransform",to:"urlTransform"},{from:"transformLinkUri",id:"#add-urltransform",to:"urlTransform"}];function A3(e){const t=L3(e),n=D3(e);return R3(t.runSync(t.parse(n),n),e)}function L3(e){const t=e.rehypePlugins||i0,n=e.remarkPlugins||i0,r=e.remarkRehypeOptions?{...e.remarkRehypeOptions,...a0}:a0;return w3().use(dR).use(n).use(i3,r).use(t)}function D3(e){const t=e.children||"",n=new ow;return typeof t=="string"&&(n.value=t),n}function R3(e,t){const n=t.allowedElements,r=t.allowElement,o=t.components,l=t.disallowedElements,u=t.skipHtml,c=t.unwrapDisallowed,d=t.urlTransform||O3;for(const p of T3)Object.hasOwn(t,p.from)&&(""+p.from+(p.to?"use `"+p.to+"` instead":"remove it")+j3+p.id,void 0);return ng(e,f),KA(e,{Fragment:i.Fragment,components:o,ignoreInvalidStyle:!0,jsx:i.jsx,jsxs:i.jsxs,passKeys:!0,passNode:!0});function f(p,m,x){if(p.type==="raw"&&x&&typeof m=="number")return u?x.children.splice(m,1):x.children[m]={type:"text",value:p.value},m;if(p.type==="element"){let y;for(y in um)if(Object.hasOwn(um,y)&&Object.hasOwn(p.properties,y)){const w=p.properties[y],C=um[y];(C===null||C.includes(p.tagName))&&(p.properties[y]=d(String(w||""),y,p))}}if(p.type==="element"){let y=n?!n.includes(p.tagName):l?l.includes(p.tagName):!1;if(!y&&r&&typeof m=="number"&&(y=!r(p,m,x)),y&&x&&typeof m=="number")return c&&p.children?x.children.splice(m,1,...p.children):x.children.splice(m,1),m}}}function O3(e){const t=e.indexOf(":"),n=e.indexOf("?"),r=e.indexOf("#"),o=e.indexOf("/");return t===-1||o!==-1&&t>o||n!==-1&&t>n||r!==-1&&t>r||N3.test(e.slice(0,t))?e:""}function o0(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(t);for(;o!==-1;)r++,o=n.indexOf(t,o+t.length);return r}function I3(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function M3(e,t,n){const o=pd((n||{}).ignore||[]),l=P3(t);let u=-1;for(;++u<l.length;)aw(e,"text",c);function c(f,p){let m=-1,x;for(;++m<p.length;){const y=p[m],w=x?x.children:void 0;if(o(y,w?w.indexOf(y):void 0,x))return;x=y}if(x)return d(f,p)}function d(f,p){const m=p[p.length-1],x=l[u][0],y=l[u][1];let w=0;const v=m.children.indexOf(f);let S=!1,_=[];x.lastIndex=0;let b=x.exec(f.value);for(;b;){const j=b.index,E={index:b.index,input:b.input,stack:[...p,f]};let T=y(...b,E);if(typeof T=="string"&&(T=T.length>0?{type:"text",value:T}:void 0),T===!1?x.lastIndex=j+1:(w!==j&&_.push({type:"text",value:f.value.slice(w,j)}),Array.isArray(T)?_.push(...T):T&&_.push(T),w=j+b[0].length,S=!0),!x.global)break;b=x.exec(f.value)}return S?(w<f.value.length&&_.push({type:"text",value:f.value.slice(w)}),m.children.splice(v,1,..._)):_=[f],v+_.length}}function P3(e){const t=[];if(!Array.isArray(e))throw new TypeError("Expected find and replace tuple or list of tuples");const n=!e[0]||Array.isArray(e[0])?e:[e];let r=-1;for(;++r<n.length;){const o=n[r];t.push([B3(o[0]),$3(o[1])])}return t}function B3(e){return typeof e=="string"?new RegExp(I3(e),"g"):e}function $3(e){return typeof e=="function"?e:function(){return e}}const vm="phrasing",Sm=["autolink","link","image","label"];function z3(){return{transforms:[q3],enter:{literalAutolink:U3,literalAutolinkEmail:wm,literalAutolinkHttp:wm,literalAutolinkWww:wm},exit:{literalAutolink:W3,literalAutolinkEmail:G3,literalAutolinkHttp:F3,literalAutolinkWww:V3}}}function H3(){return{unsafe:[{character:"@",before:"[+\\-.\\w]",after:"[\\-.\\w]",inConstruct:vm,notInConstruct:Sm},{character:".",before:"[Ww]",after:"[\\-.\\w]",inConstruct:vm,notInConstruct:Sm},{character:":",before:"[ps]",after:"\\/",inConstruct:vm,notInConstruct:Sm}]}}function U3(e){this.enter({type:"link",title:null,url:"",children:[]},e)}function wm(e){this.config.enter.autolinkProtocol.call(this,e)}function F3(e){this.config.exit.autolinkProtocol.call(this,e)}function V3(e){this.config.exit.data.call(this,e);const t=this.stack[this.stack.length-1];t.type,t.url="http://"+this.sliceSerialize(e)}function G3(e){this.config.exit.autolinkEmail.call(this,e)}function W3(e){this.exit(e)}function q3(e){M3(e,[[/(https?:\/\/|www(?=\.))([-.\w]+)([^ \t\r\n]*)/gi,K3],[new RegExp("(?<=^|\\s|\\p{P}|\\p{S})([-.\\w+]+)@([-\\w]+(?:\\.[-\\w]+)+)","gu"),Y3]],{ignore:["link","linkReference"]})}function K3(e,t,n,r,o){let l="";if(!lw(o)||(/^w/i.test(t)&&(n=t+n,t="",l="http://"),!X3(n)))return!1;const u=Q3(n+r);if(!u[0])return!1;const c={type:"link",title:null,url:l+t+u[0],children:[{type:"text",value:t+u[0]}]};return u[1]?[c,{type:"text",value:u[1]}]:c}function Y3(e,t,n,r){return!lw(r,!0)||/[-\d_]$/.test(n)?!1:{type:"link",title:null,url:"mailto:"+t+"@"+n,children:[{type:"text",value:t+"@"+n}]}}function X3(e){const t=e.split(".");return!(t.length<2||t[t.length-1]&&(/_/.test(t[t.length-1])||!/[a-zA-Z\d]/.test(t[t.length-1]))||t[t.length-2]&&(/_/.test(t[t.length-2])||!/[a-zA-Z\d]/.test(t[t.length-2])))}function Q3(e){const t=/[!"&'),.:;<>?\]}]+$/.exec(e);if(!t)return[e,void 0];e=e.slice(0,t.index);let n=t[0],r=n.indexOf(")");const o=o0(e,"(");let l=o0(e,")");for(;r!==-1&&o>l;)e+=n.slice(0,r+1),n=n.slice(r+1),r=n.indexOf(")"),l++;return[e,n]}function lw(e,t){const n=e.input.charCodeAt(e.index-1);return(e.index===0||Bi(n)||hd(n))&&(!t||n!==47)}cw.peek=a5;function J3(){this.buffer()}function Z3(e){this.enter({type:"footnoteReference",identifier:"",label:""},e)}function e5(){this.buffer()}function t5(e){this.enter({type:"footnoteDefinition",identifier:"",label:"",children:[]},e)}function n5(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Rr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function r5(e){this.exit(e)}function s5(e){const t=this.resume(),n=this.stack[this.stack.length-1];n.type,n.identifier=Rr(this.sliceSerialize(e)).toLowerCase(),n.label=t}function i5(e){this.exit(e)}function a5(){return"["}function cw(e,t,n,r){const o=n.createTracker(r);let l=o.move("[^");const u=n.enter("footnoteReference"),c=n.enter("reference");return l+=o.move(n.safe(n.associationId(e),{after:"]",before:l})),c(),u(),l+=o.move("]"),l}function o5(){return{enter:{gfmFootnoteCallString:J3,gfmFootnoteCall:Z3,gfmFootnoteDefinitionLabelString:e5,gfmFootnoteDefinition:t5},exit:{gfmFootnoteCallString:n5,gfmFootnoteCall:r5,gfmFootnoteDefinitionLabelString:s5,gfmFootnoteDefinition:i5}}}function l5(e){let t=!1;return e&&e.firstLineBlank&&(t=!0),{handlers:{footnoteDefinition:n,footnoteReference:cw},unsafe:[{character:"[",inConstruct:["label","phrasing","reference"]}]};function n(r,o,l,u){const c=l.createTracker(u);let d=c.move("[^");const f=l.enter("footnoteDefinition"),p=l.enter("label");return d+=c.move(l.safe(l.associationId(r),{before:d,after:"]"})),p(),d+=c.move("]:"),r.children&&r.children.length>0&&(c.shift(4),d+=c.move((t?`
|
|
110
|
+
`:" ")+l.indentLines(l.containerFlow(r,c.current()),t?uw:c5))),f(),d}}function c5(e,t,n){return t===0?e:uw(e,t,n)}function uw(e,t,n){return(n?"":" ")+e}const u5=["autolink","destinationLiteral","destinationRaw","reference","titleQuote","titleApostrophe"];dw.peek=p5;function d5(){return{canContainEols:["delete"],enter:{strikethrough:f5},exit:{strikethrough:m5}}}function h5(){return{unsafe:[{character:"~",inConstruct:"phrasing",notInConstruct:u5}],handlers:{delete:dw}}}function f5(e){this.enter({type:"delete",children:[]},e)}function m5(e){this.exit(e)}function dw(e,t,n,r){const o=n.createTracker(r),l=n.enter("strikethrough");let u=o.move("~~");return u+=n.containerPhrasing(e,{...o.current(),before:u,after:"~"}),u+=o.move("~~"),l(),u}function p5(){return"~"}function g5(e){return e.length}function x5(e,t){const n=t||{},r=(n.align||[]).concat(),o=n.stringLength||g5,l=[],u=[],c=[],d=[];let f=0,p=-1;for(;++p<e.length;){const C=[],v=[];let S=-1;for(e[p].length>f&&(f=e[p].length);++S<e[p].length;){const _=y5(e[p][S]);if(n.alignDelimiters!==!1){const b=o(_);v[S]=b,(d[S]===void 0||b>d[S])&&(d[S]=b)}C.push(_)}u[p]=C,c[p]=v}let m=-1;if(typeof r=="object"&&"length"in r)for(;++m<f;)l[m]=l0(r[m]);else{const C=l0(r);for(;++m<f;)l[m]=C}m=-1;const x=[],y=[];for(;++m<f;){const C=l[m];let v="",S="";C===99?(v=":",S=":"):C===108?v=":":C===114&&(S=":");let _=n.alignDelimiters===!1?1:Math.max(1,d[m]-v.length-S.length);const b=v+"-".repeat(_)+S;n.alignDelimiters!==!1&&(_=v.length+_+S.length,_>d[m]&&(d[m]=_),y[m]=_),x[m]=b}u.splice(1,0,x),c.splice(1,0,y),p=-1;const w=[];for(;++p<u.length;){const C=u[p],v=c[p];m=-1;const S=[];for(;++m<f;){const _=C[m]||"";let b="",j="";if(n.alignDelimiters!==!1){const E=d[m]-(v[m]||0),T=l[m];T===114?b=" ".repeat(E):T===99?E%2?(b=" ".repeat(E/2+.5),j=" ".repeat(E/2-.5)):(b=" ".repeat(E/2),j=b):j=" ".repeat(E)}n.delimiterStart!==!1&&!m&&S.push("|"),n.padding!==!1&&!(n.alignDelimiters===!1&&_==="")&&(n.delimiterStart!==!1||m)&&S.push(" "),n.alignDelimiters!==!1&&S.push(b),S.push(_),n.alignDelimiters!==!1&&S.push(j),n.padding!==!1&&S.push(" "),(n.delimiterEnd!==!1||m!==f-1)&&S.push("|")}w.push(n.delimiterEnd===!1?S.join("").replace(/ +$/,""):S.join(""))}return w.join(`
|
|
111
|
+
`)}function y5(e){return e==null?"":String(e)}function l0(e){const t=typeof e=="string"?e.codePointAt(0):0;return t===67||t===99?99:t===76||t===108?108:t===82||t===114?114:0}function b5(e,t,n,r){const o=n.enter("blockquote"),l=n.createTracker(r);l.move("> "),l.shift(2);const u=n.indentLines(n.containerFlow(e,l.current()),_5);return o(),u}function _5(e,t,n){return">"+(n?"":" ")+e}function v5(e,t){return c0(e,t.inConstruct,!0)&&!c0(e,t.notInConstruct,!1)}function c0(e,t,n){if(typeof t=="string"&&(t=[t]),!t||t.length===0)return n;let r=-1;for(;++r<t.length;)if(e.includes(t[r]))return!0;return!1}function u0(e,t,n,r){let o=-1;for(;++o<n.unsafe.length;)if(n.unsafe[o].character===`
|
|
112
|
+
`&&v5(n.stack,n.unsafe[o]))return/[ \t]/.test(r.before)?"":" ";return`\\
|
|
113
|
+
`}function S5(e,t){const n=String(e);let r=n.indexOf(t),o=r,l=0,u=0;if(typeof t!="string")throw new TypeError("Expected substring");for(;r!==-1;)r===o?++l>u&&(u=l):l=1,o=r+t.length,r=n.indexOf(t,o);return u}function w5(e,t){return!!(t.options.fences===!1&&e.value&&!e.lang&&/[^ \r\n]/.test(e.value)&&!/^[\t ]*(?:[\r\n]|$)|(?:^|[\r\n])[\t ]*$/.test(e.value))}function C5(e){const t=e.options.fence||"`";if(t!=="`"&&t!=="~")throw new Error("Cannot serialize code with `"+t+"` for `options.fence`, expected `` ` `` or `~`");return t}function k5(e,t,n,r){const o=C5(n),l=e.value||"",u=o==="`"?"GraveAccent":"Tilde";if(w5(e,n)){const m=n.enter("codeIndented"),x=n.indentLines(l,E5);return m(),x}const c=n.createTracker(r),d=o.repeat(Math.max(S5(l,o)+1,3)),f=n.enter("codeFenced");let p=c.move(d);if(e.lang){const m=n.enter(`codeFencedLang${u}`);p+=c.move(n.safe(e.lang,{before:p,after:" ",encode:["`"],...c.current()})),m()}if(e.lang&&e.meta){const m=n.enter(`codeFencedMeta${u}`);p+=c.move(" "),p+=c.move(n.safe(e.meta,{before:p,after:`
|
|
114
|
+
`,encode:["`"],...c.current()})),m()}return p+=c.move(`
|
|
115
|
+
`),l&&(p+=c.move(l+`
|
|
116
|
+
`)),p+=c.move(d),f(),p}function E5(e,t,n){return(n?"":" ")+e}function sg(e){const t=e.options.quote||'"';if(t!=='"'&&t!=="'")throw new Error("Cannot serialize title with `"+t+"` for `options.quote`, expected `\"`, or `'`");return t}function j5(e,t,n,r){const o=sg(n),l=o==='"'?"Quote":"Apostrophe",u=n.enter("definition");let c=n.enter("label");const d=n.createTracker(r);let f=d.move("[");return f+=d.move(n.safe(n.associationId(e),{before:f,after:"]",...d.current()})),f+=d.move("]: "),c(),!e.url||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=d.move("<"),f+=d.move(n.safe(e.url,{before:f,after:">",...d.current()})),f+=d.move(">")):(c=n.enter("destinationRaw"),f+=d.move(n.safe(e.url,{before:f,after:e.title?" ":`
|
|
117
|
+
`,...d.current()}))),c(),e.title&&(c=n.enter(`title${l}`),f+=d.move(" "+o),f+=d.move(n.safe(e.title,{before:f,after:o,...d.current()})),f+=d.move(o),c()),u(),f}function N5(e){const t=e.options.emphasis||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize emphasis with `"+t+"` for `options.emphasis`, expected `*`, or `_`");return t}function Sl(e){return"&#x"+e.toString(16).toUpperCase()+";"}function $u(e,t,n){const r=Ga(e),o=Ga(t);return r===void 0?o===void 0?n==="_"?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!0}:r===1?o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!0}:{inside:!1,outside:!1}:o===void 0?{inside:!1,outside:!1}:o===1?{inside:!0,outside:!1}:{inside:!1,outside:!1}}hw.peek=T5;function hw(e,t,n,r){const o=N5(n),l=n.enter("emphasis"),u=n.createTracker(r),c=u.move(o);let d=u.move(n.containerPhrasing(e,{after:o,before:c,...u.current()}));const f=d.charCodeAt(0),p=$u(r.before.charCodeAt(r.before.length-1),f,o);p.inside&&(d=Sl(f)+d.slice(1));const m=d.charCodeAt(d.length-1),x=$u(r.after.charCodeAt(0),m,o);x.inside&&(d=d.slice(0,-1)+Sl(m));const y=u.move(o);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},c+d+y}function T5(e,t,n){return n.options.emphasis||"*"}function A5(e,t){let n=!1;return ng(e,function(r){if("value"in r&&/\r?\n|\r/.test(r.value)||r.type==="break")return n=!0,ip}),!!((!e.depth||e.depth<3)&&Yp(e)&&(t.options.setext||n))}function L5(e,t,n,r){const o=Math.max(Math.min(6,e.depth||1),1),l=n.createTracker(r);if(A5(e,n)){const p=n.enter("headingSetext"),m=n.enter("phrasing"),x=n.containerPhrasing(e,{...l.current(),before:`
|
|
118
|
+
`,after:`
|
|
119
|
+
`});return m(),p(),x+`
|
|
120
|
+
`+(o===1?"=":"-").repeat(x.length-(Math.max(x.lastIndexOf("\r"),x.lastIndexOf(`
|
|
121
|
+
`))+1))}const u="#".repeat(o),c=n.enter("headingAtx"),d=n.enter("phrasing");l.move(u+" ");let f=n.containerPhrasing(e,{before:"# ",after:`
|
|
122
|
+
`,...l.current()});return/^[\t ]/.test(f)&&(f=Sl(f.charCodeAt(0))+f.slice(1)),f=f?u+" "+f:u,n.options.closeAtx&&(f+=" "+u),d(),c(),f}fw.peek=D5;function fw(e){return e.value||""}function D5(){return"<"}mw.peek=R5;function mw(e,t,n,r){const o=sg(n),l=o==='"'?"Quote":"Apostrophe",u=n.enter("image");let c=n.enter("label");const d=n.createTracker(r);let f=d.move("![");return f+=d.move(n.safe(e.alt,{before:f,after:"]",...d.current()})),f+=d.move("]("),c(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(c=n.enter("destinationLiteral"),f+=d.move("<"),f+=d.move(n.safe(e.url,{before:f,after:">",...d.current()})),f+=d.move(">")):(c=n.enter("destinationRaw"),f+=d.move(n.safe(e.url,{before:f,after:e.title?" ":")",...d.current()}))),c(),e.title&&(c=n.enter(`title${l}`),f+=d.move(" "+o),f+=d.move(n.safe(e.title,{before:f,after:o,...d.current()})),f+=d.move(o),c()),f+=d.move(")"),u(),f}function R5(){return"!"}pw.peek=O5;function pw(e,t,n,r){const o=e.referenceType,l=n.enter("imageReference");let u=n.enter("label");const c=n.createTracker(r);let d=c.move("![");const f=n.safe(e.alt,{before:d,after:"]",...c.current()});d+=c.move(f+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const m=n.safe(n.associationId(e),{before:d,after:"]",...c.current()});return u(),n.stack=p,l(),o==="full"||!f||f!==m?d+=c.move(m+"]"):o==="shortcut"?d=d.slice(0,-1):d+=c.move("]"),d}function O5(){return"!"}gw.peek=I5;function gw(e,t,n){let r=e.value||"",o="`",l=-1;for(;new RegExp("(^|[^`])"+o+"([^`]|$)").test(r);)o+="`";for(/[^ \r\n]/.test(r)&&(/^[ \r\n]/.test(r)&&/[ \r\n]$/.test(r)||/^`|`$/.test(r))&&(r=" "+r+" ");++l<n.unsafe.length;){const u=n.unsafe[l],c=n.compilePattern(u);let d;if(u.atBreak)for(;d=c.exec(r);){let f=d.index;r.charCodeAt(f)===10&&r.charCodeAt(f-1)===13&&f--,r=r.slice(0,f)+" "+r.slice(d.index+1)}}return o+r+o}function I5(){return"`"}function xw(e,t){const n=Yp(e);return!!(!t.options.resourceLink&&e.url&&!e.title&&e.children&&e.children.length===1&&e.children[0].type==="text"&&(n===e.url||"mailto:"+n===e.url)&&/^[a-z][a-z+.-]+:/i.test(e.url)&&!/[\0- <>\u007F]/.test(e.url))}yw.peek=M5;function yw(e,t,n,r){const o=sg(n),l=o==='"'?"Quote":"Apostrophe",u=n.createTracker(r);let c,d;if(xw(e,n)){const p=n.stack;n.stack=[],c=n.enter("autolink");let m=u.move("<");return m+=u.move(n.containerPhrasing(e,{before:m,after:">",...u.current()})),m+=u.move(">"),c(),n.stack=p,m}c=n.enter("link"),d=n.enter("label");let f=u.move("[");return f+=u.move(n.containerPhrasing(e,{before:f,after:"](",...u.current()})),f+=u.move("]("),d(),!e.url&&e.title||/[\0- \u007F]/.test(e.url)?(d=n.enter("destinationLiteral"),f+=u.move("<"),f+=u.move(n.safe(e.url,{before:f,after:">",...u.current()})),f+=u.move(">")):(d=n.enter("destinationRaw"),f+=u.move(n.safe(e.url,{before:f,after:e.title?" ":")",...u.current()}))),d(),e.title&&(d=n.enter(`title${l}`),f+=u.move(" "+o),f+=u.move(n.safe(e.title,{before:f,after:o,...u.current()})),f+=u.move(o),d()),f+=u.move(")"),c(),f}function M5(e,t,n){return xw(e,n)?"<":"["}bw.peek=P5;function bw(e,t,n,r){const o=e.referenceType,l=n.enter("linkReference");let u=n.enter("label");const c=n.createTracker(r);let d=c.move("[");const f=n.containerPhrasing(e,{before:d,after:"]",...c.current()});d+=c.move(f+"]["),u();const p=n.stack;n.stack=[],u=n.enter("reference");const m=n.safe(n.associationId(e),{before:d,after:"]",...c.current()});return u(),n.stack=p,l(),o==="full"||!f||f!==m?d+=c.move(m+"]"):o==="shortcut"?d=d.slice(0,-1):d+=c.move("]"),d}function P5(){return"["}function ig(e){const t=e.options.bullet||"*";if(t!=="*"&&t!=="+"&&t!=="-")throw new Error("Cannot serialize items with `"+t+"` for `options.bullet`, expected `*`, `+`, or `-`");return t}function B5(e){const t=ig(e),n=e.options.bulletOther;if(!n)return t==="*"?"-":"*";if(n!=="*"&&n!=="+"&&n!=="-")throw new Error("Cannot serialize items with `"+n+"` for `options.bulletOther`, expected `*`, `+`, or `-`");if(n===t)throw new Error("Expected `bullet` (`"+t+"`) and `bulletOther` (`"+n+"`) to be different");return n}function $5(e){const t=e.options.bulletOrdered||".";if(t!=="."&&t!==")")throw new Error("Cannot serialize items with `"+t+"` for `options.bulletOrdered`, expected `.` or `)`");return t}function _w(e){const t=e.options.rule||"*";if(t!=="*"&&t!=="-"&&t!=="_")throw new Error("Cannot serialize rules with `"+t+"` for `options.rule`, expected `*`, `-`, or `_`");return t}function z5(e,t,n,r){const o=n.enter("list"),l=n.bulletCurrent;let u=e.ordered?$5(n):ig(n);const c=e.ordered?u==="."?")":".":B5(n);let d=t&&n.bulletLastUsed?u===n.bulletLastUsed:!1;if(!e.ordered){const p=e.children?e.children[0]:void 0;if((u==="*"||u==="-")&&p&&(!p.children||!p.children[0])&&n.stack[n.stack.length-1]==="list"&&n.stack[n.stack.length-2]==="listItem"&&n.stack[n.stack.length-3]==="list"&&n.stack[n.stack.length-4]==="listItem"&&n.indexStack[n.indexStack.length-1]===0&&n.indexStack[n.indexStack.length-2]===0&&n.indexStack[n.indexStack.length-3]===0&&(d=!0),_w(n)===u&&p){let m=-1;for(;++m<e.children.length;){const x=e.children[m];if(x&&x.type==="listItem"&&x.children&&x.children[0]&&x.children[0].type==="thematicBreak"){d=!0;break}}}}d&&(u=c),n.bulletCurrent=u;const f=n.containerFlow(e,r);return n.bulletLastUsed=u,n.bulletCurrent=l,o(),f}function H5(e){const t=e.options.listItemIndent||"one";if(t!=="tab"&&t!=="one"&&t!=="mixed")throw new Error("Cannot serialize items with `"+t+"` for `options.listItemIndent`, expected `tab`, `one`, or `mixed`");return t}function U5(e,t,n,r){const o=H5(n);let l=n.bulletCurrent||ig(n);t&&t.type==="list"&&t.ordered&&(l=(typeof t.start=="number"&&t.start>-1?t.start:1)+(n.options.incrementListMarker===!1?0:t.children.indexOf(e))+l);let u=l.length+1;(o==="tab"||o==="mixed"&&(t&&t.type==="list"&&t.spread||e.spread))&&(u=Math.ceil(u/4)*4);const c=n.createTracker(r);c.move(l+" ".repeat(u-l.length)),c.shift(u);const d=n.enter("listItem"),f=n.indentLines(n.containerFlow(e,c.current()),p);return d(),f;function p(m,x,y){return x?(y?"":" ".repeat(u))+m:(y?l:l+" ".repeat(u-l.length))+m}}function F5(e,t,n,r){const o=n.enter("paragraph"),l=n.enter("phrasing"),u=n.containerPhrasing(e,r);return l(),o(),u}const V5=pd(["break","delete","emphasis","footnote","footnoteReference","image","imageReference","inlineCode","inlineMath","link","linkReference","mdxJsxTextElement","mdxTextExpression","strong","text","textDirective"]);function G5(e,t,n,r){return(e.children.some(function(u){return V5(u)})?n.containerPhrasing:n.containerFlow).call(n,e,r)}function W5(e){const t=e.options.strong||"*";if(t!=="*"&&t!=="_")throw new Error("Cannot serialize strong with `"+t+"` for `options.strong`, expected `*`, or `_`");return t}vw.peek=q5;function vw(e,t,n,r){const o=W5(n),l=n.enter("strong"),u=n.createTracker(r),c=u.move(o+o);let d=u.move(n.containerPhrasing(e,{after:o,before:c,...u.current()}));const f=d.charCodeAt(0),p=$u(r.before.charCodeAt(r.before.length-1),f,o);p.inside&&(d=Sl(f)+d.slice(1));const m=d.charCodeAt(d.length-1),x=$u(r.after.charCodeAt(0),m,o);x.inside&&(d=d.slice(0,-1)+Sl(m));const y=u.move(o+o);return l(),n.attentionEncodeSurroundingInfo={after:x.outside,before:p.outside},c+d+y}function q5(e,t,n){return n.options.strong||"*"}function K5(e,t,n,r){return n.safe(e.value,r)}function Y5(e){const t=e.options.ruleRepetition||3;if(t<3)throw new Error("Cannot serialize rules with repetition `"+t+"` for `options.ruleRepetition`, expected `3` or more");return t}function X5(e,t,n){const r=(_w(n)+(n.options.ruleSpaces?" ":"")).repeat(Y5(n));return n.options.ruleSpaces?r.slice(0,-1):r}const Sw={blockquote:b5,break:u0,code:k5,definition:j5,emphasis:hw,hardBreak:u0,heading:L5,html:fw,image:mw,imageReference:pw,inlineCode:gw,link:yw,linkReference:bw,list:z5,listItem:U5,paragraph:F5,root:G5,strong:vw,text:K5,thematicBreak:X5};function Q5(){return{enter:{table:J5,tableData:d0,tableHeader:d0,tableRow:eO},exit:{codeText:tO,table:Z5,tableData:Cm,tableHeader:Cm,tableRow:Cm}}}function J5(e){const t=e._align;this.enter({type:"table",align:t.map(function(n){return n==="none"?null:n}),children:[]},e),this.data.inTable=!0}function Z5(e){this.exit(e),this.data.inTable=void 0}function eO(e){this.enter({type:"tableRow",children:[]},e)}function Cm(e){this.exit(e)}function d0(e){this.enter({type:"tableCell",children:[]},e)}function tO(e){let t=this.resume();this.data.inTable&&(t=t.replace(/\\([\\|])/g,nO));const n=this.stack[this.stack.length-1];n.type,n.value=t,this.exit(e)}function nO(e,t){return t==="|"?t:e}function rO(e){const t=e||{},n=t.tableCellPadding,r=t.tablePipeAlign,o=t.stringLength,l=n?" ":"|";return{unsafe:[{character:"\r",inConstruct:"tableCell"},{character:`
|
|
123
|
+
`,inConstruct:"tableCell"},{atBreak:!0,character:"|",after:"[ :-]"},{character:"|",inConstruct:"tableCell"},{atBreak:!0,character:":",after:"-"},{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{inlineCode:x,table:u,tableCell:d,tableRow:c}};function u(y,w,C,v){return f(p(y,C,v),y.align)}function c(y,w,C,v){const S=m(y,C,v),_=f([S]);return _.slice(0,_.indexOf(`
|
|
124
|
+
`))}function d(y,w,C,v){const S=C.enter("tableCell"),_=C.enter("phrasing"),b=C.containerPhrasing(y,{...v,before:l,after:l});return _(),S(),b}function f(y,w){return x5(y,{align:w,alignDelimiters:r,padding:n,stringLength:o})}function p(y,w,C){const v=y.children;let S=-1;const _=[],b=w.enter("table");for(;++S<v.length;)_[S]=m(v[S],w,C);return b(),_}function m(y,w,C){const v=y.children;let S=-1;const _=[],b=w.enter("tableRow");for(;++S<v.length;)_[S]=d(v[S],y,w,C);return b(),_}function x(y,w,C){let v=Sw.inlineCode(y,w,C);return C.stack.includes("tableCell")&&(v=v.replace(/\|/g,"\\$&")),v}}function sO(){return{exit:{taskListCheckValueChecked:h0,taskListCheckValueUnchecked:h0,paragraph:aO}}}function iO(){return{unsafe:[{atBreak:!0,character:"-",after:"[:|-]"}],handlers:{listItem:oO}}}function h0(e){const t=this.stack[this.stack.length-2];t.type,t.checked=e.type==="taskListCheckValueChecked"}function aO(e){const t=this.stack[this.stack.length-2];if(t&&t.type==="listItem"&&typeof t.checked=="boolean"){const n=this.stack[this.stack.length-1];n.type;const r=n.children[0];if(r&&r.type==="text"){const o=t.children;let l=-1,u;for(;++l<o.length;){const c=o[l];if(c.type==="paragraph"){u=c;break}}u===n&&(r.value=r.value.slice(1),r.value.length===0?n.children.shift():n.position&&r.position&&typeof r.position.start.offset=="number"&&(r.position.start.column++,r.position.start.offset++,n.position.start=Object.assign({},r.position.start)))}}this.exit(e)}function oO(e,t,n,r){const o=e.children[0],l=typeof e.checked=="boolean"&&o&&o.type==="paragraph",u="["+(e.checked?"x":" ")+"] ",c=n.createTracker(r);l&&c.move(u);let d=Sw.listItem(e,t,n,{...r,...c.current()});return l&&(d=d.replace(/^(?:[*+-]|\d+\.)([\r\n]| {1,3})/,f)),d;function f(p){return p+u}}function lO(){return[z3(),o5(),d5(),Q5(),sO()]}function cO(e){return{extensions:[H3(),l5(e),h5(),rO(e),iO()]}}const uO={tokenize:gO,partial:!0},ww={tokenize:xO,partial:!0},Cw={tokenize:yO,partial:!0},kw={tokenize:bO,partial:!0},dO={tokenize:_O,partial:!0},Ew={name:"wwwAutolink",tokenize:mO,previous:Nw},jw={name:"protocolAutolink",tokenize:pO,previous:Tw},_s={name:"emailAutolink",tokenize:fO,previous:Aw},qr={};function hO(){return{text:qr}}let wi=48;for(;wi<123;)qr[wi]=_s,wi++,wi===58?wi=65:wi===91&&(wi=97);qr[43]=_s;qr[45]=_s;qr[46]=_s;qr[95]=_s;qr[72]=[_s,jw];qr[104]=[_s,jw];qr[87]=[_s,Ew];qr[119]=[_s,Ew];function fO(e,t,n){const r=this;let o,l;return u;function u(m){return!cp(m)||!Aw.call(r,r.previous)||ag(r.events)?n(m):(e.enter("literalAutolink"),e.enter("literalAutolinkEmail"),c(m))}function c(m){return cp(m)?(e.consume(m),c):m===64?(e.consume(m),d):n(m)}function d(m){return m===46?e.check(dO,p,f)(m):m===45||m===95||An(m)?(l=!0,e.consume(m),d):p(m)}function f(m){return e.consume(m),o=!0,d}function p(m){return l&&o&&On(r.previous)?(e.exit("literalAutolinkEmail"),e.exit("literalAutolink"),t(m)):n(m)}}function mO(e,t,n){const r=this;return o;function o(u){return u!==87&&u!==119||!Nw.call(r,r.previous)||ag(r.events)?n(u):(e.enter("literalAutolink"),e.enter("literalAutolinkWww"),e.check(uO,e.attempt(ww,e.attempt(Cw,l),n),n)(u))}function l(u){return e.exit("literalAutolinkWww"),e.exit("literalAutolink"),t(u)}}function pO(e,t,n){const r=this;let o="",l=!1;return u;function u(m){return(m===72||m===104)&&Tw.call(r,r.previous)&&!ag(r.events)?(e.enter("literalAutolink"),e.enter("literalAutolinkHttp"),o+=String.fromCodePoint(m),e.consume(m),c):n(m)}function c(m){if(On(m)&&o.length<5)return o+=String.fromCodePoint(m),e.consume(m),c;if(m===58){const x=o.toLowerCase();if(x==="http"||x==="https")return e.consume(m),d}return n(m)}function d(m){return m===47?(e.consume(m),l?f:(l=!0,d)):n(m)}function f(m){return m===null||Mu(m)||Pt(m)||Bi(m)||hd(m)?n(m):e.attempt(ww,e.attempt(Cw,p),n)(m)}function p(m){return e.exit("literalAutolinkHttp"),e.exit("literalAutolink"),t(m)}}function gO(e,t,n){let r=0;return o;function o(u){return(u===87||u===119)&&r<3?(r++,e.consume(u),o):u===46&&r===3?(e.consume(u),l):n(u)}function l(u){return u===null?n(u):t(u)}}function xO(e,t,n){let r,o,l;return u;function u(f){return f===46||f===95?e.check(kw,d,c)(f):f===null||Pt(f)||Bi(f)||f!==45&&hd(f)?d(f):(l=!0,e.consume(f),u)}function c(f){return f===95?r=!0:(o=r,r=void 0),e.consume(f),u}function d(f){return o||r||!l?n(f):t(f)}}function yO(e,t){let n=0,r=0;return o;function o(u){return u===40?(n++,e.consume(u),o):u===41&&r<n?l(u):u===33||u===34||u===38||u===39||u===41||u===42||u===44||u===46||u===58||u===59||u===60||u===63||u===93||u===95||u===126?e.check(kw,t,l)(u):u===null||Pt(u)||Bi(u)?t(u):(e.consume(u),o)}function l(u){return u===41&&r++,e.consume(u),o}}function bO(e,t,n){return r;function r(c){return c===33||c===34||c===39||c===41||c===42||c===44||c===46||c===58||c===59||c===63||c===95||c===126?(e.consume(c),r):c===38?(e.consume(c),l):c===93?(e.consume(c),o):c===60||c===null||Pt(c)||Bi(c)?t(c):n(c)}function o(c){return c===null||c===40||c===91||Pt(c)||Bi(c)?t(c):r(c)}function l(c){return On(c)?u(c):n(c)}function u(c){return c===59?(e.consume(c),r):On(c)?(e.consume(c),u):n(c)}}function _O(e,t,n){return r;function r(l){return e.consume(l),o}function o(l){return An(l)?n(l):t(l)}}function Nw(e){return e===null||e===40||e===42||e===95||e===91||e===93||e===126||Pt(e)}function Tw(e){return!On(e)}function Aw(e){return!(e===47||cp(e))}function cp(e){return e===43||e===45||e===46||e===95||An(e)}function ag(e){let t=e.length,n=!1;for(;t--;){const r=e[t][1];if((r.type==="labelLink"||r.type==="labelImage")&&!r._balanced){n=!0;break}if(r._gfmAutolinkLiteralWalkedInto){n=!1;break}}return e.length>0&&!n&&(e[e.length-1][1]._gfmAutolinkLiteralWalkedInto=!0),n}const vO={tokenize:TO,partial:!0};function SO(){return{document:{91:{name:"gfmFootnoteDefinition",tokenize:EO,continuation:{tokenize:jO},exit:NO}},text:{91:{name:"gfmFootnoteCall",tokenize:kO},93:{name:"gfmPotentialFootnoteCall",add:"after",tokenize:wO,resolveTo:CO}}}}function wO(e,t,n){const r=this;let o=r.events.length;const l=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let u;for(;o--;){const d=r.events[o][1];if(d.type==="labelImage"){u=d;break}if(d.type==="gfmFootnoteCall"||d.type==="labelLink"||d.type==="label"||d.type==="image"||d.type==="link")break}return c;function c(d){if(!u||!u._balanced)return n(d);const f=Rr(r.sliceSerialize({start:u.end,end:r.now()}));return f.codePointAt(0)!==94||!l.includes(f.slice(1))?n(d):(e.enter("gfmFootnoteCallLabelMarker"),e.consume(d),e.exit("gfmFootnoteCallLabelMarker"),t(d))}}function CO(e,t){let n=e.length;for(;n--;)if(e[n][1].type==="labelImage"&&e[n][0]==="enter"){e[n][1];break}e[n+1][1].type="data",e[n+3][1].type="gfmFootnoteCallLabelMarker";const r={type:"gfmFootnoteCall",start:Object.assign({},e[n+3][1].start),end:Object.assign({},e[e.length-1][1].end)},o={type:"gfmFootnoteCallMarker",start:Object.assign({},e[n+3][1].end),end:Object.assign({},e[n+3][1].end)};o.end.column++,o.end.offset++,o.end._bufferIndex++;const l={type:"gfmFootnoteCallString",start:Object.assign({},o.end),end:Object.assign({},e[e.length-1][1].start)},u={type:"chunkString",contentType:"string",start:Object.assign({},l.start),end:Object.assign({},l.end)},c=[e[n+1],e[n+2],["enter",r,t],e[n+3],e[n+4],["enter",o,t],["exit",o,t],["enter",l,t],["enter",u,t],["exit",u,t],["exit",l,t],e[e.length-2],e[e.length-1],["exit",r,t]];return e.splice(n,e.length-n+1,...c),e}function kO(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l=0,u;return c;function c(m){return e.enter("gfmFootnoteCall"),e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),d}function d(m){return m!==94?n(m):(e.enter("gfmFootnoteCallMarker"),e.consume(m),e.exit("gfmFootnoteCallMarker"),e.enter("gfmFootnoteCallString"),e.enter("chunkString").contentType="string",f)}function f(m){if(l>999||m===93&&!u||m===null||m===91||Pt(m))return n(m);if(m===93){e.exit("chunkString");const x=e.exit("gfmFootnoteCallString");return o.includes(Rr(r.sliceSerialize(x)))?(e.enter("gfmFootnoteCallLabelMarker"),e.consume(m),e.exit("gfmFootnoteCallLabelMarker"),e.exit("gfmFootnoteCall"),t):n(m)}return Pt(m)||(u=!0),l++,e.consume(m),m===92?p:f}function p(m){return m===91||m===92||m===93?(e.consume(m),l++,f):f(m)}}function EO(e,t,n){const r=this,o=r.parser.gfmFootnotes||(r.parser.gfmFootnotes=[]);let l,u=0,c;return d;function d(w){return e.enter("gfmFootnoteDefinition")._container=!0,e.enter("gfmFootnoteDefinitionLabel"),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),f}function f(w){return w===94?(e.enter("gfmFootnoteDefinitionMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionMarker"),e.enter("gfmFootnoteDefinitionLabelString"),e.enter("chunkString").contentType="string",p):n(w)}function p(w){if(u>999||w===93&&!c||w===null||w===91||Pt(w))return n(w);if(w===93){e.exit("chunkString");const C=e.exit("gfmFootnoteDefinitionLabelString");return l=Rr(r.sliceSerialize(C)),e.enter("gfmFootnoteDefinitionLabelMarker"),e.consume(w),e.exit("gfmFootnoteDefinitionLabelMarker"),e.exit("gfmFootnoteDefinitionLabel"),x}return Pt(w)||(c=!0),u++,e.consume(w),w===92?m:p}function m(w){return w===91||w===92||w===93?(e.consume(w),u++,p):p(w)}function x(w){return w===58?(e.enter("definitionMarker"),e.consume(w),e.exit("definitionMarker"),o.includes(l)||o.push(l),_t(e,y,"gfmFootnoteDefinitionWhitespace")):n(w)}function y(w){return t(w)}}function jO(e,t,n){return e.check(Il,t,e.attempt(vO,t,n))}function NO(e){e.exit("gfmFootnoteDefinition")}function TO(e,t,n){const r=this;return _t(e,o,"gfmFootnoteDefinitionIndent",5);function o(l){const u=r.events[r.events.length-1];return u&&u[1].type==="gfmFootnoteDefinitionIndent"&&u[2].sliceSerialize(u[1],!0).length===4?t(l):n(l)}}function AO(e){let n=(e||{}).singleTilde;const r={name:"strikethrough",tokenize:l,resolveAll:o};return n==null&&(n=!0),{text:{126:r},insideSpan:{null:[r]},attentionMarkers:{null:[126]}};function o(u,c){let d=-1;for(;++d<u.length;)if(u[d][0]==="enter"&&u[d][1].type==="strikethroughSequenceTemporary"&&u[d][1]._close){let f=d;for(;f--;)if(u[f][0]==="exit"&&u[f][1].type==="strikethroughSequenceTemporary"&&u[f][1]._open&&u[d][1].end.offset-u[d][1].start.offset===u[f][1].end.offset-u[f][1].start.offset){u[d][1].type="strikethroughSequence",u[f][1].type="strikethroughSequence";const p={type:"strikethrough",start:Object.assign({},u[f][1].start),end:Object.assign({},u[d][1].end)},m={type:"strikethroughText",start:Object.assign({},u[f][1].end),end:Object.assign({},u[d][1].start)},x=[["enter",p,c],["enter",u[f][1],c],["exit",u[f][1],c],["enter",m,c]],y=c.parser.constructs.insideSpan.null;y&&lr(x,x.length,0,fd(y,u.slice(f+1,d),c)),lr(x,x.length,0,[["exit",m,c],["enter",u[d][1],c],["exit",u[d][1],c],["exit",p,c]]),lr(u,f-1,d-f+3,x),d=f+x.length-2;break}}for(d=-1;++d<u.length;)u[d][1].type==="strikethroughSequenceTemporary"&&(u[d][1].type="data");return u}function l(u,c,d){const f=this.previous,p=this.events;let m=0;return x;function x(w){return f===126&&p[p.length-1][1].type!=="characterEscape"?d(w):(u.enter("strikethroughSequenceTemporary"),y(w))}function y(w){const C=Ga(f);if(w===126)return m>1?d(w):(u.consume(w),m++,y);if(m<2&&!n)return d(w);const v=u.exit("strikethroughSequenceTemporary"),S=Ga(w);return v._open=!S||S===2&&!!C,v._close=!C||C===2&&!!S,c(w)}}}class LO{constructor(){this.map=[]}add(t,n,r){DO(this,t,n,r)}consume(t){if(this.map.sort(function(l,u){return l[0]-u[0]}),this.map.length===0)return;let n=this.map.length;const r=[];for(;n>0;)n-=1,r.push(t.slice(this.map[n][0]+this.map[n][1]),this.map[n][2]),t.length=this.map[n][0];r.push(t.slice()),t.length=0;let o=r.pop();for(;o;){for(const l of o)t.push(l);o=r.pop()}this.map.length=0}}function DO(e,t,n,r){let o=0;if(!(n===0&&r.length===0)){for(;o<e.map.length;){if(e.map[o][0]===t){e.map[o][1]+=n,e.map[o][2].push(...r);return}o+=1}e.map.push([t,n,r])}}function RO(e,t){let n=!1;const r=[];for(;t<e.length;){const o=e[t];if(n){if(o[0]==="enter")o[1].type==="tableContent"&&r.push(e[t+1][1].type==="tableDelimiterMarker"?"left":"none");else if(o[1].type==="tableContent"){if(e[t-1][1].type==="tableDelimiterMarker"){const l=r.length-1;r[l]=r[l]==="left"?"center":"right"}}else if(o[1].type==="tableDelimiterRow")break}else o[0]==="enter"&&o[1].type==="tableDelimiterRow"&&(n=!0);t+=1}return r}function OO(){return{flow:{null:{name:"table",tokenize:IO,resolveAll:MO}}}}function IO(e,t,n){const r=this;let o=0,l=0,u;return c;function c(P){let G=r.events.length-1;for(;G>-1;){const H=r.events[G][1].type;if(H==="lineEnding"||H==="linePrefix")G--;else break}const W=G>-1?r.events[G][1].type:null,I=W==="tableHead"||W==="tableRow"?T:d;return I===T&&r.parser.lazy[r.now().line]?n(P):I(P)}function d(P){return e.enter("tableHead"),e.enter("tableRow"),f(P)}function f(P){return P===124||(u=!0,l+=1),p(P)}function p(P){return P===null?n(P):Xe(P)?l>1?(l=0,r.interrupt=!0,e.exit("tableRow"),e.enter("lineEnding"),e.consume(P),e.exit("lineEnding"),y):n(P):pt(P)?_t(e,p,"whitespace")(P):(l+=1,u&&(u=!1,o+=1),P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),u=!0,p):(e.enter("data"),m(P)))}function m(P){return P===null||P===124||Pt(P)?(e.exit("data"),p(P)):(e.consume(P),P===92?x:m)}function x(P){return P===92||P===124?(e.consume(P),m):m(P)}function y(P){return r.interrupt=!1,r.parser.lazy[r.now().line]?n(P):(e.enter("tableDelimiterRow"),u=!1,pt(P)?_t(e,w,"linePrefix",r.parser.constructs.disable.null.includes("codeIndented")?void 0:4)(P):w(P))}function w(P){return P===45||P===58?v(P):P===124?(u=!0,e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),C):E(P)}function C(P){return pt(P)?_t(e,v,"whitespace")(P):v(P)}function v(P){return P===58?(l+=1,u=!0,e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),S):P===45?(l+=1,S(P)):P===null||Xe(P)?j(P):E(P)}function S(P){return P===45?(e.enter("tableDelimiterFiller"),_(P)):E(P)}function _(P){return P===45?(e.consume(P),_):P===58?(u=!0,e.exit("tableDelimiterFiller"),e.enter("tableDelimiterMarker"),e.consume(P),e.exit("tableDelimiterMarker"),b):(e.exit("tableDelimiterFiller"),b(P))}function b(P){return pt(P)?_t(e,j,"whitespace")(P):j(P)}function j(P){return P===124?w(P):P===null||Xe(P)?!u||o!==l?E(P):(e.exit("tableDelimiterRow"),e.exit("tableHead"),t(P)):E(P)}function E(P){return n(P)}function T(P){return e.enter("tableRow"),D(P)}function D(P){return P===124?(e.enter("tableCellDivider"),e.consume(P),e.exit("tableCellDivider"),D):P===null||Xe(P)?(e.exit("tableRow"),t(P)):pt(P)?_t(e,D,"whitespace")(P):(e.enter("data"),L(P))}function L(P){return P===null||P===124||Pt(P)?(e.exit("data"),D(P)):(e.consume(P),P===92?O:L)}function O(P){return P===92||P===124?(e.consume(P),L):L(P)}}function MO(e,t){let n=-1,r=!0,o=0,l=[0,0,0,0],u=[0,0,0,0],c=!1,d=0,f,p,m;const x=new LO;for(;++n<e.length;){const y=e[n],w=y[1];y[0]==="enter"?w.type==="tableHead"?(c=!1,d!==0&&(f0(x,t,d,f,p),p=void 0,d=0),f={type:"table",start:Object.assign({},w.start),end:Object.assign({},w.end)},x.add(n,0,[["enter",f,t]])):w.type==="tableRow"||w.type==="tableDelimiterRow"?(r=!0,m=void 0,l=[0,0,0,0],u=[0,n+1,0,0],c&&(c=!1,p={type:"tableBody",start:Object.assign({},w.start),end:Object.assign({},w.end)},x.add(n,0,[["enter",p,t]])),o=w.type==="tableDelimiterRow"?2:p?3:1):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")?(r=!1,u[2]===0&&(l[1]!==0&&(u[0]=u[1],m=uu(x,t,l,o,void 0,m),l=[0,0,0,0]),u[2]=n)):w.type==="tableCellDivider"&&(r?r=!1:(l[1]!==0&&(u[0]=u[1],m=uu(x,t,l,o,void 0,m)),l=u,u=[l[1],n,0,0])):w.type==="tableHead"?(c=!0,d=n):w.type==="tableRow"||w.type==="tableDelimiterRow"?(d=n,l[1]!==0?(u[0]=u[1],m=uu(x,t,l,o,n,m)):u[1]!==0&&(m=uu(x,t,u,o,n,m)),o=0):o&&(w.type==="data"||w.type==="tableDelimiterMarker"||w.type==="tableDelimiterFiller")&&(u[3]=n)}for(d!==0&&f0(x,t,d,f,p),x.consume(t.events),n=-1;++n<t.events.length;){const y=t.events[n];y[0]==="enter"&&y[1].type==="table"&&(y[1]._align=RO(t.events,n))}return e}function uu(e,t,n,r,o,l){const u=r===1?"tableHeader":r===2?"tableDelimiter":"tableData",c="tableContent";n[0]!==0&&(l.end=Object.assign({},Pa(t.events,n[0])),e.add(n[0],0,[["exit",l,t]]));const d=Pa(t.events,n[1]);if(l={type:u,start:Object.assign({},d),end:Object.assign({},d)},e.add(n[1],0,[["enter",l,t]]),n[2]!==0){const f=Pa(t.events,n[2]),p=Pa(t.events,n[3]),m={type:c,start:Object.assign({},f),end:Object.assign({},p)};if(e.add(n[2],0,[["enter",m,t]]),r!==2){const x=t.events[n[2]],y=t.events[n[3]];if(x[1].end=Object.assign({},y[1].end),x[1].type="chunkText",x[1].contentType="text",n[3]>n[2]+1){const w=n[2]+1,C=n[3]-n[2]-1;e.add(w,C,[])}}e.add(n[3]+1,0,[["exit",m,t]])}return o!==void 0&&(l.end=Object.assign({},Pa(t.events,o)),e.add(o,0,[["exit",l,t]]),l=void 0),l}function f0(e,t,n,r,o){const l=[],u=Pa(t.events,n);o&&(o.end=Object.assign({},u),l.push(["exit",o,t])),r.end=Object.assign({},u),l.push(["exit",r,t]),e.add(n+1,0,l)}function Pa(e,t){const n=e[t],r=n[0]==="enter"?"start":"end";return n[1][r]}const PO={name:"tasklistCheck",tokenize:$O};function BO(){return{text:{91:PO}}}function $O(e,t,n){const r=this;return o;function o(d){return r.previous!==null||!r._gfmTasklistFirstContentOfListItem?n(d):(e.enter("taskListCheck"),e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),l)}function l(d){return Pt(d)?(e.enter("taskListCheckValueUnchecked"),e.consume(d),e.exit("taskListCheckValueUnchecked"),u):d===88||d===120?(e.enter("taskListCheckValueChecked"),e.consume(d),e.exit("taskListCheckValueChecked"),u):n(d)}function u(d){return d===93?(e.enter("taskListCheckMarker"),e.consume(d),e.exit("taskListCheckMarker"),e.exit("taskListCheck"),c):n(d)}function c(d){return Xe(d)?t(d):pt(d)?e.check({tokenize:zO},t,n)(d):n(d)}}function zO(e,t,n){return _t(e,r,"whitespace");function r(o){return o===null?n(o):t(o)}}function HO(e){return H1([hO(),SO(),AO(e),OO(),BO()])}const UO={};function FO(e){const t=this,n=e||UO,r=t.data(),o=r.micromarkExtensions||(r.micromarkExtensions=[]),l=r.fromMarkdownExtensions||(r.fromMarkdownExtensions=[]),u=r.toMarkdownExtensions||(r.toMarkdownExtensions=[]);o.push(HO(n)),l.push(lO()),u.push(cO(n))}var up=Object.defineProperty,VO=Object.getOwnPropertyDescriptor,GO=Object.getOwnPropertyNames,WO=Object.prototype.hasOwnProperty,og=(e,t)=>{let n={};for(var r in e)up(n,r,{get:e[r],enumerable:!0});return up(n,Symbol.toStringTag,{value:"Module"}),n},qO=(e,t,n,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(var o=GO(t),l=0,u=o.length,c;l<u;l++)c=o[l],!WO.call(e,c)&&c!==n&&up(e,c,{get:(d=>t[d]).bind(null,c),enumerable:!(r=VO(t,c))||r.enumerable});return e},Lw=(e,t,n)=>(qO(e,t,"default"),n);const xd=[{id:"abap",name:"ABAP",import:(()=>Z(()=>import("./abap-BdImnpbu.js"),[]))},{id:"actionscript-3",name:"ActionScript",import:(()=>Z(()=>import("./actionscript-3-CoDkCxhg.js"),[]))},{id:"ada",name:"Ada",import:(()=>Z(()=>import("./ada-bCR0ucgS.js"),[]))},{id:"angular-html",name:"Angular HTML",import:(()=>Z(()=>import("./angular-html-DA-rfuFy.js").then(e=>e.f),__vite__mapDeps([0,1,2,3])))},{id:"angular-ts",name:"Angular TypeScript",import:(()=>Z(()=>import("./angular-ts-BrjP3tb8.js"),__vite__mapDeps([4,0,1,2,3,5])))},{id:"apache",name:"Apache Conf",import:(()=>Z(()=>import("./apache-Pmp26Uib.js"),[]))},{id:"apex",name:"Apex",import:(()=>Z(()=>import("./apex-Dqspr-GT.js"),[]))},{id:"apl",name:"APL",import:(()=>Z(()=>import("./apl-CORt7UWP.js"),__vite__mapDeps([6,1,2,3,7,8,9])))},{id:"applescript",name:"AppleScript",import:(()=>Z(()=>import("./applescript-Co6uUVPk.js"),[]))},{id:"ara",name:"Ara",import:(()=>Z(()=>import("./ara-BRHolxvo.js"),[]))},{id:"asciidoc",name:"AsciiDoc",aliases:["adoc"],import:(()=>Z(()=>import("./asciidoc-Ve4PFQV2.js"),[]))},{id:"asm",name:"Assembly",import:(()=>Z(()=>import("./asm-D_Q5rh1f.js"),[]))},{id:"astro",name:"Astro",import:(()=>Z(()=>import("./astro-HNnZUWAn.js"),__vite__mapDeps([10,9,2,11,3,12,13])))},{id:"awk",name:"AWK",import:(()=>Z(()=>import("./awk-DMzUqQB5.js"),[]))},{id:"ballerina",name:"Ballerina",import:(()=>Z(()=>import("./ballerina-BFfxhgS-.js"),[]))},{id:"bat",name:"Batch File",aliases:["batch"],import:(()=>Z(()=>import("./bat-BkioyH1T.js"),[]))},{id:"beancount",name:"Beancount",import:(()=>Z(()=>import("./beancount-k_qm7-4y.js"),[]))},{id:"berry",name:"Berry",aliases:["be"],import:(()=>Z(()=>import("./berry-uYugtg8r.js"),[]))},{id:"bibtex",name:"BibTeX",import:(()=>Z(()=>import("./bibtex-CHM0blh-.js"),[]))},{id:"bicep",name:"Bicep",import:(()=>Z(()=>import("./bicep-Bmn6On1c.js"),[]))},{id:"bird2",name:"BIRD2 Configuration",aliases:["bird"],import:(()=>Z(()=>import("./bird2-BIv1doCn.js"),[]))},{id:"blade",name:"Blade",import:(()=>Z(()=>import("./blade-2xfisSek.js"),__vite__mapDeps([14,15,1,2,3,7,8,16,9])))},{id:"bsl",name:"1C (Enterprise)",aliases:["1c"],import:(()=>Z(()=>import("./bsl-BO_Y6i37.js"),__vite__mapDeps([17,18])))},{id:"c",name:"C",import:(()=>Z(()=>import("./c-BIGW1oBm.js"),[]))},{id:"c3",name:"C3",import:(()=>Z(()=>import("./c3-MRO5bC_T.js"),[]))},{id:"cadence",name:"Cadence",aliases:["cdc"],import:(()=>Z(()=>import("./cadence-Bv_4Rxtq.js"),[]))},{id:"cairo",name:"Cairo",import:(()=>Z(()=>import("./cairo-KRGpt6FW.js"),__vite__mapDeps([19,20])))},{id:"clarity",name:"Clarity",import:(()=>Z(()=>import("./clarity-D53aC0YG.js"),[]))},{id:"clojure",name:"Clojure",aliases:["clj"],import:(()=>Z(()=>import("./clojure-P80f7IUj.js"),[]))},{id:"cmake",name:"CMake",import:(()=>Z(()=>import("./cmake-D1j8_8rp.js"),[]))},{id:"cobol",name:"COBOL",import:(()=>Z(()=>import("./cobol-nBiQ_Alo.js"),__vite__mapDeps([21,1,2,3,8])))},{id:"codeowners",name:"CODEOWNERS",import:(()=>Z(()=>import("./codeowners-Bp6g37R7.js"),[]))},{id:"codeql",name:"CodeQL",aliases:["ql"],import:(()=>Z(()=>import("./codeql-DsOJ9woJ.js"),[]))},{id:"coffee",name:"CoffeeScript",aliases:["coffeescript"],import:(()=>Z(()=>import("./coffee-Ch7k5sss.js"),__vite__mapDeps([22,2])))},{id:"common-lisp",name:"Common Lisp",aliases:["lisp"],import:(()=>Z(()=>import("./common-lisp-Cg-RD9OK.js"),[]))},{id:"coq",name:"Coq",import:(()=>Z(()=>import("./coq-DkFqJrB1.js"),[]))},{id:"cpp",name:"C++",aliases:["c++"],import:(()=>Z(()=>import("./cpp-UfJy6YNI.js"),__vite__mapDeps([23,24,25,26,16])))},{id:"crystal",name:"Crystal",import:(()=>Z(()=>import("./crystal-DGywbUpC.js"),__vite__mapDeps([27,1,2,3,16,26,28])))},{id:"csharp",name:"C#",aliases:["c#","cs"],import:(()=>Z(()=>import("./csharp-DSvCPggb.js"),[]))},{id:"css",name:"CSS",import:(()=>Z(()=>import("./css-CLj8gQPS.js"),[]))},{id:"csv",name:"CSV",import:(()=>Z(()=>import("./csv-fuZLfV_i.js"),[]))},{id:"cue",name:"CUE",import:(()=>Z(()=>import("./cue-D82EKSYY.js"),[]))},{id:"cypher",name:"Cypher",aliases:["cql"],import:(()=>Z(()=>import("./cypher-COkxafJQ.js"),[]))},{id:"d",name:"D",import:(()=>Z(()=>import("./d-85-TOEBH.js"),[]))},{id:"dart",name:"Dart",import:(()=>Z(()=>import("./dart-bE4Kk8sk.js"),[]))},{id:"dax",name:"DAX",import:(()=>Z(()=>import("./dax-CEL-wOlO.js"),[]))},{id:"desktop",name:"Desktop",import:(()=>Z(()=>import("./desktop-BmXAJ9_W.js"),[]))},{id:"diff",name:"Diff",import:(()=>Z(()=>import("./diff-D97Zzqfu.js"),[]))},{id:"docker",name:"Dockerfile",aliases:["dockerfile"],import:(()=>Z(()=>import("./docker-BcOcwvcX.js"),[]))},{id:"dotenv",name:"dotEnv",import:(()=>Z(()=>import("./dotenv-Da5cRb03.js"),[]))},{id:"dream-maker",name:"Dream Maker",import:(()=>Z(()=>import("./dream-maker-BtqSS_iP.js"),[]))},{id:"edge",name:"Edge",import:(()=>Z(()=>import("./edge-FbVlp4U3.js"),__vite__mapDeps([29,11,1,2,3,15])))},{id:"elixir",name:"Elixir",import:(()=>Z(()=>import("./elixir-CkH2-t6x.js"),__vite__mapDeps([30,1,2,3])))},{id:"elm",name:"Elm",import:(()=>Z(()=>import("./elm-DbKCFpqz.js"),__vite__mapDeps([31,25,26])))},{id:"emacs-lisp",name:"Emacs Lisp",aliases:["elisp"],import:(()=>Z(()=>import("./emacs-lisp-CXvaQtF9.js"),[]))},{id:"erb",name:"ERB",import:(()=>Z(()=>import("./erb-Dm6A9KJ5.js"),__vite__mapDeps([32,1,2,3,33,34,7,8,16,35,11,36,13,23,24,25,26,28,37,38])))},{id:"erlang",name:"Erlang",aliases:["erl"],import:(()=>Z(()=>import("./erlang-DsQrWhSR.js"),__vite__mapDeps([39,40])))},{id:"fennel",name:"Fennel",import:(()=>Z(()=>import("./fennel-BYunw83y.js"),[]))},{id:"fish",name:"Fish",import:(()=>Z(()=>import("./fish-BvzEVeQv.js"),[]))},{id:"fluent",name:"Fluent",aliases:["ftl"],import:(()=>Z(()=>import("./fluent-C4IJs8-o.js"),[]))},{id:"fortran-fixed-form",name:"Fortran (Fixed Form)",aliases:["f","for","f77"],import:(()=>Z(()=>import("./fortran-fixed-form-CkoXwp7k.js"),__vite__mapDeps([41,42])))},{id:"fortran-free-form",name:"Fortran (Free Form)",aliases:["f90","f95","f03","f08","f18"],import:(()=>Z(()=>import("./fortran-free-form-BxgE0vQu.js"),[]))},{id:"fsharp",name:"F#",aliases:["f#","fs"],import:(()=>Z(()=>import("./fsharp-CXgrBDvD.js"),__vite__mapDeps([43,40])))},{id:"gdresource",name:"GDResource",aliases:["tscn","tres"],import:(()=>Z(()=>import("./gdresource-BOOCDP_w.js"),__vite__mapDeps([44,45,46])))},{id:"gdscript",name:"GDScript",aliases:["gd"],import:(()=>Z(()=>import("./gdscript-C5YyOfLZ.js"),[]))},{id:"gdshader",name:"GDShader",import:(()=>Z(()=>import("./gdshader-DkwncUOv.js"),[]))},{id:"genie",name:"Genie",import:(()=>Z(()=>import("./genie-D0YGMca9.js"),[]))},{id:"gherkin",name:"Gherkin",import:(()=>Z(()=>import("./gherkin-DyxjwDmM.js"),[]))},{id:"git-commit",name:"Git Commit Message",import:(()=>Z(()=>import("./git-commit-F4YmCXRG.js"),__vite__mapDeps([47,48])))},{id:"git-rebase",name:"Git Rebase Message",import:(()=>Z(()=>import("./git-rebase-r7XF79zn.js"),__vite__mapDeps([49,28])))},{id:"gleam",name:"Gleam",import:(()=>Z(()=>import("./gleam-BspZqrRM.js"),[]))},{id:"glimmer-js",name:"Glimmer JS",aliases:["gjs"],import:(()=>Z(()=>import("./glimmer-js-ByusRIyA.js"),__vite__mapDeps([50,2,11,3,1])))},{id:"glimmer-ts",name:"Glimmer TS",aliases:["gts"],import:(()=>Z(()=>import("./glimmer-ts-BfAWNZQY.js"),__vite__mapDeps([51,11,3,2,1])))},{id:"glsl",name:"GLSL",import:(()=>Z(()=>import("./glsl-DplSGwfg.js"),__vite__mapDeps([25,26])))},{id:"gn",name:"GN",import:(()=>Z(()=>import("./gn-n2N0HUVH.js"),[]))},{id:"gnuplot",name:"Gnuplot",import:(()=>Z(()=>import("./gnuplot-DdkO51Og.js"),[]))},{id:"go",name:"Go",import:(()=>Z(()=>import("./go-C27-OAKa.js"),[]))},{id:"graphql",name:"GraphQL",aliases:["gql"],import:(()=>Z(()=>import("./graphql-ChdNCCLP.js"),__vite__mapDeps([35,2,11,36,13])))},{id:"groovy",name:"Groovy",import:(()=>Z(()=>import("./groovy-gcz8RCvz.js"),[]))},{id:"hack",name:"Hack",import:(()=>Z(()=>import("./hack-DbPARsA_.js"),__vite__mapDeps([52,1,2,3,16])))},{id:"haml",name:"Ruby Haml",import:(()=>Z(()=>import("./haml-D5jkg6IW.js"),__vite__mapDeps([34,2,3])))},{id:"handlebars",name:"Handlebars",aliases:["hbs"],import:(()=>Z(()=>import("./handlebars-BpdQsYii.js"),__vite__mapDeps([53,1,2,3,38])))},{id:"haskell",name:"Haskell",aliases:["hs"],import:(()=>Z(()=>import("./haskell-Df6bDoY_.js"),[]))},{id:"haxe",name:"Haxe",import:(()=>Z(()=>import("./haxe-CzTSHFRz.js"),[]))},{id:"hcl",name:"HashiCorp HCL",import:(()=>Z(()=>import("./hcl-BWvSN4gD.js"),[]))},{id:"hjson",name:"Hjson",import:(()=>Z(()=>import("./hjson-D5-asLiD.js"),[]))},{id:"hlsl",name:"HLSL",import:(()=>Z(()=>import("./hlsl-D3lLCCz7.js"),[]))},{id:"html",name:"HTML",import:(()=>Z(()=>import("./html-pp8916En.js"),__vite__mapDeps([1,2,3])))},{id:"html-derivative",name:"HTML (Derivative)",import:(()=>Z(()=>import("./html-derivative-DlHx6ybY.js"),__vite__mapDeps([15,1,2,3])))},{id:"http",name:"HTTP",import:(()=>Z(()=>import("./http-jrhK8wxY.js"),__vite__mapDeps([54,28,9,7,8,35,2,11,36,13])))},{id:"hurl",name:"Hurl",import:(()=>Z(()=>import("./hurl-irOxFIW8.js"),__vite__mapDeps([55,35,2,11,36,13,7,8,56])))},{id:"hxml",name:"HXML",import:(()=>Z(()=>import("./hxml-Bvhsp5Yf.js"),__vite__mapDeps([57,58])))},{id:"hy",name:"Hy",import:(()=>Z(()=>import("./hy-DFXneXwc.js"),[]))},{id:"imba",name:"Imba",import:(()=>Z(()=>import("./imba-DGztddWO.js"),[]))},{id:"ini",name:"INI",aliases:["properties"],import:(()=>Z(()=>import("./ini-BEwlwnbL.js"),[]))},{id:"java",name:"Java",import:(()=>Z(()=>import("./java-CylS5w8V.js"),[]))},{id:"javascript",name:"JavaScript",aliases:["js","cjs","mjs"],import:(()=>Z(()=>import("./javascript-wDzz0qaB.js"),[]))},{id:"jinja",name:"Jinja",import:(()=>Z(()=>import("./jinja-f2NsQr07.js"),__vite__mapDeps([59,1,2,3])))},{id:"jison",name:"Jison",import:(()=>Z(()=>import("./jison-wvAkD_A8.js"),__vite__mapDeps([60,2])))},{id:"json",name:"JSON",import:(()=>Z(()=>import("./json-Cp-IABpG.js"),[]))},{id:"json5",name:"JSON5",import:(()=>Z(()=>import("./json5-C9tS-k6U.js"),[]))},{id:"jsonc",name:"JSON with Comments",import:(()=>Z(()=>import("./jsonc-Des-eS-w.js"),[]))},{id:"jsonl",name:"JSON Lines",import:(()=>Z(()=>import("./jsonl-DcaNXYhu.js"),[]))},{id:"jsonnet",name:"Jsonnet",import:(()=>Z(()=>import("./jsonnet-DFQXde-d.js"),[]))},{id:"jssm",name:"JSSM",aliases:["fsl"],import:(()=>Z(()=>import("./jssm-C2t-YnRu.js"),[]))},{id:"jsx",name:"JSX",import:(()=>Z(()=>import("./jsx-g9-lgVsj.js"),[]))},{id:"julia",name:"Julia",aliases:["jl"],import:(()=>Z(()=>import("./julia-D7OTSIA_.js"),__vite__mapDeps([61,23,24,25,26,16,20,2,62])))},{id:"just",name:"Just",import:(()=>Z(()=>import("./just-CUsbIsdP.js"),__vite__mapDeps([63,28,2,11,64,1,3,7,8,16,20,33,34,35,36,13,23,24,25,26,37,38])))},{id:"kdl",name:"KDL",import:(()=>Z(()=>import("./kdl-DV7GczEv.js"),[]))},{id:"kotlin",name:"Kotlin",aliases:["kt","kts"],import:(()=>Z(()=>import("./kotlin-BdnUsdx6.js"),[]))},{id:"kusto",name:"Kusto",aliases:["kql"],import:(()=>Z(()=>import("./kusto-wEQ09or8.js"),[]))},{id:"latex",name:"LaTeX",import:(()=>Z(()=>import("./latex-CaSxy8MP.js"),__vite__mapDeps([65,66,62])))},{id:"lean",name:"Lean 4",aliases:["lean4"],import:(()=>Z(()=>import("./lean-BZvkOJ9d.js"),[]))},{id:"less",name:"Less",import:(()=>Z(()=>import("./less-B1dDrJ26.js"),[]))},{id:"liquid",name:"Liquid",import:(()=>Z(()=>import("./liquid-C0sCDyMI.js"),__vite__mapDeps([67,1,2,3,9])))},{id:"llvm",name:"LLVM IR",import:(()=>Z(()=>import("./llvm-DjAJT7YJ.js"),[]))},{id:"log",name:"Log file",import:(()=>Z(()=>import("./log-2UxHyX5q.js"),[]))},{id:"logo",name:"Logo",import:(()=>Z(()=>import("./logo-BtOb2qkB.js"),[]))},{id:"lua",name:"Lua",import:(()=>Z(()=>import("./lua-BaeVxFsk.js"),__vite__mapDeps([37,26])))},{id:"luau",name:"Luau",import:(()=>Z(()=>import("./luau-KW6xsasC.js"),[]))},{id:"make",name:"Makefile",aliases:["makefile"],import:(()=>Z(()=>import("./make-CHLpvVh8.js"),[]))},{id:"markdown",name:"Markdown",aliases:["md"],import:(()=>Z(()=>import("./markdown-Cvjx9yec.js"),[]))},{id:"marko",name:"Marko",import:(()=>Z(()=>import("./marko-DjSrsDqO.js"),__vite__mapDeps([68,3,69,5,11])))},{id:"matlab",name:"MATLAB",import:(()=>Z(()=>import("./matlab-D7o27uSR.js"),[]))},{id:"mdc",name:"MDC",import:(()=>Z(()=>import("./mdc-DTYItulj.js"),__vite__mapDeps([70,40,38,15,1,2,3])))},{id:"mdx",name:"MDX",import:(()=>Z(()=>import("./mdx-Cmh6b_Ma.js"),[]))},{id:"mermaid",name:"Mermaid",aliases:["mmd"],import:(()=>Z(()=>import("./mermaid-mWjccvbQ.js"),[]))},{id:"mipsasm",name:"MIPS Assembly",aliases:["mips"],import:(()=>Z(()=>import("./mipsasm-CKIfxQSi.js"),[]))},{id:"mojo",name:"Mojo",import:(()=>Z(()=>import("./mojo-rZm6bMo-.js"),[]))},{id:"moonbit",name:"MoonBit",aliases:["mbt","mbti"],import:(()=>Z(()=>import("./moonbit-_H4v1dQx.js"),[]))},{id:"move",name:"Move",import:(()=>Z(()=>import("./move-IF9eRakj.js"),[]))},{id:"narrat",name:"Narrat Language",aliases:["nar"],import:(()=>Z(()=>import("./narrat-DRg8JJMk.js"),[]))},{id:"nextflow",name:"Nextflow",aliases:["nf"],import:(()=>Z(()=>import("./nextflow-C-mBbutL.js"),__vite__mapDeps([71,72])))},{id:"nextflow-groovy",name:"Nextflow Groovy",import:(()=>Z(()=>import("./nextflow-groovy-vE_lwT2v.js"),[]))},{id:"nginx",name:"Nginx",import:(()=>Z(()=>import("./nginx-BpAMiNFr.js"),__vite__mapDeps([73,37,26])))},{id:"nim",name:"Nim",import:(()=>Z(()=>import("./nim-BIad80T-.js"),__vite__mapDeps([74,26,1,2,3,7,8,25,40])))},{id:"nix",name:"Nix",import:(()=>Z(()=>import("./nix-CwoSXNpI.js"),[]))},{id:"nushell",name:"nushell",aliases:["nu"],import:(()=>Z(()=>import("./nushell-Cz2AlsmD.js"),[]))},{id:"objective-c",name:"Objective-C",aliases:["objc"],import:(()=>Z(()=>import("./objective-c-DXmwc3jG.js"),[]))},{id:"objective-cpp",name:"Objective-C++",import:(()=>Z(()=>import("./objective-cpp-CLxacb5B.js"),[]))},{id:"ocaml",name:"OCaml",import:(()=>Z(()=>import("./ocaml-C0hk2d4L.js"),[]))},{id:"odin",name:"Odin",import:(()=>Z(()=>import("./odin-BBf5iR-q.js"),[]))},{id:"openscad",name:"OpenSCAD",aliases:["scad"],import:(()=>Z(()=>import("./openscad-C4EeE6gA.js"),[]))},{id:"pascal",name:"Pascal",import:(()=>Z(()=>import("./pascal-D93ZcfNL.js"),[]))},{id:"perl",name:"Perl",import:(()=>Z(()=>import("./perl-B9cMNwum.js"),__vite__mapDeps([64,1,2,3,7,8,16])))},{id:"php",name:"PHP",import:(()=>Z(()=>import("./php-Csjmro_R.js"),__vite__mapDeps([75,1,2,3,7,8,16,9])))},{id:"pkl",name:"Pkl",import:(()=>Z(()=>import("./pkl-u5AG7uiY.js"),[]))},{id:"plsql",name:"PL/SQL",import:(()=>Z(()=>import("./plsql-ChMvpjG-.js"),[]))},{id:"po",name:"Gettext PO",aliases:["pot","potx"],import:(()=>Z(()=>import("./po-BTJTHyun.js"),[]))},{id:"polar",name:"Polar",import:(()=>Z(()=>import("./polar-C0HS_06l.js"),[]))},{id:"postcss",name:"PostCSS",import:(()=>Z(()=>import("./postcss-CXtECtnM.js"),[]))},{id:"powerquery",name:"PowerQuery",import:(()=>Z(()=>import("./powerquery-CEu0bR-o.js"),[]))},{id:"powershell",name:"PowerShell",aliases:["ps","ps1"],import:(()=>Z(()=>import("./powershell-Dpen1YoG.js"),[]))},{id:"prisma",name:"Prisma",import:(()=>Z(()=>import("./prisma-Dd19v3D-.js"),[]))},{id:"prolog",name:"Prolog",import:(()=>Z(()=>import("./prolog-CbFg5uaA.js"),[]))},{id:"proto",name:"Protocol Buffer 3",aliases:["protobuf"],import:(()=>Z(()=>import("./proto-C7zT0LnQ.js"),[]))},{id:"pug",name:"Pug",aliases:["jade"],import:(()=>Z(()=>import("./pug-DKIMFp6K.js"),__vite__mapDeps([76,2,3,1])))},{id:"puppet",name:"Puppet",import:(()=>Z(()=>import("./puppet-BMWR74SV.js"),[]))},{id:"purescript",name:"PureScript",import:(()=>Z(()=>import("./purescript-CklMAg4u.js"),[]))},{id:"python",name:"Python",aliases:["py"],import:(()=>Z(()=>import("./python-B6aJPvgy.js"),[]))},{id:"qml",name:"QML",import:(()=>Z(()=>import("./qml-3beO22l8.js"),__vite__mapDeps([77,2])))},{id:"qmldir",name:"QML Directory",import:(()=>Z(()=>import("./qmldir-C8lEn-DE.js"),[]))},{id:"qss",name:"Qt Style Sheets",import:(()=>Z(()=>import("./qss-IeuSbFQv.js"),[]))},{id:"r",name:"R",import:(()=>Z(()=>import("./r-Dspwwk_N.js"),[]))},{id:"racket",name:"Racket",import:(()=>Z(()=>import("./racket-BqYA7rlc.js"),[]))},{id:"raku",name:"Raku",aliases:["perl6"],import:(()=>Z(()=>import("./raku-DXvB9xmW.js"),[]))},{id:"razor",name:"ASP.NET Razor",import:(()=>Z(()=>import("./razor-BjBPvh-w.js"),__vite__mapDeps([78,1,2,3,79])))},{id:"reg",name:"Windows Registry Script",import:(()=>Z(()=>import("./reg-C-SQnVFl.js"),[]))},{id:"regexp",name:"RegExp",aliases:["regex"],import:(()=>Z(()=>import("./regexp-CDVJQ6XC.js"),[]))},{id:"rel",name:"Rel",import:(()=>Z(()=>import("./rel-C3B-1QV4.js"),[]))},{id:"riscv",name:"RISC-V",import:(()=>Z(()=>import("./riscv-BM1_JUlF.js"),[]))},{id:"ron",name:"RON",import:(()=>Z(()=>import("./ron-D8l8udqQ.js"),[]))},{id:"rosmsg",name:"ROS Interface",import:(()=>Z(()=>import("./rosmsg-BJDFO7_C.js"),[]))},{id:"rst",name:"reStructuredText",import:(()=>Z(()=>import("./rst-CpCqk9r5.js"),__vite__mapDeps([80,15,1,2,3,23,24,25,26,16,20,28,38,81,33,34,7,8,35,11,36,13,37])))},{id:"ruby",name:"Ruby",aliases:["rb"],import:(()=>Z(()=>import("./ruby-DyJCeAvU.js"),__vite__mapDeps([33,1,2,3,34,7,8,16,35,11,36,13,23,24,25,26,28,37,38])))},{id:"rust",name:"Rust",aliases:["rs"],import:(()=>Z(()=>import("./rust-B1yitclQ.js"),[]))},{id:"sas",name:"SAS",import:(()=>Z(()=>import("./sas-DEy46yEz.js"),__vite__mapDeps([82,16])))},{id:"sass",name:"Sass",import:(()=>Z(()=>import("./sass-Cj5Yp3dK.js"),[]))},{id:"scala",name:"Scala",import:(()=>Z(()=>import("./scala-C151Ov-r.js"),[]))},{id:"scheme",name:"Scheme",import:(()=>Z(()=>import("./scheme-C98Dy4si.js"),[]))},{id:"scss",name:"SCSS",import:(()=>Z(()=>import("./scss-D5BDwBP9.js"),__vite__mapDeps([5,3])))},{id:"sdbl",name:"1C (Query)",aliases:["1c-query"],import:(()=>Z(()=>import("./sdbl-DVxCFoDh.js"),[]))},{id:"shaderlab",name:"ShaderLab",aliases:["shader"],import:(()=>Z(()=>import("./shaderlab-Dg9Lc6iA.js"),__vite__mapDeps([83,84])))},{id:"shellscript",name:"Shell",aliases:["bash","sh","shell","zsh"],import:(()=>Z(()=>import("./shellscript-Yzrsuije.js"),[]))},{id:"shellsession",name:"Shell Session",aliases:["console"],import:(()=>Z(()=>import("./shellsession-BADoaaVG.js"),__vite__mapDeps([85,28])))},{id:"smalltalk",name:"Smalltalk",import:(()=>Z(()=>import("./smalltalk-BERRCDM3.js"),[]))},{id:"solidity",name:"Solidity",import:(()=>Z(()=>import("./solidity-rGO070M0.js"),[]))},{id:"soy",name:"Closure Templates",aliases:["closure-templates"],import:(()=>Z(()=>import("./soy-8wufbnw4.js"),__vite__mapDeps([86,1,2,3])))},{id:"sparql",name:"SPARQL",import:(()=>Z(()=>import("./sparql-rVzFXLq3.js"),__vite__mapDeps([87,88])))},{id:"splunk",name:"Splunk Query Language",aliases:["spl"],import:(()=>Z(()=>import("./splunk-BtCnVYZw.js"),[]))},{id:"sql",name:"SQL",import:(()=>Z(()=>import("./sql-CRqJ_cUM.js"),[]))},{id:"ssh-config",name:"SSH Config",import:(()=>Z(()=>import("./ssh-config-_ykCGR6B.js"),[]))},{id:"stata",name:"Stata",import:(()=>Z(()=>import("./stata-DI20mbqo.js"),__vite__mapDeps([89,16])))},{id:"stylus",name:"Stylus",aliases:["styl"],import:(()=>Z(()=>import("./stylus-BEDo0Tqx.js"),[]))},{id:"surrealql",name:"SurrealQL",aliases:["surql"],import:(()=>Z(()=>import("./surrealql-Bq5Q-fJD.js"),__vite__mapDeps([90,2])))},{id:"svelte",name:"Svelte",import:(()=>Z(()=>import("./svelte-Cy7k_4gC.js"),__vite__mapDeps([91,2,11,3,12])))},{id:"swift",name:"Swift",import:(()=>Z(()=>import("./swift-D82vCrfD.js"),[]))},{id:"system-verilog",name:"SystemVerilog",import:(()=>Z(()=>import("./system-verilog-CnnmHF94.js"),[]))},{id:"systemd",name:"Systemd Units",import:(()=>Z(()=>import("./systemd-4A_iFExJ.js"),[]))},{id:"talonscript",name:"TalonScript",aliases:["talon"],import:(()=>Z(()=>import("./talonscript-CkByrt1z.js"),[]))},{id:"tasl",name:"Tasl",import:(()=>Z(()=>import("./tasl-QIJgUcNo.js"),[]))},{id:"tcl",name:"Tcl",import:(()=>Z(()=>import("./tcl-dwOrl1Do.js"),[]))},{id:"templ",name:"Templ",import:(()=>Z(()=>import("./templ-DhtptRzy.js"),__vite__mapDeps([92,93,2,3])))},{id:"terraform",name:"Terraform",aliases:["tf","tfvars"],import:(()=>Z(()=>import("./terraform-BETggiCN.js"),[]))},{id:"tex",name:"TeX",import:(()=>Z(()=>import("./tex-idrVyKtj.js"),__vite__mapDeps([66,62])))},{id:"toml",name:"TOML",import:(()=>Z(()=>import("./toml-vGWfd6FD.js"),[]))},{id:"ts-tags",name:"TypeScript with Tags",aliases:["lit"],import:(()=>Z(()=>import("./ts-tags-D351s5mN.js"),__vite__mapDeps([94,11,3,2,25,26,1,16,7,8])))},{id:"tsv",name:"TSV",import:(()=>Z(()=>import("./tsv-B_m7g4N7.js"),[]))},{id:"tsx",name:"TSX",import:(()=>Z(()=>import("./tsx-COt5Ahok.js"),[]))},{id:"turtle",name:"Turtle",import:(()=>Z(()=>import("./turtle-BsS91CYL.js"),[]))},{id:"twig",name:"Twig",import:(()=>Z(()=>import("./twig-CW1WmMYd.js"),__vite__mapDeps([95,3,2,5,75,1,7,8,16,9,20,33,34,35,11,36,13,23,24,25,26,28,37,38])))},{id:"typescript",name:"TypeScript",aliases:["ts","cts","mts"],import:(()=>Z(()=>import("./typescript-BPQ3VLAy.js"),[]))},{id:"typespec",name:"TypeSpec",aliases:["tsp"],import:(()=>Z(()=>import("./typespec-CAFt9gP4.js"),[]))},{id:"typst",name:"Typst",aliases:["typ"],import:(()=>Z(()=>import("./typst-DHCkPAjA.js"),[]))},{id:"v",name:"V",import:(()=>Z(()=>import("./v-BcVCzyr7.js"),[]))},{id:"vala",name:"Vala",import:(()=>Z(()=>import("./vala-CsfeWuGM.js"),[]))},{id:"vb",name:"Visual Basic",aliases:["cmd"],import:(()=>Z(()=>import("./vb-D17OF-Vu.js"),[]))},{id:"verilog",name:"Verilog",import:(()=>Z(()=>import("./verilog-BQ8w6xss.js"),[]))},{id:"vhdl",name:"VHDL",import:(()=>Z(()=>import("./vhdl-CeAyd5Ju.js"),[]))},{id:"viml",name:"Vim Script",aliases:["vim","vimscript"],import:(()=>Z(()=>import("./viml-CJc9bBzg.js"),[]))},{id:"vue",name:"Vue",import:(()=>Z(()=>import("./vue-D2xRrEX4.js"),__vite__mapDeps([96,3,2,11,9,1,15])))},{id:"vue-html",name:"Vue HTML",import:(()=>Z(()=>import("./vue-html-AaS7Mt5G.js"),__vite__mapDeps([97,2])))},{id:"vue-vine",name:"Vue Vine",import:(()=>Z(()=>import("./vue-vine-BoDAl6tE.js"),__vite__mapDeps([98,3,5,69,99,12,2])))},{id:"vyper",name:"Vyper",aliases:["vy"],import:(()=>Z(()=>import("./vyper-CDx5xZoG.js"),[]))},{id:"wasm",name:"WebAssembly",import:(()=>Z(()=>import("./wasm-MzD3tlZU.js"),[]))},{id:"wenyan",name:"Wenyan",aliases:["文言"],import:(()=>Z(()=>import("./wenyan-BV7otONQ.js"),[]))},{id:"wgsl",name:"WGSL",import:(()=>Z(()=>import("./wgsl-Dx-B1_4e.js"),[]))},{id:"wikitext",name:"Wikitext",aliases:["mediawiki","wiki"],import:(()=>Z(()=>import("./wikitext-BhOHFoWU.js"),[]))},{id:"wit",name:"WebAssembly Interface Types",import:(()=>Z(()=>import("./wit-5i3qLPDT.js"),[]))},{id:"wolfram",name:"Wolfram",aliases:["wl"],import:(()=>Z(()=>import("./wolfram-lXgVvXCa.js"),[]))},{id:"xml",name:"XML",import:(()=>Z(()=>import("./xml-sdJ4AIDG.js"),__vite__mapDeps([7,8])))},{id:"xsl",name:"XSL",import:(()=>Z(()=>import("./xsl-CtQFsRM5.js"),__vite__mapDeps([100,7,8])))},{id:"yaml",name:"YAML",aliases:["yml"],import:(()=>Z(()=>import("./yaml-Buea-lGh.js"),[]))},{id:"zenscript",name:"ZenScript",import:(()=>Z(()=>import("./zenscript-DVFEvuxE.js"),[]))},{id:"zig",name:"Zig",import:(()=>Z(()=>import("./zig-VOosw3JB.js"),[]))}],lg=Object.fromEntries(xd.map(e=>[e.id,e.import])),cg=Object.fromEntries(xd.flatMap(e=>{var t;return((t=e.aliases)==null?void 0:t.map(n=>[n,e.import]))||[]})),yd={...lg,...cg},ug=[{id:"andromeeda",displayName:"Andromeeda",type:"dark",import:(()=>Z(()=>import("./andromeeda-C4gqWexZ.js"),[]))},{id:"aurora-x",displayName:"Aurora X",type:"dark",import:(()=>Z(()=>import("./aurora-x-D-2ljcwZ.js"),[]))},{id:"ayu-dark",displayName:"Ayu Dark",type:"dark",import:(()=>Z(()=>import("./ayu-dark-DYE7WIF3.js"),[]))},{id:"ayu-light",displayName:"Ayu Light",type:"light",import:(()=>Z(()=>import("./ayu-light-BA47KaF1.js"),[]))},{id:"ayu-mirage",displayName:"Ayu Mirage",type:"dark",import:(()=>Z(()=>import("./ayu-mirage-32ctXXKs.js"),[]))},{id:"catppuccin-frappe",displayName:"Catppuccin Frappé",type:"dark",import:(()=>Z(()=>import("./catppuccin-frappe-DFWUc33u.js"),[]))},{id:"catppuccin-latte",displayName:"Catppuccin Latte",type:"light",import:(()=>Z(()=>import("./catppuccin-latte-C9dUb6Cb.js"),[]))},{id:"catppuccin-macchiato",displayName:"Catppuccin Macchiato",type:"dark",import:(()=>Z(()=>import("./catppuccin-macchiato-DQyhUUbL.js"),[]))},{id:"catppuccin-mocha",displayName:"Catppuccin Mocha",type:"dark",import:(()=>Z(()=>import("./catppuccin-mocha-D87Tk5Gz.js"),[]))},{id:"dark-plus",displayName:"Dark Plus",type:"dark",import:(()=>Z(()=>import("./dark-plus-C3mMm8J8.js"),[]))},{id:"dracula",displayName:"Dracula Theme",type:"dark",import:(()=>Z(()=>import("./dracula-BzJJZx-M.js"),[]))},{id:"dracula-soft",displayName:"Dracula Theme Soft",type:"dark",import:(()=>Z(()=>import("./dracula-soft-BXkSAIEj.js"),[]))},{id:"everforest-dark",displayName:"Everforest Dark",type:"dark",import:(()=>Z(()=>import("./everforest-dark-BgDCqdQA.js"),[]))},{id:"everforest-light",displayName:"Everforest Light",type:"light",import:(()=>Z(()=>import("./everforest-light-C8M2exoo.js"),[]))},{id:"github-dark",displayName:"GitHub Dark",type:"dark",import:(()=>Z(()=>import("./github-dark-DHJKELXO.js"),[]))},{id:"github-dark-default",displayName:"GitHub Dark Default",type:"dark",import:(()=>Z(()=>import("./github-dark-default-Cuk6v7N8.js"),[]))},{id:"github-dark-dimmed",displayName:"GitHub Dark Dimmed",type:"dark",import:(()=>Z(()=>import("./github-dark-dimmed-DH5Ifo-i.js"),[]))},{id:"github-dark-high-contrast",displayName:"GitHub Dark High Contrast",type:"dark",import:(()=>Z(()=>import("./github-dark-high-contrast-E3gJ1_iC.js"),[]))},{id:"github-light",displayName:"GitHub Light",type:"light",import:(()=>Z(()=>import("./github-light-DAi9KRSo.js"),[]))},{id:"github-light-default",displayName:"GitHub Light Default",type:"light",import:(()=>Z(()=>import("./github-light-default-D7oLnXFd.js"),[]))},{id:"github-light-high-contrast",displayName:"GitHub Light High Contrast",type:"light",import:(()=>Z(()=>import("./github-light-high-contrast-BfjtVDDH.js"),[]))},{id:"gruvbox-dark-hard",displayName:"Gruvbox Dark Hard",type:"dark",import:(()=>Z(()=>import("./gruvbox-dark-hard-CFHQjOhq.js"),[]))},{id:"gruvbox-dark-medium",displayName:"Gruvbox Dark Medium",type:"dark",import:(()=>Z(()=>import("./gruvbox-dark-medium-GsRaNv29.js"),[]))},{id:"gruvbox-dark-soft",displayName:"Gruvbox Dark Soft",type:"dark",import:(()=>Z(()=>import("./gruvbox-dark-soft-CVdnzihN.js"),[]))},{id:"gruvbox-light-hard",displayName:"Gruvbox Light Hard",type:"light",import:(()=>Z(()=>import("./gruvbox-light-hard-CH1njM8p.js"),[]))},{id:"gruvbox-light-medium",displayName:"Gruvbox Light Medium",type:"light",import:(()=>Z(()=>import("./gruvbox-light-medium-DRw_LuNl.js"),[]))},{id:"gruvbox-light-soft",displayName:"Gruvbox Light Soft",type:"light",import:(()=>Z(()=>import("./gruvbox-light-soft-hJgmCMqR.js"),[]))},{id:"horizon",displayName:"Horizon",type:"dark",import:(()=>Z(()=>import("./horizon-BUw7H-hv.js"),[]))},{id:"horizon-bright",displayName:"Horizon Bright",type:"light",import:(()=>Z(()=>import("./horizon-bright-CUuTKBJd.js"),[]))},{id:"houston",displayName:"Houston",type:"dark",import:(()=>Z(()=>import("./houston-DnULxvSX.js"),[]))},{id:"kanagawa-dragon",displayName:"Kanagawa Dragon",type:"dark",import:(()=>Z(()=>import("./kanagawa-dragon-CkXjmgJE.js"),[]))},{id:"kanagawa-lotus",displayName:"Kanagawa Lotus",type:"light",import:(()=>Z(()=>import("./kanagawa-lotus-CfQXZHmo.js"),[]))},{id:"kanagawa-wave",displayName:"Kanagawa Wave",type:"dark",import:(()=>Z(()=>import("./kanagawa-wave-DWedfzmr.js"),[]))},{id:"laserwave",displayName:"LaserWave",type:"dark",import:(()=>Z(()=>import("./laserwave-DUszq2jm.js"),[]))},{id:"light-plus",displayName:"Light Plus",type:"light",import:(()=>Z(()=>import("./light-plus-B7mTdjB0.js"),[]))},{id:"material-theme",displayName:"Material Theme",type:"dark",import:(()=>Z(()=>import("./material-theme-D5KoaKCx.js"),[]))},{id:"material-theme-darker",displayName:"Material Theme Darker",type:"dark",import:(()=>Z(()=>import("./material-theme-darker-BfHTSMKl.js"),[]))},{id:"material-theme-lighter",displayName:"Material Theme Lighter",type:"light",import:(()=>Z(()=>import("./material-theme-lighter-B0m2ddpp.js"),[]))},{id:"material-theme-ocean",displayName:"Material Theme Ocean",type:"dark",import:(()=>Z(()=>import("./material-theme-ocean-CyktbL80.js"),[]))},{id:"material-theme-palenight",displayName:"Material Theme Palenight",type:"dark",import:(()=>Z(()=>import("./material-theme-palenight-Csfq5Kiy.js"),[]))},{id:"min-dark",displayName:"Min Dark",type:"dark",import:(()=>Z(()=>import("./min-dark-CafNBF8u.js"),[]))},{id:"min-light",displayName:"Min Light",type:"light",import:(()=>Z(()=>import("./min-light-CTRr51gU.js"),[]))},{id:"monokai",displayName:"Monokai",type:"dark",import:(()=>Z(()=>import("./monokai-D4h5O-jR.js"),[]))},{id:"night-owl",displayName:"Night Owl",type:"dark",import:(()=>Z(()=>import("./night-owl-C39BiMTA.js"),[]))},{id:"night-owl-light",displayName:"Night Owl Light",type:"light",import:(()=>Z(()=>import("./night-owl-light-CMTm3GFP.js"),[]))},{id:"nord",displayName:"Nord",type:"dark",import:(()=>Z(()=>import("./nord-Ddv68eIx.js"),[]))},{id:"one-dark-pro",displayName:"One Dark Pro",type:"dark",import:(()=>Z(()=>import("./one-dark-pro-DVMEJ2y_.js"),[]))},{id:"one-light",displayName:"One Light",type:"light",import:(()=>Z(()=>import("./one-light-C3Wv6jpd.js"),[]))},{id:"plastic",displayName:"Plastic",type:"dark",import:(()=>Z(()=>import("./plastic-3e1v2bzS.js"),[]))},{id:"poimandres",displayName:"Poimandres",type:"dark",import:(()=>Z(()=>import("./poimandres-CS3Unz2-.js"),[]))},{id:"red",displayName:"Red",type:"dark",import:(()=>Z(()=>import("./red-bN70gL4F.js"),[]))},{id:"rose-pine",displayName:"Rosé Pine",type:"dark",import:(()=>Z(()=>import("./rose-pine-qdsjHGoJ.js"),[]))},{id:"rose-pine-dawn",displayName:"Rosé Pine Dawn",type:"light",import:(()=>Z(()=>import("./rose-pine-dawn-DHQR4-dF.js"),[]))},{id:"rose-pine-moon",displayName:"Rosé Pine Moon",type:"dark",import:(()=>Z(()=>import("./rose-pine-moon-D4_iv3hh.js"),[]))},{id:"slack-dark",displayName:"Slack Dark",type:"dark",import:(()=>Z(()=>import("./slack-dark-BthQWCQV.js"),[]))},{id:"slack-ochin",displayName:"Slack Ochin",type:"light",import:(()=>Z(()=>import("./slack-ochin-DqwNpetd.js"),[]))},{id:"snazzy-light",displayName:"Snazzy Light",type:"light",import:(()=>Z(()=>import("./snazzy-light-Bw305WKR.js"),[]))},{id:"solarized-dark",displayName:"Solarized Dark",type:"dark",import:(()=>Z(()=>import("./solarized-dark-DXbdFlpD.js"),[]))},{id:"solarized-light",displayName:"Solarized Light",type:"light",import:(()=>Z(()=>import("./solarized-light-L9t79GZl.js"),[]))},{id:"synthwave-84",displayName:"Synthwave '84",type:"dark",import:(()=>Z(()=>import("./synthwave-84-CbfX1IO0.js"),[]))},{id:"tokyo-night",displayName:"Tokyo Night",type:"dark",import:(()=>Z(()=>import("./tokyo-night-hegEt444.js"),[]))},{id:"vesper",displayName:"Vesper",type:"dark",import:(()=>Z(()=>import("./vesper-DRje8inN.js"),[]))},{id:"vitesse-black",displayName:"Vitesse Black",type:"dark",import:(()=>Z(()=>import("./vitesse-black-Bkuqu6BP.js"),[]))},{id:"vitesse-dark",displayName:"Vitesse Dark",type:"dark",import:(()=>Z(()=>import("./vitesse-dark-D0r3Knsf.js"),[]))},{id:"vitesse-light",displayName:"Vitesse Light",type:"light",import:(()=>Z(()=>import("./vitesse-light-CVO1_9PV.js"),[]))}],dg=Object.fromEntries(ug.map(e=>[e.id,e.import]));var hg=class extends Error{constructor(t){super(t),this.name="ShikiError"}};function KO(){return 2147483648}function YO(){return typeof performance<"u"?performance.now():Date.now()}const XO=(e,t)=>e+(t-e%t)%t;async function QO(e){let t,n;const r={};function o(y){n=y,r.HEAPU8=new Uint8Array(y),r.HEAPU32=new Uint32Array(y)}function l(y,w,C){r.HEAPU8.copyWithin(y,w,w+C)}function u(y){try{return t.grow(y-n.byteLength+65535>>>16),o(t.buffer),1}catch{}}function c(y){const w=r.HEAPU8.length;y=y>>>0;const C=KO();if(y>C)return!1;for(let v=1;v<=4;v*=2){let S=w*(1+.2/v);S=Math.min(S,y+100663296);const _=Math.min(C,XO(Math.max(y,S),65536));if(u(_))return!0}return!1}const d=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function f(y,w,C=1024){const v=w+C;let S=w;for(;y[S]&&!(S>=v);)++S;if(S-w>16&&y.buffer&&d)return d.decode(y.subarray(w,S));let _="";for(;w<S;){let b=y[w++];if(!(b&128)){_+=String.fromCharCode(b);continue}const j=y[w++]&63;if((b&224)===192){_+=String.fromCharCode((b&31)<<6|j);continue}const E=y[w++]&63;if((b&240)===224?b=(b&15)<<12|j<<6|E:b=(b&7)<<18|j<<12|E<<6|y[w++]&63,b<65536)_+=String.fromCharCode(b);else{const T=b-65536;_+=String.fromCharCode(55296|T>>10,56320|T&1023)}}return _}function p(y,w){return y?f(r.HEAPU8,y,w):""}const m={emscripten_get_now:YO,emscripten_memcpy_big:l,emscripten_resize_heap:c,fd_write:()=>0};async function x(){const w=await e({env:m,wasi_snapshot_preview1:m});t=w.memory,o(t.buffer),Object.assign(r,w),r.UTF8ToString=p}return await x(),r}var JO=Object.defineProperty,ZO=(e,t,n)=>t in e?JO(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,fn=(e,t,n)=>ZO(e,typeof t!="symbol"?t+"":t,n);let yn=null;function e4(e){throw new hg(e.UTF8ToString(e.getLastOnigError()))}class bd{constructor(t){fn(this,"utf16Length"),fn(this,"utf8Length"),fn(this,"utf16Value"),fn(this,"utf8Value"),fn(this,"utf16OffsetToUtf8"),fn(this,"utf8OffsetToUtf16");const n=t.length,r=bd._utf8ByteLength(t),o=r!==n,l=o?new Uint32Array(n+1):null;o&&(l[n]=r);const u=o?new Uint32Array(r+1):null;o&&(u[r]=n);const c=new Uint8Array(r);let d=0;for(let f=0;f<n;f++){const p=t.charCodeAt(f);let m=p,x=!1;if(p>=55296&&p<=56319&&f+1<n){const y=t.charCodeAt(f+1);y>=56320&&y<=57343&&(m=(p-55296<<10)+65536|y-56320,x=!0)}o&&(l[f]=d,x&&(l[f+1]=d),m<=127?u[d+0]=f:m<=2047?(u[d+0]=f,u[d+1]=f):m<=65535?(u[d+0]=f,u[d+1]=f,u[d+2]=f):(u[d+0]=f,u[d+1]=f,u[d+2]=f,u[d+3]=f)),m<=127?c[d++]=m:m<=2047?(c[d++]=192|(m&1984)>>>6,c[d++]=128|(m&63)>>>0):m<=65535?(c[d++]=224|(m&61440)>>>12,c[d++]=128|(m&4032)>>>6,c[d++]=128|(m&63)>>>0):(c[d++]=240|(m&1835008)>>>18,c[d++]=128|(m&258048)>>>12,c[d++]=128|(m&4032)>>>6,c[d++]=128|(m&63)>>>0),x&&f++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=c,this.utf16OffsetToUtf8=l,this.utf8OffsetToUtf16=u}static _utf8ByteLength(t){let n=0;for(let r=0,o=t.length;r<o;r++){const l=t.charCodeAt(r);let u=l,c=!1;if(l>=55296&&l<=56319&&r+1<o){const d=t.charCodeAt(r+1);d>=56320&&d<=57343&&(u=(l-55296<<10)+65536|d-56320,c=!0)}u<=127?n+=1:u<=2047?n+=2:u<=65535?n+=3:n+=4,c&&r++}return n}createString(t){const n=t.omalloc(this.utf8Length);return t.HEAPU8.set(this.utf8Value,n),n}}const _d=class zr{constructor(t){if(fn(this,"id",++zr.LAST_ID),fn(this,"_onigBinding"),fn(this,"content"),fn(this,"utf16Length"),fn(this,"utf8Length"),fn(this,"utf16OffsetToUtf8"),fn(this,"utf8OffsetToUtf16"),fn(this,"ptr"),!yn)throw new hg("Must invoke loadWasm first.");this._onigBinding=yn,this.content=t;const n=new bd(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!zr._sharedPtrInUse?(zr._sharedPtr||(zr._sharedPtr=yn.omalloc(1e4)),zr._sharedPtrInUse=!0,yn.HEAPU8.set(n.utf8Value,zr._sharedPtr),this.ptr=zr._sharedPtr):this.ptr=n.createString(yn)}convertUtf8OffsetToUtf16(t){return this.utf8OffsetToUtf16?t<0?0:t>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[t]:t}convertUtf16OffsetToUtf8(t){return this.utf16OffsetToUtf8?t<0?0:t>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[t]:t}dispose(){this.ptr===zr._sharedPtr?zr._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};fn(_d,"LAST_ID",0);fn(_d,"_sharedPtr",0);fn(_d,"_sharedPtrInUse",!1);let Dw=_d;class t4{constructor(t){if(fn(this,"_onigBinding"),fn(this,"_ptr"),!yn)throw new hg("Must invoke loadWasm first.");const n=[],r=[];for(let c=0,d=t.length;c<d;c++){const f=new bd(t[c]);n[c]=f.createString(yn),r[c]=f.utf8Length}const o=yn.omalloc(4*t.length);yn.HEAPU32.set(n,o/4);const l=yn.omalloc(4*t.length);yn.HEAPU32.set(r,l/4);const u=yn.createOnigScanner(o,l,t.length);for(let c=0,d=t.length;c<d;c++)yn.ofree(n[c]);yn.ofree(l),yn.ofree(o),u===0&&e4(yn),this._onigBinding=yn,this._ptr=u}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(t,n,r){let o=0;if(typeof r=="number"&&(o=r),typeof t=="string"){t=new Dw(t);const l=this._findNextMatchSync(t,n,!1,o);return t.dispose(),l}return this._findNextMatchSync(t,n,!1,o)}_findNextMatchSync(t,n,r,o){const l=this._onigBinding,u=l.findNextOnigScannerMatch(this._ptr,t.id,t.ptr,t.utf8Length,t.convertUtf16OffsetToUtf8(n),o);if(u===0)return null;const c=l.HEAPU32;let d=u/4;const f=c[d++],p=c[d++],m=[];for(let x=0;x<p;x++){const y=t.convertUtf8OffsetToUtf16(c[d++]),w=t.convertUtf8OffsetToUtf16(c[d++]);m[x]={start:y,end:w,length:w-y}}return{index:f,captureIndices:m}}}function n4(e){return typeof e.instantiator=="function"}function r4(e){return typeof e.default=="function"}function s4(e){return typeof e.data<"u"}function i4(e){return typeof Response<"u"&&e instanceof Response}function a4(e){var t;return typeof ArrayBuffer<"u"&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<"u"&&((t=Buffer.isBuffer)==null?void 0:t.call(Buffer,e))||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer||typeof Uint32Array<"u"&&e instanceof Uint32Array}let du;function fg(e){if(du)return du;async function t(){yn=await QO(async n=>{let r=e;return r=await r,typeof r=="function"&&(r=await r(n)),typeof r=="function"&&(r=await r(n)),n4(r)?r=await r.instantiator(n):r4(r)?r=await r.default(n):(s4(r)&&(r=r.data),i4(r)?typeof WebAssembly.instantiateStreaming=="function"?r=await o4(r)(n):r=await l4(r)(n):a4(r)?r=await km(r)(n):r instanceof WebAssembly.Module?r=await km(r)(n):"default"in r&&r.default instanceof WebAssembly.Module&&(r=await km(r.default)(n))),"instance"in r&&(r=r.instance),"exports"in r&&(r=r.exports),r})}return du=t(),du}function km(e){return t=>WebAssembly.instantiate(e,t)}function o4(e){return t=>WebAssembly.instantiateStreaming(e,t)}function l4(e){return async t=>{const n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}let Rw;function c4(e){Rw=e}function u4(){return Rw}async function Ow(e){return e&&await fg(e),{createScanner(t){return new t4(t.map(n=>typeof n=="string"?n:n.source))},createString(t){return new Dw(t)}}}const d4=Object.freeze(Object.defineProperty({__proto__:null,createOnigurumaEngine:Ow,getDefaultWasmLoader:u4,loadWasm:fg,setDefaultWasmLoader:c4},Symbol.toStringTag,{value:"Module"}));var Iw=og({});Lw(Iw,d4);var Ht=class extends Error{constructor(e){super(e),this.name="ShikiError"}};function h4(e){return mg(e)}function mg(e){return Array.isArray(e)?f4(e):e instanceof RegExp?e:typeof e=="object"?m4(e):e}function f4(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=mg(e[n]);return t}function m4(e){let t={};for(let n in e)t[n]=mg(e[n]);return t}function Mw(e,...t){return t.forEach(n=>{for(let r in n)e[r]=n[r]}),e}function Pw(e){const t=~e.lastIndexOf("/")||~e.lastIndexOf("\\");return t===0?e:~t===e.length-1?Pw(e.substring(0,e.length-1)):e.substr(~t+1)}var Em=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,hu=class{static hasCaptures(e){return e===null?!1:(Em.lastIndex=0,Em.test(e))}static replaceCaptures(e,t,n){return e.replace(Em,(r,o,l,u)=>{let c=n[parseInt(o||l,10)];if(c){let d=t.substring(c.start,c.end);for(;d[0]===".";)d=d.substring(1);switch(u){case"downcase":return d.toLowerCase();case"upcase":return d.toUpperCase();default:return d}}else return r})}};function Bw(e,t){return e<t?-1:e>t?1:0}function $w(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let o=0;o<n;o++){let l=Bw(e[o],t[o]);if(l!==0)return l}return 0}return n-r}function m0(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 zw(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,"\\$&")}var Hw=class{constructor(e){be(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}},zu=class{constructor(e,t,n){be(this,"_cachedMatchRoot",new Hw(e=>this._root.match(e)));this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(x4(e),t)}static createFromParsedTheme(e,t){return b4(e,t)}getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;const t=e.scopeName,r=this._cachedMatchRoot.get(t).find(o=>p4(e.parent,o.parentScopes));return r?new Uw(r.fontStyle,r.foreground,r.background):null}},jm=class Eu{constructor(t,n){this.parent=t,this.scopeName=n}static push(t,n){for(const r of n)t=new Eu(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new Eu(n,t[r]);return n}push(t){return new Eu(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 r=this;for(;r&&r!==t;)n.push(r.scopeName),r=r.parent;return r===t?n.reverse():void 0}};function p4(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],o=!1;if(r===">"){if(n===t.length-1)return!1;r=t[++n],o=!0}for(;e&&!g4(e.scopeName,r);){if(o)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function g4(e,t){return t===e||e.startsWith(t)&&e[t.length]==="."}var Uw=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function x4(e){if(!e)return[];if(!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let o=0,l=t.length;o<l;o++){let u=t[o];if(!u.settings)continue;let c;if(typeof u.scope=="string"){let m=u.scope;m=m.replace(/^[,]+/,""),m=m.replace(/[,]+$/,""),c=m.split(",")}else Array.isArray(u.scope)?c=u.scope:c=[""];let d=-1;if(typeof u.settings.fontStyle=="string"){d=0;let m=u.settings.fontStyle.split(" ");for(let x=0,y=m.length;x<y;x++)switch(m[x]){case"italic":d=d|1;break;case"bold":d=d|2;break;case"underline":d=d|4;break;case"strikethrough":d=d|8;break}}let f=null;typeof u.settings.foreground=="string"&&m0(u.settings.foreground)&&(f=u.settings.foreground);let p=null;typeof u.settings.background=="string"&&m0(u.settings.background)&&(p=u.settings.background);for(let m=0,x=c.length;m<x;m++){let w=c[m].trim().split(" "),C=w[w.length-1],v=null;w.length>1&&(v=w.slice(0,w.length-1),v.reverse()),n[r++]=new y4(C,v,o,d,f,p)}}return n}var y4=class{constructor(e,t,n,r,o,l){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=o,this.background=l}},Tn=(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))(Tn||{});function b4(e,t){e.sort((d,f)=>{let p=Bw(d.scope,f.scope);return p!==0||(p=$w(d.parentScopes,f.parentScopes),p!==0)?p:d.index-f.index});let n=0,r="#000000",o="#ffffff";for(;e.length>=1&&e[0].scope==="";){let d=e.shift();d.fontStyle!==-1&&(n=d.fontStyle),d.foreground!==null&&(r=d.foreground),d.background!==null&&(o=d.background)}let l=new _4(t),u=new Uw(n,l.getId(r),l.getId(o)),c=new S4(new dp(0,null,-1,0,0),[]);for(let d=0,f=e.length;d<f;d++){let p=e[d];c.insert(0,p.scope,p.parentScopes,p.fontStyle,l.getId(p.foreground),l.getId(p.background))}return new zu(l,u,c)}var _4=class{constructor(e){be(this,"_isFrozen");be(this,"_lastColorId");be(this,"_id2color");be(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)}},v4=Object.freeze([]),dp=class Fw{constructor(t,n,r,o,l){be(this,"scopeDepth");be(this,"parentScopes");be(this,"fontStyle");be(this,"foreground");be(this,"background");this.scopeDepth=t,this.parentScopes=n||v4,this.fontStyle=r,this.foreground=o,this.background=l}clone(){return new Fw(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(t){let n=[];for(let r=0,o=t.length;r<o;r++)n[r]=t[r].clone();return n}acceptOverwrite(t,n,r,o){this.scopeDepth>t?console.log("how did this happen?"):this.scopeDepth=t,n!==-1&&(this.fontStyle=n),r!==0&&(this.foreground=r),o!==0&&(this.background=o)}},S4=class hp{constructor(t,n=[],r={}){be(this,"_rulesWithParentScopes");this._mainRule=t,this._children=r,this._rulesWithParentScopes=n}static _cmpBySpecificity(t,n){if(t.scopeDepth!==n.scopeDepth)return n.scopeDepth-t.scopeDepth;let r=0,o=0;for(;t.parentScopes[r]===">"&&r++,n.parentScopes[o]===">"&&o++,!(r>=t.parentScopes.length||o>=n.parentScopes.length);){const l=n.parentScopes[o].length-t.parentScopes[r].length;if(l!==0)return l;r++,o++}return n.parentScopes.length-t.parentScopes.length}match(t){if(t!==""){let r=t.indexOf("."),o,l;if(r===-1?(o=t,l=""):(o=t.substring(0,r),l=t.substring(r+1)),this._children.hasOwnProperty(o))return this._children[o].match(l)}const n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(hp._cmpBySpecificity),n}insert(t,n,r,o,l,u){if(n===""){this._doInsertHere(t,r,o,l,u);return}let c=n.indexOf("."),d,f;c===-1?(d=n,f=""):(d=n.substring(0,c),f=n.substring(c+1));let p;this._children.hasOwnProperty(d)?p=this._children[d]:(p=new hp(this._mainRule.clone(),dp.cloneArr(this._rulesWithParentScopes)),this._children[d]=p),p.insert(t+1,f,r,o,l,u)}_doInsertHere(t,n,r,o,l){if(n===null){this._mainRule.acceptOverwrite(t,r,o,l);return}for(let u=0,c=this._rulesWithParentScopes.length;u<c;u++){let d=this._rulesWithParentScopes[u];if($w(d.parentScopes,n)===0){d.acceptOverwrite(t,r,o,l);return}}r===-1&&(r=this._mainRule.fontStyle),o===0&&(o=this._mainRule.foreground),l===0&&(l=this._mainRule.background),this._rulesWithParentScopes.push(new dp(t,n,r,o,l))}},Wa=class br{static toBinaryStr(t){return t.toString(2).padStart(32,"0")}static print(t){const n=br.getLanguageId(t),r=br.getTokenType(t),o=br.getFontStyle(t),l=br.getForeground(t),u=br.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:o,foreground:l,background:u})}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,r,o,l,u,c){let d=br.getLanguageId(t),f=br.getTokenType(t),p=br.containsBalancedBrackets(t)?1:0,m=br.getFontStyle(t),x=br.getForeground(t),y=br.getBackground(t);return n!==0&&(d=n),r!==8&&(f=r),o!==null&&(p=o?1:0),l!==-1&&(m=l),u!==0&&(x=u),c!==0&&(y=c),(d<<0|f<<8|p<<10|m<<11|x<<15|y<<24)>>>0}};function Hu(e,t){const n=[],r=w4(e);let o=r.next();for(;o!==null;){let d=0;if(o.length===2&&o.charAt(1)===":"){switch(o.charAt(0)){case"R":d=1;break;case"L":d=-1;break;default:console.log(`Unknown priority ${o} in scope selector`)}o=r.next()}let f=u();if(n.push({matcher:f,priority:d}),o!==",")break;o=r.next()}return n;function l(){if(o==="-"){o=r.next();const d=l();return f=>!!d&&!d(f)}if(o==="("){o=r.next();const d=c();return o===")"&&(o=r.next()),d}if(p0(o)){const d=[];do d.push(o),o=r.next();while(p0(o));return f=>t(d,f)}return null}function u(){const d=[];let f=l();for(;f;)d.push(f),f=l();return p=>d.every(m=>m(p))}function c(){const d=[];let f=u();for(;f&&(d.push(f),o==="|"||o===",");){do o=r.next();while(o==="|"||o===",");f=u()}return p=>d.some(m=>m(p))}}function p0(e){return!!e&&!!e.match(/[\w\.:]+/)}function w4(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;const r=n[0];return n=t.exec(e),r}}}function Vw(e){typeof e.dispose=="function"&&e.dispose()}var wl=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},C4=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},k4=class{constructor(){be(this,"_references",[]);be(this,"_seenReferenceKeys",new Set);be(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))}},E4=class{constructor(e,t){be(this,"seenFullScopeRequests",new Set);be(this,"seenPartialScopeRequests",new Set);be(this,"Q");this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new wl(this.initialScopeName)]}processQueue(){const e=this.Q;this.Q=[];const t=new k4;for(const n of e)j4(n,this.initialScopeName,this.repo,t);for(const n of t.references)if(n instanceof wl){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 j4(e,t,n,r){const o=n.lookup(e.scopeName);if(!o){if(e.scopeName===t)throw new Error(`No grammar provided for <${t}>`);return}const l=n.lookup(t);e instanceof wl?ju({baseGrammar:l,selfGrammar:o},r):fp(e.ruleName,{baseGrammar:l,selfGrammar:o,repository:o.repository},r);const u=n.injections(e.scopeName);if(u)for(const c of u)r.add(new wl(c))}function fp(e,t,n){if(t.repository&&t.repository[e]){const r=t.repository[e];Uu([r],t,n)}}function ju(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&Uu(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&Uu(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function Uu(e,t,n){for(const r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);const o=r.repository?Mw({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&Uu(r.patterns,{...t,repository:o},n);const l=r.include;if(!l)continue;const u=Gw(l);switch(u.kind){case 0:ju({...t,selfGrammar:t.baseGrammar},n);break;case 1:ju(t,n);break;case 2:fp(u.ruleName,{...t,repository:o},n);break;case 3:case 4:const c=u.scopeName===t.selfGrammar.scopeName?t.selfGrammar:u.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(c){const d={baseGrammar:t.baseGrammar,selfGrammar:c,repository:o};u.kind===4?fp(u.ruleName,d,n):ju(d,n)}else u.kind===4?n.add(new C4(u.scopeName,u.ruleName)):n.add(new wl(u.scopeName));break}}}var N4=class{constructor(){be(this,"kind",0)}},T4=class{constructor(){be(this,"kind",1)}},A4=class{constructor(e){be(this,"kind",2);this.ruleName=e}},L4=class{constructor(e){be(this,"kind",3);this.scopeName=e}},D4=class{constructor(e,t){be(this,"kind",4);this.scopeName=e,this.ruleName=t}};function Gw(e){if(e==="$base")return new N4;if(e==="$self")return new T4;const t=e.indexOf("#");if(t===-1)return new L4(e);if(t===0)return new A4(e.substring(1));{const n=e.substring(0,t),r=e.substring(t+1);return new D4(n,r)}}var R4=/\\(\d+)/,g0=/\\(\d+)/g,O4=-1,Ww=-2;var Pl=class{constructor(e,t,n,r){be(this,"$location");be(this,"id");be(this,"_nameIsCapturing");be(this,"_name");be(this,"_contentNameIsCapturing");be(this,"_contentName");this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=hu.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=hu.hasCaptures(this._contentName)}get debugName(){const e=this.$location?`${Pw(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:hu.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:hu.replaceCaptures(this._contentName,e,t)}},I4=class extends Pl{constructor(t,n,r,o,l){super(t,n,r,o);be(this,"retokenizeCapturedWithRuleId");this.retokenizeCapturedWithRuleId=l}dispose(){}collectPatterns(t,n){throw new Error("Not supported!")}compile(t,n){throw new Error("Not supported!")}compileAG(t,n,r,o){throw new Error("Not supported!")}},M4=class extends Pl{constructor(t,n,r,o,l){super(t,n,r,null);be(this,"_match");be(this,"captures");be(this,"_cachedCompiledPatterns");this._match=new Cl(o,this.id),this.captures=l,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,r,o){return this._getCachedCompiledPatterns(t).compileAG(t,r,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new kl,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},x0=class extends Pl{constructor(t,n,r,o,l){super(t,n,r,o);be(this,"hasMissingPatterns");be(this,"patterns");be(this,"_cachedCompiledPatterns");this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&(this._cachedCompiledPatterns.dispose(),this._cachedCompiledPatterns=null)}collectPatterns(t,n){for(const r of this.patterns)t.getRule(r).collectPatterns(t,n)}compile(t,n){return this._getCachedCompiledPatterns(t).compile(t)}compileAG(t,n,r,o){return this._getCachedCompiledPatterns(t).compileAG(t,r,o)}_getCachedCompiledPatterns(t){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new kl,this.collectPatterns(t,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},mp=class extends Pl{constructor(t,n,r,o,l,u,c,d,f,p){super(t,n,r,o);be(this,"_begin");be(this,"beginCaptures");be(this,"_end");be(this,"endHasBackReferences");be(this,"endCaptures");be(this,"applyEndPatternLast");be(this,"hasMissingPatterns");be(this,"patterns");be(this,"_cachedCompiledPatterns");this._begin=new Cl(l,this.id),this.beginCaptures=u,this._end=new Cl(c||"",-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=d,this.applyEndPatternLast=f||!1,this.patterns=p.patterns,this.hasMissingPatterns=p.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,r,o){return this._getCachedCompiledPatterns(t,n).compileAG(t,r,o)}_getCachedCompiledPatterns(t,n){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new kl;for(const r of this.patterns)t.getRule(r).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}},Fu=class extends Pl{constructor(t,n,r,o,l,u,c,d,f){super(t,n,r,o);be(this,"_begin");be(this,"beginCaptures");be(this,"whileCaptures");be(this,"_while");be(this,"whileHasBackReferences");be(this,"hasMissingPatterns");be(this,"patterns");be(this,"_cachedCompiledPatterns");be(this,"_cachedCompiledWhilePatterns");this._begin=new Cl(l,this.id),this.beginCaptures=u,this.whileCaptures=d,this._while=new Cl(c,Ww),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=f.patterns,this.hasMissingPatterns=f.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,r,o){return this._getCachedCompiledPatterns(t).compileAG(t,r,o)}_getCachedCompiledPatterns(t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new kl;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,r,o){return this._getCachedCompiledWhilePatterns(t,n).compileAG(t,r,o)}_getCachedCompiledWhilePatterns(t,n){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new kl,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,n||""),this._cachedCompiledWhilePatterns}},qw=class Nn{static createCaptureRule(t,n,r,o,l){return t.registerRule(u=>new I4(n,u,r,o,l))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(o=>{if(t.id=o,t.match)return new M4(t.$vscodeTextmateLocation,t.id,t.name,t.match,Nn._compileCaptures(t.captures,n,r));if(typeof t.begin>"u"){t.repository&&(r=Mw({},r,t.repository));let l=t.patterns;return typeof l>"u"&&t.include&&(l=[{include:t.include}]),new x0(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,Nn._compilePatterns(l,n,r))}return t.while?new Fu(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Nn._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,Nn._compileCaptures(t.whileCaptures||t.captures,n,r),Nn._compilePatterns(t.patterns,n,r)):new mp(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,Nn._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,Nn._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,Nn._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let o=[];if(t){let l=0;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const c=parseInt(u,10);c>l&&(l=c)}for(let u=0;u<=l;u++)o[u]=null;for(const u in t){if(u==="$vscodeTextmateLocation")continue;const c=parseInt(u,10);let d=0;t[u].patterns&&(d=Nn.getCompiledRuleId(t[u],n,r)),o[c]=Nn.createCaptureRule(n,t[u].$vscodeTextmateLocation,t[u].name,t[u].contentName,d)}}return o}static _compilePatterns(t,n,r){let o=[];if(t)for(let l=0,u=t.length;l<u;l++){const c=t[l];let d=-1;if(c.include){const f=Gw(c.include);switch(f.kind){case 0:case 1:d=Nn.getCompiledRuleId(r[c.include],n,r);break;case 2:let p=r[f.ruleName];p&&(d=Nn.getCompiledRuleId(p,n,r));break;case 3:case 4:const m=f.scopeName,x=f.kind===4?f.ruleName:null,y=n.getExternalGrammar(m,r);if(y)if(x){let w=y.repository[x];w&&(d=Nn.getCompiledRuleId(w,n,y.repository))}else d=Nn.getCompiledRuleId(y.repository.$self,n,y.repository);break}}else d=Nn.getCompiledRuleId(c,n,r);if(d!==-1){const f=n.getRule(d);let p=!1;if((f instanceof x0||f instanceof mp||f instanceof Fu)&&f.hasMissingPatterns&&f.patterns.length===0&&(p=!0),p)continue;o.push(d)}}return{patterns:o,hasMissingPatterns:(t?t.length:0)!==o.length}}},Cl=class Kw{constructor(t,n){be(this,"source");be(this,"ruleId");be(this,"hasAnchor");be(this,"hasBackReferences");be(this,"_anchorCache");if(t&&typeof t=="string"){const r=t.length;let o=0,l=[],u=!1;for(let c=0;c<r;c++)if(t.charAt(c)==="\\"&&c+1<r){const f=t.charAt(c+1);f==="z"?(l.push(t.substring(o,c)),l.push("$(?!\\n)(?<!\\n)"),o=c+2):(f==="A"||f==="G")&&(u=!0),c++}this.hasAnchor=u,o===0?this.source=t:(l.push(t.substring(o,r)),this.source=l.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=R4.test(this.source):this.hasBackReferences=!1}clone(){return new Kw(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 r=n.map(o=>t.substring(o.start,o.end));return g0.lastIndex=0,this.source.replace(g0,(o,l)=>zw(r[parseInt(l,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=[],r=[],o=[],l,u,c,d;for(l=0,u=this.source.length;l<u;l++)c=this.source.charAt(l),t[l]=c,n[l]=c,r[l]=c,o[l]=c,c==="\\"&&l+1<u&&(d=this.source.charAt(l+1),d==="A"?(t[l+1]="",n[l+1]="",r[l+1]="A",o[l+1]="A"):d==="G"?(t[l+1]="",n[l+1]="G",r[l+1]="",o[l+1]="G"):(t[l+1]=d,n[l+1]=d,r[l+1]=d,o[l+1]=d),l++);return{A0_G0:t.join(""),A0_G1:n.join(""),A1_G0:r.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}},kl=class{constructor(){be(this,"_items");be(this,"_hasAnchors");be(this,"_cached");be(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 y0(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 r=this._items.map(o=>o.resolveAnchors(t,n));return new y0(e,r,this._items.map(o=>o.ruleId))}},y0=class{constructor(e,t,n){be(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(`
|
|
125
|
+
`)}findNextMatchSync(e,t,n){const r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},Nm=class{constructor(e,t){this.languageId=e,this.tokenType=t}},ys,P4=(ys=class{constructor(t,n){be(this,"_defaultAttributes");be(this,"_embeddedLanguagesMatcher");be(this,"_getBasicScopeAttributes",new Hw(t=>{const n=this._scopeToLanguage(t),r=this._toStandardTokenType(t);return new Nm(n,r)}));this._defaultAttributes=new Nm(t,8),this._embeddedLanguagesMatcher=new B4(Object.entries(n||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?ys._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}_scopeToLanguage(t){return this._embeddedLanguagesMatcher.match(t)||0}_toStandardTokenType(t){const n=t.match(ys.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!")}},be(ys,"_NULL_SCOPE_METADATA",new Nm(0,0)),be(ys,"STANDARD_TOKEN_TYPE_REGEXP",/\b(comment|string|regex|meta\.embedded)\b/),ys),B4=class{constructor(e){be(this,"values");be(this,"scopesRegExp");if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);const t=e.map(([n,r])=>zw(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])}},b0=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function Yw(e,t,n,r,o,l,u,c){const d=t.content.length;let f=!1,p=-1;if(u){const y=$4(e,t,n,r,o,l);o=y.stack,r=y.linePos,n=y.isFirstLine,p=y.anchorPosition}const m=Date.now();for(;!f;){if(c!==0&&Date.now()-m>c)return new b0(o,!0);x()}return new b0(o,!1);function x(){const y=z4(e,t,n,r,o,p);if(!y){l.produce(o,d),f=!0;return}const w=y.captureIndices,C=y.matchedRuleId,v=w&&w.length>0?w[0].end>r:!1;if(C===O4){const S=o.getRule(e);l.produce(o,w[0].start),o=o.withContentNameScopesList(o.nameScopesList),dl(e,t,n,o,l,S.endCaptures,w),l.produce(o,w[0].end);const _=o;if(o=o.parent,p=_.getAnchorPos(),!v&&_.getEnterPos()===r){o=_,l.produce(o,d),f=!0;return}}else{const S=e.getRule(C);l.produce(o,w[0].start);const _=o,b=S.getName(t.content,w),j=o.contentNameScopesList.pushAttributed(b,e);if(o=o.push(C,r,p,w[0].end===d,null,j,j),S instanceof mp){const E=S;dl(e,t,n,o,l,E.beginCaptures,w),l.produce(o,w[0].end),p=w[0].end;const T=E.getContentName(t.content,w),D=j.pushAttributed(T,e);if(o=o.withContentNameScopesList(D),E.endHasBackReferences&&(o=o.withEndRule(E.getEndWithResolvedBackReferences(t.content,w))),!v&&_.hasSameRuleAs(o)){o=o.pop(),l.produce(o,d),f=!0;return}}else if(S instanceof Fu){const E=S;dl(e,t,n,o,l,E.beginCaptures,w),l.produce(o,w[0].end),p=w[0].end;const T=E.getContentName(t.content,w),D=j.pushAttributed(T,e);if(o=o.withContentNameScopesList(D),E.whileHasBackReferences&&(o=o.withEndRule(E.getWhileWithResolvedBackReferences(t.content,w))),!v&&_.hasSameRuleAs(o)){o=o.pop(),l.produce(o,d),f=!0;return}}else if(dl(e,t,n,o,l,S.captures,w),l.produce(o,w[0].end),o=o.pop(),!v){o=o.safePop(),l.produce(o,d),f=!0;return}}w[0].end>r&&(r=w[0].end,n=!1)}}function $4(e,t,n,r,o,l){let u=o.beginRuleCapturedEOL?0:-1;const c=[];for(let d=o;d;d=d.pop()){const f=d.getRule(e);f instanceof Fu&&c.push({rule:f,stack:d})}for(let d=c.pop();d;d=c.pop()){const{ruleScanner:f,findOptions:p}=F4(d.rule,e,d.stack.endRule,n,r===u),m=f.findNextMatchSync(t,r,p);if(m){if(m.ruleId!==Ww){o=d.stack.pop();break}m.captureIndices&&m.captureIndices.length&&(l.produce(d.stack,m.captureIndices[0].start),dl(e,t,n,d.stack,l,d.rule.whileCaptures,m.captureIndices),l.produce(d.stack,m.captureIndices[0].end),u=m.captureIndices[0].end,m.captureIndices[0].end>r&&(r=m.captureIndices[0].end,n=!1))}else{o=d.stack.pop();break}}return{stack:o,linePos:r,anchorPosition:u,isFirstLine:n}}function z4(e,t,n,r,o,l){const u=H4(e,t,n,r,o,l),c=e.getInjections();if(c.length===0)return u;const d=U4(c,e,t,n,r,o,l);if(!d)return u;if(!u)return d;const f=u.captureIndices[0].start,p=d.captureIndices[0].start;return p<f||d.priorityMatch&&p===f?d:u}function H4(e,t,n,r,o,l){const u=o.getRule(e),{ruleScanner:c,findOptions:d}=Xw(u,e,o.endRule,n,r===l),f=c.findNextMatchSync(t,r,d);return f?{captureIndices:f.captureIndices,matchedRuleId:f.ruleId}:null}function U4(e,t,n,r,o,l,u){let c=Number.MAX_VALUE,d=null,f,p=0;const m=l.contentNameScopesList.getScopeNames();for(let x=0,y=e.length;x<y;x++){const w=e[x];if(!w.matcher(m))continue;const C=t.getRule(w.ruleId),{ruleScanner:v,findOptions:S}=Xw(C,t,null,r,o===u),_=v.findNextMatchSync(n,o,S);if(!_)continue;const b=_.captureIndices[0].start;if(!(b>=c)&&(c=b,d=_.captureIndices,f=_.ruleId,p=w.priority,c===o))break}return d?{priorityMatch:p===-1,captureIndices:d,matchedRuleId:f}:null}function Xw(e,t,n,r,o){return{ruleScanner:e.compileAG(t,n,r,o),findOptions:0}}function F4(e,t,n,r,o){return{ruleScanner:e.compileWhileAG(t,n,r,o),findOptions:0}}function dl(e,t,n,r,o,l,u){if(l.length===0)return;const c=t.content,d=Math.min(l.length,u.length),f=[],p=u[0].end;for(let m=0;m<d;m++){const x=l[m];if(x===null)continue;const y=u[m];if(y.length===0)continue;if(y.start>p)break;for(;f.length>0&&f[f.length-1].endPos<=y.start;)o.produceFromScopes(f[f.length-1].scopes,f[f.length-1].endPos),f.pop();if(f.length>0?o.produceFromScopes(f[f.length-1].scopes,y.start):o.produce(r,y.start),x.retokenizeCapturedWithRuleId){const C=x.getName(c,u),v=r.contentNameScopesList.pushAttributed(C,e),S=x.getContentName(c,u),_=v.pushAttributed(S,e),b=r.push(x.retokenizeCapturedWithRuleId,y.start,-1,!1,null,v,_),j=e.createOnigString(c.substring(0,y.end));Yw(e,j,n&&y.start===0,y.start,b,o,!1,0),Vw(j);continue}const w=x.getName(c,u);if(w!==null){const v=(f.length>0?f[f.length-1].scopes:r.contentNameScopesList).pushAttributed(w,e);f.push(new V4(v,y.end))}}for(;f.length>0;)o.produceFromScopes(f[f.length-1].scopes,f[f.length-1].endPos),f.pop()}var V4=class{constructor(e,t){be(this,"scopes");be(this,"endPos");this.scopes=e,this.endPos=t}};function G4(e,t,n,r,o,l,u,c){return new q4(e,t,n,r,o,l,u,c)}function _0(e,t,n,r,o){const l=Hu(t,Vu),u=qw.getCompiledRuleId(n,r,o.repository);for(const c of l)e.push({debugSelector:t,matcher:c.matcher,ruleId:u,grammar:o,priority:c.priority})}function Vu(e,t){if(t.length<e.length)return!1;let n=0;return e.every(r=>{for(let o=n;o<t.length;o++)if(W4(t[o],r))return n=o+1,!0;return!1})}function W4(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 q4=class{constructor(e,t,n,r,o,l,u,c){be(this,"_rootId");be(this,"_lastRuleId");be(this,"_ruleId2desc");be(this,"_includedGrammars");be(this,"_grammarRepository");be(this,"_grammar");be(this,"_injections");be(this,"_basicScopeAttributesProvider");be(this,"_tokenTypeMatchers");if(this._rootScopeName=e,this.balancedBracketSelectors=l,this._onigLib=c,this._basicScopeAttributesProvider=new P4(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=u,this._grammar=v0(t,null),this._injections=null,this._tokenTypeMatchers=[],o)for(const d of Object.keys(o)){const f=Hu(d,Vu);for(const p of f)this._tokenTypeMatchers.push({matcher:p.matcher,type:o[d]})}}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,r=e.lookup(n);if(r){const o=r.injections;if(o)for(let u in o)_0(t,u,o[u],this,r);const l=this._grammarRepository.injections(n);l&&l.forEach(u=>{const c=this.getExternalGrammar(u);if(c){const d=c.injectionSelector;d&&_0(t,d,c,this,c)}})}return t.sort((o,l)=>o.priority-l.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]=v0(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){const r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){const r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=qw.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let o;if(!t||t===pp.NULL){o=!0;const f=this._basicScopeAttributesProvider.getDefaultAttributes(),p=this.themeProvider.getDefaults(),m=Wa.set(0,f.languageId,f.tokenType,null,p.fontStyle,p.foregroundId,p.backgroundId),x=this.getRule(this._rootId).getName(null,null);let y;x?y=gl.createRootAndLookUpScopeName(x,m,this):y=gl.createRoot("unknown",m),t=new pp(null,this._rootId,-1,-1,!1,null,y,y)}else o=!1,t.reset();e=e+`
|
|
126
|
+
`;const l=this.createOnigString(e),u=l.content.length,c=new Y4(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),d=Yw(this,l,o,0,t,c,!0,r);return Vw(l),{lineLength:u,lineTokens:c,ruleStack:d.stack,stoppedEarly:d.stoppedEarly}}};function v0(e,t){return e=h4(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 gl=class Hr{constructor(t,n,r){this.parent=t,this.scopePath=n,this.tokenAttributes=r}static fromExtension(t,n){let r=t,o=(t==null?void 0:t.scopePath)??null;for(const l of n)o=jm.push(o,l.scopeNames),r=new Hr(r,o,l.encodedTokenAttributes);return r}static createRoot(t,n){return new Hr(null,new jm(null,t),n)}static createRootAndLookUpScopeName(t,n,r){const o=r.getMetadataForScope(t),l=new jm(null,t),u=r.themeProvider.themeMatch(l),c=Hr.mergeAttributes(n,o,u);return new Hr(null,l,c)}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(" ")}equals(t){return Hr.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,r){let o=-1,l=0,u=0;return r!==null&&(o=r.fontStyle,l=r.foregroundId,u=r.backgroundId),Wa.set(t,n.languageId,n.tokenType,null,o,l,u)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(" ")===-1)return Hr._pushAttributed(this,t,n);const r=t.split(/ /g);let o=this;for(const l of r)o=Hr._pushAttributed(o,l,n);return o}static _pushAttributed(t,n,r){const o=r.getMetadataForScope(n),l=t.scopePath.push(n),u=r.themeProvider.themeMatch(l),c=Hr.mergeAttributes(t.tokenAttributes,o,u);return new Hr(t,l,c)}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(t){var o;const n=[];let r=this;for(;r&&r!==t;)n.push({encodedTokenAttributes:r.tokenAttributes,scopeNames:r.scopePath.getExtensionIfDefined(((o=r.parent)==null?void 0:o.scopePath)??null)}),r=r.parent;return r===t?n.reverse():void 0}},vr,pp=(vr=class{constructor(t,n,r,o,l,u,c,d){be(this,"_stackElementBrand");be(this,"_enterPos");be(this,"_anchorPos");be(this,"depth");this.parent=t,this.ruleId=n,this.beginRuleCapturedEOL=l,this.endRule=u,this.nameScopesList=c,this.contentNameScopesList=d,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=r,this._anchorPos=o}equals(t){return t===null?!1:vr._equals(this,t)}static _equals(t,n){return t===n?!0:this._structuralEquals(t,n)?gl.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(){vr._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,o,l,u,c){return new vr(this,t,n,r,o,l,u,c)}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 r,o;return this.parent&&(n=this.parent._writeString(t,n)),t[n++]=`(${this.ruleId}, ${(r=this.nameScopesList)==null?void 0:r.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 vr(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,r;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:((r=this.contentNameScopesList)==null?void 0:r.getExtensionIfDefined(this.nameScopesList))??[]}}static pushFrame(t,n){const r=gl.fromExtension((t==null?void 0:t.nameScopesList)??null,n.nameScopesList);return new vr(t,n.ruleId,n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,gl.fromExtension(r,n.contentNameScopesList))}},be(vr,"NULL",new vr(null,0,0,0,!1,null,null,null)),vr),K4=class{constructor(e,t){be(this,"balancedBracketScopes");be(this,"unbalancedBracketScopes");be(this,"allowAny",!1);this.balancedBracketScopes=e.flatMap(n=>n==="*"?(this.allowAny=!0,[]):Hu(n,Vu).map(r=>r.matcher)),this.unbalancedBracketScopes=t.flatMap(n=>Hu(n,Vu).map(r=>r.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}},Y4=class{constructor(e,t,n,r){be(this,"_emitBinaryTokens");be(this,"_lineText");be(this,"_tokens");be(this,"_binaryTokens");be(this,"_lastTokenEndIndex");be(this,"_tokenTypeOverrides");this.balancedBracketSelectors=r,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 r;if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let o=(e==null?void 0:e.tokenAttributes)??0,l=!1;if((r=this.balancedBracketSelectors)!=null&&r.matchesAlways&&(l=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){const u=(e==null?void 0:e.getScopeNames())??[];for(const c of this._tokenTypeOverrides)c.matcher(u)&&(o=Wa.set(o,0,c.type,null,-1,0,0));this.balancedBracketSelectors&&(l=this.balancedBracketSelectors.match(u))}if(l&&(o=Wa.set(o,0,8,l,-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 r=0,o=this._binaryTokens.length;r<o;r++)n[r]=this._binaryTokens[r];return n}},X4=class{constructor(e,t){be(this,"_grammars",new Map);be(this,"_rawGrammars",new Map);be(this,"_injectionGrammars",new Map);be(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,r,o){if(!this._grammars.has(e)){let l=this._rawGrammars.get(e);if(!l)return null;this._grammars.set(e,G4(e,l,t,n,r,o,this,this._onigLib))}return this._grammars.get(e)}},Q4=class{constructor(t){be(this,"_options");be(this,"_syncRegistry");be(this,"_ensureGrammarCache");this._options=t,this._syncRegistry=new X4(zu.createFromRawTheme(t.theme,t.colorMap),t.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(t,n){this._syncRegistry.setTheme(zu.createFromRawTheme(t,n))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(t,n,r){return this.loadGrammarWithConfiguration(t,n,{embeddedLanguages:r})}loadGrammarWithConfiguration(t,n,r){return this._loadGrammar(t,n,r.embeddedLanguages,r.tokenTypes,new K4(r.balancedBracketSelectors||[],r.unbalancedBracketSelectors||[]))}loadGrammar(t){return this._loadGrammar(t,0,null,null,null)}_loadGrammar(t,n,r,o,l){const u=new E4(this._syncRegistry,t);for(;u.Q.length>0;)u.Q.map(c=>this._loadSingleGrammar(c.scopeName)),u.processQueue();return this._grammarForScopeName(t,n,r,o,l)}_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 r=typeof this._options.getInjections=="function"?this._options.getInjections(t):void 0;this._syncRegistry.addGrammar(n,r)}}addGrammar(t,n=[],r=0,o=null){return this._syncRegistry.addGrammar(t,n),this._grammarForScopeName(t.scopeName,r,o)}_grammarForScopeName(t,n=0,r=null,o=null,l=null){return this._syncRegistry.grammarForScopeName(t,n,r,o,l)}},gp=pp.NULL;function Gu(e,t){const n=typeof e=="string"?{}:{...e.colorReplacements},r=typeof e=="string"?e:e.name;for(const[o,l]of Object.entries((t==null?void 0:t.colorReplacements)||{}))typeof l=="string"?n[o]=l:o===r&&Object.assign(n,l);return n}function Zs(e,t){return e&&((t==null?void 0:t[e==null?void 0:e.toLowerCase()])||e)}function J4(e){return Array.isArray(e)?e:[e]}async function Qw(e){return Promise.resolve(typeof e=="function"?e():e).then(t=>t.default||t)}function vd(e){return!e||["plaintext","txt","text","plain"].includes(e)}function Jw(e){return e==="ansi"||vd(e)}function Sd(e){return e==="none"}function Zw(e){return Sd(e)}const Z4=/(\r?\n)/g;function wd(e,t=!1){var l;if(e.length===0)return[["",0]];const n=e.split(Z4);let r=0;const o=[];for(let u=0;u<n.length;u+=2){const c=t?n[u]+(n[u+1]||""):n[u];o.push([c,r]),r+=n[u].length,r+=((l=n[u+1])==null?void 0:l.length)||0}return o}const S0={light:"#333333",dark:"#bbbbbb"},w0={light:"#fffffe",dark:"#1e1e1e"},C0="__shiki_resolved";function pg(e){var c,d,f,p,m;if(e!=null&&e[C0])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:r}=t;if(!n||!r){const x=t.settings?t.settings.find(y=>!y.name&&!y.scope):void 0;(c=x==null?void 0:x.settings)!=null&&c.foreground&&(r=x.settings.foreground),(d=x==null?void 0:x.settings)!=null&&d.background&&(n=x.settings.background),!r&&((f=t==null?void 0:t.colors)!=null&&f["editor.foreground"])&&(r=t.colors["editor.foreground"]),!n&&((p=t==null?void 0:t.colors)!=null&&p["editor.background"])&&(n=t.colors["editor.background"]),r||(r=t.type==="light"?S0.light:S0.dark),n||(n=t.type==="light"?w0.light:w0.dark),t.fg=r,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 l=new Map;function u(x){var w;if(l.has(x))return l.get(x);o+=1;const y=`#${o.toString(16).padStart(8,"0").toLowerCase()}`;return(w=t.colorReplacements)!=null&&w[`#${y}`]?u(x):(l.set(x,y),y)}t.settings=t.settings.map(x=>{var v,S;const y=((v=x.settings)==null?void 0:v.foreground)&&!x.settings.foreground.startsWith("#"),w=((S=x.settings)==null?void 0:S.background)&&!x.settings.background.startsWith("#");if(!y&&!w)return x;const C={...x,settings:{...x.settings}};if(y){const _=u(x.settings.foreground);t.colorReplacements[_]=x.settings.foreground,C.settings.foreground=_}if(w){const _=u(x.settings.background);t.colorReplacements[_]=x.settings.background,C.settings.background=_}return C});for(const x of Object.keys(t.colors||{}))if((x==="editor.foreground"||x==="editor.background"||x.startsWith("terminal.ansi"))&&!((m=t.colors[x])!=null&&m.startsWith("#"))){const y=u(t.colors[x]);t.colorReplacements[y]=t.colors[x],t.colors[x]=y}return Object.defineProperty(t,C0,{enumerable:!1,writable:!1,value:!0}),t}async function eC(e){return[...new Set((await Promise.all(e.filter(t=>!Jw(t)).map(async t=>await Qw(t).then(n=>Array.isArray(n)?n:[n])))).flat())]}async function tC(e){return(await Promise.all(e.map(async t=>Zw(t)?null:pg(await Qw(t))))).filter(t=>!!t)}function nC(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 Ht(`Circular alias \`${[...n].join(" -> ")} -> ${e}\``);n.add(e)}}return e}var eI=class extends Q4{constructor(t,n,r,o={}){super(t);be(this,"_resolver");be(this,"_themes");be(this,"_langs");be(this,"_alias");be(this,"_resolvedThemes",new Map);be(this,"_resolvedGrammars",new Map);be(this,"_langMap",new Map);be(this,"_langGraph",new Map);be(this,"_textmateThemeCache",new WeakMap);be(this,"_loadedThemesCache",null);be(this,"_loadedLanguagesCache",null);this._resolver=t,this._themes=n,this._langs=r,this._alias=o,this._themes.map(l=>this.loadTheme(l)),this.loadLanguages(this._langs)}getTheme(t){return typeof t=="string"?this._resolvedThemes.get(t):this.loadTheme(t)}loadTheme(t){const n=pg(t);return n.name&&(this._resolvedThemes.set(n.name,n),this._loadedThemesCache=null),n}getLoadedThemes(){return this._loadedThemesCache||(this._loadedThemesCache=[...this._resolvedThemes.keys()]),this._loadedThemesCache}setTheme(t){let n=this._textmateThemeCache.get(t);n||(n=zu.createFromRawTheme(t),this._textmateThemeCache.set(t,n)),this._syncRegistry.setTheme(n)}getGrammar(t){return t=nC(t,this._alias),this._resolvedGrammars.get(t)}loadLanguage(t){var l,u,c,d;if(this.getGrammar(t.name))return;const n=new Set([...this._langMap.values()].filter(f=>{var p;return(p=f.embeddedLangsLazy)==null?void 0:p.includes(t.name)}));this._resolver.addLanguage(t);const r={balancedBracketSelectors:t.balancedBracketSelectors||["*"],unbalancedBracketSelectors:t.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(t.scopeName,t);const o=this.loadGrammarWithConfiguration(t.scopeName,1,r);if(o.name=t.name,this._resolvedGrammars.set(t.name,o),t.aliases&&t.aliases.forEach(f=>{this._alias[f]=t.name}),this._loadedLanguagesCache=null,n.size)for(const f of n)this._resolvedGrammars.delete(f.name),this._loadedLanguagesCache=null,(u=(l=this._syncRegistry)==null?void 0:l._injectionGrammars)==null||u.delete(f.scopeName),(d=(c=this._syncRegistry)==null?void 0:c._grammars)==null||d.delete(f.scopeName),this.loadLanguage(this._langMap.get(f.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(t){for(const o of t)this.resolveEmbeddedLanguages(o);const n=[...this._langGraph.entries()],r=n.filter(([o,l])=>!l);if(r.length){const o=n.filter(([l,u])=>{var c;return u?(c=u.embeddedLanguages||u.embeddedLangs)==null?void 0:c.some(d=>r.map(([f])=>f).includes(d)):!1}).filter(l=>!r.includes(l));throw new Ht(`Missing languages ${r.map(([l])=>`\`${l}\``).join(", ")}, required by ${o.map(([l])=>`\`${l}\``).join(", ")}`)}for(const[o,l]of n)this._resolver.addLanguage(l);for(const[o,l]of n)this.loadLanguage(l)}getLoadedLanguages(){return this._loadedLanguagesCache||(this._loadedLanguagesCache=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])]),this._loadedLanguagesCache}resolveEmbeddedLanguages(t){this._langMap.set(t.name,t),this._langGraph.set(t.name,t);const n=t.embeddedLanguages??t.embeddedLangs;if(n)for(const r of n)this._langGraph.set(r,this._langMap.get(r))}},tI=class{constructor(e,t){be(this,"_langs",new Map);be(this,"_scopeToLang",new Map);be(this,"_injections",new Map);be(this,"_onigLib");this._onigLib={createOnigScanner:n=>e.createScanner(n),createOnigString:n=>e.createString(n)},t.forEach(n=>this.addLanguage(n))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){const t=e.split(".");let n=[];for(let r=1;r<=t.length;r++){const o=t.slice(0,r).join(".");n=[...n,...this._injections.get(o)||[]]}return n}};let rl=0;function nI(e){rl+=1,e.warnings!==!1&&rl>=10&&rl%10===0&&console.warn(`[Shiki] ${rl} 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 Ht("`engine` option is required for synchronous mode");const n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(pg),o=new eI(new tI(e.engine,n),r,n,e.langAlias);let l;function u(_){return nC(_,e.langAlias)}function c(_){v();const b=o.getGrammar(typeof _=="string"?_:_.name);if(!b)throw new Ht(`Language \`${_}\` not found, you may need to load it first`);return b}function d(_){if(_==="none")return{bg:"",fg:"",name:"none",settings:[],type:"dark"};v();const b=o.getTheme(_);if(!b)throw new Ht(`Theme \`${_}\` not found, you may need to load it first`);return b}function f(_){v();const b=d(_);return l!==_&&(o.setTheme(b),l=_),{theme:b,colorMap:o.getColorMap()}}function p(){return v(),o.getLoadedThemes()}function m(){return v(),o.getLoadedLanguages()}function x(..._){v(),o.loadLanguages(_.flat(1))}async function y(..._){return x(await eC(_))}function w(..._){v();for(const b of _.flat(1))o.loadTheme(b)}async function C(..._){return v(),w(await tC(_))}function v(){if(t)throw new Ht("Shiki instance has been disposed")}function S(){t||(t=!0,o.dispose(),rl-=1)}return{setTheme:f,getTheme:d,getLanguage:c,getLoadedThemes:p,getLoadedLanguages:m,resolveLangAlias:u,loadLanguage:y,loadLanguageSync:x,loadTheme:C,loadThemeSync:w,dispose:S,[Symbol.dispose]:S}}async function rI(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");const[t,n,r]=await Promise.all([tC(e.themes||[]),eC(e.langs||[]),e.engine]);return nI({...e,themes:t,langs:n,engine:r})}const rC=new WeakMap;function Cd(e,t){rC.set(e,t)}function El(e){return rC.get(e)}var kd=class sC{constructor(...t){be(this,"_stacks",{});be(this,"lang");if(t.length===2){const[n,r]=t;this.lang=r,this._stacks=n}else{const[n,r,o]=t;this.lang=r,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 sC(Object.fromEntries(J4(n).map(r=>[r,gp])),t)}getInternalStack(t=this.theme){return this._stacks[t]}getScopes(t=this.theme){return sI(this._stacks[t])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function sI(e){const t=[],n=new Set;function r(o){var u;if(n.has(o))return;n.add(o);const l=(u=o==null?void 0:o.nameScopesList)==null?void 0:u.scopeName;l&&t.push(l),o.parent&&r(o.parent)}return r(e),t}function iI(e,t){if(!(e instanceof kd))throw new Ht("Invalid grammar state");return e.getInternalStack(t)}const aI=/,/,oI=/ /;function iC(e,t,n={}){const{theme:r=e.getLoadedThemes()[0]}=n;if(vd(e.resolveLangAlias(n.lang||"text"))||Sd(r))return wd(t).map(c=>[{content:c[0],offset:c[1]}]);const{theme:o,colorMap:l}=e.setTheme(r),u=e.getLanguage(n.lang||"text");if(n.grammarState){if(n.grammarState.lang!==u.name)throw new Ht(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${u.name}"`);if(!n.grammarState.themes.includes(o.name))throw new Ht(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${o.name}"`)}return cI(t,u,o,l,n)}function lI(...e){if(e.length===2)return El(e[1]);const[t,n,r={}]=e,{lang:o="text",theme:l=t.getLoadedThemes()[0]}=r;if(vd(o)||Sd(l))throw new Ht("Plain language does not have grammar state");if(o==="ansi")throw new Ht("ANSI language does not have grammar state");const{theme:u,colorMap:c}=t.setTheme(l),d=t.getLanguage(o);return new kd(gg(n,d,u,c,r).stateStack,d.name,u.name)}function cI(e,t,n,r,o){const l=gg(e,t,n,r,o),u=new kd(l.stateStack,t.name,n.name);return Cd(l.tokens,u),l.tokens}function gg(e,t,n,r,o){const l=Gu(n,o),{tokenizeMaxLineLength:u=0,tokenizeTimeLimit:c=500}=o,d=wd(e);let f=o.grammarState?iI(o.grammarState,n.name)??gp:o.grammarContextCode!=null?gg(o.grammarContextCode,t,n,r,{...o,grammarState:void 0,grammarContextCode:void 0}).stateStack:gp,p=[];const m=[];for(let x=0,y=d.length;x<y;x++){const[w,C]=d[x];if(w===""){p=[],m.push([]);continue}if(u>0&&w.length>=u){p=[],m.push([{content:w,offset:C,color:"",fontStyle:0}]);continue}let v,S,_;o.includeExplanation&&(v=t.tokenizeLine(w,f,c),S=v.tokens,_=0);const b=t.tokenizeLine2(w,f,c),j=b.tokens.length/2;for(let E=0;E<j;E++){const T=b.tokens[2*E],D=E+1<j?b.tokens[2*E+2]:w.length;if(T===D)continue;const L=b.tokens[2*E+1],O=Zs(r[Wa.getForeground(L)],l),P=Wa.getFontStyle(L),G={content:w.substring(T,D),offset:C+T,color:O,fontStyle:P};if(o.includeExplanation){const W=[];if(o.includeExplanation!=="scopeName")for(const H of n.settings){let V;switch(typeof H.scope){case"string":V=H.scope.split(aI).map(U=>U.trim());break;case"object":V=H.scope;break;default:continue}W.push({settings:H,selectors:V.map(U=>U.split(oI))})}G.explanation=[];let I=0;for(;T+I<D;){const H=S[_],V=w.substring(H.startIndex,H.endIndex);I+=V.length,G.explanation.push({content:V,scopes:o.includeExplanation==="scopeName"?uI(H.scopes):dI(W,H.scopes)}),_+=1}}p.push(G)}m.push(p),p=[],f=b.ruleStack}return{tokens:m,stateStack:f}}function uI(e){return e.map(t=>({scopeName:t}))}function dI(e,t){const n=[];for(let r=0,o=t.length;r<o;r++){const l=t[r];n[r]={scopeName:l,themeMatches:fI(e,l,t.slice(0,r))}}return n}function k0(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]==="."}function hI(e,t,n){if(!k0(e.at(-1),t))return!1;let r=e.length-2,o=n.length-1;for(;r>=0&&o>=0;)k0(e[r],n[o])&&(r-=1),o-=1;return r===-1}function fI(e,t,n){const r=[];for(const{selectors:o,settings:l}of e)for(const u of o)if(hI(u,t,n)){r.push(l);break}return r}function aC(e,t,n,r=iC){const o=Object.entries(n.themes).filter(f=>f[1]).map(f=>({color:f[0],theme:f[1]})),l=o.map(f=>{const p=r(e,t,{...n,theme:f.theme});return{tokens:p,state:El(p),theme:typeof f.theme=="string"?f.theme:f.theme.name}}),u=mI(...l.map(f=>f.tokens)),c=u[0].map((f,p)=>f.map((m,x)=>{const y={content:m.content,variants:{},offset:m.offset};return"includeExplanation"in n&&n.includeExplanation&&(y.explanation=m.explanation),u.forEach((w,C)=>{const{content:v,explanation:S,offset:_,...b}=w[p][x];y.variants[o[C].color]=b}),y})),d=l[0].state?new kd(Object.fromEntries(l.map(f=>{var p;return[f.theme,(p=f.state)==null?void 0:p.getInternalStack(f.theme)]})),l[0].state.lang):void 0;return d&&Cd(c,d),c}function mI(...e){const t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){const o=e.map(d=>d[r]),l=t.map(()=>[]);t.forEach((d,f)=>d.push(l[f]));const u=o.map(()=>0),c=o.map(d=>d[0]);for(;c.every(d=>d);){const d=Math.min(...c.map(f=>f.content.length));for(let f=0;f<n;f++){const p=c[f];p.content.length===d?(l[f].push(p),u[f]+=1,c[f]=o[f][u[f]]):(l[f].push({...p,content:p.content.slice(0,d)}),c[f]={...p,content:p.content.slice(d),offset:p.offset+d})}}}return t}const pI=["area","base","basefont","bgsound","br","col","command","embed","frame","hr","image","img","input","keygen","link","meta","param","source","track","wbr"];class Bl{constructor(t,n,r){this.normal=n,this.property=t,r&&(this.space=r)}}Bl.prototype.normal={};Bl.prototype.property={};Bl.prototype.space=void 0;function oC(e,t){const n={},r={};for(const o of e)Object.assign(n,o.property),Object.assign(r,o.normal);return new Bl(n,r,t)}function xp(e){return e.toLowerCase()}class Yn{constructor(t,n){this.attribute=n,this.property=t}}Yn.prototype.attribute="";Yn.prototype.booleanish=!1;Yn.prototype.boolean=!1;Yn.prototype.commaOrSpaceSeparated=!1;Yn.prototype.commaSeparated=!1;Yn.prototype.defined=!1;Yn.prototype.mustUseProperty=!1;Yn.prototype.number=!1;Yn.prototype.overloadedBoolean=!1;Yn.prototype.property="";Yn.prototype.spaceSeparated=!1;Yn.prototype.space=void 0;let gI=0;const ht=Ui(),cn=Ui(),yp=Ui(),Re=Ui(),zt=Ui(),Fa=Ui(),ar=Ui();function Ui(){return 2**++gI}const bp=Object.freeze(Object.defineProperty({__proto__:null,boolean:ht,booleanish:cn,commaOrSpaceSeparated:ar,commaSeparated:Fa,number:Re,overloadedBoolean:yp,spaceSeparated:zt},Symbol.toStringTag,{value:"Module"})),Tm=Object.keys(bp);class xg extends Yn{constructor(t,n,r,o){let l=-1;if(super(t,n),E0(this,"space",o),typeof r=="number")for(;++l<Tm.length;){const u=Tm[l];E0(this,Tm[l],(r&bp[u])===bp[u])}}}xg.prototype.defined=!0;function E0(e,t,n){n&&(e[t]=n)}function to(e){const t={},n={};for(const[r,o]of Object.entries(e.properties)){const l=new xg(r,e.transform(e.attributes||{},r),o,e.space);e.mustUseProperty&&e.mustUseProperty.includes(r)&&(l.mustUseProperty=!0),t[r]=l,n[xp(r)]=r,n[xp(l.attribute)]=r}return new Bl(t,n,e.space)}const lC=to({properties:{ariaActiveDescendant:null,ariaAtomic:cn,ariaAutoComplete:null,ariaBusy:cn,ariaChecked:cn,ariaColCount:Re,ariaColIndex:Re,ariaColSpan:Re,ariaControls:zt,ariaCurrent:null,ariaDescribedBy:zt,ariaDetails:null,ariaDisabled:cn,ariaDropEffect:zt,ariaErrorMessage:null,ariaExpanded:cn,ariaFlowTo:zt,ariaGrabbed:cn,ariaHasPopup:null,ariaHidden:cn,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:zt,ariaLevel:Re,ariaLive:null,ariaModal:cn,ariaMultiLine:cn,ariaMultiSelectable:cn,ariaOrientation:null,ariaOwns:zt,ariaPlaceholder:null,ariaPosInSet:Re,ariaPressed:cn,ariaReadOnly:cn,ariaRelevant:null,ariaRequired:cn,ariaRoleDescription:zt,ariaRowCount:Re,ariaRowIndex:Re,ariaRowSpan:Re,ariaSelected:cn,ariaSetSize:Re,ariaSort:null,ariaValueMax:Re,ariaValueMin:Re,ariaValueNow:Re,ariaValueText:null,role:null},transform(e,t){return t==="role"?t:"aria-"+t.slice(4).toLowerCase()}});function cC(e,t){return t in e?e[t]:t}function uC(e,t){return cC(e,t.toLowerCase())}const xI=to({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:Fa,acceptCharset:zt,accessKey:zt,action:null,allow:null,allowFullScreen:ht,allowPaymentRequest:ht,allowUserMedia:ht,alt:null,as:null,async:ht,autoCapitalize:null,autoComplete:zt,autoFocus:ht,autoPlay:ht,blocking:zt,capture:null,charSet:null,checked:ht,cite:null,className:zt,cols:Re,colSpan:null,content:null,contentEditable:cn,controls:ht,controlsList:zt,coords:Re|Fa,crossOrigin:null,data:null,dateTime:null,decoding:null,default:ht,defer:ht,dir:null,dirName:null,disabled:ht,download:yp,draggable:cn,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:ht,formTarget:null,headers:zt,height:Re,hidden:yp,high:Re,href:null,hrefLang:null,htmlFor:zt,httpEquiv:zt,id:null,imageSizes:null,imageSrcSet:null,inert:ht,inputMode:null,integrity:null,is:null,isMap:ht,itemId:null,itemProp:zt,itemRef:zt,itemScope:ht,itemType:zt,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:ht,low:Re,manifest:null,max:null,maxLength:Re,media:null,method:null,min:null,minLength:Re,multiple:ht,muted:ht,name:null,nonce:null,noModule:ht,noValidate:ht,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:ht,optimum:Re,pattern:null,ping:zt,placeholder:null,playsInline:ht,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:ht,referrerPolicy:null,rel:zt,required:ht,reversed:ht,rows:Re,rowSpan:Re,sandbox:zt,scope:null,scoped:ht,seamless:ht,selected:ht,shadowRootClonable:ht,shadowRootDelegatesFocus:ht,shadowRootMode:null,shape:null,size:Re,sizes:null,slot:null,span:Re,spellCheck:cn,src:null,srcDoc:null,srcLang:null,srcSet:null,start:Re,step:null,style:null,tabIndex:Re,target:null,title:null,translate:null,type:null,typeMustMatch:ht,useMap:null,value:cn,width:Re,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:zt,axis:null,background:null,bgColor:null,border:Re,borderColor:null,bottomMargin:Re,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:ht,declare:ht,event:null,face:null,frame:null,frameBorder:null,hSpace:Re,leftMargin:Re,link:null,longDesc:null,lowSrc:null,marginHeight:Re,marginWidth:Re,noResize:ht,noHref:ht,noShade:ht,noWrap:ht,object:null,profile:null,prompt:null,rev:null,rightMargin:Re,rules:null,scheme:null,scrolling:cn,standby:null,summary:null,text:null,topMargin:Re,valueType:null,version:null,vAlign:null,vLink:null,vSpace:Re,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:ht,disableRemotePlayback:ht,prefix:null,property:null,results:Re,security:null,unselectable:null},space:"html",transform:uC}),yI=to({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",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:ar,accentHeight:Re,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:Re,amplitude:Re,arabicForm:null,ascent:Re,attributeName:null,attributeType:null,azimuth:Re,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:Re,by:null,calcMode:null,capHeight:Re,className:zt,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:Re,diffuseConstant:Re,direction:null,display:null,dur:null,divisor:Re,dominantBaseline:null,download:ht,dx:null,dy:null,edgeMode:null,editable:null,elevation:Re,enableBackground:null,end:null,event:null,exponent:Re,externalResourcesRequired:null,fill:null,fillOpacity:Re,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:Fa,g2:Fa,glyphName:Fa,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:Re,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:Re,horizOriginX:Re,horizOriginY:Re,id:null,ideographic:Re,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:Re,k:Re,k1:Re,k2:Re,k3:Re,k4:Re,kernelMatrix:ar,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:Re,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:Re,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:Re,overlineThickness:Re,paintOrder:null,panose1:null,path:null,pathLength:Re,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:zt,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:Re,pointsAtY:Re,pointsAtZ:Re,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:ar,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:ar,rev:ar,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:ar,requiredFeatures:ar,requiredFonts:ar,requiredFormats:ar,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:Re,specularExponent:Re,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:Re,strikethroughThickness:Re,string:null,stroke:null,strokeDashArray:ar,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:Re,strokeOpacity:Re,strokeWidth:null,style:null,surfaceScale:Re,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:ar,tabIndex:Re,tableValues:null,target:null,targetX:Re,targetY:Re,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:ar,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:Re,underlineThickness:Re,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:Re,values:null,vAlphabetic:Re,vMathematical:Re,vectorEffect:null,vHanging:Re,vIdeographic:Re,version:null,vertAdvY:Re,vertOriginX:Re,vertOriginY:Re,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:Re,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:cC}),dC=to({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()}}),hC=to({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:uC}),fC=to({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform(e,t){return"xml:"+t.slice(3).toLowerCase()}}),bI=/[A-Z]/g,j0=/-[a-z]/g,_I=/^data[-\w.:]+$/i;function vI(e,t){const n=xp(t);let r=t,o=Yn;if(n in e.normal)return e.property[e.normal[n]];if(n.length>4&&n.slice(0,4)==="data"&&_I.test(t)){if(t.charAt(4)==="-"){const l=t.slice(5).replace(j0,wI);r="data"+l.charAt(0).toUpperCase()+l.slice(1)}else{const l=t.slice(4);if(!j0.test(l)){let u=l.replace(bI,SI);u.charAt(0)!=="-"&&(u="-"+u),t="data"+u}}o=xg}return new o(r,t)}function SI(e){return"-"+e.toLowerCase()}function wI(e){return e.charAt(1).toUpperCase()}const CI=oC([lC,xI,dC,hC,fC],"html"),mC=oC([lC,yI,dC,hC,fC],"svg"),N0={}.hasOwnProperty;function kI(e,t){const n=t||{};function r(o,...l){let u=r.invalid;const c=r.handlers;if(o&&N0.call(o,e)){const d=String(o[e]);u=N0.call(c,d)?c[d]:r.unknown}if(u)return u.call(this,o,...l)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}const EI=/["&'<>`]/g,jI=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,NI=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,TI=/[|\\{}()[\]^$+*?.]/g,T0=new WeakMap;function AI(e,t){if(e=e.replace(t.subset?LI(t.subset):EI,r),t.subset||t.escapeOnly)return e;return e.replace(jI,n).replace(NI,r);function n(o,l,u){return t.format((o.charCodeAt(0)-55296)*1024+o.charCodeAt(1)-56320+65536,u.charCodeAt(l+2),t)}function r(o,l,u){return t.format(o.charCodeAt(0),u.charCodeAt(l+1),t)}}function LI(e){let t=T0.get(e);return t||(t=DI(e),T0.set(e,t)),t}function DI(e){const t=[];let n=-1;for(;++n<e.length;)t.push(e[n].replace(TI,"\\$&"));return new RegExp("(?:"+t.join("|")+")","g")}const RI=/[\dA-Fa-f]/;function OI(e,t,n){const r="&#x"+e.toString(16).toUpperCase();return n&&t&&!RI.test(String.fromCharCode(t))?r:r+";"}const II=/\d/;function MI(e,t,n){const r="&#"+String(e);return n&&t&&!II.test(String.fromCharCode(t))?r:r+";"}const PI=["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"],Am={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:"€"},BI=["cent","copy","divide","gt","lt","not","para","times"],pC={}.hasOwnProperty,_p={};let fu;for(fu in Am)pC.call(Am,fu)&&(_p[Am[fu]]=fu);const $I=/[^\dA-Za-z]/;function zI(e,t,n,r){const o=String.fromCharCode(e);if(pC.call(_p,o)){const l=_p[o],u="&"+l;return n&&PI.includes(l)&&!BI.includes(l)&&(!r||t&&t!==61&&$I.test(String.fromCharCode(t)))?u:u+";"}return""}function HI(e,t,n){let r=OI(e,t,n.omitOptionalSemicolons),o;if((n.useNamedReferences||n.useShortestReferences)&&(o=zI(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!o)&&n.useShortestReferences){const l=MI(e,t,n.omitOptionalSemicolons);l.length<r.length&&(r=l)}return o&&(!n.useShortestReferences||o.length<r.length)?o:r}function Va(e,t){return AI(e,Object.assign({format:HI},t))}const UI=/^>|^->|<!--|-->|--!>|<!-$/g,FI=[">"],VI=["<",">"];function GI(e,t,n,r){return r.settings.bogusComments?"<?"+Va(e.value,Object.assign({},r.settings.characterReferences,{subset:FI}))+">":"<!--"+e.value.replace(UI,o)+"-->";function o(l){return Va(l,Object.assign({},r.settings.characterReferences,{subset:VI}))}}function WI(e,t,n,r){return"<!"+(r.settings.upperDoctype?"DOCTYPE":"doctype")+(r.settings.tightDoctype?"":" ")+"html>"}function A0(e,t){const n=String(e);if(typeof t!="string")throw new TypeError("Expected character");let r=0,o=n.indexOf(t);for(;o!==-1;)r++,o=n.indexOf(t,o+t.length);return r}function qI(e,t){const n=t||{};return(e[e.length-1]===""?[...e,""]:e).join((n.padRight?" ":"")+","+(n.padLeft===!1?"":" ")).trim()}function KI(e){return e.join(" ").trim()}const YI=/[ \t\n\f\r]/g;function yg(e){return typeof e=="object"?e.type==="text"?L0(e.value):!1:L0(e)}function L0(e){return e.replace(YI,"")===""}const pn=xC(1),gC=xC(-1),XI=[];function xC(e){return t;function t(n,r,o){const l=n?n.children:XI;let u=(r||0)+e,c=l[u];if(!o)for(;c&&yg(c);)u+=e,c=l[u];return c}}const QI={}.hasOwnProperty;function yC(e){return t;function t(n,r,o){return QI.call(e,n.tagName)&&e[n.tagName](n,r,o)}}const bg=yC({body:ZI,caption:Lm,colgroup:Lm,dd:rM,dt:nM,head:Lm,html:JI,li:tM,optgroup:sM,option:iM,p:eM,rp:D0,rt:D0,tbody:oM,td:R0,tfoot:lM,th:R0,thead:aM,tr:cM});function Lm(e,t,n){const r=pn(n,t,!0);return!r||r.type!=="comment"&&!(r.type==="text"&&yg(r.value.charAt(0)))}function JI(e,t,n){const r=pn(n,t);return!r||r.type!=="comment"}function ZI(e,t,n){const r=pn(n,t);return!r||r.type!=="comment"}function eM(e,t,n){const r=pn(n,t);return r?r.type==="element"&&(r.tagName==="address"||r.tagName==="article"||r.tagName==="aside"||r.tagName==="blockquote"||r.tagName==="details"||r.tagName==="div"||r.tagName==="dl"||r.tagName==="fieldset"||r.tagName==="figcaption"||r.tagName==="figure"||r.tagName==="footer"||r.tagName==="form"||r.tagName==="h1"||r.tagName==="h2"||r.tagName==="h3"||r.tagName==="h4"||r.tagName==="h5"||r.tagName==="h6"||r.tagName==="header"||r.tagName==="hgroup"||r.tagName==="hr"||r.tagName==="main"||r.tagName==="menu"||r.tagName==="nav"||r.tagName==="ol"||r.tagName==="p"||r.tagName==="pre"||r.tagName==="section"||r.tagName==="table"||r.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 tM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&r.tagName==="li"}function nM(e,t,n){const r=pn(n,t);return!!(r&&r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd"))}function rM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&(r.tagName==="dt"||r.tagName==="dd")}function D0(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&(r.tagName==="rp"||r.tagName==="rt")}function sM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&r.tagName==="optgroup"}function iM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&(r.tagName==="option"||r.tagName==="optgroup")}function aM(e,t,n){const r=pn(n,t);return!!(r&&r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot"))}function oM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&(r.tagName==="tbody"||r.tagName==="tfoot")}function lM(e,t,n){return!pn(n,t)}function cM(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&r.tagName==="tr"}function R0(e,t,n){const r=pn(n,t);return!r||r.type==="element"&&(r.tagName==="td"||r.tagName==="th")}const uM=yC({body:fM,colgroup:mM,head:hM,html:dM,tbody:pM});function dM(e){const t=pn(e,-1);return!t||t.type!=="comment"}function hM(e){const t=new Set;for(const r of e.children)if(r.type==="element"&&(r.tagName==="base"||r.tagName==="title")){if(t.has(r.tagName))return!1;t.add(r.tagName)}const n=e.children[0];return!n||n.type==="element"}function fM(e){const t=pn(e,-1,!0);return!t||t.type!=="comment"&&!(t.type==="text"&&yg(t.value.charAt(0)))&&!(t.type==="element"&&(t.tagName==="meta"||t.tagName==="link"||t.tagName==="script"||t.tagName==="style"||t.tagName==="template"))}function mM(e,t,n){const r=gC(n,t),o=pn(e,-1,!0);return n&&r&&r.type==="element"&&r.tagName==="colgroup"&&bg(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="col")}function pM(e,t,n){const r=gC(n,t),o=pn(e,-1);return n&&r&&r.type==="element"&&(r.tagName==="thead"||r.tagName==="tbody")&&bg(r,n.children.indexOf(r),n)?!1:!!(o&&o.type==="element"&&o.tagName==="tr")}const mu={name:[[`
|
|
127
|
+
\f\r &/=>`.split(""),`
|
|
128
|
+
\f\r "&'/=>\``.split("")],[`\0
|
|
129
|
+
\f\r "&'/<=>`.split(""),`\0
|
|
130
|
+
\f\r "&'/<=>\``.split("")]],unquoted:[[`
|
|
131
|
+
\f\r &>`.split(""),`\0
|
|
132
|
+
\f\r "&'<=>\``.split("")],[`\0
|
|
133
|
+
\f\r "&'<=>\``.split(""),`\0
|
|
134
|
+
\f\r "&'<=>\``.split("")]],single:[["&'".split(""),"\"&'`".split("")],["\0&'".split(""),"\0\"&'`".split("")]],double:[['"&'.split(""),"\"&'`".split("")],['\0"&'.split(""),"\0\"&'`".split("")]]};function gM(e,t,n,r){const o=r.schema,l=o.space==="svg"?!1:r.settings.omitOptionalTags;let u=o.space==="svg"?r.settings.closeEmptyElements:r.settings.voids.includes(e.tagName.toLowerCase());const c=[];let d;o.space==="html"&&e.tagName==="svg"&&(r.schema=mC);const f=xM(r,e.properties),p=r.all(o.space==="html"&&e.tagName==="template"?e.content:e);return r.schema=o,p&&(u=!1),(f||!l||!uM(e,t,n))&&(c.push("<",e.tagName,f?" "+f:""),u&&(o.space==="svg"||r.settings.closeSelfClosing)&&(d=f.charAt(f.length-1),(!r.settings.tightSelfClosing||d==="/"||d&&d!=='"'&&d!=="'")&&c.push(" "),c.push("/")),c.push(">")),c.push(p),!u&&(!l||!bg(e,t,n))&&c.push("</"+e.tagName+">"),c.join("")}function xM(e,t){const n=[];let r=-1,o;if(t){for(o in t)if(t[o]!==null&&t[o]!==void 0){const l=yM(e,o,t[o]);l&&n.push(l)}}for(;++r<n.length;){const l=e.settings.tightAttributes?n[r].charAt(n[r].length-1):void 0;r!==n.length-1&&l!=='"'&&l!=="'"&&(n[r]+=" ")}return n.join("")}function yM(e,t,n){const r=vI(e.schema,t),o=e.settings.allowParseErrors&&e.schema.space==="html"?0:1,l=e.settings.allowDangerousCharacters?0:1;let u=e.quote,c;if(r.overloadedBoolean&&(n===r.attribute||n==="")?n=!0:(r.boolean||r.overloadedBoolean)&&(typeof n!="string"||n===r.attribute||n==="")&&(n=!!n),n==null||n===!1||typeof n=="number"&&Number.isNaN(n))return"";const d=Va(r.attribute,Object.assign({},e.settings.characterReferences,{subset:mu.name[o][l]}));return n===!0||(n=Array.isArray(n)?(r.commaSeparated?qI:KI)(n,{padLeft:!e.settings.tightCommaSeparatedLists}):String(n),e.settings.collapseEmptyAttributes&&!n)?d:(e.settings.preferUnquoted&&(c=Va(n,Object.assign({},e.settings.characterReferences,{attribute:!0,subset:mu.unquoted[o][l]}))),c!==n&&(e.settings.quoteSmart&&A0(n,u)>A0(n,e.alternative)&&(u=e.alternative),c=u+Va(n,Object.assign({},e.settings.characterReferences,{subset:(u==="'"?mu.single:mu.double)[o][l],attribute:!0}))+u),d+(c&&"="+c))}const bM=["<","&"];function bC(e,t,n,r){return n&&n.type==="element"&&(n.tagName==="script"||n.tagName==="style")?e.value:Va(e.value,Object.assign({},r.settings.characterReferences,{subset:bM}))}function _M(e,t,n,r){return r.settings.allowDangerousHtml?e.value:bC(e,t,n,r)}function vM(e,t,n,r){return r.all(e)}const SM=kI("type",{invalid:wM,unknown:CM,handlers:{comment:GI,doctype:WI,element:gM,raw:_M,root:vM,text:bC}});function wM(e){throw new Error("Expected node, not `"+e+"`")}function CM(e){const t=e;throw new Error("Cannot compile unknown node `"+t.type+"`")}const kM={},EM={},jM=[];function NM(e,t){const n=t||kM,r=n.quote||'"',o=r==='"'?"'":'"';if(r!=='"'&&r!=="'")throw new Error("Invalid quote `"+r+"`, expected `'` or `\"`");return{one:TM,all:AM,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||pI,characterReferences:n.characterReferences||EM,closeSelfClosing:n.closeSelfClosing||!1,closeEmptyElements:n.closeEmptyElements||!1},schema:n.space==="svg"?mC:CI,quote:r,alternative:o}.one(Array.isArray(e)?{type:"root",children:e}:e,void 0,void 0)}function TM(e,t,n){return SM(e,t,n,this)}function AM(e){const t=[],n=e&&e.children||jM;let r=-1;for(;++r<n.length;)t[r]=this.one(n[r],r,e);return t.join("")}const O0=/\s+/g;function _C(e,t){var r;if(!t)return e;e.properties||(e.properties={}),(r=e.properties).class||(r.class=[]),typeof e.properties.class=="string"&&(e.properties.class=e.properties.class.split(O0)),Array.isArray(e.properties.class)||(e.properties.class=[]);const n=Array.isArray(t)?t:t.split(O0);for(const o of n)o&&!e.properties.class.includes(o)&&e.properties.class.push(o);return e}const LM=/:?lang=["']([^"']+)["']/g,DM=/(?:```|~~~)([\w-]+)/g,RM=/\\begin\{([\w-]+)\}/g,OM=/<script\s+(?:type|lang)=["']([^"']+)["']/gi;function IM(e){const t=wd(e,!0).map(([o])=>o);function n(o){if(o===e.length)return{line:t.length-1,character:t.at(-1).length};let l=o,u=0;for(const c of t){if(l<c.length)break;l-=c.length,u++}return{line:u,character:l}}function r(o,l){let u=0;for(let c=0;c<o;c++)u+=t[c].length;return u+=l,u}return{lines:t,indexToPos:n,posToIndex:r}}function MM(e,t,n){const r=new Set;for(const l of e.matchAll(LM)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(DM)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(RM)){const u=l[1].toLowerCase().trim();u&&r.add(u)}for(const l of e.matchAll(OM)){const u=l[1].toLowerCase().trim(),c=u.includes("/")?u.split("/").pop():u;c&&r.add(c)}if(!n)return[...r];const o=n.getBundledLanguages();return[...r].filter(l=>l&&o[l])}const PM=["color","background-color"];function BM(e,t){let n=0;const r=[];for(const o of t)o>n&&r.push({...e,content:e.content.slice(n,o),offset:e.offset+n}),n=o;return n<e.content.length&&r.push({...e,content:e.content.slice(n),offset:e.offset+n}),r}function $M(e,t){const n=[...t instanceof Set?t:new Set(t)].sort((r,o)=>r-o);return n.length?e.map(r=>r.flatMap(o=>{const l=n.filter(u=>o.offset<u&&u<o.offset+o.content.length).map(u=>u-o.offset).sort((u,c)=>u-c);return l.length?BM(o,l):o})):e}function zM(e,t,n,r,o="css-vars"){const l={content:e.content,explanation:e.explanation,offset:e.offset},u=t.map(p=>Wu(e.variants[p])),c=new Set(u.flatMap(p=>Object.keys(p))),d={},f=(p,m)=>{const x=m==="color"?"":m==="background-color"?"-bg":`-${m}`;return n+t[p]+(m==="color"?"":x)};return u.forEach((p,m)=>{for(const x of c){const y=p[x]||"inherit";if(m===0&&r&&PM.includes(x))if(r==="light-dark()"&&u.length>1){const w=t.findIndex(v=>v==="light"),C=t.findIndex(v=>v==="dark");if(w===-1||C===-1)throw new Ht('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');d[x]=`light-dark(${u[w][x]||"inherit"}, ${u[C][x]||"inherit"})`,o==="css-vars"&&(d[f(m,x)]=y)}else d[x]=y;else o==="css-vars"&&(d[f(m,x)]=y)}}),l.htmlStyle=d,l}function Wu(e){const t={};if(e.color&&(t.color=e.color),e.bgColor&&(t["background-color"]=e.bgColor),e.fontStyle){e.fontStyle&Tn.Italic&&(t["font-style"]="italic"),e.fontStyle&Tn.Bold&&(t["font-weight"]="bold");const n=[];e.fontStyle&Tn.Underline&&n.push("underline"),e.fontStyle&Tn.Strikethrough&&n.push("line-through"),n.length&&(t["text-decoration"]=n.join(" "))}return t}function vp(e){return typeof e=="string"?e:Object.entries(e).map(([t,n])=>`${t}:${n}`).join(";")}function HM(){const e=new WeakMap;function t(n){if(!e.has(n.meta)){let l=function(c){if(typeof c=="number"){if(c<0||c>n.source.length)throw new Ht(`Invalid decoration offset: ${c}. Code length: ${n.source.length}`);return{...o.indexToPos(c),offset:c}}else{const d=o.lines[c.line];if(d===void 0)throw new Ht(`Invalid decoration position ${JSON.stringify(c)}. Lines length: ${o.lines.length}`);let f=c.character;if(f<0&&(f=d.length+f),f<0||f>d.length)throw new Ht(`Invalid decoration position ${JSON.stringify(c)}. Line ${c.line} length: ${d.length}`);return{...c,character:f,offset:o.posToIndex(c.line,f)}}};var r=l;const o=IM(n.source),u=(n.options.decorations||[]).map(c=>({...c,start:l(c.start),end:l(c.end)}));UM(u),e.set(n.meta,{decorations:u,converter:o,source:n.source})}return e.get(n.meta)}return{name:"shiki:decorations",tokens(n){var r;if((r=this.options.decorations)!=null&&r.length)return $M(n,t(this).decorations.flatMap(o=>[o.start.offset,o.end.offset]))},code(n){var p;if(!((p=this.options.decorations)!=null&&p.length))return;const r=t(this),o=[...n.children].filter(m=>m.type==="element"&&m.tagName==="span");if(o.length!==r.converter.lines.length)throw new Ht(`Number of lines in code element (${o.length}) does not match the number of lines in the source (${r.converter.lines.length}). Failed to apply decorations.`);function l(m,x,y,w){const C=o[m];let v="",S=-1,_=-1;if(x===0&&(S=0),y===0&&(_=0),y===Number.POSITIVE_INFINITY&&(_=C.children.length),S===-1||_===-1)for(let j=0;j<C.children.length;j++)v+=vC(C.children[j]),S===-1&&v.length===x&&(S=j+1),_===-1&&v.length===y&&(_=j+1);if(S===-1)throw new Ht(`Failed to find start index for decoration ${JSON.stringify(w.start)}`);if(_===-1)throw new Ht(`Failed to find end index for decoration ${JSON.stringify(w.end)}`);const b=C.children.slice(S,_);if(!w.alwaysWrap&&b.length===C.children.length)c(C,w,"line");else if(!w.alwaysWrap&&b.length===1&&b[0].type==="element")c(b[0],w,"token");else{const j={type:"element",tagName:"span",properties:{},children:b};c(j,w,"wrapper"),C.children.splice(S,b.length,j)}}function u(m,x){o[m]=c(o[m],x,"line")}function c(m,x,y){var v;const w=x.properties||{},C=x.transform||(S=>S);return m.tagName=x.tagName||"span",m.properties={...m.properties,...w,class:m.properties.class},(v=x.properties)!=null&&v.class&&_C(m,x.properties.class),m=C(m,y)||m,m}const d=[],f=r.decorations.sort((m,x)=>x.start.offset-m.start.offset||m.end.offset-x.end.offset);for(const m of f){const{start:x,end:y}=m;if(x.line===y.line)l(x.line,x.character,y.character,m);else if(x.line<y.line){l(x.line,x.character,Number.POSITIVE_INFINITY,m);for(let w=x.line+1;w<y.line;w++)d.unshift(()=>u(w,m));l(y.line,0,y.character,m)}}d.forEach(m=>m())}}}function UM(e){for(let t=0;t<e.length;t++){const n=e[t];if(n.start.offset>n.end.offset)throw new Ht(`Invalid decoration range: ${JSON.stringify(n.start)} - ${JSON.stringify(n.end)}`);for(let r=t+1;r<e.length;r++){const o=e[r],l=n.start.offset<=o.start.offset&&o.start.offset<n.end.offset,u=n.start.offset<o.end.offset&&o.end.offset<=n.end.offset,c=o.start.offset<=n.start.offset&&n.start.offset<o.end.offset,d=o.start.offset<n.end.offset&&n.end.offset<=o.end.offset;if(l||u||c||d){if(l&&u||c&&d||c&&n.start.offset===n.end.offset||u&&o.start.offset===o.end.offset)continue;throw new Ht(`Decorations ${JSON.stringify(n.start)} and ${JSON.stringify(o.start)} intersect.`)}}}}function vC(e){return e.type==="text"?e.value:e.type==="element"?e.children.map(vC).join(""):""}const FM=[HM()];function qu(e){const t=VM(e.transformers||[]);return[...t.pre,...t.normal,...t.post,...FM]}function VM(e){const t=[],n=[],r=[];for(const o of e)switch(o.enforce){case"pre":t.push(o);break;case"post":n.push(o);break;default:r.push(o)}return{pre:t,post:n,normal:r}}var Di=["black","red","green","yellow","blue","magenta","cyan","white","brightBlack","brightRed","brightGreen","brightYellow","brightBlue","brightMagenta","brightCyan","brightWhite"],Dm={1:"bold",2:"dim",3:"italic",4:"underline",7:"reverse",8:"hidden",9:"strikethrough"};function GM(e,t){const n=e.indexOf("\x1B",t);if(n!==-1&&e[n+1]==="["){const r=e.indexOf("m",n);if(r!==-1)return{sequence:e.substring(n+2,r).split(";"),startPosition:n,position:r+1}}return{position:e.length}}function I0(e){const t=e.shift();if(t==="2"){const n=e.splice(0,3).map(r=>Number.parseInt(r));return n.length!==3||n.some(r=>Number.isNaN(r))?void 0:{type:"rgb",rgb:n}}else if(t==="5"){const n=e.shift();if(n)return{type:"table",index:Number(n)}}}function WM(e){const t=[];for(;e.length>0;){const n=e.shift();if(!n)continue;const r=Number.parseInt(n);if(!Number.isNaN(r))if(r===0)t.push({type:"resetAll"});else if(r<=9)Dm[r]&&t.push({type:"setDecoration",value:Dm[r]});else if(r<=29){const o=Dm[r-20];o&&(t.push({type:"resetDecoration",value:o}),o==="dim"&&t.push({type:"resetDecoration",value:"bold"}))}else if(r<=37)t.push({type:"setForegroundColor",value:{type:"named",name:Di[r-30]}});else if(r===38){const o=I0(e);o&&t.push({type:"setForegroundColor",value:o})}else if(r===39)t.push({type:"resetForegroundColor"});else if(r<=47)t.push({type:"setBackgroundColor",value:{type:"named",name:Di[r-40]}});else if(r===48){const o=I0(e);o&&t.push({type:"setBackgroundColor",value:o})}else r===49?t.push({type:"resetBackgroundColor"}):r===53?t.push({type:"setDecoration",value:"overline"}):r===55?t.push({type:"resetDecoration",value:"overline"}):r>=90&&r<=97?t.push({type:"setForegroundColor",value:{type:"named",name:Di[r-90+8]}}):r>=100&&r<=107&&t.push({type:"setBackgroundColor",value:{type:"named",name:Di[r-100+8]}})}return t}function qM(){let e=null,t=null,n=new Set;return{parse(r){const o=[];let l=0;do{const u=GM(r,l),c=u.sequence?r.substring(l,u.startPosition):r.substring(l);if(c.length>0&&o.push({value:c,foreground:e,background:t,decorations:new Set(n)}),u.sequence){const d=WM(u.sequence);for(const f of d)f.type==="resetAll"?(e=null,t=null,n.clear()):f.type==="resetForegroundColor"?e=null:f.type==="resetBackgroundColor"?t=null:f.type==="resetDecoration"&&n.delete(f.value);for(const f of d)f.type==="setForegroundColor"?e=f.value:f.type==="setBackgroundColor"?t=f.value:f.type==="setDecoration"&&n.add(f.value)}l=u.position}while(l<r.length);return o}}}var KM={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 YM(e=KM){function t(c){return e[c]}function n(c){return`#${c.map(d=>Math.max(0,Math.min(d,255)).toString(16).padStart(2,"0")).join("")}`}let r;function o(){if(r)return r;r=[];for(let f=0;f<Di.length;f++)r.push(t(Di[f]));let c=[0,95,135,175,215,255];for(let f=0;f<6;f++)for(let p=0;p<6;p++)for(let m=0;m<6;m++)r.push(n([c[f],c[p],c[m]]));let d=8;for(let f=0;f<24;f++,d+=10)r.push(n([d,d,d]));return r}function l(c){return o()[c]}function u(c){switch(c.type){case"named":return t(c.name);case"rgb":return n(c.rgb);case"table":return l(c.index)}}return{value:u}}const XM=/#([0-9a-f]{3,8})/i,QM=/var\((--[\w-]+-ansi-[\w-]+)\)/,JM={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 ZM(e,t,n){const r=Gu(e,n),o=wd(t),l=YM(Object.fromEntries(Di.map(c=>{var f;const d=`terminal.ansi${c[0].toUpperCase()}${c.substring(1)}`;return[c,((f=e.colors)==null?void 0:f[d])||JM[c]]}))),u=qM();return o.map(c=>u.parse(c[0]).map(d=>{let f,p;d.decorations.has("reverse")?(f=d.background?l.value(d.background):e.bg,p=d.foreground?l.value(d.foreground):e.fg):(f=d.foreground?l.value(d.foreground):e.fg,p=d.background?l.value(d.background):void 0),f=Zs(f,r),p=Zs(p,r),d.decorations.has("dim")&&(f=eP(f));let m=Tn.None;return d.decorations.has("bold")&&(m|=Tn.Bold),d.decorations.has("italic")&&(m|=Tn.Italic),d.decorations.has("underline")&&(m|=Tn.Underline),d.decorations.has("strikethrough")&&(m|=Tn.Strikethrough),{content:d.value,offset:c[1],color:f,bgColor:p,fontStyle:m}}))}function eP(e){const t=e.match(XM);if(t){const r=t[1];if(r.length===8){const o=Math.round(Number.parseInt(r.slice(6,8),16)/2).toString(16).padStart(2,"0");return`#${r.slice(0,6)}${o}`}else{if(r.length===6)return`#${r}80`;if(r.length===4){const o=r[0],l=r[1],u=r[2],c=r[3];return`#${o}${o}${l}${l}${u}${u}${Math.round(Number.parseInt(`${c}${c}`,16)/2).toString(16).padStart(2,"0")}`}else if(r.length===3){const o=r[0],l=r[1],u=r[2];return`#${o}${o}${l}${l}${u}${u}80`}}}const n=e.match(QM);return n?`var(${n[1]}-dim)`:e}function Sp(e,t,n={}){const r=e.resolveLangAlias(n.lang||"text"),{theme:o=e.getLoadedThemes()[0]}=n;if(!vd(r)&&!Sd(o)&&r==="ansi"){const{theme:l}=e.setTheme(o);return ZM(l,t,n)}return iC(e,t,n)}function Ku(e,t,n){let r,o,l,u,c,d;if("themes"in n){const{defaultColor:f="light",cssVariablePrefix:p="--shiki-",colorsRendering:m="css-vars"}=n,x=Object.entries(n.themes).filter(S=>S[1]).map(S=>({color:S[0],theme:S[1]})).sort((S,_)=>S.color===f?-1:_.color===f?1:0);if(x.length===0)throw new Ht("`themes` option must not be empty");const y=aC(e,t,n,Sp);if(d=El(y),f&&f!=="light-dark()"&&!x.some(S=>S.color===f))throw new Ht(`\`themes\` option must contain the defaultColor key \`${f}\``);const w=x.map(S=>e.getTheme(S.theme)),C=x.map(S=>S.color);l=y.map(S=>S.map(_=>zM(_,C,p,f,m))),d&&Cd(l,d);const v=x.map(S=>Gu(S.theme,n));o=M0(x,w,v,p,f,"fg",m),r=M0(x,w,v,p,f,"bg",m),u=`shiki-themes ${w.map(S=>S.name).join(" ")}`,c=f?void 0:[o,r].join(";")}else if("theme"in n){const f=Gu(n.theme,n);l=Sp(e,t,n);const p=e.getTheme(n.theme);r=Zs(p.bg,f),o=Zs(p.fg,f),u=p.name,d=El(l)}else throw new Ht("Invalid options, either `theme` or `themes` must be provided");return{tokens:l,fg:o,bg:r,themeName:u,rootStyle:c,grammarState:d}}function M0(e,t,n,r,o,l,u){return e.map((c,d)=>{const f=Zs(t[d][l],n[d])||"inherit",p=`${r+c.color}${l==="bg"?"-bg":""}:${f}`;if(d===0&&o){if(o==="light-dark()"&&e.length>1){const m=e.findIndex(y=>y.color==="light"),x=e.findIndex(y=>y.color==="dark");if(m===-1||x===-1)throw new Ht('When using `defaultColor: "light-dark()"`, you must provide both `light` and `dark` themes');return`light-dark(${Zs(t[m][l],n[m])||"inherit"}, ${Zs(t[x][l],n[x])||"inherit"});${p}`}return f}return u==="css-vars"?p:null}).filter(c=>!!c).join(";")}const SC=/^\s+$/,tP=/^(\s*)(.*?)(\s*)$/;function Yu(e,t,n,r={meta:{},options:n,codeToHast:(o,l)=>Yu(e,o,l),codeToTokens:(o,l)=>Ku(e,o,l)}){var w,C;let o=t;for(const v of qu(n))o=((w=v.preprocess)==null?void 0:w.call(r,o,n))||o;let{tokens:l,fg:u,bg:c,themeName:d,rootStyle:f,grammarState:p}=Ku(e,o,n);const{mergeWhitespaces:m=!0,mergeSameStyleTokens:x=!1}=n;m===!0?l=rP(l):m==="never"&&(l=sP(l)),x&&(l=iP(l));const y={...r,get source(){return o}};for(const v of qu(n))l=((C=v.tokens)==null?void 0:C.call(y,l))||l;return nP(l,{...n,fg:u,bg:c,themeName:d,rootStyle:n.rootStyle===!1?!1:n.rootStyle??f},y,p)}function nP(e,t,n,r=El(e)){var C,v,S,_;const o=qu(t),l=[],u={type:"root",children:[]},{structure:c="classic",tabindex:d="0"}=t,f={class:`shiki ${t.themeName||""}`};t.rootStyle!==!1&&(t.rootStyle!=null?f.style=t.rootStyle:f.style=`background-color:${t.bg};color:${t.fg}`),d!==!1&&d!=null&&(f.tabindex=d.toString());for(const[b,j]of Object.entries(t.meta||{}))b.startsWith("_")||(f[b]=j);let p={type:"element",tagName:"pre",properties:f,children:[],data:t.data},m={type:"element",tagName:"code",properties:{},children:l};const x=[],y={...n,structure:c,addClassToHast:_C,get source(){return n.source},get tokens(){return e},get options(){return t},get root(){return u},get pre(){return p},get code(){return m},get lines(){return x}};if(e.forEach((b,j)=>{var D,L;j&&(c==="inline"?u.children.push({type:"element",tagName:"br",properties:{},children:[]}):c==="classic"&&l.push({type:"text",value:`
|
|
135
|
+
`}));let E={type:"element",tagName:"span",properties:{class:"line"},children:[]},T=0;for(const O of b){let P={type:"element",tagName:"span",properties:{...O.htmlAttrs},children:[{type:"text",value:O.content}]};const G=vp(O.htmlStyle||Wu(O));G&&(P.properties.style=G);for(const W of o)P=((D=W==null?void 0:W.span)==null?void 0:D.call(y,P,j+1,T,E,O))||P;c==="inline"?u.children.push(P):c==="classic"&&E.children.push(P),T+=O.content.length}if(c==="classic"){for(const O of o)E=((L=O==null?void 0:O.line)==null?void 0:L.call(y,E,j+1))||E;x.push(E),l.push(E)}else c==="inline"&&x.push(E)}),c==="classic"){for(const b of o)m=((C=b==null?void 0:b.code)==null?void 0:C.call(y,m))||m;p.children.push(m);for(const b of o)p=((v=b==null?void 0:b.pre)==null?void 0:v.call(y,p))||p;u.children.push(p)}else if(c==="inline"){const b=[];let j={type:"element",tagName:"span",properties:{class:"line"},children:[]};for(const T of u.children)T.type==="element"&&T.tagName==="br"?(b.push(j),j={type:"element",tagName:"span",properties:{class:"line"},children:[]}):(T.type==="element"||T.type==="text")&&j.children.push(T);b.push(j);let E={type:"element",tagName:"code",properties:{},children:b};for(const T of o)E=((S=T==null?void 0:T.code)==null?void 0:S.call(y,E))||E;u.children=[];for(let T=0;T<E.children.length;T++){T>0&&u.children.push({type:"element",tagName:"br",properties:{},children:[]});const D=E.children[T];D.type==="element"&&u.children.push(...D.children)}}let w=u;for(const b of o)w=((_=b==null?void 0:b.root)==null?void 0:_.call(y,w))||w;return r&&Cd(w,r),w}function rP(e){return e.map(t=>{const n=[];let r="",o;return t.forEach((l,u)=>{const c=!(l.fontStyle&&(l.fontStyle&Tn.Underline||l.fontStyle&Tn.Strikethrough));c&&SC.test(l.content)&&t[u+1]?(o===void 0&&(o=l.offset),r+=l.content):r?(c?n.push({...l,offset:o,content:r+l.content}):n.push({content:r,offset:o},l),o=void 0,r=""):n.push(l)}),n})}function sP(e){return e.map(t=>t.flatMap(n=>{if(SC.test(n.content))return n;const r=n.content.match(tP);if(!r)return n;const[,o,l,u]=r;if(!o&&!u)return n;const c=[{...n,offset:n.offset+o.length,content:l}];return o&&c.unshift({content:o,offset:n.offset}),u&&c.push({content:u,offset:n.offset+o.length+l.length}),c}))}function iP(e){return e.map(t=>{const n=[];for(const r of t){if(n.length===0){n.push({...r});continue}const o=n.at(-1),l=vp(o.htmlStyle||Wu(o)),u=vp(r.htmlStyle||Wu(r)),c=o.fontStyle&&(o.fontStyle&Tn.Underline||o.fontStyle&Tn.Strikethrough),d=r.fontStyle&&(r.fontStyle&Tn.Underline||r.fontStyle&Tn.Strikethrough);!c&&!d&&l===u?o.content+=r.content:n.push({...r})}return n})}const aP=NM;function oP(e,t,n){var l;const r={meta:{},options:n,codeToHast:(u,c)=>Yu(e,u,c),codeToTokens:(u,c)=>Ku(e,u,c)};let o=aP(Yu(e,t,n,r));for(const u of qu(n))o=((l=u.postprocess)==null?void 0:l.call(r,o,n))||o;return o}async function lP(e){const t=await rI(e);return{getLastGrammarState:(...n)=>lI(t,...n),codeToTokensBase:(n,r)=>Sp(t,n,r),codeToTokensWithThemes:(n,r)=>aC(t,n,r),codeToTokens:(n,r)=>Ku(t,n,r),codeToHast:(n,r)=>Yu(t,n,r),codeToHtml:(n,r)=>oP(t,n,r),getBundledLanguages:()=>({}),getBundledThemes:()=>({}),...t,getInternalContext:()=>t}}function cP(e){const t=e.langs,n=e.themes,r=e.engine;async function o(l){function u(m){var x;if(typeof m=="string"){if(m=((x=l.langAlias)==null?void 0:x[m])||m,Jw(m))return[];const y=t[m];if(!y)throw new Ht(`Language \`${m}\` is not included in this bundle. You may want to load it from external source.`);return y}return m}function c(m){if(Zw(m))return"none";if(typeof m=="string"){const x=n[m];if(!x)throw new Ht(`Theme \`${m}\` is not included in this bundle. You may want to load it from external source.`);return x}return m}const d=(l.themes??[]).map(m=>c(m)),f=(l.langs??[]).map(m=>u(m)),p=await lP({engine:l.engine??r(),...l,themes:d,langs:f});return{...p,loadLanguage(...m){return p.loadLanguage(...m.map(u))},loadTheme(...m){return p.loadTheme(...m.map(c))},getBundledLanguages(){return t},getBundledThemes(){return n}}}return o}function uP(e){let t;async function n(r={}){if(t){const o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}else{t=e({...r,themes:[],langs:[]});const o=await t;return await Promise.all([o.loadTheme(...r.themes||[]),o.loadLanguage(...r.langs||[])]),o}}return n}function dP(e,t){const n=uP(e);async function r(o,l){var d;const u=await n({langs:[l.lang],themes:"theme"in l?[l.theme]:Object.values(l.themes)}),c=await((d=t==null?void 0:t.guessEmbeddedLanguages)==null?void 0:d.call(t,o,l.lang,u));return c&&await u.loadLanguage(...c),u}return{getSingletonHighlighter(o){return n(o)},async codeToHtml(o,l){return(await r(o,l)).codeToHtml(o,l)},async codeToHast(o,l){return(await r(o,l)).codeToHast(o,l)},async codeToTokens(o,l){return(await r(o,l)).codeToTokens(o,l)},async codeToTokensBase(o,l){return(await r(o,l)).codeToTokensBase(o,l)},async codeToTokensWithThemes(o,l){return(await r(o,l)).codeToTokensWithThemes(o,l)},async getLastGrammarState(o,l){return(await n({langs:[l.lang],themes:[l.theme]})).getLastGrammarState(o,l)}}}var hP=og({bundledLanguages:()=>yd,bundledLanguagesAlias:()=>cg,bundledLanguagesBase:()=>lg,bundledLanguagesInfo:()=>xd,bundledThemes:()=>dg,bundledThemesInfo:()=>ug,codeToHast:()=>CC,codeToHtml:()=>wC,codeToTokens:()=>kC,codeToTokensBase:()=>EC,codeToTokensWithThemes:()=>jC,createHighlighter:()=>Ed,getLastGrammarState:()=>TC,getSingletonHighlighter:()=>NC});const Ed=cP({langs:yd,themes:dg,engine:()=>(0,Iw.createOnigurumaEngine)(Z(()=>import("./wasm-CG6Dc4jp.js"),[]))}),{codeToHtml:wC,codeToHast:CC,codeToTokens:kC,codeToTokensBase:EC,codeToTokensWithThemes:jC,getSingletonHighlighter:NC,getLastGrammarState:TC}=dP(Ed,{guessEmbeddedLanguages:MM}),P0=4294967295;var fP=class{constructor(e,t={}){be(this,"patterns");be(this,"options");be(this,"regexps");this.patterns=e,this.options=t;const{forgiving:n=!1,cache:r,regexConstructor:o}=t;if(!o)throw new Error("Option `regexConstructor` is not provided");this.regexps=e.map(l=>{if(typeof l!="string")return l;const u=r==null?void 0:r.get(l);if(u){if(u instanceof RegExp)return u;if(n)return null;throw u}try{const c=o(l);return r==null||r.set(l,c),c}catch(c){if(r==null||r.set(l,c),n)return null;throw c}})}findNextMatchSync(e,t,n){const r=typeof e=="string"?e:e.content,o=[];function l(u,c,d=0){return{index:u,captureIndices:c.indices.map(f=>f==null?{start:P0,end:P0,length:0}:{start:f[0]+d,end:f[1]+d,length:f[1]-f[0]})}}for(let u=0;u<this.regexps.length;u++){const c=this.regexps[u];if(c)try{c.lastIndex=t;const d=c.exec(r);if(!d)continue;if(d.index===t)return l(u,d,0);o.push([u,d,0])}catch(d){if(this.options.forgiving)continue;throw d}}if(o.length){const u=Math.min(...o.map(c=>c[1].index));for(const[c,d,f]of o)if(d.index===u)return l(c,d,f)}return null}};function no(e){if([...e].length!==1)throw new Error(`Expected "${e}" to be a single code point`);return e.codePointAt(0)}function mP(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}const _g=new Set(["alnum","alpha","ascii","blank","cntrl","digit","graph","lower","print","punct","space","upper","word","xdigit"]),bn=String.raw;function ro(e,t){if(e==null)throw new Error(t??"Value expected");return e}const AC=bn`\[\^?`,LC=`c.? | C(?:-.?)?|${bn`[pP]\{(?:\^?[-\x20_]*[A-Za-z][-\x20\w]*\})?`}|${bn`x[89A-Fa-f]\p{AHex}(?:\\x[89A-Fa-f]\p{AHex})*`}|${bn`u(?:\p{AHex}{4})? | x\{[^\}]*\}? | x\p{AHex}{0,2}`}|${bn`o\{[^\}]*\}?`}|${bn`\d{1,3}`}`,vg=/[?*+][?+]?|\{(?:\d+(?:,\d*)?|,\d+)\}\??/,pu=new RegExp(bn`
|
|
136
|
+
\\ (?:
|
|
137
|
+
${LC}
|
|
138
|
+
| [gk]<[^>]*>?
|
|
139
|
+
| [gk]'[^']*'?
|
|
140
|
+
| .
|
|
141
|
+
)
|
|
142
|
+
| \( (?:
|
|
143
|
+
\? (?:
|
|
144
|
+
[:=!>({]
|
|
145
|
+
| <[=!]
|
|
146
|
+
| <[^>]*>
|
|
147
|
+
| '[^']*'
|
|
148
|
+
| ~\|?
|
|
149
|
+
| #(?:[^)\\]|\\.?)*
|
|
150
|
+
| [^:)]*[:)]
|
|
151
|
+
)?
|
|
152
|
+
| \*[^\)]*\)?
|
|
153
|
+
)?
|
|
154
|
+
| (?:${vg.source})+
|
|
155
|
+
| ${AC}
|
|
156
|
+
| .
|
|
157
|
+
`.replace(/\s+/g,""),"gsu"),Rm=new RegExp(bn`
|
|
158
|
+
\\ (?:
|
|
159
|
+
${LC}
|
|
160
|
+
| .
|
|
161
|
+
)
|
|
162
|
+
| \[:(?:\^?\p{Alpha}+|\^):\]
|
|
163
|
+
| ${AC}
|
|
164
|
+
| &&
|
|
165
|
+
| .
|
|
166
|
+
`.replace(/\s+/g,""),"gsu");function pP(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 r=OP(n.flags),o=[r.extended],l={captureGroup:n.rules.captureGroup,getCurrentModX(){return o.at(-1)},numOpenGroups:0,popModX(){o.pop()},pushModX(m){o.push(m)},replaceCurrentModX(m){o[o.length-1]=m},singleline:n.rules.singleline};let u=[],c;for(pu.lastIndex=0;c=pu.exec(e);){const m=gP(l,e,c[0],pu.lastIndex);m.tokens?u.push(...m.tokens):m.token&&u.push(m.token),m.lastIndex!==void 0&&(pu.lastIndex=m.lastIndex)}const d=[];let f=0;u.filter(m=>m.type==="GroupOpen").forEach(m=>{m.kind==="capturing"?m.number=++f:m.raw==="("&&d.push(m)}),f||d.forEach((m,x)=>{m.kind="capturing",m.number=x+1});const p=f||d.length;return{tokens:u.map(m=>m.type==="EscapedNumber"?MP(m,p):m).flat(),flags:r}}function gP(e,t,n,r){const[o,l]=n;if(n==="["||n==="[^"){const u=xP(t,n,r);return{tokens:u.tokens,lastIndex:u.lastIndex}}if(o==="\\"){if("AbBGyYzZ".includes(l))return{token:B0(n,n)};if(/^\\g[<']/.test(n)){if(!/^\\g(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:jP(n)}}if(/^\\k[<']/.test(n)){if(!/^\\k(?:<[^>]+>|'[^']+')$/.test(n))throw new Error(`Invalid group name "${n}"`);return{token:RC(n)}}if(l==="K")return{token:OC("keep",n)};if(l==="N"||l==="R")return{token:Ri("newline",n,{negate:l==="N"})};if(l==="O")return{token:Ri("any",n)};if(l==="X")return{token:Ri("text_segment",n)};const u=DC(n,{inCharClass:!1});return Array.isArray(u)?{tokens:u}:{token:u}}if(o==="("){if(l==="*")return{token:LP(n)};if(n==="(?{")throw new Error(`Unsupported callout "${n}"`);if(n.startsWith("(?#")){if(t[r]!==")")throw new Error('Unclosed comment group "(?#"');return{lastIndex:r+1}}if(/^\(\?[-imx]+[:)]$/.test(n))return{token:AP(n,e)};if(e.pushModX(e.getCurrentModX()),e.numOpenGroups++,n==="("&&!e.captureGroup||n==="(?:")return{token:Ba("group",n)};if(n==="(?>")return{token:Ba("atomic",n)};if(n==="(?="||n==="(?!"||n==="(?<="||n==="(?<!")return{token:Ba(n[2]==="<"?"lookbehind":"lookahead",n,{negate:n.endsWith("!")})};if(n==="("&&e.captureGroup||n.startsWith("(?<")&&n.endsWith(">")||n.startsWith("(?'")&&n.endsWith("'"))return{token:Ba("capturing",n,{...n!=="("&&{name:n.slice(3,-1)}})};if(n.startsWith("(?~")){if(n==="(?~|")throw new Error(`Unsupported absence function kind "${n}"`);return{token:Ba("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:CP(n)}}if(e.getCurrentModX()){if(n==="#"){const u=t.indexOf(`
|
|
167
|
+
`,r);return{lastIndex:u===-1?t.length:u}}if(/^\s$/.test(n)){const u=/\s+/y;return u.lastIndex=r,{lastIndex:u.exec(t)?u.lastIndex:r}}}if(n===".")return{token:Ri("dot",n)};if(n==="^"||n==="$"){const u=e.singleline?{"^":bn`\A`,$:bn`\Z`}[n]:n;return{token:B0(u,n)}}return n==="|"?{token:bP(n)}:vg.test(n)?{tokens:PP(n)}:{token:bs(no(n),n)}}function xP(e,t,n){const r=[$0(t[1]==="^",t)];let o=1,l;for(Rm.lastIndex=n;l=Rm.exec(e);){const u=l[0];if(u[0]==="["&&u[1]!==":")o++,r.push($0(u[1]==="^",u));else if(u==="]"){if(r.at(-1).type==="CharacterClassOpen")r.push(bs(93,u));else if(o--,r.push(_P(u)),!o)break}else{const c=yP(u);Array.isArray(c)?r.push(...c):r.push(c)}}return{tokens:r,lastIndex:Rm.lastIndex||e.length}}function yP(e){if(e[0]==="\\")return DC(e,{inCharClass:!0});if(e[0]==="["){const t=/\[:(?<negate>\^?)(?<name>[a-z]+):\]/.exec(e);if(!t||!_g.has(t.groups.name))throw new Error(`Invalid POSIX class "${e}"`);return Ri("posix",e,{value:t.groups.name,negate:!!t.groups.negate})}return e==="-"?vP(e):e==="&&"?SP(e):bs(no(e),e)}function DC(e,{inCharClass:t}){const n=e[1];if(n==="c"||n==="C")return TP(e);if("dDhHsSwW".includes(n))return DP(e);if(e.startsWith(bn`\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 RP(e)}if(new RegExp("^\\\\x[89A-Fa-f]\\p{AHex}","u").test(e))try{const r=e.split(/\\x/).slice(1).map(u=>parseInt(u,16)),o=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}).decode(new Uint8Array(r)),l=new TextEncoder;return[...o].map(u=>{const c=[...l.encode(u)].map(d=>`\\x${d.toString(16)}`).join("");return bs(no(u),c)})}catch{throw new Error(`Multibyte code "${e}" incomplete or invalid in Oniguruma`)}if(n==="u"||n==="x")return bs(IP(e),e);if(z0.has(n))return bs(z0.get(n),e);if(/\d/.test(n))return wP(t,e);if(e==="\\")throw new Error(bn`Incomplete escape "\"`);if(n==="M")throw new Error(`Unsupported meta "${e}"`);if([...e].length===2)return bs(e.codePointAt(1),e);throw new Error(`Unexpected escape "${e}"`)}function bP(e){return{type:"Alternator",raw:e}}function B0(e,t){return{type:"Assertion",kind:e,raw:t}}function RC(e){return{type:"Backreference",raw:e}}function bs(e,t){return{type:"Character",value:e,raw:t}}function _P(e){return{type:"CharacterClassClose",raw:e}}function vP(e){return{type:"CharacterClassHyphen",raw:e}}function SP(e){return{type:"CharacterClassIntersector",raw:e}}function $0(e,t){return{type:"CharacterClassOpen",negate:e,raw:t}}function Ri(e,t,n={}){return{type:"CharacterSet",kind:e,...n,raw:t}}function OC(e,t,n={}){return e==="keep"?{type:"Directive",kind:e,raw:t}:{type:"Directive",kind:e,flags:ro(n.flags),raw:t}}function wP(e,t){return{type:"EscapedNumber",inCharClass:e,raw:t}}function CP(e){return{type:"GroupClose",raw:e}}function Ba(e,t,n={}){return{type:"GroupOpen",kind:e,...n,raw:t}}function kP(e,t,n,r){return{type:"NamedCallout",kind:e,tag:t,arguments:n,raw:r}}function EP(e,t,n,r){return{type:"Quantifier",kind:e,min:t,max:n,raw:r}}function jP(e){return{type:"Subroutine",raw:e}}const NP=new Set(["COUNT","CMP","ERROR","FAIL","MAX","MISMATCH","SKIP","TOTAL_COUNT"]),z0=new Map([["a",7],["b",8],["e",27],["f",12],["n",10],["r",13],["t",9],["v",11]]);function TP(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 bs(no(t.toUpperCase())-64,e)}function AP(e,t){let{on:n,off:r}=/^\(\?(?<on>[imx]*)(?:-(?<off>[-imx]*))?/.exec(e).groups;r??(r="");const o=(t.getCurrentModX()||n.includes("x"))&&!r.includes("x"),l=U0(n),u=U0(r),c={};if(l&&(c.enable=l),u&&(c.disable=u),e.endsWith(")"))return t.replaceCurrentModX(o),OC("flags",e,{flags:c});if(e.endsWith(":"))return t.pushModX(o),t.numOpenGroups++,Ba("group",e,{...(l||u)&&{flags:c}});throw new Error(`Unexpected flag modifier "${e}"`)}function LP(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:r,args:o}=t.groups;if(!n)throw new Error(`Invalid named callout "${e}"`);if(r==="")throw new Error(`Named callout tag with empty value not allowed "${e}"`);const l=o?o.split(",").filter(p=>p!=="").map(p=>/^[+-]?\d+$/.test(p)?+p:p):[],[u,c,d]=l,f=NP.has(n)?n.toLowerCase():"custom";switch(f){case"fail":case"mismatch":case"skip":if(l.length>0)throw new Error(`Named callout arguments not allowed "${l}"`);break;case"error":if(l.length>1)throw new Error(`Named callout allows only one argument "${l}"`);if(typeof u=="string")throw new Error(`Named callout argument must be a number "${u}"`);break;case"max":if(!l.length||l.length>2)throw new Error(`Named callout must have one or two arguments "${l}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(l.length===2&&(typeof c=="number"||!/^[<>X]$/.test(c)))throw new Error(`Named callout optional argument two must be '<', '>', or 'X' "${c}"`);break;case"count":case"total_count":if(l.length>1)throw new Error(`Named callout allows only one argument "${l}"`);if(l.length===1&&(typeof u=="number"||!/^[<>X]$/.test(u)))throw new Error(`Named callout optional argument must be '<', '>', or 'X' "${u}"`);break;case"cmp":if(l.length!==3)throw new Error(`Named callout must have three arguments "${l}"`);if(typeof u=="string"&&!/^[A-Za-z_]\w*$/.test(u))throw new Error(`Named callout argument one must be a tag or number "${u}"`);if(typeof c=="number"||!/^(?:[<>!=]=|[<>])$/.test(c))throw new Error(`Named callout argument two must be '==', '!=', '>', '<', '>=', or '<=' "${c}"`);if(typeof d=="string"&&!/^[A-Za-z_]\w*$/.test(d))throw new Error(`Named callout argument three must be a tag or number "${d}"`);break;case"custom":throw new Error(`Undefined callout name "${n}"`);default:throw new Error(`Unexpected named callout kind "${f}"`)}return kP(f,r??null,(o==null?void 0:o.split(","))??null,e)}function H0(e){let t=null,n,r;if(e[0]==="{"){const{minStr:o,maxStr:l}=/^\{(?<minStr>\d*)(?:,(?<maxStr>\d*))?/.exec(e).groups,u=1e5;if(+o>u||l&&+l>u)throw new Error("Quantifier value unsupported in Oniguruma");if(n=+o,r=l===void 0?+o:l===""?1/0:+l,n>r&&(t="possessive",[n,r]=[r,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,r=e[0]==="?"?1:1/0,t=e[1]==="+"?"possessive":e[1]==="?"?"lazy":"greedy";return EP(t,n,r,e)}function DP(e){const t=e[1].toLowerCase();return Ri({d:"digit",h:"hex",s:"space",w:"word"}[t],e,{negate:e[1]!==t})}function RP(e){const{p:t,neg:n,value:r}=/^\\(?<p>[pP])\{(?<neg>\^?)(?<value>[^}]+)/.exec(e).groups;return Ri("property",e,{value:r,negate:t==="P"&&!n||t==="p"&&!!n})}function U0(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 OP(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 r=e[n];if(!"imxDPSWy".includes(r))throw new Error(`Invalid flag "${r}"`);if(r==="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"}[r]]=!0}return t}function IP(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 MP(e,t){const{raw:n,inCharClass:r}=e,o=n.slice(1);if(!r&&(o!=="0"&&o.length===1||o[0]!=="0"&&+o<=t))return[RC(n)];const l=[],u=o.match(/^[0-7]+|\d/g);for(let c=0;c<u.length;c++){const d=u[c];let f;if(c===0&&d!=="8"&&d!=="9"){if(f=parseInt(d,8),f>127)throw new Error(bn`Octal encoded byte above 177 unsupported "${n}"`)}else f=no(d);l.push(bs(f,(c===0?"\\":"")+d))}return l}function PP(e){const t=[],n=new RegExp(vg,"gy");let r;for(;r=n.exec(e);){const o=r[0];if(o[0]==="{"){const l=/^\{(?<min>\d+),(?<max>\d+)\}\??$/.exec(o);if(l){const{min:u,max:c}=l.groups;if(+u>+c&&o.endsWith("?")){n.lastIndex--,t.push(H0(o.slice(0,-1)));continue}}}t.push(H0(o))}return t}function IC(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(r=>t[r]===n[r])}function BP(e){return $P.has(e.type)}const $P=new Set(["AbsenceFunction","Backreference","CapturingGroup","Character","CharacterClass","CharacterSet","Group","Quantifier","Subroutine"]);function MC(e,t={}){const n={flags:"",normalizeUnknownPropertyNames:!1,skipBackrefValidation:!1,skipLookbehindValidation:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t,rules:{captureGroup:!1,singleline:!1,...t.rules}},r=pP(e,{flags:n.flags,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline}}),o=(x,y)=>{const w=r.tokens[l.nextIndex];switch(l.parent=x,l.nextIndex++,w.type){case"Alternator":return $i();case"Assertion":return zP(w);case"Backreference":return HP(w,l);case"Character":return jd(w.value,{useLastValid:!!y.isCheckingRangeEnd});case"CharacterClassHyphen":return UP(w,l,y);case"CharacterClassOpen":return FP(w,l,y);case"CharacterSet":return VP(w,l);case"Directive":return XP(w.kind,{flags:w.flags});case"GroupOpen":return GP(w,l,y);case"NamedCallout":return JP(w.kind,w.tag,w.arguments);case"Quantifier":return WP(w,l);case"Subroutine":return qP(w,l);default:throw new Error(`Unexpected token type "${w.type}"`)}},l={capturingGroups:[],hasNumberedRef:!1,namedGroupsByName:new Map,nextIndex:0,normalizeUnknownPropertyNames:n.normalizeUnknownPropertyNames,parent:null,skipBackrefValidation:n.skipBackrefValidation,skipLookbehindValidation:n.skipLookbehindValidation,skipPropertyNameValidation:n.skipPropertyNameValidation,subroutines:[],tokens:r.tokens,unicodePropertyMap:n.unicodePropertyMap,walk:o},u=e6(QP(r.flags));let c=u.body[0];for(;l.nextIndex<r.tokens.length;){const x=o(c,{});x.type==="Alternative"?(u.body.push(x),c=x):c.body.push(x)}const{capturingGroups:d,hasNumberedRef:f,namedGroupsByName:p,subroutines:m}=l;if(f&&p.size&&!n.rules.captureGroup)throw new Error("Numbered backref/subroutine not allowed when using named capture");for(const{ref:x}of m)if(typeof x=="number"){if(x>d.length)throw new Error("Subroutine uses a group number that's not defined");x&&(d[x-1].isSubroutined=!0)}else if(p.has(x)){if(p.get(x).length>1)throw new Error(bn`Subroutine uses a duplicate group name "\g<${x}>"`);p.get(x)[0].isSubroutined=!0}else throw new Error(bn`Subroutine uses a group name that's not defined "\g<${x}>"`);return u}function zP({kind:e}){return wp(ro({"^":"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===bn`\B`||e===bn`\Y`})}function HP({raw:e},t){const n=/^\\k[<']/.test(e),r=n?e.slice(3,-1):e.slice(1),o=(l,u=!1)=>{const c=t.capturingGroups.length;let d=!1;if(l>c)if(t.skipBackrefValidation)d=!0;else throw new Error(`Not enough capturing groups defined to the left "${e}"`);return t.hasNumberedRef=!0,Cp(u?c+1-l:l,{orphan:d})};if(n){const l=/^(?<sign>-?)0*(?<num>[1-9]\d*)$/.exec(r);if(l)return o(+l.groups.num,!!l.groups.sign);if(/[-+]/.test(r))throw new Error(`Invalid backref name "${e}"`);if(!t.namedGroupsByName.has(r))throw new Error(`Group name not defined to the left "${e}"`);return Cp(r)}return o(+r)}function UP(e,t,n){const{tokens:r,walk:o}=t,l=t.parent,u=l.body.at(-1),c=r[t.nextIndex];if(!n.isCheckingRangeEnd&&u&&u.type!=="CharacterClass"&&u.type!=="CharacterClassRange"&&c&&c.type!=="CharacterClassOpen"&&c.type!=="CharacterClassClose"&&c.type!=="CharacterClassIntersector"){const d=o(l,{...n,isCheckingRangeEnd:!0});if(u.type==="Character"&&d.type==="Character")return l.body.pop(),YP(u,d);throw new Error("Invalid character class range")}return jd(no("-"))}function FP({negate:e},t,n){const{tokens:r,walk:o}=t,l=[Nu()],u=r[t.nextIndex];let c=G0(u);for(;c.type!=="CharacterClassClose";){if(c.type==="CharacterClassIntersector")l.push(Nu()),t.nextIndex++;else{const f=l.at(-1);f.body.push(o(f,n))}c=G0(r[t.nextIndex],u)}const d=Nu({negate:e});return l.length===1?d.body=l[0].body:(d.kind="intersection",d.body=l.map(f=>f.body.length===1?f.body[0]:f)),t.nextIndex++,d}function VP({kind:e,negate:t,value:n},r){const{normalizeUnknownPropertyNames:o,skipPropertyNameValidation:l,unicodePropertyMap:u}=r;if(e==="property"){const c=Nd(n);if(_g.has(c)&&!(u!=null&&u.has(c)))e="posix",n=c;else return $a(n,{negate:t,normalizeUnknownPropertyNames:o,skipPropertyNameValidation:l,unicodePropertyMap:u})}return e==="posix"?ZP(n,{negate:t}):kp(e,{negate:t})}function GP(e,t,n){const{tokens:r,capturingGroups:o,namedGroupsByName:l,skipLookbehindValidation:u,walk:c}=t,d=t6(e),f=d.type==="AbsenceFunction",p=V0(d),m=p&&d.negate;if(d.type==="CapturingGroup"&&(o.push(d),d.name&&mP(l,d.name,[]).push(d)),f&&n.isInAbsenceFunction)throw new Error("Nested absence function not supported by Oniguruma");let x=W0(r[t.nextIndex]);for(;x.type!=="GroupClose";){if(x.type==="Alternator")d.body.push($i()),t.nextIndex++;else{const y=d.body.at(-1),w=c(y,{...n,isInAbsenceFunction:n.isInAbsenceFunction||f,isInLookbehind:n.isInLookbehind||p,isInNegLookbehind:n.isInNegLookbehind||m});if(y.body.push(w),(p||n.isInLookbehind)&&!u){const C="Lookbehind includes a pattern not allowed by Oniguruma";if(m||n.isInNegLookbehind){if(F0(w)||w.type==="CapturingGroup")throw new Error(C)}else if(F0(w)||V0(w)&&w.negate)throw new Error(C)}}x=W0(r[t.nextIndex])}return t.nextIndex++,d}function WP({kind:e,min:t,max:n},r){const o=r.parent,l=o.body.at(-1);if(!l||!BP(l))throw new Error("Quantifier requires a repeatable token");const u=BC(e,t,n,l);return o.body.pop(),u}function qP({raw:e},t){const{capturingGroups:n,subroutines:r}=t;let o=e.slice(3,-1);const l=/^(?<sign>[-+]?)0*(?<num>[1-9]\d*)$/.exec(o);if(l){const c=+l.groups.num,d=n.length;if(t.hasNumberedRef=!0,o={"":c,"+":d+c,"-":d+1-c}[l.groups.sign],o<1)throw new Error("Invalid subroutine number")}else o==="0"&&(o=0);const u=$C(o);return r.push(u),u}function KP(e,t){return{type:"AbsenceFunction",kind:e,body:$l(t==null?void 0:t.body)}}function $i(e){return{type:"Alternative",body:zC(e==null?void 0:e.body)}}function wp(e,t){const n={type:"Assertion",kind:e};return(e==="word_boundary"||e==="text_segment_boundary")&&(n.negate=!!(t!=null&&t.negate)),n}function Cp(e,t){const n=!!(t!=null&&t.orphan);return{type:"Backreference",ref:e,...n&&{orphan:n}}}function PC(e,t){const n={name:void 0,isSubroutined:!1,...t};if(n.name!==void 0&&!n6(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:$l(t==null?void 0:t.body)}}function jd(e,t){const n={useLastValid:!1,...t};if(e>1114111){const r=e.toString(16);if(n.useLastValid)e=1114111;else throw e>1310719?new Error(`Invalid code point out of range "\\x{${r}}"`):new Error(`Invalid code point out of range in JS "\\x{${r}}"`)}return{type:"Character",value:e}}function Nu(e){const t={kind:"union",negate:!1,...e};return{type:"CharacterClass",kind:t.kind,negate:t.negate,body:zC(e==null?void 0:e.body)}}function YP(e,t){if(t.value<e.value)throw new Error("Character class range out of order");return{type:"CharacterClassRange",min:e,max:t}}function kp(e,t){const n=!!(t!=null&&t.negate),r={type:"CharacterSet",kind:e};return(e==="digit"||e==="hex"||e==="newline"||e==="space"||e==="word")&&(r.negate=n),(e==="text_segment"||e==="newline"&&!n)&&(r.variableLength=!0),r}function XP(e,t={}){if(e==="keep")return{type:"Directive",kind:e};if(e==="flags")return{type:"Directive",kind:e,flags:ro(t.flags)};throw new Error(`Unexpected directive kind "${e}"`)}function QP(e){return{type:"Flags",...e}}function Lr(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:$l(e==null?void 0:e.body)}}function Li(e){const t={behind:!1,negate:!1,...e};return{type:"LookaroundAssertion",kind:t.behind?"lookbehind":"lookahead",negate:t.negate,body:$l(e==null?void 0:e.body)}}function JP(e,t,n){return{type:"NamedCallout",kind:e,tag:t,arguments:n}}function ZP(e,t){const n=!!(t!=null&&t.negate);if(!_g.has(e))throw new Error(`Invalid POSIX class "${e}"`);return{type:"CharacterSet",kind:"posix",value:e,negate:n}}function BC(e,t,n,r){if(t>n)throw new Error("Invalid reversed quantifier range");return{type:"Quantifier",kind:e,min:t,max:n,body:r}}function e6(e,t){return{type:"Regex",body:$l(t==null?void 0:t.body),flags:e}}function $C(e){return{type:"Subroutine",ref:e}}function $a(e,t){var o;const n={negate:!1,normalizeUnknownPropertyNames:!1,skipPropertyNameValidation:!1,unicodePropertyMap:null,...t};let r=(o=n.unicodePropertyMap)==null?void 0:o.get(Nd(e));if(!r){if(n.normalizeUnknownPropertyNames)r=r6(e);else if(n.unicodePropertyMap&&!n.skipPropertyNameValidation)throw new Error(bn`Invalid Unicode property "\p{${e}}"`)}return{type:"CharacterSet",kind:"property",value:r??e,negate:n.negate}}function t6({flags:e,kind:t,name:n,negate:r,number:o}){switch(t){case"absence_repeater":return KP("repeater");case"atomic":return Lr({atomic:!0});case"capturing":return PC(o,{name:n});case"group":return Lr({flags:e});case"lookahead":case"lookbehind":return Li({behind:t==="lookbehind",negate:r});default:throw new Error(`Unexpected group kind "${t}"`)}}function $l(e){if(e===void 0)e=[$i()];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 zC(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 F0(e){return e.type==="LookaroundAssertion"&&e.kind==="lookahead"}function V0(e){return e.type==="LookaroundAssertion"&&e.kind==="lookbehind"}function n6(e){return/^[\p{Alpha}\p{Pc}][^)]*$/u.test(e)}function r6(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 Nd(e){return e.replace(/[- _]+/g,"").toLowerCase()}function G0(e,t){const n=t;return ro(e,`Unclosed character class${(n==null?void 0:n.type)==="Character"&&n.value===93&&n.raw==="]"?' (started with "]")':""}`)}function W0(e){return ro(e,"Unclosed group")}function xl(e,t,n=null){function r(l,u){for(let c=0;c<l.length;c++){const d=o(l[c],u,c,l);c=Math.max(-1,c+d)}}function o(l,u=null,c=null,d=null){var S,_;let f=0,p=!1;const m={node:l,parent:u,key:c,container:d,root:e,remove(){gu(d).splice(Math.max(0,Ta(c)+f),1),f--,p=!0},removeAllNextSiblings(){return gu(d).splice(Ta(c)+1)},removeAllPrevSiblings(){const b=Ta(c)+f;return f-=b,gu(d).splice(0,Math.max(0,b))},replaceWith(b,j={}){const E=!!j.traverse;d?d[Math.max(0,Ta(c)+f)]=b:ro(u,"Can't replace root node")[c]=b,E&&o(b,u,c,d),p=!0},replaceWithMultiple(b,j={}){const E=!!j.traverse;if(gu(d).splice(Math.max(0,Ta(c)+f),1,...b),f+=b.length-1,E){let T=0;for(let D=0;D<b.length;D++)T+=o(b[D],u,Ta(c)+D+T,d)}p=!0},skip(){p=!0}},{type:x}=l,y=t["*"],w=t[x],C=typeof y=="function"?y:y==null?void 0:y.enter,v=typeof w=="function"?w:w==null?void 0:w.enter;if(C==null||C(m,n),v==null||v(m,n),!p)switch(x){case"AbsenceFunction":case"Alternative":case"CapturingGroup":case"CharacterClass":case"Group":case"LookaroundAssertion":r(l.body,l);break;case"Assertion":case"Backreference":case"Character":case"CharacterSet":case"Directive":case"Flags":case"NamedCallout":case"Subroutine":break;case"CharacterClassRange":o(l.min,l,"min"),o(l.max,l,"max");break;case"Quantifier":o(l.body,l,"body");break;case"Regex":r(l.body,l),o(l.flags,l,"flags");break;default:throw new Error(`Unexpected node type "${x}"`)}return(S=w==null?void 0:w.exit)==null||S.call(w,m,n),(_=y==null?void 0:y.exit)==null||_.call(y,m,n),f}return o(e),e}function gu(e){if(!Array.isArray(e))throw new Error("Container expected");return e}function Ta(e){if(typeof e!="number")throw new Error("Numeric key expected");return e}const s6=String.raw`\(\?(?:[:=!>A-Za-z\-]|<[=!]|\(DEFINE\))`;function i6(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function a6(e,t,n,r){return e.slice(0,t)+r+e.slice(t+n.length)}const wr=Object.freeze({DEFAULT:"DEFAULT",CHAR_CLASS:"CHAR_CLASS"});function Sg(e,t,n,r){const o=new RegExp(String.raw`${t}|(?<$skip>\[\^?|\\?.)`,"gsu"),l=[!1];let u=0,c="";for(const d of e.matchAll(o)){const{0:f,groups:{$skip:p}}=d;if(!p&&(!r||r===wr.DEFAULT==!u)){n instanceof Function?c+=n(d,{context:u?wr.CHAR_CLASS:wr.DEFAULT,negated:l[l.length-1]}):c+=n;continue}f[0]==="["?(u++,l.push(f[1]==="^")):f==="]"&&u&&(u--,l.pop()),c+=f}return c}function HC(e,t,n,r){Sg(e,t,n,r)}function o6(e,t,n=0,r){if(!new RegExp(t,"su").test(e))return null;const o=new RegExp(`${t}|(?<$skip>\\\\?.)`,"gsu");o.lastIndex=n;let l=0,u;for(;u=o.exec(e);){const{0:c,groups:{$skip:d}}=u;if(!d&&(!r||r===wr.DEFAULT==!l))return u;c==="["?l++:c==="]"&&l&&l--,o.lastIndex==u.index&&o.lastIndex++}return null}function xu(e,t,n){return!!o6(e,t,0,n)}function l6(e,t){const n=/\\?./gsu;n.lastIndex=t;let r=e.length,o=0,l=1,u;for(;u=n.exec(e);){const[c]=u;if(c==="[")o++;else if(o)c==="]"&&o--;else if(c==="(")l++;else if(c===")"&&(l--,!l)){r=u.index;break}}return e.slice(t,r)}const q0=new RegExp(String.raw`(?<noncapturingStart>${s6})|(?<capturingStart>\((?:\?<[^>]+>)?)|\\?.`,"gsu");function c6(e,t){const n=(t==null?void 0:t.hiddenCaptures)??[];let r=(t==null?void 0:t.captureTransfers)??new Map;if(!/\(\?>/.test(e))return{pattern:e,captureTransfers:r,hiddenCaptures:n};const o="(?>",l="(?:(?=(",u=[0],c=[];let d=0,f=0,p=NaN,m;do{m=!1;let x=0,y=0,w=!1,C;for(q0.lastIndex=Number.isNaN(p)?0:p+l.length;C=q0.exec(e);){const{0:v,index:S,groups:{capturingStart:_,noncapturingStart:b}}=C;if(v==="[")x++;else if(x)v==="]"&&x--;else if(v===o&&!w)p=S,w=!0;else if(w&&b)y++;else if(_)w?y++:(d++,u.push(d+f));else if(v===")"&&w){if(!y){f++;const j=d+f;if(e=`${e.slice(0,p)}${l}${e.slice(p+o.length,S)}))<$$${j}>)${e.slice(S+1)}`,m=!0,c.push(j),i6(n,j),r.size){const E=new Map;r.forEach((T,D)=>{E.set(D>=j?D+1:D,T.map(L=>L>=j?L+1:L))}),r=E}break}y--}}}while(m);return n.push(...c),e=Sg(e,String.raw`\\(?<backrefNum>[1-9]\d*)|<\$\$(?<wrappedBackrefNum>\d+)>`,({0:x,groups:{backrefNum:y,wrappedBackrefNum:w}})=>{if(y){const C=+y;if(C>u.length-1)throw new Error(`Backref "${x}" greater than number of captures`);return`\\${u[C]}`}return`\\${w}`},wr.DEFAULT),{pattern:e,captureTransfers:r,hiddenCaptures:n}}const UC=String.raw`(?:[?*+]|\{\d+(?:,\d*)?\})`,Om=new RegExp(String.raw`
|
|
168
|
+
\\(?: \d+
|
|
169
|
+
| c[A-Za-z]
|
|
170
|
+
| [gk]<[^>]+>
|
|
171
|
+
| [pPu]\{[^\}]+\}
|
|
172
|
+
| u[A-Fa-f\d]{4}
|
|
173
|
+
| x[A-Fa-f\d]{2}
|
|
174
|
+
)
|
|
175
|
+
| \((?: \? (?: [:=!>]
|
|
176
|
+
| <(?:[=!]|[^>]+>)
|
|
177
|
+
| [A-Za-z\-]+:
|
|
178
|
+
| \(DEFINE\)
|
|
179
|
+
))?
|
|
180
|
+
| (?<qBase>${UC})(?<qMod>[?+]?)(?<invalidQ>[?*+\{]?)
|
|
181
|
+
| \\?.
|
|
182
|
+
`.replace(/\s+/g,""),"gsu");function u6(e){if(!new RegExp(`${UC}\\+`).test(e))return{pattern:e};const t=[];let n=null,r=null,o="",l=0,u;for(Om.lastIndex=0;u=Om.exec(e);){const{0:c,index:d,groups:{qBase:f,qMod:p,invalidQ:m}}=u;if(c==="[")l||(r=d),l++;else if(c==="]")l?l--:r=null;else if(!l)if(p==="+"&&o&&!o.startsWith("(")){if(m)throw new Error(`Invalid quantifier "${c}"`);let x=-1;if(/^\{\d+\}$/.test(f))e=a6(e,d+f.length,p,"");else{if(o===")"||o==="]"){const y=o===")"?n:r;if(y===null)throw new Error(`Invalid unmatched "${o}"`);e=`${e.slice(0,y)}(?>${e.slice(y,d)}${f})${e.slice(d+c.length)}`}else e=`${e.slice(0,d-o.length)}(?>${o}${f})${e.slice(d+c.length)}`;x+=4}Om.lastIndex+=x}else c[0]==="("?t.push(d):c===")"&&(n=t.length?t.pop():null);o=c}return{pattern:e}}const Sr=String.raw,d6=Sr`\\g<(?<gRNameOrNum>[^>&]+)&R=(?<gRDepth>[^>]+)>`,Ep=Sr`\(\?R=(?<rDepth>[^\)]+)\)|${d6}`,Td=Sr`\(\?<(?![=!])(?<captureName>[^>]+)>`,FC=Sr`${Td}|(?<unnamed>\()(?!\?)`,Ci=new RegExp(Sr`${Td}|${Ep}|\(\?|\\?.`,"gsu"),Im="Cannot use multiple overlapping recursions";function h6(e,t){const{hiddenCaptures:n,mode:r}={hiddenCaptures:[],mode:"plugin",...t};let o=(t==null?void 0:t.captureTransfers)??new Map;if(!new RegExp(Ep,"su").test(e))return{pattern:e,captureTransfers:o,hiddenCaptures:n};if(r==="plugin"&&xu(e,Sr`\(\?\(DEFINE\)`,wr.DEFAULT))throw new Error("DEFINE groups cannot be used with recursion");const l=[],u=xu(e,Sr`\\[1-9]`,wr.DEFAULT),c=new Map,d=[];let f=!1,p=0,m=0,x;for(Ci.lastIndex=0;x=Ci.exec(e);){const{0:y,groups:{captureName:w,rDepth:C,gRNameOrNum:v,gRDepth:S}}=x;if(y==="[")p++;else if(p)y==="]"&&p--;else if(C){if(K0(C),f)throw new Error(Im);if(u)throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with global recursion`);const _=e.slice(0,x.index),b=e.slice(Ci.lastIndex);if(xu(b,Ep,wr.DEFAULT))throw new Error(Im);const j=+C-1;e=Y0(_,b,j,!1,n,l,m),o=Q0(o,_,j,l.length,0,m);break}else if(v){K0(S);let _=!1;for(const W of d)if(W.name===v||W.num===+v){if(_=!0,W.hasRecursedWithin)throw new Error(Im);break}if(!_)throw new Error(Sr`Recursive \g cannot be used outside the referenced group "${r==="external"?v:Sr`\g<${v}&R=${S}>`}"`);const b=c.get(v),j=l6(e,b);if(u&&xu(j,Sr`${Td}|\((?!\?)`,wr.DEFAULT))throw new Error(`${r==="external"?"Backrefs":"Numbered backrefs"} cannot be used with recursion of capturing groups`);const E=e.slice(b,x.index),T=j.slice(E.length+y.length),D=l.length,L=+S-1,O=Y0(E,T,L,!0,n,l,m);o=Q0(o,E,L,l.length-D,D,m);const P=e.slice(0,b),G=e.slice(b+j.length);e=`${P}${O}${G}`,Ci.lastIndex+=O.length-y.length-E.length-T.length,d.forEach(W=>W.hasRecursedWithin=!0),f=!0}else if(w)m++,c.set(String(m),Ci.lastIndex),c.set(w,Ci.lastIndex),d.push({num:m,name:w});else if(y[0]==="("){const _=y==="(";_&&(m++,c.set(String(m),Ci.lastIndex)),d.push(_?{num:m}:{})}else y===")"&&d.pop()}return n.push(...l),{pattern:e,captureTransfers:o,hiddenCaptures:n}}function K0(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 Y0(e,t,n,r,o,l,u){const c=new Set;r&&HC(e+t,Td,({groups:{captureName:f}})=>{c.add(f)},wr.DEFAULT);const d=[n,r?c:null,o,l,u];return`${e}${X0(`(?:${e}`,"forward",...d)}(?:)${X0(`${t})`,"backward",...d)}${t}`}function X0(e,t,n,r,o,l,u){const d=p=>t==="forward"?p+2:n-p+2-1;let f="";for(let p=0;p<n;p++){const m=d(p);f+=Sg(e,Sr`${FC}|\\k<(?<backref>[^>]+)>`,({0:x,groups:{captureName:y,unnamed:w,backref:C}})=>{if(C&&r&&!r.has(C))return x;const v=`_$${m}`;if(w||y){const S=u+l.length+1;return l.push(S),f6(o,S),w?x:`(?<${y}${v}>`}return Sr`\k<${C}${v}>`},wr.DEFAULT)}return f}function f6(e,t){for(let n=0;n<e.length;n++)e[n]>=t&&e[n]++}function Q0(e,t,n,r,o,l){if(e.size&&r){let u=0;HC(t,FC,()=>u++,wr.DEFAULT);const c=l-u+o,d=new Map;return e.forEach((f,p)=>{const m=(r-u*n)/n,x=u*n,y=p>c+u?p+r:p,w=[];for(const C of f)if(C<=c)w.push(C);else if(C>c+u+m)w.push(C+r);else if(C<=c+u)for(let v=0;v<=n;v++)w.push(C+u*v);else for(let v=0;v<=n;v++)w.push(C+x+m*v);d.set(y,w)}),d}return e}var mn=String.fromCodePoint,ot=String.raw,Or={},Ad=globalThis.RegExp;Or.flagGroups=(()=>{try{new Ad("(?i:)")}catch{return!1}return!0})();Or.unicodeSets=(()=>{try{new Ad("[[]]","v")}catch{return!1}return!0})();Or.bugFlagVLiteralHyphenIsRange=Or.unicodeSets?(()=>{try{new Ad(ot`[\d\-a]`,"v")}catch{return!0}return!1})():!1;Or.bugNestedClassIgnoresNegation=Or.unicodeSets&&new Ad("[[^a]]","v").test("a");function Xu(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 jl(e,t,n){return e.has(t)||e.set(t,n),e.get(t)}function jp(e,t){return J0[e]>=J0[t]}function m6(e,t){if(e==null)throw new Error(t??"Value expected");return e}var J0={ES2025:2025,ES2024:2024,ES2018:2018},p6={auto:"auto",ES2025:"ES2025",ES2024:"ES2024",ES2018:"ES2018"};function VC(e={}){if({}.toString.call(e)!=="[object Object]")throw new Error("Unexpected options");if(e.target!==void 0&&!p6[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=Or.flagGroups?"ES2025":Or.unicodeSets?"ES2024":"ES2018"),t}var g6="[ -\r ]",x6=new Set([mn(304),mn(305)]),fs=ot`[\p{L}\p{M}\p{N}\p{Pc}]`;function GC(e){if(x6.has(e))return[e];const t=new Set,n=e.toLowerCase(),r=n.toUpperCase(),o=_6.get(n),l=y6.get(n),u=b6.get(n);return[...r].length===1&&t.add(r),u&&t.add(u),o&&t.add(o),t.add(n),l&&t.add(l),[...t]}var wg=new Map(`C Other
|
|
183
|
+
Cc Control cntrl
|
|
184
|
+
Cf Format
|
|
185
|
+
Cn Unassigned
|
|
186
|
+
Co Private_Use
|
|
187
|
+
Cs Surrogate
|
|
188
|
+
L Letter
|
|
189
|
+
LC Cased_Letter
|
|
190
|
+
Ll Lowercase_Letter
|
|
191
|
+
Lm Modifier_Letter
|
|
192
|
+
Lo Other_Letter
|
|
193
|
+
Lt Titlecase_Letter
|
|
194
|
+
Lu Uppercase_Letter
|
|
195
|
+
M Mark Combining_Mark
|
|
196
|
+
Mc Spacing_Mark
|
|
197
|
+
Me Enclosing_Mark
|
|
198
|
+
Mn Nonspacing_Mark
|
|
199
|
+
N Number
|
|
200
|
+
Nd Decimal_Number digit
|
|
201
|
+
Nl Letter_Number
|
|
202
|
+
No Other_Number
|
|
203
|
+
P Punctuation punct
|
|
204
|
+
Pc Connector_Punctuation
|
|
205
|
+
Pd Dash_Punctuation
|
|
206
|
+
Pe Close_Punctuation
|
|
207
|
+
Pf Final_Punctuation
|
|
208
|
+
Pi Initial_Punctuation
|
|
209
|
+
Po Other_Punctuation
|
|
210
|
+
Ps Open_Punctuation
|
|
211
|
+
S Symbol
|
|
212
|
+
Sc Currency_Symbol
|
|
213
|
+
Sk Modifier_Symbol
|
|
214
|
+
Sm Math_Symbol
|
|
215
|
+
So Other_Symbol
|
|
216
|
+
Z Separator
|
|
217
|
+
Zl Line_Separator
|
|
218
|
+
Zp Paragraph_Separator
|
|
219
|
+
Zs Space_Separator
|
|
220
|
+
ASCII
|
|
221
|
+
ASCII_Hex_Digit AHex
|
|
222
|
+
Alphabetic Alpha
|
|
223
|
+
Any
|
|
224
|
+
Assigned
|
|
225
|
+
Bidi_Control Bidi_C
|
|
226
|
+
Bidi_Mirrored Bidi_M
|
|
227
|
+
Case_Ignorable CI
|
|
228
|
+
Cased
|
|
229
|
+
Changes_When_Casefolded CWCF
|
|
230
|
+
Changes_When_Casemapped CWCM
|
|
231
|
+
Changes_When_Lowercased CWL
|
|
232
|
+
Changes_When_NFKC_Casefolded CWKCF
|
|
233
|
+
Changes_When_Titlecased CWT
|
|
234
|
+
Changes_When_Uppercased CWU
|
|
235
|
+
Dash
|
|
236
|
+
Default_Ignorable_Code_Point DI
|
|
237
|
+
Deprecated Dep
|
|
238
|
+
Diacritic Dia
|
|
239
|
+
Emoji
|
|
240
|
+
Emoji_Component EComp
|
|
241
|
+
Emoji_Modifier EMod
|
|
242
|
+
Emoji_Modifier_Base EBase
|
|
243
|
+
Emoji_Presentation EPres
|
|
244
|
+
Extended_Pictographic ExtPict
|
|
245
|
+
Extender Ext
|
|
246
|
+
Grapheme_Base Gr_Base
|
|
247
|
+
Grapheme_Extend Gr_Ext
|
|
248
|
+
Hex_Digit Hex
|
|
249
|
+
IDS_Binary_Operator IDSB
|
|
250
|
+
IDS_Trinary_Operator IDST
|
|
251
|
+
ID_Continue IDC
|
|
252
|
+
ID_Start IDS
|
|
253
|
+
Ideographic Ideo
|
|
254
|
+
Join_Control Join_C
|
|
255
|
+
Logical_Order_Exception LOE
|
|
256
|
+
Lowercase Lower
|
|
257
|
+
Math
|
|
258
|
+
Noncharacter_Code_Point NChar
|
|
259
|
+
Pattern_Syntax Pat_Syn
|
|
260
|
+
Pattern_White_Space Pat_WS
|
|
261
|
+
Quotation_Mark QMark
|
|
262
|
+
Radical
|
|
263
|
+
Regional_Indicator RI
|
|
264
|
+
Sentence_Terminal STerm
|
|
265
|
+
Soft_Dotted SD
|
|
266
|
+
Terminal_Punctuation Term
|
|
267
|
+
Unified_Ideograph UIdeo
|
|
268
|
+
Uppercase Upper
|
|
269
|
+
Variation_Selector VS
|
|
270
|
+
White_Space space
|
|
271
|
+
XID_Continue XIDC
|
|
272
|
+
XID_Start XIDS`.split(/\s/).map(e=>[Nd(e),e])),y6=new Map([["s",mn(383)],[mn(383),"s"]]),b6=new Map([[mn(223),mn(7838)],[mn(107),mn(8490)],[mn(229),mn(8491)],[mn(969),mn(8486)]]),_6=new Map([Ws(453),Ws(456),Ws(459),Ws(498),...Mm(8072,8079),...Mm(8088,8095),...Mm(8104,8111),Ws(8124),Ws(8140),Ws(8188)]),v6=new Map([["alnum",ot`[\p{Alpha}\p{Nd}]`],["alpha",ot`\p{Alpha}`],["ascii",ot`\p{ASCII}`],["blank",ot`[\p{Zs}\t]`],["cntrl",ot`\p{Cc}`],["digit",ot`\p{Nd}`],["graph",ot`[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]`],["lower",ot`\p{Lower}`],["print",ot`[[\P{space}&&\P{Cc}&&\P{Cn}&&\P{Cs}]\p{Zs}]`],["punct",ot`[\p{P}\p{S}]`],["space",ot`\p{space}`],["upper",ot`\p{Upper}`],["word",ot`[\p{Alpha}\p{M}\p{Nd}\p{Pc}]`],["xdigit",ot`\p{AHex}`]]);function S6(e,t){const n=[];for(let r=e;r<=t;r++)n.push(r);return n}function Ws(e){const t=mn(e);return[t.toLowerCase(),t]}function Mm(e,t){return S6(e,t).map(n=>Ws(n))}var WC=new Set(["Lower","Lowercase","Upper","Uppercase","Ll","Lowercase_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter"]);function w6(e,t){const n={accuracy:"default",asciiWordBoundaries:!1,avoidSubclass:!1,bestEffortTarget:"ES2025",...t};qC(e);const r={accuracy:n.accuracy,asciiWordBoundaries:n.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,flagDirectivesByAlt:new Map,jsGroupNameMap:new Map,minTargetEs2024:jp(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};xl(e,C6,r);const o={dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},l={currentFlags:o,prevFlags:null,globalFlags:o,groupOriginByCopy:new Map,groupsByName:new Map,multiplexCapturesToLeftByRef:new Map,openRefs:new Map,reffedNodesByReferencer:new Map,subroutineRefMap:r.subroutineRefMap};xl(e,k6,l);const u={groupsByName:l.groupsByName,highestOrphanBackref:0,numCapturesToLeft:0,reffedNodesByReferencer:l.reffedNodesByReferencer};return xl(e,E6,u),e._originMap=l.groupOriginByCopy,e._strategy=r.strategy,e}var C6={AbsenceFunction({node:e,parent:t,replaceWith:n}){const{body:r,kind:o}=e;if(o==="repeater"){const l=Lr();l.body[0].body.push(Li({negate:!0,body:r}),$a("Any"));const u=Lr();u.body[0].body.push(BC("greedy",0,1/0,l)),n(en(u,t),{traverse:!0})}else throw new Error('Unsupported absence function "(?~|"')},Alternative:{enter({node:e,parent:t,key:n},{flagDirectivesByAlt:r}){const o=e.body.filter(l=>l.kind==="flags");for(let l=n+1;l<t.body.length;l++){const u=t.body[l];jl(r,u,[]).push(...o)}},exit({node:e},{flagDirectivesByAlt:t}){var n;if((n=t.get(e))!=null&&n.length){const r=YC(t.get(e));if(r){const o=Lr({flags:r});o.body[0].body=e.body,e.body=[en(o,e)]}}}},Assertion({node:e,parent:t,key:n,container:r,root:o,remove:l,replaceWith:u},c){const{kind:d,negate:f}=e,{asciiWordBoundaries:p,avoidSubclass:m,supportedGNodes:x,wordIsAscii:y}=c;if(d==="text_segment_boundary")throw new Error(`Unsupported text segment boundary "\\${f?"Y":"y"}"`);if(d==="line_end")u(en(Li({body:[$i({body:[wp("string_end")]}),$i({body:[jd(10)]})]}),t));else if(d==="line_start")u(en(ms(ot`(?<=\A|\n(?!\z))`,{skipLookbehindValidation:!0}),t));else if(d==="search_start")if(x.has(e))o.flags.sticky=!0,l();else{const w=r[n-1];if(w&&D6(w))u(en(Li({negate:!0}),t));else{if(m)throw new Error(ot`Uses "\G" in a way that requires a subclass`);u(qs(wp("string_start"),t)),c.strategy="clip_search"}}else if(!(d==="string_end"||d==="string_start"))if(d==="string_end_newline")u(en(ms(ot`(?=\n?\z)`),t));else if(d==="word_boundary"){if(!y&&!p){const w=`(?:(?<=${fs})(?!${fs})|(?<!${fs})(?=${fs}))`,C=`(?:(?<=${fs})(?=${fs})|(?<!${fs})(?!${fs}))`;u(en(ms(f?C:w),t))}}else throw new Error(`Unexpected assertion kind "${d}"`)},Backreference({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Bm(n)&&(n=Pm(n,t),e.ref=n)},CapturingGroup({node:e},{jsGroupNameMap:t,subroutineRefMap:n}){let{name:r}=e;r&&!Bm(r)&&(r=Pm(r,t),e.name=r),n.set(e.number,e),r&&n.set(r,e)},CharacterClassRange({node:e,parent:t,replaceWith:n}){if(t.kind==="intersection"){const r=Nu({body:[e]});n(en(r,t),{traverse:!0})}},CharacterSet({node:e,parent:t,replaceWith:n},{accuracy:r,minTargetEs2024:o,digitIsAscii:l,spaceIsAscii:u,wordIsAscii:c}){const{kind:d,negate:f,value:p}=e;if(l&&(d==="digit"||p==="digit")){n(qs(kp("digit",{negate:f}),t));return}if(u&&(d==="space"||p==="space")){n(en($m(ms(g6),f),t));return}if(c&&(d==="word"||p==="word")){n(qs(kp("word",{negate:f}),t));return}if(d==="any")n(qs($a("Any"),t));else if(d==="digit")n(qs($a("Nd",{negate:f}),t));else if(d!=="dot")if(d==="text_segment"){if(r==="strict")throw new Error(ot`Use of "\X" requires non-strict accuracy`);const m="\\p{Emoji}(?:\\p{EMod}|\\uFE0F\\u20E3?|[\\x{E0020}-\\x{E007E}]+\\x{E007F})?",x=ot`\p{RI}{2}|${m}(?:\u200D${m})*`;n(en(ms(ot`(?>\r\n|${o?ot`\p{RGI_Emoji}`:x}|\P{M}\p{M}*)`,{skipPropertyNameValidation:!0}),t))}else if(d==="hex")n(qs($a("AHex",{negate:f}),t));else if(d==="newline")n(en(ms(f?`[^
|
|
273
|
+
]`:`(?>\r
|
|
274
|
+
?|[
|
|
275
|
+
\v\f
\u2028\u2029])`),t));else if(d==="posix")if(!o&&(p==="graph"||p==="print")){if(r==="strict")throw new Error(`POSIX class "${p}" requires min target ES2024 or non-strict accuracy`);let m={graph:"!-~",print:" -~"}[p];f&&(m=`\0-${mn(m.codePointAt(0)-1)}${mn(m.codePointAt(2)+1)}-`),n(en(ms(`[${m}]`),t))}else n(en($m(ms(v6.get(p)),f),t));else if(d==="property")wg.has(Nd(p))||(e.key="sc");else if(d==="space")n(qs($a("space",{negate:f}),t));else if(d==="word")n(en($m(ms(fs),f),t));else throw new Error(`Unexpected character set kind "${d}"`)},Directive({node:e,parent:t,root:n,remove:r,replaceWith:o,removeAllPrevSiblings:l,removeAllNextSiblings:u}){const{kind:c,flags:d}=e;if(c==="flags")if(!d.enable&&!d.disable)r();else{const f=Lr({flags:d});f.body[0].body=u(),o(en(f,t),{traverse:!0})}else if(c==="keep"){const f=n.body[0],m=n.body.length===1&&IC(f,{type:"Group"})&&f.body[0].body.length===1?f.body[0]:n;if(t.parent!==m||m.body.length>1)throw new Error(ot`Uses "\K" in a way that's unsupported`);const x=Li({behind:!0});x.body[0].body=l(),o(en(x,t))}else throw new Error(`Unexpected directive kind "${c}"`)},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:r}=e;if(r==="fail")n(en(Li({negate:!0}),t));else throw new Error(`Unsupported named callout "(*${r.toUpperCase()}"`)},Quantifier({node:e}){if(e.body.type==="Quantifier"){const t=Lr();t.body[0].body.push(e.body),e.body=en(t,e)}},Regex:{enter({node:e},{supportedGNodes:t}){const n=[];let r=!1,o=!1;for(const l of e.body)if(l.body.length===1&&l.body[0].kind==="search_start")l.body.pop();else{const u=QC(l.body);u?(r=!0,Array.isArray(u)?n.push(...u):n.push(u)):o=!0}r&&!o&&n.forEach(l=>t.add(l))},exit(e,{accuracy:t,passedLookbehind:n,strategy:r}){if(t==="strict"&&n&&r)throw new Error(ot`Uses "\G" in a way that requires non-strict accuracy`)}},Subroutine({node:e},{jsGroupNameMap:t}){let{ref:n}=e;typeof n=="string"&&!Bm(n)&&(n=Pm(n,t),e.ref=n)}},k6={Backreference({node:e},{multiplexCapturesToLeftByRef:t,reffedNodesByReferencer:n}){const{orphan:r,ref:o}=e;r||n.set(e,[...t.get(o).map(({node:l})=>l)])},CapturingGroup:{enter({node:e,parent:t,replaceWith:n,skip:r},{groupOriginByCopy:o,groupsByName:l,multiplexCapturesToLeftByRef:u,openRefs:c,reffedNodesByReferencer:d}){const f=o.get(e);if(f&&c.has(e.number)){const m=qs(Z0(e.number),t);d.set(m,c.get(e.number)),n(m);return}c.set(e.number,e),u.set(e.number,[]),e.name&&jl(u,e.name,[]);const p=u.get(e.name??e.number);for(let m=0;m<p.length;m++){const x=p[m];if(f===x.node||f&&f===x.origin||e===x.origin){p.splice(m,1);break}}if(u.get(e.number).push({node:e,origin:f}),e.name&&u.get(e.name).push({node:e,origin:f}),e.name){const m=jl(l,e.name,new Map);let x=!1;if(f)x=!0;else for(const y of m.values())if(!y.hasDuplicateNameToRemove){x=!0;break}l.get(e.name).set(e,{node:e,hasDuplicateNameToRemove:x})}},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=Xu(t.currentFlags,e.flags))},exit(e,t){t.currentFlags=t.prevFlags}},Subroutine({node:e,parent:t,replaceWith:n},r){const{isRecursive:o,ref:l}=e;if(o){let p=t;for(;(p=p.parent)&&!(p.type==="CapturingGroup"&&(p.name===l||p.number===l)););r.reffedNodesByReferencer.set(e,p);return}const u=r.subroutineRefMap.get(l),c=l===0,d=c?Z0(0):KC(u,r.groupOriginByCopy,null);let f=d;if(!c){const p=YC(T6(u,x=>x.type==="Group"&&!!x.flags)),m=p?Xu(r.globalFlags,p):r.globalFlags;j6(m,r.currentFlags)||(f=Lr({flags:A6(m)}),f.body[0].body.push(d))}n(en(f,t),{traverse:!c})}},E6={Backreference({node:e,parent:t,replaceWith:n},r){if(e.orphan){r.highestOrphanBackref=Math.max(r.highestOrphanBackref,e.ref);return}const l=r.reffedNodesByReferencer.get(e).filter(u=>N6(u,e));if(!l.length)n(en(Li({negate:!0}),t));else if(l.length>1){const u=Lr({atomic:!0,body:l.reverse().map(c=>$i({body:[Cp(c.number)]}))});n(en(u,t))}else e.ref=l[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 r=0;r<n;r++){const o=PC();e.body.at(-1).body.push(o)}}},Subroutine({node:e},t){!e.isRecursive||e.ref===0||(e.ref=t.reffedNodesByReferencer.get(e).number)}};function qC(e){xl(e,{"*"({node:t,parent:n}){t.parent=n}})}function j6(e,t){return e.dotAll===t.dotAll&&e.ignoreCase===t.ignoreCase}function N6(e,t){let n=t;do{if(n.type==="Regex")return!1;if(n.type==="Alternative")continue;if(n===e)return!1;const r=XC(n.parent);for(const o of r){if(o===n)break;if(o===e||JC(o,e))return!0}}while(n=n.parent);throw new Error("Unexpected path")}function KC(e,t,n,r){const o=Array.isArray(e)?[]:{};for(const[l,u]of Object.entries(e))l==="parent"?o.parent=Array.isArray(n)?r:n:u&&typeof u=="object"?o[l]=KC(u,t,o,n):(l==="type"&&u==="CapturingGroup"&&t.set(o,t.get(e)??e),o[l]=u);return o}function Z0(e){const t=$C(e);return t.isRecursive=!0,t}function T6(e,t){const n=[];for(;e=e.parent;)(!t||t(e))&&n.push(e);return n}function Pm(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 YC(e){const t=["dotAll","ignoreCase"],n={enable:{},disable:{}};return e.forEach(({flags:r})=>{t.forEach(o=>{var l,u;(l=r.enable)!=null&&l[o]&&(delete n.disable[o],n.enable[o]=!0),(u=r.disable)!=null&&u[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 A6({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 XC(e){if(!e)throw new Error("Node expected");const{body:t}=e;return Array.isArray(t)?t:t?[t]:null}function QC(e){const t=e.find(n=>n.kind==="search_start"||R6(n,{negate:!1})||!L6(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 r of t.body){const o=QC(r.body);if(!o)return null;Array.isArray(o)?n.push(...o):n.push(o)}return n}return null}function JC(e,t){const n=XC(e)??[];for(const r of n)if(r===t||JC(r,t))return!0;return!1}function L6({type:e}){return e==="Assertion"||e==="Directive"||e==="LookaroundAssertion"}function D6(e){const t=["Character","CharacterClass","CharacterSet"];return t.includes(e.type)||e.type==="Quantifier"&&e.min&&t.includes(e.body.type)}function R6(e,t){const n={negate:null,...t};return e.type==="LookaroundAssertion"&&(n.negate===null||e.negate===n.negate)&&e.body.length===1&&IC(e.body[0],{type:"Assertion",kind:"search_start"})}function Bm(e){return/^[$_\p{IDS}][$\u200C\u200D\p{IDC}]*$/u.test(e)}function ms(e,t){const r=MC(e,{...t,unicodePropertyMap:wg}).body;return r.length>1||r[0].body.length>1?Lr({body:r}):r[0].body[0]}function $m(e,t){return e.negate=t,e}function qs(e,t){return e.parent=t,e}function en(e,t){return qC(e),e.parent=t,e}function O6(e,t){const n=VC(t),r=jp(n.target,"ES2024"),o=jp(n.target,"ES2025"),l=n.rules.recursionLimit;if(!Number.isInteger(l)||l<2||l>20)throw new Error("Invalid recursionLimit; use 2-20");let u=null,c=null;if(!o){const y=[e.flags.ignoreCase];xl(e,I6,{getCurrentModI:()=>y.at(-1),popModI(){y.pop()},pushModI(w){y.push(w)},setHasCasedChar(){y.at(-1)?u=!0:c=!0}})}const d={dotAll:e.flags.dotAll,ignoreCase:!!((e.flags.ignoreCase||u)&&!c)};let f=e;const p={accuracy:n.accuracy,appliedGlobalFlags:d,captureMap:new Map,currentFlags:{dotAll:e.flags.dotAll,ignoreCase:e.flags.ignoreCase},inCharClass:!1,lastNode:f,originMap:e._originMap,recursionLimit:l,useAppliedIgnoreCase:!!(!o&&u&&c),useFlagMods:o,useFlagV:r,verbose:n.verbose};function m(y){return p.lastNode=f,f=y,m6(M6[y.type],`Unexpected node type "${y.type}"`)(y,p,m)}const x={pattern:e.body.map(m).join("|"),flags:m(e.flags),options:{...e.options}};return r||(delete x.options.force.v,x.options.disable.v=!0,x.options.unicodeSetsPlugin=null),x._captureTransfers=new Map,x._hiddenCaptures=[],p.captureMap.forEach((y,w)=>{y.hidden&&x._hiddenCaptures.push(w),y.transferTo&&jl(x._captureTransfers,y.transferTo,[]).push(w)}),x}var I6={"*":{enter({node:e},t){if(tS(e)){const n=t.getCurrentModI();t.pushModI(e.flags?Xu({ignoreCase:n},e.flags).ignoreCase:n)}},exit({node:e},t){tS(e)&&t.popModI()}},Backreference(e,t){t.setHasCasedChar()},Character({node:e},t){Cg(mn(e.value))&&t.setHasCasedChar()},CharacterClassRange({node:e,skip:t},n){t(),ZC(e,{firstOnly:!0}).length&&n.setHasCasedChar()},CharacterSet({node:e},t){e.kind==="property"&&WC.has(e.value)&&t.setHasCasedChar()}},M6={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?ot`\B`:ot`\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:r,name:o,number:l}=e,u={ignoreCase:t.currentFlags.ignoreCase},c=t.originMap.get(e);return c&&(u.hidden=!0,l>c.number&&(u.transferTo=c.number)),t.captureMap.set(l,u),`(${o?`?<${o}>`:""}${r.map(n).join("|")})`},Character({value:e},t){const n=mn(e),r=Aa(e,{escDigit:t.lastNode.type==="Backreference",inCharClass:t.inCharClass,useFlagV:t.useFlagV});if(r!==n)return r;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase&&Cg(n)){const o=GC(n);return t.inCharClass?o.join(""):o.length>1?`[${o.join("")}]`:o[0]}return n},CharacterClass(e,t,n){const{kind:r,negate:o,parent:l}=e;let{body:u}=e;if(r==="intersection"&&!t.useFlagV)throw new Error("Use of character class intersection requires min target ES2024");Or.bugFlagVLiteralHyphenIsRange&&t.useFlagV&&u.some(nS)&&(u=[jd(45),...u.filter(f=>!nS(f))]);const c=()=>`[${o?"^":""}${u.map(n).join(r==="intersection"?"&&":"")}]`;if(!t.inCharClass){if((!t.useFlagV||Or.bugNestedClassIgnoresNegation)&&!o){const p=u.filter(m=>m.type==="CharacterClass"&&m.kind==="union"&&m.negate);if(p.length){const m=Lr(),x=m.body[0];return m.parent=l,x.parent=m,u=u.filter(y=>!p.includes(y)),e.body=u,u.length?(e.parent=x,x.body.push(e)):m.body.pop(),p.forEach(y=>{const w=$i({body:[y]});y.parent=w,w.parent=m,m.body.push(w)}),n(m)}}t.inCharClass=!0;const f=c();return t.inCharClass=!1,f}const d=u[0];if(r==="union"&&!o&&d&&((!t.useFlagV||!t.verbose)&&l.kind==="union"&&!(Or.bugFlagVLiteralHyphenIsRange&&t.useFlagV)||!t.verbose&&l.kind==="intersection"&&u.length===1&&d.type!=="CharacterClassRange"))return u.map(n).join("");if(!t.useFlagV&&l.type==="CharacterClass")throw new Error("Uses nested character class in a way that requires min target ES2024");return c()},CharacterClassRange(e,t){const n=e.min.value,r=e.max.value,o={escDigit:!1,inCharClass:!0,useFlagV:t.useFlagV},l=Aa(n,o),u=Aa(r,o),c=new Set;if(t.useAppliedIgnoreCase&&t.currentFlags.ignoreCase){const d=ZC(e);H6(d).forEach(p=>{c.add(Array.isArray(p)?`${Aa(p[0],o)}-${Aa(p[1],o)}`:Aa(p,o))})}return`${l}-${u}${[...c].join("")}`},CharacterSet({kind:e,negate:t,value:n,key:r},o){if(e==="dot")return o.currentFlags.dotAll?o.appliedGlobalFlags.dotAll||o.useFlagMods?".":"[^]":ot`[^\n]`;if(e==="digit")return t?ot`\D`:ot`\d`;if(e==="property"){if(o.useAppliedIgnoreCase&&o.currentFlags.ignoreCase&&WC.has(n))throw new Error(`Unicode property "${n}" can't be case-insensitive when other chars have specific case`);return`${t?ot`\P`:ot`\p`}{${r?`${r}=`:""}${n}}`}if(e==="word")return t?ot`\W`:ot`\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:r},o,l){const u=o.currentFlags;n&&(o.currentFlags=Xu(u,n));const c=t.map(l).join("|"),d=!o.verbose&&t.length===1&&r.type!=="Quantifier"&&!e&&(!o.useFlagMods||!n)?c:`(?${U6(e,n,o.useFlagMods)}${c})`;return o.currentFlags=u,d},LookaroundAssertion({body:e,kind:t,negate:n},r,o){return`(?${`${t==="lookahead"?"":"<"}${n?"!":"="}`}${e.map(o).join("|")})`},Quantifier(e,t,n){return n(e.body)+F6(e)},Subroutine({isRecursive:e,ref:t},n){if(!e)throw new Error("Unexpected non-recursive subroutine in transformed AST");const r=n.recursionLimit;return t===0?`(?R=${r})`:ot`\g<${t}&R=${r}>`}},P6=new Set(["$","(",")","*","+",".","?","[","\\","]","^","{","|","}"]),B6=new Set(["-","\\","]","^","["]),$6=new Set(["(",")","-","/","[","\\","]","^","{","|","}","!","#","$","%","&","*","+",",",".",":",";","<","=",">","?","@","`","~"]),eS=new Map([[9,ot`\t`],[10,ot`\n`],[11,ot`\v`],[12,ot`\f`],[13,ot`\r`],[8232,ot`\u2028`],[8233,ot`\u2029`],[65279,ot`\uFEFF`]]),z6=new RegExp("^\\p{Cased}$","u");function Cg(e){return z6.test(e)}function ZC(e,t){const n=!!(t!=null&&t.firstOnly),r=e.min.value,o=e.max.value,l=[];if(r<65&&(o===65535||o>=131071)||r===65536&&o>=131071)return l;for(let u=r;u<=o;u++){const c=mn(u);if(!Cg(c))continue;const d=GC(c).filter(f=>{const p=f.codePointAt(0);return p<r||p>o});if(d.length&&(l.push(...d),n))break}return l}function Aa(e,{escDigit:t,inCharClass:n,useFlagV:r}){if(eS.has(e))return eS.get(e);if(e<32||e>126&&e<160||e>262143||t&&V6(e))return e>255?`\\u{${e.toString(16).toUpperCase()}}`:`\\x${e.toString(16).toUpperCase().padStart(2,"0")}`;const o=n?r?$6:B6:P6,l=mn(e);return(o.has(l)?"\\":"")+l}function H6(e){const t=e.map(o=>o.codePointAt(0)).sort((o,l)=>o-l),n=[];let r=null;for(let o=0;o<t.length;o++)t[o+1]===t[o]+1?r??(r=t[o]):r===null?n.push(t[o]):(n.push([r,t[o]]),r=null);return n}function U6(e,t,n){if(e)return">";let r="";if(t&&n){const{enable:o,disable:l}=t;r=(o!=null&&o.ignoreCase?"i":"")+(o!=null&&o.dotAll?"s":"")+(l?"-":"")+(l!=null&&l.ignoreCase?"i":"")+(l!=null&&l.dotAll?"s":"")}return`${r}:`}function F6({kind:e,max:t,min:n}){let r;return!n&&t===1?r="?":!n&&t===1/0?r="*":n===1&&t===1/0?r="+":n===t?r=`{${n}}`:r=`{${n},${t===1/0?"":t}}`,r+{greedy:"",lazy:"?",possessive:"+"}[e]}function tS({type:e}){return e==="CapturingGroup"||e==="Group"||e==="LookaroundAssertion"}function V6(e){return e>47&&e<58}function nS({type:e,value:t}){return e==="Character"&&t===45}var Ks,xs,Oi,Ys,Ii,Nl,Np,ei,G6=(ei=class extends RegExp{constructor(n,r,o){var t=(...kH)=>(super(...kH),Si(this,Nl),Si(this,Ks,new Map),Si(this,xs,null),Si(this,Oi),Si(this,Ys,null),Si(this,Ii,null),be(this,"rawOptions",{}),this);const l=!!(o!=null&&o.lazyCompile);if(n instanceof RegExp){if(o)throw new Error("Cannot provide options when copying a regexp");const u=n;t(u,r),Nr(this,Oi,u.source),u instanceof ei&&(Nr(this,Ks,Rn(u,Ks)),Nr(this,Ys,Rn(u,Ys)),Nr(this,Ii,Rn(u,Ii)),this.rawOptions=u.rawOptions)}else{const u={hiddenCaptures:[],strategy:null,transfers:[],...o};t(l?"":n,r),Nr(this,Oi,n),Nr(this,Ks,q6(u.hiddenCaptures,u.transfers)),Nr(this,Ii,u.strategy),this.rawOptions=o??{}}l||Nr(this,xs,this)}get source(){return Rn(this,Oi)||"(?:)"}exec(n){if(!Rn(this,xs)){const{lazyCompile:l,...u}=this.rawOptions;Nr(this,xs,new ei(Rn(this,Oi),this.flags,u))}const r=this.global||this.sticky,o=this.lastIndex;if(Rn(this,Ii)==="clip_search"&&r&&o){this.lastIndex=0;const l=Ff(this,Nl,Np).call(this,n.slice(o));return l&&(W6(l,o,n,this.hasIndices),this.lastIndex+=o),l}return Ff(this,Nl,Np).call(this,n)}},Ks=new WeakMap,xs=new WeakMap,Oi=new WeakMap,Ys=new WeakMap,Ii=new WeakMap,Nl=new WeakSet,Np=function(n){Rn(this,xs).lastIndex=this.lastIndex;const r=v_(ei.prototype,this,"exec").call(Rn(this,xs),n);if(this.lastIndex=Rn(this,xs).lastIndex,!r||!Rn(this,Ks).size)return r;const o=[...r];r.length=1;let l;this.hasIndices&&(l=[...r.indices],r.indices.length=1);const u=[0];for(let c=1;c<o.length;c++){const{hidden:d,transferTo:f}=Rn(this,Ks).get(c)??{};if(d?u.push(null):(u.push(r.length),r.push(o[c]),this.hasIndices&&r.indices.push(l[c])),f&&o[c]!==void 0){const p=u[f];if(!p)throw new Error(`Invalid capture transfer to "${p}"`);if(r[p]=o[c],this.hasIndices&&(r.indices[p]=l[c]),r.groups){Rn(this,Ys)||Nr(this,Ys,K6(this.source));const m=Rn(this,Ys).get(f);m&&(r.groups[m]=o[c],this.hasIndices&&(r.indices.groups[m]=l[c]))}}}return r},ei);function W6(e,t,n,r){if(e.index+=t,e.input=n,r){const o=e.indices;for(let u=0;u<o.length;u++){const c=o[u];c&&(o[u]=[c[0]+t,c[1]+t])}const l=o.groups;l&&Object.keys(l).forEach(u=>{const c=l[u];c&&(l[u]=[c[0]+t,c[1]+t])})}}function q6(e,t){const n=new Map;for(const r of e)n.set(r,{hidden:!0});for(const[r,o]of t)for(const l of o)jl(n,l,{}).transferTo=r;return n}function K6(e){const t=/(?<capture>\((?:\?<(?![=!])(?<name>[^>]+)>|(?!\?)))|\\?./gsu,n=new Map;let r=0,o=0,l;for(;l=t.exec(e);){const{0:u,groups:{capture:c,name:d}}=l;u==="["?r++:r?u==="]"&&r--:c&&(o++,d&&n.set(o,d))}return n}function Y6(e,t){const n=X6(e,t);return n.options?new G6(n.pattern,n.flags,n.options):new RegExp(n.pattern,n.flags)}function X6(e,t){const n=VC(t),r=MC(e,{flags:n.flags,normalizeUnknownPropertyNames:!0,rules:{captureGroup:n.rules.captureGroup,singleline:n.rules.singleline},skipBackrefValidation:n.rules.allowOrphanBackrefs,unicodePropertyMap:wg}),o=w6(r,{accuracy:n.accuracy,asciiWordBoundaries:n.rules.asciiWordBoundaries,avoidSubclass:n.avoidSubclass,bestEffortTarget:n.target}),l=O6(o,n),u=h6(l.pattern,{captureTransfers:l._captureTransfers,hiddenCaptures:l._hiddenCaptures,mode:"external"}),c=u6(u.pattern),d=c6(c.pattern,{captureTransfers:u.captureTransfers,hiddenCaptures:u.hiddenCaptures}),f={pattern:d.pattern,flags:`${n.hasIndices?"d":""}${n.global?"g":""}${l.flags}${l.options.disable.v?"u":"v"}`};if(n.avoidSubclass){if(n.lazyCompileLength!==1/0)throw new Error("Lazy compilation requires subclass")}else{const p=d.hiddenCaptures.sort((w,C)=>w-C),m=Array.from(d.captureTransfers),x=o._strategy,y=f.pattern.length>=n.lazyCompileLength;(p.length||m.length||x||y)&&(f.options={...p.length&&{hiddenCaptures:p},...m.length&&{transfers:m},...x&&{strategy:x},...y&&{lazyCompile:y}})}return f}function ek(e,t){return Y6(e,{global:!0,hasIndices:!0,lazyCompileLength:3e3,rules:{allowOrphanBackrefs:!0,asciiWordBoundaries:!0,captureGroup:!0,recursionLimit:5,singleline:!0},...t})}function Q6(e={}){const t={target:"auto",cache:new Map,...e};return t.regexConstructor||(t.regexConstructor=n=>ek(n,{target:t.target})),{createScanner(n){return new fP(n,t)},createString(n){return{content:n}}}}Lw(og({bundledLanguages:()=>yd,bundledLanguagesAlias:()=>cg,bundledLanguagesBase:()=>lg,bundledLanguagesInfo:()=>xd,bundledThemes:()=>dg,bundledThemesInfo:()=>ug,codeToHast:()=>CC,codeToHtml:()=>wC,codeToTokens:()=>kC,codeToTokensBase:()=>EC,codeToTokensWithThemes:()=>jC,createHighlighter:()=>Ed,createJavaScriptRegexEngine:()=>Q6,createOnigurumaEngine:()=>Ow,defaultJavaScriptRegexConstructor:()=>ek,getLastGrammarState:()=>TC,getSingletonHighlighter:()=>NC,loadWasm:()=>fg}),hP);let zm=null;const yl=new Set,yu=new Map,rS=["typescript","javascript","tsx","jsx","python","bash","json","css","html","sql","yaml","markdown","diff","rust","go","java","c","cpp","ruby","toml","scss","graphql","docker","powershell"],J6=["github-dark-default","vitesse-light","monokai","dracula","nord"],Z6={dark:"github-dark-default",light:"vitesse-light",monokai:"monokai",dracula:"dracula",nord:"nord"};function eB(){return{name:"line-numbers",line(e,t){e.properties["data-line"]=String(t+1)}}}async function tk(){return zm||(zm=Ed({themes:J6,langs:rS}).then(e=>(rS.forEach(t=>yl.add(t)),e))),zm}async function tB(e){if(yl.has(e))return;if(yu.has(e))return yu.get(e);const t=(async()=>{const n=await tk(),r=yd[e];if(r){await n.loadLanguage(r),yl.add(e);return}try{const o=await Z(()=>import(`shiki/langs/${e}.mjs`),[]);o.default&&(await n.loadLanguage(o.default),yl.add(e))}catch(o){console.warn(`Failed to load language ${e}:`,o)}})();yu.set(e,t),await t,yu.delete(e)}const sl=new Map,nB=50;function rB(e,t,n){return`${e}|${t}|${n}`}async function nk(e,t,n="github-dark-default"){t!=="text"&&!yl.has(t)&&await tB(t);const r=rB(e,t,n),o=sl.get(r);if(o)return o;const u=(await tk()).codeToHtml(e,{lang:t,theme:n,transformers:[eB()]});if(sl.size>=nB){const c=sl.keys().next().value;c&&sl.delete(c)}return sl.set(r,u),u}const sB={ts:"typescript",tsx:"tsx",js:"javascript",jsx:"jsx",py:"python",rb:"ruby",rs:"rust",go:"go",java:"java",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",php:"php",swift:"swift",kt:"kotlin",scala:"scala",sh:"bash",bash:"bash",zsh:"bash",fish:"bash",ps1:"powershell",sql:"sql",html:"html",htm:"html",css:"css",scss:"scss",sass:"sass",less:"less",json:"json",yaml:"yaml",yml:"yaml",xml:"xml",md:"markdown",markdown:"markdown",toml:"toml",ini:"ini",conf:"ini",dockerfile:"docker",makefile:"makefile",cmake:"cmake",graphql:"graphql",gql:"graphql",vue:"vue",svelte:"svelte"};function Ld(e){var o;if(!e)return"text";const t=e.split("/").pop()??"",n=t.toLowerCase();if(n==="dockerfile")return"docker";if(n==="makefile")return"makefile";if(n==="cmakelists.txt")return"cmake";const r=(o=t.split(".").pop())==null?void 0:o.toLowerCase();return r?sB[r]??"text":"text"}function rk(){const e=Yt(n=>n.currentPreset);return Yt(n=>n.isCustom)?"github-dark-default":Z6[e]??"github-dark-default"}function sk(e=2e3){const[t,n]=A.useState(!1),r=A.useCallback(async o=>{try{if(navigator.clipboard&&window.isSecureContext)await navigator.clipboard.writeText(o);else{const l=document.createElement("textarea");l.value=o,l.style.position="fixed",l.style.left="-9999px",document.body.appendChild(l),l.select(),document.execCommand("copy"),document.body.removeChild(l)}n(!0),setTimeout(()=>n(!1),e)}catch(l){console.error("Failed to copy:",l)}},[e]);return{copied:t,copy:r}}const iB=A.memo(function({language:t,codeString:n,showSyntaxHighlighting:r}){const{copied:o,copy:l}=sk(),[u,c]=A.useState(null),d=rk(),f=A.useRef(n);return A.useEffect(()=>{r&&(f.current=n,nk(n,t,d).then(p=>{f.current===n&&c(p)}))},[n,t,d,r]),i.jsxs("div",{className:"relative group my-1.5 rounded overflow-hidden",children:[i.jsxs("div",{className:"absolute bottom-0 right-0 flex items-center gap-2 px-2 py-1 text-xs text-text-muted/70 bg-bg-tertiary/60 rounded-tl rounded-tr z-10",children:[i.jsx("span",{children:t}),i.jsx("button",{type:"button",onClick:p=>{p.preventDefault(),p.stopPropagation(),l(n)},className:"opacity-0 group-hover:opacity-100 transition-opacity hover:text-text-primary p-0.5",title:"Copy code",children:o?i.jsx(Wr,{}):i.jsx(Op,{})})]}),r&&u?i.jsx("div",{className:"min-w-0",dangerouslySetInnerHTML:{__html:u}}):i.jsx("div",{className:"overflow-x-auto",children:i.jsx("pre",{className:"my-0 px-4 py-3 overflow-x-auto font-mono text-sm whitespace-pre-wrap break-word",children:i.jsx("code",{className:`language-${t}`,children:n})})})]})});function aB(e,t){const n=e?"text-text-muted":"text-sky-400",r=e?"text-text-secondary":"text-amber-400";return{code({className:o,children:l,...u}){const c=/language-(\w+)/.exec(o||"");if(!c&&!String(l).includes(`
|
|
276
|
+
`)){const m=e?"text-text-muted":"text-accent-secondary";return i.jsx("code",{className:`bg-bg-tertiary px-1 py-0.5 rounded ${m} font-mono text-xs`,...u,children:l})}const f=(c==null?void 0:c[1])||"text",p=String(l).replace(/\n$/,"");return i.jsx(iB,{language:f,codeString:p,showSyntaxHighlighting:t})},p({children:o}){const l=e?"text-text-muted":"text-text-primary";return i.jsx("p",{className:`${l} mb-1.5 last:mb-0 leading-tight break-words`,children:o})},ul({children:o}){return i.jsx("ul",{className:"list-disc list-inside mb-1.5 space-y-0.5",children:o})},ol({children:o}){return i.jsx("ol",{className:"list-decimal list-inside mb-1.5 space-y-0.5",children:o})},li({children:o}){const l=e?"text-text-muted":"text-text-primary";return i.jsx("li",{className:`${l} text-sm list-item`,children:o})},h1({children:o}){return i.jsx("h1",{className:`text-base font-bold mb-1.5 mt-2 first:mt-0 ${n}`,children:o})},h2({children:o}){return i.jsx("h2",{className:`text-sm font-bold mb-1.5 mt-2 first:mt-0 ${n}`,children:o})},h3({children:o}){return i.jsx("h3",{className:`text-sm font-bold mb-1.5 mt-1.5 first:mt-0 ${n}`,children:o})},h4({children:o}){return i.jsx("h4",{className:`text-sm font-bold mb-1.5 mt-1.5 first:mt-0 ${n}`,children:o})},strong({children:o}){return i.jsx("strong",{className:`font-bold ${r}`,children:o})},em({children:o}){return i.jsx("em",{className:e?"italic text-text-secondary":"italic",children:o})},a({href:o,children:l}){return i.jsx("a",{href:o,className:"text-accent-primary hover:underline text-sm",target:"_blank",rel:"noopener noreferrer",children:l})},blockquote({children:o}){const l=e?"text-text-muted":"text-text-secondary";return i.jsx("blockquote",{className:`border-l-2 border-accent-primary pl-2 my-1.5 ${l} italic text-sm`,children:o})},table({children:o}){return i.jsx("div",{className:"overflow-x-auto my-1.5",children:i.jsx("table",{className:"min-w-full border border-border",children:o})})},th({children:o}){return i.jsx("th",{className:"border border-border bg-bg-tertiary px-2 py-1 text-left font-semibold text-sm",children:o})},td({children:o}){return i.jsx("td",{className:"border border-border px-2 py-1 text-sm",children:o})},hr(){return i.jsx("hr",{className:"border-border my-2"})},input({checked:o,...l}){return i.jsx("input",{type:"checkbox",checked:o,disabled:!0,className:"mr-1.5 w-3.5 h-3.5",...l})}}}const Vn=A.memo(function({content:t,className:n="",muted:r=!1}){const{showSyntaxHighlighting:o}=zi(),l=A.useMemo(()=>{let c=oB(t);return c=lB(c),c},[t]),u=A.useMemo(()=>aB(r,o),[r,o]);return i.jsx("div",{className:`markdown-content [&_li>p]:inline ${n}`,children:i.jsx(A3,{remarkPlugins:[FO],components:u,children:l})})});function oB(e){let t=e.replace(/^(\s*)•\s/gm,"$1- ");return t=t.replace(/^(\d+)\.\s*\n(?=\S)/gm,"$1. "),t=t.replace(/^\|\s*$/gm,""),t=t.replace(/^\d+\|/gm,""),t}function lB(e){const t=/```/g,n=e.match(t);if(((n==null?void 0:n.length)??0)%2===1){const o=e.lastIndexOf("```");return e.slice(o+3).includes(`
|
|
277
|
+
`),e+"\n```"}return e}const cB=A.memo(function({content:t,variant:n="default"}){return n==="labeled"?i.jsxs("div",{className:"text-text-muted text-sm italic feed-item",children:[i.jsx("span",{className:"text-purple-400",children:"thinking:"}),i.jsx("div",{className:"ml-1.5 mt-0.5 overflow-x-auto",children:i.jsx(Vn,{content:t})})]}):i.jsx("div",{className:"text-text-muted text-sm italic bg-secondary rounded p-1.5 feed-item overflow-x-auto",children:i.jsx(Vn,{content:t,muted:!0})})});function ik({tool:e,className:t="w-4 h-4 text-text-muted flex-shrink-0"}){return e==="glob"||e==="grep"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"})}):e==="run_command"||e==="bash"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 9l3 3-3 3m5 0h3M5 20h14a2 2 0 002-2V6a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z"})}):e==="worktree"?i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M8 7h12m0 0l-4-4m4 4l-4 4m0 6H4m0 0l4 4m-4-4l4-4"})}):i.jsx("svg",{className:t,fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:i.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z"})})}function uB({code:e,variant:t}){const n=t==="inline"?"span":t==="block-nowrap"?"div":"pre";return i.jsx(n,{className:"language-",children:i.jsx("code",{className:"language-",children:e})})}const qa=A.memo(function({code:t,language:n,variant:r,showLineNumbers:o=!1,startLine:l=1}){const{showSyntaxHighlighting:u}=zi(),[c,d]=A.useState(null),f=rk(),p=A.useRef(t);if(A.useEffect(()=>{u&&(p.current=t,nk(t,n,f).then(x=>{p.current===t&&d(x)}))},[t,n,f,u]),!u||!c)return i.jsx(uB,{code:t,variant:r});if(r==="inline")return i.jsx("span",{dangerouslySetInnerHTML:{__html:c}});const m=o?"":"shiki-plain";return i.jsx("div",{className:m,style:{"--shiki-start":l},dangerouslySetInnerHTML:{__html:c}})});function ak({src:e,alt:t,isOpen:n,onClose:r}){return n?i.jsx(Ot,{isOpen:n,onClose:r,title:"",size:"full",children:i.jsx("div",{className:"flex items-center justify-center h-full",children:i.jsx("img",{src:e,alt:t,className:"max-w-full max-h-[80vh] object-contain rounded-lg shadow-2xl"})})}):null}const Qu=A.memo(function({type:t,children:n}){const r=t==="removed"?"diff-removed-bg diff-removed-border":"diff-added-bg diff-added-border",o=t==="removed"?"line-through decoration-red-400/30":"";return i.jsx("div",{className:`border-l-[3px] ${r}`,children:i.jsx("div",{className:`min-w-0 py-3 ${o}`,children:i.jsx("div",{className:"shiki-compact shiki-transparent-bg",children:n})})})}),dB=A.memo(function({oldString:t,newString:n,filePath:r}){const o=A.useMemo(()=>Ld(r),[r]),l=t.length>0,u=n.length>0;return!l&&!u?i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"No changes"}):i.jsxs("div",{className:"rounded overflow-hidden border border-border",children:[l&&i.jsx(Qu,{type:"removed",children:i.jsx(qa,{code:t,language:o,variant:"block",showLineNumbers:!0})}),u&&i.jsx(Qu,{type:"added",children:i.jsx(qa,{code:n,language:o,variant:"block",showLineNumbers:!0})})]})}),hB=A.memo(function({content:t,filePath:n}){const r=A.useMemo(()=>Ld(n),[n]);return i.jsx("div",{className:"rounded overflow-hidden border border-border max-h-[45vh] overflow-y-auto",children:i.jsx(Qu,{type:"added",children:i.jsx(qa,{code:t,language:r,variant:"block",showLineNumbers:!0})})})}),fB=A.memo(function({regions:t,filePath:n}){const r=A.useMemo(()=>Ld(n),[n]);return t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"No changes"}):i.jsx("div",{className:"space-y-2",children:t.map((o,l)=>i.jsx(pB,{region:o,language:r},l))})});function mB(e){const t=[];function n(r,o,l){const u=t[t.length-1];u&&u.type===r&&u.startLine+u.lines.length===o?u.lines.push(l):t.push({type:r,startLine:o,lines:[l]})}for(const r of e.beforeContext)n("context",r.lineNumber,r.content);for(const r of e.edits){const o=r.oldContent.split(`
|
|
278
|
+
`);for(let u=0;u<o.length;u++)n("removed",r.startLine+u,o[u]);const l=r.newContent.split(`
|
|
279
|
+
`);for(let u=0;u<l.length;u++)n("added",r.startLine+u,l[u])}for(const r of e.afterContext)n("context",r.lineNumber,r.content);return t}const pB=A.memo(function({region:t,language:n}){const r=mB(t);return i.jsx("div",{className:"rounded overflow-hidden border border-border font-mono text-sm",children:r.map((o,l)=>i.jsx(gB,{section:o,language:n},l))})}),gB=A.memo(function({section:t,language:n}){const r=t.lines.join(`
|
|
280
|
+
`);return t.type==="context"?i.jsx("div",{children:i.jsx("div",{className:"min-w-0 py-3",children:i.jsx("div",{className:"shiki-compact shiki-transparent-bg",children:i.jsx(qa,{code:r,language:n,variant:"block",showLineNumbers:!0,startLine:t.startLine})})})}):i.jsx(Qu,{type:t.type,children:i.jsx(qa,{code:r,language:n,variant:"block",showLineNumbers:!0,startLine:t.startLine})})});function sS(e){return e.split(`
|
|
281
|
+
`).filter(t=>!t.startsWith(`
|
|
282
|
+
[`)&&!t.startsWith("[")).map(t=>t.replace(/^\d+\|/,"")).join(`
|
|
283
|
+
`)}const xB=A.memo(function({result:t,metadata:n,filePath:r,heightExpanded:o=!1}){const[l,u]=A.useState(!1),c=A.useMemo(()=>Ld(r),[r]),d=n==null?void 0:n.mimeType,f=n==null?void 0:n.base64Data;if(d!=null&&d.startsWith("image/")&&f){const C=`data:${d};base64,${f}`;return i.jsxs(i.Fragment,{children:[i.jsx("div",{className:`rounded overflow-hidden border border-border ${o?"":"max-h-[45vh]"} flex items-center justify-center cursor-pointer hover:border-accent-primary transition-colors`,onClick:()=>u(!0),children:i.jsx("img",{src:C,alt:r,className:"max-w-full max-h-[45vh] object-contain"})}),i.jsx(ak,{src:C,alt:r,isOpen:l,onClose:()=>u(!1)})]})}if(!t)return i.jsx("div",{className:"text-xs text-text-muted italic p-2",children:"Empty file"});const p=t;if(c==="markdown"){const C=sS(p);return i.jsx("div",{className:`rounded overflow-hidden border border-border ${o?"":"max-h-[45vh]"} overflow-y-auto p-2`,children:i.jsx(Vn,{content:C})})}const m=sS(p),x=p.split(`
|
|
284
|
+
`)[0],y=x==null?void 0:x.match(/^(\d+)\|/),w=y?parseInt(y[1],10):1;return i.jsx("div",{className:`rounded overflow-hidden border border-border ${o?"":"max-h-[45vh]"} overflow-y-auto`,children:i.jsx(qa,{code:m,language:c,variant:"block",showLineNumbers:!0,startLine:w})})}),yB={error:{icon:"✗",color:"text-accent-error",bg:"bg-red-500/10",border:"border-red-500/30"},warning:{icon:"⚠",color:"text-accent-warning",bg:"bg-yellow-500/10",border:"border-yellow-500/30"},info:{icon:"ℹ",color:"text-accent-info",bg:"bg-blue-500/10",border:"border-blue-500/30"},hint:{icon:"💡",color:"text-text-muted",bg:"bg-gray-500/10",border:"border-gray-500/30"}},iS=A.memo(function({diagnostics:t}){if(t.length===0)return null;const n=t.filter(l=>l.severity==="error"),r=t.filter(l=>l.severity==="warning"),o=t.filter(l=>l.severity==="info"||l.severity==="hint");return i.jsxs("div",{className:"rounded border border-border overflow-hidden mt-2",children:[i.jsxs("div",{className:"flex items-center gap-3 px-2 py-1.5 bg-bg-tertiary border-b border-border",children:[i.jsx("span",{className:"text-xs font-medium text-text-secondary",children:"LSP Diagnostics"}),n.length>0&&i.jsxs("span",{className:"text-xs text-accent-error font-medium",children:[n.length," error",n.length!==1?"s":""]}),r.length>0&&i.jsxs("span",{className:"text-xs text-accent-warning font-medium",children:[r.length," warning",r.length!==1?"s":""]}),o.length>0&&i.jsxs("span",{className:"text-xs text-text-muted",children:[o.length," info"]})]}),i.jsx("div",{className:"max-h-48 overflow-y-auto",children:t.map((l,u)=>{const c=yB[l.severity];return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${c.bg} border-b border-border last:border-b-0`,children:[i.jsx("span",{className:`${c.color} text-xs flex-shrink-0 w-4 text-center`,children:c.icon}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:["Ln ",l.range.start.line+1,":",l.range.start.character+1]}),l.code&&i.jsxs("span",{className:"text-[10px] text-text-muted font-mono",children:["[",l.code,"]"]})]}),i.jsx("div",{className:"text-xs text-text-primary break-words",children:l.message})]})]},u)})})]})}),bB=A.memo(function({command:t,timeout:n,startedAt:r,streamingOutput:o,status:l,result:u,error:c,durationMs:d}){const f=A.useRef(null),[p,m]=A.useState(0);A.useEffect(()=>{f.current&&l==="pending"&&(f.current.scrollTop=f.current.scrollHeight)},[o,l]),A.useEffect(()=>{if(l!=="pending"||!r)return;const C=setInterval(()=>{m(Date.now()-r)},100);return()=>clearInterval(C)},[l,r]);const x=n/1e3,y=l==="pending"?p/1e3:(d??0)/1e3,w=l==="pending"?(o==null?void 0:o.map(C=>C.content).join(""))??"":u??"";return i.jsxs("div",{className:"space-y-2",children:[i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsxs("div",{className:"flex items-center gap-2 text-xs flex-1 min-w-0",children:[i.jsx("span",{className:"text-text-muted flex-shrink-0",children:"$"}),i.jsx("code",{className:"text-text-primary break-all",children:t})]}),i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted flex-shrink-0",children:[l==="pending"&&i.jsx("span",{className:"animate-pulse text-accent-warning",children:"running"}),l==="interrupted"&&i.jsx("span",{className:"text-red-400",children:"interrupted"}),i.jsxs("span",{className:l==="pending"?"text-text-secondary":"text-text-muted",children:[y.toFixed(1),"s / ",x,"s"]})]})]}),l==="pending"&&i.jsx("div",{className:"h-1 bg-bg-tertiary rounded overflow-hidden",children:i.jsx("div",{className:"h-full bg-accent-warning transition-all duration-100",style:{width:`${Math.min(100,p/n*100)}%`}})}),(w||l==="pending")&&i.jsx("pre",{ref:f,className:`text-xs bg-bg-primary p-2 rounded max-h-64 overflow-y-auto ${l==="pending"?"border border-accent-warning/30":""}`,style:{overflowX:"hidden",whiteSpace:"normal"},children:l==="pending"&&o?o.map((C,v)=>i.jsx("span",{className:C.stream==="stderr"?"text-accent-warning":"",children:Iu(C.content)},v)):Iu(w)}),l==="error"&&c&&i.jsx("div",{className:"text-xs text-accent-error bg-accent-error/10 p-2 rounded",children:c}),l!=="pending"&&d!==void 0&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Completed in ",(d/1e3).toFixed(2),"s"]})]})}),il=A.memo(function({className:t=""}){return i.jsx("div",{className:`text-[10px] text-accent-warning ${t}`,children:"Output truncated"})}),_B=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return console.warn("DevServerView: failed to parse result JSON",t.slice(0,200)),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}return n==="logs"?vB(r):SB(r)});function vB(e){if(!e.logs)return i.jsx("div",{className:"text-xs text-text-muted italic",children:"No log output"});const t=e.logs.split(`
|
|
285
|
+
`);return i.jsxs("div",{className:"space-y-2",children:[i.jsx("div",{className:"text-xs font-mono whitespace-pre-wrap bg-bg-primary p-2 rounded max-h-[60vh] overflow-y-auto break-words",children:t.map((n,r)=>{const o=n.startsWith("[stderr] ");return i.jsx("div",{className:o?"text-accent-warning":"",children:o?n.slice(9):n},r)})}),e.hasMore&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Showing ",e.limit," of ",e.total," lines"]})]})}function SB(e){const t=String(e.state??""),n=String(e.url??""),r=e.error?String(e.error):void 0,o=t==="running"?"text-accent-success":t==="stopped"?"text-text-muted":t==="error"?"text-accent-error":"text-text-muted";return i.jsxs("div",{className:"space-y-2 text-xs",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"State:"}),i.jsx("span",{className:`font-medium ${o}`,children:t})]}),n&&n!=="undefined"&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"URL:"}),i.jsx("a",{href:n,className:"text-accent-primary hover:underline",target:"_blank",rel:"noopener noreferrer",children:n})]}),r&&i.jsx("div",{className:"text-accent-error bg-accent-error/10 p-2 rounded",children:r})]})}const wB=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return console.warn("BackgroundProcessView: failed to parse result JSON",t.slice(0,200)),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}return n==="logs"?CB(r):n==="list"?kB(r):n==="status"?EB(r):n==="start"||n==="stop"?jB(r):i.jsxs("div",{className:"space-y-2 text-xs",children:[i.jsxs("div",{className:"text-accent-warning",children:["Unknown action: ",n]}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})]})});function CB(e){const t=e.lines,n=e.hasMore,r=e.totalLines;return!t||t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No log output"}):i.jsxs("div",{className:"space-y-2",children:[i.jsx("div",{className:"text-xs font-mono whitespace-pre-wrap bg-bg-primary p-2 rounded max-h-[60vh] overflow-y-auto break-words",children:t.map((o,l)=>i.jsx("div",{className:o.stream==="stderr"?"text-accent-warning":"",children:o.content},l))}),n&&r!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Showing ",t.length," of ",r," lines"]})]})}function kB(e){const t=e.processes,n=e.currentCount,r=e.maxPerSession;return!t||t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No background processes"}):i.jsxs("div",{className:"space-y-2",children:[t.map(o=>i.jsx(ok,{process:o},o.id)),n!=null&&r!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:[n," of ",r," slots used"]})]})}function EB(e){const t=e.process,n=e.uptime;return t?i.jsxs("div",{className:"space-y-2",children:[i.jsx(ok,{process:t}),n!=null&&i.jsxs("div",{className:"text-[10px] text-text-muted",children:["Uptime: ",NB(n)]})]}):i.jsx("div",{className:"text-xs text-text-muted italic",children:"Process not found"})}function jB(e){const t=e.processId,n=e.name,r=e.pid,o=e.status,l=o==="running"?"text-accent-success":"text-text-muted";return i.jsxs("div",{className:"space-y-2 text-xs",children:[n&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Name:"}),i.jsx("span",{className:"font-medium",children:n})]}),t&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"ID:"}),i.jsx("span",{className:"font-mono",children:t})]}),r!=null&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"PID:"}),i.jsx("span",{className:"font-mono",children:r})]}),o&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Status:"}),i.jsx("span",{className:`font-medium ${l}`,children:o})]})]})}function ok({process:e}){const t=e.status==="running"?"text-accent-success":(e.status==="exited","text-text-muted");return i.jsxs("div",{className:"border border-border rounded p-2 space-y-1 text-xs",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsx("span",{className:"font-medium",children:e.name}),i.jsx("span",{className:`${t}`,children:e.status})]}),e.pid!=null&&i.jsxs("div",{className:"text-text-muted",children:["PID: ",i.jsx("span",{className:"font-mono",children:e.pid})]}),e.command&&i.jsx("div",{className:"text-text-muted font-mono truncate",children:e.command})]})}function NB(e){const t=Math.floor(e/1e3),n=Math.floor(t/60),r=Math.floor(n/60);return r>0?`${r}h ${n%60}m`:n>0?`${n}m ${t%60}s`:`${t}s`}const TB=A.memo(function({result:t,action:n}){let r;try{r=JSON.parse(t)}catch{return i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}switch(n){case"list_branches":return AB(r);case"status":return LB(r);case"create":case"attach":case"close":return DB(r);default:return i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:t})}});function AB(e){const t=e.branches??[];return t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic",children:"No branches found"}):i.jsxs("div",{className:"space-y-1 text-xs",children:[i.jsx("div",{className:"text-text-muted mb-1",children:"Local branches:"}),t.map(n=>i.jsxs("div",{className:"flex items-center gap-2 font-mono",children:[i.jsx("span",{className:n.current?"text-accent-success":"text-text-muted",children:n.current?"●":"○"}),i.jsx("span",{className:n.current?"text-text-primary font-medium":"text-text-secondary",children:n.name}),n.current&&i.jsx("span",{className:"text-[10px] text-accent-primary",children:"(current)"})]},n.name))]})}function LB(e){return i.jsxs("div",{className:"space-y-2 text-xs",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Worktree active:"}),i.jsx("span",{className:e.active?"text-accent-success font-medium":"text-text-muted",children:e.active?"Yes":"No"})]}),e.active&&e.worktree&&i.jsxs(i.Fragment,{children:[i.jsx(Ju,{label:"Path",value:e.worktree,mono:!0}),e.branch&&i.jsx(Ju,{label:"Branch",value:e.branch,mono:!0})]}),!e.active&&i.jsx("div",{className:"text-text-muted italic",children:"Session is using the project root directory."}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"text-text-muted",children:"Project root:"}),i.jsx("span",{className:"font-mono text-text-secondary",children:e.workdir})]})]})}function Ju({label:e,value:t,mono:n}){return i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("span",{className:"text-text-muted",children:[e,":"]}),i.jsx("span",{className:n?"font-mono text-accent-primary":"text-text-primary",children:t})]})}function DB(e){return i.jsxs("div",{className:"space-y-2 text-xs",children:[e.message&&i.jsx("div",{className:"text-text-primary",children:e.message}),e.worktree&&i.jsx(Ju,{label:"Worktree",value:e.worktree,mono:!0}),e.branch&&i.jsx(Ju,{label:"Branch",value:e.branch,mono:!0})]})}function RB(e){switch(e){case"sensitive_file":return{title:"Sensitive File Access",description:"Accessing files that may contain secrets"};case"both":return{title:"Sensitive File Access",description:"Accessing sensitive files outside project"};case"dangerous_command":return{title:"Dangerous Command",description:"Running potentially dangerous command"};case"git_no_verify":return{title:"Git --no-verify",description:"Bypassing git hooks/pre-commit checks"};case"outside_workdir":default:return{title:"Path Access Request",description:"Accessing paths outside project directory"}}}function OB({confirmation:e}){const t=Le(m=>m.confirmPath),n=Le(m=>m.currentSession),r=Le(m=>m.switchDangerLevel),{title:o,description:l}=RB(e.reason),u=e.reason==="sensitive_file"||e.reason==="both",c=u?"border-red-500/50":"border-amber-500/50",d=u?"bg-red-500/10":"bg-amber-500/10",f=e.reason==="git_no_verify",p=()=>{n!=null&&n.id&&r("dangerous"),t(e.callId,!0,!1)};return i.jsxs("div",{className:`border ${c} ${d} rounded p-3 my-2`,children:[i.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[i.jsx(Km,{}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:`text-sm font-medium ${u?"text-red-400":"text-amber-400"}`,children:o}),i.jsx("div",{className:"text-xs text-text-muted",children:l})]})]}),i.jsxs("div",{className:"text-xs text-text-muted mb-2",children:[i.jsx("span",{className:"font-medium",children:e.tool})," wants to access:"]}),i.jsx("div",{className:"bg-bg-primary rounded p-2 mb-3 max-h-24 overflow-y-auto",children:i.jsx("ul",{className:"space-y-0.5",children:e.paths.map((m,x)=>i.jsx("li",{className:`text-xs font-mono ${u?"text-red-300":"text-amber-300"} break-all`,children:m},x))})}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>t(e.callId,!1),className:"flex-1 px-3 py-1.5 text-xs font-medium rounded bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border transition-colors",children:"Deny"}),i.jsx("button",{onClick:()=>t(e.callId,!0,!1),className:"flex-1 px-3 py-1.5 text-xs font-medium rounded bg-accent-primary hover:bg-accent-primary/80 text-text-primary transition-colors",children:"Allow"}),i.jsx("button",{onClick:p,className:`flex-1 px-3 py-1.5 text-xs font-medium rounded transition-colors ${f?"hidden":"bg-red-600 hover:bg-red-700 text-white"}`,title:"Enable dangerous mode and allow this request",children:"Allow Everything"})]})]})}function IB(e,t){if(e==="read_file"){const r=String(t.path??""),o=t.offset,l=t.limit,u=[];return o!==void 0&&o!==1&&u.push(`offset=${o}`),l!==void 0&&u.push(`limit=${l}`),u.length>0?`${r} [${u.join(", ")}]`:r}if(e==="write_file"||e==="edit_file")return String(t.path??"");if(e==="run_command"||e==="bash")return String(t.command??"");if(e==="return_value"){const r=String(t.content??"");return r.length>60?r.slice(0,60)+"...":r}if(e==="call_sub_agent")return String(t.subAgentType??"");if(e==="load_skill")return String(t.skillId??"");if(e==="web_fetch")return String(t.url??"");if(e==="web_search"){const r=String(t.query??"");return r.length>60?r.slice(0,57)+"...":r}if(e==="dev_server")return String(t.action??"");if(e==="background_process"){const r=String(t.action??""),o=t.name?String(t.name):"";return o?`${r}: ${o}`:r}if(e==="mcp_config")return String(t.action??"");const n=JSON.stringify(t);return n.length>50?n.slice(0,50)+"...":n}function aS(e,t,n){var o;const r=IB(e,t);if(e==="read_file"&&n){const l=n.format,u=n.pageCount;if(l==="pdf"&&u!=null)return`${r} (PDF, ${u}p)`;if(l==="image")return`${r} (image)`}if(e==="web_fetch"&&n){const l=n.contentType;if(l){const u=((o=l.split(";")[0])==null?void 0:o.trim())??"";if(u&&u!=="text/html")return`${r} (${u})`}}return r}function MB(e){return JSON.stringify(e,null,2)}const PB={pending:{icon:"●",color:"text-accent-warning",animate:!0},success:{icon:"✓",color:"text-accent-success",animate:!1},error:{icon:"✗",color:"text-accent-error",animate:!1},interrupted:{icon:"✗",color:"text-red-400",animate:!1}},BB=A.memo(function({tool:t,args:n,status:r,variant:o="compact",forceCompact:l,result:u,error:c,durationMs:d,diagnostics:f,editContext:p,startedAt:m,streamingOutput:x,metadata:y,truncated:w,callId:C}){var L;const v=!l,[S,_]=A.useState(v),b=PB[r],j=tn(O=>O.settings[Pe.DISPLAY_SHOW_OPEN_IN_EDITOR])==="true",E=t==="edit_file"?(L=p==null?void 0:p.regions[0])==null?void 0:L.startLine:t==="read_file"?(()=>{const O=u==null?void 0:u.split(`
|
|
286
|
+
`)[0],P=O==null?void 0:O.match(/^(\d+): /);return P?parseInt(P[1],10):void 0})():void 0,T=Le(O=>O.pendingPathConfirmations),D=r==="pending"&&C?T.find(O=>O.callId===C)??null:null;return o==="compact"?i.jsxs("div",{className:"flex items-center gap-1.5 text-xs bg-secondary rounded px-2 py-1.5",children:[i.jsx(ik,{tool:t}),i.jsx("span",{className:"text-accent-primary font-medium",children:t}),i.jsx("span",{className:"text-text-muted truncate flex-1",children:aS(t,n,y)}),i.jsx("span",{className:`${b.color} ${b.animate?"animate-pulse":""}`,children:r==="pending"?"...":"done"})]}):i.jsxs("div",{className:"border border-border rounded overflow-hidden my-1 min-w-0",children:[i.jsxs("button",{className:"w-full flex items-center gap-1.5 p-2 bg-secondary hover:bg-secondary/80 text-left",onClick:()=>_(!S),children:[i.jsx("span",{className:`${b.color} ${b.animate?"animate-pulse":""}`,children:b.icon}),i.jsx("span",{className:"font-mono text-accent-primary text-sm",children:t}),i.jsx("span",{className:"text-text-muted text-xs flex-1 truncate",children:aS(t,n,y)}),i.jsx("span",{className:"text-text-muted text-xs",children:S?"▼":"▶"})]}),D&&i.jsx(OB,{confirmation:D}),S&&i.jsxs("div",{className:"p-2 bg-primary border-t border-border space-y-2 min-w-0",children:[t==="run_command"&&i.jsx(bB,{command:String(n.command??""),timeout:n.timeout??12e4,startedAt:m,streamingOutput:x,status:r,result:u,error:c,durationMs:d}),t==="edit_file"&&r==="success"&&i.jsxs(i.Fragment,{children:[p&&p.regions.length>0?i.jsx(fB,{regions:p.regions,filePath:String(n.path??"")}):i.jsx(dB,{oldString:String(n.old_string??""),newString:String(n.new_string??""),filePath:String(n.path??"")}),f&&f.length>0&&i.jsx(iS,{diagnostics:f})]}),t==="write_file"&&r==="success"&&i.jsxs(i.Fragment,{children:[i.jsx(hB,{content:String(n.content??""),filePath:String(n.path??"")}),f&&f.length>0&&i.jsx(iS,{diagnostics:f})]}),t==="read_file"&&r==="success"&&i.jsx(xB,{result:u,metadata:y,filePath:String(n.path??""),heightExpanded:S}),t==="return_value"&&(()=>{const O=(x==null?void 0:x.map(G=>G.content).join(""))??"",P=r==="pending"&&O?O:String(n.content??"");return i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:"Sub-Agent Summary"}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none",children:i.jsx(Vn,{content:P})})]})})(),t==="call_sub_agent"&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:[String(n.subAgentType??"Sub-Agent")," Prompt"]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Vn,{content:String(n.prompt??"")})})]}),t==="web_search"&&r==="success"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Vn,{content:u??""})}),w&&i.jsx(il,{className:"mt-1"})]}),t==="load_skill"&&r==="success"&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-accent-primary font-medium mb-1 uppercase tracking-wide",children:["Skill: ",String(n.skillId??"")]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Vn,{content:u??""})}),w&&i.jsx(il,{className:"mt-1"})]}),t==="web_fetch"&&r==="success"&&i.jsxs("div",{className:"space-y-2",children:[!!(y!=null&&y.url)&&i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[i.jsx("span",{children:"Source:"}),i.jsx("a",{href:String(y.url),className:"text-accent-primary hover:underline truncate",target:"_blank",rel:"noopener noreferrer",children:String(y.url)}),!!(y!=null&&y.contentType)&&i.jsxs("span",{className:"text-text-muted flex-shrink-0",children:["(",String(y.contentType),")"]}),(y==null?void 0:y.pageCount)!=null&&i.jsxs("span",{className:"text-text-muted flex-shrink-0",children:["· ",String(y.pageCount)," pages"]})]}),i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Vn,{content:u??""})}),w&&i.jsx(il,{})]}),t==="dev_server"&&r==="success"&&u&&i.jsx(_B,{result:u,action:String(n.action??"")}),t==="worktree"&&r==="success"&&u&&i.jsx(TB,{result:u,action:String(n.action??"")}),t==="background_process"&&r==="success"&&u&&i.jsx(wB,{result:u,action:String(n.action??"")}),t==="mcp_config"&&r==="success"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-xs prose prose-invert prose-sm max-w-none max-h-[60vh] overflow-y-auto",children:i.jsx(Vn,{content:u??""})}),w&&i.jsx(il,{className:"mt-1"})]}),t==="step_done"&&null,t!=="edit_file"&&t!=="write_file"&&t!=="run_command"&&t!=="read_file"&&t!=="return_value"&&t!=="call_sub_agent"&&t!=="web_search"&&t!=="load_skill"&&t!=="web_fetch"&&t!=="dev_server"&&t!=="worktree"&&t!=="background_process"&&t!=="mcp_config"&&t!=="step_done"&&i.jsxs(i.Fragment,{children:[Object.keys(n).length>0&&i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-text-muted mb-0.5",children:"Arguments:"}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto break-words",children:MB(n)})]}),r==="success"&&u!==void 0&&i.jsxs("div",{children:[i.jsxs("div",{className:"text-[10px] text-text-muted mb-0.5",children:["Result",d!==void 0&&` (${d}ms)`,":"]}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded overflow-x-auto max-h-[60vh] break-words",children:u||"No output"}),w&&i.jsx(il,{className:"mt-1"})]})]}),r==="success"&&(t==="edit_file"||t==="write_file"||t==="read_file")&&d!==void 0&&i.jsxs("div",{className:"text-[10px] text-text-muted flex items-center gap-2",children:[i.jsxs("span",{children:["Completed in ",d,"ms"]}),j&&(t==="read_file"||t==="write_file"||t==="edit_file")&&String((y==null?void 0:y.path)??n.path??"")&&i.jsx("a",{href:`vscode://file/${String((y==null?void 0:y.path)??n.path)}${E?`:${E}`:""}`,className:"text-accent-primary hover:underline ml-auto",children:"Open in VSCode"})]}),r==="error"&&c&&t!=="run_command"&&i.jsxs("div",{children:[i.jsx("div",{className:"text-[10px] text-accent-error mb-0.5",children:"Error:"}),i.jsx("pre",{className:"text-xs bg-bg-primary p-1.5 rounded text-accent-error break-words",children:c})]})]})]})}),$B={read_file:"Reading file",write_file:"Writing file",edit_file:"Editing file",run_command:"Running command",glob:"Searching files",grep:"Searching content",ask_user:"Asking user",criterion:"Managing criterion",session_metadata:"Managing",todo_write:"Updating tasks"},zB={criteria:"criteria",review_findings:"review findings",todos:"tasks"};function HB(e,t){const n=$B[e];if(!n)return`Preparing ${e}`;if(e==="session_metadata"&&t)try{const o=JSON.parse(t).key;if(o){const l=zB[o]??o;return`${n} ${l}`}}catch{}return n}function UB(e){try{const t=e.replace(/\s*\}\s*$/,""),n=JSON.parse(t);if(typeof n.command=="string")return n.command}catch{const t=e.match(/"command"\s*:\s*"([^"]*)/);if(t&&t[1])return t[1]}return null}const FB=A.memo(function({name:t,arguments:n}){let o=HB(t,n)+"...";if(t==="run_command"&&n){const l=UB(n);l&&(o=l)}return i.jsx("div",{className:"border border-border rounded overflow-hidden my-1 min-w-0 animate-pulse",children:i.jsxs("div",{className:"flex items-center gap-1.5 p-2 bg-bg-tertiary",children:[i.jsx("span",{className:"text-accent-warning animate-pulse",children:"..."}),i.jsx(ik,{tool:t}),i.jsx("span",{className:"font-mono text-accent-primary text-sm",children:t}),t==="run_command"&&n?i.jsx("code",{className:"text-text-muted text-xs flex-1 truncate",children:o}):i.jsx("span",{className:"text-text-muted text-xs flex-1",children:o})]})})}),VB={pending:{icon:"○",color:"text-text-muted"},in_progress:{icon:"●",color:"text-accent-warning",animate:!0},completed:{icon:"✓",color:"text-accent-success"}},GB=A.memo(function({todos:t}){return Array.isArray(t)?t.length===0?i.jsx("div",{className:"text-xs text-text-muted italic my-1",children:"No tasks"}):i.jsxs("div",{className:"my-1 rounded border border-border bg-bg-tertiary overflow-hidden",children:[i.jsx("div",{className:"px-2 py-1.5 border-b border-border bg-bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:"Tasks"})}),i.jsx("div",{children:t.map((n,r)=>{const o=VB[n.status];return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${r>0?"border-t border-border":""}`,children:[i.jsx("span",{className:`${(o==null?void 0:o.color)??"text-text-muted"} ${o!=null&&o.animate?"animate-pulse":""} text-sm leading-tight`,children:(o==null?void 0:o.icon)??"○"}),i.jsx("span",{className:`text-sm leading-tight ${n.status==="completed"?"text-text-muted":"text-text-primary"}`,children:n.content})]},r)})})]}):i.jsx("div",{className:"text-xs text-accent-warning italic my-1",children:"⚠️ Invalid todos data"})});function WB({toolCall:e}){var j;const t=Le(E=>E.pendingQuestions),n=Le(E=>E.answerQuestion),[r,o]=A.useState(""),l=A.useRef(null),u=A.useRef(null),c=t.find(E=>E.callId===e.id),d=e.arguments.question??(c==null?void 0:c.question)??"",f=e.arguments.type??(c==null?void 0:c.type)??"text",p=e.arguments.options??(c==null?void 0:c.options)??void 0,m=e.result!==void 0,x=c!==void 0&&!m,y=((j=e.result)==null?void 0:j.output)??"",w=y==="[user skipped]";A.useEffect(()=>{x&&l.current&&l.current.focus()},[x]),A.useEffect(()=>{x&&u.current&&u.current.scrollIntoView({behavior:"smooth",block:"nearest"})},[x]);const C=A.useCallback(()=>{c&&n(c.callId,r)},[c,r,n]),v=A.useCallback(()=>{c&&n(c.callId,"",!0)},[c,n]),S=A.useCallback(E=>{E.key==="Enter"&&!E.shiftKey&&(E.preventDefault(),C()),E.key==="Escape"&&!E.shiftKey&&(E.preventDefault(),v())},[C,v]),_=A.useCallback(E=>{c&&n(c.callId,E)},[c,n]),b="px-3 py-1.5 text-xs font-medium rounded transition-colors";return i.jsxs("div",{ref:u,className:"my-1",children:[i.jsx("div",{className:"text-sm text-text-primary",children:d}),x&&i.jsx("div",{className:"mt-2 border border-border rounded overflow-hidden",children:i.jsx("div",{className:"p-3 bg-primary space-y-2",children:f==="confirm"?i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>_("yes"),className:`${b} flex-1 bg-accent-success/20 hover:bg-accent-success/30 text-accent-success border border-accent-success/30`,children:"Yes"}),i.jsx("button",{onClick:()=>_("no"),className:`${b} flex-1 bg-accent-error/20 hover:bg-accent-error/30 text-accent-error border border-accent-error/30`,children:"No"}),i.jsx("button",{onClick:v,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"})]}):f==="choice"&&p&&p.length>0?i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"flex flex-col gap-1.5",children:p.map(E=>i.jsx("button",{onClick:()=>_(E),className:`${b} text-left w-full bg-bg-tertiary hover:bg-accent-primary/20 text-text-primary border border-border hover:border-accent-primary/50`,children:E},E))}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("textarea",{ref:l,value:r,onChange:E=>o(E.target.value),onKeyDown:S,placeholder:"Or type your own answer... (Enter to submit)",className:"flex-1 min-h-[36px] max-h-[80px] px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 resize-y",rows:1}),i.jsx("button",{onClick:C,disabled:!r.trim(),className:`${b} bg-accent-primary/25 hover:bg-accent-primary/40 text-text-primary disabled:opacity-50 disabled:cursor-not-allowed`,children:"Send"}),i.jsx("button",{onClick:v,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"})]})]}):i.jsxs(i.Fragment,{children:[i.jsx("textarea",{ref:l,value:r,onChange:E=>o(E.target.value),onKeyDown:S,placeholder:"Type your answer here... (Enter to submit, Shift+Enter for new line)",className:"w-full min-h-[80px] px-3 py-2 bg-bg-tertiary border border-border rounded text-sm text-text-primary placeholder:text-text-muted focus:outline-none focus:ring-2 focus:ring-accent-primary/50 resize-y",autoFocus:!0}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx("button",{onClick:v,className:`${b} bg-bg-tertiary hover:bg-bg-tertiary/80 text-text-secondary border border-border`,children:"Skip"}),i.jsx("button",{onClick:C,disabled:!r.trim(),className:`${b} bg-accent-primary/25 hover:bg-accent-primary/40 text-text-primary disabled:opacity-50 disabled:cursor-not-allowed`,children:"Send Answer"})]})]})})}),m&&i.jsx("div",{className:"mt-1 flex items-center gap-2",children:i.jsx("span",{className:`text-xs ${w?"text-amber-400":"text-accent-success"}`,children:w?"Skipped":`Answered: ${y}`})})]})}const oS={add:{icon:"○",color:"text-text-muted"},update:{icon:"○",color:"text-text-muted"},remove:{icon:"○",color:"text-text-muted"},complete:{icon:"◉",color:"text-purple-400"},pass:{icon:"✓",color:"text-accent-success"},fail:{icon:"✗",color:"text-accent-error"},get:{icon:"○",color:"text-text-muted"},list:{icon:"○",color:"text-text-muted"},schema:{icon:"○",color:"text-text-muted"}},qB=A.memo(function({toolCalls:t,criteria:n}){if(t.length===0)return null;const r=new Map((n==null?void 0:n.map(d=>[d.id,d]))??[]),o=t.find(d=>{var f,p;return d.arguments.action==="get"&&((f=d.result)==null?void 0:f.success)&&((p=d.result)==null?void 0:p.output)}),l=t.some(d=>d.name==="session_metadata"),u={criteria:"Acceptance Criteria",review_findings:"Review Findings",todos:"Tasks"},c=(()=>{if(!l)return"Acceptance Criteria";const d=new Set(t.map(f=>f.arguments.key).filter(Boolean));if(d.size===1){const f=d.values().next().value;return f?u[f]??f:"Session Data"}return"Session Data"})();return i.jsxs("div",{className:"my-1 rounded border border-border bg-secondary overflow-hidden",children:[i.jsx("div",{className:"px-2 py-1.5 border-b border-border bg-secondary",children:i.jsx("span",{className:"text-xs font-medium text-text-muted",children:c})}),i.jsx("div",{className:"bg-primary",children:o?(()=>{const d=o.result.output;if(d==="No criteria defined yet.")return i.jsxs("div",{className:"flex items-start gap-2 px-2 py-1.5",children:[i.jsx("span",{className:"text-text-muted text-sm leading-tight flex-shrink-0",children:"○"}),i.jsx("div",{className:"flex-1 min-w-0 text-text-muted text-sm",children:"No criteria defined yet."})]});try{return JSON.parse(d).map((p,m)=>i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${m>0?"border-t border-border":""}`,children:[i.jsx("span",{className:"text-text-muted text-sm leading-tight flex-shrink-0",children:"○"}),i.jsx("div",{className:"flex-1 min-w-0",children:i.jsx(Vn,{content:`[${p.id}] ${p.description}`})})]},p.id??m))}catch{return t.map((f,p)=>i.jsx(lS,{tc:f,index:p,criteriaMap:r},f.id??p))}})():t.map((d,f)=>i.jsx(lS,{tc:d,index:f,criteriaMap:r},d.id??f))})]})});function lS({tc:e,index:t,criteriaMap:n}){const r=e.arguments.action,o=e.arguments,l=e.name==="session_metadata",u=r==="remove",c=o.id,d=o.description,f=c?n.get(c):void 0,p=d??(f==null?void 0:f.description)??(u&&c?`[${c}]`:"Criterion updated"),m=o.reason,x=r==="fail";return i.jsxs("div",{className:`flex items-start gap-2 px-2 py-1.5 ${t>0?"border-t border-border":""}`,children:[l?i.jsx(ud,{status:o.status,className:"text-sm leading-tight flex-shrink-0"}):(()=>{const y=r&&oS[r]?oS[r]:{icon:"○",color:"text-text-muted"};return i.jsx("span",{className:`${y.color} text-sm leading-tight flex-shrink-0`,children:y.icon})})(),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsx("div",{className:u?"line-through text-text-muted":"",children:i.jsx(Vn,{content:p})}),m&&i.jsxs("div",{className:`mt-1 text-sm ${x?"text-accent-error":"text-text-muted"}`,children:[i.jsx("span",{className:"text-text-muted",children:"└ "}),'"',m,'"']})]})]})}function KB(e){return e==="criterion"||e==="session_metadata"}function YB(e){const t=[];let n=[];const r=()=>{n.length>0&&(t.push({type:"criteria_group",toolCalls:n}),n=[])};for(const o of e)o.type==="tool_call"&&KB(o.toolCall.name)?n.push(o.toolCall):(r(),t.push(o));return r(),t}function XB(e,t){if(e.segments&&e.segments.length>0)return QB(e.segments,e.toolCalls??[],e.preparingToolCalls??[],e.stats,t);const n=[];if(e.thinkingContent&&n.push({type:"thinking",content:e.thinkingContent}),e.content&&n.push({type:"text",content:e.content}),e.toolCalls)for(const r of e.toolCalls)n.push({type:"tool_call",toolCall:r});if(e.preparingToolCalls)for(const r of e.preparingToolCalls)n.push({type:"preparing_tool_call",preparing:r});return t&&e.stats&&n.push({type:"stats",stats:e.stats}),n}function QB(e,t,n,r,o){const l=[],u=new Map(t.map(c=>[c.id,c]));for(const c of e)switch(c.type){case"text":l.push({type:"text",content:c.content});break;case"thinking":c.content&&c.content.trim().length>0&&l.push({type:"thinking",content:c.content});break;case"tool_call":{const d=u.get(c.toolCallId);d&&l.push({type:"tool_call",toolCall:d});break}}for(const c of n)l.push({type:"preparing_tool_call",preparing:c});return o&&r&&l.push({type:"stats",stats:r}),l}const kg=A.memo(function({message:t,showStats:n=!0,showThinking:r=!0,showVerboseToolOutput:o=!0}){const l=Le(x=>{var y,w;return(w=(y=x.currentSession)==null?void 0:y.metadataEntries)==null?void 0:w.criteria}),u=Ct(x=>x.defaults),c=Ct(x=>x.userItems),d=[...u,...c],f=XB(t,n),p=r?f:f.filter(x=>x.type!=="thinking"),m=YB(p);return m.length===0?null:i.jsx("div",{className:"feed-item",children:i.jsxs("div",{className:"min-w-0",children:[m.map((x,y)=>{var w;switch(x.type){case"thinking":return i.jsx(cB,{content:x.content},y);case"text":return i.jsx("div",{className:"prose prose-sm prose-invert max-w-none",children:i.jsx(Vn,{content:x.content})},y);case"preparing_tool_call":return i.jsx(FB,{name:x.preparing.name,arguments:x.preparing.arguments},`preparing-${x.preparing.index}`);case"tool_call":{const C=x.toolCall,v=C.result;if(C.name==="ask_user")return i.jsx(WB,{toolCall:C},y);if(C.name==="todo_write"){const b=C.arguments.todos,j=Array.isArray(b)?b:[];return i.jsx(GB,{todos:j},y)}const S=(w=v==null?void 0:v.output)==null?void 0:w.includes("[interrupted by user]"),_=v?S?"interrupted":v.success?"success":"error":"pending";return i.jsx(BB,{tool:C.name,args:C.arguments,status:_,variant:"expandable",forceCompact:!o,result:v==null?void 0:v.output,error:v==null?void 0:v.error,durationMs:v==null?void 0:v.durationMs,diagnostics:v==null?void 0:v.diagnostics,editContext:v==null?void 0:v.editContext,startedAt:C.startedAt,streamingOutput:C.streamingOutput,metadata:v==null?void 0:v.metadata,truncated:(v==null?void 0:v.truncated)??!1,callId:C.id},y)}case"criteria_group":return i.jsx(qB,{toolCalls:x.toolCalls,criteria:l},y);case"stats":{const C=x.stats;if(!C||"error"in C)return null;const v=C.model.split("/").pop()??C.model,S=_l(d,C.mode),_=j=>j>=1e3?`${(j/1e3).toFixed(1)}k`:j.toString(),b=j=>j>=1e3?`${(j/1e3).toFixed(1)}k`:j.toFixed(1);return i.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-[10px] text-text-muted mt-3",children:[i.jsx("span",{className:"flex-1 h-px bg-border"}),i.jsx("span",{className:"text-text-secondary",children:v}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsx("span",{style:{color:S},children:C.mode}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[C.totalTime.toFixed(1),"s"]}),C.toolTime>0&&i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[C.toolTime.toFixed(1),"s tools"]})]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[_(C.prefillTokens)," @ ",b(C.prefillSpeed)," pp"]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsxs("span",{children:[_(C.generationTokens)," @ ",b(C.generationSpeed)," tg"]}),i.jsx("span",{className:"text-text-muted",children:"·"}),i.jsx("button",{type:"button",className:"text-text-muted hover:text-text-secondary transition-colors",title:"View detailed stats",onClick:()=>{const j=new CustomEvent("open-turn-stats",{detail:{stats:C}});window.dispatchEvent(j)},children:i.jsx(US,{className:"w-3 h-3"})}),i.jsx("span",{className:"flex-1 h-px bg-border"})]},y)}}}),t.partial&&i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-accent-warning mt-1",children:[i.jsx(Km,{}),i.jsx("span",{children:"Aborted"})]}),t.completeReason==="truncated"&&i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px] text-amber-400/80 mt-1",children:[i.jsx(Km,{}),i.jsx("span",{children:"Response was truncated — the model ran out of output tokens."})]})]})})});function Zu(e,t){const n=parseInt(e.slice(1,3),16),r=parseInt(e.slice(3,5),16),o=parseInt(e.slice(5,7),16);return`rgba(${n},${r},${o},${t})`}function JB(e){if(e<60)return`${e}s`;const t=Math.floor(e/60),n=Math.round(e%60);return n>0?`${t}m ${n}s`:`${t}m`}function ZB(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:String(e)}const e8=A.memo(function({data:t}){var u;const n=Rt(c=>c.defaults),r=Rt(c=>c.userItems),l=((u=[...n,...r].find(c=>c.id===t.workflowId))==null?void 0:u.color)??t.workflowColor??"#8b949e";return i.jsxs("div",{"data-testid":"task-completed-card",className:"feed-item rounded p-3 border",style:{borderColor:Zu(l,.3),backgroundColor:Zu(l,.08)},children:[i.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[i.jsx(pN,{color:l}),i.jsx("span",{className:"text-sm font-medium",style:{color:l},children:t.workflowName??"Task Completed"})]}),i.jsxs("div",{className:"grid grid-cols-3 sm:grid-cols-5 gap-2",children:[i.jsx(al,{label:"Iterations",value:String(t.iterations)}),i.jsx(al,{label:"Total time",value:JB(t.totalTimeSeconds)}),i.jsx(al,{label:"Tool calls",value:String(t.totalToolCalls)}),i.jsx(al,{label:"Tokens",value:ZB(t.totalTokensGenerated)}),i.jsx(al,{label:"Speed",value:t.avgGenerationSpeed>0?`${t.avgGenerationSpeed} tok/s`:"-"})]})]})});function al({label:e,value:t}){return i.jsxs("div",{className:"bg-bg-primary/50 rounded px-2 py-1",children:[i.jsx("div",{className:"text-sm text-text-muted",children:e}),i.jsx("div",{className:"text-sm text-text-primary font-medium",children:t})]})}const t8=A.memo(function({data:t}){var u;const n=Rt(c=>c.defaults),r=Rt(c=>c.userItems),l=((u=[...n,...r].find(c=>c.id===t.workflowId))==null?void 0:u.color)??t.workflowColor??"#6b7280";return i.jsxs("div",{className:"feed-item flex items-center gap-2 px-3 py-2 rounded border",style:{borderColor:Zu(l,.3),backgroundColor:Zu(l,.08)},children:[i.jsx(dN,{className:"w-3 h-3 shrink-0",color:l}),i.jsx("span",{className:"text-sm font-medium",style:{color:l},children:t.workflowName}),i.jsx("span",{className:"text-text-muted text-sm",children:"started"})]})}),n8=["text/"],r8=["application/json","application/xml","application/yaml","application/x-yaml","application/javascript","application/xhtml+xml","application/x-sh","image/svg+xml"];function Tu(e){return e.startsWith("image/")}function lk(e){return e.startsWith("image/")&&e!=="image/svg+xml"}function Eg(e){return r8.includes(e)||n8.some(t=>e.startsWith(t))}function Ha(e){return e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:`${(e/(1024*1024)).toFixed(1)} MB`}function ck(e){const t=e.lastIndexOf(".");return t<=0||t>=e.length-1?"FILE":e.slice(t+1).toUpperCase()}const s8={"text/plain":"txt","text/csv":"csv","text/html":"html","text/markdown":"md","text/javascript":"js","text/xml":"xml","text/x-yaml":"yaml","text/x-sh":"sh","text/tab-separated-values":"tsv","text/x-python":"py","text/x-java-source":"java","text/x-json":"json","text/x-typescript":"ts","text/css":"css","application/json":"json","application/xml":"xml","application/yaml":"yaml","application/x-yaml":"yaml","application/javascript":"js","application/xhtml+xml":"xhtml","application/x-sh":"sh","application/pdf":"pdf","image/png":"png","image/jpeg":"jpg","image/gif":"gif","image/webp":"webp","image/bmp":"bmp","image/svg+xml":"svg"};function i8(e){var t;return s8[e]||((t=e.split("/")[1])==null?void 0:t.split("+")[0])||"file"}function a8(e){return Tu(e)||Eg(e)||e==="application/pdf"}function o8({attachments:e,messageId:t}){const[n,r]=A.useState(null),o=Le(p=>p.visionFallbackByMessage),l=Le(p=>p.messages),u=A.useMemo(()=>{const p=l.findIndex(m=>m.id===t);if(p===-1)return null;for(let m=p+1;m<l.length;m++){const x=l[m];if(x&&x.role==="assistant")return x.id}return null},[l,t]),c=p=>{r(p)},d=()=>{r(null)},f=p=>{const m=`${t}-${p}`;if(o[m])return o[m];if(u){const x=`${u}-${p}`;return o[x]}return null};return e.length===0?null:i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"mt-3 flex flex-wrap gap-3",children:e.map(p=>{const m=f(p.id);return lk(p.mimeType)?i.jsxs("div",{className:"relative inline-block",children:[i.jsxs("button",{onClick:()=>c(p.data),className:"group relative inline-block",title:(m==null?void 0:m.type)==="done"&&m.description||p.description||p.filename,disabled:(m==null?void 0:m.type)==="start",children:[i.jsx("img",{src:p.data,alt:(m==null?void 0:m.type)==="done"&&m.description||p.description||p.filename,className:"max-w-[256px] max-h-[256px] object-contain rounded-lg border border-border hover:border-accent-primary transition-colors cursor-pointer"}),(m==null?void 0:m.type)==="start"&&i.jsx("div",{className:"absolute inset-0 bg-black/60 flex items-center justify-center rounded-lg",children:i.jsx("span",{className:"text-xs text-text-primary animate-pulse",children:"Describing image..."})})]}),(m==null?void 0:m.type)==="done"&&m.description&&i.jsxs("div",{className:"mt-2 p-2 bg-bg-tertiary rounded text-xs text-text-secondary max-w-[256px]",children:[m.description.slice(0,200),m.description.length>200?"...":""]})]},p.id):i.jsxs("div",{className:"inline-flex items-start gap-3 p-3 bg-bg-tertiary rounded-lg border border-border max-w-[300px]",children:[i.jsx("div",{className:"w-10 h-10 flex items-center justify-center rounded-md bg-bg-secondary text-sm font-bold text-text-muted shrink-0",children:ck(p.filename)}),i.jsxs("div",{className:"min-w-0 flex-1",children:[i.jsx("div",{className:"text-xs text-text-primary truncate font-medium",title:p.filename,children:p.filename}),i.jsx("div",{className:"text-[10px] text-text-muted",children:Ha(p.size)}),Eg(p.mimeType)&&p.data&&i.jsxs("div",{className:"mt-1.5 text-[10px] text-text-muted leading-relaxed line-clamp-3 font-mono break-all",children:[p.data.slice(0,200),p.data.length>200?"...":""]})]})]},p.id)})}),n&&i.jsx(ak,{src:n,alt:"Attached image",isOpen:!0,onClose:d})]})}function l8({content:e,align:t="right",messageId:n,sessionId:r}){const[o,l]=A.useState(!1),[u,c]=A.useState(!1),[d,f]=A.useState("left"),p=A.useRef(null),m=A.useRef(null),x=Le(S=>S.loadSession),y=t==="right",w=()=>{if(!m.current)return"left";const S=m.current.getBoundingClientRect(),_=window.innerWidth-S.right,b=S.left,j=160,E=_>=j,T=b>=j;return T&&E||T?"left":E?"right":b>=_?"left":"right"};A.useEffect(()=>{const S=_=>{p.current&&!p.current.contains(_.target)&&l(!1)};return o&&document.addEventListener("mousedown",S),()=>document.removeEventListener("mousedown",S)},[o]);const C=async()=>{try{if(navigator.clipboard)await navigator.clipboard.writeText(e);else{const S=document.createElement("textarea");S.value=e,S.style.position="fixed",S.style.left="-999999px",document.body.appendChild(S),S.select(),document.execCommand("copy"),document.body.removeChild(S)}c(!0),l(!1),window.setTimeout(()=>c(!1),1500)}catch(S){console.error("Failed to copy:",S)}},v=async()=>{!r||!n||(l(!1),await ej(r,n),x(r))};return i.jsx(i.Fragment,{children:i.jsxs("div",{className:`flex items-start gap-1.5 ${y?"":"order-first"}`,children:[u&&i.jsx(Wr,{className:"w-4 h-4 text-accent-success"}),i.jsxs("div",{ref:p,className:"relative",children:[i.jsx("button",{ref:m,onClick:()=>{o||f(w()),l(!o)},className:"p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary",title:"Message options",children:i.jsx(Ip,{})}),o&&i.jsxs("div",{className:`absolute top-full mt-1 bg-bg-secondary border border-border rounded shadow-xl z-50 py-1 min-w-36 ${d==="right"?"left-0":"right-0"}`,children:[i.jsxs("button",{onClick:C,className:"w-full px-3 py-1.5 text-left text-sm text-text-primary hover:bg-bg-tertiary flex items-center gap-2",children:[i.jsx(Op,{className:"w-4 h-4"}),"Copy"]}),r&&n&&i.jsxs(i.Fragment,{children:[i.jsx("div",{className:"border-t border-border my-1"}),i.jsxs("button",{onClick:v,className:"w-full px-3 py-1.5 text-left text-sm text-text-primary hover:bg-bg-tertiary flex items-center gap-2",children:[i.jsx(Mp,{className:"w-4 h-4"}),"Replay"]})]})]})]})]})})}function c8({message:e}){const[t,n]=A.useState(!1);if(e.messageKind!=="auto-prompt")return null;const r=e.metadata,o=(r==null?void 0:r.color)??"#6b7280",l=(r==null?void 0:r.name)??"Agent",u=(r==null?void 0:r.type)??"agent",d={agent:(r==null?void 0:r.kind)==="reminder"?"reminder":"definition injected",workflow:"instructions",compaction:"prompt injected",subagent:"instructions",worktree:(r==null?void 0:r.kind)==="reminder"?`${(r==null?void 0:r.branchName)??""} (closed)`:`${(r==null?void 0:r.branchName)??""} (open)`}[u]??"injected",f=u==="workflow"||u==="subagent";return i.jsxs(i.Fragment,{children:[i.jsxs("div",{className:"flex items-center justify-center gap-1.5 text-[10px] text-text-muted font-mono mt-3 mb-4",children:[i.jsx("span",{className:"flex-1 h-px bg-border"}),i.jsx("span",{className:`w-1.5 h-1.5 rounded-full flex-shrink-0 ${f?"":"cursor-pointer"}`,style:{backgroundColor:o},onClick:()=>!f&&n(!0)}),i.jsx("span",{className:f?"":"cursor-pointer hover:text-text-secondary transition-colors",style:{color:o},onClick:()=>!f&&n(!0),children:l}),i.jsx("span",{children:"·"}),i.jsx("span",{className:f?"":"cursor-pointer hover:text-text-secondary transition-colors",onClick:()=>!f&&n(!0),children:d}),i.jsx("span",{className:"flex-1 h-px bg-border"})]}),f&&i.jsx("div",{className:"flex justify-center feed-item mb-4",children:i.jsx("div",{className:"max-w-[75%] rounded p-3 bg-bg-tertiary/50 text-text-secondary text-sm overflow-x-auto",style:{borderLeft:`3px solid ${o}`},children:i.jsx("pre",{className:"whitespace-pre-wrap break-words font-mono text-xs",children:e.content})})}),i.jsx(Ot,{isOpen:t,onClose:()=>n(!1),title:`${l} Prompt`,size:"lg",children:i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-3 h-3 rounded-full",style:{backgroundColor:o}}),i.jsx("span",{className:"text-sm text-text-primary font-medium",children:l}),i.jsxs("span",{className:"text-xs text-text-muted",children:["(",u,")"]})]}),i.jsx("div",{className:"h-full min-h-96",children:i.jsx("pre",{className:"text-sm text-text-secondary whitespace-pre-wrap break-words bg-bg-tertiary rounded p-4 h-full min-h-96 overflow-auto font-mono",children:e.content})})]})})]})}function u8({message:e,messageId:t,sessionId:n}){const r=e.messageKind==="auto-prompt",o=e.messageKind==="command",l=e.isSystemGenerated;return i.jsxs("div",{className:"flex justify-end items-start gap-1.5 feed-item",children:[!l&&i.jsx(l8,{content:e.content,align:"right",messageId:t,sessionId:n}),i.jsxs("div",{className:`max-w-[75%] rounded p-2 ${l?o?"bg-teal-500/10 border border-teal-500/30":r?"bg-slate-500/10 border border-slate-500/30":"bg-amber-500/10 border border-amber-500/30":"bg-accent-primary/15 text-text-primary"}`,children:[l&&i.jsx("span",{className:`text-[10px] block mb-0.5 ${o?"text-teal-400":r?"text-slate-400":"text-amber-400"}`,children:o?"Command":r?"Auto":"System"}),i.jsx("div",{className:`whitespace-pre-wrap break-words text-sm ${l?`${o?"text-teal-200":r?"text-slate-200":"text-amber-200 italic"}`:""}`,children:e.content}),e.attachments&&e.attachments.length>0&&i.jsx(o8,{attachments:e.attachments,messageId:e.id})]})]})}const uk=A.memo(function({message:t,isLastAssistantMessage:n=!1,messageId:r,sessionId:o}){const l=t.role==="user",u=t.role==="assistant",c=t.role==="system",d=t.role==="tool";if(u)return i.jsx(kg,{message:t,showStats:n});if(c&&t.isCompacted)return i.jsxs("div",{className:"feed-item bg-bg-tertiary/50 border border-border rounded p-2",children:[i.jsx("div",{className:"text-text-muted text-xs mb-0.5",children:"[Compacted]"}),i.jsx("div",{className:"text-text-secondary text-xs whitespace-pre-wrap",children:t.content.replace(`[COMPACTED HISTORY]
|
|
287
|
+
`,"")})]});if(d)return i.jsxs("div",{className:"feed-item bg-bg-tertiary/30 border-l-2 border-accent-primary rounded-r p-2",children:[i.jsxs("div",{className:"text-accent-primary text-xs mb-0.5",children:["Tool: ",t.toolName]}),i.jsxs("pre",{className:"text-text-secondary text-xs whitespace-pre-wrap break-words overflow-x-auto max-h-32",children:[t.content.slice(0,500),t.content.length>500&&"..."]})]});if(t.messageKind==="workflow-started")try{const f=JSON.parse(t.content);return i.jsx(t8,{data:f})}catch{}if(t.messageKind==="task-completed")try{const f=JSON.parse(t.content);return i.jsx(e8,{data:f})}catch{}return t.messageKind==="context-reset"?i.jsxs("div",{className:"flex items-center gap-4 mb-6 text-text-muted text-xs uppercase tracking-wide",children:[i.jsx("div",{className:"flex-1 border-t border-border"}),i.jsx("span",{children:t.content}),i.jsx("div",{className:"flex-1 border-t border-border"})]}):t.messageKind==="auto-prompt"&&t.isSystemGenerated?i.jsx(c8,{message:t}):t.messageKind==="correction"&&t.isSystemGenerated?i.jsx("div",{className:"flex justify-end feed-item",children:i.jsxs("div",{className:"max-w-[75%] rounded p-2 bg-amber-500/10 border border-amber-500/30",children:[i.jsx("span",{className:"text-[10px] block mb-0.5 text-amber-400",children:"System"}),i.jsx("div",{className:"whitespace-pre-wrap break-words text-sm text-amber-200 italic",children:t.content})]})}):l?i.jsx(u8,{message:t,messageId:r,sessionId:o}):i.jsx("div",{className:"flex justify-start feed-item",children:i.jsx("div",{className:"max-w-[75%] rounded p-2 bg-bg-tertiary text-text-primary",children:i.jsx(Vn,{content:t.content})})})}),d8={verifier:"Verification",code_reviewer:"Code Review",test_generator:"Test Generation",debugger:"Debug"};function h8(e){return{backgroundColor:`${e}20`,color:e,borderColor:`${e}4d`}}function cS(e,t){return t||e>85?"text-accent-error":e>60?"text-accent-warning":"text-text-muted"}function f8({contextState:e}){const{currentTokens:t,maxTokens:n,compactionCount:r,dangerZone:o}=e,l=Math.round(t/n*100);return i.jsxs("div",{className:"flex items-center gap-1.5 text-[10px]",children:[i.jsxs("span",{className:cS(l,o),children:[Ru(t),"/",Ru(n)]}),i.jsxs("span",{className:cS(l,o),children:["(",l,"%)"]}),i.jsx(E1,{percent:l,dangerZone:o,size:"sm"}),o&&i.jsx("span",{className:"text-accent-error animate-pulse",children:"Low!"}),r>0&&i.jsxs("span",{className:"text-text-muted bg-bg-tertiary px-1 rounded",children:[r,"x"]})]})}const m8=A.memo(function({messages:t,subAgentType:n,subAgentId:r,isStreaming:o}){const l=A.useRef(null),u=A.useRef(null),[c,d]=A.useState(!1),f=Ct(D=>D.defaults),p=Ct(D=>D.userItems),m=[...f,...p],x=Le(D=>D.subAgentContextStates[r]),{showThinking:y,showVerboseToolOutput:w}=zi(),{isAutoScrollActive:C,setAutoScroll:v}=dd(u,null),S=A.useCallback(()=>{const D=!c;d(D),D&&setTimeout(()=>{var L;(L=l.current)==null||L.scrollIntoView({block:"start",behavior:"smooth"})},220)},[c]),_=m.find(D=>D.id===n),b=(_==null?void 0:_.name)??d8[n]??n,j=_l(m,n),E=h8(j),T=t.filter(D=>D.role!=="tool");return i.jsxs("div",{ref:l,className:"feed-item border border-border rounded overflow-hidden bg-secondary",children:[i.jsxs("div",{className:"w-full flex items-center justify-between px-2 py-1 border-b relative",style:E,children:[i.jsx("span",{className:"text-xs font-medium",children:b}),i.jsx("div",{className:"absolute left-1/2 -translate-x-1/2",children:x&&i.jsx(f8,{contextState:x})}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsxs("button",{type:"button",className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5",onClick:()=>v(!C),children:[i.jsx("span",{className:`w-1 h-1 rounded-full ${C?"bg-accent-success":"border border-text-muted"}`}),"live"]}),i.jsxs("button",{type:"button",className:"text-[10px] px-1.5 py-0.5 rounded bg-bg-tertiary",onClick:S,children:[c?"▼":"▶"," Expand"]})]})]}),i.jsx("div",{ref:u,className:`${c?"max-h-[calc(100vh-10rem)]":"max-h-80"} overflow-y-auto p-2 transition-[max-height] duration-200`,children:T.map(D=>D.role==="assistant"?i.jsx(kg,{message:D,showStats:!0,showThinking:y,showVerboseToolOutput:w},D.id):i.jsx(uk,{message:D,isLastAssistantMessage:!1},D.id))})]})});function bu(e){var t;return e.type==="context-divider"?`ctx-${e.windowSequence}`:e.type==="subagent"?((t=e.messages[0])==null?void 0:t.id)??e.subAgentId:e.message.id}const dk=A.memo(function({displayItems:t,highlightedMessageId:n=null,sessionId:r,showThinking:o=!0,showVerboseToolOutput:l=!0,showStats:u=!0,showAgentDefinitions:c=!0,showWorkflowBars:d=!0}){return i.jsx(i.Fragment,{children:t.map((f,p)=>{if(f.type==="context-divider")return i.jsxs("div",{"data-item-index":p,className:"flex items-center gap-2 feed-item px-2 md:px-4",children:[i.jsx("div",{className:"flex-1 border-t border-border"}),i.jsx("span",{className:"text-[10px] text-text-muted font-medium px-2",children:"Earlier context summarized"}),i.jsx("div",{className:"flex-1 border-t border-border"})]},bu(f));if(f.type==="subagent"){const w=f.messages.some(C=>C.isStreaming);return i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",children:i.jsx(m8,{messages:f.messages,subAgentType:f.subAgentType,subAgentId:f.subAgentId,isStreaming:w})},bu(f))}const m=f.message;if(m.role==="assistant")return i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",children:i.jsx(kg,{message:m,showStats:u,showThinking:o,showVerboseToolOutput:l})},bu(f));const x=!c&&m.messageKind==="auto-prompt",y=!d&&(m.messageKind==="workflow-started"||m.messageKind==="task-completed");return x||y?null:i.jsx("div",{"data-item-index":p,className:"px-2 md:px-4",children:i.jsx("div",{"data-message-id":m.id,className:n===m.id?"rounded animate-highlight-fade":void 0,children:i.jsx(uk,{message:m,messageId:m.id,sessionId:r??void 0,isLastAssistantMessage:!1})})},bu(f))})})});function hk(e,t,n=!0){A.useEffect(()=>{if(!n)return;const r=o=>{var l;(l=e.current)!=null&&l.contains(o.target)||t()};return document.addEventListener("mousedown",r),()=>document.removeEventListener("mousedown",r)},[e,t,n])}const p8=[],g8=A.memo(function({displayItems:t,scrollContainerRef:n,highlightedMessageId:r,onLaunchWorkflow:o,hiddenCount:l=0}){const u=Le(H=>{var V,U;return((U=(V=H.currentSession)==null?void 0:V.metadataEntries)==null?void 0:U.criteria)??p8}),c=Le(H=>{var V;return(V=H.currentSession)==null?void 0:V.id}),d=Le(H=>{var V;return(V=H.currentSession)==null?void 0:V.mode}),f=Le(H=>{var V;return(V=H.currentSession)==null?void 0:V.phase}),p=Le(H=>H.error),m=Le(H=>H.clearError),x=sd(),{showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:v,showWorkflowBars:S}=zi(),_=Rt(H=>H.defaults),b=Rt(H=>H.userItems),j=[..._,...b],E=d==="planner",T=u.length>0,D=f==="done",L=t.some(H=>H.type==="message"&&H.message.role==="assistant"),O=E&&T&&!x&&L&&!D,P=Le(H=>{var V;return(V=H.currentSession)==null?void 0:V.projectId}),[G,W]=A.useState(!1),I=()=>{if(!P||!c)return;W(!1),window.open(`/p/${P}/s/${c}/readonly`,"_blank")||W(!0)};return i.jsxs("div",{ref:n,"data-testid":"chat-scroll-container",className:"flex-1 min-w-0 overflow-y-auto relative bg-primary",children:[i.jsxs("div",{className:"pt-4",children:[l>0&&i.jsxs("div",{className:"px-2 md:px-4 pb-2 space-y-1",children:[i.jsxs("button",{onClick:I,className:"w-full text-sm text-text-muted hover:text-text-primary bg-bg-tertiary/50 hover:bg-bg-tertiary border border-border rounded px-3 py-2 transition-colors text-center",children:[l," older item",l!==1?"s":""," hidden — View full history"]}),G&&i.jsxs("p",{className:"text-xs text-text-muted text-center",children:["Popup blocked."," ",i.jsx("a",{href:P&&c?`/p/${P}/s/${c}/readonly`:"#",target:"_blank",rel:"noopener noreferrer",className:"underline hover:text-text-primary",children:"Open manually"})]})]}),i.jsx(dk,{displayItems:t,highlightedMessageId:r,sessionId:c,showThinking:y,showVerboseToolOutput:w,showStats:C,showAgentDefinitions:v,showWorkflowBars:S})]}),i.jsxs("div",{className:"px-2 md:px-4 pb-4",children:[p&&i.jsx("div",{className:"feed-item bg-red-500/10 border border-red-500/50 rounded p-2",children:i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{children:[i.jsx("div",{className:"text-red-400 text-sm font-medium",children:p.code}),i.jsx("div",{className:"text-red-300 text-xs mt-0.5",children:p.message})]}),i.jsx(Rl,{onClick:m,className:"text-red-400 hover:text-red-300 p-0.5",size:"sm"})]})}),O&&i.jsx("div",{className:"flex justify-center gap-2 feed-item flex-wrap",children:j.map(H=>{const V=H.color??"#3b82f6",U=parseInt(V.slice(1,3),16),Q=parseInt(V.slice(3,5),16),X=parseInt(V.slice(5,7),16),z=`rgba(${U},${Q},${X},0.12)`,R=`rgba(${U},${Q},${X},0.22)`,M=`rgba(${U},${Q},${X},0.25)`;return i.jsx(x8,{workflowName:H.name,color:V,bg:z,bgHover:R,border:M,subGroups:H.subGroups,onLaunch:q=>o(H.id,q)},H.id)})})]})]})});function x8({workflowName:e,color:t,bg:n,bgHover:r,border:o,subGroups:l,onLaunch:u}){const[c,d]=A.useState(!1),f=A.useRef(null);return hk(f,()=>d(!1),c),i.jsxs("div",{className:"relative flex",children:[i.jsxs("button",{onClick:()=>u(),"data-testid":"workflow-run-button",className:"px-4 py-1.5 rounded-l text-sm font-medium transition-colors",style:{backgroundColor:n,color:t,border:`1px solid ${o}`,borderRight:"none"},onMouseEnter:p=>{p.currentTarget.style.backgroundColor=r},onMouseLeave:p=>{p.currentTarget.style.backgroundColor=n},children:["▶ ",e]}),l&&l.length>0&&i.jsxs("div",{ref:f,className:"relative",children:[i.jsx("button",{onClick:()=>d(!c),className:"px-1.5 py-1.5 rounded-r text-sm font-medium transition-colors",style:{backgroundColor:n,color:t,border:`1px solid ${o}`},onMouseEnter:p=>{p.currentTarget.style.backgroundColor=r},onMouseLeave:p=>{p.currentTarget.style.backgroundColor=n},children:"⋮"}),c&&i.jsxs("div",{className:"absolute top-full right-0 mt-1 w-40 bg-bg-secondary border border-border rounded-lg shadow-xl z-50 overflow-hidden",children:[i.jsx("button",{onClick:()=>{u(),d(!1)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:"Full workflow"}),i.jsx("div",{className:"border-t border-border/50"}),l.map(p=>i.jsx("button",{onClick:()=>{u(p),d(!1)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:p},p))]})]})]})}function y8(){const e=Le(r=>r.connectionStatus),t=Le(r=>r.reconnect);if(e==="connected")return null;const n=e==="reconnecting";return i.jsxs("div",{className:`
|
|
288
|
+
flex items-center justify-between px-4 py-2
|
|
289
|
+
text-sm font-medium
|
|
290
|
+
${n?"bg-amber-500/15 border-b border-amber-500/30 text-amber-300":"bg-red-500/15 border-b border-red-500/30 text-red-300"}
|
|
291
|
+
`,children:[i.jsx("div",{className:"flex items-center gap-2",children:n?i.jsxs(i.Fragment,{children:[i.jsxs("span",{className:"flex gap-1",children:[i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse"}),i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse",style:{animationDelay:"150ms"}}),i.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-amber-400 animate-pulse",style:{animationDelay:"300ms"}})]}),i.jsx("span",{children:"Reconnecting to server..."})]}):i.jsxs(i.Fragment,{children:[i.jsx(xN,{}),i.jsx("span",{children:"Connection lost"})]})}),i.jsx("button",{onClick:()=>t(),disabled:n,className:`
|
|
292
|
+
px-3 py-1 rounded text-xs font-medium
|
|
293
|
+
transition-colors
|
|
294
|
+
${n?"bg-amber-500/20 text-amber-400 cursor-not-allowed opacity-50":"bg-red-500/20 text-red-300 hover:bg-red-500/30 hover:text-red-200"}
|
|
295
|
+
`,children:n?"Reconnecting...":"Reconnect"})]})}const dn=qn((e,t)=>({defaults:[],userItems:[],projectItems:[],loading:!1,fetchCommands:async()=>{await w1("/api/commands",e,!0)},fetchCommand:async n=>{try{const r=await we(`/api/commands/${n}`);return r.ok?await r.json():null}catch{return null}},fetchDefaultContent:async n=>{try{const r=await we(`/api/commands/defaults/${n}`);return r.ok?await r.json():null}catch{return null}},createCommand:async(n,r)=>{const o=await ti("POST","/api/commands",{...n,destination:r});return o.success&&await t().fetchCommands(),o},updateCommand:async(n,r)=>{const o=await ti("PUT",`/api/commands/${n}`,r);return o.success&&await t().fetchCommands(),o},deleteCommand:async n=>{try{const r=await we(`/api/commands/${n}`,{method:"DELETE"}),o=await r.json();return r.ok?(e(l=>({userItems:l.userItems.filter(u=>u.id!==n)})),{success:!0}):{success:!1,error:o.error??"Failed to delete"}}catch{return{success:!1,error:"Network error"}}},duplicateCommand:async(n,r)=>rd(`/api/commands/${n}/duplicate`,()=>t().fetchCommands(),r)}));function b8(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function _8({onClick:e}){return i.jsx("button",{type:"button",onClick:e,className:"p-1.5 rounded text-text-muted hover:text-text-primary hover:bg-bg-primary transition-colors",title:"View",children:i.jsx(Au,{})})}function fk({isOpen:e,onClose:t,initialEditId:n}){const r=dn(ue=>ue.defaults),o=dn(ue=>ue.userItems),l=dn(ue=>ue.projectItems),u=dn(ue=>ue.loading),c=dn(ue=>ue.fetchCommands),d=dn(ue=>ue.fetchCommand),f=dn(ue=>ue.fetchDefaultContent),p=dn(ue=>ue.createCommand),m=dn(ue=>ue.updateCommand),x=dn(ue=>ue.deleteCommand),[y,w]=A.useState(null),[C,v]=A.useState(null),{view:S,editingId:_,formError:b,saving:j,formData:E,setView:T,setEditingId:D,setFormError:L,setFormData:O,setSaving:P}=n1(),{requestDelete:G,clearConfirm:W,isConfirming:I}=ad(),H=A.useRef(!1),V=Ct(ue=>ue.defaults),U=Ct(ue=>ue.userItems),Q=Ct(ue=>ue.fetchAgents),z=[...V,...U].filter(ue=>!ue.subagent),R=A.useRef(c),M=A.useRef(Q),q=A.useRef(d),B=A.useRef(f),ee=A.useRef(n),J=A.useRef(T),ne=A.useRef(D),K=A.useRef(L),F=A.useRef(W);A.useEffect(()=>{R.current=c,M.current=Q,q.current=d,B.current=f,ee.current=n,J.current=T,ne.current=D,K.current=L,F.current=W}),A.useEffect(()=>{if(e)if(R.current(),M.current(),H.current||(F.current(),H.current=!0),ee.current){const ue=r.some(oe=>oe.id===ee.current);J.current("edit"),ne.current(ee.current),K.current(""),ue?B.current(ee.current).then(oe=>{oe&&O({name:oe.metadata.name+" (copy)",id:`${ee.current}-copy-${Date.now()}`,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!0,destination:"user"})}):q.current(ee.current).then(oe=>{oe&&O({name:oe.metadata.name,id:oe.metadata.id,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!1,destination:"user"})})}else J.current("list"),ne.current(null);else H.current=!1},[e]);const te=async ue=>{w(ue);const oe=await f(ue);v((oe==null?void 0:oe.prompt)??null)},re=async ue=>{if(r.some(Oe=>Oe.id===ue)){const Oe=await f(ue);Oe&&(D(null),O({name:`${Oe.metadata.name} (copy)`,id:`${ue}-copy-${Date.now()}`,prompt:Oe.prompt,agentMode:Oe.metadata.agentMode??"",isDefault:!0,destination:"user"}),L(""),T("edit"))}else{const Oe=await d(ue);Oe&&(D(null),O({name:`${Oe.metadata.name} (copy)`,id:`${ue}-copy-${Date.now()}`,prompt:Oe.prompt,agentMode:Oe.metadata.agentMode??"",isDefault:!1,destination:"user"}),L(""),T("edit"))}},ge=()=>{O({name:"",id:"",prompt:"",agentMode:"",isDefault:!1,destination:"user"}),D(null),T("edit")},_e=async ue=>{const oe=await d(ue);oe&&(D(ue),O({name:oe.metadata.name,id:oe.metadata.id,prompt:oe.prompt,agentMode:oe.metadata.agentMode??"",isDefault:!1,destination:"user"}),L(""),T("edit"))},Be=async ue=>{await x(ue),W()},He=async()=>{const ue=_??E.id;if(!ue||!E.name||!E.prompt){L("Name and message are required.");return}P(!0),L("");const oe={metadata:{id:ue,name:E.name,...E.agentMode?{agentMode:E.agentMode}:{}},prompt:E.prompt},Oe=_?await m(_,oe):await p(oe,E.destination);if(P(!1),!Oe.success){L(Oe.error??"Failed to save command.");return}n?t():T("list")},Ne=()=>{n?t():(T("list"),w(null),v(null))},je=ue=>{O(oe=>({...oe,name:ue})),(!_||E.isDefault)&&O(oe=>({...oe,id:b8(ue)}))},ae=()=>{w(null),v(null),T("list")},ze=()=>{y&&(w(null),T("edit"),D(y),f(y).then(ue=>{ue&&O({name:`${ue.metadata.name} (copy)`,id:`${y}-copy-${Date.now()}`,prompt:ue.prompt,agentMode:ue.metadata.agentMode??"",isDefault:!0,destination:"user"})}))};if(y){const ue=r.find(oe=>oe.id===y);return i.jsx(Ot,{isOpen:e,onClose:ae,title:`Default: ${(ue==null?void 0:ue.name)??y}`,size:"xl",children:i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[i.jsx("span",{className:"px-1.5 py-0.5 rounded bg-bg-tertiary text-text-secondary",children:"Built-in"}),i.jsx("span",{className:"font-mono",children:y})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Name"}),i.jsx("div",{className:"px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm",children:ue==null?void 0:ue.name})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Agent Mode"}),i.jsx("div",{className:"px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm text-text-muted",children:(ue==null?void 0:ue.agentMode)||"None"})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Message"}),i.jsx("textarea",{value:C??"",readOnly:!0,placeholder:"...",className:"flex-1 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-none opacity-60"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border flex-shrink-0",children:[i.jsx(et,{variant:"secondary",onClick:ae,children:"Close"}),i.jsx(et,{variant:"primary",onClick:ze,children:"Duplicate & Customize"})]})]})})}if(S==="edit")return i.jsx(Ot,{isOpen:e,onClose:Ne,title:_?"Edit Command":"New Command",size:"xl",children:i.jsxs("div",{className:"flex flex-col h-full",children:[b&&i.jsx(od,{message:b}),i.jsxs("div",{className:"space-y-3 mb-3",children:[i.jsx(t1,{name:E.name,id:E.id,nameLabel:"Name",idLabel:"ID",namePlaceholder:"My Command",idPlaceholder:"my-command",readOnlyId:!!_&&!E.isDefault,onNameChange:je,onIdChange:ue=>O(oe=>({...oe,id:ue}))}),i.jsxs("div",{children:[i.jsxs("label",{className:"block text-xs text-text-secondary mb-1",children:["Agent Mode ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsxs("select",{value:E.agentMode,onChange:ue=>O(oe=>({...oe,agentMode:ue.target.value})),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"",children:"None (keep current mode)"}),z.map(ue=>i.jsx("option",{value:ue.id,children:ue.name},ue.id))]})]}),!_&&i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Save to:"}),i.jsxs("select",{value:E.destination,onChange:ue=>O(oe=>({...oe,destination:ue.target.value})),className:"px-2 py-1 bg-bg-tertiary border border-border rounded text-xs focus:outline-none focus:ring-1 focus:ring-accent-primary",children:[i.jsx("option",{value:"user",children:"Global config"}),i.jsx("option",{value:"project",children:"Project (.openfox/)"})]})]})]}),i.jsxs("div",{className:"flex-1 min-h-[120px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Message"}),i.jsx("textarea",{value:E.prompt,onChange:ue=>O(oe=>({...oe,prompt:ue.target.value})),placeholder:"The message that will be sent when this command is triggered...",className:"h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary"})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border flex-shrink-0",children:[i.jsx(et,{variant:"secondary",onClick:Ne,children:"Cancel"}),i.jsx(et,{variant:"primary",onClick:He,disabled:j||!E.name||!E.prompt,children:j?"Saving...":"Save"})]})]})});const fe=ue=>ue.map(oe=>i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"text-text-primary text-sm font-medium",children:oe.name})})}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[i.jsx(Js,{onClick:()=>_e(oe.id)}),i.jsx(Lu,{onClick:()=>re(oe.id)}),I(oe.id,"delete")?i.jsx($p,{onConfirm:()=>Be(oe.id),onCancel:W}):i.jsx(zp,{onClick:()=>G(oe.id)})]})]},oe.id));return i.jsxs(Ot,{isOpen:e,onClose:t,title:"Commands",size:"lg",children:[i.jsx(e1,{description:"Commands are pre-defined messages you can send with a single click.",onNew:ge}),i.jsxs(Hp,{loading:u,hasItems:r.length>0||o.length>0||l.length>0,loadingLabel:"Loading commands...",emptyLabel:"No commands created yet.",children:[r.length>0&&i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Built-in"}),i.jsx("div",{className:"space-y-2",children:r.map(ue=>i.jsxs("div",{className:"flex items-center justify-between p-3 rounded border border-border bg-bg-tertiary",children:[i.jsx("div",{className:"min-w-0 flex-1 mr-3",children:i.jsx("span",{className:"text-text-primary text-sm font-medium",children:ue.name})}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0",children:[i.jsx(_8,{onClick:()=>te(ue.id)}),i.jsx(Lu,{onClick:()=>re(ue.id)})]})]},ue.id))})]}),o.length>0&&i.jsx(ZS,{children:fe(o)}),l.length>0&&i.jsxs("div",{className:"mt-4",children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:"Project"}),i.jsx("div",{className:"space-y-2",children:fe(l)})]})]})]})}const ki=150,ps=54,_u=80,Tr=30,La=70,uS=100,Ei=50,vu=50,dS=4,mk={step_result:"Result",metadata_all_match:"Metadata match",metadata_all_in:"Metadata in",always:"otherwise"},pk=[{value:"step_result",label:"Step result is..."},{value:"metadata_all_match",label:"Metadata all match (key=value)"},{value:"metadata_all_in",label:"Metadata all in list"},{value:"always",label:"Always (fallback)"}],v8=[{value:"agent",label:"Agent"},{value:"sub_agent",label:"Sub-Agent"},{value:"shell",label:"Shell"}];function jg(e,t){if(e.type==="agent"){const n=t.find(r=>r.id===e.agentId);return{name:(n==null?void 0:n.name)??(e.agentId||"Agent"),color:(n==null?void 0:n.color)||"#3b82f6"}}if(e.type==="sub_agent"){const n=t.find(r=>r.id===e.subAgentType);return{name:(n==null?void 0:n.name)??(e.subAgentType||"Sub-Agent"),color:(n==null?void 0:n.color)||"#a855f7"}}return{name:"Shell",color:"#22c55e"}}function S8(e,t,n,r){const o=vu+Ei+ki+uS+ki+Ei+vu,l=o/2,u=vu+Ei+ki/2,c=vu+Ei+ki+uS+ki/2,d=[],f=[],p=new Map,m=e.filter(V=>V.type==="agent"||V.type==="shell"),x=e.filter(V=>V.type==="sub_agent"),y=x.length>0,w=y?u:l,C=m.length>0?c:l,v=Ei+Tr/2;d.push({id:"$start",type:"terminal",label:"Start",cx:w,cy:v,w:_u,h:Tr}),p.set("$start",{cx:w,cy:v,w:_u,h:Tr});const S=V=>{d.push({id:"$done",type:"terminal",label:"Done",cx:w,cy:V,w:_u,h:Tr}),p.set("$done",{cx:w,cy:V,w:_u,h:Tr})};if(e.length===0){const V=v+Tr/2+La*2+Tr/2;return S(V),{nodes:d,edges:f,width:o,height:V+Tr/2+Ei,posMap:p}}const _=v+Tr/2+La,b=(V,U)=>{V.forEach((Q,X)=>{const z=_+X*(ps+La)+ps/2,{name:R,color:M}=jg(Q,r);d.push({id:Q.id,type:"step",label:R,color:M,cx:U,cy:z,w:ki,h:ps}),p.set(Q.id,{cx:U,cy:z,w:ki,h:ps})})};b(m,w),b(x,C);const j=m.length>0?_+(m.length-1)*(ps+La)+ps/2:v,E=y?_+(x.length-1)*(ps+La)+ps/2:v,T=Math.max(j,E)+ps/2+La+Tr/2;S(T);const D=[];t&&p.has(t)&&D.push({from:"$start",to:t,label:n,edgeKey:"start",direction:"down",backEdgeIndex:0});let L=0;for(const V of e)V.transitions.forEach((U,Q)=>{var B;if(!U.goto||!p.has(U.goto))return;const X=p.get(V.id),z=p.get(U.goto),R=U.when.type==="step_result"?`${U.when.result}`:U.when.type==="metadata_all_match"?`${U.when.key??"?"}=${U.when.value??"?"}`:U.when.type==="metadata_all_in"?`${U.when.key??"?"} in [${((B=U.when.values)==null?void 0:B.join(","))??"?"}]`:mk[U.when.type]??U.when.type,M=V.id===U.goto;let q;M?q="back":z.cy>X.cy+1?q="down":z.cy<X.cy-1?q="back":q="same",D.push({from:V.id,to:U.goto,label:R,edgeKey:`${V.id}:${Q}`,direction:q,backEdgeIndex:q==="back"?L++:0})});const O=new Map,P=new Map,G=new Map,W=new Map;for(const V of D)V.direction==="down"&&(O.set(V.from,(O.get(V.from)??0)+1),P.set(V.to,(P.get(V.to)??0)+1));const I=new Map,H=new Map;for(const V of D){if(V.direction!=="same")continue;const U=[V.from,V.to].sort().join("|");I.set(U,(I.get(U)??0)+1)}for(const V of D){if(V.direction==="back"||V.direction==="same"){let q=0;if(V.direction==="same"){const B=[V.from,V.to].sort().join("|");q=H.get(B)??0,H.set(B,q+1)}f.push({...V,fromPort:0,toPort:0,sameEdgeIndex:q});continue}const U=O.get(V.from)??1,Q=P.get(V.to)??1,X=G.get(V.from)??0,z=W.get(V.to)??0;G.set(V.from,X+1),W.set(V.to,z+1);const R=U===1?0:-.6+1.2*X/(U-1),M=Q===1?0:-.6+1.2*z/(Q-1);f.push({...V,fromPort:R,toPort:M,sameEdgeIndex:0})}return{nodes:d,edges:f,width:o,height:T+Tr/2+Ei,posMap:p}}function w8({steps:e,entryStep:t,selectedNodeId:n,selectedEdgeKey:r,startConditionLabel:o,agentTypes:l,isReadOnly:u,onSelectNode:c,onSelectEdge:d,onRemoveStep:f,onCreateTransition:p,onReconnectTo:m,onReconnectFrom:x,onDeleteTransition:y}){const w=A.useRef(null),C=A.useRef(!1),[v,S]=A.useState(null),[_,b]=A.useState(null),[j,E]=A.useState(null),{nodes:T,edges:D,width:L,height:O,posMap:P}=A.useMemo(()=>S8(e,t,o,l),[e,t,o,l]),G=A.useCallback(J=>{var re;const ne=w.current;if(!ne)return{x:0,y:0};const K=ne.createSVGPoint();K.x=J.clientX,K.y=J.clientY;const F=(re=ne.getScreenCTM())==null?void 0:re.inverse();if(!F)return{x:0,y:0};const te=K.matrixTransform(F);return{x:te.x,y:te.y}},[]),W=A.useCallback(J=>!J||!_||J==="$start"?!1:_.type==="reconnect-from"?J!=="$done":!0,[_]),I=A.useCallback((J,ne)=>{if(u)return;J.stopPropagation(),J.preventDefault();const K=G(J);b({type:"new",fromNodeId:ne,mouseX:K.x,mouseY:K.y})},[G,u]),H=A.useCallback((J,ne)=>{if(u)return;J.stopPropagation(),J.preventDefault();const K=G(J);b({type:"reconnect-to",fromNodeId:ne.from,edgeKey:ne.edgeKey,mouseX:K.x,mouseY:K.y})},[G,u]),V=A.useCallback((J,ne)=>{if(u)return;J.stopPropagation(),J.preventDefault();const K=G(J);b({type:"reconnect-from",fromNodeId:ne.from,fixedTargetId:ne.to,edgeKey:ne.edgeKey,mouseX:K.x,mouseY:K.y})},[G,u]),U=A.useCallback(J=>{if(!_)return;const ne=G(J);b(K=>K?{...K,mouseX:ne.x,mouseY:ne.y}:null)},[_,G]),Q=A.useCallback(()=>{_&&(C.current=!0,j&&W(j)&&(_.type==="new"?p(_.fromNodeId,j):_.type==="reconnect-to"?m(_.edgeKey,j):_.type==="reconnect-from"&&x(_.edgeKey,j)),b(null),E(null))},[_,j,W,p,m,x]),X=A.useCallback(()=>{if(C.current){C.current=!1;return}c(null),d(null)},[c,d]);A.useEffect(()=>{if(u)return;const J=ne=>{ne.target instanceof HTMLInputElement||ne.target instanceof HTMLTextAreaElement||ne.target instanceof HTMLSelectElement||(ne.key==="Delete"||ne.key==="Backspace")&&r&&r!=="start"&&(ne.preventDefault(),y(r),d(null))};return document.addEventListener("keydown",J),()=>document.removeEventListener("keydown",J)},[u,r,y,d]);const z=J=>{const ne=P.get(J.from),K=P.get(J.to);if(!ne||!K)return null;let F,te,re,ge="middle",_e,Be;if(J.direction==="down"){const He=ne.cx+J.fromPort*(ne.w/2-10),Ne=ne.cy+ne.h/2,je=K.cx+J.toPort*(K.w/2-10),ae=K.cy-K.h/2,ze=ae-Ne,fe=je-He;F=`M ${He} ${Ne} C ${He} ${Ne+ze*.4}, ${je-fe*.2} ${ae-ze*.1}, ${je} ${ae}`,te=He+(je-He)*.5,re=Ne+ze*.6,_e={x:He,y:Ne},Be={x:je,y:ae}}else if(J.direction==="back"){const He=J.from===J.to,Ne=ne.cx>=L/2,je=J.backEdgeIndex*16,ae=Ne?L-20-je:20+je;if(He){const ze=ne.cx>=L/2,fe=30+J.backEdgeIndex*14,ue=ne.cy-ne.h/2,oe=ze?ne.cx+ne.w/2:ne.cx-ne.w/2,Oe=ze?oe+fe:oe-fe,tt=ne.cx+(ze?ne.w/4:-ne.w/4),Ze=ue-20-J.backEdgeIndex*10;F=`M ${oe} ${ne.cy} C ${Oe} ${ne.cy}, ${Oe} ${Ze}, ${tt} ${ue}`,te=Oe+10,re=Ze+4,ge="middle",_e={x:oe,y:ne.cy},Be={x:tt,y:ue}}else{const ze=Ne?ne.cx+ne.w/2:ne.cx-ne.w/2,fe=K.cx+(Ne?K.w/4:-K.w/4),ue=Math.min(ne.cy,K.cy)-K.h/2-18-J.backEdgeIndex*14;F=`M ${ze} ${ne.cy} L ${ae} ${ne.cy} L ${ae} ${ue} L ${fe} ${ue} L ${fe} ${K.cy-K.h/2}`,te=ae,re=(ne.cy+ue)/2,ge=Ne?"start":"end",_e={x:ze,y:ne.cy},Be={x:fe,y:K.cy-K.h/2}}}else{const He=K.cx>ne.cx,Ne=J.sameEdgeIndex===0?-12:12,je=He?ne.cx+ne.w/2:ne.cx-ne.w/2,ae=He?K.cx-K.w/2:K.cx+K.w/2,ze=ne.cy+Ne,fe=K.cy+Ne,ue=(je+ae)/2;F=`M ${je} ${ze} C ${ue} ${ze}, ${ue} ${fe}, ${ae} ${fe}`,te=ue,re=(ze+fe)/2-6,_e={x:je,y:ze},Be={x:ae,y:fe}}return{path:F,labelX:te,labelY:re,labelAnchor:ge,fromPt:_e,toPt:Be}},R=(J,ne)=>{const K=z(J);if(!K)return null;const{path:F,labelX:te,labelY:re,labelAnchor:ge}=K,_e=r===J.edgeKey,Be=J.label&&J.label!=="otherwise";return i.jsxs("g",{children:[i.jsx("path",{d:F,fill:"none",stroke:"transparent",strokeWidth:14,className:"cursor-pointer",onClick:He=>{He.stopPropagation(),u||d(_e?null:J.edgeKey)}}),i.jsx("path",{d:F,fill:"none",stroke:_e?"#58a6ff":"#484f58",strokeWidth:_e?2.2:1.2,markerEnd:_e?"url(#arrow-selected)":"url(#arrow)",pointerEvents:"none"}),Be&&i.jsx("text",{x:te+(ge==="start"?5:ge==="end"?-5:0),y:re+3,textAnchor:ge,className:"text-[8px]",fill:_e?"#79c0ff":"#8b949e",style:{paintOrder:"stroke",stroke:"#0d1117",strokeWidth:3,strokeLinejoin:"round"},pointerEvents:"none",children:J.label})]},ne)},M=()=>{if(!r||_)return null;const J=D.find(re=>re.edgeKey===r);if(!J)return null;const ne=z(J);if(!ne)return null;const{fromPt:K,toPt:F}=ne,te=6;return i.jsxs(i.Fragment,{children:[J.edgeKey!=="start"&&i.jsx("circle",{cx:K.x,cy:K.y,r:te,fill:"#58a6ff",fillOpacity:.25,stroke:"#58a6ff",strokeWidth:2,strokeOpacity:.8,className:"cursor-grab",onMouseDown:re=>V(re,J)}),i.jsx("circle",{cx:F.x,cy:F.y,r:te,fill:"#58a6ff",fillOpacity:.25,stroke:"#58a6ff",strokeWidth:2,strokeOpacity:.8,className:"cursor-grab",onMouseDown:re=>H(re,J)})]})},q=()=>{if(!_)return null;let J,ne,K,F;if(_.type==="reconnect-from"){const ge=P.get(_.fixedTargetId);if(!ge)return null;J=_.mouseX,ne=_.mouseY,K=ge.cx,F=ge.cy-ge.h/2}else{const ge=P.get(_.fromNodeId);if(!ge)return null;J=ge.cx,ne=ge.cy+ge.h/2,K=_.mouseX,F=_.mouseY}const te=F-ne,re=Math.abs(te)>10?`M ${J} ${ne} C ${J} ${ne+te*.4}, ${K} ${F-te*.4}, ${K} ${F}`:`M ${J} ${ne} L ${K} ${F}`;return i.jsx("path",{d:re,fill:"none",stroke:"#58a6ff",strokeWidth:2,strokeDasharray:"6 3",strokeOpacity:.7,pointerEvents:"none"})},B=J=>{const ne=J.cy+J.h/2,K=(_==null?void 0:_.fromNodeId)===J.id;return i.jsx("circle",{cx:J.cx,cy:ne,r:dS,fill:K?"#58a6ff":"#1c2128",stroke:K?"#58a6ff":"#484f58",strokeWidth:1.5,strokeOpacity:K?1:.5,className:"cursor-crosshair",onMouseDown:F=>I(F,J.id)})},ee=J=>{const ne=J.cy-J.h/2,K=_&&j===J.id&&W(J.id);return i.jsx("circle",{cx:J.cx,cy:ne,r:dS,fill:K?"#3fb950":"#1c2128",stroke:K?"#3fb950":"#484f58",strokeWidth:1.5,strokeOpacity:K?1:.5})};return i.jsxs("svg",{ref:w,viewBox:`0 0 ${L} ${O}`,className:"block w-full",preserveAspectRatio:"xMidYMin meet",onMouseMove:U,onMouseUp:Q,onClick:X,children:[i.jsxs("defs",{children:[i.jsx("marker",{id:"arrow",viewBox:"0 0 10 7",refX:"10",refY:"3.5",markerWidth:"7",markerHeight:"5",orient:"auto",children:i.jsx("polygon",{points:"0 0, 10 3.5, 0 7",fill:"#484f58"})}),i.jsx("marker",{id:"arrow-selected",viewBox:"0 0 10 7",refX:"10",refY:"3.5",markerWidth:"7",markerHeight:"5",orient:"auto",children:i.jsx("polygon",{points:"0 0, 10 3.5, 0 7",fill:"#58a6ff"})})]}),D.map((J,ne)=>R(J,ne)),T.map(J=>{const ne=n===J.id,K=J.cx-J.w/2,F=J.cy-J.h/2,te=v===J.id,re=_&&j===J.id&&W(J.id);if(J.type==="terminal"){const _e=J.id==="$start",Be=_e?"#58a6ff":"#3fb950",He=_e,Ne=!_e;return i.jsxs("g",{onClick:je=>{je.stopPropagation(),_e&&!u&&d("start")},className:_e&&!u?"cursor-pointer":void 0,children:[re&&i.jsx("rect",{x:K-3,y:F-3,width:J.w+6,height:J.h+6,rx:J.h/2+3,fill:"none",stroke:"#3fb950",strokeOpacity:.6,strokeWidth:2}),_e&&r==="start"&&i.jsx("rect",{x:K-3,y:F-3,width:J.w+6,height:J.h+6,rx:J.h/2+3,fill:"none",stroke:"#58a6ff",strokeOpacity:.5,strokeWidth:2}),i.jsx("rect",{x:K,y:F,width:J.w,height:J.h,rx:J.h/2,fill:Be,fillOpacity:.08,stroke:Be,strokeOpacity:.4,strokeWidth:1.5}),i.jsx("text",{x:J.cx,y:J.cy+4,textAnchor:"middle",fill:Be,className:"text-[10px] font-medium",pointerEvents:"none",children:J.label}),He&&B(J),Ne&&ee(J)]},J.id)}const ge=J.color??"#6b7280";return i.jsxs("g",{onClick:_e=>{_e.stopPropagation(),u||c(ne?null:J.id)},onMouseEnter:()=>S(J.id),onMouseLeave:()=>S(null),className:u?void 0:"cursor-pointer",children:[re&&i.jsx("rect",{x:K-3,y:F-3,width:J.w+6,height:J.h+6,rx:12,fill:"none",stroke:"#3fb950",strokeOpacity:.6,strokeWidth:2}),ne&&i.jsx("rect",{x:K-3,y:F-3,width:J.w+6,height:J.h+6,rx:12,fill:"none",stroke:"#58a6ff",strokeOpacity:.5,strokeWidth:2}),i.jsx("rect",{x:K,y:F,width:J.w,height:J.h,rx:10,fill:ge,fillOpacity:.08,stroke:ge,strokeOpacity:.6,strokeWidth:ne?2:1.5}),i.jsx("text",{x:J.cx,y:J.cy+4,textAnchor:"middle",fill:"#c9d1d9",className:"text-[11px] font-medium",pointerEvents:"none",children:J.label}),!u&&B(J),!u&&ee(J),te&&!_&&!u&&i.jsxs("g",{onClick:_e=>{_e.stopPropagation(),f(J.id)},className:"cursor-pointer",children:[i.jsx("circle",{cx:K+J.w-2,cy:F+2,r:8,fill:"#0d1117",fillOpacity:.9,stroke:"#f85149",strokeOpacity:.5,strokeWidth:1}),i.jsx("line",{x1:K+J.w-5,y1:F-1,x2:K+J.w+1,y2:F+5,stroke:"#f85149",strokeWidth:1.5,strokeLinecap:"round"}),i.jsx("line",{x1:K+J.w+1,y1:F-1,x2:K+J.w-5,y2:F+5,stroke:"#f85149",strokeWidth:1.5,strokeLinecap:"round"})]})]},J.id)}),_&&T.map(J=>W(J.id)?i.jsx("rect",{x:J.cx-J.w/2-8,y:J.cy-J.h/2-8,width:J.w+16,height:J.h+16,fill:"transparent",rx:12,onMouseEnter:()=>E(J.id),onMouseLeave:()=>E(null),onMouseUp:ne=>{ne.stopPropagation(),Q()}},`drop-${J.id}`):null),q(),M()]})}const Su="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",ol="block text-[11px] text-text-secondary mb-0.5";function C8({formName:e,formId:t,formDescription:n,formMaxIterations:r,formColor:o,isReadOnly:l,onNameChange:u,onDescriptionChange:c,onMaxIterationsChange:d,onColorChange:f}){return i.jsxs("div",{className:"flex items-end gap-3 mb-3 pb-3 border-b border-border flex-wrap",children:[i.jsxs("div",{className:"min-w-[140px]",children:[i.jsx("label",{className:ol,children:"Name"}),i.jsx("input",{value:e,onChange:p=>u(p.target.value),placeholder:"Workflow name",className:`${Su} ${l?"opacity-50":""}`,readOnly:l})]}),i.jsxs("div",{className:"min-w-[100px]",children:[i.jsx("label",{className:ol,children:"ID"}),i.jsx("input",{value:t,readOnly:!0,className:`${Su} font-mono opacity-50`})]}),i.jsxs("div",{className:"flex-1 min-w-[140px]",children:[i.jsx("label",{className:ol,children:"Description"}),i.jsx("input",{value:n,onChange:p=>!l&&c(p.target.value),readOnly:l,placeholder:"What does this workflow do?",className:`${Su} ${l?"opacity-50":""}`})]}),i.jsxs("div",{className:"w-20",children:[i.jsx("label",{className:ol,children:"Max Iter."}),i.jsx("input",{type:"number",value:r,onChange:p=>!l&&d(Number(p.target.value)),readOnly:l,className:`${Su} font-mono ${l?"opacity-50":""}`})]}),i.jsxs("div",{children:[i.jsx("label",{className:ol,children:"Color"}),i.jsx("input",{type:"color",value:o,onChange:p=>!l&&f(p.target.value),disabled:l,className:`w-8 h-8 rounded border border-border bg-transparent ${l?"opacity-50":"cursor-pointer"}`})]})]})}function k8({name:e,id:t,color:n,description:r,isBuiltIn:o,actions:l}){return i.jsxs("div",{className:"flex items-center justify-between bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:n}}),i.jsx("span",{className:"text-text-primary text-sm font-medium",children:e}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:t}),o&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-bg-primary text-text-muted",children:"Built-in"})]}),r&&i.jsx("p",{className:"text-text-secondary text-xs mt-0.5 truncate",children:r})]}),i.jsx("div",{className:"flex items-center gap-1 flex-shrink-0 ml-3",children:l})]})}function hS({title:e,items:t,renderActions:n}){return t.length===0?null:i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsx("div",{className:"space-y-2",children:t.map(r=>i.jsx(k8,{name:r.name,id:r.id,color:r.color??"#3b82f6",description:r.description,actions:n(r)},r.id))})]})}const Da="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",Hm="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",gs="block text-[11px] text-text-secondary mb-0.5";function Um({variables:e,onInsert:t}){return e.length===0?null:i.jsx("div",{className:"flex flex-wrap gap-1 mt-1",children:e.map(n=>i.jsx("button",{type:"button",onClick:()=>t(n.name),title:n.description,className:"px-1.5 py-0.5 rounded text-[10px] font-mono bg-bg-primary border border-border text-text-secondary hover:text-accent-primary hover:border-accent-primary/40 transition-colors",children:`{{${n.name}}}`},n.name))})}function E8({step:e,isEntry:t,agentTypes:n,transitionCount:r,templateVariables:o,onUpdate:l,onRemove:u,onSetEntry:c}){const{color:d,name:f}=jg(e,n);return i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold",style:{backgroundColor:d+"20",color:d},children:f}),t&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-accent-primary/15 text-accent-primary",children:"Entry"})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[!t&&i.jsx("button",{onClick:c,className:"p-1 rounded text-text-muted hover:text-accent-primary text-xs",children:"Set entry"}),i.jsx("button",{onClick:u,className:"p-1 rounded text-text-muted hover:text-accent-error text-xs",children:"Delete"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Type"}),i.jsx("select",{value:e.type,onChange:p=>{const m=p.target.value,x=m==="sub_agent"?"verification":"build";if(m==="agent"){const y=n.find(w=>!w.subagent);l({...e,type:m,phase:x,agentId:(y==null?void 0:y.id)??"builder",name:(y==null?void 0:y.name)??"Agent"})}else if(m==="sub_agent"){const y=n.find(w=>w.subagent);l({...e,type:m,phase:x,subAgentType:(y==null?void 0:y.id)??"",name:(y==null?void 0:y.name)??"Sub-Agent"})}else l({...e,type:m,phase:x,name:"Shell"})},className:Hm,children:v8.map(p=>i.jsx("option",{value:p.value,children:p.label},p.value))})]}),e.type==="agent"&&i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Agent Type"}),i.jsx("select",{value:e.agentId??"builder",onChange:p=>{const m=n.find(x=>x.id===p.target.value);l({...e,agentId:p.target.value,name:(m==null?void 0:m.name)??p.target.value})},className:Hm,children:n.filter(p=>!p.subagent).map(p=>i.jsx("option",{value:p.id,children:p.name},p.id))})]}),e.type==="sub_agent"&&i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Sub-Agent Type"}),i.jsxs("select",{value:e.subAgentType??"",onChange:p=>{const m=n.find(x=>x.id===p.target.value);l({...e,subAgentType:p.target.value,name:(m==null?void 0:m.name)??p.target.value})},className:Hm,children:[i.jsx("option",{value:"",children:"— select —"}),n.filter(p=>p.subagent).map(p=>i.jsx("option",{value:p.id,children:p.name},p.id))]})]}),(e.type==="agent"||e.type==="sub_agent")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Prompt"}),i.jsx("textarea",{value:e.prompt??"",onChange:p=>l({...e,prompt:p.target.value||void 0}),rows:6,className:`${Da} resize-y text-xs`,placeholder:"Injected on first entry..."}),i.jsx(Um,{variables:o,onInsert:p=>l({...e,prompt:(e.prompt??"")+`{{${p}}}`})})]}),i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Nudge Prompt"}),i.jsx("textarea",{value:e.nudgePrompt??"",onChange:p=>l({...e,nudgePrompt:p.target.value||void 0}),rows:6,className:`${Da} resize-y text-xs`,placeholder:"Injected on re-entry..."}),i.jsx(Um,{variables:o,onInsert:p=>l({...e,nudgePrompt:(e.nudgePrompt??"")+`{{${p}}}`})})]})]}),e.type==="shell"&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Command"}),i.jsx("textarea",{value:e.command??"",onChange:p=>l({...e,command:p.target.value}),rows:3,className:`${Da} font-mono text-xs resize-y`,placeholder:"cd {{workdir}} && npm run lint"}),i.jsx(Um,{variables:o,onInsert:p=>l({...e,command:(e.command??"")+`{{${p}}}`})})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Timeout (ms)"}),i.jsx("input",{type:"number",value:e.timeout??6e4,onChange:p=>l({...e,timeout:Number(p.target.value)}),className:`${Da} font-mono text-xs`})]}),i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Success Codes"}),i.jsx("input",{value:(e.successExitCodes??[0]).join(", "),onChange:p=>l({...e,successExitCodes:p.target.value.split(",").map(m=>Number(m.trim())).filter(m=>!isNaN(m))}),className:`${Da} font-mono text-xs`})]})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:gs,children:"Sub-group"}),i.jsx("input",{value:e.subGroup??"",onChange:p=>l({...e,subGroup:p.target.value||void 0}),placeholder:"e.g. build, verify, review",className:Da})]}),i.jsx("div",{className:"pt-1 border-t border-border/50",children:i.jsxs("p",{className:"text-text-muted text-[10px]",children:[r," outgoing transition",r!==1?"s":""," — drag from the bottom port to connect."]})})]})}const Ra="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",fS="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",ji="block text-[11px] text-text-secondary mb-0.5";function j8({fromLabel:e,toLabel:t,condition:n,subGroup:r,fromStep:o,agentTypes:l,transitionIndex:u,totalTransitions:c,onUpdateCondition:d,onUpdateSubGroup:f,onDelete:p,onMoveUp:m,onMoveDown:x}){var C;const y=o&&(o.type==="sub_agent"||o.type==="agent")?l.find(v=>v.id===(o.type==="sub_agent"?o.subAgentType:o.agentId)):void 0,w=(y==null?void 0:y.results)&&y.results.length>0;return i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsxs("div",{className:"flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-blue-500/15 text-blue-300",children:["#",u+1]}),c>1&&i.jsxs("div",{className:"flex items-center gap-0.5",children:[i.jsx("button",{onClick:m,disabled:u===0,className:"p-0.5 rounded text-text-muted hover:text-text-primary disabled:opacity-20 disabled:cursor-not-allowed",title:"Move up (higher priority)",children:i.jsx(Wn,{className:"w-3 h-3",rotate:180})}),i.jsx("button",{onClick:x,disabled:u===c-1,className:"p-0.5 rounded text-text-muted hover:text-text-primary disabled:opacity-20 disabled:cursor-not-allowed",title:"Move down (lower priority)",children:i.jsx(Wn,{className:"w-3 h-3"})})]})]}),i.jsx("button",{onClick:p,className:"p-1 rounded text-text-muted hover:text-accent-error text-xs",children:"Delete"})]}),i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-secondary",children:[i.jsx("span",{className:"font-medium text-text-primary",children:e}),i.jsx(HS,{}),i.jsx("span",{className:"font-medium text-text-primary",children:t})]}),i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Condition"}),i.jsx("select",{value:n.type,onChange:v=>{d(v.target.value==="step_result"?{type:"step_result",result:"success"}:{type:v.target.value})},className:fS,children:pk.map(v=>i.jsx("option",{value:v.value,children:v.label},v.value))})]}),n.type==="step_result"&&i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Result"}),w?i.jsx("select",{value:n.result??y.results[0],onChange:v=>{d({type:"step_result",result:v.target.value})},className:fS,children:y.results.map(v=>i.jsx("option",{value:v,children:v},v))}):i.jsx("input",{type:"text",value:n.result??"success",onChange:v=>d({type:"step_result",result:v.target.value}),placeholder:"e.g. success, passed, failed",className:Ra})]}),(n.type==="metadata_all_match"||n.type==="metadata_all_in")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Metadata Key"}),i.jsx("input",{type:"text",value:n.key??"",onChange:v=>d({...n,key:v.target.value}),placeholder:"e.g. criteria, todos, review_findings",className:Ra})]}),i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Field"}),i.jsx("input",{type:"text",value:n.field??"",onChange:v=>d({...n,field:v.target.value}),placeholder:"e.g. status",className:Ra})]}),n.type==="metadata_all_match"?i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Value"}),i.jsx("input",{type:"text",value:n.value??"",onChange:v=>d({...n,value:v.target.value}),placeholder:"e.g. passed, resolved",className:Ra})]}):i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Values (comma-separated)"}),i.jsx("input",{type:"text",value:((C=n.values)==null?void 0:C.join(", "))??"",onChange:v=>d({...n,values:v.target.value.split(",").map(S=>S.trim()).filter(Boolean)}),placeholder:"e.g. resolved, dismissed",className:Ra})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:ji,children:"Sub-group"}),i.jsx("input",{type:"text",value:r??"",onChange:v=>f(v.target.value||void 0),placeholder:"e.g. build, verify",className:Ra})]}),i.jsx("p",{className:"text-text-muted text-[10px]",children:"Drag handles to reconnect. Order determines evaluation priority. Press Delete to remove."})]})}function N8(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-|-$/g,"")}function T8(e){let t=1;for(;e.some(n=>n.id===`s${t}`);)t++;return`s${t}`}const ll="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",mS="w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary",Oa="block text-[11px] text-text-secondary mb-0.5",pS=[];function gk({isOpen:e,onClose:t,initialEditId:n}){var _n,Cr;const r=Rt(ve=>ve.defaults),o=Rt(ve=>ve.userItems),l=Rt(ve=>ve.loading),u=Rt(ve=>ve.templateVariables),c=Rt(ve=>ve.fetchWorkflows),d=Rt(ve=>ve.fetchWorkflow),f=Rt(ve=>ve.fetchDefaultContent),p=Rt(ve=>ve.fetchTemplateVariables),m=Rt(ve=>ve.createWorkflow),x=Rt(ve=>ve.updateWorkflow),y=Rt(ve=>ve.deleteWorkflow),{requestDelete:w,clearConfirm:C,isConfirming:v}=ad(),[S,_]=A.useState("list"),[b,j]=A.useState(null),[E,T]=A.useState(!1),[D,L]=A.useState(null),[O,P]=A.useState(null),[G,W]=A.useState(""),[I,H]=A.useState(""),[V,U]=A.useState(""),[Q,X]=A.useState("1.0.0"),[z,R]=A.useState("#3b82f6"),[M,q]=A.useState(""),[B,ee]=A.useState(50),[J,ne]=A.useState(pS),[K,F]=A.useState({type:"always"}),[te,re]=A.useState(""),[ge,_e]=A.useState(!1),Be=Ct(ve=>ve.defaults),He=Ct(ve=>ve.userItems),Ne=Ct(ve=>ve.projectItems),je=A.useMemo(()=>[...Be,...He,...Ne],[Be,He,Ne]),ae=Ct(ve=>ve.fetchAgents),[ze]=A.useState(null);A.useEffect(()=>{e&&(c(),p(),ae(),L(null),P(null),n?r.some(Ce=>Ce.id===n)?f(n).then(Ce=>{Ce&&fe({...Ce,metadata:{...Ce.metadata,name:Ce.metadata.name+" (copy)",id:`${n}-copy-${Date.now()}`}},{editingId:null,isReadOnly:!1})}):d(n).then(Ce=>{Ce&&fe(Ce,{editingId:n,isReadOnly:!1})}):(_("list"),j(null),T(!1)))},[e,c,d,f,p,n]);const fe=(ve,Ce)=>{W(ve.metadata.name),H(ve.metadata.id),U(ve.metadata.description),X(ve.metadata.version),R(ve.metadata.color??"#3b82f6"),q(ve.entryStep),ee(ve.settings.maxIterations),ne(ve.steps),F(ve.startCondition??{type:"always"}),re(""),(Ce==null?void 0:Ce.editingId)!==void 0&&j(Ce.editingId),(Ce==null?void 0:Ce.isReadOnly)!==void 0&&T(Ce.isReadOnly),(Ce==null?void 0:Ce.selectedNodeKey)!==void 0&&L(null),(Ce==null?void 0:Ce.selectedEdgeKey)!==void 0&&P(null),_("edit")},ue=async ve=>{const Ce=await d(ve);Ce&&fe(Ce,{editingId:ve,isReadOnly:!1,selectedNodeKey:null,selectedEdgeKey:null})},oe=async()=>{var lt;const ve=b??I;if(!ve||!G)return re("Name is required."),!1;if(J.length===0)return re("Add at least one step."),!1;let Ce=M;if(!Ce||!J.some(st=>st.id===Ce)){if(Ce=((lt=J.find(st=>st.id))==null?void 0:lt.id)??"",!Ce)return re("All steps need an ID."),!1;q(Ce)}_e(!0),re("");const Ue={metadata:{id:ve,name:G,description:V,version:Q||"1.0.0",color:z},entryStep:Ce,settings:{maxIterations:B},steps:J,startCondition:K},qe=b?await x(b,Ue):await m(Ue);return _e(!1),qe.success?(b||j(ve),!0):(re(qe.error??"Failed to save."),!1)},Oe=async()=>{await oe()},tt=async()=>{await oe()&&(n?t():_("list"))},Ze=()=>{n?t():_("list")},vt=ve=>{W(ve),b||H(N8(ve))},ce=async ve=>r.some(Ue=>Ue.id===ve)?await f(ve):await d(ve),Te=async ve=>{const Ce=await ce(ve);Ce&&fe(Ce,{editingId:ve,isReadOnly:!0})},$e=async ve=>{const Ce=await ce(ve);Ce&&fe({...Ce,metadata:{...Ce.metadata,name:Ce.metadata.name+" (copy)",id:`${ve}-copy-${Date.now()}`}},{editingId:null,isReadOnly:!1})},Ke=()=>{j(null),W(""),H(""),U(""),X("1.0.0"),R("#3b82f6"),q(""),ee(50),ne(structuredClone(pS)),F({type:"always"}),re(""),L(null),P(null),T(!1),_("edit")},rt=async ve=>{await y(ve),C()},Et=A.useCallback(ve=>{L(ve),P(null)},[]),at=A.useCallback(ve=>{P(ve),L(null)},[]),pe=D!==null?Number(D):-1,Ie=pe>=0?J[pe]??null:null,We=A.useCallback(ve=>{ne(Ce=>Ce.map((Ue,qe)=>qe===pe?ve:Ue))},[pe]),nt=K.type==="step_result"?`${K.result}`:K.type==="metadata_all_match"?`${K.key??"?"}=${K.value??"?"}`:K.type==="metadata_all_in"?`${K.key??"?"} in [${((_n=K.values)==null?void 0:_n.join(","))??"?"}]`:mk[K.type]??K.type,En=()=>{const ve=J.length,Ce=T8(J),Ue=je.find(qe=>!qe.subagent);ne([...J,{id:Ce,name:(Ue==null?void 0:Ue.name)??"Agent",type:"agent",phase:"build",agentId:(Ue==null?void 0:Ue.id)??"builder",transitions:[]}]),M||q(Ce),Et(String(ve))},Wt=A.useCallback((ve,Ce)=>{ve==="$start"?(q(Ce),at("start")):ne(Ue=>{const qe=Ue.find(st=>st.id===ve),lt=qe?qe.transitions.length:0;return at(`${ve}:${lt}`),Ue.map(st=>st.id===ve?{...st,transitions:[...st.transitions,{when:{type:"always"},goto:Ce}]}:st)})},[at]),Xn=ve=>{if(ve==="start")return null;const Ce=ve.lastIndexOf(":"),Ue=ve.slice(0,Ce),qe=parseInt(ve.slice(Ce+1));return{stepId:Ue,transIdx:qe}},Qn=A.useCallback((ve,Ce)=>{const Ue=Xn(ve);Ue&&ne(qe=>qe.map(lt=>lt.id===Ue.stepId?{...lt,transitions:lt.transitions.map((st,yt)=>yt===Ue.transIdx?Ce(st):st)}:lt))},[]),ye=A.useCallback((ve,Ce)=>{if(ve==="start"){q(Ce);return}Qn(ve,Ue=>({...Ue,goto:Ce}))},[Qn]),Fe=A.useCallback((ve,Ce)=>{const Ue=Xn(ve);Ue&&(ne(qe=>{const lt=qe.find(yt=>yt.id===Ue.stepId);if(!lt)return qe;const st=lt.transitions[Ue.transIdx];return st?qe.map(yt=>yt.id===Ue.stepId?{...yt,transitions:yt.transitions.filter((nn,It)=>It!==Ue.transIdx)}:yt.id===Ce?{...yt,transitions:[...yt.transitions,st]}:yt):qe}),P(null))},[]),Me=A.useCallback(ve=>{if(ve==="start"){q(""),P(null);return}const Ce=Xn(ve);Ce&&(ne(Ue=>Ue.map(qe=>qe.id===Ce.stepId?{...qe,transitions:qe.transitions.filter((lt,st)=>st!==Ce.transIdx)}:qe)),P(null))},[]),Ae=A.useCallback((ve,Ce)=>{if(ve==="start"){F(Ce);return}Qn(ve,Ue=>({...Ue,when:Ce}))},[Qn]),Qe=A.useCallback((ve,Ce)=>{ve!=="start"&&Qn(ve,Ue=>({...Ue,subGroup:Ce||void 0}))},[Qn]),Bt=ve=>jg(ve,je).name,In=()=>{if(!O)return null;if(O==="start"){const nn=J.find(It=>It.id===M);return{type:"start",fromLabel:"Start",toLabel:nn?Bt(nn):"(none)",condition:K}}const ve=O.lastIndexOf(":"),Ce=O.slice(0,ve),Ue=parseInt(O.slice(ve+1)),qe=J.find(nn=>nn.id===Ce);if(!qe)return null;const lt=qe.transitions[Ue];if(!lt)return null;const st=J.find(nn=>nn.id===lt.goto),yt=lt.goto==="$done"?"Done":st?Bt(st):lt.goto;return{type:"step",fromLabel:Bt(qe),toLabel:yt,condition:lt.when,subGroup:lt.subGroup}};if(S==="edit"){const ve=In();return i.jsxs(Ot,{isOpen:e,onClose:Ze,title:E?G:b?"Edit Workflow":"New Workflow",size:"full",children:[te&&i.jsx("div",{className:"text-accent-error text-sm px-3 py-2 bg-accent-error/10 rounded mb-3",children:te}),i.jsx(C8,{formName:G,formId:I,formDescription:V,formMaxIterations:B,formColor:z,isReadOnly:E,onNameChange:vt,onDescriptionChange:U,onMaxIterationsChange:ee,onColorChange:R}),i.jsxs("div",{className:"flex gap-3",style:{height:"calc(90vh - 220px)",minHeight:300},children:[i.jsxs("div",{className:"flex-1 min-w-0 bg-bg-primary/50 border border-border rounded-lg flex flex-col overflow-hidden",children:[i.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 border-b border-border/50 shrink-0",children:[i.jsx("span",{className:"text-[10px] text-text-muted uppercase tracking-wider font-medium",children:"Flow"}),!E&&i.jsx("button",{onClick:En,className:"text-[11px] text-accent-primary hover:text-accent-primary/80",children:"+ Add Step"})]}),i.jsxs("div",{className:"flex-1 min-h-0 p-2 overflow-auto",children:[i.jsx(w8,{steps:J,entryStep:M,selectedNodeId:(Ie==null?void 0:Ie.id)??null,selectedEdgeKey:O,startConditionLabel:nt,agentTypes:je,isReadOnly:E,onSelectNode:Ce=>{if(Ce===null){Et(null);return}const Ue=J.findIndex(qe=>qe.id===Ce);Et(Ue>=0?String(Ue):null)},onSelectEdge:at,onRemoveStep:Ce=>{var qe;const Ue=J.findIndex(lt=>lt.id===Ce);if(ne(lt=>lt.filter(st=>st.id!==Ce)),pe===Ue&&Et(null),M===Ce){const lt=J.filter(st=>st.id!==Ce);q(((qe=lt[0])==null?void 0:qe.id)??"")}},onCreateTransition:Wt,onReconnectTo:ye,onReconnectFrom:Fe,onDeleteTransition:Me}),J.length===0&&i.jsxs("div",{className:"flex flex-col items-center justify-center py-8 text-text-muted",children:[i.jsx("p",{className:"text-xs mb-2",children:"No steps yet"}),i.jsx("button",{onClick:En,className:"px-3 py-1.5 rounded bg-accent-primary/10 text-accent-primary text-xs hover:bg-accent-primary/20",children:"+ Add your first step"})]})]})]}),i.jsxs("div",{className:"w-[300px] shrink-0 border border-border rounded-lg bg-bg-secondary flex flex-col overflow-hidden",children:[i.jsx("div",{className:"px-3 py-1.5 border-b border-border shrink-0",children:i.jsx("span",{className:"text-[10px] text-text-muted uppercase tracking-wider font-medium",children:"Properties"})}),i.jsx("div",{className:"p-3 overflow-y-auto flex-1 min-h-0",children:E&&(ve||Ie)?i.jsx("p",{className:"text-text-muted text-xs text-center py-8",children:'View only — click "Duplicate & Customize" to edit.'}):ve?ve.type==="start"?i.jsxs("div",{className:"space-y-3 text-sm",children:[i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-semibold bg-blue-500/20 text-blue-300",children:"Start"})}),M&&i.jsxs("div",{className:"flex items-center gap-1.5 text-xs text-text-secondary",children:[i.jsx("span",{className:"text-text-primary font-medium",children:"Start"}),i.jsx(HS,{}),i.jsx("span",{className:"text-text-primary font-medium",children:ve.toLabel})]}),i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Activation Condition"}),i.jsx("select",{value:K.type,onChange:Ce=>F(Ce.target.value==="step_result"?{type:"step_result",result:"success"}:Ce.target.value==="metadata_all_match"?{type:"metadata_all_match",key:"",field:"",value:""}:Ce.target.value==="metadata_all_in"?{type:"metadata_all_in",key:"",field:"",values:[]}:{type:Ce.target.value}),className:mS,children:pk.map(Ce=>i.jsx("option",{value:Ce.value,children:Ce.label},Ce.value))})]}),K.type==="step_result"&&i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Result"}),M&&(()=>{const Ce=J.find(st=>st.id===M),Ue=Ce&&(Ce.type==="sub_agent"||Ce.type==="agent")?je.find(st=>st.id===(Ce.type==="sub_agent"?Ce.subAgentType:Ce.agentId)):void 0,qe=(Ue==null?void 0:Ue.results)&&Ue.results.length>0,lt=(Ue==null?void 0:Ue.results)??[];return qe?i.jsx("select",{value:K.result??lt[0],onChange:st=>F({type:"step_result",result:st.target.value}),className:mS,children:lt.map(st=>i.jsx("option",{value:st,children:st},st))}):i.jsx("input",{type:"text",value:K.result??"success",onChange:st=>F({type:"step_result",result:st.target.value}),placeholder:"e.g. success, passed, failed",className:ll})})()]}),(K.type==="metadata_all_match"||K.type==="metadata_all_in")&&i.jsxs(i.Fragment,{children:[i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Metadata Key"}),i.jsx("input",{type:"text",value:K.key??"",onChange:Ce=>F({...K,key:Ce.target.value}),placeholder:"e.g. criteria, todos, review_findings",className:ll})]}),i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Field"}),i.jsx("input",{type:"text",value:K.field??"",onChange:Ce=>F({...K,field:Ce.target.value}),placeholder:"e.g. status",className:ll})]}),K.type==="metadata_all_match"?i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Value"}),i.jsx("input",{type:"text",value:K.value??"",onChange:Ce=>F({...K,value:Ce.target.value}),placeholder:"e.g. passed, resolved",className:ll})]}):i.jsxs("div",{children:[i.jsx("label",{className:Oa,children:"Values (comma-separated)"}),i.jsx("input",{type:"text",value:((Cr=K.values)==null?void 0:Cr.join(", "))??"",onChange:Ce=>F({...K,values:Ce.target.value.split(",").map(Ue=>Ue.trim()).filter(Boolean)}),placeholder:"e.g. resolved, dismissed",className:ll})]})]}),i.jsx("p",{className:"text-text-muted text-[10px]",children:"Workflow only proceeds when this condition is met. Drag the target handle to change entry step."})]}):(()=>{const Ce=Xn(O),Ue=Ce==null?void 0:Ce.stepId,qe=(Ce==null?void 0:Ce.transIdx)??0,lt=Ue?J.find(yt=>yt.id===Ue):void 0,st=(lt==null?void 0:lt.transitions.length)??0;return i.jsx(j8,{fromLabel:ve.fromLabel,toLabel:ve.toLabel,condition:ve.condition,subGroup:"subGroup"in ve?ve.subGroup:void 0,fromStep:ve.type==="step"?J.find(yt=>yt.id===ve.fromLabel):void 0,agentTypes:je,transitionIndex:qe,totalTransitions:st,onUpdateCondition:yt=>Ae(O,yt),onUpdateSubGroup:yt=>Qe(O,yt),onDelete:()=>Me(O),onMoveUp:()=>{ne(yt=>{const nn=yt.find(jt=>jt.id===Ue);if(!nn||qe===0)return yt;const It=[...nn.transitions];return[It[qe-1],It[qe]]=[It[qe],It[qe-1]],yt.map(jt=>jt.id===Ue?{...jt,transitions:It}:jt)}),P(`${Ue}:${qe-1}`)},onMoveDown:()=>{ne(yt=>{const nn=yt.find(jt=>jt.id===Ue);if(!nn||qe===nn.transitions.length-1)return yt;const It=[...nn.transitions];return[It[qe],It[qe+1]]=[It[qe+1],It[qe]],yt.map(jt=>jt.id===Ue?{...jt,transitions:It}:jt)}),P(`${Ue}:${qe+1}`)}})})():Ie?i.jsx(E8,{step:Ie,isEntry:Ie.id===M,agentTypes:je,transitionCount:Ie.transitions.length,templateVariables:u,onUpdate:We,onRemove:()=>{var Ce;if(Ie&&(ne(J.filter((Ue,qe)=>qe!==pe)),Et(null),M===Ie.id)){const Ue=J.filter((qe,lt)=>lt!==pe);q(((Ce=Ue[0])==null?void 0:Ce.id)??"")}},onSetEntry:()=>q(Ie.id)}):i.jsxs("p",{className:"text-text-muted text-xs text-center py-8",children:["Click a node or edge to edit.",i.jsx("br",{}),"Drag from a port to connect."]})})]})]}),i.jsxs("div",{className:"flex justify-end gap-2 pt-3 mt-3 border-t border-border",children:[i.jsx(et,{variant:"secondary",onClick:Ze,children:"Close"}),E?i.jsx(et,{variant:"primary",onClick:()=>{W(G+" (copy)"),H(`${b}-copy-${Date.now()}`),j(null),T(!1)},children:"Duplicate & Customize"}):i.jsxs(i.Fragment,{children:[i.jsx(et,{variant:"primary",onClick:Oe,children:"Save"}),i.jsx(et,{variant:"primary",onClick:tt,children:"Save & Close"})]})]})]})}return i.jsx(Ot,{isOpen:e,onClose:t,title:"Workflows",size:"lg",children:i.jsx(JS,{description:"Workflows define multi-step agentic processes with branching transitions.",onNew:Ke,loading:l,hasItems:r.length>0||o.length>0,children:i.jsxs("div",{className:"space-y-4",children:[i.jsx(hS,{title:"Built-in",items:r,renderActions:ve=>i.jsx(i.Fragment,{children:i.jsx(Js,{onClick:()=>$e(ve.id),children:i.jsx(Au,{})})})}),i.jsx(hS,{title:"Custom",items:o,renderActions:ve=>i.jsxs(i.Fragment,{children:[i.jsx(Js,{onClick:()=>Te(ve.id),children:i.jsx(Au,{})}),i.jsx(Js,{onClick:()=>ue(ve.id),children:i.jsx("span",{className:"text-[10px]",children:"Edit"})}),i.jsx(Lu,{onClick:()=>$e(ve.id)}),v(ve.id,"delete")?i.jsx($p,{onConfirm:()=>rt(ve.id),onCancel:C}):i.jsx(zp,{onClick:()=>w(ve.id)})]})})]})})})}function A8(e){const t=e.match(/^\/p\/([^/]+)/);return t==null?void 0:t[1]}function L8({isOpen:e,onClose:t,onCloseComplete:n,onSelectCommand:r,onSelectWorkflow:o,onCloseCompleteAction:l,textareaContent:u,onSearchMessages:c,onToggleAutoScroll:d,isAutoScrollActive:f}){const[,p]=Gn(),m=dn(B=>B.fetchCommands),x=Rt(B=>B.fetchWorkflows),y=Ct(B=>B.fetchAgents),w=dn(B=>B.defaults),C=dn(B=>B.userItems),v=dn(B=>B.projectItems),S=Rt(B=>B.defaults),_=Rt(B=>B.userItems),b=Rt(B=>B.projectItems),j=Ct(B=>B.defaults),E=Ct(B=>B.userItems),T=Ct(B=>B.projectItems),D=Le(B=>{var ee;return(ee=B.currentSession)==null?void 0:ee.mode}),L=Le(B=>{var ee;return((ee=B.currentSession)==null?void 0:ee.dangerLevel)??"normal"}),O=Le(B=>B.switchMode),P=Le(B=>B.switchDangerLevel),G=Le(B=>{var ee;return(ee=B.currentSession)==null?void 0:ee.projectId}),W=A.useRef(void 0),[I,H]=A.useState(""),[V,U]=A.useState(0),Q=A.useRef(null),X=A.useRef(!1);A.useEffect(()=>{e&&(X.current=!0)},[e]),A.useEffect(()=>{if(e){m(),x(),y(),H(""),U(0);const B=setTimeout(()=>{var ee;return(ee=Q.current)==null?void 0:ee.focus()},50);return()=>clearTimeout(B)}},[e,m,x,y]),A.useEffect(()=>{var B;!e&&X.current&&(n==null||n(),(B=W.current)==null||B.call(W),W.current=void 0)},[e,n]);const R=[{id:"create-session",name:"New Session",prefix:"Action > Create",action:()=>{const B=G??A8(window.location.pathname);B&&p(`/p/${B}/new`)}},{id:"navigate-session",name:"Another Session",prefix:"Action > Navigate to",action:()=>{W.current=l,t()}},{id:"search-messages",name:"Messages",prefix:"Action > Search",action:()=>{t(),c==null||c()}},{id:"toggle-autoscroll",name:f?"Auto-scroll Off":"Auto-scroll On",prefix:"Action > Toggle",action:()=>{t(),d==null||d(!f)}},...Vr(Vr(j,E),T).filter(B=>!B.subagent&&B.id!==D).map(B=>({id:B.id,name:B.name,prefix:"Agent > Switch to",action:()=>O(B.id)})),...Vr(Vr(w,C),v).map(B=>({id:B.id,name:B.name,prefix:"Command > Launch",action:()=>r(B.id,u)})),...Vr(Vr(S,_),b).map(B=>({id:B.id,name:B.name,prefix:"Workflow > Run",action:()=>o(B.id)})),...["normal","dangerous"].filter(B=>B!==L).map(B=>({id:B,name:B.charAt(0).toUpperCase()+B.slice(1),prefix:"Mode > Switch to",action:()=>P(B)}))].filter(B=>za(`${B.prefix} ${B.name}`,I)),M=R.length-1,q=B=>{b1(B,M,U,()=>{var ee;(ee=R[V])==null||ee.action(),t()},t)};return e?Ja.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[15vh] p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),i.jsxs("div",{className:"relative w-full max-w-md bg-bg-secondary border border-border rounded shadow-xl",children:[i.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[i.jsx("input",{ref:Q,type:"text",value:I,onChange:B=>{H(B.target.value),U(0)},onKeyDown:q,placeholder:"Search...",className:"flex-1 bg-transparent text-sm focus:outline-none placeholder:text-text-muted"}),i.jsx(Bp,{onClick:t,className:"shrink-0","aria-label":"Close"})]}),i.jsx("div",{className:"overflow-y-auto max-h-[60vh] p-2",children:R.length===0?i.jsx("div",{className:"px-3 py-4 text-center text-text-muted text-sm",children:w.length+C.length+S.length+_.length>0?"No matches":"No agents, commands, or workflows yet"}):R.map((B,ee)=>i.jsxs("button",{type:"button",onClick:()=>{B.action(),t()},className:`w-full text-left px-3 py-2 rounded text-sm transition-colors ${ee===V?"bg-accent-primary/20 text-text-primary":"text-text-secondary hover:bg-bg-tertiary hover:text-text-primary"}`,children:[i.jsxs("span",{className:"text-text-muted font-normal",children:[B.prefix," "]}),i.jsx("span",{children:B.name})]},B.id))})]})]}),document.body):null}const xk="openfox-message-search-filters",D8=[{key:"user",label:"User prompts"},{key:"thinking",label:"Thinking"},{key:"response",label:"Responses"}];function R8(){try{const e=localStorage.getItem(xk);if(e){const t=JSON.parse(e);return new Set(t)}}catch{}return new Set(["user","thinking","response"])}function O8(e){localStorage.setItem(xk,JSON.stringify([...e]))}function I8(e){var n,r;if(e.type!=="message")return null;const t=e.message;if(t.role==="user")return"user";if(t.role==="assistant"){if((n=t.content)!=null&&n.trim())return"response";if((r=t.thinkingContent)!=null&&r.trim())return"thinking"}return null}function M8(e){const t=new Date(e),n=new Date;if(t.getDate()===n.getDate()&&t.getMonth()===n.getMonth()&&t.getFullYear()===n.getFullYear())return t.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1});const o=t.getFullYear(),l=String(t.getMonth()+1).padStart(2,"0"),u=String(t.getDate()).padStart(2,"0"),c=String(t.getHours()).padStart(2,"0"),d=String(t.getMinutes()).padStart(2,"0");return`${o}/${l}/${u} ${c}:${d}`}function P8(e){var t;if(e.type==="message")return e.message.timestamp;if(e.type==="subagent")return(t=e.messages[0])==null?void 0:t.timestamp}function B8(e){var t,n;if(e.type==="message"){const r=e.message;if(r.role==="assistant"){const o=(t=r.content)==null?void 0:t.trim();return((n=r.thinkingContent)==null?void 0:n.trim())&&!o?"italic text-text-muted":""}if(r.role==="user")return"font-bold"}return""}function $8(e){var n,r;if(e.type!=="message")return i.jsx(tv,{className:"w-3.5 h-3.5"});const t=e.message;return t.role==="assistant"?(n=t.thinkingContent)!=null&&n.trim()&&!((r=t.content)!=null&&r.trim())?i.jsx(bN,{className:"w-3.5 h-3.5"}):i.jsx(tv,{className:"w-3.5 h-3.5"}):i.jsx(yN,{className:"w-3.5 h-3.5"})}function gS(e){var t;if(e.type==="message"){const n=e.message,r=n.content||"",o=r.replace(/<[^>]+>/g,"").replace(/\s+/g," ").trim();if(n.messageKind==="workflow-started")try{return`Workflow: ${JSON.parse(r).workflowName}`}catch{return"Workflow started"}if(n.messageKind==="task-completed")return"Task completed";if(n.messageKind==="auto-prompt")return"Auto-prompt";if(n.messageKind==="correction")return"Correction";if(n.messageKind==="context-reset")return"Context reset";if(n.messageKind==="command")return"Command executed";if(n.role==="assistant")return o?o.slice(0,200):(t=n.thinkingContent)!=null&&t.trim()?n.thinkingContent.slice(0,200):"";const l=o.slice(0,200);return l.length<o.length?`${l}...`:l}return e.type==="subagent"?`Sub-agent: ${e.subAgentType}`:""}function z8({isOpen:e,onClose:t,displayItems:n,onNavigate:r}){const[o,l]=A.useState(""),[u,c]=A.useState(0),[d,f]=A.useState(R8),p=A.useRef(null),m=A.useRef(null),x=A.useRef(null),y=E=>{f(T=>{const D=new Set(T);return D.has(E)?D.delete(E):D.add(E),O8(D),D})},w=A.useMemo(()=>n.filter(E=>{var T,D;return!(E.type==="context-divider"||E.type==="message"&&(E.message.messageKind==="auto-prompt"||E.message.role==="assistant"&&!((T=E.message.content)!=null&&T.trim())&&!((D=E.message.thinkingContent)!=null&&D.trim())))}),[n]),C=A.useMemo(()=>w.filter(E=>{const T=I8(E);return!(T&&!d.has(T))}),[w,d]),v=A.useMemo(()=>o?w.filter(E=>{const T=gS(E);return za(T,o)}):C,[C,o]),S=v.length-1;A.useEffect(()=>{if(e){l(""),c(0);const E=setTimeout(()=>{var T;return(T=p.current)==null?void 0:T.focus()},50);return()=>clearTimeout(E)}},[e]),A.useEffect(()=>{e&&m.current&&(m.current.scrollTop=m.current.scrollHeight)},[e]),A.useEffect(()=>{x.current&&x.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[u]);const _=E=>{b1(E,S,c,()=>{const T=v[u];if(T){const D=n.indexOf(T);D>=0&&r(D),t()}},t)},b=E=>{const T=n.indexOf(E);T>=0&&r(T),t()},j=E=>n.indexOf(E);return e?Ja.createPortal(i.jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-[15vh] p-4",children:[i.jsx("div",{className:"absolute inset-0 bg-black/60 backdrop-blur-sm",onClick:t}),i.jsxs("div",{className:"relative w-full max-w-lg bg-bg-secondary border border-border rounded shadow-xl",children:[i.jsxs("div",{className:"flex items-center gap-2 px-4 py-3 border-b border-border",children:[i.jsx(bl,{}),i.jsx("input",{ref:p,type:"text",value:o,onChange:E=>{l(E.target.value),c(0)},onKeyDown:_,placeholder:"Search timeline...",className:"flex-1 bg-transparent text-sm focus:outline-none placeholder:text-text-muted"}),i.jsx("button",{type:"button",onClick:t,className:"p-0.5 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors","aria-label":"Close",children:i.jsx(Qa,{className:"w-4 h-4"})})]}),i.jsx("div",{className:"flex gap-1.5 px-4 py-2 border-b border-border",children:D8.map(E=>{const T=d.has(E.key);return i.jsx("button",{type:"button",onClick:()=>y(E.key),className:`px-2 py-0.5 rounded text-xs font-medium transition-colors ${T?"bg-accent-primary/20 text-accent-primary border border-accent-primary/40":"bg-bg-tertiary text-text-muted border border-border hover:text-text-secondary"}`,children:E.label},E.key)})}),i.jsx("div",{ref:m,className:"overflow-y-auto max-h-[60vh] p-2",children:v.length===0?i.jsx("div",{className:"px-3 py-4 text-center text-text-muted text-sm",children:C.length>0?"No matches":"No messages yet"}):v.map((E,T)=>{const D=j(E),L=$8(E),O=gS(E),P=B8(E),G=P8(E),W=E.type==="message"&&E.message.role==="user";return i.jsx("button",{ref:T===u?x:null,type:"button",onClick:()=>b(E),className:`w-full text-left px-3 py-2 rounded text-sm transition-colors ${T===u?"bg-accent-primary/20 text-text-primary":W?"bg-accent-primary/5 text-text-secondary hover:bg-accent-primary/10 hover:text-text-primary":"text-text-secondary hover:bg-bg-tertiary hover:text-text-primary"}`,children:i.jsxs("div",{className:"flex items-start justify-between gap-2",children:[i.jsxs("div",{className:"flex items-center gap-1.5 min-w-0 flex-1",children:[i.jsx("span",{className:"flex-shrink-0",children:L}),i.jsx("span",{className:`truncate flex-1 ${P}`,children:O})]}),G&&i.jsx("span",{className:"text-text-muted text-xs shrink-0",children:M8(G)})]})},`${D}-${E.type}`)})})]})]}),document.body):null}function H8({attachment:e,onRemove:t}){const n=ck(e.filename);return i.jsxs("div",{className:"relative inline-flex flex-col items-center p-2 bg-bg-tertiary rounded-lg border border-border",children:[i.jsx(Rl,{onClick:()=>t(e.id),className:"absolute -top-2 -right-2",size:"sm",variant:"overlay","aria-label":`Remove ${e.filename}`}),lk(e.mimeType)?i.jsx("img",{src:e.data,alt:e.description||e.filename,className:"w-16 h-16 object-cover rounded-md bg-bg-secondary"}):i.jsx("div",{className:"w-16 h-16 flex items-center justify-center rounded-md bg-bg-secondary text-xs font-bold text-text-muted",children:n}),i.jsx("div",{className:"mt-1 text-xs text-text-muted text-center max-w-16 truncate",title:e.filename,children:e.filename}),i.jsx("div",{className:"text-[10px] text-text-muted",children:Ha(e.size)})]})}function U8({history:e,selectedIndex:t,onSelect:n,onEscape:r,onNavigate:o}){const l=A.useRef(null),u=A.useRef(null);A.useEffect(()=>{u.current&&l.current&&u.current.scrollIntoView({block:"nearest",behavior:"smooth"})},[t]);const c=f=>{switch(f.key){case"Enter":f.preventDefault(),e[t]&&n(e[t].content);break;case"Escape":f.preventDefault(),r();break;case"ArrowUp":f.preventDefault(),o("up");break;case"ArrowDown":f.preventDefault(),o("down");break}},d=f=>{n(f)};return i.jsx("div",{ref:l,role:"list",className:"mb-2 p-2 bg-bg-secondary border border-border rounded-lg overflow-y-auto max-h-64",onKeyDown:c,children:e.map((f,p)=>i.jsxs("div",{ref:p===t?u:null,role:"listitem",onClick:()=>d(f.content),className:`
|
|
296
|
+
p-2 rounded cursor-pointer transition-colors
|
|
297
|
+
${p===t?"bg-accent-primary/20 border border-accent-primary":"hover:bg-bg-tertiary"}
|
|
298
|
+
`,children:[i.jsxs("div",{className:"text-xs text-text-muted font-mono",children:[f.formattedTimestamp,f.sessionName&&i.jsxs(i.Fragment,{children:[" | ",i.jsx("span",{className:"text-accent-primary font-medium",children:f.sessionName})]})]}),i.jsx("div",{className:"text-sm text-text-primary mt-1",children:f.trimmedContent})]},f.id))})}function F8(){const e=qj(),t=e?"bg-amber-400":"bg-accent-primary";return i.jsxs("div",{className:"flex items-center gap-3 text-xs text-text-muted py-2",children:[i.jsxs("div",{className:"flex items-center gap-1.5",children:[i.jsxs("span",{className:"flex gap-0.5",children:[i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"0ms"}}),i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"150ms"}}),i.jsx("span",{className:`w-1 h-1 rounded-full animate-bounce ${t}`,style:{animationDelay:"300ms"}})]}),i.jsx("span",{className:"text-text-secondary",children:e?"Running... (abort in progress)":"Running"})]}),!e&&i.jsx("span",{className:"text-text-muted",children:"esc to interrupt"})]})}const V8={maxWidth:1920,maxHeight:1920,quality:.85,maxSizeBytes:1048576};async function G8(e,t={}){const n={...V8,...t};if(!e.type.startsWith("image/"))throw new Error("File is not an image");if(!["image/png","image/jpeg","image/gif"].includes(e.type))throw new Error(`Unsupported image format: ${e.type}. Only PNG, JPG, and GIF are supported.`);if(e.size<=n.maxSizeBytes){const o=await e.arrayBuffer(),l=J8(o),u=`data:${e.type};base64,${l}`,c=await yk(u);return{dataUrl:u,mimeType:e.type,size:e.size,width:c.width,height:c.height}}return await W8(e,n)}async function W8(e,t){const n=await K8(e),r=await yk(n),{width:o,height:l}=q8(r.width,r.height,t.maxWidth,t.maxHeight),u=Y8();u.width=o,u.height=l;const c=u.getContext("2d");if(!c)throw new Error("Failed to get canvas context");c.imageSmoothingEnabled=!0,c.imageSmoothingQuality="high",c.drawImage(r,0,0,o,l);let d=t.quality,f="";for(let m=0;m<10&&(f=u.toDataURL(e.type.startsWith("image/gif")?"image/png":e.type,d),!(xS(f)<=t.maxSizeBytes||d<=.3));m++)d-=.1;const p=xS(f);return{dataUrl:f,mimeType:e.type.startsWith("image/gif")?"image/png":e.type,size:p,width:o,height:l}}function q8(e,t,n,r){const o=e/t;return e>t&&e>n?{width:n,height:Math.round(n/o)}:t>e&&t>r?{width:Math.round(r*o),height:r}:{width:e,height:t}}function K8(e){return new Promise((t,n)=>{const r=Q8(),o=new r;o.onload=()=>t(o.result),o.onerror=()=>n(new Error("Failed to read file")),o.readAsDataURL(e)})}function yk(e){return new Promise((t,n)=>{const r=X8(),o=new r;o.onload=()=>t(o),o.onerror=()=>n(new Error("Failed to load image")),o.src=e})}function Y8(){var t;const e=Ng();if(!((t=e.document)!=null&&t.createElement))throw new Error("Image compression requires browser canvas APIs");return e.document.createElement("canvas")}function X8(){const e=Ng();if(!e.Image)throw new Error("Image compression requires browser image APIs");return e.Image}function Q8(){const e=Ng();if(!e.FileReader)throw new Error("Image compression requires browser file APIs");return e.FileReader}function Ng(){return globalThis}function J8(e){const t=new Uint8Array(e);let n="";for(let r=0;r<t.byteLength;r++){const o=t[r];o!==void 0&&(n+=String.fromCharCode(o))}return btoa(n)}function xS(e){const n=e.split(",")[1];return n?Math.round(n.length*3/4):0}const yS=50*1024*1024,bS=1024*1024,Z8=["image/png","image/jpeg","image/gif"];function e$(e){return e==="application/pdf"}function t$(e){return Z8.includes(e.type)}async function n$(e){return await new Promise((t,n)=>{const r=new FileReader;r.onload=()=>t(r.result),r.onerror=()=>n(new Error("Failed to read file")),r.readAsDataURL(e)})}async function _S(e,t,n){try{if(Eg(e.type)){if(e.size>bS){n(`Text file too large (${Ha(e.size)}). Maximum is ${Ha(bS)}.`);return}const r=await e.text(),o={id:wu(),filename:e.name||"unnamed-file",mimeType:e.type,size:e.size,data:r};t(o)}else if(Tu(e.type)||e$(e.type)){if(e.size>yS){const r=Tu(e.type)?"Image":"PDF";n(`${r} file too large (${Ha(e.size)}). Maximum is ${Ha(yS)}.`);return}if(Tu(e.type)&&t$(e)){const r=await G8(e,{maxWidth:1920,maxHeight:1920,quality:.85,maxSizeBytes:1048576}),o={id:wu(),filename:e.name||"unnamed-file",mimeType:r.mimeType,size:r.size,data:r.dataUrl};t(o)}else{const r=await n$(e),o={id:wu(),filename:e.name||"unnamed-file",mimeType:e.type,size:e.size,data:r};t(o)}}else n(`Unsupported file type: ${e.type}. Supported types: images (PNG, JPG, GIF, WebP, BMP, SVG), PDF, text files, JSON, XML, YAML, and other common text-based formats.`)}catch(r){const o=r instanceof Error?r.message??"Failed to process file":"Failed to process file";n(o)}}function bk(e){const t=Le(l=>l.sendMessage),n=Le(l=>l.launchWorkflow),r=A.useCallback((l,u,c)=>{e(!0),t(l,u,c)},[e,t]),o=A.useCallback((l,u,c,d)=>{e(!0),n(l,u,c,d)},[e,n]);return{sendMessage:r,launchWorkflow:o}}function r$({children:e}){return Ja.createPortal(e,document.body)}function s$(e){const t=e.startCondition;if(!t||t.type==="always")return!0;switch(t.type){case"step_result":case"metadata_all_match":case"metadata_all_in":return null;default:return null}}function i$({onSendCommand:e,onSelectWorkflow:t,onSelectWorkflowWithSubGroup:n,onOpenCommandsManager:r,onOpenWorkflowsManager:o,onAttach:l,textareaContent:u,attachments:c}){const[d,f]=A.useState(!1),[p,m]=A.useState("commands"),[x,y]=A.useState(""),[w,C]=A.useState(0),[v,S]=A.useState(null),[_,b]=A.useState(null),j=A.useRef(null),E=A.useRef(null),T=dn(ee=>ee.defaults),D=dn(ee=>ee.userItems),L=dn(ee=>ee.projectItems),O=dn(ee=>ee.fetchCommands),P=Rt(ee=>ee.defaults),G=Rt(ee=>ee.userItems),W=Rt(ee=>ee.projectItems),I=Rt(ee=>ee.fetchWorkflows),H=Vr(Vr(T,D),L),V=Vr(Vr(P,G),W);A.useEffect(()=>{d&&(p==="commands"?O():p==="workflows"&&I())},[d,p,O,I]),A.useEffect(()=>{d&&(y(""),C(0),requestAnimationFrame(()=>{var ee;return(ee=j.current)==null?void 0:ee.focus()}))},[d,p]),A.useEffect(()=>{if(!d)return;const ee=J=>{var ne;(ne=E.current)!=null&&ne.contains(J.target)||f(!1)};return document.addEventListener("mousedown",ee),()=>document.removeEventListener("mousedown",ee)},[d]);const U=ee=>{switch(ee.key){case"ArrowDown":ee.preventDefault(),C(J=>{const K=(p==="commands"?H:V).filter(F=>{const te=x.toLowerCase();return!te||F.name.toLowerCase().includes(te)});return Math.min(J+1,K.length-1)});break;case"ArrowUp":ee.preventDefault(),C(J=>Math.max(J-1,0));break;case"Enter":ee.preventDefault();break;case"Escape":ee.preventDefault(),f(!1);break}},Q=ee=>{y(ee),C(0)},X=H.filter(ee=>!x||ee.name.toLowerCase().includes(x.toLowerCase())),z=V.filter(ee=>!x||ee.name.toLowerCase().includes(x.toLowerCase())),R=async ee=>{const J=await dn.getState().fetchCommand(ee);J&&e(J.prompt,J.metadata.agentMode,u,c),f(!1)},M=ee=>{t(ee),f(!1)},q=(ee,J)=>{J.stopPropagation(),f(!1),S(ee)},B=(ee,J)=>{J.stopPropagation(),f(!1),b(ee)};return i.jsxs("div",{ref:E,className:"relative",children:[i.jsx("button",{type:"button",onClick:()=>f(!d),className:"px-1.5 py-2 rounded-r bg-bg-secondary text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors border-l border-border/50",title:"More options",children:i.jsx(FS,{className:"w-4 h-4"})}),d&&i.jsxs("div",{className:"absolute bottom-full right-0 mb-1 w-80 max-w-[calc(100vw-2rem)] bg-bg-secondary border border-border rounded-lg shadow-xl z-50 overflow-hidden",children:[i.jsxs("div",{className:"flex border-b border-border",children:[i.jsx("button",{type:"button",onClick:()=>{m("commands"),y(""),C(0)},className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="commands"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Commands"}),i.jsx("button",{type:"button",onClick:()=>{m("workflows"),y(""),C(0)},className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="workflows"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Workflows"}),i.jsx("button",{type:"button",onClick:()=>m("attach"),className:`flex-1 px-4 py-2 text-sm font-medium transition-colors ${p==="attach"?"text-accent-primary border-b-2 border-accent-primary":"text-text-muted hover:text-text-primary"}`,children:"Attach"})]}),p!=="attach"&&i.jsx("div",{className:"p-2 border-b border-border",children:i.jsx("input",{ref:j,value:x,onChange:ee=>Q(ee.target.value),onKeyDown:U,placeholder:p==="commands"?"Search commands...":"Search workflows...",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-sm focus:outline-none focus:ring-1 focus:ring-accent-primary"})}),i.jsx("div",{className:"overflow-y-auto max-h-64 p-1",children:p==="commands"?X.length===0?i.jsx("div",{className:"px-3 py-2 text-text-muted text-sm",children:H.length===0?"No commands yet":"No matches"}):X.map((ee,J)=>i.jsxs("div",{className:`flex items-center gap-1 px-3 py-2 rounded transition-colors group ${J===w?"bg-accent-primary/20":"hover:bg-bg-tertiary"}`,children:[i.jsx("button",{type:"button",onClick:()=>R(ee.id),className:"flex-1 text-left",children:i.jsx("div",{className:"text-sm text-text-primary font-medium",children:ee.name})}),i.jsx(Js,{className:"opacity-0 group-hover:opacity-100",onClick:ne=>q(ee.id,ne)})]},ee.id)):p==="workflows"?z.length===0?i.jsx("div",{className:"px-3 py-2 text-text-muted text-sm",children:V.length===0?"No workflows yet":"No matches"}):z.map((ee,J)=>{const ne=s$(ee),K=ee.color??"#3b82f6";return i.jsxs("div",{className:`flex items-center gap-2 px-3 py-2 rounded transition-colors group ${J===w?"bg-accent-primary/20":"hover:bg-bg-tertiary"}`,children:[i.jsxs("button",{type:"button",onClick:()=>M(ee.id),className:"flex-1 text-left flex items-center gap-2",children:[i.jsx("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:K}}),i.jsx("span",{className:"text-sm text-text-primary font-medium flex-1",children:ee.name}),ne!==null&&i.jsx("span",{className:"w-1.5 h-1.5 rounded-full flex-shrink-0",style:{backgroundColor:ne?"#22c55e":"#6b7280"},title:ne?"Entry condition met":"Entry condition not met"})]}),i.jsxs("div",{className:"flex items-center gap-1",children:[ee.subGroups&&ee.subGroups.length>0&&i.jsx(a$,{subGroups:ee.subGroups,onSelect:F=>{f(!1),n(ee.id,F)}}),i.jsx(Js,{className:"opacity-0 group-hover:opacity-100",onClick:F=>B(ee.id,F)})]})]},ee.id)}):i.jsxs("div",{className:"p-4 flex flex-col items-center gap-3",children:[i.jsxs("button",{type:"button",onClick:()=>{l(),f(!1)},className:"flex items-center gap-2 px-4 py-2 rounded bg-bg-tertiary hover:bg-accent-primary/20 text-text-primary transition-colors",children:[i.jsx(nN,{className:"w-4 h-4"}),i.jsx("span",{className:"text-sm font-medium",children:"Attach file"})]}),i.jsx("span",{className:"text-xs text-text-muted",children:"or drag & drop into chat"})]})}),p!=="attach"&&i.jsx("div",{className:"border-t border-border p-1",children:i.jsx("button",{type:"button",onClick:()=>{f(!1),p==="commands"?r():o()},className:"w-full text-left px-3 py-1.5 rounded text-sm text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors",children:p==="commands"?"Manage Commands...":"Manage Workflows..."})})]}),i.jsx(fk,{isOpen:!!v,onClose:()=>S(null),initialEditId:v}),i.jsx(gk,{isOpen:!!_,onClose:()=>b(null),initialEditId:_})]})}function a$({subGroups:e,onSelect:t}){const[n,r]=A.useState(!1),[o,l]=A.useState({top:0,right:0}),u=A.useRef(null),c=A.useRef(null);hk(c,()=>r(!1),n);const d=f=>{if(f.stopPropagation(),!n&&u.current){const p=u.current.getBoundingClientRect();l({top:p.bottom+4,right:window.innerWidth-p.right})}r(!n)};return i.jsxs(i.Fragment,{children:[i.jsx("button",{ref:u,type:"button",onClick:d,className:"p-1 rounded text-text-muted hover:text-text-primary transition-colors",title:"Sub-groups",children:"⋮"}),n&&i.jsx(r$,{children:i.jsx("div",{ref:c,onMouseDown:f=>f.stopPropagation(),className:"fixed w-40 bg-bg-secondary border border-border rounded-lg shadow-xl z-[100] overflow-hidden",style:{top:o.top,right:o.right},children:e.map(f=>i.jsx("button",{type:"button",onClick:p=>{p.stopPropagation(),t(f)},className:"w-full text-left px-3 py-2 text-sm text-text-primary hover:bg-bg-tertiary transition-colors",children:f},f))})})]})}function o$({messages:e,onCancel:t}){return e.length===0?null:i.jsx("div",{className:"mb-2 flex flex-wrap gap-1.5",children:e.map(n=>i.jsxs("div",{className:`inline-flex items-center gap-1.5 px-2 py-1 rounded text-xs ${n.mode==="asap"?"bg-amber-500/15 text-amber-300 border border-amber-500/30":"bg-blue-500/15 text-blue-300 border border-blue-500/30"}`,children:[i.jsxs("span",{className:"font-medium",children:[n.mode==="asap"?"ASAP":"Queue",":"]}),i.jsx("span",{className:"truncate max-w-[200px]",children:n.content}),i.jsx(Rl,{onClick:()=>t(n.queueId),size:"sm"})]},n.queueId))})}function l$({agent:e,isBuiltIn:t,isConfirmingDelete:n,alwaysAllowedNames:r,onView:o,onEdit:l,onDuplicate:u,onDelete:c}){const d=e.allowedTools.filter(f=>!(r!=null&&r.has(f)));return i.jsxs(o1,{isBuiltIn:t,isConfirmingDelete:n,onView:o,onEdit:l,onDuplicate:u,onDelete:c,children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{backgroundColor:e.color??"#6b7280"}}),i.jsx("span",{className:"text-text-primary text-sm font-medium",children:e.name}),i.jsx("span",{className:"text-text-muted text-xs font-mono",children:e.id}),t&&i.jsx("span",{className:"px-1.5 py-0.5 rounded text-[10px] font-medium bg-bg-primary text-text-muted",children:"Built-in"})]}),e.description&&i.jsx("p",{className:"text-text-secondary text-xs mt-0.5 truncate",children:e.description}),i.jsxs("div",{className:"flex flex-wrap gap-1 mt-1",children:[d.slice(0,5).map(f=>i.jsx("span",{className:"text-[10px] font-mono text-text-muted bg-bg-primary px-1 py-0.5 rounded",children:f},f)),d.length>5&&i.jsxs("span",{className:"text-[10px] text-text-muted",children:["+",d.length-5," more"]})]})]})}function vS({title:e,agents:t,subagents:n,isBuiltIn:r,alwaysAllowedNames:o,onView:l,onDuplicate:u,onEdit:c,onDelete:d}){if(t.length===0&&n.length===0)return null;const f=p=>i.jsx(l$,{agent:p,isBuiltIn:r,isConfirmingDelete:!1,alwaysAllowedNames:o,onView:()=>l(p.id),onEdit:r?void 0:()=>c==null?void 0:c(p.id),onDuplicate:()=>u(p.id),onDelete:r?void 0:()=>d==null?void 0:d(p.id)},p.id);return i.jsxs("div",{children:[i.jsx("h3",{className:"text-xs font-medium text-text-secondary mb-2 uppercase tracking-wide",children:e}),i.jsxs("div",{className:"space-y-2",children:[t.map(f),n.length>0&&i.jsxs("div",{className:"mt-3",children:[i.jsx("div",{className:"text-xs text-text-muted uppercase tracking-wider mb-1.5",children:"Sub-agents"}),i.jsx("div",{className:"space-y-2",children:n.map(f)})]})]})]})}function c$(e){const t=new Map;for(const n of e){const r=n.indexOf(":");if(r===-1)t.set(n,new Set);else{const o=n.slice(0,r),u=n.slice(r+1).split(",").filter(Boolean);t.set(o,new Set(u))}}return t}function Fm(e){const t=[];for(const[n,r]of e)r.size===0?t.push(n):t.push(`${n}:${[...r].join(",")}`);return t}function u$({formName:e,formId:t,formDescription:n,formSubagent:r,formTools:o,formColor:l,formPrompt:u,formError:c,saving:d,isReadOnly:f,availableTools:p,onNameChange:m,onIdChange:x,onDescriptionChange:y,onSubagentChange:w,onToolsChange:C,onColorChange:v,onPromptChange:S,onSave:_,onCancel:b,onDuplicate:j}){const E=c$(o),T=p.filter(O=>!(r&&O.topLevelOnly)),D=(O,P)=>{const G=new Map(E),W=G.get(O)||new Set,I=new Set(W);I.has(P)?I.delete(P):I.add(P),I.size===0?G.set(O,new Set):G.set(O,I),C(Fm(G))},L=O=>{const P=new Map(E);P.has(O)?P.delete(O):P.set(O,new Set),C(Fm(P))};return i.jsxs("div",{className:"flex flex-col h-full",children:[i.jsxs("div",{className:"space-y-3",children:[c&&i.jsx(od,{message:c}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(Dr,{label:"Name",value:e,onChange:m,placeholder:"My Agent",readOnly:f}),i.jsx(Dr,{label:"ID",value:t,onChange:x,readOnly:!0,placeholder:"my_agent",hint:"(read-only)",mono:!0})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[i.jsx(Dr,{label:"Description",value:n,onChange:y,placeholder:"What this agent does",readOnly:f}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Type"}),i.jsxs("div",{className:"flex items-center gap-3 h-[34px]",children:[i.jsx("button",{onClick:()=>!f&&w(!1),className:`px-2.5 py-1 rounded text-xs font-medium transition-colors ${r?"bg-bg-tertiary text-text-muted hover:text-text-secondary":"bg-accent-primary/25 text-accent-primary"} ${f?"pointer-events-none opacity-60":""}`,children:"Agent"}),i.jsx("button",{onClick:()=>!f&&w(!0),className:`px-2.5 py-1 rounded text-xs font-medium transition-colors ${r?"bg-accent-primary/25 text-accent-primary":"bg-bg-tertiary text-text-muted hover:text-text-secondary"} ${f?"pointer-events-none opacity-60":""}`,children:"Sub-agent"}),i.jsxs("div",{className:"flex items-center gap-1.5 ml-auto",children:[i.jsx("label",{className:"text-xs text-text-secondary",children:"Color"}),i.jsx("input",{type:"color",value:l,onChange:O=>!f&&v(O.target.value),disabled:f,className:"w-6 h-6 rounded cursor-pointer border border-border bg-transparent"})]})]})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Tools"}),i.jsx("div",{className:"flex flex-wrap gap-1.5 p-2 bg-bg-tertiary border border-border rounded max-h-32 overflow-y-auto",children:T.map(O=>{const P=E.has(O.name),G=O.actions.length>0,W=E.get(O.name)||new Set;return G?f?i.jsxs("button",{className:"px-1.5 py-0.5 rounded text-xs font-mono flex items-center gap-1 bg-bg-primary text-text-muted pointer-events-none opacity-60",children:[i.jsx("span",{children:O.name}),i.jsx("span",{className:"text-[10px]",children:"*"})]},O.name):i.jsx(Dl,{trigger:i.jsxs("button",{className:`px-1.5 py-0.5 rounded text-xs font-mono transition-colors flex items-center gap-1 ${P?"bg-accent-primary/25 text-accent-primary":"bg-bg-primary text-text-muted"}`,children:[i.jsx("span",{children:O.name}),G&&i.jsx("span",{className:`text-[10px] ${P&&W.size>0?"text-accent-primary":"text-text-muted"}`,children:"*"})]}),minWidth:"160px",items:[...O.actions.map(I=>({label:i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",htmlFor:`${O.name}-${I}`,children:[i.jsx("input",{type:"checkbox",id:`${O.name}-${I}`,checked:W.has(I),onChange:()=>D(O.name,I),disabled:f,className:"w-3 h-3 rounded accent-accent-primary"}),i.jsx("span",{children:I})]}),closeOnClick:!1})),{label:P?"Deselect all":"Select all",closeOnClick:!1,onClick:()=>{if(P)L(O.name);else{const I=new Map(E);I.set(O.name,new Set(O.actions)),C(Fm(I))}}}]},O.name):i.jsx("button",{onClick:()=>!f&&L(O.name),className:`px-1.5 py-0.5 rounded text-xs font-mono transition-colors flex items-center gap-1 ${P?"bg-accent-primary/25 text-accent-primary":"bg-bg-primary text-text-muted hover:text-text-secondary"} ${f?"pointer-events-none":"cursor-pointer"}`,children:i.jsx("span",{children:O.name})},O.name)})})]})]}),i.jsxs("div",{className:"flex-1 min-h-[150px] border-t border-border pt-3 flex flex-col",children:[i.jsx("label",{className:"block text-xs text-text-secondary mb-1",children:"Prompt"}),i.jsx("textarea",{value:u,onChange:O=>!f&&S(O.target.value),readOnly:f,placeholder:"Instructions for this agent...",className:`h-80 w-full px-3 py-2 bg-bg-tertiary border border-border rounded text-sm font-mono resize-y focus:outline-none focus:ring-1 focus:ring-accent-primary ${f?"opacity-60":""}`})]}),i.jsx(AN,{onCancel:b,onSave:_,saving:d,saveDisabled:!e||!u||f}),f&&i.jsx("div",{className:"flex justify-end mt-2",children:i.jsx("button",{onClick:j,className:"px-3 py-1.5 rounded bg-accent-primary/20 text-sm text-accent-primary font-medium hover:bg-accent-primary/30 transition-colors",children:"Duplicate & Customize"})})]})}function d$(e){return e.toLowerCase().replace(/[^a-z0-9]+/g,"_").replace(/^_|_$/g,"")}function h$({isOpen:e,onClose:t,initialEditId:n}){const r=Ct(fe=>fe.defaults),o=Ct(fe=>fe.userItems),l=Ct(fe=>fe.loading),u=Ct(fe=>fe.fetchAgents),c=Ct(fe=>fe.fetchAgent),d=Ct(fe=>fe.fetchDefaultContent),f=Ct(fe=>fe.createAgent),p=Ct(fe=>fe.updateAgent),m=Ct(fe=>fe.deleteAgent),[x,y]=A.useState("list"),[w,C]=A.useState(null),[v,S]=A.useState(!1),[_,b]=A.useState(""),[j,E]=A.useState(""),[T,D]=A.useState(""),[L,O]=A.useState(!0),[P,G]=A.useState([]),[W,I]=A.useState("#6b7280"),[H,V]=A.useState(""),[U,Q]=A.useState(""),[X,z]=A.useState(!1),[R,M]=A.useState([]),[q,B]=A.useState(new Set),ee=fe=>{b(fe.metadata.name),E(fe.metadata.id),D(fe.metadata.description),O(fe.metadata.subagent),G(fe.metadata.allowedTools),I(fe.metadata.color??"#6b7280"),V(fe.prompt),Q("")},J=(fe,ue,oe)=>{b(fe.metadata.name+" (copy)"),E(`${ue}-copy-${Date.now()}`),D(fe.metadata.description),O(fe.metadata.subagent),G(fe.metadata.allowedTools),I(fe.metadata.color??"#6b7280"),V(fe.prompt),Q(""),C(null),S(!1),y("edit")},ne=(fe,ue)=>{ee(fe),C(ue),S(!0),y("edit")};A.useEffect(()=>{e&&(u(),we("/api/tools").then(fe=>fe.json()).then(fe=>{const ue=fe.tools||[];B(new Set(ue.filter(oe=>oe.alwaysAllowed).map(oe=>oe.name))),M(ue.filter(oe=>!oe.alwaysAllowed))}).catch(()=>{M([]),B(new Set)}),n?r.some(ue=>ue.id===n)?d(n).then(ue=>{ue&&J(ue,n)}):c(n).then(ue=>{ue&&(ee(ue),C(n),S(!1),y("edit"))}):(y("list"),C(null),S(!1)))},[e,u,c,d,n]);const K=async fe=>{if(r.some(oe=>oe.id===fe)){const oe=await d(fe);if(!oe)return;ne(oe,fe)}else{const oe=await c(fe);if(!oe)return;ne(oe,fe)}},F=async fe=>{const ue=await d(fe);ue&&J(ue,fe)},te=()=>{C(null),b(""),E(""),D(""),O(!0),G(["read_file"]),I("#6b7280"),V(""),Q(""),S(!1),y("edit")},re=async fe=>{const ue=await c(fe);ue&&(ee(ue),C(fe),S(!1),y("edit"))},ge=async fe=>{await m(fe)},_e=async()=>{const fe=w??j;if(!fe||!_||!H){Q("Name and prompt are required.");return}z(!0),Q("");const ue={metadata:{id:fe,name:_,description:T,subagent:L,allowedTools:P.filter(Oe=>!q.has(Oe)),color:W},prompt:H},oe=w?await p(w,ue):await f(ue);if(z(!1),!oe.success){Q(oe.error??"Failed to save agent.");return}n?t():y("list")},Be=()=>{n?t():(y("list"),S(!1))},He=fe=>{b(fe),w||E(d$(fe))},Ne=r.filter(fe=>fe.subagent),je=r.filter(fe=>!fe.subagent),ae=o.filter(fe=>fe.subagent),ze=o.filter(fe=>!fe.subagent);return x==="edit"?i.jsx(Ot,{isOpen:e,onClose:Be,title:v?`${_}`:w?"Edit Agent":"New Agent",size:"xl",children:i.jsx(u$,{formName:_,formId:j,formDescription:T,formSubagent:L,formTools:P,formColor:W,formPrompt:H,formError:U,saving:X,isReadOnly:v,availableTools:R,onNameChange:He,onIdChange:E,onDescriptionChange:D,onSubagentChange:fe=>{O(fe),fe&&G(ue=>ue.filter(oe=>{var Oe;return!((Oe=R.find(tt=>tt.name===oe))!=null&&Oe.topLevelOnly)}))},onToolsChange:G,onColorChange:I,onPromptChange:V,onSave:_e,onCancel:Be,onDuplicate:()=>{b(_+" (copy)"),E(`${w}-copy-${Date.now()}`),C(null),S(!1)}})}):i.jsx(Ot,{isOpen:e,onClose:t,title:"Agents",size:"lg",children:i.jsx(JS,{description:"Agents define behavior, tools, and prompts for top-level modes and sub-agents.",onNew:te,loading:l,hasItems:r.length>0||o.length>0,children:i.jsxs("div",{className:"space-y-4",children:[r.length>0&&i.jsx(vS,{title:"Built-in",agents:je,subagents:Ne,isBuiltIn:!0,alwaysAllowedNames:q,onView:K,onDuplicate:F}),o.length>0&&i.jsx(vS,{title:"Custom",agents:ze,subagents:ae,isBuiltIn:!1,alwaysAllowedNames:q,onView:K,onDuplicate:F,onEdit:re,onDelete:ge})]})})})}function f$(){const e=Le(_=>{var b;return(b=_.currentSession)==null?void 0:b.mode}),t=Le(_=>_.switchMode),n=Ct(_=>_.defaults),r=Ct(_=>_.userItems),o=Ct(_=>_.fetchAgents),l=[...n,...r],[u,c]=A.useState(!1),[d,f]=A.useState(!1),[p,m]=A.useState(null),x=A.useRef(null);A.useEffect(()=>{o()},[o]),A.useEffect(()=>{function _(b){x.current&&!x.current.contains(b.target)&&c(!1)}return document.addEventListener("mousedown",_),()=>document.removeEventListener("mousedown",_)},[]);const y=Pp();if(!e)return null;const w=l.filter(_=>!_.subagent),C=w.find(_=>_.id===e),v=(C==null?void 0:C.name)??e,S=_l(l,e);return i.jsxs("div",{className:"relative",ref:x,children:[i.jsxs("button",{type:"button",onClick:()=>c(!u),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors",title:"Switch agent",children:[i.jsx("span",{className:"text-sm font-medium",style:{color:S},children:v}),i.jsx(Wn,{className:`w-3 h-3 text-text-muted transition-transform ${u?"rotate-180":""}`})]}),u&&w.length>0&&i.jsxs("div",{className:"absolute bottom-full left-0 mb-1 w-56 bg-bg-secondary border border-border rounded-lg shadow-lg overflow-hidden z-50",children:[w.map((_,b)=>{const j=_.id===e,E=_l(l,_.id),T=y.agentSwitching[b],D=T?KS(T):null;return i.jsxs("div",{className:`flex items-center gap-2 px-3 py-2 text-sm transition-colors group ${j?"bg-bg-tertiary":"hover:bg-bg-tertiary cursor-pointer"}`,children:[i.jsxs("button",{type:"button",onClick:()=>{j||t(_.id),c(!1)},className:"flex-1 text-left flex items-center gap-2 min-w-0",children:[i.jsx("span",{className:"font-medium truncate",style:{color:E},children:_.name}),j&&i.jsx(Wr,{className:"w-3.5 h-3.5 text-text-muted shrink-0"})]}),D&&i.jsx("span",{className:"shrink-0 px-1.5 py-0.5 text-[10px] bg-bg-tertiary text-text-muted rounded",children:D})]},_.id)}),i.jsx("div",{className:"border-t border-border p-1",children:i.jsx("button",{type:"button",onClick:()=>{c(!1),f(!0)},className:"w-full text-left px-3 py-1.5 rounded text-sm text-text-muted hover:text-text-primary hover:bg-bg-tertiary transition-colors",children:"Manage Agents..."})})]}),i.jsx(h$,{isOpen:d,onClose:()=>{f(!1),m(null)},initialEditId:p})]})}function m$(){const e=Le(r=>r.currentSession),t=Le(r=>r.switchDangerLevel);if(!e)return null;const n=e.dangerLevel??"normal";return i.jsxs("div",{className:"flex items-center gap-1 px-1.5 py-0.5 rounded bg-bg-tertiary/50",children:[i.jsx("button",{type:"button",onClick:()=>t("normal"),className:`px-2 py-0.5 text-xs font-medium rounded transition-colors ${n==="normal"?"bg-accent-success/20 text-accent-success":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Normal mode - requires path confirmation",children:"Normal"}),i.jsx("button",{type:"button",onClick:()=>t("dangerous"),className:`px-2 py-0.5 text-xs font-medium rounded transition-colors ${n==="dangerous"?"bg-red-500/20 text-red-400":"text-text-muted hover:text-text-primary hover:bg-bg-tertiary"}`,title:"Dangerous mode - bypasses all confirmations",children:"Dangerous"})]})}function SS({value:e,onChange:t}){return i.jsxs("div",{children:[i.jsxs("label",{className:"text-xs text-text-secondary block mb-1",children:["Query params ",i.jsx("span",{className:"text-text-muted",children:"(optional JSON)"})]}),i.jsx("input",{type:"text",value:e??"",onChange:n=>t(n.target.value),className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary font-mono"})]})}const p$=[8080,11434,8e3,1234];function Tp(e){if(e!=null&&e.length)return e.includes("medium")?"medium":e[0]}function _k(e){return{name:e.name,url:e.url,backend:e.backend,apiKey:e.apiKey,isLocal:e.isLocal,thinkingField:e.thinkingField,authAdapter:e.authAdapter,transportAdapter:e.transportAdapter,models:e.models}}function g$({model:e,modelConfigs:t,autoConfigState:n,testResults:r,onUpdateConfig:o,onRunAutoConfig:l,onTestParams:u,onShowRaw:c}){var d,f,p,m,x,y,w,C,v,S,_,b,j,E,T,D,L,O,P,G,W,I,H,V,U,Q,X,z,R,M,q,B,ee,J,ne,K,F,te,re,ge,_e,Be,He;return i.jsxs("div",{className:"px-4 pb-4 border-t border-border pt-3 space-y-3",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("button",{onClick:()=>l(e.id),disabled:n.progress[e.id]==="probing",className:"px-4 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:n.progress[e.id]==="probing"?"Probing...":"Auto-config"}),n.progress[e.id]==="done"&&i.jsx("span",{className:"text-sm text-accent-success font-medium",children:"Configured ✓"}),n.progress[e.id]==="error"&&i.jsx("span",{className:"text-sm text-red-500 font-medium",children:"Failed ✗"})]}),i.jsxs("div",{className:"flex gap-3 items-end",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Context window (tokens)"}),i.jsx("input",{type:"number",value:((d=t[e.id])==null?void 0:d.contextWindow)??e.contextWindow,onChange:Ne=>o(e.id,{contextWindow:parseInt(Ne.target.value)||e.contextWindow}),className:"w-32 px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"})]}),i.jsxs("label",{className:"flex items-center gap-1.5 text-xs text-text-secondary pb-1",children:[i.jsx("input",{type:"checkbox",checked:((f=t[e.id])==null?void 0:f.supportsVision)??!1,onChange:Ne=>o(e.id,{supportsVision:Ne.target.checked}),className:"accent-accent-primary"})," ","Supports vision"]})]}),i.jsxs("div",{className:"flex flex-wrap items-center gap-x-3 gap-y-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>u(e.id,"thinking"),disabled:(p=r[e.id+"-thinking"])==null?void 0:p.loading,className:"px-3 py-1.5 bg-bg-tertiary border border-border rounded text-xs font-medium hover:bg-bg-secondary disabled:opacity-50 transition-colors",children:(m=r[e.id+"-thinking"])!=null&&m.loading?"Testing...":"Test thinking"}),((x=r[e.id+"-thinking"])==null?void 0:x.result)&&i.jsx("span",{className:"text-xs text-accent-success",children:"OK"}),((y=r[e.id+"-thinking"])==null?void 0:y.error)&&i.jsx("span",{className:"text-xs text-red-500",title:(w=r[e.id+"-thinking"])==null?void 0:w.error,children:"Fail"}),((C=r[e.id+"-thinking"])==null?void 0:C.result)&&i.jsx("button",{onClick:()=>c(r[e.id+"-thinking"].result),className:"text-xs text-accent-primary hover:underline",children:"raw"})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("button",{onClick:()=>u(e.id,"non-thinking"),disabled:(v=r[e.id+"-non-thinking"])==null?void 0:v.loading,className:"px-3 py-1.5 bg-bg-tertiary border border-border rounded text-xs font-medium hover:bg-bg-secondary disabled:opacity-50 transition-colors",children:(S=r[e.id+"-non-thinking"])!=null&&S.loading?"Testing...":"Test non-thinking"}),((_=r[e.id+"-non-thinking"])==null?void 0:_.result)&&i.jsx("span",{className:"text-xs text-accent-success",children:"OK"}),((b=r[e.id+"-non-thinking"])==null?void 0:b.error)&&i.jsx("span",{className:"text-xs text-red-500",title:(j=r[e.id+"-non-thinking"])==null?void 0:j.error,children:"Fail"}),((E=r[e.id+"-non-thinking"])==null?void 0:E.result)&&i.jsx("button",{onClick:()=>c(r[e.id+"-non-thinking"].result),className:"text-xs text-accent-primary hover:underline",children:"raw"})]})]}),i.jsxs("details",{className:"group",children:[i.jsxs("summary",{className:"text-xs text-text-muted cursor-pointer hover:text-text-secondary list-none flex items-center gap-1 select-none",children:[i.jsx(Wn,{className:"w-3 h-3 transition-transform group-open:rotate-180"}),"Advanced: thinking & non-thinking params"]}),i.jsxs("div",{className:"mt-3 space-y-2",children:[i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:((T=t[e.id])==null?void 0:T.thinkingEnabled)??!1,onChange:Ne=>o(e.id,{thinkingEnabled:Ne.target.checked}),className:"w-4 h-4 rounded border-border bg-bg-tertiary accent-accent-primary"}),i.jsx("span",{className:"text-xs font-medium text-text-primary",children:"Thinking"})]}),((D=t[e.id])==null?void 0:D.thinkingEnabled)&&i.jsxs("div",{className:"ml-6 space-y-2 pl-3 border-l-2 border-accent-primary/30",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Reasoning effort"}),(L=e.reasoningEfforts)!=null&&L.length?i.jsx("select",{"aria-label":"Reasoning effort",value:((O=t[e.id])==null?void 0:O.thinkingLevel)??Tp(e.reasoningEfforts),onChange:Ne=>o(e.id,{thinkingLevel:Ne.target.value}),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary",children:e.reasoningEfforts.map(Ne=>i.jsx("option",{value:Ne,children:Ne},Ne))}):i.jsx("input",{type:"text","aria-label":"Reasoning effort",value:((P=t[e.id])==null?void 0:P.thinkingLevel)??"",onChange:Ne=>o(e.id,{thinkingLevel:Ne.target.value}),className:"w-full px-2 py-1.5 bg-bg-tertiary border border-border rounded text-xs text-text-primary"})]}),i.jsx(SS,{value:(G=t[e.id])==null?void 0:G.thinkingQueryParams,onChange:Ne=>o(e.id,{thinkingQueryParams:Ne})})]}),i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:((W=t[e.id])==null?void 0:W.nonThinkingEnabled)??!1,onChange:Ne=>o(e.id,{nonThinkingEnabled:Ne.target.checked}),className:"w-4 h-4 rounded border-border bg-bg-tertiary accent-accent-primary"}),i.jsx("span",{className:"text-xs font-medium text-text-primary",children:"Non-thinking"})]}),((I=t[e.id])==null?void 0:I.nonThinkingEnabled)&&i.jsx("div",{className:"ml-6 space-y-2 pl-3 border-l-2 border-accent-warning/30",children:i.jsx(SS,{value:(H=t[e.id])==null?void 0:H.nonThinkingQueryParams,onChange:Ne=>o(e.id,{nonThinkingQueryParams:Ne})})})]}),i.jsxs("div",{className:"border-t border-border pt-3 mt-3",children:[i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"Sampling parameters"}),i.jsxs("div",{className:"grid grid-cols-2 gap-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Temperature"}),i.jsx("input",{type:"number",step:"0.1",value:((V=t[e.id])==null?void 0:V.temperature)??"",onChange:Ne=>o(e.id,{temperature:Ne.target.value?parseFloat(Ne.target.value):void 0}),placeholder:((Q=(U=t[e.id])==null?void 0:U.defaultTemperature)==null?void 0:Q.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((X=t[e.id])==null?void 0:X.defaultTemperature)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(z=t[e.id])==null?void 0:z.defaultTemperature]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Top P"}),i.jsx("input",{type:"number",step:"0.05",value:((R=t[e.id])==null?void 0:R.topP)??"",onChange:Ne=>o(e.id,{topP:Ne.target.value?parseFloat(Ne.target.value):void 0}),placeholder:((q=(M=t[e.id])==null?void 0:M.defaultTopP)==null?void 0:q.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((B=t[e.id])==null?void 0:B.defaultTopP)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(ee=t[e.id])==null?void 0:ee.defaultTopP]})]})]}),i.jsxs("div",{className:"grid grid-cols-2 gap-2 mt-2",children:[i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Top K"}),i.jsx("input",{type:"number",value:((J=t[e.id])==null?void 0:J.topK)??"",onChange:Ne=>o(e.id,{topK:Ne.target.value?parseInt(Ne.target.value):void 0}),placeholder:((K=(ne=t[e.id])==null?void 0:ne.defaultTopK)==null?void 0:K.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((F=t[e.id])==null?void 0:F.defaultTopK)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(te=t[e.id])==null?void 0:te.defaultTopK]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-0.5",children:"Max tokens"}),i.jsx("input",{type:"number",value:((re=t[e.id])==null?void 0:re.maxTokens)??"",onChange:Ne=>o(e.id,{maxTokens:Ne.target.value?parseInt(Ne.target.value):void 0}),placeholder:((_e=(ge=t[e.id])==null?void 0:ge.defaultMaxTokens)==null?void 0:_e.toString())??"Using default",className:"w-full px-2 py-1 bg-bg-tertiary border border-border rounded text-xs text-text-primary"}),((Be=t[e.id])==null?void 0:Be.defaultMaxTokens)!==void 0&&i.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:["default: ",(He=t[e.id])==null?void 0:He.defaultMaxTokens]})]})]})]})]})]})}function vk({isOpen:e,onClose:t,onSave:n,initialStep:r=1,editProvider:o,editModelId:l}){const[u,c]=A.useState(r),[d,f]=A.useState(""),[p,m]=A.useState(""),[x,y]=A.useState("unknown"),[w,C]=A.useState(""),[v,S]=A.useState(!1),[_,b]=A.useState(),[j,E]=A.useState(),[T,D]=A.useState(!1),[L,O]=A.useState(null),[P,G]=A.useState([]),[W,I]=A.useState(null),[H,V]=A.useState(!1),[U,Q]=A.useState(""),[X,z]=A.useState({}),[R,M]=A.useState({loading:!1,progress:{}}),[q,B]=A.useState({}),[ee,J]=A.useState(null),[ne,K]=A.useState(new Set),[F,te]=A.useState(""),[re,ge]=A.useState(null),[_e,Be]=A.useState("disconnected"),[He,Ne]=A.useState(!1),[je,ae]=A.useState(null),[ze,fe]=A.useState([]),[ue,oe]=A.useState(!1),[Oe,tt]=A.useState(!1),Ze=A.useRef(null),vt=A.useRef(!1),ce=A.useRef(null);A.useEffect(()=>{u===1&&e&&requestAnimationFrame(()=>{var ye;return(ye=ce.current)==null?void 0:ye.focus()})},[u,e]),A.useEffect(()=>()=>{Ze.current!==null&&window.clearTimeout(Ze.current)},[]),A.useEffect(()=>{e&&we("/api/provider-presets").then(async ye=>ye.ok?await ye.json():{presets:[]}).then(ye=>fe(ye.presets)).catch(()=>fe([]))},[e]);function Te(ye,Fe){z(Me=>({...Me,[ye]:{...Me[ye],...Fe}}))}function $e(ye){K(Fe=>new Set(Fe).add(ye.id)),z(Fe=>({...Fe,[ye.id]:{contextWindow:ye.contextWindow,...Fe[ye.id]}}))}function Ke(ye){if(!ye.trim())return P;const Fe=ye.toLowerCase().split(/\s+/).filter(Boolean);return P.filter(Me=>Fe.every(Ae=>Me.id.toLowerCase().includes(Ae)))}A.useEffect(()=>{var ye,Fe;if(e)if(c(r),f((o==null?void 0:o.name)??""),m((o==null?void 0:o.url)??""),y((o==null?void 0:o.backend)??"unknown"),C((o==null?void 0:o.apiKey)??""),S((o==null?void 0:o.isLocal)??!1),b(o==null?void 0:o.authAdapter),E(o==null?void 0:o.transportAdapter),O(null),Q((o==null?void 0:o.thinkingField)??""),B({}),J(null),ge(null),Be("disconnected"),ae(null),oe(!1),tt(!1),(ye=o==null?void 0:o.models)!=null&&ye.length){const Me={},Ae=new Set;for(const Qe of o.models)Me[Qe.id]={contextWindow:Qe.contextWindow,supportsVision:Qe.supportsVision,thinkingEnabled:Qe.thinkingEnabled,thinkingLevel:Qe.thinkingLevel??Tp(Qe.reasoningEfforts),nonThinkingEnabled:Qe.nonThinkingEnabled,thinkingQueryParams:Qe.thinkingQueryParams,nonThinkingQueryParams:Qe.nonThinkingQueryParams,defaultTemperature:Qe.defaultTemperature,defaultTopP:Qe.defaultTopP,defaultTopK:Qe.defaultTopK,defaultMaxTokens:Qe.defaultMaxTokens},Qe.selected&&Ae.add(Qe.id);if(Ae.size===0)for(const Qe of o.models)Ae.add(Qe.id);K(Ae),z(Me),G(o.models),I(l??((Fe=o.models[0])==null?void 0:Fe.id)??null)}else G([]),z({}),I(null),K(new Set)},[e,r,o==null?void 0:o.id,l]),A.useEffect(()=>{const ye=!!_;u===2&&p&&P.length===0&&!T&&!L&&(!ye||_e==="connected")&&We(p)},[u,_e]),A.useEffect(()=>{!e||!_||!(o!=null&&o.id)||Et(o.id)},[e,j,o==null?void 0:o.id]),A.useEffect(()=>{if(!je)return;const ye=(o==null?void 0:o.id)??re;if(!ye)return;let Fe=!1;const Me=async()=>{const Qe=await Et(ye);Fe||Qe!=="connected"||(ae(null),oe(!1),tt(!1),await We(p))};Me();const Ae=window.setInterval(()=>void Me(),2e3);return()=>{Fe=!0,window.clearInterval(Ae)}},[je,re,o==null?void 0:o.id]);async function rt(){if(o!=null&&o.id)return o.id;if(re)return re;const ye=await we("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:d||"Provider",url:p,backend:x,authAdapter:_,transportAdapter:j,isLocal:!1,models:[]})});if(!ye.ok)throw new Error("Unable to create provider");const Fe=await ye.json();return ge(Fe.provider.id),Fe.provider.id}async function Et(ye){const Fe=await we(`/api/provider-auth/${ye}/status`);if(!Fe.ok)return"error";const Me=await Fe.json(),Ae=Me.state==="connected"?"connected":Me.state==="pending"?"pending":Me.state==="error"?"error":"disconnected";return Be(Ae),Ae}async function at(){Ne(!0),Be("pending");try{const ye=await rt(),Fe=await we(`/api/provider-auth/${ye}/login`,{method:"POST"});if(!Fe.ok)throw new Error("Unable to start provider sign-in");const Me=await Fe.json();ae(Me)}catch{Be("error")}finally{Ne(!1)}}async function pe(){var ye;je!=null&&je.userCode&&(await((ye=navigator.clipboard)==null?void 0:ye.writeText(je.userCode)),Ze.current!==null&&window.clearTimeout(Ze.current),tt(!1),requestAnimationFrame(()=>tt(!0)),Ze.current=window.setTimeout(()=>{tt(!1),Ze.current=null},1500))}function Ie(){je&&(window.open(je.directUrl??je.verificationUrl,"_blank","noopener,noreferrer"),oe(!0))}async function We(ye){var Fe,Me;D(!0),O(null),G([]);try{const Ae=new URLSearchParams({url:ye});w&&Ae.set("apiKey",w),x&&Ae.set("backend",x);const Qe=j?await we(`/api/providers/${await rt()}/models`):await we(`/api/providers/models?${Ae.toString()}`);if(Qe.ok){const Bt=await Qe.json();if((Fe=Bt.models)!=null&&Fe.length){G(Bt.models),I(((Me=Bt.models[0])==null?void 0:Me.id)??null);const In={};for(const _n of Bt.models)In[_n.id]={contextWindow:_n.contextWindow,thinkingEnabled:!0,thinkingLevel:Tp(_n.reasoningEfforts),defaultTemperature:_n.defaultTemperature,defaultTopP:_n.defaultTopP,defaultTopK:_n.defaultTopK,defaultMaxTokens:_n.defaultMaxTokens};z(In),Bt.models.length===1&&(K(new Set([Bt.models[0].id])),I(Bt.models[0].id),nt(Bt.models[0].id))}}else{const Bt=await Qe.json();O(Bt.error??`Failed to fetch models from ${ye}`)}}catch(Ae){O(`Failed to fetch models from ${ye}: ${Ae instanceof Error?Ae.message:"Unknown error"}`)}D(!1)}async function nt(ye){M(Fe=>({loading:!0,progress:{...Fe.progress,[ye]:"probing"}}));try{const Fe=await we("/api/providers/auto-config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:p,apiKey:w||void 0,backend:x||"unknown",models:[{id:ye}]})});if(!Fe.ok){const Ae=await Fe.json();throw new Error(Ae.error??"Auto-config failed")}const Me=await Fe.json();for(const Ae of Me.models){const Qe={};Ae.contextSource!=="default"&&(Qe.contextWindow=Ae.contextWindow,Qe.supportsVision=Ae.supportsVision),Ae.thinkingConfig&&(Qe.thinkingEnabled=!0,Qe.thinkingQueryParams=JSON.stringify(Ae.thinkingConfig)),Ae.nonThinkingConfig&&(Qe.nonThinkingEnabled=!0,Qe.nonThinkingQueryParams=JSON.stringify(Ae.nonThinkingConfig)),Te(Ae.id,Qe),M(Bt=>({...Bt,progress:{...Bt.progress,[Ae.id]:"done"}}))}}catch(Fe){console.error("Auto-config error:",Fe),M(Me=>({...Me,progress:{...Me.progress,[ye]:"error"}}))}finally{M(Fe=>({...Fe,loading:!1}))}}async function En(ye,Fe){const Me=ye+"-"+Fe;B(Ae=>({...Ae,[Me]:{loading:!0}}));try{const Ae=X[ye],Qe=await we("/api/providers/test-params",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:p,providerId:(o==null?void 0:o.id)??re??void 0,transportAdapter:j,model:ye,apiKey:w||void 0,backend:x||"unknown",thinkingField:U||void 0,mode:Fe,modelConfig:{temperature:Ae==null?void 0:Ae.temperature,topP:Ae==null?void 0:Ae.topP,topK:Ae==null?void 0:Ae.topK,maxTokens:Ae==null?void 0:Ae.maxTokens,supportsVision:Ae==null?void 0:Ae.supportsVision,thinkingEnabled:Ae==null?void 0:Ae.thinkingEnabled,thinkingLevel:Ae==null?void 0:Ae.thinkingLevel,nonThinkingEnabled:Ae==null?void 0:Ae.nonThinkingEnabled,thinkingQueryParams:Ae==null?void 0:Ae.thinkingQueryParams,nonThinkingQueryParams:Ae==null?void 0:Ae.nonThinkingQueryParams}})}),Bt=await Qe.json();Qe.ok?B(In=>({...In,[Me]:{loading:!1,result:JSON.stringify(Bt,null,2),message:Bt.message}})):B(In=>({...In,[Me]:{loading:!1,error:Bt.error??"Test failed"}}))}catch(Ae){B(Qe=>({...Qe,[Me]:{loading:!1,error:Ae instanceof Error?Ae.message:"Request failed"}}))}}function Wt(){G([]),z({}),M({loading:!1,progress:{}}),B({}),J(null),K(new Set),te("")}function Xn(){re&&!vt.current&&we(`/api/providers/${re}`,{method:"DELETE"}).catch(ye=>{console.warn("Failed to clean up draft provider",ye)}),t()}function Qn(){const ye=d||"Provider",Fe=(o==null?void 0:o.id)??re??`temp-${Date.now()}`;n({id:Fe,name:ye,url:p,backend:x||"unknown",apiKey:w||void 0,isLocal:v,thinkingField:U||void 0,authAdapter:_,transportAdapter:j,models:P.map(Me=>{var Ae,Qe,Bt,In,_n,Cr,ve,Ce,Ue,qe,lt,st,yt,nn,It;return{id:Me.id,name:Me.name,apiModelId:Me.apiModelId,requestBody:Me.requestBody,reasoningEfforts:Me.reasoningEfforts,contextWindow:((Ae=X[Me.id])==null?void 0:Ae.contextWindow)??Me.contextWindow,selected:ne.has(Me.id)||void 0,supportsVision:(Qe=X[Me.id])==null?void 0:Qe.supportsVision,thinkingEnabled:(Bt=X[Me.id])==null?void 0:Bt.thinkingEnabled,thinkingLevel:(In=X[Me.id])==null?void 0:In.thinkingLevel,nonThinkingEnabled:(_n=X[Me.id])==null?void 0:_n.nonThinkingEnabled,thinkingQueryParams:(Cr=X[Me.id])==null?void 0:Cr.thinkingQueryParams,nonThinkingQueryParams:(ve=X[Me.id])==null?void 0:ve.nonThinkingQueryParams,temperature:(Ce=X[Me.id])==null?void 0:Ce.temperature,topP:(Ue=X[Me.id])==null?void 0:Ue.topP,topK:(qe=X[Me.id])==null?void 0:qe.topK,maxTokens:(lt=X[Me.id])==null?void 0:lt.maxTokens,defaultMaxTokens:(st=X[Me.id])==null?void 0:st.defaultMaxTokens,defaultTemperature:(yt=X[Me.id])==null?void 0:yt.defaultTemperature,defaultTopP:(nn=X[Me.id])==null?void 0:nn.defaultTopP,defaultTopK:(It=X[Me.id])==null?void 0:It.defaultTopK}})}),vt.current=!0,t()}return e?i.jsxs("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-50",children:[i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[640px] max-h-[85vh] overflow-y-auto shadow-2xl",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[i.jsx("h3",{className:"text-lg font-semibold text-text-primary",children:o?"Edit Provider":"Add Provider"}),i.jsx("button",{onClick:Xn,className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsx("div",{className:"flex gap-1.5 px-6 pt-4",children:[1,2].map(ye=>i.jsx("div",{className:`h-1 flex-1 rounded-full transition-colors ${ye<u?"bg-accent-success":ye===u?"bg-accent-primary":"bg-border"}`},ye))}),u===1&&i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-2",children:"Inference engine"}),i.jsxs("div",{className:"grid grid-cols-5 gap-2",children:[ze.map(ye=>i.jsx("button",{type:"button",onClick:()=>{f(ye.defaults.name??ye.name),m(ye.defaults.url),y(ye.defaults.backend),S(!1),C(""),b(ye.authAdapter),E(ye.transportAdapter),O(null),Wt()},className:`p-2 rounded border text-center text-sm transition-colors ${j&&j===ye.transportAdapter?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:ye.name},ye.id)),i.jsx("button",{type:"button",onClick:()=>{y("unknown"),S(!1),b(void 0),E(void 0),O(null),Wt()},className:`p-2 rounded border text-center text-sm transition-colors ${x==="unknown"?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:"Other"},"other"),p$.map(ye=>{const Fe={8e3:"vllm",11434:"ollama",8080:"llamacpp",1234:"lmstudio"},Me={8e3:"vLLM",11434:"Ollama",8080:"llama.cpp",1234:"LM Studio"};return i.jsx("button",{type:"button",onClick:()=>{f(Ae=>Ae||(Me[ye]??"")),m(Ae=>Ae||`http://localhost:${ye}`),y(Fe[ye]??""),S(!0),b(void 0),E(void 0),O(null),Wt()},className:`p-2 rounded border text-center text-sm transition-colors ${x===Fe[ye]?"border-accent-primary bg-accent-primary/10 text-accent-primary":"border-border hover:border-text-muted text-text-secondary"}`,children:Me[ye]??`localhost:${ye}`},ye)})]})]}),!_&&i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Provider URL"}),i.jsx("input",{ref:ce,type:"text",value:p,"data-testid":"provider-modal-url",onChange:ye=>{m(ye.target.value),O(null),G([]),z({})},placeholder:"http://localhost:8000",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Provider name"}),i.jsx("input",{type:"text",autoComplete:"off",value:d,onChange:ye=>f(ye.target.value),placeholder:"My LLM Server",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),!_&&i.jsxs("div",{children:[i.jsxs("label",{className:"block text-sm text-text-secondary mb-1",children:["API key ",i.jsx("span",{className:"text-text-muted",children:"(optional)"})]}),i.jsx("input",{type:"text",autoComplete:"off",value:w,onChange:ye=>C(ye.target.value),placeholder:"sk-...",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),!_&&i.jsxs("label",{className:"flex items-center gap-2 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:v,onChange:ye=>S(ye.target.checked),className:"w-4 h-4 rounded border-border bg-bg-primary accent-accent-primary"}),i.jsx("span",{className:"text-sm text-text-secondary",children:"This is a local provider"})]})]}),u===2&&i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[!!_&&i.jsxs("div",{className:"rounded-lg border border-border bg-bg-primary p-4",children:[i.jsxs("div",{className:"flex items-center justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-primary",children:"Connect provider"}),i.jsx("p",{className:"mt-1 text-xs text-text-muted",children:"Connect this provider before choosing available models."})]}),_e==="connected"?i.jsx("span",{className:"text-sm font-medium text-accent-success",children:"Connected ✓"}):i.jsx("button",{type:"button",onClick:()=>void at(),disabled:He||_e==="pending",className:"rounded-lg bg-accent-primary px-4 py-2 text-sm font-medium text-text-primary disabled:opacity-50",children:He||_e==="pending"?"Connecting...":_e==="error"?"Retry":"Connect"})]}),je&&i.jsxs("div",{className:"mt-4 border-t border-border pt-4",children:[i.jsx("p",{className:"text-xs text-text-muted",children:"Use this code to complete authorization:"}),i.jsx("button",{type:"button",onClick:()=>void pe(),className:"mt-3 w-full rounded-lg border border-accent-primary/40 px-4 py-4 font-mono text-2xl font-semibold tracking-[0.2em] text-accent-primary",children:je.userCode??"Continue"}),i.jsxs("div",{className:"mt-3 flex gap-2",children:[i.jsx("button",{type:"button",onClick:()=>void pe(),className:"flex-1 rounded-lg border border-border px-3 py-2 text-sm text-text-primary",children:Oe?"Copied":"Copy code"}),i.jsx("button",{type:"button",onClick:Ie,className:"flex-1 rounded-lg bg-accent-primary px-3 py-2 text-sm font-medium text-text-primary",children:ue?"Reopen authorization":"Open authorization"})]})]})]}),T&&i.jsxs("div",{className:"flex items-center gap-2 text-sm text-text-muted",children:[i.jsx("span",{className:"w-4 h-4 border-2 border-accent-primary border-t-transparent rounded-full animate-spin"}),"Fetching models..."]}),L&&i.jsxs("div",{className:"p-3 rounded-lg text-sm bg-red-500/10 text-red-500 border border-red-500/20",children:[i.jsx("p",{children:L}),i.jsxs("p",{className:"text-xs text-text-muted mt-1",children:["URL: ",p]}),i.jsxs("div",{className:"flex gap-2 mt-2",children:[i.jsx("button",{onClick:()=>We(p),className:"text-xs text-accent-primary hover:underline",children:"Retry"}),i.jsx("button",{onClick:()=>{Wt(),c(1)},className:"text-xs text-accent-primary hover:underline",children:"Edit URL"})]})]}),P.length>0&&x&&(!_||_e==="connected")&&i.jsxs(i.Fragment,{children:[ne.size>0&&i.jsxs("div",{className:"mb-4",children:[i.jsxs("h4",{className:"text-sm font-medium text-text-primary mb-1",children:["Selected Models (",ne.size,")"]}),i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"Only selected models will appear in the model selector."}),i.jsx("div",{className:"space-y-2",children:P.filter(ye=>ne.has(ye.id)).map(ye=>{var Fe;return i.jsxs("div",{className:"bg-bg-primary border border-border rounded-lg overflow-hidden",children:[i.jsxs("div",{onClick:()=>I(W===ye.id?null:ye.id),className:"w-full flex items-center justify-between px-4 py-3 hover:bg-bg-tertiary transition-colors cursor-pointer",children:[i.jsxs("div",{className:"flex items-center gap-3",children:[i.jsx("span",{className:"text-sm font-medium text-text-primary",children:ye.name??ye.id.split("/").pop()}),i.jsxs("span",{className:"text-xs text-text-muted bg-bg-tertiary px-2 py-0.5 rounded",children:[(((Fe=X[ye.id])==null?void 0:Fe.contextWindow)??ye.contextWindow).toLocaleString()," ctx"]})]}),i.jsxs("div",{className:"flex items-center gap-2",children:[R.progress[ye.id]==="probing"?i.jsx("span",{className:"w-3 h-3 border-2 border-accent-primary border-t-transparent rounded-full animate-spin"}):R.progress[ye.id]==="done"?i.jsx("span",{className:"text-xs text-accent-success font-medium",children:"Configured ✓"}):R.progress[ye.id]==="error"?i.jsx("span",{className:"text-xs text-red-500 font-medium",children:"Failed ✗"}):_?null:i.jsx("button",{onClick:Me=>{Me.stopPropagation(),nt(ye.id)},className:"text-xs text-accent-primary hover:underline",children:"Auto-config"}),P.length>1&&i.jsx("button",{onClick:Me=>{Me.stopPropagation();const Ae=new Set(ne);Ae.delete(ye.id),K(Ae),W===ye.id&&I(null)},className:"text-xs text-red-500 hover:text-red-400 px-2 py-1 rounded hover:bg-red-500/10",children:"Remove"}),i.jsx(Wn,{className:`w-4 h-4 text-text-muted transition-transform ${W===ye.id?"rotate-180":""}`})]})]}),W===ye.id&&i.jsx(g$,{model:ye,modelConfigs:X,autoConfigState:R,testResults:q,onUpdateConfig:Te,onRunAutoConfig:nt,onTestParams:En,onShowRaw:J})]},ye.id)})})]}),P.length>1&&i.jsxs("div",{children:[i.jsx("h4",{className:"text-sm font-medium text-text-primary mb-1",children:"Available Models"}),ne.size===0&&i.jsx("p",{className:"text-xs text-text-muted mb-2",children:"This provider has many models available. Select the ones you want to use below."}),i.jsxs("div",{className:"relative mb-2",children:[i.jsx("input",{type:"text",value:F,onChange:ye=>te(ye.target.value),placeholder:"Search models...",className:"w-full px-4 py-2 bg-bg-primary border border-border rounded-lg text-sm text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"}),F&&i.jsx("button",{onClick:()=>te(""),className:"absolute right-3 top-1/2 -translate-y-1/2 text-text-muted hover:text-text-primary text-sm",children:"×"})]}),i.jsxs("div",{className:"flex items-center justify-between mb-2",children:[i.jsxs("p",{className:"text-xs text-text-muted",children:["Showing ",Ke(F).length," of ",P.length," models"]}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:()=>{const ye=new Set(ne),Fe=Ke(F);for(const Me of Fe)ye.add(Me.id);if(K(ye),z(Me=>{const Ae={...Me};for(const Qe of Fe)Ae[Qe.id]={contextWindow:Qe.contextWindow,...Ae[Qe.id]};return Ae}),!_)for(const Me of Fe)R.progress[Me.id]!=="probing"&&R.progress[Me.id]!=="done"&&nt(Me.id)},className:"text-xs text-accent-primary hover:underline",children:"Select all"}),i.jsx("button",{onClick:()=>{const ye=new Set(ne),Fe=Ke(F);for(const Me of Fe)ye.delete(Me.id);K(ye)},className:"text-xs text-text-muted hover:text-text-secondary",children:"Deselect all"})]})]}),i.jsxs("div",{className:"space-y-1 max-h-48 overflow-y-auto border border-border rounded-lg bg-bg-primary",children:[Ke(F).map(ye=>{var Me;const Fe=ne.has(ye.id);return i.jsxs("div",{role:"checkbox","aria-checked":Fe,tabIndex:0,className:`flex items-center gap-3 px-4 py-2 hover:bg-bg-tertiary transition-colors cursor-pointer ${Fe?"bg-accent-primary/5":""}`,onClick:()=>{if(Fe){const Ae=new Set(ne);Ae.delete(ye.id),K(Ae)}else $e(ye),_||nt(ye.id)},onKeyDown:Ae=>{(Ae.key==="Enter"||Ae.key===" ")&&(Ae.preventDefault(),Ae.currentTarget.click())},children:[i.jsx("input",{type:"checkbox",checked:Fe,onChange:()=>{},className:"w-4 h-4 rounded border-border accent-accent-primary pointer-events-none"}),i.jsx("span",{className:"text-sm text-text-primary flex-1 truncate",children:ye.name??ye.id.split("/").pop()}),i.jsxs("span",{className:"text-xs text-text-muted flex-shrink-0",children:[(((Me=X[ye.id])==null?void 0:Me.contextWindow)??ye.contextWindow).toLocaleString()," ctx"]}),R.progress[ye.id]==="probing"&&i.jsx("span",{className:"w-3 h-3 border-2 border-accent-primary border-t-transparent rounded-full animate-spin flex-shrink-0"}),R.progress[ye.id]==="done"&&i.jsx("span",{className:"text-xs text-accent-success flex-shrink-0",children:"✓"}),R.progress[ye.id]==="error"&&i.jsx("span",{className:"text-xs text-red-500 flex-shrink-0",children:"✗"})]},ye.id)}),Ke(F).length===0&&i.jsxs("div",{className:"px-4 py-6 text-center text-sm text-text-muted",children:["No models match “",F,"”"]})]})]})]})]}),i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-t border-border",children:[i.jsx("div",{children:u>1&&i.jsx("button",{onClick:()=>{u===2&&Wt(),c(u-1)},className:"text-sm text-text-muted hover:text-text-secondary transition-colors",children:"← Back"})}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("button",{onClick:Xn,className:"px-4 py-2 text-sm text-text-muted hover:text-text-secondary transition-colors",children:"Cancel"}),u===1?i.jsx("button",{onClick:()=>c(2),disabled:!p,"data-testid":"provider-modal-next",className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:"Next — Test & Configure"}):i.jsx("button",{onClick:Qn,disabled:R.loading,"data-testid":"provider-modal-save",className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 disabled:opacity-50 transition-colors",children:R.loading?"Configuring...":"Save Provider"})]})]})]}),H&&i.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:ye=>{ye.target===ye.currentTarget&&V(!1)},children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[480px] shadow-2xl",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border",children:[i.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Provider-Level Defaults"}),i.jsx("button",{onClick:()=>V(!1),className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsxs("div",{className:"px-6 py-4 space-y-4",children:[i.jsx("p",{className:"text-xs text-text-muted",children:"These apply to all models unless overridden per-model."}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Non-thinking mode params"}),i.jsx("input",{type:"text",defaultValue:'{"chat_template_kwargs":{"enable_thinking":false}}',readOnly:!0,className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-secondary font-mono"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"text-xs text-text-secondary block mb-1",children:"Thinking mode params"}),i.jsx("input",{type:"text",defaultValue:'reasoning_effort: "low"',readOnly:!0,className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-secondary font-mono"})]}),i.jsxs("div",{children:[i.jsxs("label",{className:"text-xs text-text-secondary block mb-1",children:["Thinking response field ",i.jsx("span",{className:"text-text-muted",children:"(override)"})]}),i.jsx("input",{type:"text",value:U,onChange:ye=>Q(ye.target.value),placeholder:"Leave blank for auto-detect",className:"w-full px-3 py-2 bg-bg-primary border border-border rounded text-sm text-text-primary font-mono"}),i.jsx("p",{className:"text-xs text-text-muted mt-1",children:"Field name the backend uses for reasoning/thinking content (e.g. reasoning, reasoning_content, thinking)."})]})]}),i.jsx("div",{className:"flex justify-end px-6 py-4 border-t border-border",children:i.jsx("button",{onClick:()=>V(!1),className:"px-5 py-2 bg-accent-primary text-text-primary rounded-lg text-sm font-medium hover:bg-accent-primary/90 transition-colors",children:"Done"})})]})}),ee&&i.jsx("div",{className:"fixed inset-0 bg-black/60 flex items-center justify-center z-[60]",onClick:ye=>{ye.target===ye.currentTarget&&J(null)},children:i.jsxs("div",{className:"bg-bg-secondary border border-border rounded-xl w-[640px] max-h-[80vh] shadow-2xl flex flex-col",children:[i.jsxs("div",{className:"flex items-center justify-between px-6 py-4 border-b border-border shrink-0",children:[i.jsx("h3",{className:"text-base font-semibold text-text-primary",children:"Raw Response"}),i.jsx("button",{onClick:()=>J(null),className:"text-text-muted hover:text-text-primary text-xl leading-none p-1",children:"×"})]}),i.jsx("pre",{className:"px-6 py-4 overflow-y-auto text-xs text-text-secondary font-mono whitespace-pre-wrap break-all",children:ee})]})})]}):null}function x$(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:`${e}`}function y$(){var at;const[,e]=Gn(),t=Le(pe=>pe.currentSession),n=Le(pe=>pe.setSessionProvider),[r,o]=A.useState(!1),[l,u]=A.useState([]),[c,d]=A.useState(null),f=A.useRef(null),[p,m]=A.useState(null),[x,y]=A.useState(!1),[w,C]=A.useState({}),[v,S]=A.useState(null),[_,b]=A.useState(null),[j,E]=A.useState(!1),T=A.useRef(null),[D,L]=A.useState(!1),O=A.useRef(new Set),P=un(pe=>pe.providers),G=un(pe=>pe.activeProviderId),W=un(pe=>pe.defaultModelSelection),I=un(pe=>pe.activating),H=un(pe=>pe.activateProvider),V=un(pe=>pe.refreshModel),U=un(pe=>pe.refreshProviderModels),Q=un(pe=>pe.setDefaultModel),X=un(pe=>pe.fetchConfig),z=(t==null?void 0:t.providerId)??null,R=(t==null?void 0:t.providerModel)??null,M=(W==null?void 0:W.split("/")[0])??null,q=(W==null?void 0:W.split("/").slice(1).join("/"))??null,B=z??M,ee=R??q,J=ee?((at=ee.split("/").pop())==null?void 0:at.replace(/-/g," "))??ee:"No model",K=!!(t&&R)&&R!==q,[F,te]=A.useState(!1);A.useEffect(()=>{function pe(Ie){f.current&&!f.current.contains(Ie.target)&&(o(!1),u([]),O.current=new Set)}return document.addEventListener("mousedown",pe),()=>document.removeEventListener("mousedown",pe)},[]),A.useEffect(()=>()=>{T.current!==null&&window.clearTimeout(T.current)},[]),A.useEffect(()=>{if(r){const pe=P.map(Ie=>Ie.id);u(pe),P.filter(Ie=>!!Ie.authAdapter).forEach(Ie=>void fe(Ie.id)),pe.forEach(Ie=>{O.current.has(Ie)||(O.current.add(Ie),He(Ie))})}},[r,P]),A.useEffect(()=>{if(!_)return;let pe=!1;const Ie=async()=>{const nt=await fe(_.providerId);pe||nt==="connected"&&(b(null),E(!1),L(!1),await X(),O.current.delete(_.providerId),await He(_.providerId))};Ie();const We=window.setInterval(()=>void Ie(),2e3);return()=>{pe=!0,window.clearInterval(We)}},[_]);const re=P.find(pe=>pe.id===B),ge=(re==null?void 0:re.status)==="disconnected",_e=(pe,Ie)=>t?t.providerId===pe&&t.providerModel===Ie:!1,Be=(pe,Ie)=>W?W===`${pe}/${Ie}`:!1,He=async pe=>{d(pe);try{await U(pe)}catch{}finally{d(null)}},Ne=pe=>{l.includes(pe.id)?u(l.filter(Ie=>Ie!==pe.id)):(u([...l,pe.id]),He(pe.id))},je=async pe=>{if(pe.id===G){Ne(pe);return}t?(n(pe.id,void 0),o(!1),u([])):await H(pe.id)&&(o(!1),u([]))},ae=pe=>{Ne(pe)},ze=async(pe,Ie)=>{pe.stopPropagation(),O.current.delete(Ie),await He(Ie)},fe=async pe=>{const Ie=await we(`/api/provider-auth/${pe}/status`);if(!Ie.ok)return"error";const We=await Ie.json();return C(nt=>({...nt,[pe]:We.state})),We.state},ue=async(pe,Ie)=>{pe.stopPropagation(),S(Ie),C(We=>({...We,[Ie]:"pending"})),E(!1),L(!1);try{const We=await we(`/api/provider-auth/${Ie}/login`,{method:"POST"});if(!We.ok)throw new Error("Unable to start provider sign-in");const nt=await We.json();b({providerId:Ie,...nt})}catch{C(We=>({...We,[Ie]:"error"}))}finally{S(null)}},oe=async()=>{var pe;_!=null&&_.userCode&&(await((pe=navigator.clipboard)==null?void 0:pe.writeText(_.userCode)),T.current!==null&&window.clearTimeout(T.current),E(!1),requestAnimationFrame(()=>E(!0)),T.current=window.setTimeout(()=>{E(!1),T.current=null},1500))},Oe=()=>{_&&(window.open(_.directUrl??_.verificationUrl,"_blank","noopener,noreferrer"),L(!0))},tt=()=>{b(null),E(!1),L(!1)},Ze=async(pe,Ie)=>{pe.stopPropagation(),S(Ie);try{if(!(await we(`/api/provider-auth/${Ie}/logout`,{method:"POST"})).ok)throw new Error("Unable to disconnect provider account");C(nt=>({...nt,[Ie]:"disconnected"})),await X()}finally{S(null)}},vt=(pe,Ie)=>{m({providerId:pe,model:Ie}),y(!0)},ce=p?P.find(pe=>pe.id===p.providerId):void 0,Te=()=>{m(null),y(!1)},$e=async pe=>{try{if(!(await we(`/api/providers/${pe.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(_k(pe))})).ok)throw new Error("Failed to update provider");await un.getState().fetchConfig()}catch{}m(null),y(!1)},Ke=async(pe,Ie)=>{if(t){Le.setState(nt=>({currentSession:nt.currentSession?{...nt.currentSession,providerId:pe,providerModel:Ie}:null})),n(pe,Ie),u([]),o(!1);return}await H(pe)&&(u([]),o(!1))},rt=async(pe,Ie,We)=>{pe.stopPropagation(),te(!0);try{await Q(Ie,We)}catch{}finally{te(!1)}};function Et(pe){return pe.models.some(We=>We.selected)?pe.models.filter(We=>We.selected):pe.models}return P.length===0?i.jsxs("button",{type:"button",onClick:()=>V(),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors group",title:ge?"LLM server is offline. Click to retry.":J??"Click to refresh model",children:[ge?i.jsx("span",{className:"text-sm text-accent-error animate-pulse",children:"LLM offline"}):i.jsxs(i.Fragment,{children:[i.jsx("span",{className:"text-sm text-accent-primary",children:J}),i.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded-full ${re!=null&&re.isLocal?"text-accent-success bg-accent-success/10":"text-accent-warning bg-accent-warning/10"}`,children:re!=null&&re.isLocal?"local":"api"})]}),i.jsx("span",{className:"text-text-muted opacity-0 group-hover:opacity-100 transition-opacity",children:"↻"})]}):i.jsxs("div",{className:"relative",ref:f,children:[i.jsxs("button",{type:"button",onClick:()=>o(!r),className:"flex items-center gap-1 px-1.5 py-0.5 rounded hover:bg-bg-tertiary transition-colors group",title:"Click to switch provider or model",children:[ge?i.jsx("span",{className:"text-sm text-accent-error animate-pulse",children:"offline"}):i.jsxs(i.Fragment,{children:[i.jsx("span",{className:`text-sm ${K?"text-accent-primary italic":"text-accent-primary"}`,children:J}),K&&i.jsx("span",{className:"text-xs text-text-muted ml-0.5",title:"Session-scoped model (different from default)",children:"•"}),i.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded-full ${re!=null&&re.isLocal?"text-accent-success bg-accent-success/10":"text-accent-warning bg-accent-warning/10"}`,children:re!=null&&re.isLocal?"local":"api"})]}),i.jsx(Wn,{className:"w-3 h-3 text-text-muted transition-transform",rotate:r?180:0})]}),r&&i.jsxs("div",{className:"absolute bottom-full right-0 mb-1 min-w-72 max-w-[100vw] bg-bg-secondary border border-border rounded-lg shadow-lg z-50 overflow-hidden max-h-[80vh] overflow-y-auto",children:[i.jsx("div",{className:"py-1",children:P.map(pe=>{var Ie;return i.jsxs("div",{children:[i.jsxs("div",{className:`px-3 py-2 flex items-center justify-between ${pe.id===B?"bg-bg-tertiary":"hover:bg-bg-tertiary"} ${I?"opacity-50 cursor-wait":"cursor-pointer"}`,children:[i.jsxs("div",{onClick:()=>!I&&je(pe),className:"flex flex-col min-w-0 flex-1 cursor-pointer",children:[i.jsx("span",{className:`text-sm font-medium truncate ${pe.id===B?"text-accent-primary":"text-text-primary"}`,children:pe.name}),i.jsx("span",{className:"text-xs text-text-muted truncate",children:pe.backend!=="unknown"&&RS(pe.backend)})]}),i.jsxs("div",{className:"flex items-center gap-2 flex-shrink-0",children:[!!pe.authAdapter&&(w[pe.id]==="connected"||pe.credentialRef?i.jsx("button",{type:"button",onClick:We=>Ze(We,pe.id),disabled:v===pe.id,className:"text-[10px] px-1.5 py-0.5 rounded border border-accent-success/40 text-accent-success hover:bg-accent-success/10 disabled:opacity-50",title:"Disconnect provider account",children:"Connected"}):i.jsx("button",{type:"button",onClick:We=>ue(We,pe.id),disabled:v===pe.id,className:"text-[10px] px-1.5 py-0.5 rounded border border-accent-primary/40 text-accent-primary hover:bg-accent-primary/10 disabled:opacity-50",title:"Connect provider account",children:v===pe.id?"Starting…":w[pe.id]==="error"||w[pe.id]==="expired"?"Retry":"Connect"})),pe.id===B?i.jsx("span",{className:"text-accent-success",title:"Active provider",children:i.jsx(Wr,{className:"w-4 h-4"})}):i.jsx("span",{className:"w-4"}),i.jsx("button",{type:"button",onClick:We=>{We.stopPropagation(),ze(We,pe.id)},className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors",title:"Refresh models",children:i.jsx(Mp,{className:`w-4 h-4 ${c===pe.id?"animate-spin":""} ${pe.id===G?"text-accent-primary":"text-text-muted"}`})}),i.jsx("button",{type:"button",onClick:We=>{We.stopPropagation(),ae(pe)},className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors",title:"Show models",children:i.jsx(Wn,{className:`w-4 h-4 transition-transform ${l.includes(pe.id)?"rotate-180":""} ${pe.id===G?"text-accent-primary":"text-text-muted"}`})})]})]}),l.includes(pe.id)&&i.jsx("div",{className:"bg-bg-primary border-t border-border max-h-40 overflow-y-auto",children:c===pe.id?i.jsx("div",{className:"px-4 py-2 text-xs text-text-muted",children:"Loading models..."}):(Ie=pe.models)!=null&&Ie.length?Et(pe).map(We=>{var Wt;const nt=_e(pe.id,We.id),En=Be(pe.id,We.id);return i.jsxs("div",{className:`flex items-center px-4 py-1.5 text-sm hover:bg-bg-tertiary transition-colors group ${c==="activating"?"opacity-50 cursor-wait":""} ${nt?"text-accent-primary":"text-text-secondary"}`,children:[i.jsx("button",{type:"button",onClick:()=>Ke(pe.id,We.id),disabled:c==="activating",className:"flex-1 truncate text-left",children:We.name??((Wt=We.id.split("/").pop())==null?void 0:Wt.replace(/-/g," "))??We.id}),i.jsxs("div",{className:"flex items-center gap-1.5 flex-shrink-0 ml-2",children:[i.jsx("span",{className:"text-xs text-text-muted",children:x$(We.contextWindow)}),t&&i.jsx("button",{type:"button",onClick:Xn=>rt(Xn,pe.id,We.id),disabled:F,className:"p-0.5 hover:bg-bg-tertiary rounded transition-colors disabled:opacity-40",title:En?"Default model":"Set as default model",children:En?i.jsx(VS,{className:"w-3.5 h-3.5 text-accent-warning"}):i.jsx(GS,{className:"w-3.5 h-3.5 text-text-muted hover:text-accent-warning"})}),i.jsx("button",{type:"button",onClick:Xn=>{Xn.stopPropagation(),vt(pe.id,We)},className:"opacity-0 group-hover:opacity-100 p-0.5 hover:bg-bg-tertiary rounded transition-opacity",title:"Edit model context",children:i.jsx(iN,{className:"w-3 h-3 text-text-muted"})}),nt&&i.jsx("span",{className:"text-accent-success flex-shrink-0",title:"Session model",children:i.jsx(Wr,{className:"w-3.5 h-3.5"})})]})]},We.id)}):i.jsx("div",{className:"px-4 py-2 text-xs text-text-muted",children:"No models available"})})]},pe.id)})}),i.jsx("div",{className:"border-t border-border px-3 py-2",children:i.jsx("button",{onClick:()=>e("/onboarding"),className:"text-xs text-accent-primary hover:underline",children:"Manage providers"})})]}),_&&i.jsx("div",{className:"fixed inset-0 z-[100] flex items-center justify-center bg-black/70 px-4",role:"dialog","aria-modal":"true","aria-labelledby":"provider-device-title",onMouseDown:pe=>{pe.target===pe.currentTarget&&tt()},children:i.jsxs("div",{className:"w-full max-w-md rounded-xl border border-border bg-bg-secondary p-6 shadow-2xl",children:[i.jsxs("div",{className:"flex items-start justify-between gap-4",children:[i.jsxs("div",{children:[i.jsx("h2",{id:"provider-device-title",className:"text-lg font-semibold text-text-primary",children:"Connect provider"}),i.jsx("p",{className:"mt-1 text-sm text-text-muted",children:"Follow the provider instructions to complete authorization."})]}),i.jsx("button",{type:"button",onClick:tt,className:"rounded px-2 py-1 text-xl leading-none text-text-muted hover:bg-bg-tertiary hover:text-text-primary","aria-label":"Close",children:"×"})]}),i.jsx("button",{type:"button",onClick:oe,className:"mt-6 w-full select-all rounded-lg border border-accent-primary/40 bg-bg-primary px-4 py-5 font-mono text-3xl font-semibold tracking-[0.2em] text-accent-primary hover:bg-bg-tertiary",title:"Copy code",children:_.userCode??"Continue"}),i.jsx("div",{className:"mt-3 text-center text-xs text-text-muted",children:j?"Copied to clipboard":"Click the code to copy it"}),i.jsxs("div",{className:"mt-6 flex gap-3",children:[i.jsx("button",{type:"button",onClick:oe,className:"flex-1 rounded-lg border border-border px-4 py-2 text-sm text-text-primary hover:bg-bg-tertiary",children:j?"Copied":"Copy code"}),i.jsx("button",{type:"button",onClick:Oe,className:"flex-1 rounded-lg bg-accent-primary px-4 py-2 text-sm font-medium text-text-primary hover:bg-accent-primary/90",children:D?"Reopen authorization":"Open authorization"})]}),i.jsx("p",{className:"mt-4 text-center text-xs text-text-muted",children:D?"If the browser blocked or closed the tab, reopen authorization.":"OpenFox stays open while you complete authorization in the other tab."})]})}),p&&x&&i.jsx(vk,{isOpen:!0,onClose:Te,onSave:$e,initialStep:2,editProvider:{id:p.providerId,name:(ce==null?void 0:ce.name)??"",url:(ce==null?void 0:ce.url)??"",backend:(ce==null?void 0:ce.backend)??"unknown",apiKey:ce==null?void 0:ce.apiKey,isLocal:ce==null?void 0:ce.isLocal,thinkingField:ce==null?void 0:ce.thinkingField,authAdapter:ce==null?void 0:ce.authAdapter,transportAdapter:ce==null?void 0:ce.transportAdapter,models:ce==null?void 0:ce.models},editModelId:p.model.id})]})}function b$(e,t){const n=e.slice(0,t),r=n.lastIndexOf("@");if(r===-1)return null;const o=n.slice(r+1);return o.includes(" ")||o.includes(`
|
|
299
|
+
`)||o.includes(" ")?null:{query:o,startIndex:r}}const _$=A.forwardRef(function({text:t,cursorPos:n,workdir:r,onSelect:o},l){const u=b$(t,n),[c,d]=A.useState([]),[f,p]=A.useState(!1),[m,x]=A.useState(0),y=A.useRef(null),w=A.useRef([]),C=A.useRef(0),v=A.useRef([]);A.useEffect(()=>{C.current=m},[m]),A.useEffect(()=>{v.current=c},[c]),A.useEffect(()=>{if(!u){d([]);return}const b=setTimeout(()=>{S(u.query)},150);return()=>clearTimeout(b)},[u==null?void 0:u.query,r]);const S=async b=>{p(!0);try{const j=new URLSearchParams({q:b});r&&j.set("workdir",r);const T=await(await we(`/api/files?${j.toString()}`)).json();d(T),x(0),C.current=0}catch(j){console.error("File search failed:",j),d([])}finally{p(!1)}},_=A.useCallback(b=>{if(!u)return!1;switch(b.key){case"ArrowDown":return b.preventDefault(),x(j=>{var T;const E=Math.min(j+1,v.current.length-1);return w.current[E]&&((T=w.current[E])==null||T.scrollIntoView({block:"nearest"})),E}),C.current=Math.min(C.current+1,v.current.length-1),!0;case"ArrowUp":return b.preventDefault(),x(j=>{var T;const E=Math.max(j-1,0);return w.current[E]&&((T=w.current[E])==null||T.scrollIntoView({block:"nearest"})),E}),C.current=Math.max(C.current-1,0),!0;case"Enter":case"Tab":{const j=v.current;return j[C.current]?(b.preventDefault(),o(j[C.current],u.startIndex),!0):!1}case"Escape":return b.preventDefault(),d([]),!0}return!1},[u,o]);return A.useImperativeHandle(l,()=>({handleKeyDown:_}),[_]),A.useEffect(()=>{if(!u)return;const b=j=>{y.current&&!y.current.contains(j.target)&&d([])};return document.addEventListener("mousedown",b),()=>document.removeEventListener("mousedown",b)},[u]),u?f?i.jsx("div",{className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:i.jsx("div",{className:"bg-bg-secondary border border-border rounded-lg shadow-lg",children:i.jsx("div",{className:"p-4 text-center",children:i.jsx(ri,{size:"sm"})})})}):c.length===0?null:i.jsx("div",{ref:y,className:"absolute bottom-full left-0 right-0 mb-2 z-50",children:i.jsx("div",{className:"bg-bg-secondary border border-border rounded-lg shadow-lg max-h-64 overflow-y-auto",children:i.jsx("ul",{className:"py-1",children:c.map((b,j)=>i.jsxs("li",{ref:E=>{w.current[j]=E},className:`px-3 py-2 cursor-pointer flex items-center gap-2 text-sm ${j===m?"bg-accent-primary/20 text-text-primary":"text-text-muted hover:bg-bg-tertiary"}`,onClick:()=>{u&&o(b,u.startIndex)},children:[b.type==="directory"?i.jsx(Al,{className:"w-4 h-4 shrink-0"}):i.jsx("span",{className:"w-4 h-4 shrink-0"}),i.jsx("span",{className:"truncate",children:b.path})]},b.path))})})}):null});function v$({input:e,setInput:t,attachments:n,setAttachments:r,dragOver:o,setDragOver:l,errorMessage:u,setErrorMessage:c,scrollContainerRef:d,sessionId:f,sessionMode:p,showHistory:m,history:x,selectedIndex:y,openHistory:w,closeHistory:C,navigateUp:v,navigateDown:S,selectCurrent:_,isAutoScrollActive:b,setAutoScroll:j,onOpenMessageSearch:E,onOpenCommandsModal:T,onOpenWorkflowsModal:D,onSelectWorkflow:L,onSelectWorkflowWithSubGroup:O,clearInput:P}){const G=A.useRef(null),W=A.useRef(null),I=A.useRef(0),H=A.useRef(0),V=A.useRef(null),U=sd(),Q=Le(oe=>oe.stopGeneration),X=Le(oe=>oe.cancelQueued),z=Le(oe=>oe.queuedMessages),R=Le(oe=>oe.restoredInput),M=Le(oe=>oe.clearRestoredInput),q=Le(oe=>{var Oe;return(Oe=oe.currentSession)==null?void 0:Oe.workdir}),B=Le(oe=>oe.currentSession),ee=A.useRef(!1),{sendMessage:J}=bk(j);A.useEffect(()=>{var oe;R!==null&&(t(R),M(),(oe=G.current)==null||oe.focus())},[R,t,M]);const ne=A.useCallback(()=>{const oe=G.current;if(!oe)return;const Oe=e.length>=I.current;I.current=e.length,Oe||(oe.style.height="auto"),oe.style.height=`${Math.min(200,oe.scrollHeight)}px`},[e]);A.useEffect(()=>{if(!f)return;const oe=`openfox:draft:${f}`,Oe=localStorage.getItem(oe);Oe!==null&&t(Oe)},[f,t]),A.useEffect(()=>{var oe;(oe=G.current)==null||oe.focus(),ne()},[f,ne]),A.useEffect(()=>{if(!f)return;const oe=`openfox:draft:${f}`,Oe=setTimeout(()=>{e?localStorage.setItem(oe,e):localStorage.removeItem(oe)},500);return()=>clearTimeout(Oe)},[f,e]),A.useEffect(()=>{ne()},[e,ne]),A.useEffect(()=>{const oe=G.current;if(!oe)return;const Oe=async tt=>{var ce;if(document.activeElement!==oe)return;const Ze=(ce=tt.clipboardData)==null?void 0:ce.items;if(!Ze)return;const vt=[];for(const Te of Array.from(Ze)){let $e=Te.getAsFile();if($e&&a8($e.type)){if(tt.preventDefault(),!$e.name){const Ke=i8($e.type);$e=new File([$e],`pasted-file.${Ke}`,{type:$e.type})}await _S($e,Ke=>vt.push(Ke),c)}}vt.length>0&&r(Te=>[...Te,...vt])};return oe.addEventListener("paste",Oe),()=>oe.removeEventListener("paste",Oe)},[r,c]);const K=oe=>{oe.preventDefault(),!(!e.trim()&&n.length===0)&&(J(e,n.length>0?n:void 0),P())},F=oe=>{var Oe;if(!((Oe=V.current)!=null&&Oe.handleKeyDown(oe))){if(m)switch(oe.key){case"Enter":{oe.preventDefault();const tt=_();tt&&(t(tt),C());return}case"Escape":oe.preventDefault(),C(),U&&Q();return;case"ArrowUp":oe.preventDefault(),v();return;case"ArrowDown":oe.preventDefault(),S();return}if(oe.key==="ArrowUp"&&e.trim()===""&&!m){oe.preventDefault(),w();return}oe.key==="Enter"&&!oe.shiftKey&&(oe.preventDefault(),K(oe))}};async function te(oe,Oe,tt){const Ze=[];for(const vt of Array.from(oe))await _S(vt,ce=>Ze.push(ce),tt);Ze.length>0&&Oe(vt=>[...vt,...Ze])}const re=A.useCallback(async oe=>{const Oe=oe.target.files;!Oe||Oe.length===0||(c(null),await te(Oe,r,c),W.current&&(W.current.value=""))},[r,c]),ge=A.useCallback(oe=>{var Oe;(Oe=oe.dataTransfer.types)!=null&&Oe.includes("Files")&&(oe.preventDefault(),oe.stopPropagation(),l(!0))},[l]),_e=A.useCallback(oe=>{oe.preventDefault(),oe.stopPropagation(),l(!1)},[l]),Be=A.useCallback(async oe=>{oe.preventDefault(),oe.stopPropagation(),l(!1),c(null);const Oe=oe.dataTransfer.files;!Oe||Oe.length===0||await te(Oe,r,c)},[r,l,c]),He=A.useCallback(oe=>{r(n.filter(Oe=>Oe.id!==oe))},[n,r]),Ne=A.useCallback(()=>{var oe;(oe=W.current)==null||oe.click()},[]),je=()=>{var oe;!e.trim()&&n.length===0||((oe=d.current)==null||oe.scrollTo({top:d.current.scrollHeight,behavior:"smooth"}),J(e,n),P())},ae=A.useCallback((oe,Oe)=>{const Ze=oe.type==="directory"?"/":" ",vt=e.slice(0,Oe),ce=e.slice(H.current),Te=`${vt}@${oe.path}${Ze}${ce}`;t(Te);const $e=Oe+oe.path.length+2;H.current=$e,G.current&&(G.current.selectionStart=$e,G.current.selectionEnd=$e,G.current.focus())},[e,t]),ze=A.useCallback(oe=>{const Oe=oe.target.value;t(Oe),m&&C(),H.current=oe.target.selectionStart,!ee.current&&f&&Oe&&B&&B.messages.length===0&&(ee.current=!0,we(`/api/sessions/${f}/warmup`,{method:"POST"}).catch(()=>{}))},[t,m,C,f,B]),fe=A.useCallback(oe=>{H.current=oe.target.selectionStart},[]),ue=A.useCallback(oe=>{H.current=oe.currentTarget.selectionStart},[]);return i.jsxs("form",{onSubmit:K,className:"relative p-2 md:p-4 bg-secondary",children:[U&&i.jsx("div",{className:"absolute -top-8 left-2 md:left-4 z-10",children:i.jsx(F8,{})}),i.jsxs("div",{className:`absolute -top-8 right-2 md:right-4 z-10 flex items-center gap-2 border${b?" border-transparent":" rounded backdrop-blur-xl saturate-150 border-border"}`,children:[i.jsx(Up,{isActive:b,onToggle:j,className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5 px-2 py-0.5 rounded hover:bg-bg-tertiary transition-colors"}),i.jsxs("button",{type:"button",onClick:E,className:"text-sm text-text-muted hover:text-text-primary flex items-center gap-1.5 px-2 py-0.5 rounded hover:bg-bg-tertiary transition-colors","aria-label":"Browse history",children:[i.jsx(bl,{}),"Browse history"]})]}),i.jsx("input",{ref:W,type:"file",accept:"image/*,text/*,.pdf,.json,.xml,.yaml,.yml,.js,.sh,.xhtml",onChange:re,className:"hidden",multiple:!0}),u&&i.jsx("div",{className:"mb-2 p-2 bg-red-500/10 border border-red-500/50 rounded text-red-300 text-sm",children:u}),n.length>0&&i.jsx("div",{className:"mb-3 flex flex-wrap gap-2",children:n.map(oe=>i.jsx(H8,{attachment:oe,onRemove:He},oe.id))}),m&&i.jsx(U8,{history:x,selectedIndex:y,onSelect:oe=>{t(oe),C()},onEscape:C,onNavigate:oe=>{oe==="up"?v():S()}}),i.jsx(o$,{messages:z,onCancel:X}),i.jsxs("div",{className:`flex items-end gap-3 p-3 rounded transition-colors ${o?"bg-accent-primary/10":"bg-primary"}`,onDragOver:ge,onDragLeave:_e,onDrop:Be,children:[i.jsxs("div",{className:"relative flex-1 min-w-0",children:[i.jsx("textarea",{id:u1,ref:G,value:e,onChange:ze,onKeyDown:F,onSelect:fe,onKeyUp:ue,placeholder:"What would you like to build?","data-testid":"chat-input-textarea",className:"w-full bg-transparent text-sm placeholder:text-text-muted resize-none overflow-y-auto focus:outline-none",style:{minHeight:"24px",maxHeight:"200px"},spellCheck:!1}),i.jsx(_$,{ref:V,text:e,cursorPos:H.current,workdir:q,onSelect:ae})]}),i.jsxs("div",{className:"flex items-center self-center gap-1.5",children:[U&&i.jsxs("button",{type:"button",onClick:()=>Q(),"data-testid":"chat-stop-button",className:"flex items-center gap-1 px-4 py-1.5 rounded bg-accent-error/20 text-sm text-accent-error font-medium hover:bg-accent-error/30 transition-colors whitespace-nowrap",children:[i.jsx(WS,{}),"Abort"]}),i.jsxs("div",{className:"flex items-center",children:[i.jsx("button",{type:"button",onClick:je,disabled:!e.trim()&&n.length===0,"data-testid":"chat-send-button",className:"px-4 py-1.5 rounded-l bg-accent-primary/20 text-sm text-accent-primary font-medium hover:bg-accent-primary/30 disabled:opacity-30 disabled:cursor-not-allowed transition-colors",children:"Send"}),i.jsx(i$,{onSendCommand:(oe,Oe,tt,Ze)=>{var ce;Oe&&p!==Oe&&Le.getState().switchMode(Oe);const vt=tt&&tt.trim()?`${tt.trim()}
|
|
300
|
+
|
|
301
|
+
${oe}`:oe;(ce=d.current)==null||ce.scrollTo({top:d.current.scrollHeight,behavior:"smooth"}),J(vt,Ze!=null&&Ze.length?Ze:void 0,{messageKind:"command",isSystemGenerated:!0}),P()},onSelectWorkflow:L,onSelectWorkflowWithSubGroup:O,onOpenCommandsManager:T,onOpenWorkflowsManager:D,onAttach:Ne,textareaContent:e,attachments:n.length>0?n:void 0})]})]})]}),i.jsxs("div",{className:"mt-3 flex items-center justify-between",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx(f$,{}),i.jsx(m$,{})]}),i.jsx(y$,{})]})]})}function S$(e){return(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()==="f"&&document.querySelector("[data-global-settings]")===null}function Sk(e,t=[]){const n=[];let r=null,o,l=1;const u=new Map,c=new Map;for(const f of t)f.type==="message"?u.set(f.message.id,f):f.type==="subagent"&&c.set(f.subAgentId,f);const d=()=>{if(!r)return;const f=r,p=c.get(f.subAgentId);p&&p.type==="subagent"&&p.messages.length===f.messages.length&&p.messages.every((x,y)=>x===f.messages[y])?n.push(p):n.push({type:"subagent",subAgentId:f.subAgentId,subAgentType:f.subAgentType,messages:f.messages}),r=null};for(const f of e)if(f.role!=="tool")if(f.contextWindowId&&o&&f.contextWindowId!==o&&(d(),l++,n.push({type:"context-divider",windowSequence:l})),o=f.contextWindowId,f.subAgentId&&f.subAgentType)r&&r.subAgentId===f.subAgentId?r.messages.push(f):(d(),r={subAgentId:f.subAgentId,subAgentType:f.subAgentType,messages:[f]});else{d();const p=u.get(f.id);p&&p.type==="message"&&p.message===f?n.push(p):n.push({type:"message",message:f})}return d(),n}function w$(e){const{year:t,month:n,day:r}=p1(e);return`${t}/${n}/${r} ${cd(e)}`}function C$(e,t){return e.length<=t?e:e.substring(0,t)+"..."}const k$=10,E$=150;function j$(e){const t=[];if(e.recentUserPrompts)for(const n of e.recentUserPrompts)t.push({id:n.id,content:n.content,timestamp:n.timestamp,sessionId:e.id,sessionName:e.title||e.id});return t}function N$(e){return[...e].sort((r,o)=>new Date(o.timestamp).getTime()-new Date(r.timestamp).getTime()).slice(0,k$).reverse().map(r=>({id:r.id,content:r.content,timestamp:r.timestamp,formattedTimestamp:w$(r.timestamp),trimmedContent:C$(r.content,E$),sessionId:r.sessionId,sessionName:r.sessionName}))}function T$(e,t,n){const r=[],o=e.filter(l=>l.role==="user"&&!l.isSystemGenerated&&l.messageKind!=="auto-prompt");for(const l of o)r.push({id:l.id,content:l.content,timestamp:l.timestamp,sessionId:n??"",sessionName:"This session"});for(const l of t)n&&l.id===n||r.push(...j$(l));return N$(r)}function A$(e,t=[],n=null){const[r,o]=A.useState(0),[l,u]=A.useState(!1),c=A.useMemo(()=>T$(e,t,n),[e,t,n]),d=A.useCallback(()=>{c.length>0&&(o(c.length-1),u(!0))},[c.length]),f=A.useCallback(()=>{u(!1),o(0)},[]),p=A.useCallback(()=>{o(y=>c.length===0?y:y===0?c.length-1:y-1)},[c.length]),m=A.useCallback(()=>{o(y=>c.length===0?y:y===c.length-1?0:y+1)},[c.length]),x=A.useCallback(()=>{if(c.length===0||!l)return null;const y=c[r];return(y==null?void 0:y.content)??null},[c,r,l]);return{history:c,selectedIndex:r,showHistory:l,openHistory:d,closeHistory:f,navigateUp:p,navigateDown:m,selectCurrent:x}}A.memo(function({item:t}){const[n,r]=A.useState(!1);return t.type==="start"?i.jsxs("div",{className:"flex items-center gap-2 px-3 py-2 bg-amber-500/10 border border-amber-500/30 rounded text-amber-300 text-sm",children:[i.jsx("span",{className:"animate-pulse",children:"●"}),i.jsx("span",{children:"Delegating image to fallback vision model..."}),t.filename&&i.jsxs("span",{className:"text-amber-400/70",children:["(",t.filename,")"]})]}):i.jsxs("div",{className:"flex items-start gap-2 px-3 py-2 bg-accent-success/10 border border-accent-success/30 rounded",children:[i.jsx("span",{className:"text-accent-success",children:"✓"}),i.jsxs("div",{className:"flex-1 min-w-0",children:[i.jsxs("div",{className:"flex items-center justify-between gap-2",children:[i.jsx("span",{className:"text-accent-success text-sm",children:"Image description done"}),i.jsx("button",{type:"button",onClick:()=>r(!n),className:"text-xs text-accent-primary hover:text-accent-primary/80 transition-colors",children:n?"Hide":"Show"})]}),n&&t.description&&i.jsx("div",{className:"mt-2 text-xs prose prose-invert prose-sm max-w-none",children:i.jsx(Vn,{content:t.description})})]})]})});function L$({criteriaSidebarOpen:e,onCriteriaSidebarToggle:t}={}){const n=e??!0,[r,o]=A.useState(""),[l,u]=A.useState([]),[c,d]=A.useState(!1),[f,p]=A.useState(null),[m,x]=A.useState(!1),[y,w]=A.useState(!1),[C,v]=A.useState(!1),[S,_]=A.useState(!1),[b,j]=A.useState(null),E=A.useRef(null),T=Le(je=>je.currentSession),D=Le(je=>je.messages),L=Le(je=>je.sessions),O=sd(),P=Le(je=>je.stopGeneration),G=Ct(je=>je.defaults),W=Ct(je=>je.userItems),I=[...G,...W].filter(je=>!je.subagent),{history:H,selectedIndex:V,showHistory:U,openHistory:Q,closeHistory:X,navigateUp:z,navigateDown:R,selectCurrent:M}=A$(D,L,T==null?void 0:T.id);A.useEffect(()=>{const je=ae=>{j(ae.detail.stats)};return window.addEventListener("open-turn-stats",je),()=>window.removeEventListener("open-turn-stats",je)},[]),A.useEffect(()=>{Rt.getState().fetchWorkflows()},[]),A.useEffect(()=>{const je=ae=>{S$(ae)&&(ae.preventDefault(),_(!0))};return window.addEventListener("keydown",je),()=>window.removeEventListener("keydown",je)},[]);const{maxVisibleItems:q}=zi(),B=A.useRef([]),{displayItems:ee,hiddenCount:J}=A.useMemo(()=>{const je=Sk(D,B.current);return B.current=je,q>0&&je.length>q?{displayItems:je.slice(-q),hiddenCount:je.length-q}:{displayItems:je,hiddenCount:0}},[D,q]),{isAutoScrollActive:ne,setAutoScroll:K}=dd(E,T),{sendMessage:F,launchWorkflow:te}=bk(K),re=A.useCallback((je,ae)=>{te(void 0,void 0,je,ae)},[te]),ge=A.useCallback(je=>{var ze;K(!1);const ae=document.querySelector(`[data-item-index="${je}"]`);ae&&(ae.scrollIntoView({behavior:"smooth",block:"start"}),(ze=ae.closest('[data-testid="chat-scroll-container"]'))==null||ze.scrollBy(0,-80))},[K]);A.useEffect(()=>{const je=ae=>{const ze=C||m||y||S||b;ae.key==="Escape"&&O&&!ze&&P(),ae.key==="ScrollLock"&&K(!ne)};return window.addEventListener("keydown",je),()=>window.removeEventListener("keydown",je)},[O,P,ne,C,m,y,S,b]);const _e=Pp();QS(_e.quickAction,()=>{v(!0)}),CN(_e.agentSwitching,I,je=>{Le.getState().switchMode(je)});const Be=je=>{const ae=r.trim()?r:void 0,ze=l.length>0?l:void 0;te(ae,ze,je),Ne()},He=(je,ae)=>{const ze=r.trim()?r:void 0,fe=l.length>0?l:void 0;te(ze,fe,je,ae),Ne()},Ne=()=>{o(""),u([]),T!=null&&T.id&&localStorage.removeItem(`openfox:draft:${T.id}`)};return i.jsxs(i.Fragment,{children:[i.jsxs(pA,{criteriaSidebarOpen:n,onCriteriaSidebarToggle:t,messages:D,children:[i.jsx(yA,{}),b&&i.jsx(bA,{stats:b,onClose:()=>j(null)}),i.jsx(y8,{}),i.jsx(g8,{displayItems:ee,scrollContainerRef:E,highlightedMessageId:null,onLaunchWorkflow:re,hiddenCount:J}),i.jsx(v$,{input:r,setInput:o,attachments:l,setAttachments:u,dragOver:c,setDragOver:d,errorMessage:f,setErrorMessage:p,scrollContainerRef:E,sessionId:T==null?void 0:T.id,sessionMode:T==null?void 0:T.mode,showHistory:U,history:H,selectedIndex:V,openHistory:Q,closeHistory:X,navigateUp:z,navigateDown:R,selectCurrent:M,isAutoScrollActive:ne,setAutoScroll:K,onOpenMessageSearch:()=>_(!0),onOpenCommandsModal:()=>x(!0),onOpenWorkflowsModal:()=>w(!0),onSelectWorkflow:Be,onSelectWorkflowWithSubGroup:He,clearInput:Ne}),i.jsx(fk,{isOpen:m,onClose:()=>x(!1)}),i.jsx(gk,{isOpen:y,onClose:()=>w(!1)}),i.jsx(L8,{isOpen:C,onClose:()=>v(!1),onSearchMessages:()=>_(!0),isAutoScrollActive:ne,onToggleAutoScroll:K,textareaContent:r,onCloseComplete:Qm,onCloseCompleteAction:()=>window.dispatchEvent(new CustomEvent("open-session-dropdown")),onSelectCommand:async(je,ae)=>{const ze=await dn.getState().fetchCommand(je);if(ze){const fe=ae!=null&&ae.trim()?`${ae.trim()}
|
|
302
|
+
|
|
303
|
+
${ze.prompt}`:ze.prompt;ze.metadata.agentMode&&Le.getState().switchMode(ze.metadata.agentMode),F(fe,l!=null&&l.length?l:void 0,{messageKind:"command",isSystemGenerated:!0}),Ne()}},onSelectWorkflow:je=>{const ae=r.trim()||void 0,ze=l.length>0?l:void 0;te(ae,ze,je),Ne()}})]}),S&&i.jsx(z8,{isOpen:S,onClose:()=>{_(!1),Qm()},displayItems:ee,onNavigate:ge})]})}function D$(){var S;const[,e]=Ya("/p/:projectId/s/:sessionId/readonly"),t=e==null?void 0:e.sessionId,[n,r]=A.useState(null),[o,l]=A.useState([]),[u,c]=A.useState(!0),[d,f]=A.useState(null),p=async()=>{if(t){c(!0),f(null);try{const _=await we(`/api/sessions/${t}`);if(!_.ok){f(`Failed to load session (${_.status})`),c(!1);return}const b=await _.json();r(b.session??null),l(b.messages??[])}catch(_){f(_ instanceof Error?_.message:"Unknown error")}finally{c(!1)}}};A.useEffect(()=>{tn.getState().getSettings([...Ap])},[]),A.useEffect(()=>{p()},[t]);const{showThinking:m,showVerboseToolOutput:x,showStats:y,showAgentDefinitions:w,showWorkflowBars:C}=zi(),v=A.useMemo(()=>Sk(o),[o]);return u?i.jsx("div",{className:"h-screen flex items-center justify-center bg-primary",children:i.jsx(ri,{})}):d?i.jsx("div",{className:"h-screen flex items-center justify-center bg-primary",children:i.jsxs("div",{className:"text-center space-y-4",children:[i.jsx("div",{className:"text-red-400 text-sm",children:d}),i.jsx("button",{onClick:p,className:"px-3 py-1.5 text-sm bg-bg-tertiary text-text-primary border border-border rounded hover:bg-bg-tertiary/80 transition-colors",children:"Retry"})]})}):i.jsxs("div",{className:"h-screen print:h-auto flex flex-col bg-primary",children:[i.jsxs("div",{className:"flex items-center justify-between px-4 py-2 border-b border-border bg-secondary shrink-0 print:hidden",children:[i.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[i.jsxs("h1",{className:"text-sm font-medium text-text-primary truncate",children:[((S=n==null?void 0:n.metadata)==null?void 0:S.title)??"Session"," — Read-only view"]}),i.jsxs("span",{className:"text-xs text-text-muted whitespace-nowrap",children:[o.length," messages"]})]}),i.jsx("div",{className:"flex items-center gap-2",children:i.jsx("button",{onClick:p,disabled:u,className:"px-3 py-1 text-xs bg-bg-tertiary text-text-primary border border-border rounded hover:bg-bg-tertiary/80 transition-colors disabled:opacity-50",children:u?"Refreshing...":"Refresh"})})]}),i.jsxs("div",{className:"flex-1 overflow-y-auto print:overflow-visible",children:[i.jsx("div",{className:"pt-4",children:i.jsx(dk,{displayItems:v,showThinking:m,showVerboseToolOutput:x,showStats:y,showAgentDefinitions:w,showWorkflowBars:C})}),i.jsx("div",{className:"h-8"})]})]})}function wS({isOpen:e,isRetry:t,onSubmit:n,onCancel:r}){const[o,l]=A.useState(""),u=A.useRef(null);A.useEffect(()=>{e&&(l(""),setTimeout(()=>{var d;return(d=u.current)==null?void 0:d.focus()},100))},[e]);const c=d=>{d.preventDefault(),o.trim()&&n(o)};return i.jsx(Ot,{isOpen:e,onClose:r,title:t?"Invalid Password":"Password Required",size:"sm",children:i.jsxs("form",{onSubmit:c,className:"space-y-4",children:[i.jsx("p",{className:"text-text-secondary text-sm",children:t?"The password you entered was incorrect. Please try again.":"This server requires a password to connect."}),i.jsx(Mi,{ref:u,type:"password",value:o,onChange:d=>l(d.target.value),placeholder:"Enter password",autoFocus:!0}),i.jsxs("div",{className:"flex justify-end gap-2",children:[i.jsx(et,{type:"button",variant:"secondary",onClick:r,children:"Cancel"}),i.jsx(et,{type:"submit",disabled:!o.trim(),children:t?"Try Again":"Connect"})]})]})})}function R$({currentStep:e,totalSteps:t,labels:n,onStepClick:r}){return i.jsx("div",{className:"flex justify-center py-6",children:i.jsx("div",{className:"flex items-center",children:Array.from({length:t},(o,l)=>{const u=l+1,c=u<e,d=u===e;return i.jsxs("div",{className:"flex items-center",children:[i.jsx("button",{onClick:()=>r==null?void 0:r(u),className:`size-8 rounded-full flex items-center justify-center text-sm font-medium transition-colors shrink-0 ${c?"bg-accent-primary text-text-primary hover:opacity-80":d?"bg-accent-primary text-text-primary":"bg-bg-tertiary text-text-muted"}`,children:c?"✓":u}),i.jsx("button",{onClick:()=>r==null?void 0:r(u),className:`ml-2 mr-4 text-sm whitespace-nowrap hidden sm:block ${d?"text-text-primary font-medium":"text-text-muted hover:text-text-secondary"}`,children:n[l]}),l<t-1&&i.jsx("div",{className:`w-12 sm:w-20 h-0.5 mr-4 ${c?"bg-accent-primary":"bg-border"}`})]},l)})})})}function O$({onNext:e}){const[t,n]=A.useState([]),[r,o]=A.useState([]),[l,u]=A.useState(!1),[c,d]=A.useState(null),[f,p]=A.useState(null),[m,x]=A.useState(null);A.useEffect(()=>{y()},[]);async function y(){try{const E=await we("/api/providers");if(E.ok){const D=(await E.json()).providers.map(L=>({id:L.id,name:L.name,url:L.url,backend:L.backend,model:null,apiKey:L.apiKey,isLocal:L.isLocal,thinkingField:L.thinkingField,models:L.models}));n(D),o(D)}}catch{}}async function w(E){const T=E.id.startsWith("temp-"),D=r.some(P=>P.id===E.id),L=r.length===0&&c===null,O=_k(E);try{let P;if(T){const W=await we("/api/providers",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(O)});if(!W.ok)throw new Error("Failed to create provider");const I=await W.json();P={...E,id:I.provider.id,model:null}}else{if(!(await we(`/api/providers/${E.id}`,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(O)})).ok)throw new Error("Failed to update provider");P={...E,model:null}}const G=W=>W.some(I=>I.id===P.id)?W.map(I=>I.id===P.id?P:I):[...W,P];o(G),n(G),L&&!D&&e({providers:[P]})}catch{if(T){const P={...E,model:null};o(G=>[...G,P])}}}function C(){d(null),u(!0)}function v(E){d(E),u(!0)}function S(){u(!1),d(null)}function _(E){p(E),t.some(D=>D.id===E)?we(`/api/providers/${E}`,{method:"DELETE"}).then(()=>{o(r.filter(D=>D.id!==E)),n(t.filter(D=>D.id!==E)),p(null)}).catch(()=>p(null)):(o(r.filter(D=>D.id!==E)),p(null))}function b(){const E=r.filter(T=>!T.id.startsWith("temp-"));e({providers:E})}const j=r.length>0;return i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"LLM Providers"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Manage your LLM server connections"}),i.jsxs("div",{className:"space-y-4",children:[r.length>0?i.jsx("div",{className:"space-y-2",children:r.map(E=>i.jsxs("div",{className:"flex items-center justify-between bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsxs("div",{className:"flex-1",children:[i.jsxs("div",{className:"flex items-center gap-2",children:[i.jsx("span",{className:"px-2 py-0.5 bg-accent-primary/25 text-accent-primary rounded text-xs font-medium",children:RS(E.backend)}),i.jsx("span",{className:"text-text-primary font-medium",children:E.name}),i.jsx("span",{className:`text-xs px-1.5 py-0.5 rounded-full ${E.isLocal?"text-accent-success bg-accent-success/10":"text-accent-warning bg-accent-warning/10"}`,children:E.isLocal?"local":"api"})]}),i.jsx("p",{className:"text-text-muted text-sm mt-1",children:E.url}),E.model&&i.jsxs("p",{className:"text-text-secondary text-xs mt-0.5",children:["Model: ",E.model]})]}),i.jsx("div",{className:"flex items-center gap-1",children:m===E.id?i.jsxs("div",{className:"flex items-center gap-1",children:[i.jsx("button",{onClick:()=>_(E.id),disabled:f===E.id,className:"px-2 py-1 text-xs text-red-500 hover:text-red-400 bg-red-500/10 rounded transition-colors disabled:opacity-50",children:f===E.id?"Deleting...":"Confirm"}),i.jsx("button",{onClick:()=>x(null),className:"px-2 py-1 text-xs text-text-muted hover:text-text-secondary transition-colors",children:"Cancel"})]}):i.jsxs(i.Fragment,{children:[i.jsx("button",{onClick:()=>v(E),className:"px-2 py-1 text-xs text-text-muted hover:text-text-secondary border border-border rounded transition-colors",children:"Edit"}),i.jsx("button",{onClick:()=>x(E.id),className:"p-2 text-text-muted hover:text-red-500 transition-colors",title:"Remove provider",children:i.jsx(Xa,{})})]})})]},E.id))}):i.jsx("div",{className:"bg-bg-secondary rounded-lg p-8 text-center border border-border",children:i.jsx("p",{className:"text-text-muted",children:"No providers configured yet"})}),i.jsxs("button",{onClick:C,"data-testid":"onboarding-add-provider-button",className:"w-full flex items-center justify-center gap-2 px-4 py-3 bg-bg-secondary border border-dashed border-border rounded-lg text-text-secondary hover:text-text-primary hover:border-text-muted transition-colors",children:[i.jsx(ni,{className:"w-4 h-4"}),"Add Provider"]}),i.jsx("button",{onClick:b,disabled:!j,"data-testid":"onboarding-continue-button",className:"w-full mt-6 px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:"Continue"})]}),i.jsx(vk,{isOpen:l,onClose:S,onSave:w,initialStep:1,editProvider:c??void 0})]})}function I$({onNext:e}){const[t,n]=A.useState(""),[r,o]=A.useState(!1);return A.useEffect(()=>{we("/api/config").then(l=>l.json()).then(l=>{l.workdir?n(l.workdir):fetch("/api/directories?path="+encodeURIComponent("/home")).then(u=>u.json()).then(u=>{u.current&&n(u.current)}).catch(()=>{})}).catch(()=>{fetch("/api/directories?path="+encodeURIComponent("/home")).then(l=>l.json()).then(l=>{l.current&&n(l.current)}).catch(()=>{})})},[]),i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"Your Projects Folder"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Where should OpenFox create project folders?"}),i.jsxs("div",{className:"space-y-4",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Workspace directory"}),i.jsxs("div",{className:"flex gap-2",children:[i.jsx("input",{type:"text",value:t,onChange:l=>n(l.target.value),placeholder:"/home/user/projects","data-testid":"onboarding-workdir-input",className:"flex-1 px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"}),i.jsx("button",{onClick:()=>o(!0),className:"px-4 py-2 bg-bg-secondary border border-border rounded-lg hover:border-text-muted",children:"Browse"})]})]}),r&&i.jsx(ld,{initialPath:t||void 0,onSelect:l=>{n(l),o(!1)},onClose:()=>o(!1)}),i.jsx("button",{onClick:()=>e({workdir:t}),disabled:!t,"data-testid":"onboarding-workdir-continue-button",className:"w-full mt-6 px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors",children:"Continue"})]})]})}function M$({onNext:e}){const[t,n]=A.useState(!1),[r,o]=A.useState("http://localhost:11434"),[l,u]=A.useState("qwen3.5:0.8b"),[c,d]=A.useState("ollama"),{copied:f,copy:p}=sk();A.useEffect(()=>{we("/api/config").then(x=>x.json()).then(x=>{x.visionFallback&&(n(x.visionFallback.enabled),o(x.visionFallback.url),u(x.visionFallback.model),x.visionFallback.backend&&d(x.visionFallback.backend))}).catch(()=>{})},[]);function m(x){if(x){e({});return}e({visionFallback:{enabled:t,url:r,model:l,timeout:120,backend:c}})}return i.jsxs("div",{className:"max-w-xl mx-auto",children:[i.jsx("h2",{className:"text-2xl font-bold text-text-primary mb-2",children:"Vision (Optional)"}),i.jsx("p",{className:"text-text-secondary mb-8",children:"Configure a vision model for non-vision models"}),i.jsxs("div",{className:"space-y-6",children:[i.jsxs("div",{className:"bg-bg-secondary rounded-lg p-4 border border-border",children:[i.jsx("p",{className:"text-text-secondary text-sm mb-2",children:"You need a server with a vision model. Choose your backend type below."}),i.jsx("p",{className:"text-text-secondary text-sm mb-2",children:"For Ollama:"}),i.jsx("a",{href:"https://ollama.com/download",target:"_blank",rel:"noopener noreferrer",className:"text-accent-primary hover:underline text-sm",children:"Download Ollama"}),i.jsxs("div",{className:"mt-3 p-2 bg-bg-primary rounded border border-border flex items-center justify-between gap-2",children:[i.jsx("code",{className:"text-text-secondary text-xs",children:"ollama pull qwen3.5:0.8b"}),i.jsx("button",{onClick:()=>p("ollama pull qwen3.5:0.8b"),className:"text-text-muted hover:text-text-primary transition-colors",title:"Copy",children:f?i.jsx(Wr,{className:"w-4 h-4 text-accent-primary"}):i.jsx(sN,{className:"w-4 h-4"})})]}),i.jsxs("p",{className:"text-text-secondary text-sm mt-3",children:["For OpenAI-compatible servers (vLLM, sglang, llama.cpp): use the ",i.jsx("strong",{children:"OpenAI"})," backend type."]})]}),i.jsxs("label",{className:"flex items-center gap-3 cursor-pointer",children:[i.jsx("input",{type:"checkbox",checked:t,onChange:x=>n(x.target.checked),className:"w-5 h-5 rounded border-border bg-bg-secondary text-accent-primary focus:ring-accent-primary"}),i.jsx("span",{className:"text-text-primary",children:"Enable vision fallback for non-vision models"})]}),t&&i.jsxs("div",{className:"space-y-4 pl-8",children:[i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Backend type"}),i.jsxs("select",{value:c,onChange:x=>d(x.target.value),className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary focus:outline-none focus:border-accent-primary",children:[i.jsx("option",{value:"ollama",children:"Ollama"}),i.jsx("option",{value:"openai",children:"OpenAI-compatible (vLLM, sglang, llama.cpp)"})]})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Vision server URL"}),i.jsx("input",{type:"text",value:r,onChange:x=>o(x.target.value),placeholder:c==="ollama"?"http://localhost:11434":"http://localhost:8000/v1",className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]}),i.jsxs("div",{children:[i.jsx("label",{className:"block text-sm text-text-secondary mb-1",children:"Vision model name"}),i.jsx("input",{type:"text",value:l,onChange:x=>u(x.target.value),placeholder:c==="ollama"?"qwen3.5:0.8b":"qwen3.5-27b",className:"w-full px-4 py-2 bg-bg-secondary border border-border rounded-lg text-text-primary placeholder-text-muted focus:outline-none focus:border-accent-primary"})]})]}),i.jsxs("div",{className:"flex items-center justify-between pt-4",children:[i.jsx("button",{onClick:()=>m(!0),"data-testid":"onboarding-skip-button",className:"text-text-muted hover:text-text-secondary text-sm underline",children:"Skip for now"}),i.jsx("button",{onClick:()=>m(!1),className:"px-6 py-3 bg-accent-primary text-text-primary rounded-lg font-medium hover:bg-accent-primary/90 transition-colors",children:"Finish Setup"})]})]})]})}function P$({onComplete:e}){const[t,n]=A.useState(1),[r,o]=A.useState(!1),[l,u]=A.useState({});async function c(m){u(x=>({...x,providers:m.providers})),n(2)}async function d(m){u(x=>({...x,...m})),n(3)}async function f(m){o(!0);try{if(!(await we("/api/init/config",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workdir:l.workdir,visionFallback:m.visionFallback})})).ok)throw new Error("Failed to save config");e()}catch(x){console.error("Failed to save onboarding data:",x),o(!1)}}const p=m=>{n(m)};return i.jsxs("div",{className:"w-full max-w-xl mx-auto px-6 py-16 relative",children:[i.jsx(Rl,{onClick:e,className:"absolute top-4 right-4 p-2",variant:"modal",size:"xl"}),i.jsx(R$,{currentStep:t,totalSteps:3,labels:["LLM Providers","Projects Folder","Vision"],onStepClick:p}),i.jsx("div",{className:"max-w-xl mx-auto",children:r?i.jsxs("div",{className:"text-center",children:[i.jsx(ni,{className:"w-6 h-6"}),i.jsx("p",{className:"mt-4 text-text-secondary",children:"Saving your settings..."})]}):i.jsxs(i.Fragment,{children:[t===1&&i.jsx(O$,{onNext:c}),t===2&&i.jsx(I$,{onNext:d}),t===3&&i.jsx(M$,{onNext:f})]})})]})}const Vm="openfox_updated_to",Gm="update_pending";function B$(){const[e,t]=A.useState(!1),n=localStorage.getItem(Vm),r=localStorage.getItem(Gm);A.useEffect(()=>{if(!n||!r)return;const l=setTimeout(()=>{localStorage.removeItem(Vm),localStorage.removeItem(Gm),t(!0)},8e3);return()=>clearTimeout(l)},[n,r]);const o=()=>{localStorage.removeItem(Vm),localStorage.removeItem(Gm),t(!0)};return e||r!=="true"||!n?null:i.jsxs("div",{className:"fixed bottom-20 left-1/2 -translate-x-1/2 z-[100] flex items-center gap-3 px-4 py-2.5 bg-bg-secondary border border-border rounded-lg shadow-xl animate-slide-down",role:"status","aria-live":"polite",children:[i.jsx("div",{className:"flex items-center justify-center w-5 h-5 rounded-full bg-accent-primary/20",children:i.jsx(Wr,{className:"w-3 h-3 text-accent-primary"})}),i.jsxs("div",{className:"flex flex-col",children:[i.jsx("span",{className:"text-sm font-medium text-text-primary",children:"OpenFox updated successfully"}),i.jsxs("span",{className:"text-xs text-text-muted",children:["Now running ",n]})]}),i.jsx("button",{onClick:o,className:"ml-2 p-1 rounded hover:bg-bg-tertiary text-text-muted hover:text-text-primary transition-colors","aria-label":"Dismiss",children:i.jsx(qS,{className:"w-3.5 h-3.5"})})]})}typeof window<"u"&&(Yt.getState().loadUserPresets(),Yt.getState().applySavedTheme());function Tg(){return typeof window>"u"?!1:localStorage.getItem("openfox_token")!==null}function wk(){return i.jsx("div",{className:"flex-1 flex items-center justify-center",children:i.jsx(ri,{})})}function $$({sidebarOpen:e,onSidebarToggle:t}){const[,n]=Ya("/p/:projectId"),r=n==null?void 0:n.projectId,o=Le(d=>d.connectionStatus),l=Ut(d=>d.currentProject),u=Tg();return Zj({canLoad:o==="connected"||u,projectId:r,currentProjectId:l==null?void 0:l.id}),!l||l.id!==r?i.jsx(wk,{}):i.jsxs(i.Fragment,{children:[i.jsx(x1,{projectId:r,isOpen:e,onClose:t}),i.jsx("div",{className:"flex-1 min-w-0 bg-primary",children:i.jsx(NT,{})})]})}function z$({sidebarOpen:e,onSidebarToggle:t,rightSidebarOpen:n,onRightSidebarToggle:r}){const[,o]=Ya("/p/:projectId/s/:sessionId"),l=o==null?void 0:o.projectId,u=o==null?void 0:o.sessionId,[,c]=Gn(),d=Le(C=>C.connectionStatus),f=Le(C=>C.currentSession),p=Le(C=>C.error),m=Le(C=>C.clearError),x=Ut(C=>C.currentProject),y=Tg();return eN({canLoad:d==="connected"||y,projectId:l,sessionId:u,currentProjectId:x==null?void 0:x.id,currentSessionId:f==null?void 0:f.id}),A.useEffect(()=>{(p==null?void 0:p.code)==="NOT_FOUND"&&l&&(m(),c(`/p/${l}`))},[p,l,m,c]),!x||x.id!==l?i.jsx(wk,{}):i.jsxs(i.Fragment,{children:[i.jsx(x1,{projectId:l,isOpen:e,onClose:t}),i.jsx("div",{className:"flex-1 min-w-0 bg-primary",children:i.jsx(L$,{criteriaSidebarOpen:n,onCriteriaSidebarToggle:r})})]})}function H$(){const e=un(r=>r.fetchConfig),[,t]=Gn();async function n(){await e(),t("/")}return i.jsx("div",{className:"flex-1 overflow-y-auto",children:i.jsx(P$,{onComplete:n})})}function U$(){const{connectionStatus:e}=Kj(),t=un(X=>X.fetchConfig),n=un(X=>X.refreshProviderModels),r=un(X=>X.providers),o=un(X=>X.activeProviderId),[,l]=Gn(),u=Tg(),[c,d]=A.useState(!1);A.useEffect(()=>{(e==="connected"||u)&&t().then(()=>{d(!0),tn.getState().getSettings([...Ap,Pe.DISPLAY_THEME,Pe.DISPLAY_USER_PRESETS,Pe.KEYBINDINGS])})},[e,u,t]),A.useEffect(()=>{c&&o&&n(o).then(()=>{const X=un.getState().defaultModelSelection;(X?X.split("/")[0]:null)!==o&&t()})},[c,o,n,t]);const f=tn(X=>X.settings);A.useEffect(()=>{c&&r.length===0&&l("/onboarding")},[c,r.length]),A.useEffect(()=>{const{applyPreset:X,applyTokens:z,setFollowSystemTheme:R,initSystemThemeListener:M}=Yt.getState(),q=f[Pe.DISPLAY_THEME],B=f[Pe.DISPLAY_USER_PRESETS],ee=f[Pe.DISPLAY_FOLLOW_SYSTEM_THEME];if(B&&localStorage.setItem("openfox:userPresets",B),q){localStorage.setItem("openfox:theme",q);try{const ne=JSON.parse(q);ne.preset&&ne.tokens?(X(ne.preset),Yt.setState({basePreset:ne.preset}),z(ne.tokens)):ne.preset?X(ne.preset):ne.tokens&&z(ne.tokens)}catch{X("dark")}}else X("system");ee!==void 0&&Yt.getState().followSystemTheme!==(ee==="true")&&R(ee==="true");const J=M();return()=>J()},[f[Pe.DISPLAY_THEME],f[Pe.DISPLAY_USER_PRESETS]]);const p=()=>{const X=localStorage.getItem("openfox:leftSidebar");return X!==null?X==="true":!0},m=()=>{const X=localStorage.getItem("openfox:rightSidebar");return X!==null?X==="true":!0},[x,y]=A.useState(p),[w,C]=A.useState(m),[v,S]=A.useState(!1),[_,b]=A.useState(!1),[j,E]=A.useState(!1),T=tj();A.useEffect(()=>{const X=()=>{E(window.innerWidth<768)};return X(),window.addEventListener("resize",X),()=>window.removeEventListener("resize",X)},[]);const[D]=Gn(),L=/^\/p\/[^/]+$/.test(D),O=j?v:L?!0:x,P=j?_:w,G=()=>{j?S(!v):y(!x)},W=()=>{j?b(!_):C(!w)};A.useEffect(()=>{j||localStorage.setItem("openfox:leftSidebar",String(x))},[x,j]),A.useEffect(()=>{j||localStorage.setItem("openfox:rightSidebar",String(w))},[w,j]),A.useEffect(()=>{(e==="connected"||u)&&t()},[e,t,u]);const I=Le(X=>X.showPasswordModal),H=Le(X=>X.passwordModalRetry),V=Le(X=>X.submitPassword),U=Le(X=>X.cancelPassword),[Q]=Ya("/p/:projectId/s/:sessionId/readonly");return!Q&&e!=="connected"&&!I&&!u?i.jsxs(i.Fragment,{children:[i.jsx(wS,{isOpen:!0,isRetry:H,onSubmit:V,onCancel:U}),i.jsx("div",{className:"h-screen flex items-center justify-center",children:i.jsx(DN,{text:"Connecting to server..."})})]}):Q?i.jsx(D$,{}):i.jsxs(i.Fragment,{children:[i.jsx(wS,{isOpen:I,isRetry:H,onSubmit:V,onCancel:U}),i.jsxs("div",{className:"flex flex-col",style:{height:j?`calc(${T.offsetTop}px + ${T.height}px)`:"100vh"},children:[i.jsx(CT,{}),i.jsx(yT,{onMenuClick:G,onCriteriaToggle:W}),i.jsx("div",{className:"flex-1 flex overflow-hidden",children:i.jsxs(wj,{children:[i.jsx(Xo,{path:"/onboarding",children:i.jsx(H$,{})}),i.jsx(Xo,{path:"/p/:projectId/s/:sessionId",children:i.jsx(z$,{sidebarOpen:O,onSidebarToggle:G,rightSidebarOpen:P,onRightSidebarToggle:W})}),i.jsx(Xo,{path:"/p/:projectId/new",children:i.jsx(jT,{})}),i.jsx(Xo,{path:"/p/:projectId",children:i.jsx($$,{sidebarOpen:O,onSidebarToggle:G})}),i.jsx(Xo,{path:"/",children:i.jsx(ET,{})})]})})]}),i.jsx(B$,{})]})}X2.createRoot(document.getElementById("root")).render(i.jsx(Xs.StrictMode,{children:i.jsx(U$,{})}));
|