glimmervoid 0.36.0 → 0.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +86 -84
- package/dist/bin/glimmervoid.js +54 -115
- package/dist/chunks/{adapters-BdnLyJjf.js → adapters-BmfVPxlH.js} +22 -15
- package/dist/chunks/adapters-CqFFmM2R.js +1 -0
- package/dist/chunks/{agent-api-cli-DIqRLvu3.js → agent-api-cli-BTHEyJKS.js} +1 -1
- package/dist/chunks/{agent-api-cli-d-Bgsshx.js → agent-api-cli-CBgOKXoO.js} +41 -12
- package/dist/chunks/{agent-api-core-BUC9WND7.js → agent-api-core-DzKhakCv.js} +94 -3
- package/dist/chunks/{agent-setup-cli-CH7EHsAX.js → agent-setup-cli-C8DGxlA-.js} +1 -1
- package/dist/chunks/{config-CuZ16F9W.js → config-BYc2z1Oc.js} +15 -10
- package/dist/chunks/{config-store-LqQ7MuyV.js → config-store-B7MpiYxG.js} +7 -7
- package/dist/chunks/config-store-CsUoy88Q.js +1 -0
- package/dist/chunks/{contracts-BLZAOP57.js → contracts-C6ipN_zw.js} +48 -9
- package/dist/chunks/git-version-6QFnKbWa.js +139 -0
- package/dist/chunks/{grok-Ch4-35_r.js → grok-CZ6kP_vD.js} +5 -1
- package/dist/chunks/guardrails-deps-Cb-ki4EU.js +70 -0
- package/dist/chunks/{sandbox-proxy-core-hnQgKR0T.js → guardrails-proxy-core-BI3rdY-m.js} +4 -4
- package/dist/chunks/{knowledge-graph-cli-DD7QvcFd.js → knowledge-graph-cli-DApeMzA8.js} +1 -1
- package/dist/chunks/{loopback-post-DepQfdcM.js → loopback-post-DJ6iYWuL.js} +9 -9
- package/dist/chunks/{main-Rmo83Ow-.js → main-BUfjroXE.js} +12976 -11532
- package/dist/chunks/{pair-cli-DzFeAmq5.js → pair-cli-GZ9t1mIO.js} +2 -2
- package/dist/chunks/{remote-config-CPdSF2Xi.js → remote-config-D2Is89Kj.js} +1 -1
- package/dist/chunks/{session-B8RhqQJe.js → session-BZbariv5.js} +54 -8
- package/dist/chunks/{session-routes-DB5aDKsx.js → session-routes-C4t8O8yg.js} +9 -9
- package/dist/chunks/{settings-cli-C2TY6hl-.js → settings-cli-DQOjmjev.js} +3 -3
- package/dist/chunks/{ssh-sign-cli-C2nUwJC-.js → ssh-sign-cli-LIBP8ppO.js} +2 -2
- package/dist/client/assets/index-B_Qt7fbZ.css +1 -0
- package/dist/client/assets/index-D-upBor0.js +265 -0
- package/dist/client/index.html +2 -2
- package/dist/scripts/postinstall-path-check.js +4 -4
- package/dist/server/index.js +1 -1
- package/dist/session/command-hook-relay.js +1 -1
- package/dist/session/{sandbox-open-launcher.js → guardrails-open-launcher.js} +10 -10
- package/dist/session/hook-relay.js +1 -1
- package/dist/session/statusline-relay.js +1 -1
- package/package.json +4 -3
- package/dist/chunks/adapters-BVozg-Lg.js +0 -1
- package/dist/chunks/config-store-tVmt_nfm.js +0 -1
- package/dist/chunks/git-version-CUcDtF5k.js +0 -58
- package/dist/chunks/sandbox-deps-CWiH1d1w.js +0 -70
- package/dist/client/assets/index-BIaSyXwH.css +0 -1
- package/dist/client/assets/index-Ddu7M4Ad.js +0 -259
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();function e(e){return e===`remote`?`remote`:`local`}function t(t,n){return e(n)===`local`||t!==`shutdown`}var n=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function r(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function i({mode:e,delayMs:t,run:i,setTimeoutFn:a=n.setTimeoutFn,clearTimeoutFn:o=n.clearTimeoutFn,unref:s=!0}){let c=null;function l(){c&&=(o(c),null)}function u(){e===`leading`&&c||(l(),c=a(()=>{c=null,i()},t),s&&r(c))}return{schedule:u,cancel:l,get isArmed(){return c!==null}}}var a=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),o=Object.freeze({[a.DORMANT]:`Dormant`,[a.INITIALIZING]:`Preparing`,[a.STARTING]:`Starting`,[a.RUNNING]:`Working`,[a.WAITING]:`Needs Input`,[a.IDLE]:`Idle`,[a.COMPLETE]:`Complete`,[a.DONE]:`Exited`,[a.FAILED]:`Failed`}),s=Object.freeze({[a.DORMANT]:`○`,[a.INITIALIZING]:`◌`,[a.STARTING]:`◐`,[a.RUNNING]:`●`,[a.WAITING]:`◆`,[a.IDLE]:`◍`,[a.FAILED]:`▲`,[a.DONE]:`■`,[a.COMPLETE]:`◇`}),c=Object.freeze([a.INITIALIZING,a.STARTING,a.RUNNING,a.WAITING,a.IDLE,a.COMPLETE]),l=Object.freeze([a.DONE,a.FAILED]),u=Object.freeze([a.WAITING,a.IDLE,a.COMPLETE]);function d(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function f(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function p(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function m(e,t,n){let r=p(e,t);return r.innerHTML=n,r}function h(e,t){for(let[n,r]of t)e.style.setProperty(n,r)}function g({login:e,url:t,cssPx:n}){let r=p(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>p(`span`,`avatar-monogram`,f(e)),a=t===void 0?d(e,n):t;if(!a)return r.append(i()),r;let o=p(`img`);return o.src=a,o.width=n,o.height=n,o.loading=`lazy`,o.decoding=`async`,o.referrerPolicy=`no-referrer`,o.alt=``,o.addEventListener(`error`,()=>o.replaceWith(i()),{once:!0}),r.append(o),r}function _(e,t){let n=p(`span`,`avatar-stack`);for(let r of e){let e=g({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=p(`span`,`avatar-badge`);i.dataset.tone=r.tone,e.append(i),n.append(e)}return n}function v(e,t,n){let r=e.querySelector(t);if(!r||r.tagName.toLowerCase()!==n)throw Error(`${t} does not match a <${n}>`);return r}function y(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function b(e,t,n,r=t){if(!n){let n=p(`span`,e,t);return n.title=r,n}let i=p(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}var ee={parked:`PARKED`,merging:`MERGING`};function x(e,t){return e===a.RUNNING&&t===!0}function te(e,t=!1){let n=e,r=x(e,t),i=r?`Monitoring`:o[n]||e;return{glyph:s[n]||``,label:i.toUpperCase(),isMonitoring:r}}function ne(e){if(!e)return;let t=null,n=()=>{t=null;let n=e.offsetHeight;n>0&&document.documentElement.style.setProperty(`--header-h`,`${n}px`)};new ResizeObserver(()=>{t===null&&(t=requestAnimationFrame(n))}).observe(e)}function S(e,t,n){let r=p(`section`,`${e}-section`),i=p(`div`,`${e}-section-head`);return i.append(p(`h2`,`${e}-section-title`,t)),n&&i.append(p(`span`,`${e}-section-hint`,n)),r.append(i),r}function re(e,t,n,r){let i=p(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append(p(`span`,`${e}-stat-value`,n),p(`span`,`${e}-stat-label`,t)),i}function C(e){return Array.isArray(e?.projects)?e.projects:[]}function w(e){return!e||!!e.closest(`[hidden]`)}function ie(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function ae(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function oe(e,t=null){let n=e?._adoptHome;n&&(delete e._adoptHome,n.parent?.isConnected?n.next&&n.next.parentElement===n.parent?n.parent.insertBefore(e,n.next):n.parent.appendChild(e):t&&t.appendChild(e))}var T=new Map;function E(e){return e.card?.dataset.session||e.nameEl?.textContent||``}function D(e){return typeof e==`string`?e:String(e)}function O(e){return typeof e==`string`?T.get(e):void 0}var se=document.getElementById(`sessions-container`),ce=document.getElementById(`aggregate-status`),le=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),ue=e=>e||null,de=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:ue(e)}),focusSession:e=>({focusedSessionId:ue(e)}),selectSession:e=>({selectedSessionId:ue(e)}),borrowCard:e=>({borrowedCardId:ue(e)})});function fe(e){let t=Object.freeze({...le,...e}),n=new Set;function r(){return t}function i(e){return typeof e==`function`?(n.add(e),()=>n.delete(e)):()=>{}}function a(e){let n=[];for(let r of Object.keys(e)){if(!(r in le))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=de[e];if(!i)throw Error(`ui-state: unknown action "${e}"`);let o=i(r),s=a(o);if(s.length===0)return t;let c=t;t=Object.freeze({...t,...o});for(let e of n)try{e(t,s,c)}catch{}return t}return{snapshot:r,subscribe:i,dispatch:o}}var pe=fe(),me=()=>pe.snapshot().activeView;function he(){return pe.snapshot().borrowedCardId}function ge(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=he();i&&i!==t&&_e();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),ae(a,n),pe.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function _e(){let e=he();if(pe.dispatch(`borrowCard`,null),!e)return null;let t=T.get(e);t?._showTerminalFace?.(),t?._setBorrowed?.(!1),t?._setActiveViewer?.(!1);let n=t?.card;return n&&(n._cardHostClass&&n.classList.remove(n._cardHostClass),delete n._cardHostClass,oe(n,se)),e}function ve(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function ye(e,t=`|`){return e.map(e=>Ge(e)).join(t)}function be(e,t){return typeof t==`bigint`?t.toString():t}var xe=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function Se(e){return new xe(e)}function Ce(e){return e==null}function we(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Te(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function Ee(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function De(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function Oe(e){return De(e._zod.def)??e._zod.def.shape}function ke(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return Ee(this,t,e),e},enumerable:!0,configurable:!0})}function Ae(e,t,n){t in e?Ee(e,t,n):e[t]=n}function je(e,t,n,r){let i=Oe(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?ke(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Ae(e,a,r?r(n.value,a):n.value))}}function Me(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?ke(e,n,()=>t[n]):Ae(e,n,r.value))}}function Ne(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Pe(e){return JSON.stringify(e)}function Fe(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Ie=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Le(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Re=Se(()=>{if(Ft.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function ze(e){if(Le(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Le(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Be(e){return ze(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Ve=new Set([`string`,`number`,`symbol`]),He=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function Ue(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function We(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function k(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ge(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Ke(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var qe={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},Je={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Ye(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);let i={};return je(i,e,Xe(e,t)),We(e,Ne(n,{shape:i,checks:[]}))}function Xe(e,t){let n=Oe(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function Ze(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);let i=new Set(Xe(e,t)),a={};return je(a,e,Reflect.ownKeys(Oe(e)).filter(e=>!i.has(e))),We(e,Ne(n,{shape:a,checks:[]}))}function Qe(e,t){if(!ze(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=Oe(e);for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return We(e,Ne(e._zod.def,{shape:$e(e,t)}))}function $e(e,t){let n={};return je(n,e,Reflect.ownKeys(Oe(e))),Me(n,t),n}function et(e,t){if(!ze(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return We(e,Ne(e._zod.def,{shape:$e(e,t)}))}function tt(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);let n={};return je(n,e,Reflect.ownKeys(Oe(e))),je(n,t,Reflect.ownKeys(Oe(t))),We(e,Ne(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function nt(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);let a=n?new Set(Xe(t,n)):void 0,o={};return je(o,t,Reflect.ownKeys(Oe(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),We(t,Ne(t._zod.def,{shape:o,checks:[]}))}function rt(e,t,n){let r=n?new Set(Xe(t,n)):void 0,i={};return je(i,t,Reflect.ownKeys(Oe(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),We(t,Ne(t._zod.def,{shape:i}))}function it(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function at(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function ot(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function st(e){return typeof e==`string`?e:e?.message}function ct(e){let t=[];for(let n of e??[]){let e=n._zod.def;if(!/_(length|size)$|_equals$/.test(e.check))break;let r=e.maximum??e.length??e.size;r>=0&&t.push([r,n])}return t}function lt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function ut(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:st(e.inst?._zod.def?.error?.(e))??st(a?.(e))??st(t?.error?.(e))??st(n.customError?.(e))??st(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}var dt=/[\uD800-\uDBFF]/;function ft(e){let t=e.length;if(!dt.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function pt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function mt(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function ht(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function gt(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):bt(e,n,r.value)}}function _t(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function vt(e,t,n){return _t(e,t,n,!1)}function yt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return _t(this,n,r(this))},set(e){_t(this,n,e)}})}return t}function bt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:_t(this,t,n.bind(this))},set(e){_t(this,t,e)}})}function xt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var St,Ct=!1,wt={configurable:!0,get(){Ct=!0}};function Tt(e,t,n){let r=Object.getPrototypeOf(e._zod);t in r&&St!==e._zod?St=void 0:(St=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,wt);let e=Ct;Ct=!1;try{let r=n(this);return Ct?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Ct||=e,r}catch(n){throw delete this[t],Ct||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function Et(e,t,n,r){let i=xt(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}var Dt=`~constantCatch`;function Ot(e){let t=()=>e;return t[Dt]=!0,t}var kt,At={value:void 0,enumerable:!1},jt=`captureStackTrace`in Error?Error:null;function Mt(e){let t=jt;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return jt=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function A(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){At.value=new a(r);try{Object.defineProperty(n,"_zod",At)}finally{At.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),gt(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?Mt(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var Nt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Pt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(kt=globalThis).__zod_globalConfig??(kt.__zod_globalConfig={});var Ft=globalThis.__zod_globalConfig;function It(e){return e&&Object.assign(Ft,e),Ft}function Lt(){let e=this._zod;return e.message??=JSON.stringify(e.def,be,2),e.message}function Rt(e){this._zod.message=e}var eee={get:Lt,set:Rt,enumerable:!0,configurable:!0},zt={value:void 0,enumerable:!1},Bt=new WeakSet([Object.prototype,Error.prototype]),Vt=(e,t)=>{e.name=`$ZodError`,zt.value=t,Object.defineProperty(e,"issues",zt),zt.value=void 0,Object.defineProperty(e,"message",eee);let n=Object.getPrototypeOf(e);Bt.has(n)||(Bt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Ht=A(`$ZodError`,Vt);A(`$ZodError`,Vt,void 0,{Parent:Error});function Ut(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Wt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Ut(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Gt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function Kt(e,t){return{callee:t?.callee??e,Err:t?.Err}}var qt=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new Nt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ut(e,o,It())));throw Ie(n,a?.callee??t),n}return s.value};return t},Jt=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ut(e,o,It())));throw Ie(n,a?.callee??t),n}return s.value};return t},Yt=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new Nt;return a.issues.length?Xt(e,a.issues,i):{success:!0,data:a.value}};function Xt(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>ut(e,n,It()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var Zt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?Xt(e,a.issues,i):{success:!0,data:a.value}},tee=Symbol.for(`zod.compile.invalid`),nee=Symbol.for(`zod.compile.fallback`),ree=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==tee)return!0;if(r.definite===!0&&n===void 0)return!1}return iee(e,t,n)});function iee(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[nee]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new Nt;return a.issues.length===0}var aee=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},oee=e=>{let t=qt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Kt(n,a))};return n},see=e=>{let t=qt(e),n=(e,r,i,a)=>t(e,r,i,Kt(n,a));return n},Qt=e=>{let t=Jt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Kt(n,a))};return n},$t=e=>{let t=Jt(e),n=async(e,r,i,a)=>await t(e,r,i,Kt(n,a));return n},en=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Yt(e)(t,n,i)},tn=e=>(t,n,r)=>Yt(e)(t,n,r),nn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Zt(e)(t,n,i)},cee=e=>async(t,n,r)=>Zt(e)(t,n,r),lee=/^[cC][0-9a-z]{6,}$/,rn=/^[0-9a-z]+$/,an=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,on=/^[0-9a-vA-V]{20}$/,sn=/^[A-Za-z0-9]{27}$/,cn=/^[a-zA-Z0-9_-]{21}$/;function ln(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var un=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,dn=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,fn=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,pn=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,mn=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function hn(){return new RegExp(mn,`u`)}var uee=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,dee=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,fee=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,pee=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,gn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,_n=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,vn=/^https?$/,yn=/^\+[1-9]\d{6,14}$/,bn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function xn(e){return RegExp(`^${e}$`)}var Sn=xn(bn);function Cn(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function wn(e){return RegExp(`^${Cn(e)}$`)}function Tn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Cn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Cn({precision:e.precision})}`:n;return RegExp(`^${bn}T(?:${r})$`)}var En=/^[\s\S]{0,}$/,Dn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},On=/^-?\d+$/,kn=/^-?\d+(?:\.\d+)?$/,An=/^(?:true|false)$/i,jn=/^null$/i,Mn=/^[^A-Z]*$/,Nn=/^[^a-z]*$/,Pn=A(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Fn=e=>{let t=e.value;return!Ce(t)&&t.length!==void 0},In={number:`number`,bigint:`bigint`,object:`date`},Ln=A(`$ZodCheckLessThan`,(e,t)=>{Pn.init(e,t);let n=In[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:In[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Rn=A(`$ZodCheckGreaterThan`,(e,t)=>{Pn.init(e,t);let n=In[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:In[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),zn=A(`$ZodCheckMultipleOf`,(e,t)=>{Pn.init(e,t),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):Te(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),Bn=A(`$ZodCheckNumberFormat`,(e,t)=>{Pn.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=qe[t.format];e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Vn=A(`$ZodCheckMaxLength`,(e,t)=>{var n;Pn.init(e,t),(n=e._zod.def).when??(n.when=Fn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?ft(r):i)<=t.maximum)return;let a=pt(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Hn=A(`$ZodCheckMinLength`,(e,t)=>{var n;Pn.init(e,t),(n=e._zod.def).when??(n.when=Fn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?ft(r):i)>=t.minimum)return;let a=pt(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Un=A(`$ZodCheckLengthEquals`,(e,t)=>{var n;Pn.init(e,t),(n=e._zod.def).when??(n.when=Fn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?ft(r):i;if(a===t.length)return;let o=pt(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Wn=A(`$ZodCheckStringFormat`,(e,t)=>{var n,r;Pn.init(e,t),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),mee=A(`$ZodCheckRegex`,(e,t)=>{Wn.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),hee=A(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Mn,Wn.init(e,t)}),gee=A(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Nn,Wn.init(e,t)}),_ee=A(`$ZodCheckIncludes`,(e,t)=>{Pn.init(e,t);let n=Ue(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),vee=A(`$ZodCheckStartsWith`,(e,t)=>{Pn.init(e,t);let n=RegExp(`^${Ue(t.prefix)}.*`);t.pattern??=n,e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),yee=A(`$ZodCheckEndsWith`,(e,t)=>{Pn.init(e,t);let n=RegExp(`.*${Ue(t.suffix)}$`);t.pattern??=n,e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),bee=A(`$ZodCheckOverwrite`,(e,t)=>{Pn.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),xee=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--this.indent}}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
2
|
-
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
3
|
-
`)}\n};`)(...Object.values(this.closed))}},See={major:4,minor:6,patch:7},Gn=A(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=See;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=it(t),a;for(let o of n){if(o._zod.def.when){if(at(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new Nt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(lt(t.issues,n,e),i||=it(t,n))});else{if(t.issues.length===n)continue;lt(t.issues,n,e),i||=it(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(it(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Nt;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new Nt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return vt(this,`~standard`,qn(this))},set"~standard"(e){_t(this,`~standard`,e)}}),Kn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>ut(e,t,It()))}:{value:e.value};async function Cee(e,t){let n={async:!0};return Kn(await e._zod.run({value:t,issues:[]},n),n)}function qn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Kn(r,n)}catch{}return Cee(e,t)},vendor:`zod`,version:1}}var Jn=A(`$ZodString`,(e,t)=>{Gn.init(e,t),e._zod.pattern=t.pattern??En,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),Yn=A(`$ZodStringFormat`,(e,t)=>{Wn.init(e,t),Jn.init(e,t)}),Xn=A(`$ZodGUID`,(e,t)=>{t.pattern??=dn,Yn.init(e,t)}),Zn=A(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=fn(e)}else t.pattern??=fn();Yn.init(e,t)}),Qn=A(`$ZodEmail`,(e,t)=>{t.pattern??=pn,Yn.init(e,t)});function $n(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function er(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?$n(e)||2:tr(e,t)}function tr(e,t){if(!t.normalize&&t.protocol?.source===vn.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}var nr=/[\t\n\r]/g;function rr(e){return e.replace(nr,``)}function ir(e,t){return t.lastIndex=0,t.test(e.hostname)}function ar(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var or=A(`$ZodURL`,(e,t)=>{Yn.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=er(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}if(i===!0){n.value=rr(r);return}t.hostname&&!ir(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!ar(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:rr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),sr=A(`$ZodEmoji`,(e,t)=>{t.pattern??=hn(),Yn.init(e,t)}),cr=A(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?cn:ln(t.length),Yn.init(e,t)}),lr=A(`$ZodCUID`,(e,t)=>{t.pattern??=lee,Yn.init(e,t)}),ur=A(`$ZodCUID2`,(e,t)=>{t.pattern??=rn,Yn.init(e,t)}),dr=A(`$ZodULID`,(e,t)=>{t.pattern??=an,Yn.init(e,t)}),fr=A(`$ZodXID`,(e,t)=>{t.pattern??=on,Yn.init(e,t)}),pr=A(`$ZodKSUID`,(e,t)=>{t.pattern??=sn,Yn.init(e,t)}),mr=A(`$ZodISODateTime`,(e,t)=>{t.pattern??=Tn(t),Yn.init(e,t)}),hr=A(`$ZodISODate`,(e,t)=>{t.pattern??=Sn,Yn.init(e,t)}),gr=A(`$ZodISOTime`,(e,t)=>{t.pattern??=wn(t),Yn.init(e,t)}),_r=A(`$ZodISODuration`,(e,t)=>{t.pattern??=un,Yn.init(e,t)}),vr=A(`$ZodIPv4`,(e,t)=>{t.pattern??=uee,Yn.init(e,t)}),yr=/^[0-9a-fA-F:.]+$/;function br(e){return yr.test(e)?$n(`http://[${e}]`):!1}var xr=A(`$ZodIPv6`,(e,t)=>{t.pattern??=dee,Yn.init(e,t),e._zod.check=n=>{br(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Sr=A(`$ZodCIDRv4`,(e,t)=>{t.pattern??=fee,Yn.init(e,t)});function Cr(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:br(n)}var wr=A(`$ZodCIDRv6`,(e,t)=>{t.pattern??=pee,Yn.init(e,t),e._zod.check=n=>{Cr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Tr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var Er=/^[0-9a-zA-Z+/]*={0,2}$/,Dr=A(`$ZodBase64`,(e,t)=>{t.pattern??=Er,Yn.init(e,t),e._zod.check=n=>{Tr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Or=/^[A-Za-z0-9_-]*$/;function kr(e){if(!Or.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Tr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var Ar=A(`$ZodBase64URL`,(e,t)=>{t.pattern??=Or,Yn.init(e,t),e._zod.check=n=>{kr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),jr=A(`$ZodE164`,(e,t)=>{t.pattern??=yn,Yn.init(e,t)});function Mr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}var Nr=A(`$ZodJWT`,(e,t)=>{Yn.init(e,t),e._zod.check=n=>{Mr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Pr=A(`$ZodNumber`,(e,t)=>{Gn.init(e,t),e._zod.pattern=kn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Fr=A(`$ZodNumberFormat`,(e,t)=>{Bn.init(e,t),Pr.init(e,t)}),Ir=A(`$ZodBoolean`,(e,t)=>{Gn.init(e,t),e._zod.pattern=An,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),Lr=A(`$ZodNull`,(e,t)=>{Gn.init(e,t),e._zod.pattern=jn,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),Rr=A(`$ZodUnknown`,(e,t)=>{Gn.init(e,t),e._zod.parse=e=>e}),zr=A(`$ZodNever`,(e,t)=>{Gn.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Br(e,t){let n=ct(e._zod.def.checks);if(!n.length)return;let r=Math.min(...n.map(e=>e[0])),i=e._zod.parse;e._zod.parse=(n,a)=>{let o=t(n.value);if(o>r&&!a?.skipChecks&&a?.direction!==`backward`){for(let[t,r]of ct(e._zod.def.checks))if(o>t&&r._zod.def.when(n)){let t=n.issues.length;return r._zod.check(n),n.issues[t].continue=!1,lt(n.issues,t,e),n}}return i(n,a)}}var Vr=e=>Array.isArray(e)?e.length:-1;function Hr(e,t,n){e.issues.length&&t.issues.push(...ot(n,e.issues)),t.value[n]=e.value}var Ur=A(`$ZodArray`,(e,t)=>{Gn.init(e,t);let n=Ft.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>Hr(t,r,e)));else if(Hr(c,r,e),s&&c.issues.length!==0&&it(c))break}return o.length?Promise.all(o).then(()=>r):r},Br(e,Vr)});function Wr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(o||!s||i!==`optional`){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...ot(n,e.issues))}!o&&i===void 0?e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]}):e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var Gr=[];function Kr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Gr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=Ke(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function qr(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(it(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Wr(e,n,i,t,d,f))):Wr(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}var Jr=A(`$ZodObject`,(e,t)=>{Gn.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=Se(()=>Kr(t));Tt(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||Ee(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let a=Le,o=t.catchall,s,c=Ft.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(it(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>Wr(n,t,e,r,a,o))):Wr(s,t,e,r,a,o)}return o?qr(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Yr=A(`$ZodObjectJIT`,(e,t)=>{Jr.init(e,t);let n=e._zod.parse,r=Se(()=>Kr(t)),i=Ft.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new xee([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
4
|
-
let ${e}_ab = false;
|
|
5
|
-
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
6
|
-
const iss = ${e}.issues[i];
|
|
7
|
-
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
8
|
-
payload.issues.push(iss);
|
|
9
|
-
if (iss.continue !== true) ${e}_ab = true;
|
|
10
|
-
}
|
|
11
|
-
if (${e}_ab && ctx && ctx.abortEarly) {
|
|
12
|
-
payload.value = newResult;
|
|
13
|
-
return payload;
|
|
14
|
-
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:Pe(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
15
|
-
const ${n}_present = ${i};
|
|
16
|
-
if (!${n}.issues.length || ${n}_present) {
|
|
17
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
if (${e}) {
|
|
21
|
-
newResult[${r}] = ${n}.value;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
`)}else f?(o.write(`
|
|
26
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
27
|
-
}
|
|
28
|
-
`),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
|
|
29
|
-
if (${n}.value !== undefined || ${i}) {
|
|
30
|
-
newResult[${r}] = ${n}.value;
|
|
31
|
-
}
|
|
32
|
-
`)):o.write(`
|
|
33
|
-
const ${n}_present = ${i};
|
|
34
|
-
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
-
}
|
|
36
|
-
if (!${n}_present && !${n}.issues.length) {
|
|
37
|
-
payload.issues.push({
|
|
38
|
-
code: "invalid_type",
|
|
39
|
-
expected: "nonoptional",
|
|
40
|
-
input: undefined,
|
|
41
|
-
path: [${r}]
|
|
42
|
-
});
|
|
43
|
-
if (ctx && ctx.abortEarly) {
|
|
44
|
-
payload.value = newResult;
|
|
45
|
-
return payload;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
if (${n}_present) {
|
|
50
|
-
newResult[${r}] = ${n}.value;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=Le,c=!Ft.jitless,l=c&&Re.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?qr([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function Xr(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!it(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>ut(e,r,It())))}),t)}var Zr=A(`$ZodUnion`,(e,t)=>{Gn.init(e,t),Tt(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),Tt(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),Tt(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),Tt(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>we(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>Xr(t,r,e,i)):Xr(o,r,e,i)}});function Qr(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}var $r=A(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Zr.init(e,t);let n=e._zod.parse;Tt(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||Ee(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=De(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=Se(()=>Qr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!Le(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),ei=A(`$ZodIntersection`,(e,t)=>{Gn.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>ni(e,t,n)):ni(e,i,a)}});function ti(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(ze(e)&&ze(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=ti(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ti(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function ni(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=ti(t.value,n.value);if(!c.valid){if(it(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var ri=A(`$ZodRecord`,(e,t)=>{Gn.init(e,t);let n=Ft.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!ze(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>ut(e,i,It())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...ot(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...ot(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e)){if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e)}l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&kn.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>ut(e,i,It())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...ot(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...ot(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),ii=A(`$ZodEnum`,(e,t)=>{Gn.init(e,t);let n=ve(t.entries),r=new Set(n);e._zod.values=r,Tt(e,`pattern`,e=>{let t=ve(e.def.entries).filter(e=>Ve.has(typeof e));return RegExp(t.length?`^(${t.map(e=>Ue(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),ai=A(`$ZodLiteral`,(e,t)=>{Gn.init(e,t);let n=new Set(t.values);e._zod.values=n,Tt(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?Ue(e):e?Ue(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`)}),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),oi=A(`$ZodTransform`,(e,t)=>{Gn.init(e,t),e._zod.optin=`optional`,Ft.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Pt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new Nt;return n.value=i,n}});function si(e,t){return e.value=t.issues.length?void 0:t.value,e}var ci=A(`$ZodOptional`,(e,t)=>{Gn.init(e,t),Tt(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,Tt(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),Tt(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${we(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>si(e,t)):si(e,r)}return t.innerType._zod.run(e,n)}}),li=A(`$ZodExactOptional`,(e,t)=>{ci.init(e,t),Tt(e,`values`,e=>e.def.innerType._zod.values),Tt(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),ui=A(`$ZodNullable`,(e,t)=>{Gn.init(e,t),Tt(e,`optin`,e=>e.def.innerType._zod.optin),Tt(e,`optout`,e=>e.def.innerType._zod.optout),Tt(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${we(t.source)}|null)$`):void 0}),Tt(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),di=A(`$ZodDefault`,(e,t)=>{Gn.init(e,t),e._zod.optin=`defaulted`,Tt(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>fi(e,t)):fi(r,t)}});function fi(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var pi=A(`$ZodPrefault`,(e,t)=>{Gn.init(e,t),e._zod.optin=`defaulted`,Tt(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),mi=A(`$ZodNonOptional`,(e,t)=>{Gn.init(e,t),Tt(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>hi(t,e)):hi(i,e)}});function hi(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function gi(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>ut(e,r,It()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var _i=A(`$ZodCatch`,(e,t)=>{Gn.init(e,t),Tt(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),Tt(e,`optout`,e=>e.def.innerType._zod.optout),Tt(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>gi(e,r,t,n)):gi(e,r,t,n)}}),vi=A(`$ZodPipe`,(e,t)=>{Gn.init(e,t),Tt(e,`values`,e=>e.def.in._zod.values),Tt(e,`optin`,e=>e.def.in._zod.optin),Tt(e,`optout`,e=>e.def.out._zod.optout),Tt(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>yi(e,t.in,n)):yi(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>yi(e,t.out,n)):yi(r,t.out,n)}});function yi(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}var bi=A(`$ZodPreprocess`,(e,t)=>{vi.init(e,t)}),xi=A(`$ZodReadonly`,(e,t)=>{Gn.init(e,t),Tt(e,`propValues`,e=>e.def.innerType._zod.propValues),Tt(e,`values`,e=>e.def.innerType._zod.values),Tt(e,`optin`,e=>e.def.innerType?._zod?.optin),Tt(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(Si):Si(r)}});function Si(e){return e.memo||(e.value=Object.freeze(e.value)),e}function Ci(e){let t=e._zod.def,n=t.pattern,r=!!t.format?.includes(`int`),i,a;for(let e of t.checks??[]){let t=e._zod.def;t.pattern&&(n=t.pattern),r||=!!t.format?.includes(`int`);let o=t.minimum??t.length,s=t.maximum??t.length;o!==void 0&&(i===void 0||o>i)&&(i=o),s!==void 0&&(a===void 0||s<a)&&(a=s)}if(n)return n.source;if(i!==void 0&&a!==void 0&&i>a)return`(?!)`;if(i!==void 0||a!==void 0)return Dn({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===kn?On:o)?.source}function wi(e){let t=e._zod.def,n=e._zod.pattern?.source,r=t.innerType??e._zod.innerType;if(r){let e=r._zod.pattern?.source,t=wi(r);return n&&e&&t&&t!==e?n.replace(we(e),()=>we(t)):n}if(t.options){let e=t.options.map(wi);if(e.every(Boolean))return`^(${e.map(e=>we(e)).join(`|`)})$`}return Ci(e)}var Ti=A(`$ZodTemplateLiteral`,(e,t)=>{Gn.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=wi(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(we(t))}else if(e===null||He.has(typeof e))n.push(Ue(`${e}`));else throw Error(`Invalid template literal part: ${e}`);e._zod.pattern=RegExp(`^${n.join(``)}$`),e._zod.parse=(n,r)=>typeof n.value==`string`?(e._zod.pattern.lastIndex=0,e._zod.pattern.test(n.value)||n.issues.push({input:n.value,inst:e,code:`invalid_format`,format:t.format??`template_literal`,pattern:e._zod.pattern.source}),n):(n.issues.push({input:n.value,inst:e,expected:`string`,code:`invalid_type`}),n)}),Ei=A(`$ZodCustom`,(e,t)=>{Pn.init(e,t),Gn.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Di(t,n,r,e));Di(i,n,r,e)}});function Di(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(ht(e))}}var Oi=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},ki=`~memo`,Ai=[];function ji(e){return typeof e==`object`&&!!e}function Mi(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var Ni=new WeakMap,Pi=0,Fi=1,Ii=2;function Li(e,t,n){let r=Ni.get(e);if(r!==void 0)return r?Ii:Pi;if(t.has(e))return Ii;t.add(e);let i=Pi,a=e=>{if(i!==Ii&&e?._zod){let r=Li(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=Pi;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?Fi:o.value?._zod?Li(o.value,t,n):Pi;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=De(c);s(e?o(e,!0):Fi),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?Li(r,t,!1):Fi);break}case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(n&&typeof n==`object`){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),wee(e,i)}function wee(e,t){return t!==Fi&&Ni.set(e,t===Ii),t}function Tee(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var Ri,zi=[],Eee={alloc(e,t,n){let r=Ri;if(!r)return n;Ri=void 0;let i={value:n,issues:null};return r.set(t.value,i),zi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Oee(n,e.value))throw new Oi;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=Li(e,new Set,!1);if(i===Pi)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===Ii||r?n=!0:r=!0}let l=s.value;if(!ji(l))return t(s,c);let u=c[ki];u||(u={buckets:new WeakMap,backEdges:void 0},c[ki]=u);let d;i===c?d=a:(d=Tee(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...Mi(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;Ri=d;let p=zi.length,m=t(s,c);Ri=void 0;let h=zi.length>p?zi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?Mi(e.issues):Ai),e)):(h&&(h.issues=m.issues.length?Mi(m.issues):Ai),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function Dee(){return Eee}function Oee(e,t){let n=e[ki]?.backEdges;return n!==void 0&&ji(t)&&n.has(t)}var kee=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(mt(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Ge(e.values[0])}`:`Invalid option: expected one of ${ye(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${ye(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function Aee(){return{localeError:kee()}}var Bi,jee=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Mee(){return new jee}(Bi=globalThis).__zod_globalRegistry??(Bi.__zod_globalRegistry=Mee());var Vi=globalThis.__zod_globalRegistry;function Hi(e){return e.checks&&=[...e.checks],e}function Nee(e,t){return new e(Hi({type:`string`,...k(t)}))}function Pee(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...k(t)})}function Fee(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...k(t)})}function Iee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...k(t)})}function Lee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...k(t)})}function Ree(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...k(t)})}function zee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...k(t)})}function Ui(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...k(t)})}function Bee(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...k(t)})}function Vee(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...k(t)})}function Hee(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...k(t)})}function Uee(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...k(t)})}function Wee(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...k(t)})}function Gee(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...k(t)})}function Kee(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...k(t)})}function qee(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...k(t)})}function Jee(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...k(t)})}function Yee(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...k(t)})}function Xee(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...k(t)})}function Wi(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...k(t)})}function Zee(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...k(t)})}function Qee(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...k(t)})}function $ee(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...k(t)})}function Gi(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...k(t)})}function ete(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...k(t)})}function tte(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...k(t)})}function nte(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...k(t)})}function rte(e,t){return new e(Hi({type:`number`,checks:[],...k(t)}))}function ite(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...k(t)})}function ate(e,t){return new e({type:`boolean`,...k(t)})}function ote(e,t){return new e({type:`null`,...k(t)})}function ste(e){return new e({type:`unknown`})}function cte(e,t){return new e({type:`never`,...k(t)})}function Ki(e,t){return new Ln({check:`less_than`,...k(t),value:e,inclusive:!1})}function qi(e,t){return new Ln({check:`less_than`,...k(t),value:e,inclusive:!0})}function Ji(e,t){return new Rn({check:`greater_than`,...k(t),value:e,inclusive:!1})}function Yi(e,t){return new Rn({check:`greater_than`,...k(t),value:e,inclusive:!0})}function Xi(e,t){return new zn({check:`multiple_of`,...k(t),value:e})}function Zi(e,t){return new Vn({check:`max_length`,...k(t),maximum:e})}function Qi(e,t){return new Hn({check:`min_length`,...k(t),minimum:e})}function $i(e,t){return new Un({check:`length_equals`,...k(t),length:e})}function lte(e,t){return new mee({check:`string_format`,format:`regex`,...k(t),pattern:e})}function ute(e){return new hee({check:`string_format`,format:`lowercase`,...k(e)})}function dte(e){return new gee({check:`string_format`,format:`uppercase`,...k(e)})}function fte(e,t){return new _ee({check:`string_format`,format:`includes`,...k(t),includes:e})}function pte(e,t){return new vee({check:`string_format`,format:`starts_with`,...k(t),prefix:e})}function mte(e,t){return new yee({check:`string_format`,format:`ends_with`,...k(t),suffix:e})}function ea(e){return new bee({check:`overwrite`,tx:e})}function hte(e){return ea(t=>t.normalize(e))}function gte(){return ea(e=>e.trim())}function _te(){return ea(e=>e.toLowerCase())}function vte(){return ea(e=>e.toUpperCase())}function yte(){return ea(e=>Fe(e))}function bte(e,t,n){return new e({type:`array`,element:t,...k(n)})}function xte(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...k(n)})}function Ste(e,t){let n=Cte(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(ht(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(ht(r))}},e(t.value,t)),t);return n}function Cte(e,t){let n=new Pn({check:`custom`,...k(t)});return n._zod.check=e,n}function ta(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Ee(e,t,n[t]);return e}function na(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Vi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function ra(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function ia(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,ia(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&ta(o.schema,c),t.io===`input`&&ma(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function aa(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function oa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${aa(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+aa(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
54
|
-
|
|
55
|
-
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0])a(n);else{if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}(e.metadataRegistry.get(n[0])?.id||r.cycle||r.count>1&&e.reused===`ref`)&&a(n)}}e.external&&(e.sharedDefsExtractedFor=e.external)}function sa(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;sa(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}var ca=new Set([`type`,`properties`,`required`,`additionalProperties`]),la=[`oneOf`,`anyOf`];function ua(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function da(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!ca.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??ua(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Ee(n,r,e.length===1?e[0]:da(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=ua(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function fa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of ca)if(t in e)return;let n=t.filter(e=>la.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=da(t);else{let e=n[0],i=la.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>da([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,ta(e,r))}function pa(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):ta(i,s),ta(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())sa(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])fa(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}ta(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,Ee(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:ga(t,`input`,e.processors),output:ga(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function ma(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return ma(r.element,n);if(r.type===`set`)return ma(r.valueType,n);if(r.type===`lazy`)return ma(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return ma(r.innerType,n);if(r.type===`intersection`)return ma(r.left,n)||ma(r.right,n);if(r.type===`record`||r.type===`map`)return ma(r.keyType,n)||ma(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:ma(r.in,n)||ma(r.out,n);if(r.type===`object`){for(let e in r.shape)if(ma(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(ma(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(ma(e,n))return!0;return!!(r.rest&&ma(r.rest,n))}return!1}var ha=(e,t={})=>n=>{let r=na({...n,processors:t});return ia(e,r),oa(r,e),pa(r,e)},ga=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=na({...i??{},target:a,io:t,processors:n});return ia(e,o),oa(o,e),pa(o,e)},_a=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},va=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},ya=(e,t)=>{_a(e,`minimum`,t),va(e,`maximum`,t)},ba=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},xa=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Sa=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Ca=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},wa=(e,t)=>_a(e,`minimum`,t.minimum),Ta=(e,t)=>va(e,`maximum`,t.maximum),Ea=e=>(t,n)=>{Ca(t,n.format);let[r,i]=e[n.format];_a(t,`minimum`,r),va(t,`maximum`,i)},Da={greater_than:(e,t)=>_a(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>va(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>ba(e,t.value),number_format:Ea(qe),bigint_format:Ea(Je),min_length:wa,max_length:Ta,length_equals:(e,t)=>ya(e,t.length),min_size:wa,max_size:Ta,size_equals:(e,t)=>ya(e,t.size),string_format:(e,t)=>{Ca(e,t.format),t.pattern&&xa(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Sa(e,t.mime)};function Oa(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Da[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&_a(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&_a(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&va(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&va(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&ba(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Sa(t,i.mime);for(let e of i.patterns??[])xa(t,e);return t}var ka={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},wte=new Map([[Er,gn],[Or,_n]]),Aa=e=>wte.get(e)??e,Tte=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=Oa(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=ka[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(Aa);e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Ete=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=Oa(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):ra(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},Dte=(e,t,n,r)=>{n.type=`boolean`},Ote=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},kte=(e,t,n,r)=>{n.not={}},Ate=(e,t,n,r)=>{let i=e._zod.def,a=ve(i.entries);a.length===0?n.not={}:(a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a)},jte=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(ra(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(ra(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0){if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a}},Mte=(e,t,n,r)=>{let i=n,a=e._zod.pattern;if(!a)throw Error(`Pattern not found in template literal`);i.type=`string`,i.pattern=a.source},Nte=(e,t,n,r)=>{ra(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},Pte=(e,t,n,r)=>{ra(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Fte=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Oa(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=ia(a.element,t,{...r,path:[...r.path,`items`]})};function ja(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?ja(t.out):t.type===`catch`?ja(t.innerType):e._zod.optin}var Ma=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&ra(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Ee(i.properties,e,ia(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?ja(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=ia(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Na=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>ia(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Pa=(e,t,n,r)=>{let i=e._zod.def,a=ia(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=ia(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)};function Fa(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=Fa(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>Fa(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i&&(p.type=`string`,a||(p.pattern=(r.includes(`number`)?kn:On).source)),p}var Ia=new WeakMap;function La(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of Ia.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Fa(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}var Ra=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=Oa(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=ia(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Ee(i.patternProperties,Aa(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=ia(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=Ia.get(t);n||(n=[],Ia.set(t,n),t.deferred.push(()=>La(t))),n.push(e)}i.additionalProperties=ia(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&ja(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},za=(e,t,n,r)=>{let i=e._zod.def,a=ia(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Ba=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Va=Symbol();function Ha(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(ra(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Va):JSON.parse(o)}var Ua=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Ha(i.defaultValue,e,t,n,r);o!==Va&&(n.default=o)},Wa=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Ha(i.defaultValue,e,t,n,r);o!==Va&&(n._prefault=o)},Ga=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{ra(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Ka=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;ia(o,t,r);let s=t.seen.get(e);s.ref=o},qa=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ja=(e,t,n,r)=>{let i=e._zod.def;ia(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ya=new WeakSet([Object.prototype,Error.prototype]);function Xa(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}var Za=A(`ZodError`,(e,t)=>{Ht.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Ya.has(n)||(Ya.add(n),Xa(n,`format`,e=>t=>Gt(e,t)),Xa(n,`flatten`,e=>t=>Wt(e,t)),Xa(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,be,2)}),Xa(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,be,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Qa=qt(Za),$a=Jt(Za),eo=Yt(Za),to=Zt(Za),no=oee(Za),ro=see(Za),io=Qt(Za),ao=$t(Za),oo=en(Za),so=tn(Za),co=nn(Za),lo=cee(Za);function uo(){Ft.localeError||It(Aee())}function fo(){Ft.memoizer||It({memoizer:Dee()})}var po=A(`ZodType`,(e,t)=>(uo(),Gn.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Ne(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return We(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(ds(e,t))},superRefine(e,t){return this.check(fs(e,t))},overwrite(e){return this.check(ea(e))},optional(){return Wo(this)},exactOptional(){return Ko(this)},nullable(){return Jo(this)},nullish(){return Wo(Jo(this))},nonoptional(e){return es(this,e)},array(){return P(this)},or(e){return Mo([this,e])},and(e){return Io(this,e)},transform(e){return is(this,Ho(e))},default(e){return Xo(this,e)},prefault(e){return Qo(this,e)},catch(e){return ns(this,e)},pipe(e){return is(this,e)},readonly(){return ss(this)},describe(e){let t=this.clone();return Vi.add(t,{description:e}),t},meta(...e){if(e.length===0)return Vi.get(this);let t=this.clone();return Vi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return vt(this,`~standard`,{...qn(this),jsonSchema:{input:ga(this,`input`),output:ga(this,`output`)}})},set"~standard"(e){_t(this,`~standard`,e)},parse:function e(t,n){return Qa(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await $a(this,t,n,{callee:e})},safeParse(e,t){return eo(this,e,t)},async safeParseAsync(e,t){return to(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){_t(this,`spa`,e)},validate(e,t){return ree(this,e,t)},validateAsync(e,t){return aee(this,e,t)},encode:function e(t,n){return no(this,t,n,{callee:e})},decode:function e(t,n){return ro(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await io(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await ao(this,t,n,{callee:e})},safeEncode(e,t){return oo(this,e,t)},safeDecode(e,t){return so(this,e,t)},async safeEncodeAsync(e,t){return co(this,e,t)},async safeDecodeAsync(e,t){return lo(this,e,t)},toJSONSchema(e){return ha(this,{})(e)},get description(){return Vi.get(this)?.description},get _def(){return this._zod.def}}),mo=A(`_ZodString`,(e,t)=>{Jn.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Tte(e,t,n,r)},yt({format:e=>Oa(e).format??null,minLength:e=>Oa(e).minimum??null,maxLength:e=>Oa(e).maximum??null},{regex(...e){return this.check(lte(...e))},includes(...e){return this.check(fte(...e))},startsWith(...e){return this.check(pte(...e))},endsWith(...e){return this.check(mte(...e))},min(...e){return this.check(Qi(...e))},max(...e){return this.check(Zi(...e))},length(...e){return this.check($i(...e))},nonempty(...e){return this.check(Qi(1,...e))},lowercase(e){return this.check(ute(e))},uppercase(e){return this.check(dte(e))},trim(){return this.check(gte())},normalize(...e){return this.check(hte(...e))},toLowerCase(){return this.check(_te())},toUpperCase(){return this.check(vte())},slugify(){return this.check(yte())}})),ho=A(`ZodString`,(e,t)=>{Jn.init(e,t),mo.init(e,t)},{email(e){return this.check(Pee(zte,e))},url(e){return this.check(Ui(yo,e))},jwt(e){return this.check($ee(tne,e))},emoji(e){return this.check(Bee(Vte,e))},guid(e){return this.check(Fee(Bte,e))},uuid(e){return this.check(Iee(vo,e))},uuidv4(e){return this.check(Lee(vo,e))},uuidv6(e){return this.check(Ree(vo,e))},uuidv7(e){return this.check(zee(vo,e))},nanoid(e){return this.check(Vee(Hte,e))},cuid(e){return this.check(Hee(Ute,e))},cuid2(e){return this.check(Uee(Wte,e))},ulid(e){return this.check(Wee(Gte,e))},base64(e){return this.check(Wi(xo,e))},base64url(e){return this.check(Zee($te,e))},xid(e){return this.check(Gee(Kte,e))},ksuid(e){return this.check(Kee(qte,e))},ipv4(e){return this.check(qee(Jte,e))},ipv6(e){return this.check(Jee(Yte,e))},cidrv4(e){return this.check(Yee(Xte,e))},cidrv6(e){return this.check(Xee(Zte,e))},e164(e){return this.check(Qee(ene,e))},datetime(e){return this.check(Gi(_o,e))},date(e){return this.check(ete(Ite,e))},time(e){return this.check(tte(Lte,e))},duration(e){return this.check(nte(Rte,e))}});function j(e){return Nee(ho,e)}var go=A(`ZodStringFormat`,(e,t)=>{Yn.init(e,t),mo.init(e,t)}),_o=A(`ZodISODateTime`,(e,t)=>{mr.init(e,t),go.init(e,t)}),Ite=A(`ZodISODate`,(e,t)=>{hr.init(e,t),go.init(e,t)}),Lte=A(`ZodISOTime`,(e,t)=>{gr.init(e,t),go.init(e,t)}),Rte=A(`ZodISODuration`,(e,t)=>{_r.init(e,t),go.init(e,t)}),zte=A(`ZodEmail`,(e,t)=>{Qn.init(e,t),go.init(e,t)}),Bte=A(`ZodGUID`,(e,t)=>{Xn.init(e,t),go.init(e,t)}),vo=A(`ZodUUID`,(e,t)=>{Zn.init(e,t),go.init(e,t)}),yo=A(`ZodURL`,(e,t)=>{or.init(e,t),go.init(e,t)});function bo(e){return Ui(yo,e)}var Vte=A(`ZodEmoji`,(e,t)=>{sr.init(e,t),go.init(e,t)}),Hte=A(`ZodNanoID`,(e,t)=>{cr.init(e,t),go.init(e,t)}),Ute=A(`ZodCUID`,(e,t)=>{lr.init(e,t),go.init(e,t)}),Wte=A(`ZodCUID2`,(e,t)=>{ur.init(e,t),go.init(e,t)}),Gte=A(`ZodULID`,(e,t)=>{dr.init(e,t),go.init(e,t)}),Kte=A(`ZodXID`,(e,t)=>{fr.init(e,t),go.init(e,t)}),qte=A(`ZodKSUID`,(e,t)=>{pr.init(e,t),go.init(e,t)}),Jte=A(`ZodIPv4`,(e,t)=>{vr.init(e,t),go.init(e,t)}),Yte=A(`ZodIPv6`,(e,t)=>{xr.init(e,t),go.init(e,t)}),Xte=A(`ZodCIDRv4`,(e,t)=>{Sr.init(e,t),go.init(e,t)}),Zte=A(`ZodCIDRv6`,(e,t)=>{wr.init(e,t),go.init(e,t)}),xo=A(`ZodBase64`,(e,t)=>{Dr.init(e,t),go.init(e,t)});function Qte(e){return Wi(xo,e)}var $te=A(`ZodBase64URL`,(e,t)=>{Ar.init(e,t),go.init(e,t)}),ene=A(`ZodE164`,(e,t)=>{jr.init(e,t),go.init(e,t)}),tne=A(`ZodJWT`,(e,t)=>{Nr.init(e,t),go.init(e,t)}),So=A(`ZodNumber`,(e,t)=>{Pr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ete(e,t,n,r),e.isFinite=!0},yt({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Oa(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Oa(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=Oa(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Oa(e).format??null},{gt(e,t){return this.check(Ji(e,t))},gte(e,t){return this.check(Yi(e,t))},min(e,t){return this.check(Yi(e,t))},lt(e,t){return this.check(Ki(e,t))},lte(e,t){return this.check(qi(e,t))},max(e,t){return this.check(qi(e,t))},int(e){return this.check(Co(e))},safe(e){return this.check(Co(e))},positive(e){return this.check(Ji(0,e))},nonnegative(e){return this.check(Yi(0,e))},negative(e){return this.check(Ki(0,e))},nonpositive(e){return this.check(qi(0,e))},multipleOf(e,t){return this.check(Xi(e,t))},step(e,t){return this.check(Xi(e,t))},finite(){return this}}));function M(e){return rte(So,e)}var nne=A(`ZodNumberFormat`,(e,t)=>{Fr.init(e,t),So.init(e,t)});function Co(e){return ite(nne,e)}var rne=A(`ZodBoolean`,(e,t)=>{Ir.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Dte(e,t,n,r)});function N(e){return ate(rne,e)}var ine=A(`ZodNull`,(e,t)=>{Lr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ote(e,t,n,r)});function ane(e){return ote(ine,e)}var wo=A(`ZodUnknown`,(e,t)=>{Rr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function To(){return ste(wo)}var Eo=A(`ZodNever`,(e,t)=>{zr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>kte(e,t,n,r)});function Do(e){return cte(Eo,e)}var Oo=A(`ZodArray`,(e,t)=>{fo(),Ur.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fte(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Qi(e,t))},nonempty(e){return this.check(Qi(1,e))},max(e,t){return this.check(Zi(e,t))},length(e,t){return this.check($i(e,t))},unwrap(){return this.element}});function P(e,t){return bte(Oo,e,t)}var ko=A(`ZodObject`,(e,t)=>{fo(),Yr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ma(e,t,n,r),Et(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return L(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(Ne(this._zod.def,{catchall:e}))},passthrough(){return this.clone(Ne(this._zod.def,{catchall:To()}))},loose(){return this.clone(Ne(this._zod.def,{catchall:To()}))},strict(){return this.clone(Ne(this._zod.def,{catchall:Do()}))},strip(){return this.clone(Ne(this._zod.def,{catchall:void 0}))},extend(e){return Qe(this,e)},safeExtend(e){return et(this,e)},merge(e){return tt(this,e)},pick(e){return Ye(this,e)},omit(e){return Ze(this,e)},partial(...e){return nt(Uo,this,e[0])},exactPartial(...e){return nt(Go,this,e[0],`exactPartial`)},required(...e){return rt($o,this,e[0])}});function F(e,t){return new ko({type:`object`,shape:e??{},...k(t)})}function I(e,t){return new ko({type:`object`,shape:e,catchall:Do(),...k(t)})}function Ao(e,t){return new ko({type:`object`,shape:e,catchall:To(),...k(t)})}var jo=A(`ZodUnion`,(e,t)=>{Zr.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.options=t.options});function Mo(e,t){return new jo({type:`union`,options:e,...k(t)})}var No=A(`ZodDiscriminatedUnion`,(e,t)=>{jo.init(e,t),$r.init(e,t)});function Po(e,t,n){return new No({type:`union`,options:t,discriminator:e,...k(n)})}var Fo=A(`ZodIntersection`,(e,t)=>{ei.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r)});function Io(e,t){return new Fo({type:`intersection`,left:e,right:t})}var Lo=A(`ZodRecord`,(e,t)=>{fo(),ri.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ra(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Ro(e,t,n){return!t||!t._zod?new Lo({type:`record`,keyType:j(),valueType:e,...k(t)}):new Lo({type:`record`,keyType:e,valueType:t,...k(n)})}var zo=A(`ZodEnum`,(e,t)=>{ii.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ate(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new zo({...t,checks:[],...k(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new zo({...t,checks:[],...k(r),entries:i})}});function L(e,t){return new zo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...k(t)})}var Bo=A(`ZodLiteral`,(e,t)=>{ai.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jte(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function R(e,t){return new Bo({type:`literal`,values:Array.isArray(e)?e:[e],...k(t)})}var Vo=A(`ZodTransform`,(e,t)=>{fo(),oi.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pte(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Pt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(ht(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(ht(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Ho(e){return new Vo({type:`transform`,transform:e})}var Uo=A(`ZodOptional`,(e,t)=>{ci.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Wo(e){return new Uo({type:`optional`,innerType:e})}var Go=A(`ZodExactOptional`,(e,t)=>{li.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ko(e){return new Go({type:`optional`,innerType:e})}var qo=A(`ZodNullable`,(e,t)=>{ui.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Jo(e){return new qo({type:`nullable`,innerType:e})}var Yo=A(`ZodDefault`,(e,t)=>{di.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Xo(e,t){return new Yo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Be(t)}})}var Zo=A(`ZodPrefault`,(e,t)=>{pi.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Wa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Qo(e,t){return new Zo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Be(t)}})}var $o=A(`ZodNonOptional`,(e,t)=>{mi.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ba(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function es(e,t){return new $o({type:`nonoptional`,innerType:e,...k(t)})}var ts=A(`ZodCatch`,(e,t)=>{_i.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ga(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ns(e,t){return new ts({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Ot(t)})}var rs=A(`ZodPipe`,(e,t)=>{vi.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ka(e,t,n,r),e.in=t.in,e.out=t.out});function is(e,t){return new rs({type:`pipe`,in:e,out:t})}var as=A(`ZodPreprocess`,(e,t)=>{rs.init(e,t),bi.init(e,t)}),os=A(`ZodReadonly`,(e,t)=>{xi.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ss(e){return new os({type:`readonly`,innerType:e})}var cs=A(`ZodTemplateLiteral`,(e,t)=>{Ti.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mte(e,t,n,r)});function ls(e,t){return new cs({type:`template_literal`,parts:e,...k(t)})}var us=A(`ZodCustom`,(e,t)=>{Ei.init(e,t),po.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Nte(e,t,n,r)});function ds(e,t={}){return xte(us,e,t)}function fs(e,t){return Ste(e,t)}function ps(e,t){return new as({type:`pipe`,in:Ho(e),out:t})}function ms(e){return Gi(_o,e)}var hs=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,gs=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,_s=/^[A-Za-z0-9_=-]+$/;function vs(e){let t=e.split(`/`);return t.length!==2||!t.every(e=>hs.test(e))?null:[t[0],t[1]]}var ys=F({attempt:M().int().positive(),limit:M().int().positive()}).refine(e=>e.attempt<=e.limit),bs={error:j().nullable().optional(),nextAttemptAt:M().finite().nonnegative().nullable().optional(),retry:ys.nullable().optional(),isRefreshing:N().optional(),refreshNotice:j().nullable().optional()},xs=F({lane:L([`my-prs`,`team-review`,`issues`])}),Ss=F({ok:N(),error:j().optional()}),Cs=j().regex(gs),ws=j().regex(RegExp(`${gs.source.slice(0,-1)}#[1-9][0-9]*$`)),Ts=F({number:M().int().positive(),url:j().url(),title:j(),state:L([`open`,`draft`,`merged`,`closed`])});F({issue:F({closedByPullRequestsReferences:F({nodes:P(F({number:Ts.shape.number,url:Ts.shape.url,title:Ts.shape.title,state:L([`OPEN`,`MERGED`,`CLOSED`]),isDraft:N()}).nullable()).max(5)})}).nullable()});var Es={key:j(),repo:Cs,number:M().int().positive(),title:j(),url:j().url(),labels:P(j()),assignees:P(j()),author:j(),comments:M().int().nonnegative(),createdAt:ms(),updatedAt:ms()},Ds=L([`project`,`me`,`team`]),Os={...Es,sources:P(Ds).nonempty().refine(e=>new Set(e).size===e.length),teams:P(Cs),projectId:j().nullable(),pullRequests:P(Ts).max(5).default([])},ks=F(Os).refine(e=>e.key===`${e.repo}#${e.number}`),As=F({...Os,sessionId:j().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),js=F({...Es,state:L([`open`,`closed`])});F({number:Es.number,title:Es.title,html_url:Es.url,state:L([`open`,`closed`]),labels:P(Mo([j(),F({name:j()})])),assignees:P(F({login:j()})),user:F({login:j()}).nullable(),comments:Es.comments,created_at:Es.createdAt,updated_at:Es.updatedAt,repository_url:j().url().optional(),pull_request:To().optional()}),F({items:P(To()),total_count:M().int().nonnegative(),incomplete_results:N()}),F({ok:N(),items:P(js),isComplete:N(),error:j()}),F({issues:P(ks),lastSyncAt:M().finite().nonnegative().nullable(),perRepoSync:Ro(Cs,F({lastSyncAt:M().finite().nonnegative().nullable(),ticks:M().int().nonnegative(),needsFullReconcile:N()})),sessionLinks:Ro(ws,j()).default({}),pullRequestsFetchedAt:Ro(ws,ms()).default({})});var Ms=F({type:R(`issues-status`),ts:M().finite(),configured:N(),reason:j().nullable(),lastSyncAt:M().finite().nonnegative().nullable(),issues:P(As),...bs}).passthrough(),Ns=/^[0-9a-f]{7,40}$/i,Ps=/^[0-9a-f]{40}$/;function Fs(e,{chars:t=7,validate:n=!1}={}){if(typeof e!=`string`||!e)return``;if(!n)return e.slice(0,t);let r=e.trim();return Ns.test(r)?r.slice(0,t).toLowerCase():``}var z=j().regex(Ps),Is=j().regex(/^[^/]+\/[^/]+$/);F({number:M().int().positive(),title:j(),html_url:j(),draft:N().optional(),created_at:j().optional(),updated_at:j().optional(),repository_url:j(),user:F({login:j(),type:L([`User`,`Bot`])}).passthrough(),pull_request:F({}).passthrough()}).passthrough(),F({number:M().int().positive(),title:j(),body:j(),url:j(),author:F({login:j(),is_bot:N().optional()}).passthrough(),isDraft:N(),isCrossRepository:N(),baseRefName:j(),baseRefOid:z,headRefName:j().optional(),headRefOid:z,additions:M().int().nonnegative(),deletions:M().int().nonnegative(),files:P(F({path:j(),additions:M().int().nonnegative(),deletions:M().int().nonnegative()}).passthrough())}).passthrough();var Ls=F({path:j(),line:M().int().positive(),side:L([`RIGHT`,`LEFT`]).default(`RIGHT`),body:j()}),Rs=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),zs=L([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),Bs=ps(e=>typeof e==`string`&&Object.hasOwn(Rs,e)?Rs[e]:e,zs),Vs=L([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Hs=Ls.extend({severity:Vs.optional()}),Us=F({path:j().min(1),line:M().int().positive().nullable(),side:L([`RIGHT`,`LEFT`]),severity:Vs,reviewer:j().min(1),disposition:L([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:j().min(1)}),Ws=F({goal:j().default(``),change:j(),checked:P(j()),gaps:P(j())});F({verdict:zs,head:z,summary:j(),assessment:Ws.nullable(),findings:P(Us)}),F({body:j(),commit_id:z,comments:P(F({path:j().min(1),line:M().int().positive(),side:L([`RIGHT`,`LEFT`]).default(`RIGHT`),body:j().min(1)}))});var Gs=L([`APPROVE`,`COMMENT`]),Ks=L([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),qs=new Set([`APPROVED`,`CHANGES_REQUESTED`]),Js=L([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Ys=L([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),Xs={requestSource:L([`direct`,`team`]).default(`team`),isDraft:N().optional(),checksState:Ys.nullable().optional()},Zs=F({login:j().min(1),state:Ks,commit:z.nullable(),isViewer:N(),submittedAt:j().nullable().optional()});function Qs(e){return e.reviewDecision!==`APPROVED`||e.requeuedHead!==void 0&&e.requeuedHead===(e.liveHead??e.reviewedHead)?!1:(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`)}var $s=F({head:z,base:z.optional(),verdict:zs,summary:j(),body:j(),comments:P(Ls),wasPosted:N()}),ec=j().min(1).max(256).regex(_s),tc=F({addressed:N(),reason:j().trim().min(1).max(4e3)}).strict(),nc=F({id:ec,path:j(),line:M().int().positive().nullable(),isResolved:N(),viewerCanResolve:N(),comments:F({pageInfo:F({hasNextPage:N(),endCursor:j().nullable().optional()}),nodes:P(F({body:j(),author:F({login:j()}).nullable(),viewerDidAuthor:N(),createdAt:j().datetime(),url:j().url(),originalCommit:F({oid:z}).nullable()}))})});F({data:F({node:F({comments:nc.shape.comments}).nullable()}).nullable()}),F({pullRequest:F({reviewThreads:F({pageInfo:F({hasNextPage:N(),endCursor:j().nullable().optional()}),nodes:P(nc)})}).nullable()}),F({data:F({resolveReviewThread:F({thread:F({id:ec,isResolved:R(!0)})})}).nullable(),errors:P(To()).optional()});var rc=F({id:ec,path:j(),line:M().int().positive().nullable(),isResolved:N(),viewerCanResolve:N(),isNit:N(),url:j().url(),viewerComment:j().max(1500).optional(),lastReplyBody:j().max(1500).optional(),viewerCommentTruncated:N().optional(),lastReplyTruncated:N().optional(),lastReplyAuthor:j(),lastReplyAt:j().datetime(),judgement:tc.extend({head:z,judgedAt:M().finite(),lastReplyAt:j().datetime()}).optional(),resolveError:j().optional(),resolveAttemptReplyAt:j().optional(),judgeAttempt:F({head:z,lastReplyAt:j(),retryAt:M().finite()}).optional(),unjudgeable:F({head:z,lastReplyAt:j(),reason:j().min(1)}).optional()});F({merge_base_commit:F({sha:z}),files:P(F({filename:j(),previous_filename:j().optional(),patch:j().optional()})).max(300)});var ic=F({total:M().int().nonnegative(),resolved:M().int().nonnegative()}),ac=F({...Xs,key:j(),repo:Is,number:M().int().positive(),title:j(),url:j(),author:j(),tier:L([`stamp`,`full`]),reasons:P(j()),reviewedHead:z,reviewedBase:z.optional(),verdict:Bs,summary:j(),assessment:Ws.optional(),body:j(),comments:P(Hs),status:L([`ready`,`stale`,`posted`,`discarded`,`error`]),error:j().optional(),threads:P(rc).optional(),viewerThreads:ic.optional(),githubReviews:P(Zs).optional(),reviewDecision:Js.nullable().optional(),liveHead:z.optional(),prCreatedAt:j().optional(),reviewedAt:M().finite().optional(),postedAt:M().finite().optional(),postedEvent:Gs.optional(),priorReviewedHead:z.optional(),requeuedHead:z.optional()});function oc(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var sc=L([`approve`,`approve-only`,`comment`,`discard`,`requeue`,`resolve-thread`]);function cc(e){return e.action===`discard`||e.head!==void 0}var lc=F({key:j().min(1),head:z.optional(),action:sc,threadId:ec.optional(),body:j(),comments:P(Ls)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(cc,{message:`only discard may omit head`,path:[`head`]}),uc=F({key:j(),ok:N(),error:j().optional(),warning:j().optional()}),dc=F({sessionId:j().min(1),workDir:j().min(1),worktreePath:j().min(1),head:z,deadlineAt:M(),remainingAwakeMs:M().nonnegative().optional(),savedAt:M()}),fc=F({...Xs,reviewDecision:Js.nullable().optional(),key:j(),repo:Is,number:M().int().positive(),title:j(),url:j(),author:j(),prCreatedAt:j().optional()}),pc=F({draft:ac.nullable(),reviewedHead:z.nullable(),inFlight:N(),skipReason:j().nullable(),handReview:fc.optional(),reviewAttempts:M().int().nonnegative().default(0),resumable:dc.nullable().optional(),reviewedAt:M().optional(),threads:P(rc).optional(),viewerThreads:ic.optional(),autoResolvedThreadIds:P(ec).optional(),githubReviews:P(Zs).optional(),reviewDecision:Js.nullable().optional(),liveHead:z.optional(),requeuedHead:z.optional(),priorReview:$s.optional(),discardedReviewHead:z.optional(),updatedAt:M().finite()});Ro(j(),pc);var mc=L([`preparing`,`checkout`,`reviewing`]),hc=F({at:M().finite(),tool:j(),detail:j()}),gc=F({...Xs,reviewDecision:Js.nullable().optional(),key:j(),repo:Is,number:M().int().positive(),title:j(),url:j(),author:j(),tier:L([`stamp`,`full`]),reasons:P(j()),head:z,phase:mc,startedAt:M().finite(),deadlineAt:M().finite().nullable(),toolCalls:M().int().nonnegative(),recentSteps:P(hc),prCreatedAt:j().optional(),priorReviewedHead:z.optional()}),_c=F({...bs,type:R(`team-review-status`),ts:M().finite(),configured:N(),reason:j().nullable().optional(),drafts:P(ac),inFlight:P(gc),queued:P(fc).default([]),handReview:P(fc).default([]),team:F({org:j(),slug:j(),name:j(),avatarUrl:j()}).nullable().optional()}).passthrough(),one=L([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),vc=M().int().nonnegative(),yc=j().regex(gs),bc=ls([yc,`#`,j().regex(/^[1-9][0-9]*$/)]),sne=ls([bc,`@`,z]),xc=j().refine(e=>bc.safeParse(e).success),Sc=j().refine(e=>sne.safeParse(e).success);Po(`outcome`,[I({outcome:R(`pushed`)}),I({outcome:L([`no-change`,`failed`,`stopped`,`timed-out`]),reason:j().min(1)})]);var Cc=I({outcome:L([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:j().min(1).optional(),at:M().finite()}),cne=Cc.extend({key:xc,headRefOid:z,baseRefOid:z,consecutiveAttempts:M().int().min(1).optional()});I({keepMergeableKeys:P(xc),keepMergeableAttemptKeys:P(Sc),keepMergeableAttempts:P(cne).default([]),mergeQueueKeys:P(xc).default([]),keepMergeablePushedHeadKeys:P(Sc).default([])});var wc=I({repo:yc,number:M().int().positive(),url:bo(),source:L([`hook`,`sha`,`manual`]),linkedAt:M().finite()}),Tc=I({links:P(wc).max(20),unlinkedKeys:P(xc).default([])}),lne=F({repo:yc,number:M().int().positive(),keepMergeable:N()}),Ec=F({key:j(),ok:N(),error:j().optional()}),une=Ec,dne=F({repo:yc,number:M().int().positive(),mergeWhenReady:N()}),fne=Ec,Dc=L([`MERGE`,`SQUASH`,`REBASE`]),pne=F({path:j(),line:M().int().positive().nullable(),isOutdated:N(),url:bo(),author:j().nullable(),excerpt:j(),commentCount:M().int().positive(),lastAuthor:j().nullable(),lastActivityAt:j()}),mne=F({reviewer:j().nullable(),state:j(),submittedAt:j().nullable()}),hne=F({outcome:L([`rebased`,`failed`]),at:M().finite(),message:j()}),gne=F({at:M().finite(),message:j()}),_ne=F({key:j(),repo:yc,number:M().int().positive(),title:j(),url:bo(),isDraft:N(),state:L([`OPEN`,`MERGED`,`CLOSED`]),createdAt:j(),mergedAt:j().nullable(),updatedAt:j(),baseRefName:j(),baseRefOid:z,headRefName:j().min(1),isCrossRepository:N(),headRefOid:z,isInMergeQueue:N(),mergeMethod:Dc,mergeable:L([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:j(),reviewDecision:L([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:F({state:L([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:P(j()),pendingCount:vc}),unresolvedThreads:vc,threads:P(pne),behindBy:vc.nullable(),reviewRequests:P(F({name:j(),isTeam:N(),avatarUrl:j().nullable()})),approvals:vc,reviews:P(mne),stage:one,autoRebase:hne.optional(),keepMergeable:N().optional(),keepMergeableAttempt:Cc.optional(),isKeepMergeableFixInFlight:N().optional(),mergeQueuePosition:M().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:N().optional(),mergeQueueFailure:gne.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),Oc=F({...bs,type:R(`my-prs-status`),ts:M().finite(),configured:N(),reason:j().nullable().optional(),viewer:j().nullable(),prs:P(_ne),truncatedNote:j().nullable().optional(),isKeepMergeableEnabled:N().optional(),isMergeQueueEnabled:N().optional()}).passthrough(),vne=F({repo:yc,number:M().int().positive(),headRefOid:z}),yne=L([`merged`,`queued`,`auto-merge`,`unconfirmed`]),kc=F({key:j(),ok:N(),kind:yne.optional(),error:j().optional()}),bne=F({__typename:R(`CheckRun`),name:j(),conclusion:j().nullable(),status:j()}),xne=F({__typename:R(`StatusContext`),context:j(),state:j()}),Sne=F({__typename:R(`PullRequest`),id:j().regex(_s),number:M().int().positive(),title:j(),url:bo(),isDraft:N(),state:L([`OPEN`,`MERGED`,`CLOSED`]),createdAt:j(),mergedAt:j().nullable(),updatedAt:j(),baseRefName:j(),baseRefOid:z,headRefName:j().min(1),isCrossRepository:N(),headRefOid:z,isInMergeQueue:N(),mergeable:L([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:j(),reviewDecision:L([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:F({nameWithOwner:yc,viewerDefaultMergeMethod:Dc}),commits:F({nodes:P(F({commit:F({statusCheckRollup:F({state:L([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:F({nodes:P(Mo([bne,xne]))})}).nullable()})}))}),reviewThreads:F({pageInfo:F({hasNextPage:N()}),nodes:P(F({isResolved:N()}))}),reviewRequests:F({nodes:P(F({requestedReviewer:Po(`__typename`,[F({__typename:R(`User`),login:j()}),F({__typename:R(`Team`),slug:j(),avatarUrl:j().nullable(),organization:F({login:j()})}),F({__typename:L([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:F({nodes:P(F({state:j()}))}),latestReviews:F({nodes:P(F({state:j(),submittedAt:j().nullable(),author:F({login:j()}).nullable()}))})}),Ac=F({login:j()}).nullable();F({isResolved:N(),isOutdated:N(),path:j(),line:M().int().positive().nullable(),firstComment:F({totalCount:vc,nodes:P(F({author:Ac,bodyText:j(),url:bo(),createdAt:j()}))}),lastComment:F({nodes:P(F({author:Ac,createdAt:j()}))})}),F({data:F({repository:F({pullRequest:F({reviewThreads:F({pageInfo:F({hasNextPage:N(),endCursor:j().nullable()}),nodes:P(To())})}).nullable()}).nullable()}),errors:P(To()).optional()}),F({data:F({repository:F({pullRequest:F({state:j(),isInMergeQueue:N(),autoMergeRequest:F({enabledAt:j().nullable()}).nullable()}).nullable()}).nullable()}),errors:P(To()).optional()}),F({data:F({open:F({issueCount:vc,nodes:P(To())}),merged:F({issueCount:vc,nodes:P(To())})}),errors:P(To()).optional()});var Cne=/[\x00-\x1f\x7f-\x9f]/,jc=j().refine(e=>!Cne.test(e)).trim().max(120);F({title:j().nullable()}).strict();var Mc=L(a),Nc=F({at:M().finite().nullable(),kind:j(),reason:j().nullable()}).passthrough(),Pc=F({requestId:Mo([j().min(1).max(128),M().int()]),kind:L([`command`,`fileChange`,`permissions`]),summary:j().max(300),isSummaryTruncated:N()}),wne=L([`accept`,`acceptForSession`,`decline`]),Fc=F({id:j(),name:j(),taskTitle:jc.nullable().default(null),taskTitleIsCustom:N().default(!1),path:j(),agent:j(),state:Mc,stateSince:M(),sleeping:N(),dangerouslySkipPermissions:N(),saneYolo:N().default(!1),ephemeral:N(),isWorktree:N(),isWorkspace:N().default(!1),resumeSessionId:j().nullable(),activeAgents:M().int().nonnegative(),awaitingBackgroundTasks:N(),isCompacting:N().default(!1),pendingWakeup:Nc.nullable(),pendingPromptKind:j().nullable(),conversationApproval:Pc.nullable().default(null),hasConversationBridge:N().default(!1),isConversationViewOn:N().default(!1),hasPlan:N().default(!1),mergeStatus:j().nullable(),mergeReason:j().nullable(),worktreeNotice:j().nullable(),effectiveBase:j().nullable(),linkedPrs:P(wc).default([]),auditLog:P(To())}).passthrough();F({namespace:R(`git`,{error:`namespace must be git`}),publicKey:j({error:`publicKey must be a string`}).min(1,{error:`publicKey must not be empty`}).max(16384,{error:`publicKey must be at most 16384 characters`}),payload:Qte({error:`payload must be base64`})}).strict(),Mo([F({ok:R(!0),signature:j()}).strict(),F({ok:R(!1),error:j()}).strict()]),F({prompt:j({error:`prompt must be a string`}).min(1,{error:`prompt must not be empty`}).max(2e4,{error:`prompt must be at most 20000 characters`}).refine(e=>!e.trimStart().startsWith(`-`),{message:`prompt must not start with a dash, which the agent CLI would read as an option`}),name:j({error:`name must be a string`}).min(1,{error:`name must not be empty`}).max(200,{error:`name must be at most 200 characters`}).optional(),agent:j({error:`agent must be a string`}).min(1,{error:`agent must not be empty`}).max(40,{error:`agent must be at most 40 characters`}).optional()}).strict(),F({note:j({error:`note must be a string`}).min(1,{error:`note must not be empty`}).max(500,{error:`note must be at most 500 characters`})}).strict(),Mo([F({ok:R(!0),pending:N()}).strict(),F({ok:R(!1),error:j()}).strict()]),F({id:Fc.shape.id,name:Fc.shape.name,agent:Fc.shape.agent,state:Fc.shape.state,ephemeral:Fc.shape.ephemeral}).strict();var Ic=4096;F({path:j({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(Ic,{error:`path must be at most ${Ic} characters`})}).strict();var Lc=F({path:j(),name:j(),surfacedAt:M().finite()}).strict();F({commands:P(F({name:L([`push`,`spawn`,`attention`,`board`,`edit`]),answers:N(),reason:j().optional()}).strict()),sandboxed:N(),deadEnds:P(F({blocked:j(),route:j()}).strict())}).strict().extend({ok:R(!0)}).strict(),F({workId:j().regex(/^wrk-[0-9a-f]{16}$/).optional(),readyIntent:j().regex(/^wrk-[0-9a-f]{16}$/).optional()}).strict().refine(e=>!!e.workId!=!!e.readyIntent,`Expected exactly one work id or ready intent`),F({workId:j({error:`workId must be a string`}).regex(/^wrk-[0-9a-f]{16}$/,{error:`workId must match wrk-[0-9a-f]{16}`})}).strict(),Po(`ok`,[F({ok:R(!0),workId:j(),state:L([`open`,`cancelled`])}),F({ok:R(!1),reason:j()})]);var Rc=L([`low`,`medium`,`high`,`critical`]),zc=L([`open`,`active`,`blocked`,`completed`,`cancelled`]),Bc=L([`ready`,`waiting`,`active`,`blocked`,`done`]),Tne=Ao({total:M().int().nonnegative(),roots:M().int().nonnegative(),dependencies:M().int().nonnegative(),states:Ao({open:M().int().nonnegative(),active:M().int().nonnegative(),blocked:M().int().nonnegative(),completed:M().int().nonnegative(),cancelled:M().int().nonnegative()}),readiness:Ao({ready:M().int().nonnegative(),waiting:M().int().nonnegative(),active:M().int().nonnegative(),blocked:M().int().nonnegative(),done:M().int().nonnegative()}),risks:Ao({low:M().int().nonnegative(),medium:M().int().nonnegative(),high:M().int().nonnegative(),critical:M().int().nonnegative()}),graphProblems:M().int().nonnegative(),scopeOverlaps:M().int().nonnegative(),scopeConflicts:M().int().nonnegative(),orphans:M().int().nonnegative(),unsynthesizedChildren:M().int().nonnegative()}),Ene=Ao({action:L([`steady`,`dispatch`,`continue`,`verify`,`synthesize`,`unblock`,`resolve-conflict`,`repair-navigation`,`refuse`]),reasons:P(j()),sources:P(Ao({name:j(),ok:N(),detail:j()})),work:Ao({stats:Tne,ready:P(j()),active:P(j()),blocked:P(j()),completed:P(j()),conflicts:P(Ao({left:j(),right:j(),scope:j()})),unsynthesized:P(To())}).nullable(),consequences:Ao({unverifiedCompletedWork:P(j())}).nullable(),verification:Ao({state:j()}).nullable()});Ao({work:P(Ao({work:j(),state:zc,readiness:Bc,owner:Ao({session:j(),agent:j()}),last:Ao({event:j(),at:j(),session:j()}).nullable(),opened:Ao({at:ms(),objective:j(),authority:Ao({boundary:j()}),criteria:P(j()),risk:Rc,parent:j().nullable(),dependsOn:P(j()),readScopes:P(j()),writeScopes:P(j())})})),scopeConflicts:P(Ao({left:j(),right:j(),leftScope:j(),rightScope:j(),status:j()}))}),Ao({version:R(1),event:R(`opened`),at:ms(),session:R(`glimmervoid-factory`),work:j().regex(/^wrk-[a-f0-9]{16}$/),id:j().regex(/^wev-[a-f0-9]{16}$/),parent:ane(),objective:j(),criteria:P(j()),risk:Rc,state:R(`open`),authority:F({kind:R(`user-directed`),grantedBy:R(`operator`),boundary:j()}),writeScopes:P(j())}).extend({parent:j().regex(/^wrk-[a-f0-9]{16}$/)}),Ao({records:P(Ao({from:F({kind:j(),id:j()}),relation:j(),to:F({kind:j(),id:j()}),session:j().optional(),evidence:j().optional()}))});var Dne=F({projectId:j(),projectName:j(),headSha:j().nullable(),paused:N(),orchestrator:F({sessionId:j(),intentId:j(),state:Mc}).nullable(),liveWorkers:P(F({workId:j(),sessionId:j()})).optional(),reviewing:P(j()).optional(),note:j().nullable().optional(),spentTodayUsd:M().finite().nonnegative().optional(),dailyBudgetUsd:M().finite().nonnegative().nullable().optional(),verifierIntentIds:P(j()).optional(),error:j().nullable(),heading:F({action:Ene.shape.action,reasons:P(j())}),orders:P(F({id:j(),objective:j(),openedAt:ms(),criteria:P(j()),boundary:j(),risk:Rc,state:zc,readiness:Bc,parent:j().nullable(),dependsOn:P(j()),writeScopes:P(j()),owner:j().nullable(),lastEvent:F({event:j(),at:j(),session:j()}).nullable()})),conflicts:P(F({left:j(),right:j(),scope:j()})),unverifiedCompletedWork:P(j()),observedRun:F({recordDirectory:j(),outcome:j().nullable()}).optional()}),Vc=F({type:R(`factory-state`),ts:M().finite(),projects:P(Dne)});F({arrivedAt:j(),state:Vc}),Ao({outcome:L([`pass`,`fail`]),failureClass:j().nullable().optional()});var Hc=16384;function One(e){return e!==`.`&&e!==`..`&&!/[/\\]/.test(e)}var Uc=j().trim().min(1).max(128).refine(One,`Invalid factory project id`),Wc=j().trim().min(1).max(4096),Gc=j().trim().min(1).max(1024),Kc=32,qc=j().trim().min(1).max(64),Jc=[`**/package.json`,`**/package-lock.json`,`**/npm-shrinkwrap.json`,`**/yarn.lock`,`**/pnpm-lock.yaml`,`**/bun.lock`,`**/bun.lockb`,`**/.npmrc`,`**/.yarnrc`,`**/.yarnrc.yml`,`**/pnpm-workspace.yaml`,`**/.pnpmfile.cjs`,`**/tsconfig*.json`,`**/biome.json`,`**/biome.jsonc`,`**/vite.config.*`,`**/vitest.config.*`,`**/vitest.workspace.*`,`**/jest.config.*`,`**/.mocharc*`,`**/playwright.config.*`],Yc=P(L(Jc)).max(Jc.length),Xc=F({id:qc,objective:Wc,criteria:P(Wc).min(1).max(12),dependsOn:P(qc).max(Kc),writeScopes:P(Gc).min(1).max(32)}),Zc=F({projectId:Uc,objective:Wc,criteria:P(Wc).min(1).max(12),risk:Rc,boundary:Wc,writeScopes:P(Gc).max(32),tickets:P(Xc).min(1).max(Kc).optional(),floorAllowances:Yc.optional()}),kne=F({projectId:j().max(128),ok:N(),workId:j().min(1).max(128).optional(),error:j().max(Hc).optional()}),Qc=F({projectId:Uc,action:L([`pause`,`resume`])}),Ane=F({projectId:j().max(128),action:Qc.shape.action,ok:N(),error:j().max(Hc).optional()}),jne=F({pass:N(),findings:P(j())}).strict();F({type:R(`result`),subtype:R(`success`),is_error:R(!1),structured_output:jne});var $c=F({id:j().min(1).max(1024),path:j().min(1).max(4096),line:j().min(1).regex(/^[^\n]*$/)});F({ledgerPath:j().min(1).max(4096).nullable(),ledgerBranch:j().min(1).max(1024).nullable(),paused:N(),trustedVerifications:P(F({id:j().min(1),sha:j().regex(/^[a-f0-9]{40,64}$/)})).optional(),trustedIntentCloses:P(j().min(1)).optional(),pendingVerifierTrusts:P(F({intentId:j().min(1),sha:j().regex(/^[a-f0-9]{40,64}$/),records:P($c).min(1)})).optional(),trustedIntentIds:P(j().min(1)).optional(),intentWriteScopes:Ro(j().min(1),P(j().min(1))).optional(),intentFloorAllowances:Ro(j().min(1),Yc).optional(),ticketedIntentIds:P(j().min(1)).optional(),pendingIntentTickets:Ro(j().min(1),F({risk:Rc,boundary:Wc,tickets:P(Xc).min(1).max(Kc)})).optional(),intentBaseShas:Ro(j().min(1),j().regex(/^[a-f0-9]{40,64}$/)).optional(),factoryLandedShas:P(j().regex(/^[a-f0-9]{40,64}$/)).optional(),unlandedFactoryRecords:P($c).optional(),ticketBlockCounts:Ro(j().min(1),M().int().nonnegative()).optional(),intentCapCancelCounts:Ro(j().min(1),M().int().nonnegative()).optional()}),F({workId:j().min(1),event:j().min(1),sessionId:j().optional(),detail:j().optional()}),Po(`ok`,[F({ok:R(!0),sessionId:j()}),F({ok:R(!1),reason:j()})]);var el=2e4,tl=4e3,nl=524288,Mne=1e4,Nne=`ExitPlanMode`,Pne=4096,Fne=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function Ine(e){let t=e.trimEnd(),n=t.length;for(;n>0&&t[n-1]===`#`;)n--;if(n===t.length||n===0)return t;let r=t[n-1];return r!==` `&&r!==` `?t:t.slice(0,n).trimEnd()}function Lne(e,{overlongLine:t}){if(t===`reject`&&e.length>4096)return null;let n=Fne.exec(e.slice(0,Pne));return n?{level:n[1].length,text:Ine(n[2])}:null}var Rne=F({plan:j().min(1),planFilePath:j().min(1),agent_id:j().min(1).optional(),agent_type:j().min(1).optional()}).passthrough();F({tool_name:R(Nne),tool_input:Rne,agent_id:j().min(1).optional(),agent_type:j().min(1).optional()}).passthrough(),F({plan:j(),planFilePath:j(),agentId:j().nullable(),agentType:j().nullable()}).extend({sessionId:j().min(1),revision:M().int().positive(),receivedAt:M().finite()});var rl=L(Object.freeze([`open`,`released`,`decided`,`closed`])),il=L(Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`])),al=F({heading:j().max(tl).nullable(),comment:j().min(1).max(tl)}),ol=F({id:j().min(1),agentId:j().nullable(),revision:M().int().positive(),decision:il,feedback:j().max(el).optional(),comments:P(al).max(40).optional(),plan:j().min(1).max(nl).optional()}),sl=F({revision:M().int().positive(),receivedAt:M().finite(),chars:M().int().nonnegative(),title:j()}),cl=F({revision:M().int().positive(),since:M().finite()}),ll=F({agentId:j().nullable(),agentType:j().nullable(),revisions:P(sl),state:rl,openRevision:cl.nullable(),approvedRevision:M().int().positive().nullable(),lastDecision:il.nullable()});F({reviews:P(ll)});var ul=F({agentId:j().nullable(),revision:M().int().nonnegative(),plan:j(),planFilePath:j(),receivedAt:M().finite()}),dl=F({id:j(),agentId:j().nullable(),agentType:j().nullable(),revision:M().int().positive(),receivedAt:M().finite(),state:rl,lastDecision:il.nullable(),approvedRevision:M().int().positive().nullable(),chars:M().int().nonnegative(),title:j(),hasPlan:N()}),fl=F({id:j(),agentId:j().nullable(),planFilePath:j(),changedAt:M().finite()}),pl=F({id:j(),reviews:P(ll),body:ul.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var ml=j().min(1),hl=j().min(1),gl=M().int().nonnegative(),_l=P(hl).max(20),vl=L([`added`,`modified`,`deleted`,`renamed`,`untracked`]),yl=I({factId:ml,path:hl,previousPath:hl.optional(),status:vl,isCommitted:N()}),bl=I({factId:ml,agentsPath:hl,title:j(),paths:P(hl).min(1)}),xl=I({factId:ml,path:hl,partner:hl,support:gl,confidence:M().min(0).max(1)}),Sl=I({factId:ml,path:hl,commitCount:gl,fixCommitCount:gl}),Cl=I({factId:ml,path:hl,directDependents:_l,directDependentCount:gl,transitiveDependentCount:gl,dependentTests:_l,dependentTestCount:gl}),wl=I({factId:ml,path:hl}),Tl=I({factId:ml,path:hl,otherSessionId:j().min(1),otherSessionName:j()}),El=I({factId:ml,providerRepo:j().min(1),packageName:j().min(1),packageDir:j(),consumerManifest:hl,versionSpec:j(),isLocalLink:N(),providerChangedPathCount:gl,importers:_l,importerCount:gl,changedImporterCount:gl}),Dl=I({name:j().min(1),root:j().min(1),sessionPathPrefix:j(),base:j().nullable(),files:P(yl),subsystems:P(bl),coChangeGaps:P(xl),hotspots:P(Sl),blastRadius:P(Cl),untestedFiles:P(wl),collisions:P(Tl),links:P(El),error:j().nullable()}),Ol=I({text:j().min(1).max(600),factIds:P(ml).min(1)}),kl=I({factsHash:j().min(1),model:j().nullable(),claims:P(Ol).max(12)}),Al=L([`disabled`,`pending`,`ready`,`failed`]),jl=I({sessionId:j().min(1),sig:j().nullable(),generatedAt:M().finite(),repos:P(Dl),narrative:kl.nullable(),narratorState:Al,error:j().min(1).optional()}),Ml=4e3,Nl=F({ts:M().finite(),uuid:j().nullable(),parentUuid:j().nullable(),vendorSessionId:j().min(1),agentId:j().min(1).optional(),agentType:j().min(1).optional(),transcriptOffset:M().int().nonnegative().optional(),truncated:N().optional()}),Pl=Po(`kind`,[Nl.extend({kind:R(`prompt`),text:j()}),Nl.extend({kind:R(`expansion`),text:j(),toolUseId:j().min(1).optional()}),Nl.extend({kind:R(`thinking`),text:j()}),Nl.extend({kind:R(`assistant`),text:j()}),Nl.extend({kind:R(`tool_call`),toolUseId:j().min(1),name:j().min(1),input:To()}),Nl.extend({kind:R(`tool_result`),toolUseId:j().min(1),content:j(),isError:N(),truncated:N()}),Nl.extend({kind:R(`session`),vendor:j().min(1),transcriptPath:j().min(1),reason:j().min(1).optional()}),Nl.extend({kind:R(`notice`),text:j().max(Ml)}),Nl.extend({kind:R(`raw`),line:j().max(Ml)})]);F({transcriptPath:j().min(1),vendorSessionId:j().min(1),offset:M().int().nonnegative(),ingestedSubagentPaths:P(j().min(1)),offsetByTranscriptPath:Ro(j().min(1),M().int().nonnegative()).default({}),subagentOffsetByPath:Ro(j().min(1),M().int().nonnegative()).default({})});var Fl=L([`release`,`main`]),Il=L([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),Ll=L([`fetch`,`stage`,`install`,`link-deps`,`build`]),Rl=F({id:Ll,status:L([`pending`,`running`,`succeeded`,`failed`]),startedAt:M().finite().nullable(),finishedAt:M().finite().nullable(),outputTail:P(j())}).strict(),zl=F({state:Il,fromSha:j().nullable(),toSha:j().nullable(),toVersion:j().nullable(),channel:Fl,steps:P(Rl),activeStep:Ll.nullable(),reason:j().nullable(),startedAt:M().finite().nullable(),finishedAt:M().finite().nullable(),failedAtHandOff:N().optional()}).strict(),Bl=zl.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Vl=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Hl=/^[A-Za-z_][A-Za-z0-9_]*$/,Ul=j().regex(/^[^/\s]+\/[^/\s]+$/),Wl=M().finite(),Gl=j().min(1),Kl=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),ql=j().regex(Vl);function Jl(e){return new Set(e.map(e=>e.id)).size===e.length}var Yl=Po(`kind`,[I({kind:R(`manual`)}),I({kind:R(`github-merged-prs`),repo:Ul,minBodies:M().int().min(1),limit:M().int().min(1).max(500)})]),Xl=Po(`kind`,[I({kind:R(`none`)}),I({kind:R(`pr-checkout`)})]),Zl=I({promptTemplate:Gl,output:L([`review-findings`,`json`]),timeoutSeconds:M().int().min(30).max(14400)}),Ql=I({id:ql,env:Ro(j().regex(Hl),j()).refine(e=>Kl.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Kl.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:P(j()).optional(),setup:I({command:P(Gl).min(1)}).optional()}),$l=Po(`kind`,[I({kind:R(`llm-judge-match`),model:Gl})]);I({id:ql,title:Gl,caseSource:Yl,workspace:Xl,subject:Zl,arms:P(Ql).min(2).refine(Jl,{message:`arm ids must be unique`}),baselineArm:ql,trials:M().int().min(1).max(20),scorer:$l}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var eu=I({id:ql,text:Gl,tags:P(ql),path:Gl.optional(),line:M().int().positive().optional()}),tu=Po(`kind`,[I({kind:R(`manual`)}),I({kind:R(`github-pr`),repo:Ul,number:M().int().positive(),url:Gl,minedAt:Wl})]);I({id:ql,input:Ro(j(),To()),references:P(eu).min(1).refine(Jl,{message:`reference ids must be unique`}),source:tu}),F({repo:Ul,number:M().int().positive(),reviewedSha:z,baseSha:z,changedFiles:P(Gl)});var nu=I({referenceId:ql,verdict:L([`found`,`partial`,`missed`]),findingIndexes:P(M().int().nonnegative())}),ru=L([`scored`,`invalid`,`error`]),iu=I({caseId:ql,armId:ql,trial:M().int().min(1),status:ru,startedAt:Wl,finishedAt:Wl,degradedReasons:P(Gl),findingCount:M().int().nonnegative(),judgements:P(nu),costUsd:M().finite().nonnegative().nullable(),error:Gl.nullable()}),au=L([`running`,`completed`,`interrupted`,`failed`]);I({id:ql,suiteId:ql,status:au,startedAt:Wl,finishedAt:Wl.nullable(),error:Gl.nullable(),cells:P(iu)});var ou=M().min(0).max(1).nullable(),su=I({trials:M().int().nonnegative(),recall:ou,recallByTag:Ro(ql,ou),degraded:M().int().nonnegative(),invalid:M().int().nonnegative(),costUsd:M().finite().nonnegative().nullable()}),cu=I({caseId:ql,arms:Ro(ql,su),deltaVsBaseline:Ro(ql,M().min(-1).max(1).nullable())}),lu=I({runId:ql,suiteId:ql,status:au,baselineArm:ql,armIds:P(ql),rows:P(cu),totals:Ro(ql,su)}),uu=L([`mine`,`run`,`cancel`]),du=F({suiteId:ql,action:uu}),fu=F({suiteId:ql,action:uu,ok:N(),error:j().optional(),runId:ql.optional()}),pu=L([`setup`,`preflight`,`workspace`,`subject`,`judge`]),mu=F({suiteId:ql,runId:ql,caseId:ql.nullable(),armId:ql,trial:M().int().min(1),phase:pu,cellIndex:M().int().nonnegative(),cellCount:M().int().positive(),startedAt:Wl}),hu=F({id:ql,title:j(),error:j().nullable(),caseCount:M().int().nonnegative(),candidateCount:M().int().nonnegative(),armIds:P(ql),baselineArm:ql.nullable(),latestReport:lu.nullable()}),gu=F({type:R(`benchmark-status`),ts:Wl,configured:N(),reason:j().nullable(),suites:P(hu),inFlight:mu.nullable()}).passthrough(),_u=F({__typename:j(),login:j()}).nullable();F({number:M().int().positive(),title:j(),url:Gl,mergedAt:j().nullable(),reviewThreads:F({totalCount:M().int().nonnegative()}),reviews:F({totalCount:M().int().nonnegative()})});var vu=F({path:j(),line:M().int().positive().nullable(),originalLine:M().int().positive().nullable(),comments:F({nodes:P(F({databaseId:M().int().positive(),author:_u,body:j(),createdAt:j(),originalCommit:F({oid:z}).nullable()}))})}),yu=F({databaseId:M().int().positive(),author:_u,body:j(),submittedAt:j().nullable(),commit:F({oid:z}).nullable()}),bu=Po(`__typename`,[F({__typename:R(`BaseRefChangedEvent`),createdAt:j()}),F({__typename:R(`BaseRefForcePushedEvent`),createdAt:j(),beforeCommit:F({oid:z}).nullable()})]);F({author:_u,baseRefOid:z,reviewThreads:F({pageInfo:F({hasNextPage:N()}),nodes:P(vu)}),reviews:F({pageInfo:F({hasNextPage:N()}),nodes:P(yu)}),timelineItems:F({pageInfo:F({hasNextPage:N()}),nodes:P(bu)})}),F({mergeBaseSha:z,changedFiles:P(Gl),isFileListComplete:N()});var B=j().nullable().optional(),V=j(),xu=Tc.shape.unlinkedKeys.unwrap().element,Su=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function Cu(e){let t=e.trim(),n=Su.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=xu.safeParse(r);return i.success?i.data:null}function H(e,t){return Ao({type:R(e),...t})}function wu(e={}){return Ao(e)}var Tu=j().nullable(),Eu=M().finite(),Du=Eu.optional(),Ou=Tu.optional(),ku=wu(),Au=P(To()),ju=M().int().positive(),Mu=j().min(1).max(Ic),Nu=P(wu({at:Eu,tool:j(),detail:j()}));F({id:j(),label:j(),command:j(),args:P(j()),resolvable:N().nullable()}).strict();var Pu=F({id:V,session:j(),taskTitle:jc.nullable().optional(),taskTitleIsCustom:N().optional(),path:j(),agent:j(),state:Mc,stateSince:Eu,skipPerms:N(),saneYolo:N(),worktree:N(),workspace:N().optional(),resumeSessionId:Tu,ephemeral:N().optional(),linkedPrs:P(wc).optional()}),Fu=1e3,Iu=RegExp(`^[^\0--]+$`),Lu=I({section:L([`committed`,`uncommitted`]),path:j().min(1).max(400).regex(Iu),line:M().int().positive(),side:L([`old`,`new`]),note:j().min(1).max(Fu)}),Ru=4096,zu=Ru+2*(nl+el+80*tl),Bu=F({reason:j(),message:j()}),Vu=L([`npm-global`,`npx`,`clone`,`unknown`]),Hu={updateAvailable:N(),current:Tu,latest:Tu,currentSha:Tu,latestSha:Tu,releaseUrl:Tu,command:j(),flavor:Vu,platform:j(),installedBranch:Tu,upstream:Tu,isTreeClean:N().nullable(),lastCheckAt:Eu,channel:Fl,behindCount:M().int().nonnegative().nullable(),reason:Tu,journalSummary:Bl.nullable(),applyRefusal:Bu.nullable()};F(Hu);var Uu=8192,Wu=F({name:j().max(128),stack:j().max(Uu)}).strict(),Gu=[`remove-session`,`kill`,`start-session`,`restart`,`force-restart`,`sleep`,`wake`,`merge-session`,`finish-session`,`merge-continue-session`,`discard-session-worktree`,`resolve-session-merge`,`request-session-diff`,`request-change-map`,`request-branch-sync`,`resync-branch`,`debug-state`];function Ku(e){return H(e,{id:V,force:To().optional()})}var qu=Gu.map(Ku);Po(`type`,[H(`add-session`,{name:j(),path:j(),repos:P(j()).optional(),agent:j().optional(),dangerouslySkipPermissions:N().optional(),unguarded:N().optional()}),H(`list-conversations`,{id:V,requestId:B}),H(`resume-conversation`,{id:V,conversationId:j()}),H(`rename-session`,{id:V,newName:j()}),H(`get-workspace-repos`,{id:V,requestId:B}),H(`set-workspace-repos`,{id:V,repos:P(j()),requestId:B}),H(`set-session-title`,{id:V,title:jc}),H(`link-session-pr`,{id:V,key:xu}),H(`unlink-session-pr`,{id:V,key:xu}),H(`reorder-sessions`,{order:P(V)}),H(`ping`,{requestId:B}),H(`get-settings`,{requestId:B}),H(`update-settings`,{settings:Ro(j(),To()),requestId:B}),H(`scan-repo-roots`,{requestId:B}),H(`list-agents`,{requestId:B}),H(`get-radar-report`,{issueId:Mo([j(),M()]),requestId:B}),H(`radar-open-session`,{projectId:Mo([j(),M()]),issueId:Mo([j(),M()]),requestId:B}),H(`issue-detail`,{requestId:j().min(1),repo:Cs,issueNumber:M().int().positive()}),H(`open-issue-session`,{requestId:B,projectId:j(),repo:Cs,issueNumber:M().int().positive()}),H(`radar-issue-action`,{projectId:Mo([j(),M()]),issueId:Mo([j(),M()]),action:j(),requestId:B}),H(`open-team-review-session`,{requestId:B,key:xu}),H(`team-review-action`,{...lc.shape,requestId:B}).refine(cc,{message:`only discard may omit head`,path:[`head`]}),H(`factory-queue-intent`,{...Zc.shape,requestId:B}),H(`factory-control`,{...Qc.shape,requestId:B}),H(`benchmark-action`,{...du.shape,requestId:B}),H(`my-pr-merge`,{...vne.shape,requestId:B}),H(`my-pr-keep-mergeable`,{...lne.shape,requestId:B}),H(`my-pr-merge-when-ready`,{...dne.shape,requestId:B}),H(`github-polling-refresh`,{...xs.shape,requestId:B}),H(`radar-archive-investigation`,{id:To().optional(),requestId:B}),H(`request-usage-report`,{requestId:B,days:To().optional(),force:To().optional()}),H(`request-hooks-report`,{requestId:B}),H(`send-diff-annotations`,{id:V,annotations:P(Lu).min(1).max(50),requestId:B}),H(`save-hook`,{hook:Ro(j(),To()),requestId:B}),H(`delete-hook`,{id:j(),requestId:B}),H(`shutdown`),H(`restart-server`),H(`focus-change`,{focused:N()}),H(`request-health-snapshot`),H(`update-check`),H(`update-apply`,{restartWhenStaged:N().optional(),confirmedSessionIds:P(j().min(1)).max(1e3).optional()}),H(`session-trace`,{id:V,requestId:B,after:M().int().nonnegative().default(0),endingAt:Mo([M().int().nonnegative(),R(`tail`)]).optional()}),H(`session-plan`,{id:V,agentId:Tu,revision:ju.optional(),draft:N().optional()}),H(`plan-decision`,ol.shape),H(`set-session-conversation-view`,{id:V,isOn:N()}),H(`conversation-approval`,{id:V,requestId:Pc.shape.requestId,decision:wne}),H(`session-doc-read`,{id:V,path:Mu,requestId:B}),H(`session-doc-save`,{id:V,path:Mu,text:j(),baseHash:j().min(1),requestId:B}),H(`client-error`,Wu.shape),H(`dismiss`,{id:V,force:To().optional(),expectedState:Mc.optional()}),...qu]),Object.freeze(`snapshot.hooks-report.save-hook-result.delete-hook-result.workspace-repos.set-workspace-repos-result.hooks-updated.state-change.session-added.session-removed.session-renamed.session-title.session-prs.session-modified.session-git.session-agents.session-wakeup.session-prompt.session-conversation.session-sleep.session-wake.session-merge-status.session-worktree-blocked.session-worktree-warning.session-worktree-ready.session-diff.session-diff-error.change-map.send-diff-annotations-result.branch-sync-status.session-changed.post-turn-result.debug-state-response.session-trace-response.session-trace-changed.session-plan-changed.session-plan-draft.session-plan-response.session-docs-changed.session-docs-snapshot.session-doc-response.session-doc-save-result.notify.update-status.update-progress.error.session-error.settings.settings-error.settings-updated.pong.agents-listed.repo-roots-scanned.conversations.resume-conversation-ack.health-snapshot.radar-status.radar-investigation-activity.radar-investigation-finished.radar-report.radar-open-session-result.issue-detail-result.open-issue-session-result.open-team-review-session-result.radar-issue-action-result.team-review-action-result.benchmark-action-result.factory-queue-intent-result.factory-control-result.my-pr-merge-result.my-pr-keep-mergeable-result.my-pr-merge-when-ready-result.github-polling-refresh-result.radar-archive-investigation-result.team-review-status.benchmark-status.factory-state.my-prs-status.issues-status.branch-gc-status.usage-sessions.usage-report.plan-limits.usage-budget-alert.visions-findings.visions-comments.visions-hand.visions-intent.visions-fix.visions-snapshot.ingest-activity.ingest-snapshot.client-trust.sessions-reordered.shutting-down.restarting`.split(`.`));var Ju=Po(`type`,[H(`snapshot`,{sessions:P(Fc),serverBuild:Tu}),H(`hooks-report`,{requestId:B,ts:Du,hooks:P(ku).optional(),builtin:P(ku).optional(),events:P(wu({name:j(),matcher:Tu,description:j(),http:N().optional()})).optional(),projects:P(wu({id:j(),name:j(),agent:j()})).optional(),limits:wu({maxTimeoutSec:M().int().positive()}).optional(),error:Ou}),H(`save-hook-result`,{requestId:B,ok:N(),error:Ou,hook:ku.optional()}),H(`delete-hook-result`,{requestId:B,ok:N(),error:Ou,id:j().optional()}),H(`workspace-repos`,{requestId:B,id:V,ok:N(),repos:P(j()),error:Ou}),H(`set-workspace-repos-result`,{requestId:B,id:V,ok:N(),error:Ou}),H(`hooks-updated`,{count:M().int().nonnegative()}),H(`state-change`,{id:V,session:j(),from:Mc,to:Mc,event:j(),timestamp:Eu,skipPerms:N().optional(),saneYolo:N().optional()}),H(`session-added`,Pu.shape),H(`session-modified`,Pu.shape),H(`session-removed`,{id:V,session:j()}),H(`session-renamed`,{id:V,oldName:j(),newName:j()}),H(`session-title`,{id:V,taskTitle:jc.nullable(),isCustom:N()}),H(`session-prs`,{id:V,linkedPrs:P(wc)}),H(`session-git`,{id:V,worktree:N()}),H(`session-agents`,{id:V,activeAgents:M().int().nonnegative(),awaitingBackgroundTasks:N(),timestamp:Eu}),H(`session-wakeup`,{id:V,pendingWakeup:Nc.nullable(),timestamp:Eu}),H(`session-prompt`,{isCompacting:N().optional(),id:V,pendingPromptKind:Tu,timestamp:Eu}),H(`session-conversation`,{id:V,hasConversationBridge:N(),isConversationViewOn:N(),conversationApproval:Pc.nullable()}),H(`session-sleep`),H(`session-wake`),H(`session-merge-status`,{id:V,mergeStatus:j(),reason:Tu,parked:N(),timestamp:Eu}),H(`session-worktree-blocked`,{id:V,session:j(),branch:Tu,notice:Tu,timestamp:Eu}),H(`session-worktree-warning`,{id:V,session:j(),branch:Tu,notice:Tu,timestamp:Eu}),H(`session-worktree-ready`,{id:V,session:j(),branch:Tu,base:Tu,timestamp:Eu}),H(`session-diff`,{id:V,committed:wu({stat:j(),diff:j()}),uncommitted:wu({stat:j(),diff:j()}),hasCommits:N()}),H(`session-diff-error`,{id:V,message:j()}),H(`change-map`,{id:V,map:jl}),H(`send-diff-annotations-result`,{requestId:B,ok:N(),error:Ou,pending:N().optional()}),H(`branch-sync-status`,{id:V,branch:Tu,upstream:Tu,state:j(),ahead:M().int().nonnegative(),behind:M().int().nonnegative(),fetched:N().nullable(),action:j().optional(),error:Ou}),H(`session-changed`,{id:V}),H(`post-turn-result`,{id:V,mode:j(),skipped:Tu,filesFixed:M().int().nonnegative(),findings:P(wu({file:j(),rule:j(),count:M().int().nonnegative()})),timestamp:Eu}),H(`debug-state-response`,{id:V,payload:ku}),H(`session-trace-response`,{id:V,requestId:B,records:P(Pl),start:M().int().nonnegative(),next:M().int().nonnegative(),reset:N(),path:j()}),H(`session-trace-changed`,{id:V}),H(`session-plan-changed`,dl.shape),H(`session-plan-draft`,fl.shape),H(`session-plan-response`,pl.shape),H(`session-docs-changed`,{id:V,docs:P(Lc)}),H(`session-docs-snapshot`,{sessions:Ro(j(),P(Lc))}),H(`session-doc-response`,{requestId:B,id:V,path:j(),ok:N(),text:j().optional(),hash:j().optional(),error:Ou}),H(`session-doc-save-result`,{requestId:B,id:V,path:j(),ok:N(),hash:j().optional(),conflict:N().optional(),error:Ou}),H(`notify`,{session:j(),category:j(),message:j(),escalationCount:M().int().nonnegative(),kind:R(`plan`).optional()}),H(`update-status`,Hu),H(`update-progress`,{journal:zl}),H(`error`,{id:V.optional(),message:j(),requestId:B,scope:j().optional()}),H(`session-error`,{id:V.optional(),session:j(),message:j(),scope:j().optional()}),H(`settings`,{settings:ku,requestId:B}),H(`settings-error`,{message:j(),requestId:B}),H(`settings-updated`,{settings:ku,requestId:B}),H(`pong`,{requestId:B}),H(`agents-listed`,{requestId:B,agents:P(wu({id:j(),label:j(),resolvable:N()}))}),H(`repo-roots-scanned`,{requestId:B,directories:P(wu({root:j(),projects:P(wu({name:j(),path:j()}))})),error:j().optional()}),H(`conversations`,{requestId:B,id:Tu,current:Tu.optional(),conversations:P(wu({id:j(),title:j(),cwd:j(),worktreePath:j(),worktreeName:j(),gitBranch:Tu,mtime:Eu})),error:j().optional()}),H(`resume-conversation-ack`,{id:V.optional(),resumeSessionId:Tu.optional(),ok:N(),error:j().optional(),requestId:B}),H(`health-snapshot`,{stats:ku}),H(`radar-status`,{ts:Eu,intervalMinutes:M(),projects:P(ku),investigations:P(ku)}),H(`radar-investigation-activity`,{projectId:Mo([j(),M()]),issueId:j(),inFlight:R(!0),startedAt:Eu.nullable(),trail:Nu}),H(`radar-investigation-finished`,{projectId:Mo([j(),M()]),issueId:j(),verdict:j(),summaryLine:Tu,startedAt:Eu.nullable(),trail:Nu}),H(`radar-report`,{requestId:B,ok:N(),found:N(),issueId:Tu,format:j().optional(),content:j().optional(),message:j().optional(),error:j().optional()}),H(`radar-open-session-result`,{requestId:B,ok:N(),error:Ou,sessionId:j().optional(),sessionName:j().optional(),pending:N().optional()}),H(`issue-detail-result`,{requestId:j().min(1),ok:N(),body:j().nullable(),error:j().nullable()}),H(`open-issue-session-result`,{requestId:B,ok:N(),error:Ou,sessionId:j().optional(),sessionName:j().optional(),pending:N().optional(),existing:N().optional()}),H(`open-team-review-session-result`,{requestId:B,ok:N(),error:Ou,key:xu.optional(),sessionId:j().optional(),sessionName:j().optional(),pending:N().optional(),existing:N().optional()}),H(`radar-issue-action-result`,{requestId:B,ok:N(),error:Ou,status:Tu.optional()}),H(`team-review-action-result`,{...uc.shape,requestId:B}),H(`factory-queue-intent-result`,{...kne.shape,requestId:B}),H(`factory-control-result`,{...Ane.shape,requestId:B}),H(`benchmark-action-result`,{...fu.shape,requestId:B}),H(`my-pr-merge-result`,{...kc.shape,requestId:B}),H(`my-pr-keep-mergeable-result`,{...une.shape,requestId:B}),H(`my-pr-merge-when-ready-result`,{...fne.shape,requestId:B}),H(`github-polling-refresh-result`,{...Ss.shape,requestId:B}),H(`radar-archive-investigation-result`,{requestId:B,ok:N(),error:Ou}),_c,gu,H(`factory-state`,Vc.shape),Oc,Ms,H(`branch-gc-status`),H(`usage-sessions`,{ts:Eu,pricingSource:Tu,sessions:P(wu({id:V,tokens:M(),costUSD:M(),officialCostUSD:M().nullable().optional()}))}),H(`usage-report`,{requestId:B,ts:Du,tz:j().optional(),blockHours:M().optional(),totals:ku.optional(),daily:Au.optional(),models:Au.optional(),sessions:Au.optional(),blocks:Au.optional(),activeBlock:To().nullable().optional(),anomaly:To().nullable().optional(),byLane:To().optional(),planWindowLanes:To().nullable().optional(),budget:To().optional(),savings:To().optional(),tokenLimit:To().nullable().optional(),pricing:ku.optional(),scan:ku.optional(),warning:Ou,error:Ou}),H(`plan-limits`,{ts:Eu,fiveHour:To().nullable(),sevenDay:To().nullable(),source:j()}),H(`usage-budget-alert`,{scope:j(),periodKey:j(),threshold:M(),text:j(),ts:Eu}),H(`visions-findings`,{uri:j(),diagnostics:Au,ts:Eu}),H(`visions-comments`,{uri:j(),comments:Au,ts:Eu}),H(`visions-hand`,{uri:j(),hand:Tu,ts:Eu}),H(`visions-intent`,{projectId:Tu,intent:ku,ts:Eu}),H(`visions-fix`,{uri:j(),fix:ku,ts:Eu}),H(`visions-snapshot`,{documents:P(ku),intent:ku,fixes:P(ku),ts:Eu}),H(`ingest-activity`,{events:P(ku),overflow:M().int().nonnegative(),ts:Eu}),H(`ingest-snapshot`,{events:P(ku),sources:To(),ts:Eu}),H(`client-trust`,{trust:L([`local`,`remote`])}),H(`sessions-reordered`,{order:P(V)}),H(`shutting-down`),H(`restarting`)]),Yu=/^\s*at .+:\d+:\d+\)?$|^[^@\s]*@.+:\d+:\d+$/;function Xu(e){let t=e.stack??``,n=String(e);return(t.startsWith(n)?t.slice(n.length):t).split(`
|
|
56
|
-
`).filter(e=>Yu.test(e)).join(`
|
|
57
|
-
`)}function Zu(e){return e==null?null:e instanceof Error?{name:(e.name||`Error`).slice(0,128),stack:Xu(e).slice(0,Uu)}:{name:`NonError`,stack:``}}function Qu(e){let t=new Set;return n=>{let r=Zu(n);if(!r)return;let i=`${r.name}\n${r.stack}`;t.has(i)||t.size>=32||e({type:`client-error`,...r})&&t.add(i)}}var $u=Object.freeze({min:1}),ed=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),td=Object.freeze({min:0,label:`zero or more`}),nd=Object.freeze({min:0,max:300}),rd=Object.freeze({min:1,max:60}),id=Object.freeze({min:.5,max:2}),ad=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0}),od=Object.freeze({min:64,max:16384}),sd=Object.freeze({min:0,max:65535}),cd=Object.freeze({min:0,exclusiveMin:!0,max:2147483647/1e3}),ld=ed,ud=ed,dd=ed,fd=ed,pd=ed,md=td,hd=ed,gd=ed,_d=ed,vd=ed,yd=ed,bd=ed,xd=ed,Sd=ed,Cd=ed,wd=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),Td=Object.freeze({min:1,label:`at least 1`}),Ed=Object.freeze({min:1,label:`at least 1`}),Dd=td,Od=Object.freeze({min:1,max:30,label:`between 1 and 30`}),kd=Object.freeze({min:1,max:1440}),Ad=Object.freeze({min:1,max:3650}),jd=Object.freeze({min:30,max:3650}),Md=Object.freeze({min:1,max:24}),Nd=ed,Pd=Object.freeze({scanIntervalMinutes:kd,retainDays:Ad,warehouseRetainDays:jd,sessionBlockHours:Md}),Fd=Object.freeze({min:15,max:600}),Id=Object.freeze({min:5,max:120}),Ld=Object.freeze({min:1,max:5}),Rd=Object.freeze({min:1,max:50});Object.freeze({NON_NEGATIVE_NUMBER_RANGE:td,FACTORY_MAX_LIVE_WORKERS_RANGE:$u,FLYING_ANIMALS_GAP_RANGE:nd,FLYING_ANIMALS_DURATION_RANGE:rd,FLYING_ANIMALS_SCALE_RANGE:id,CHANGE_MAP_NARRATOR_TIMEOUT_RANGE:Fd,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:Id,PORT_RANGE:sd,POSTHOG_ESCALATION_RANGE:xd,POSTHOG_FIX_TIMEOUT_RANGE:wd,POSTHOG_INTERVAL_RANGE:_d,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:yd,POSTHOG_MAX_CONCURRENT_RANGE:vd,POSTHOG_MIN_USERS_RANGE:bd,POSTHOG_TRAFFIC_BASELINE_RANGE:Od,POSTHOG_TRAFFIC_COOLDOWN_RANGE:Dd,POSTHOG_TRAFFIC_MIN_USERS_RANGE:Ed,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:Td,REPLAY_BUFFER_KB_RANGE:od,TASK_TITLE_TIMEOUT_RANGE:cd,USAGE_BUDGET_RANGE:Nd,USAGE_RETAIN_DAYS_RANGE:Ad,USAGE_SCAN_INTERVAL_RANGE:kd,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:md,VISIONS_COOLDOWN_MS_RANGE:fd,VISIONS_DISPATCH_TIMEOUT_RANGE:hd,VISIONS_INTENT_THREAD_TTL_MS_RANGE:gd,VISIONS_MAX_PER_HOUR_RANGE:pd,VISIONS_QUIET_MS_RANGE:dd,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:Rd,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:Ld});var zd=[{name:`Nyan cat`,sprite:`is-cat`,trail:`is-rainbow`},{name:`Unicorn`,sprite:`is-unicorn`,trail:`is-sparkles`},{name:`Dragon`,sprite:`is-dragon`,trail:`is-embers`},{name:`Pig`,sprite:`is-pig`,trail:`is-hearts`},{name:`Whale`,sprite:`is-whale`,trail:`is-bubbles`},{name:`Fox`,sprite:`is-fox`,trail:`is-paws`},{name:`Frog`,sprite:`is-frog`,trail:`is-dust`},{name:`Penguin`,sprite:`is-penguin`,trail:`is-snow`},{name:`Bee`,sprite:`is-bee`,trail:`is-honey`},{name:`Owl`,sprite:`is-owl`,trail:`is-stars`},{name:`Cow`,sprite:`is-cow`,trail:`is-daisies`},{name:`Panda`,sprite:`is-panda`,trail:`is-bamboo`},{name:`Red panda`,sprite:`is-red-panda`,trail:`is-leaves`},{name:`Deer`,sprite:`is-deer`,trail:`is-acorns`},{name:`Horse`,sprite:`is-horse`,trail:`is-clover`},{name:`Sheep`,sprite:`is-sheep`,trail:`is-clouds`},{name:`Hamster`,sprite:`is-hamster`,trail:`is-seeds`},{name:`Giraffe`,sprite:`is-giraffe`,trail:`is-acacia`},{name:`Hedgehog`,sprite:`is-hedgehog`,trail:`is-logomarks`}];function Bd(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function Vd(e){if(!Array.isArray(e))return[];let t=new Set(zd.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function Hd(e={}){let t=ad,n=nd,r=rd,i=Bd(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=Bd(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=Bd(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=Bd(e.flyingAnimalsMaxDurationSeconds,t.flyingAnimalsMaxDurationSeconds,r);return{flyingAnimalsMinGapSeconds:Math.min(i,a),flyingAnimalsMaxGapSeconds:Math.max(i,a),flyingAnimalsMinDurationSeconds:Math.min(o,s),flyingAnimalsMaxDurationSeconds:Math.max(o,s),flyingAnimalsScale:Bd(e.flyingAnimalsScale,t.flyingAnimalsScale,id),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:Vd(e.flyingAnimalsExcludedSprites)}}function Ud(e){return zd.some(t=>!e.includes(t.sprite))}function Wd(e,t=-1,n=Math.random){let r=zd.flatMap((t,n)=>e.includes(t.sprite)?[]:[n]);if(r.length===0)return null;let i=r.length>1?r.filter(e=>e!==t):r,a=Math.min(1,Math.max(0,n()));return i[Math.min(i.length-1,Math.floor(a*i.length))]}function Gd(e,t,n=Math.random,r){let i=r===void 0?Wd(e.flyingAnimalsExcludedSprites,t,n):zd.findIndex(e=>e.sprite===r);if(i===null||i<0)return null;let a=e.flyingAnimalsMinDurationSeconds+n()*(e.flyingAnimalsMaxDurationSeconds-e.flyingAnimalsMinDurationSeconds);return{animalIndex:i,durationSeconds:a,gapMs:1e3*(e.flyingAnimalsMinGapSeconds+n()*(e.flyingAnimalsMaxGapSeconds-e.flyingAnimalsMinGapSeconds)),firstDelaySeconds:n()*a,verticalProgress:n()}}function Kd({isEnabled:e,hasReducedMotion:t,isPhone:n,options:r}){return t?`Flights are disabled because reduced motion is enabled.`:e?n&&!r.flyingAnimalsOnPhone?`Turn on Show on phone layout to use Fly now here.`:null:`Turn on flying animals to use Fly now.`}var qd=61.2,Jd=37.8,Yd=768,Xd=.68,Zd=64,Qd=5;function $d(e,t,n){return Math.min(Math.max(e,t),n)}function ef({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n}){let r=$d(e/Yd,Xd,1),i=(Qd+70*n*n)*t/100;return{scale:r,spriteWidthPx:qd,spriteHeightPx:Jd,topPx:Math.max(i,Zd),startXpx:-.45*e,endXpx:1.45*e}}function tf(e,t){return[[`--nyan-top`,`${e.topPx}px`],[`--nyan-scale`,String(e.scale*t)],[`--nyan-width`,`${e.spriteWidthPx}px`],[`--nyan-height`,`${e.spriteHeightPx}px`],[`--nyan-start-x`,`${e.startXpx}px`],[`--nyan-end-x`,`${e.endXpx}px`]]}var nf=`chime`,rf=`custom:`,af=`/custom-sounds`,of=Object.freeze({chime:{label:`Chime`,peakGain:.12,tones:[{frequency:659.25,startSeconds:0,durationSeconds:.35,waveform:`sine`},{frequency:987.77,startSeconds:.14,durationSeconds:.5,waveform:`sine`}]},ping:{label:`Soft ping`,peakGain:.08,tones:[{frequency:1046.5,startSeconds:0,durationSeconds:.12,waveform:`triangle`},{frequency:1046.5,startSeconds:.13,durationSeconds:.12,waveform:`triangle`},{frequency:1318.51,startSeconds:.26,durationSeconds:.2,waveform:`triangle`}]},beep:{label:`Beep`,peakGain:.15,tones:[{frequency:880,startSeconds:0,durationSeconds:.2,waveform:`sine`}]}}),sf=Object.freeze(Object.entries(of).map(([e,t])=>({id:e,label:t.label})));function cf(e){return`${rf}${e}`}function lf(e){return`${af}/${encodeURIComponent(e)}`}function uf(e){return e.startsWith(rf)&&e.slice(7)||null}function df(e){let t=(e??[]).map(e=>({id:cf(e),label:e}));return[...sf,...t]}function ff(e,t){if(typeof e!=`string`)return nf;if(Object.hasOwn(of,e))return e;let n=uf(e);return n&&(t===null||t.includes(n))?e:nf}function pf(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}function mf(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function hf(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var gf=`glimmervoid-ui-prefs`,_f=`glimmervoid:sidebar-width`,vf=e=>t=>typeof t==`boolean`?t:e,yf=e=>t=>typeof t==`string`?t:e,bf=e=>typeof e==`string`&&e?e:null,xf=e=>typeof e==`number`&&Number.isFinite(e)?e:null,Sf=e=>t=>xf(t)??e,Cf=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],wf={soundEnabled:vf(!0),soundId:yf(nf),themeId:yf(`phyrexian`),flyingAnimalsEnabled:vf(!1),flyingAnimalsMinGapSeconds:Sf(ad.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:Sf(ad.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:Sf(ad.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:Sf(ad.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:Sf(ad.flyingAnimalsScale),flyingAnimalsOnPhone:vf(ad.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:Vd,notificationsEnabled:vf(!0),compactStatusLabels:vf(!1),sessionUsageChips:vf(!1),activeView:yf(`focus`),lastFocusedSessionId:bf,railWidth:xf,reviewSidebarExpanded:vf(!1),reviewSidebarView:e=>e===`map`||e===`notes`?e:`diff`,prsQueueWidth:xf,prsQueueCollapsed:vf(!1),prsMode:e=>e===`mine`?`mine`:`team`,keptProjects:Cf,traceHiddenKinds:Cf,dismissedUpdate:bf,telemetryNoticeDismissed:vf(!1),radarAttentionAck:yf(``),prsAttentionAck:yf(``),usageAttentionAck:yf(``),visionsAttentionAck:yf(``)};function Tf(e,t,n){e[t]=wf[t](n)}function Ef(){let e=mf(gf,{}),t={};for(let n of Object.keys(wf))Tf(t,n,e?.[n]);return t}function Df(e){return Ef()[e]}function Of(e,t){let n=Ef();Tf(n,e,t),hf(gf,n)}var kf=()=>Df(`soundEnabled`),Af=e=>Of(`soundEnabled`,e),jf=()=>Df(`soundId`),Mf=e=>Of(`soundId`,e),Nf=()=>Df(`notificationsEnabled`),Pf=e=>Of(`notificationsEnabled`,e),Ff=()=>Df(`compactStatusLabels`),If=e=>Of(`compactStatusLabels`,e),Lf=()=>Df(`sessionUsageChips`),Rf=e=>Of(`sessionUsageChips`,e),zf=()=>Df(`themeId`),Bf=e=>Of(`themeId`,e),Vf=()=>Df(`flyingAnimalsEnabled`),Hf=e=>Of(`flyingAnimalsEnabled`,e),Uf=()=>Df(`activeView`),Wf=e=>Of(`activeView`,e),Gf=()=>Df(`railWidth`),Kf=e=>Of(`railWidth`,e),qf=()=>Df(`reviewSidebarExpanded`),Jf=e=>Of(`reviewSidebarExpanded`,e),Yf=()=>Df(`reviewSidebarView`),Xf=e=>Of(`reviewSidebarView`,e),Zf=()=>Df(`prsQueueWidth`),Qf=e=>Of(`prsQueueWidth`,e),$f=()=>Df(`prsQueueCollapsed`),ep=e=>Of(`prsQueueCollapsed`,e),tp=()=>Df(`prsMode`),np=e=>Of(`prsMode`,e),rp=()=>Df(`keptProjects`),ip=e=>Of(`keptProjects`,e),ap=()=>Df(`traceHiddenKinds`),op=e=>Of(`traceHiddenKinds`,e),sp=()=>Df(`dismissedUpdate`),cp=e=>Of(`dismissedUpdate`,e),lp=()=>Df(`telemetryNoticeDismissed`),up=e=>Of(`telemetryNoticeDismissed`,e),dp=()=>Df(`radarAttentionAck`),fp=e=>Of(`radarAttentionAck`,e),pp=()=>Df(`prsAttentionAck`),mp=e=>Of(`prsAttentionAck`,e),hp=()=>Df(`usageAttentionAck`),gp=e=>Of(`usageAttentionAck`,e),_p=()=>Df(`visionsAttentionAck`),vp=e=>Of(`visionsAttentionAck`,e),yp=()=>Df(`lastFocusedSessionId`),bp=e=>Of(`lastFocusedSessionId`,e),xp=()=>xf(mf(_f,null)),Sp=e=>hf(_f,xf(e)),Cp=e=>Of(`flyingAnimalsMinGapSeconds`,e),wp=e=>Of(`flyingAnimalsMaxGapSeconds`,e),Tp=e=>Of(`flyingAnimalsMinDurationSeconds`,e),Ep=e=>Of(`flyingAnimalsMaxDurationSeconds`,e),Dp=e=>Of(`flyingAnimalsScale`,e),Op=e=>Of(`flyingAnimalsOnPhone`,e),kp=e=>Of(`flyingAnimalsExcludedSprites`,e),Ap=()=>Hd(Ef()),jp=()=>{let e=Ef();return Object.fromEntries(Object.keys(ad).map(t=>[t,e[t]]))},Mp=()=>hf(gf,{...Ef(),...ad}),Np=ef({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Pp(e,t=``){let n=p(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${Np.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${Np.spriteHeightPx}px`);let r=p(`div`,`flying-animal-preview-stage`);return r.append(p(`div`,`nyan-trail ${e.trail}`),p(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Fp(){let e=Wd(Ap().flyingAnimalsExcludedSprites);return e===null?null:zd[e]??null}var Ip=6e4,Lp=18e5,Rp=20;function zp({attempt:e=1,baseMs:t=Ip,maxMs:n=Lp,retryAfterMs:r=null,random:i=Math.random,jitter:a=`full`}={}){if(typeof r==`number`&&Number.isFinite(r)&&r>0)return Math.min(r,n);let o=Math.max(0,Math.min(e,Rp)-1),s=Math.min(n,t*2**o);return a===`none`?s:Math.round(a===`half`?s*(.5+.5*i()):i()*s)}var Bp=3e4;function Vp(e,t=Math.random){return zp({attempt:(typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0)+1,baseMs:500,maxMs:Bp,random:t,jitter:`half`})}var Hp=0,Up=1,Wp=1e4;function Gp(e){return typeof e!=`number`||!Number.isFinite(e)?!1:e>=Wp}function Kp({hasSocket:e,readyState:t,retryPending:n,connectingAgeMs:r=0,hiddenForMs:i}){return n?`retry-now`:!e||Gp(i)?`connect`:t===Hp?r>1e4?`connect`:`wait`:t===Up?`probe`:`connect`}function qp(e){return e===`https:`?`wss:`:`ws:`}function Jp(e,t){return`${qp(e?.protocol)}//${e.host}${t}`}var Yp=``,Xp=null;function Zp(){return Yp}function Qp(){return Yp?Promise.resolve(Yp):Xp||(Xp=fetch(`/control-token`,{credentials:`same-origin`,cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{let t=e?.token;return Yp=typeof t==`string`?t:``,Yp}).catch(()=>``).finally(()=>{Xp=null}),Xp)}function $p(){Yp=``}function em(e){return Yp?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(Yp)}`:e}var tm=null,nm=null,rm=0,im=new Map,am=null,om=0,sm=!1,cm=0,lm=0,um=null,dm=null;function fm(e){dm=e}function pm(e){um=e}function U(e){return tm?.readyState===WebSocket.OPEN&&(tm.send(JSON.stringify(e)),!0)}function mm(e){return lm+=1,`${e}-${lm}`}function hm(e,t){let n=mm(e);return new Promise((r,i)=>{let a=setTimeout(()=>{im.delete(n),i(Error(`Request timed out`))},5e3);im.set(n,{resolve:r,reject:i,timer:a}),tm?.readyState===WebSocket.OPEN?tm.send(JSON.stringify({type:e,requestId:n,...t})):(clearTimeout(a),im.delete(n),i(Error(`Not connected`)))})}function gm(e){for(let t of im.values())clearTimeout(t.timer),t.reject(Error(e));im.clear()}function _m(){let e=tm;tm=null,gm(`Connection replaced`),e?.close(),rm=0,vm()}function vm(){if(nm!==null&&(nm!==null&&clearTimeout(nm),nm=null),!Zp()&&!sm){sm=!0,Qp().finally(()=>{sm=!1,vm()});return}if(sm)return;let e=cm>0?`?since=${cm}`:``,t=Jp(location,em(`/control${e}`)),n=new WebSocket(t);tm=n,om=Date.now();let r=!1;n.addEventListener(`open`,()=>{r=!0,rm=0,dm&&dm(`connected`,`Connected`)}),n.addEventListener(`message`,e=>{if(tm!==n)return;let t;try{t=JSON.parse(e.data)}catch{console.warn(`[control] Dropped malformed server JSON message`);return}let r=Ju.safeParse(t);if(!r.success){console.warn(`[control] Dropped invalid server message: ${r.error.issues[0]?.message||`invalid payload`}`);return}let i=r.data;if(i.type===`snapshot`&&typeof i.seq!=`number`&&(cm=0),typeof i.seq==`number`){if(i.seq<=cm)return;cm=i.seq}let a=typeof i.requestId==`string`?i.requestId:``,o=a?im.get(a):void 0;o?(clearTimeout(o.timer),im.delete(a),o.resolve(i)):um&&um(i)}),n.addEventListener(`close`,()=>{if(tm!==n)return;tm=null,gm(`Connection closed`),r||$p(),dm&&dm(`disconnected`,`Reconnecting`);let e=Vp(rm);rm+=1,nm=setTimeout(vm,e)})}async function ym(e){if(dm&&dm(`connecting`,`Connecting`),am)return am;let t=Kp({hasSocket:!!tm,readyState:tm?.readyState??null,retryPending:nm!==null,connectingAgeMs:Date.now()-om,hiddenForMs:e});if(t===`retry-now`)return nm!==null&&clearTimeout(nm),nm=null,rm=0,vm(),`reconnecting`;if(t===`connect`)return _m(),`reconnecting`;if(t===`wait`)return`reconnecting`;let n=tm;return am=hm(`ping`,{}).then(()=>(dm&&dm(`verified`,`Connected`),`ok`)).catch(()=>(tm===n&&n&&_m(),`dead`)).finally(()=>{am=null}),am}var bm=`<h2 class="dialog-title" id="add-session-title">Add Session</h2>
|
|
58
|
-
<fieldset class="dialog-mode-controls" aria-label="Session kind">
|
|
59
|
-
<button type="button" class="dialog-mode-button" id="add-session-single-mode" aria-pressed="true">Single repo</button>
|
|
60
|
-
<button type="button" class="dialog-mode-button" id="add-session-workspace-mode" aria-pressed="false">Workspace</button>
|
|
61
|
-
</fieldset>
|
|
62
|
-
<label class="dialog-label" id="add-session-picker-label">
|
|
63
|
-
Pick a project:
|
|
64
|
-
<select class="dialog-input project-picker" id="add-session-picker">
|
|
65
|
-
<option value="" disabled selected>Scanning...</option>
|
|
66
|
-
</select>
|
|
67
|
-
</label>
|
|
68
|
-
<fieldset class="dialog-workspace-list" id="add-session-workspace-list" aria-label="Workspace repositories" hidden></fieldset>
|
|
69
|
-
<label class="dialog-label" id="add-session-agent-label" hidden>
|
|
70
|
-
Agent
|
|
71
|
-
<select class="dialog-input" id="add-session-agent"></select>
|
|
72
|
-
</label>
|
|
73
|
-
<button type="button" class="dialog-advanced-toggle" id="add-session-advanced-toggle">Advanced options</button>
|
|
74
|
-
<div class="dialog-advanced-panel" id="add-session-advanced" hidden>
|
|
75
|
-
<label class="dialog-label">
|
|
76
|
-
Name
|
|
77
|
-
<input type="text" class="dialog-input" id="add-session-name" placeholder="my-project" autocomplete="off" spellcheck="false">
|
|
78
|
-
</label>
|
|
79
|
-
<label class="dialog-label" id="add-session-path-label">
|
|
80
|
-
Path
|
|
81
|
-
<input type="text" class="dialog-input" id="add-session-path" placeholder="C:\\Users\\...\\my-project" autocomplete="off" spellcheck="false">
|
|
82
|
-
</label>
|
|
83
|
-
</div>
|
|
84
|
-
<label class="dialog-label dialog-checkbox-label" id="add-session-skip-perms-label">
|
|
85
|
-
<input type="checkbox" class="dialog-checkbox" id="add-session-skip-perms">
|
|
86
|
-
<span>Skip permission prompts</span>
|
|
87
|
-
<span class="dialog-hint">The agent edits files and runs shell commands without asking first, so a bad instruction or a hostile file in the repo can act on this machine unchecked. Leave this off unless you trust the repo and the task.</span>
|
|
88
|
-
</label>
|
|
89
|
-
<label class="dialog-label dialog-checkbox-label" id="add-session-unguarded-label">
|
|
90
|
-
<input type="checkbox" class="dialog-checkbox" id="add-session-unguarded">
|
|
91
|
-
<span>Run without guardrails</span>
|
|
92
|
-
<span class="dialog-hint">Claude Code sessions run with guardrails that block writes to credentials and Glimmervoid's own state and hide credentials and other agents' settings. Turn this on only for work the guardrails cannot serve.</span>
|
|
93
|
-
</label>
|
|
94
|
-
<div class="dialog-error" id="add-session-error"></div>
|
|
95
|
-
<div class="dialog-actions">
|
|
96
|
-
<button type="button" class="btn-dialog btn-dialog-cancel" id="add-session-cancel">Cancel</button>
|
|
97
|
-
<button type="button" class="btn-dialog btn-dialog-confirm" id="add-session-confirm">Add</button>
|
|
98
|
-
</div>
|
|
99
|
-
`;function xm(e){return[...document.querySelectorAll(`.dialog-overlay`)].at(-1)===e}function Sm({dialogClass:e=`dialog`,closeOnBackdrop:t=!0,onEscape:n}={}){let r=document.activeElement,i=document.createElement(`div`);i.className=`dialog-overlay`;let a=document.createElement(`div`);a.className=e,i.appendChild(a),document.body.appendChild(i);function o(e){e.key===`Escape`&&(n?xm(i)&&n():s())}document.addEventListener(`keydown`,o);function s(){i.remove(),document.removeEventListener(`keydown`,o),r instanceof HTMLElement&&r.focus()}return t&&i.addEventListener(`click`,e=>{e.target===i&&s()}),{overlay:i,dialog:a,close:s}}function Cm(e,t){e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.setAttribute(`aria-labelledby`,t),Em(e)}function wm({title:e,dialogClass:t=`dialog`,cancelLabel:n=`Cancel`}){let{overlay:r,dialog:i,close:a}=Sm({dialogClass:t}),o=`dialog-title-${Math.random().toString(36).slice(2)}`,s=p(`h3`,`dialog-title`,e);s.id=o;let c=p(`div`,`dialog-actions`),l=p(`button`,`btn-dialog btn-dialog-cancel`,n);return c.append(l),i.append(s),Cm(i,o),{overlay:r,dialog:i,close:a,titleEl:s,actions:c,btnCancel:l}}function Tm({title:e,message:t,confirmLabel:n=`Confirm`,danger:r=!1,onConfirm:i}){let{dialog:a,close:o,actions:s,btnCancel:c}=wm({title:e}),l=p(`p`,`dialog-message`,t),u=p(`button`,r?`btn-dialog btn-dialog-confirm btn-dialog-danger`:`btn-dialog btn-dialog-confirm`,n);s.append(u),a.append(l,s),c.addEventListener(`click`,o),u.addEventListener(`click`,()=>{o(),i?.()}),requestAnimationFrame(()=>c.focus())}function Em(e){e.addEventListener(`keydown`,t=>{if(t.key!==`Tab`)return;let n=[...e.querySelectorAll(`button, input, select, textarea, [tabindex]:not([tabindex="-1"])`)];if(n.length===0)return;let r=n[0],i=n[n.length-1];t.shiftKey&&document.activeElement===r?(t.preventDefault(),i.focus()):!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus())})}function Dm(e){return e instanceof Error?e.message:String(e)}function Om(e,t,n=!1){let r=p(`label`,`dialog-checkbox-label`),i=p(`input`);return i.type=`checkbox`,i.className=`dialog-checkbox`,i.value=t,i.checked=n,r.append(i,p(`span`,null,e)),r}function km(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function Am(e){let[t,n]=await Promise.all([hm(`get-workspace-repos`,{id:e}),hm(`scan-repo-roots`,{}).catch(()=>null)]);if(t.type!==`workspace-repos`)throw Error(`Unexpected reply`);if(!t.ok)throw Error(t.error||`Could not read the workspace`);let r=t.repos.map(e=>({name:km(e),path:e,isMember:!0})),i=new Set(t.repos),a=n?.type===`repo-roots-scanned`?n.directories:[];for(let e of a.flatMap(e=>e.projects))i.has(e.path)||(i.add(e.path),r.push({name:e.name,path:e.path,isMember:!1}));return r}function jm(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=wm({title:`Workspace repositories`}),o=p(`p`,`dialog-message`,`Saving restarts the session and resumes its conversation. A removed repository keeps its workspace branch, so committed work survives.`),s=p(`fieldset`,`dialog-workspace-list`);s.setAttribute(`aria-label`,`Workspace repositories`),s.append(p(`div`,`dialog-hint`,`Loading repositories...`));let c=p(`div`,`dialog-hint`);c.setAttribute(`role`,`status`);let l=p(`div`,`dialog-error`),u=p(`button`,`btn-dialog btn-dialog-confirm`,`Save`);u.type=`button`,u.disabled=!0,i.append(u),n.append(o,s,c,l,i),a.addEventListener(`click`,r),requestAnimationFrame(()=>a.focus()),Am(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(Om(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${Dm(e)}`)}),u.addEventListener(`click`,()=>{let n=[...s.querySelectorAll(`input:checked`)].map(e=>e.value);n.length<2?l.textContent=`Select at least two repositories.`:(l.textContent=``,u.disabled=!0,c.textContent=`Saving`,hm(`set-workspace-repos`,{id:e,repos:n}).then(e=>{if(!t.isConnected)return;if(e.type===`set-workspace-repos-result`&&e.ok){r();return}let n=e.type===`set-workspace-repos-result`?e.error:null;l.textContent=n||`Could not update the workspace.`}).catch(e=>{t.isConnected&&(l.textContent=`Could not update the workspace: ${Dm(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}var Mm=`claude-code`,Nm=Object.freeze({"claude-code":``,codex:`Codex`,grok:`Grok`});function Pm(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t===`claude-code`?``:Nm[t]||t}function Fm(e,{defaultId:t=Mm}={}){let n=(Array.isArray(e)?e:[]).filter(e=>e?.resolvable&&typeof e.id==`string`&&e.id).map(e=>{let t=String(e.id);return{id:t,label:typeof e.label==`string`&&e.label?e.label:t}}),r=n.some(e=>e.id===t)?t:n.length>0?n[0].id:t;return{show:n.length>1,options:n,selectedId:r}}var Im=`No supported agent CLI was found on the PATH Glimmervoid runs with. Install Claude Code (or another supported agent), make sure its command is on that PATH, then run glimmervoid doctor to confirm.`;function zne(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||Fm(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:Im}}function Lm(e,t){if(e===t)return!0;let n=`${t} (`;if(!e.startsWith(n)||!e.endsWith(`)`))return!1;let r=e.slice(n.length,-1);return/^\d+$/.test(r)}function Rm(e,t){let n=0;for(let r of t)Lm(r,e)&&n++;return n}function zm(e,t){let n=new Set(t);if(!n.has(e))return e;for(let t=2;t<1e3;t++){let r=`${e} (${t})`;if(!n.has(r))return r}return`${e} (${Date.now()})`}function Bm(){let e=[];for(let[,t]of T)e.push(t.card.dataset.session??``);return e}function Vm(e){return Rm(e,Bm())}function Hm(e){return zm(e??``,Bm())}var Um=60,Wm=3600,Gm=24,Km=1024,qm=Km*1024,Jm=qm*1024,Ym={compact:{second:e=>`${e}s`,minute:e=>`${e}m`,hour:e=>`${e}h`,day:e=>`${e}d`},abbreviated:{second:e=>`${e} sec`,minute:e=>`${e} min`,hour:e=>`${e} hr`,day:e=>`${e} ${e===1?`day`:`days`}`},spelled:{second:e=>`${e} ${e===1?`second`:`seconds`}`,minute:e=>`${e} ${e===1?`minute`:`minutes`}`,hour:e=>`${e} ${e===1?`hour`:`hours`}`,day:e=>`${e} ${e===1?`day`:`days`}`}},Xm={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function Zm(e){return String(e).padStart(2,`0`)}function Qm(e,t){return Math.max(0,Math[t](e/1e3))}function $m(e,t){let n=Ym[t];if(e<Um)return n.second(e);let r=Math.floor(e/Um);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Gm?n.hour(i):n.day(Math.floor(i/Gm))}function eh(e,t){let n=Qm(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${$m(n,t.wording)}${t.suffix}`}function th(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<Um)return`${e}s`;if(t===`s`&&e<Wm)return r(`${Math.floor(e/Um)}m`,e%Um,`s`);let i=Math.floor(e/Um);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function nh(e,{rounding:t,showsHours:n}){let r=Qm(e,t),i=Zm(r%Um),a=Math.floor(r/Um),o=Math.floor(r/Wm);return!n||o===0?`${a}:${i}`:`${o}:${Zm(a%60)}:${i}`}function rh(e,t){return e<Km?`${e} B`:t===`KB`||e<qm?`${(e/Km).toFixed(1)} KB`:e<Jm?`${(e/qm).toFixed(1)} MB`:`${(e/Jm).toFixed(2)} GB`}function ih(e){let t=new Date(e);return`${t.getFullYear()}-${Zm(t.getMonth()+1)}-${Zm(t.getDate())}`}function ah(e){return`${Zm(e.getHours())}:${Zm(e.getMinutes())}`}function oh(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}var sh=320,ch=8e3,lh=null;function uh(e){lh=e}function dh(e){if(!e||e.currentState!==a.RUNNING)return;let t=performance.now();e._lastOutputAt=t,!(t-(e._activityGate||0)<sh)&&(e._activityGate=t,e._activity===`quiet`&&(e._activity=`active`,lh?.(e,`flag`)),lh?.(e,`beat`))}function fh(e){if(!e||e.currentState!==a.RUNNING)return;let t=performance.now()-(e._lastOutputAt||0)>=ch?`quiet`:`active`;e._activity!==t&&(e._activity=t,lh?.(e,`flag`))}function ph(e,t){e&&(t&&(e._lastOutputAt=performance.now(),e._activityGate=0,e._activity=`active`),t||(e._activity=void 0),lh?.(e,`flag`))}var Bne=new Set([a.RUNNING,a.WAITING,a.STARTING,a.INITIALIZING]),Vne=e=>Bne.has(e);function mh(e){return Vne(e.currentState)?nh(Date.now()-(e.stateSince||Date.now()),{rounding:`floor`,showsHours:!0}):``}function hh(e){e.elapsedEl&&(e.elapsedEl.textContent=mh(e))}var gh=new Set;function _h(e){return gh.add(e),()=>gh.delete(e)}function vh(){for(let[,e]of T)hh(e),fh(e);for(let e of gh)try{e()}catch{}}setInterval(()=>{document.hidden||vh()},1e3),document.addEventListener(`visibilitychange`,()=>{document.hidden||vh()});function yh(e){return eh(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function bh(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${yh(Date.now()-e)} ago`}var Hne=e=>`polled ${bh(e)}`;function xh(e){let t=[],n=[],r=null,i=e=>{let t=e.format(e.ts);e.el.textContent!==t&&(e.el.textContent=t)},a=()=>{let r=e();if(r&&!r.closest(`[hidden]`)){for(let e of t)i(e);for(let e of n)e()}};return{track(e,n,r=Hne){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=_h(a)}}}function Sh(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function W(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function Ch(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function Une(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function wh({getAck:e,setAck:t,signature:n,isLooking:r}){let i=e(),a=e=>{e!==i&&(i=e,t(e))};return{refresh(){let e=n(),t=Une(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function Wne(e,{label:t,tab:n}){if(!e)return`Waiting for ${t} status from the server.`;let r=typeof e.reason==`string`?e.reason.trim():``;return e.configured===!1&&r?`${t} is misconfigured: ${r}. Open Settings and its ${n} tab.`:e.configured===!1?`${t} is off. Open Settings and its ${n} tab to switch it on.`:`${t} is on. Waiting for the first poll.`}var Gne=`machine-updates`,Kne=`update-actions`,qne={spiking:0,regressed:1,worsened:2,new:3,quiet:4},Jne={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},Yne=99,Xne={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function Th(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=Sh(t?.tool,``);return n?[{at:W(t?.at,0),tool:n,detail:Sh(t?.detail,``)}]:[]}):[]}function Zne(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function Qne(e){let t=Th(e?.trail).at(-1);return t?Zne(t):``}function Eh(e){let t=Sh(e?.summaryLine,``);return e?.inFlight===!0&&Qne(e)||t}function Dh(e){return{inFlight:e?.inFlight===!0,startedAt:W(e?.startedAt,null),steps:Th(e?.trail),verdict:Sh(e?.verdict,``),summaryLine:Sh(e?.summaryLine,``)}}function Oh(e,t,n){let r=String(t??``),i=String(n??``);if(!r||!i)return null;for(let t of Array.isArray(e?.projects)?e.projects:[])if(String(t?.projectId??``)===r){for(let e of Array.isArray(t.issues)?t.issues:[])if(String(e?.issueId??``)===i)return e}return null}function $ne(e,t){let n=Oh(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=W(t?.startedAt,null),n.trail=Th(t?.trail),!0):!1}function kh(e){return{inFlight:!1,startedAt:W(e?.startedAt,null),steps:Th(e?.trail),verdict:Sh(e?.verdict,``),summaryLine:Sh(e?.summaryLine,``)}}function ere(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function tre(e,t){let n=Oh(e,t?.projectId,t?.issueId);if(!n)return!1;let r=kh(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function Ah(e){return Xne[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function jh(e){return nh(e,{rounding:`round`,showsHours:!1})}function Mh(e,t){return e==null?``:`+${jh(t-e)}`}function nre(e){let t=e.steps.at(-1);return[e.steps.length,t?.at??0,t?.tool??``].join(`::`)}function rre(e,t){if(e.inFlight){let n=`${e.steps.length} ${e.steps.length===1?`step`:`steps`}`;return`investigating, ${e.startedAt?`started ${t}`:`starting`}, ${n}`}return e.verdict?`finished: ${Ah(e.verdict)}`:`finished`}function ire(e){return Wne(e,{label:`PostHog monitoring`,tab:`PostHog`})}function are(e){return W(e.intervalMinutes,null)!==null}function ore(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:are(e)?`placeholder`:`pending`}function sre(e){return Jne[e??``]||`dim`}function cre(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function lre(e){let t=Sh(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function ure(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function dre(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function fre(e,t=64,n=16){let r=ure(e);if(r.length<2)return``;let i=Math.max(...r),a=Math.min(...r),o=t/(r.length-1),s=n/2,c=i-a;return r.map((e,t)=>{let r=t*o,i=c===0?s:n-(e-a)/c*n;return`${Number(r.toFixed(2))},${Number(i.toFixed(2))}`}).join(` `)}function pre(e){if(e.length<4)return null;let t=Math.floor(e.length/2),n=e.slice(0,t).reduce((e,t)=>e+t,0);if(n===0)return null;let r=e.slice(-t).reduce((e,t)=>e+t,0),i=Math.round(Math.abs(r-n)/Math.abs(n)*100);return r>n?{direction:`up`,percent:i}:r<n?{direction:`down`,percent:i}:{direction:`flat`,percent:i}}function mre(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function Nh(e){let t=Array.isArray(e)?e:[],n=0,r=0;for(let e of t)e?.change===`spiking`&&(n+=1),e?.verdict===`NEEDS_HUMAN`&&(r+=1);return{active:t.length,spiking:n,needsHuman:r}}var hre=3e5;function gre(e){let t=Number(e);return!Number.isFinite(t)||t<=0?hre:t*2}function _re(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function Ph(e){let t=_re(Sh(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function Fh(e){let t=Sh(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function vre(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=Fh(e?.host);n&&t.add(n)}return t.size>1}function yre(e,t,n={}){let r=Nh(e?.issues),i=Sh(e?.error,``).slice(0,200),a=Number(t),o=Number(e?.lastTickAt),s=Number.isFinite(a)&&Number.isFinite(o)&&o>0?a-o:0,c=s>gre(n.intervalMs)?s:0;return{loud:r.active>0||r.spiking>0||!!i||c>0,counts:r,error:i,staleMs:c}}function bre(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=yre(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function xre(e,t=null){return(Array.isArray(e?.investigations)?e.investigations:[]).filter(e=>typeof e==`object`&&!!e).filter(e=>typeof e.id==`string`&&e.id!==``).filter(e=>e.archived!==!0).filter(e=>!t?.has(e.id)).map(e=>({id:e.id,issueId:Sh(e.issueId,``),projectId:e.projectId??null,projectLabel:Sh(e.projectName,``),title:Sh(e.title,`Untitled issue`),summaryLine:Sh(e.summaryLine,``),url:Sh(e.url,``),verdict:Sh(e.verdict,`ERROR`).toUpperCase(),mode:Sh(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(Sh(e.prUrl,``))?Sh(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function Sre(e,t){if(!t||t.size===0)return t;let n=Array.isArray(e?.investigations)?e.investigations:[],r=new Set;for(let e of n){if(typeof e!=`object`||!e)continue;let{id:t}=e;typeof t==`string`&&r.add(t)}for(let e of[...t])r.has(e)||t.delete(e);return t}function Ih(e,t){let n=Sh(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=Fs(t,{validate:!0});return r?`commit ${r}`:``}function Cre(e){return`Update available: ${Ih(e?.current,e?.currentSha)} to ${Ih(e?.latest,e?.latestSha)}`}function wre({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=Sh(e?.projectId,Sh(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=Sh(i?.issueId,Sh(i?.title,`#${e}`));i?.change===`spiking`&&t.push(`issue:${n}/${a}:spiking`),i?.verdict===`NEEDS_HUMAN`&&t.push(`issue:${n}/${a}:needs-human`)}}return t}function Tre(e={}){return Ch(wre(e))}function Lh(e){return qne[e??``]??Yne}function Ere(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=Lh(e.issue?.change)-Lh(t.issue?.change);if(n!==0)return n;let r=W(t.issue?.users,0)-W(e.issue?.users,0);if(r!==0)return r;let i=W(t.issue?.occurrences,0)-W(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}function Rh(e,{value:t,disabled:n=!1,selected:r=!1}={}){let i=p(`option`,null,e);return t!=null&&(i.value=t),n&&(i.disabled=!0),r&&(i.selected=!0),i}function Dre(e){return typeof e!=`object`||!e?!1:`skipPermissionsByDefault`in e&&e.skipPermissionsByDefault===!0}function Ore(){let{dialog:e,close:t}=Sm();e.innerHTML=bm,Cm(e,`add-session-title`);let n=v(e,`#add-session-picker`,`select`),r=y(e,`#add-session-picker-label`),i=y(e,`#add-session-workspace-list`),a=v(e,`#add-session-single-mode`,`button`),o=v(e,`#add-session-workspace-mode`,`button`),s=y(e,`#add-session-agent-label`),c=v(e,`#add-session-agent`,`select`),l=v(e,`#add-session-advanced-toggle`,`button`),u=y(e,`#add-session-advanced`),d=v(e,`#add-session-name`,`input`),f=v(e,`#add-session-path`,`input`),m=y(e,`#add-session-path-label`),h=v(e,`#add-session-skip-perms`,`input`),g=v(e,`#add-session-unguarded`,`input`),_=y(e,`#add-session-error`),b=v(e,`#add-session-cancel`,`button`),ee=v(e,`#add-session-confirm`,`button`),x=!1;function te(e){x=e,a.setAttribute(`aria-pressed`,String(!e)),o.setAttribute(`aria-pressed`,String(e)),r.hidden=e,i.hidden=!e,l.hidden=e,l.setAttribute(`aria-expanded`,String(e)),u.hidden=!e,m.hidden=e,e&&requestAnimationFrame(()=>d.focus())}a.addEventListener(`click`,()=>te(!1)),o.addEventListener(`click`,()=>te(!0)),l.setAttribute(`aria-expanded`,`false`),l.addEventListener(`click`,()=>{let e=u.hidden;u.hidden=!e,l.setAttribute(`aria-expanded`,String(e)),e&&requestAnimationFrame(()=>d.focus())}),hm(`scan-repo-roots`,{}).then(e=>{n.textContent=``,n.appendChild(Rh(`-- Select a project --`,{value:``,disabled:!0,selected:!0}));let t=!1,r=e.type===`repo-roots-scanned`?e.directories:[];for(let e of r){if(e.projects.length===0)continue;let r=p(`optgroup`);r.label=e.root;for(let n of e.projects){let e=Vm(n.name),a=e>0?`${n.name} (${e} open)`:n.name;r.appendChild(Rh(a,{value:JSON.stringify({name:n.name,path:n.path})})),i.appendChild(Om(n.name,n.path)),t=!0}n.appendChild(r)}t||(n.textContent=``,n.appendChild(Rh(`No projects found (configure repo roots in Settings)`,{disabled:!0,selected:!0})),i.textContent=`No projects found (configure repo roots in Settings).`)}).catch(()=>{n.textContent=``,n.appendChild(Rh(`Scan failed`,{disabled:!0,selected:!0})),i.textContent=`Repository scan failed.`}),n.addEventListener(`change`,()=>{try{let e=JSON.parse(n.value);d.value=Hm(e.name),f.value=e.path}catch{}});let ne=Mm,S=!1;function re(e){S=!0,ee.disabled=!0;let t=p(`p`,`dialog-hint dialog-hint-warning`,e);t.id=`add-session-agent-guidance`,t.setAttribute(`role`,`status`),_.before(t)}hm(`list-agents`,{}).then(e=>{let t=zne(e);t.canSpawn||re(t.guidance);let n=Fm(e.type===`agents-listed`?e.agents:[]);if(ne=n.selectedId,n.show){c.textContent=``;for(let e of n.options)c.appendChild(Rh(e.label,{value:e.id,selected:e.id===n.selectedId}));s.hidden=!1}}).catch(()=>{}),c.addEventListener(`change`,()=>{ne=c.value});let C=!1;h.addEventListener(`change`,()=>{C=!0}),hm(`get-settings`,{}).then(e=>{C||(h.checked=Dre(e.settings))}).catch(()=>{}),d.addEventListener(`input`,()=>{n.selectedIndex=0}),f.addEventListener(`input`,()=>{n.selectedIndex=0});function w(){if(S)return;let e=d.value.trim(),n=f.value.trim();if(x){let n=[...i.querySelectorAll(`input:checked`)].map(e=>e.value);if(!e||n.length<2){_.textContent=`Enter a name and select at least two repositories.`;return}let r={type:`add-session`,name:Hm(e),path:n[0],repos:n,dangerouslySkipPermissions:h.checked,unguarded:g.checked};ne&&ne!==`claude-code`&&(r.agent=ne),U(r),t();return}if(!e||!n){_.textContent=`Both fields are required. Select a project or use Advanced options.`;return}let r={type:`add-session`,name:Hm(e),path:n,dangerouslySkipPermissions:h.checked,unguarded:g.checked};ne&&ne!==`claude-code`&&(r.agent=ne),U(r),t()}b.addEventListener(`click`,t),ee.addEventListener(`click`,w),d.addEventListener(`keydown`,e=>{e.key===`Enter`&&(x&&w(),x||f.focus())}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&w()}),requestAnimationFrame(()=>n.focus())}function zh({issueId:e,issueTitle:t,format:n,content:r,message:i,error:a}){let{dialog:o,close:s,actions:c,btnCancel:l}=wm({title:`Investigation report`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),u=p(`div`,`dialog-report-meta`,t||e||``),d=null;if(n===`html`&&!a&&!i){let e=p(`iframe`,`dialog-report-frame`);e.setAttribute(`sandbox`,``),e.srcdoc=r||``,d=e}d||=p(`pre`,a?`dialog-report-body dialog-report-error`:`dialog-report-body`,a||i||r||``),o.append(u,d,c),l.addEventListener(`click`,s),requestAnimationFrame(()=>l.focus())}function kre({issueTitle:e,projectLabel:t,onOpenReport:n}){let{dialog:r,close:i,actions:a,btnCancel:o}=wm({title:`Investigation`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),s=p(`div`,`dialog-report-meta`,t?`${t}: ${e}`:e),c=p(`p`,`dialog-trail-status`),l=p(`p`,`dialog-trail-summary`),u=p(`ol`,`dialog-trail-steps`),d=p(`p`,`dialog-trail-empty`,`No tool calls yet; the session is reading the issue.`),f=p(`button`,`btn-dialog btn-dialog-cancel`,`Open report`);f.type=`button`,f.hidden=!0,f.addEventListener(`click`,()=>{i(),n()}),a.prepend(f),r.append(s,c,l,u,d,a),o.addEventListener(`click`,i),requestAnimationFrame(()=>o.focus());let m=null,h=``;function g(e){let t=u.scrollHeight-u.scrollTop-u.clientHeight<24,n=nre(e);if(h!==n){u.textContent=``;for(let t of e.steps){let n=p(`li`,`dialog-trail-step`);n.append(p(`span`,`dialog-trail-at`,Mh(e.startedAt,t.at)),p(`span`,`dialog-trail-tool`,t.tool),p(`span`,`dialog-trail-detail`,t.detail)),u.append(n)}h=n}d.hidden=e.steps.length>0||!e.inFlight,u.hidden=e.steps.length===0,t&&(u.scrollTop=u.scrollHeight)}function _(e){c.textContent=rre(e,bh(e.startedAt))}function v(){m&&(_(m),c.dataset.tone=m.inFlight?`live`:`done`,l.textContent=m.summaryLine,l.hidden=!m.summaryLine,f.hidden=m.inFlight||!m.verdict,g(m))}let y=_h(()=>{r.isConnected?m?.inFlight&&_(m):y()});return{update(e){m=e,v()},isOpen:()=>r.isConnected,close:()=>{y(),i()}}}var Are=new Set([`http:`,`https:`]);function Bh(e){let t;try{t=new URL(e)}catch{return null}return Are.has(t.protocol)?t.href:null}var jre=2,Vh=8,Hh=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,Mre=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,Uh=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,Nre=/^:?-{3,}:?$/,Pre=/^[A-Za-z0-9_+#.-]{1,32}$/;function Wh(e){return Lne(e,{overlongLine:`reject`})}function Fre(e){let t=e.trim().split(/\s+/)[0]??``;return Pre.test(t)?t:``}function Gh(e,t){if(!t)return;let n=e.at(-1);n?.type===`text`?n.text+=t:e.push({type:`text`,text:t})}function Ire(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function Lre(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function Kh(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function Rre(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function zre(e,t){let n=1;for(let r=t;r<e.length;r++){let t=e[r];if(t===`(`&&n++,t===`)`&&n--,n===0)return r;if(n>jre)return-1}return-1}function Bre(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=zre(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function qh(e){let t=[],n=Rre(e,`]`),r=0;for(;r<e.length;){let i=Bre(e,r,n);if(i){let e=Bh(i.target.trim());e&&t.push({type:`link`,href:e,children:qh(i.label)}),e||Gh(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=Kh(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=Ire(e,r);if(a){let n=Kh(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:qh(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=Lre(e,r);if(o){let n=Kh(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:qh(e.slice(r+1,n))}),r=n+1;continue}}Gh(t,e[r]),r++}return t}function Jh(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:Jh(e.children)).join(``)}var Vre=`plan-h-`;function Hre(e,t){let n=e.toLowerCase().normalize(`NFKD`).replace(/[\u0300-\u036f]/g,``).replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``)||`section`,r=(t.slugCounts.get(n)??0)+1;return t.slugCounts.set(n,r),`${Vre}${r===1?n:`${n}-${r}`}`}function Yh(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=Xh(e);return t.length<2?!1:t.every(e=>Nre.test(e))}function Xh(e){let t=e.trim();return t.startsWith(`|`)&&(t=t.slice(1)),t.endsWith(`|`)&&(t=t.slice(0,-1)),t.split(`|`).map(e=>e.trim())}function Zh(e){let t=Mre.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function Qh(e,t,n,r){let i=Zh(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=Zh(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=Vh)break;let t=Qh(e,c,n,r+1);if(!t||a.length===0)break;a.at(-1)?.children.push(t.block),c=t.next}else{if(t.ordered!==o)break;a.push({children:[{type:`paragraph`,children:qh(t.content)}]}),c++}}return{block:{type:`list`,ordered:o,items:a},next:c}}function Ure(e,t){let n=e[t]??``;return n.trim()===``||Wh(n)||Hh.test(n)||Uh.test(n)||Zh(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&Yh(e[t+1])}function $h(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=Hh.exec(a);if(o){let t=[],n=o[1][0],a=o[1].length;for(i++;i<e.length;){let r=/^ {0,3}(`{3,}|~{3,})\s*$/.exec(e[i]);if(r&&r[1][0]===n&&r[1].length>=a)break;t.push(e[i]),i++}i<e.length&&i++,r.push({type:`code`,language:Fre(o[2]),text:t.join(`
|
|
100
|
-
`)});continue}let s=Wh(a);if(s){let e=qh(s.text);r.push({type:`heading`,level:s.level,id:Hre(Jh(e),t),children:e}),i++;continue}if(Uh.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&Yh(e[i+1])){let t=Xh(a).map(qh),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(Xh(e[i]).map(qh)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=Qh(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<Vh&&/^ {0,3}>/.test(a)){let a=[];for(;i<e.length&&/^ {0,3}>/.test(e[i]);)a.push(e[i].replace(/^ {0,3}> ?/,``)),i++;r.push({type:`blockquote`,blocks:$h(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!Ure(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:qh(l.join(` `))})}return r}function eg(e){return $h(e.replace(/\r\n?/g,`
|
|
101
|
-
`).split(`
|
|
102
|
-
`),{slugCounts:new Map},0)}function Wre(e){let t=[],n={heading:null,id:null,level:0,blocks:[]},r=()=>{(n.heading!==null||n.blocks.length!==0)&&t.push(n)};for(let t of e)t.type===`heading`?(r(),n={heading:Jh(t.children),id:t.id,level:t.level,blocks:[t]}):n.blocks.push(t);return r(),t}function tg(e,t){for(let n of t){if(n.type===`text`){e.append(document.createTextNode(n.text));continue}if(n.type===`code`){e.append(p(`code`,`plan-inline-code`,n.text));continue}if(n.type===`emphasis`){let t=p(`em`);tg(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=p(`strong`);tg(t,n.children),e.append(t);continue}let t=p(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,tg(t,n.children),e.append(t)}}function Gre(e){let t=p(`li`);return ng(t,e.children),t}function ng(e,t){for(let n of t)if(n.type===`heading`){let t=p(`h${n.level}`,`plan-heading`);t.id=n.id,tg(t,n.children),e.append(t)}else if(n.type===`paragraph`){let t=p(`p`,`plan-paragraph`);tg(t,n.children),e.append(t)}else if(n.type===`list`){let t=n.ordered?p(`ol`,`plan-list`):p(`ul`,`plan-list`);t.append(...n.items.map(Gre)),e.append(t)}else if(n.type===`code`){let t=p(`pre`,`plan-code`),r=p(`code`,n.language?`language-${n.language}`:null,n.text);t.append(r),e.append(t)}else if(n.type===`table`){let t=p(`div`,`plan-table-wrap`),r=p(`table`,`plan-table`),i=p(`thead`),a=p(`tr`);for(let e of n.header){let t=p(`th`);tg(t,e),a.append(t)}i.append(a);let o=p(`tbody`);for(let e of n.rows){let t=p(`tr`);for(let n of e){let e=p(`td`);tg(e,n),t.append(e)}o.append(t)}r.append(i,o),t.append(r),e.append(t)}else if(n.type===`blockquote`){let t=p(`blockquote`,`plan-blockquote`);ng(t,n.blocks),e.append(t)}else e.append(p(`hr`,`plan-rule`))}function rg(e){let t=p(`div`,`plan-document`);return ng(t,e),t}function Kre(e,{hasComment:t,isComposing:n,onComment:r,attachmentFor:i}){let a=p(`div`,`plan-document`),o=[];for(let s of e){let e=p(`section`,`plan-section`);e.dataset.selected=`false`,e.addEventListener(`click`,()=>{for(let t of o)t.dataset.selected=String(t===e)}),o.push(e);let c=p(`div`,`plan-section-head`),l=s.blocks[0],u=l?.type===`heading`;if(u&&ng(c,[l]),u||(e.id=`plan-introduction`),!t(s)&&!n(s)){let e=p(`button`,`plan-section-comment`,`Comment`);e.type=`button`,e.setAttribute(`aria-label`,`Comment on ${s.heading??`Introduction`}`),e.addEventListener(`click`,()=>r(s)),c.append(e)}let d=p(`div`,`plan-section-body`);ng(d,u?s.blocks.slice(1):s.blocks),e.append(c,d);let f=i(s);f&&e.append(f),a.append(e)}return a}var qre={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function Jre(e){let t=p(`div`,`plan-diff`);for(let n of e.lines){let e=p(`div`,`plan-diff-line plan-diff-${n.kind}`),r=p(`span`,`plan-diff-gutter`,qre[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,p(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var ig=6e3,Yre=`Something went wrong. Details are hidden in streamer mode.`,Xre=400,Zre=`×`,ag=new WeakMap;function Qre(){let e=document.getElementById(`notice-region`);return e||(e=p(`div`,`notice-region`),e.id=`notice-region`,e.setAttribute(`role`,`region`),e.setAttribute(`aria-label`,`Notifications`),document.body.appendChild(e)),e}function og(e){let t=ag.get(e);t&&!t.dismissed&&(t.dismissed=!0,t.timer&&clearTimeout(t.timer),e.classList.add(`is-leaving`),e.addEventListener(`transitionend`,()=>e.remove(),{once:!0}),setTimeout(()=>e.remove(),Xre))}function sg(e,t={}){let n=document.documentElement.hasAttribute(`data-streamer`)?Yre:String(e),r=t.persist===!0,i=Qre(),a=i.firstElementChild,o=a?ag.get(a):null;if(o&&o.message===n&&!o.dismissed){if(!a)throw Error(`Toast state exists without a notice element`);o.count++;let e=v(a,`.notice-count`,`span`);return e.textContent=`x${o.count}`,e.hidden=!1,!r&&o.timer&&(clearTimeout(o.timer),o.timer=setTimeout(()=>og(a),ig)),a}let s=p(`div`,r?`notice is-persistent`:`notice`),c={message:n,count:1,timer:null,dismissed:!1};ag.set(s,c),s.setAttribute(`role`,`alert`);let l=p(`span`,`notice-glyph`,`!`);l.setAttribute(`aria-hidden`,`true`);let u=p(`span`,`notice-msg`,n),d=p(`span`,`notice-count`);d.hidden=!0;let f=p(`button`,`notice-close`,Zre);return f.type=`button`,f.setAttribute(`aria-label`,`Dismiss notification`),f.addEventListener(`click`,()=>og(s)),s.append(l,u,d,f),i.prepend(s),requestAnimationFrame(()=>s.classList.add(`is-visible`)),r||(c.timer=setTimeout(()=>og(s),ig)),s}var cg=`glimmervoid-streamer-mode`,lg=new Set,ug=mf(cg,!1)===!0,dg=null;function fg(e){document.documentElement.toggleAttribute(`data-streamer`,e),dg?.setAttribute(`aria-pressed`,String(e))}fg(ug);function pg(){return ug}function mg(e){if(hf(cg,e),e!==pg()){ug=e,fg(e);for(let t of lg)t(e)}}function hg(e){return lg.add(e),()=>lg.delete(e)}async function gg(e){try{let t=await hm(`update-settings`,{settings:{streamerMode:e}});return t.type===`settings-error`?String(t.message):(mg(e),``)}catch(e){return e?.message||`Failed to save streamer mode.`}}async function $re(){let e=!pg();e&&mg(!0);let t=await gg(e);t&&sg(t)}function _g(){$re()}function eie(e){dg=e,fg(pg()),e.addEventListener(`click`,_g)}var vg=new Map,yg=null;function bg(e){return vg.get(e)??[]}function xg(e){return bg(e).length>0}function Sg(e){O(e)?.btnDocs.classList.toggle(`visible`,xg(e))}function Cg(e){let t=bg(e.sessionId);e.select.replaceChildren(...t.map(t=>{let n=p(`option`,null,t.name);return n.value=t.path,n.selected=t.path===e.docPath,n})),e.select.hidden=t.length<2,e.title.textContent=t.find(t=>t.path===e.docPath)?.name??e.title.textContent}function wg(e){let t=bg(e.sessionId).some(t=>t.path===e.docPath);e.btnEdit.setAttribute(`aria-pressed`,String(e.mode===`edit`)),e.btnPreview.setAttribute(`aria-pressed`,String(e.mode===`preview`)),e.textarea.hidden=e.mode!==`edit`,e.preview.hidden=e.mode!==`preview`,e.select.disabled=e.isBusy,e.btnReload.disabled=e.isBusy||!t,e.btnSave.disabled=e.isBusy||!t||e.baseHash===null||!e.hasUnsavedChanges}function Tg(e,t,n=`quiet`){e.status.textContent=t,e.status.dataset.tone=n}function Eg(e){e.preview.replaceChildren(rg(eg(e.textarea.value)))}function tie(e,t){Tm({title:e,message:`Your unsaved edits will be lost.`,confirmLabel:`Discard`,danger:!0,onConfirm:t})}function Dg(e,t,n){e.hasUnsavedChanges?tie(t,n):n()}async function Og(e,t){e.docPath=t,e.isBusy=!0,e.baseHash=null,e.textarea.readOnly=!0,Cg(e),Tg(e,`Loading`),wg(e);let n=await hm(`session-doc-read`,{id:e.sessionId,path:t}).catch(()=>null);if(yg!==e||e.docPath!==t)return;e.isBusy=!1,e.textarea.readOnly=!1;let r=n?.type===`session-doc-response`?n:null;!r?.ok||r.text===void 0||r.hash===void 0?(Tg(e,r?.error||`Could not open this doc`,`warn`),wg(e)):(e.textarea.value=r.text,e.baseHash=r.hash,e.hasUnsavedChanges=!1,e.mode===`preview`&&Eg(e),Tg(e,``),wg(e))}async function kg(e){if(e.btnSave.disabled||e.baseHash===null)return;e.isBusy=!0,Tg(e,`Saving`),wg(e);let t=e.docPath,n=e.textarea.value,r=await hm(`session-doc-save`,{id:e.sessionId,path:t,text:n,baseHash:e.baseHash}).catch(()=>null);if(yg!==e||e.docPath!==t)return;e.isBusy=!1;let i=r?.type===`session-doc-save-result`?r:null;!i?.ok||i.hash===void 0?(Tg(e,i?.conflict?`The agent changed this file since you opened it. Reload to see its version.`:i?.error||`Save failed`,`warn`),wg(e)):(e.baseHash=i.hash,e.hasUnsavedChanges=e.textarea.value!==n,Tg(e,e.hasUnsavedChanges?`Unsaved changes`:`Saved`),wg(e))}function Ag(e,t){e.mode=t,t===`preview`&&Eg(e),wg(e),t===`edit`&&e.textarea.focus()}function jg(e,t){let n=p(`button`,`plan-control ${t}`,e);return n.type=`button`,n}function nie(e){let t=bg(e)[0];if(!t||yg)return;let n=()=>Dg(b,`Close this doc?`,()=>b.close()),r=Sm({dialogClass:`doc-editor`,closeOnBackdrop:!1,onEscape:n}),i=`doc-editor-title-${e}`,a=p(`h3`,`doc-editor-title`,t.name);a.id=i;let o=p(`select`,`plan-control doc-editor-picker`);o.setAttribute(`aria-label`,`Doc`);let s=p(`span`,`doc-editor-status`);s.setAttribute(`role`,`status`);let c=jg(`Edit`,`doc-editor-mode`),l=jg(`Preview`,`doc-editor-mode`),u=jg(`Reload`,`doc-editor-reload`),d=jg(`Save`,`doc-editor-save`),f=jg(`Close`,`doc-editor-close`),m=p(`div`,`doc-editor-modes`);m.append(c,l);let h=p(`div`,`doc-editor-actions`);h.append(s,u,d,f);let g=p(`div`,`doc-editor-header`);g.append(a,o,m,h);let _=p(`textarea`,`plan-editor doc-editor-text`);_.spellcheck=!0,_.setAttribute(`aria-labelledby`,i);let v=p(`div`,`doc-editor-preview`),y=p(`div`,`doc-editor-body`);y.append(_,v),r.dialog.append(g,y),Cm(r.dialog,i);let b={sessionId:e,docPath:t.path,baseHash:null,hasUnsavedChanges:!1,isBusy:!1,mode:pg()?`preview`:`edit`,title:a,select:o,textarea:_,preview:v,status:s,btnEdit:c,btnPreview:l,btnReload:u,btnSave:d,close:()=>{yg=null,r.close()}};yg=b,_.addEventListener(`input`,()=>{b.hasUnsavedChanges||(b.hasUnsavedChanges=!0,Tg(b,`Unsaved changes`),wg(b))}),_.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),kg(b))}),o.addEventListener(`change`,()=>{let e=o.value;o.value=b.docPath,Dg(b,`Open another doc?`,()=>{Og(b,e)})}),c.addEventListener(`click`,()=>Ag(b,`edit`)),l.addEventListener(`click`,()=>Ag(b,`preview`)),u.addEventListener(`click`,()=>{Dg(b,`Reload this doc?`,()=>{Og(b,b.docPath)})}),d.addEventListener(`click`,()=>{kg(b)}),f.addEventListener(`click`,n),Og(b,t.path),b.mode===`edit`&&_.focus()}function Mg(e){yg&&yg.sessionId===e&&(Cg(yg),wg(yg),!bg(e).some(e=>e.path===yg?.docPath)&&Tg(yg,`This doc is no longer surfaced, so it cannot be saved.`,`warn`))}function rie(e){vg.set(e.id,e.docs),e.docs.length===0&&vg.delete(e.id),Sg(e.id),Mg(e.id)}function iie(e){let t=[...vg.keys()];vg.clear();for(let[t,n]of Object.entries(e.sessions))vg.set(t,n);for(let e of new Set([...t,...vg.keys()]))Sg(e),Mg(e)}var aie=/\bElectron\/\d/,oie=new Set([`localhost`,`127.0.0.1`]);function sie(e){return aie.test(e)}function cie({userAgent:e,pageHostname:t}){return sie(e)&&oie.has(t)}function Ng(e){return Bh(e)!==null}var lie=new Set([0,1]);function uie({button:e,opensInNewTab:t}){return t&&lie.has(e)}function Pg(){return cie({userAgent:navigator.userAgent,pageHostname:location.hostname})}function Fg(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function die(e){try{let t=await Qp();return(await fetch(`/open-external`,{method:`POST`,credentials:`same-origin`,cache:`no-store`,headers:{"content-type":`application/json`,"x-glimmervoid-page-token":t},body:JSON.stringify({url:e})})).ok}catch{return!1}}function Ig(e){!Pg()||!Ng(e)?Fg(e):die(e).then(t=>{t||Fg(e)})}function Lg(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&uie({button:e.button,opensInNewTab:t.target===`_blank`})&&Ng(t.href)&&(e.preventDefault(),Ig(t.href))}function fie(e){Pg()&&(e.addEventListener(`click`,Lg,!0),e.addEventListener(`auxclick`,Lg,!0))}var Rg=Object.freeze({now:0,next:1,later:2,ready:3,working:4,resting:5}),pie=new Map(Object.entries({WAITING:{tier:`now`,"needs-you":`always`,"phone-triage":`always`,favicon:`always`},FAILED:{tier:`next`,"needs-you":`never`,"phone-triage":`always`,favicon:`never`},COMPLETE:{tier:`later`,"needs-you":`unseen`,"phone-triage":`always`,favicon:`always`},IDLE:{tier:`ready`,"needs-you":`never`,"phone-triage":`never`,favicon:`never`},RUNNING:{tier:`working`,"needs-you":`never`,"phone-triage":`always`,favicon:`never`},STARTING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,favicon:`never`},INITIALIZING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,favicon:`never`},DORMANT:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,favicon:`never`},DONE:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,favicon:`never`}}));function zg(e,t){let n=typeof e.state==`string`?pie.get(e.state):void 0;if(!n)return`resting`;let r=n[t];return r===`never`||r===`unseen`&&e.unseen!==!0?`resting`:n.tier}function Bg(e,t){return Rg[zg(e,t)]}function mie(e,t){return[...e].map(([e,n])=>{let r=n.currentState||a.DORMANT;return{id:e,ui:n,name:t(n),isDormant:r===a.DORMANT,state:r,unseen:!1}})}function Vg(e){return[...e].sort((e,t)=>(e.isDormant===t.isDormant?0:e.isDormant?1:-1)||String(e.name).localeCompare(String(t.name),void 0,{numeric:!0,sensitivity:`base`}))}function hie(e,t){return e.length?e[((t==null?-1:e.indexOf(t))+1)%e.length]:null}function Hg(e,t,n){if(!e.length)return null;let r=n<0?-1:1,i=t==null?-1:e.indexOf(t);return e[((i===-1?r===1?-1:0:i)+r+e.length)%e.length]}function Ug({state:e,unseen:t}={}){return Bg({state:e,unseen:t},`needs-you`)<Rg.ready}function Wg(e){let t=0;for(let n of e||[])Ug(n||{})&&t++;return t}function Gg(e){return e<=0?`ALL CLEAR`:e===1?`1 NEEDS YOU`:`${e} NEED YOU`}var gie=new Map([[`hand`,2]]),_ie=1;function vie(e){return e?typeof e==`string`&&gie.get(e)||_ie:0}function yie(e){let t=!1,n=0;for(let r of e||[]){let e=vie(r);e<=n||(t=typeof r!=`string`||r,n=e)}return t}var Kg=Object.freeze({idle:`#c084fc`,complete:`#4ade80`,waiting:`#fbbf24`});function bie(e){let t=Array.isArray(e)?e:[],n=!1;for(let e of t){let t=zg(e||{},`favicon`);if(t===`now`)return`waiting`;t===`later`&&(n=!0)}return n?`complete`:`idle`}function xie(e){return`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect width="32" height="32" rx="6" fill="#0a0810"/><rect x="1" y="1" width="30" height="30" rx="5" fill="none" stroke="#2a2440" stroke-width="1"/><path d="M10 8 L22 16 L10 24Z" fill="${Kg[e]||Kg.idle}"/>${e===`complete`?`<circle cx="25" cy="7" r="3" fill="#4ade80"/>`:``}</svg>`}function Sie(){let e=document.querySelector(`link[rel="icon"]`);if(e instanceof HTMLLinkElement)return e;let t=document.createElement(`link`);return t.rel=`icon`,t.type=`image/svg+xml`,document.head.append(t),t}var Cie=Sie(),qg=`idle`;function Jg(e){let t=bie([...e.values()].map(({currentState:e})=>({state:e})));t!==qg&&(qg=t,Cie.href=`data:image/svg+xml,${encodeURIComponent(xie(t))}`)}function wie(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function Tie(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function Yg({resizer:e,column:t,widthHost:n,widthProperty:r,bounds:i,keyStepPx:a,getStoredWidth:o,setStoredWidth:s}){e.setAttribute(`aria-valuemin`,String(i.minPx)),e.setAttribute(`aria-valuemax`,String(i.maxPx));let c=t=>{let a=wie(t,i);return a===null?null:(n.style.setProperty(r,`${a}px`),e.setAttribute(`aria-valuenow`,String(a)),a)},l=o();l!==null&&c(l);let u=0,d=0;e.addEventListener(`pointerdown`,n=>{n.button===0&&(u=n.clientX,d=t.getBoundingClientRect().width,e.setPointerCapture(n.pointerId),e.dataset.dragging=`true`,n.preventDefault())}),e.addEventListener(`pointermove`,t=>{e.hasPointerCapture(t.pointerId)&&c(d+(t.clientX-u))});let f=t=>{e.releasePointerCapture(t.pointerId),delete e.dataset.dragging};e.addEventListener(`pointerup`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),s(c(d+(t.clientX-u))))}),e.addEventListener(`pointercancel`,t=>{e.hasPointerCapture(t.pointerId)&&(f(t),c(d))}),e.addEventListener(`dblclick`,()=>{n.style.removeProperty(r),e.setAttribute(`aria-valuenow`,String(Math.round(t.getBoundingClientRect().width))),s(null)}),e.addEventListener(`keydown`,e=>{let n=Tie(e.key,a);if(n===null)return;e.preventDefault();let r=c(t.getBoundingClientRect().width+n);r!==null&&s(r)})}var Xg=new Set(rp());function Zg(){ip([...Xg])}function Qg(e){if(!e)return;let t=String(e);Xg.has(t)||(Xg.add(t),Zg())}function $g(e,t){let n=new Set;for(let r of e||[]){let e=t(r);if(!e)continue;let i=String(e);n.add(i),Qg(i)}return[...Xg].filter(e=>!n.has(e))}function e_(e){return!e||!Xg.delete(String(e))?!1:(Zg(),!0)}function Eie(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||a.DORMANT:e;return n===a.DORMANT?`start-session`:n===a.COMPLETE?`dismiss`:null}function Die({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:o,hasFocusInsideTerminal:s}){return t!==a.COMPLETE||!e||e===a.COMPLETE||!r?!1:n?o:i&&s}function Oie(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||a.DORMANT)===a.DORMANT?null:e}function t_(){return pe.snapshot().selectedSessionId}function n_(e){pe.dispatch(`selectSession`,e)}function kie(e){return pe.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function r_(e,t=`explicit-state`){let n=T.get(e);if(!n)return null;let r=Eie(n.currentState,t);return r&&U({type:r,id:e}),n}function i_(e,{rememberFocus:t=!0}={}){n_(e),t&&bp(e)}function a_(){return Oie(yp(),T)}function o_(e=E){return mie(T,e)}function s_(e,t){e&&U({type:`add-session`,name:Hm(t),path:e})}function c_(e,t){let n=T.get(e);if(!n)return;let r=t||n.card?.dataset.merge||`none`;r!==`pending-review`&&r!==`parked`?U({type:`remove-session`,id:e}):Tm({title:`Remove Session`,message:`"${E(n)}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`,confirmLabel:`Discard & Remove`,onConfirm:()=>U({type:`remove-session`,id:e})})}var Aie=Object.freeze({[a.IDLE]:`compaction_restore_idle`,[a.COMPLETE]:`compaction_restore_complete`,[a.WAITING]:`compaction_restore_waiting`});function jie(e){return Object.values(Aie).some(t=>t===e)}var Mie=Object.freeze({Bash:`command`,Read:`file_path`,Edit:`file_path`,MultiEdit:`file_path`,Write:`file_path`,NotebookEdit:`notebook_path`,Grep:`pattern`,Glob:`pattern`,WebFetch:`url`,WebSearch:`query`,Task:`description`,Agent:`description`,Skill:`skill`});function l_(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=160?t:`${t.slice(0,157)}...`}function u_(e,t){let n=Mie[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?l_(r):``}var Nie=new Set([`claude-code`,`codex`]),d_=`\x1B`,Pie=`${d_}[200~`,Fie=`${d_}[201~`,Iie=400,f_=4e3;function p_(e){return typeof e==`string`&&Nie.has(e)}function Lie(e,t){if(!p_(e))return null;let n=t.replace(/\r\n?/g,`
|
|
103
|
-
`).trim();return n?[{data:n.includes(`
|
|
104
|
-
`)?`${Pie}${n}${Fie}`:n,delayBeforeMs:0},{data:`\r`,delayBeforeMs:Iie}]:null}function Rie(e){return p_(e)?[{data:d_,delayBeforeMs:0}]:null}function m_(e,t){return e===a.WAITING&&typeof t==`string`&&t!==``}function zie(e,t){return e.uuid??`${e.kind}-${e.ts}-${t}`}function h_(e){return typeof e.agentId==`string`}function Bie(e){return u_(e.name,e.input)||e.name}function g_(e,t,n){let r=e[e.length-1];if(r?.kind===`work`)return r;let i={kind:`work`,key:t,steps:[],thinkingCount:0,errorCount:0,startedAt:n,endedAt:n};return e.push(i),i}function Vie(e,t){let n=e.get(t.toolUseId);return n?(n.output=t.content,n.isError=t.isError,n.isRunning=!1,!0):!1}function Hie(e){let t=[],n=new Map,r=new Map;return e.forEach((e,i)=>{let a=zie(e,i);if(e.kind===`prompt`&&!h_(e))t.push({kind:`user`,key:a,text:e.text,at:e.ts});else if(e.kind===`assistant`&&!h_(e)){if(!e.text.trim())return;t.push({kind:`assistant`,key:a,text:e.text,at:e.ts})}else if(e.kind===`notice`)t.push({kind:`notice`,key:a,text:e.text,at:e.ts});else if(e.kind===`thinking`){let n=g_(t,a,e.ts);n.thinkingCount+=1,n.endedAt=e.ts}else if(e.kind===`tool_call`){let i=g_(t,a,e.ts),o={toolUseId:e.toolUseId,name:e.name,summary:Bie(e),output:null,isError:!1,isRunning:!0};i.steps.push(o),i.endedAt=e.ts,n.set(e.toolUseId,o),r.set(e.toolUseId,i)}else if(e.kind===`tool_result`){if(!Vie(n,e))return;let t=r.get(e.toolUseId);if(!t)return;t.endedAt=Math.max(t.endedAt,e.ts),e.isError&&(t.errorCount+=1)}}),t}function Uie(e){let t=e.steps.length,n=[];t>0&&n.push(`${t} ${t===1?`step`:`steps`}`),e.thinkingCount>0&&t===0&&n.push(`Thought`),e.errorCount>0&&n.push(`${e.errorCount} failed`);let r=e.steps[e.steps.length-1];return r&&n.push(l_(r.summary)),n.join(` | `)}function Wie(e){return e.steps.some(e=>e.isRunning)}function Gie(e){return e.length<=f_?e:e.slice(e.length-f_)}var Kie=2,qie=1,Jie=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:this._terminal.options.overviewRuler?.width||14,n=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(n.getPropertyValue(`height`)),i=Math.max(0,parseInt(n.getPropertyValue(`width`))),a=window.getComputedStyle(this._terminal.element),o={top:parseInt(a.getPropertyValue(`padding-top`)),bottom:parseInt(a.getPropertyValue(`padding-bottom`)),right:parseInt(a.getPropertyValue(`padding-right`)),left:parseInt(a.getPropertyValue(`padding-left`))},s=o.top+o.bottom,c=o.right+o.left,l=r-s,u=i-c-t;return{cols:Math.max(Kie,Math.floor(u/e.css.cell.width)),rows:Math.max(qie,Math.floor(l/e.css.cell.height))}}},__=Object.defineProperty,Yie=Object.getOwnPropertyDescriptor,Xie=(e,t)=>{for(var n in t)__(e,n,{get:t[n],enumerable:!0})},v_=(e,t,n,r)=>{for(var i=r>1?void 0:r?Yie(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&__(t,n,i),i},G=(e,t)=>(n,r)=>t(n,r,e),y_=`Terminal input`,b_={get:()=>y_,set:e=>y_=e},x_=`Too much output to announce, navigate to rows manually to read`,S_={get:()=>x_,set:e=>x_=e};function Zie(e){return e.replace(/\r?\n/g,`\r`)}function Qie(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function $ie(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function eae(e,t,n,r){e.stopPropagation(),e.clipboardData&&C_(e.clipboardData.getData(`text/plain`),t,n,r)}function C_(e,t,n,r){e=Zie(e),e=Qie(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function w_(e,t,n){let r=n.getBoundingClientRect(),i=e.clientX-r.left-10,a=e.clientY-r.top-10;t.style.width=`20px`,t.style.height=`20px`,t.style.left=`${i}px`,t.style.top=`${a}px`,t.style.zIndex=`1000`,t.focus()}function T_(e,t,n,r,i){w_(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function E_(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function D_(e,t=0,n=e.length){let r=``;for(let i=t;i<n;++i){let t=e[i];t>65535?(t-=65536,r+=String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):r+=String.fromCharCode(t)}return r}var tae=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i=0;if(this._interim){let n=e.charCodeAt(i++);56320<=n&&n<=57343?t[r++]=(this._interim-55296)*1024+n-56320+65536:(t[r++]=this._interim,t[r++]=n),this._interim=0}for(let a=i;a<n;++a){let i=e.charCodeAt(a);if(55296<=i&&i<=56319){if(++a>=n)return this._interim=i,r;let o=e.charCodeAt(a);56320<=o&&o<=57343?t[r++]=(i-55296)*1024+o-56320+65536:(t[r++]=i,t[r++]=o)}else i!==65279&&(t[r++]=i)}return r}},nae=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let n=e.length;if(!n)return 0;let r=0,i,a,o,s,c=0,l=0;if(this.interim[0]){let i=!1,a=this.interim[0];a&=(a&224)==192?31:(a&240)==224?15:7;let o=0,s;for(;(s=this.interim[++o]&63)&&o<4;)a<<=6,a|=s;let c=(this.interim[0]&224)==192?2:(this.interim[0]&240)==224?3:4,u=c-o;for(;l<u;){if(l>=n)return 0;if(s=e[l++],(s&192)!=128){l--,i=!0;break}this.interim[o++]=s,a<<=6,a|=s&63}i||(c===2?a<128?l--:t[r++]=a:c===3?a<2048||a>=55296&&a<=57343||a===65279||(t[r++]=a):a<65536||a>1114111||(t[r++]=a)),this.interim.fill(0)}let u=n-4,d=l;for(;d<n;){for(;d<u&&!((i=e[d])&128)&&!((a=e[d+1])&128)&&!((o=e[d+2])&128)&&!((s=e[d+3])&128);)t[r++]=i,t[r++]=a,t[r++]=o,t[r++]=s,d+=4;if(i=e[d++],i<128)t[r++]=i;else if((i&224)==192){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128||(c=(i&31)<<6|a&63,c<128)){d--;continue}t[r++]=c}else if((i&240)==224){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(c=(i&15)<<12|(a&63)<<6|o&63,c<2048||c>=55296&&c<=57343||c===65279)continue;t[r++]=c}else if((i&248)==240){if(d>=n)return this.interim[0]=i,r;if(a=e[d++],(a&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,r;if(o=e[d++],(o&192)!=128){d--;continue}if(d>=n)return this.interim[0]=i,this.interim[1]=a,this.interim[2]=o,r;if(s=e[d++],(s&192)!=128){d--;continue}if(c=(i&7)<<18|(a&63)<<12|(o&63)<<6|s&63,c<65536||c>1114111)continue;t[r++]=c}}return r}},O_=``,k_=` `,A_=class e{constructor(){this.fg=0,this.bg=0,this.extended=new j_}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},j_=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},M_=class e extends A_{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new j_,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?E_(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},N_=`di$target`,P_=`di$dependencies`,F_=new Map;function rae(e){return e[P_]||[]}function I_(e){if(F_.has(e))return F_.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);iae(t,e,r)};return t._id=e,F_.set(e,t),t}function iae(e,t,n){t[N_]===t?t[P_].push({id:e,index:n}):(t[P_]=[{id:e,index:n}],t[N_]=t)}var L_=I_(`BufferService`),R_=I_(`CoreMouseService`),z_=I_(`CoreService`),aae=I_(`CharsetService`),B_=I_(`InstantiationService`),V_=I_(`LogService`),H_=I_(`OptionsService`),U_=I_(`OscLinkService`),oae=I_(`UnicodeService`),W_=I_(`DecorationService`),G_=class{constructor(e,t,n){this._bufferService=e,this._optionsService=t,this._oscLinkService=n}provideLinks(e,t){let n=this._bufferService.buffer.lines.get(e-1);if(!n){t(void 0);return}let r=[],i=this._optionsService.rawOptions.linkHandler,a=new M_,o=n.getTrimmedLength(),s=-1,c=-1,l=!1;for(let t=0;t<o;t++)if(c!==-1||n.hasContent(t)){if(n.loadCell(t,a),a.hasExtendedAttrs()&&a.extended.urlId){if(c===-1){c=t,s=a.extended.urlId;continue}l=a.extended.urlId!==s}else c!==-1&&(l=!0);if(l||c!==-1&&t===o-1){let n=this._oscLinkService.getLinkData(s)?.uri;if(n){let a={start:{x:c+1,y:e},end:{x:t+ +(!l&&t===o-1),y:e}},s=!1;if(!i?.allowNonHttpProtocols)try{let e=new URL(n);[`http:`,`https:`].includes(e.protocol)||(s=!0)}catch{s=!0}s||r.push({text:n,range:a,activate:(e,t)=>i?i.activate(e,t,a):K_(e,t),hover:(e,t)=>i?.hover?.(e,t,a),leave:(e,t)=>i?.leave?.(e,t,a)})}l=!1,a.hasExtendedAttrs()&&a.extended.urlId?(c=t,s=a.extended.urlId):(c=-1,s=-1)}}t(r)}};G_=v_([G(0,L_),G(1,H_),G(2,U_)],G_);function K_(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
105
|
-
|
|
106
|
-
WARNING: This link could potentially be dangerous`)){let e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(`Opening link blocked as opener could not be cleared`)}}var q_=I_(`CharSizeService`),J_=I_(`CoreBrowserService`),Y_=I_(`MouseService`),X_=I_(`RenderService`),Z_=I_(`SelectionService`),Q_=I_(`CharacterJoinerService`),$_=I_(`ThemeService`),ev=I_(`LinkProviderService`),sae=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ov.isErrorNoTelemetry(e)?new ov(e.message+`
|
|
107
|
-
|
|
108
|
-
`+e.stack):Error(e.message+`
|
|
109
|
-
|
|
110
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function tv(e){rv(e)||sae.onUnexpectedError(e)}var nv=`Canceled`;function rv(e){return e instanceof iv||e instanceof Error&&e.name===nv&&e.message===nv}var iv=class extends Error{constructor(){super(nv),this.name=this.message}};function av(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var ov=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},sv=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function cv(e,t=0){return e[e.length-(1+t)]}var lv;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(lv||={});var uv=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||lv.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};uv.empty=new uv(e=>{});function dv(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var fv;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(fv||={});var pv=null;function mv(e){return pv?.trackDisposable(e),e}function hv(e){pv?.markAsDisposed(e)}function gv(e,t){pv?.setParent(e,t)}function _v(e){return pv?.markAsSingleton(e),e}function vv(e){if(fv.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function cae(...e){return yv(()=>vv(e))}function yv(e){let t=mv({dispose:dv(()=>{hv(t),e()})});return t}var bv=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,mv(this)}dispose(){this._isDisposed||(hv(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{vv(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return gv(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),gv(e,null))}};bv.DISABLE_DISPOSED_WARNING=!1;var xv=bv,Sv=class{constructor(){this._store=new xv,mv(this),gv(this._store,this)}dispose(){hv(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};Sv.None=Object.freeze({dispose(){}});var Cv=class{constructor(){this._isDisposed=!1,mv(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&gv(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,hv(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&gv(e,null),e}},wv=typeof window==`object`?window:globalThis,Tv=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Tv.Undefined=new Tv(void 0);var Ev=Tv,Dv=class{constructor(){this._first=Ev.Undefined,this._last=Ev.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ev.Undefined}clear(){let e=this._first;for(;e!==Ev.Undefined;){let t=e.next;e.prev=Ev.Undefined,e.next=Ev.Undefined,e=t}this._first=Ev.Undefined,this._last=Ev.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Ev(e);if(this._first===Ev.Undefined)this._first=n,this._last=n;else if(t){let e=this._last;this._last=n,n.prev=e,e.next=n}else{let e=this._first;this._first=n,n.next=e,e.prev=n}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(n))}}shift(){if(this._first!==Ev.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Ev.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Ev.Undefined&&e.next!==Ev.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Ev.Undefined&&e.next===Ev.Undefined?(this._first=Ev.Undefined,this._last=Ev.Undefined):e.next===Ev.Undefined?(this._last=this._last.prev,this._last.next=Ev.Undefined):e.prev===Ev.Undefined&&(this._first=this._first.next,this._first.prev=Ev.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Ev.Undefined;)yield e.element,e=e.next}},Ov=globalThis.performance&&typeof globalThis.performance.now==`function`,kv=class e{static create(t){return new e(t)}constructor(e){this._now=Ov&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},Av;(e=>{e.None=()=>Sv.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(cae(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new K({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new K({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new K({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new K({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function ee(e){return new Promise(t=>n(e)(t))}e.toPromise=ee;function x(e){let t=new K;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=x;function te(e,t){return e(e=>t.fire(e))}e.forward=te;function ne(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ne;class S{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new K(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function re(e,t){return new S(e,t).emitter.event}e.fromObservable=re;function C(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof xv?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=C})(Av||={});var jv=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new kv,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};jv.all=new Set,jv._idPool=0;var Mv=jv,Nv=-1,Pv=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new Lv(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};Pv._idPool=1;var Fv=Pv,Iv=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
111
|
-
`).slice(2).join(`
|
|
112
|
-
`))}},Lv=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},Rv=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},zv=0,Bv=class{constructor(e){this.value=e,this.id=zv++}},Vv=2,K=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Nv>0||this._options?.leakWarningThreshold?new Fv(e?.onListenerError??tv,this._options?.leakWarningThreshold??Nv):void 0,this._perfMon=this._options?._profName?new Mv(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new Rv(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||tv)(n),Sv.None}if(this._disposed)return Sv.None;t&&(e=e.bind(t));let r=new Bv(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Iv.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Bv?(this._deliveryQueue??=new Hv,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=yv(()=>{i?.(),this._removeListener(r)});return n instanceof xv?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*Vv<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||tv;if(!n)e.value(t);else try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof Bv)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},Hv=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Uv=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new K,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new K,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Uv.INSTANCE=new Uv;var Wv=Uv;function Gv(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Wv.INSTANCE.onDidChangeZoomLevel;function Kv(e){return Wv.INSTANCE.getZoomFactor(e)}Wv.INSTANCE.onDidChangeFullscreen;var qv=typeof navigator==`object`?navigator.userAgent:``,Jv=qv.indexOf(`Firefox`)>=0,Yv=qv.indexOf(`AppleWebKit`)>=0,Xv=qv.indexOf(`Chrome`)>=0,lae=!Xv&&qv.indexOf(`Safari`)>=0;qv.indexOf(`Electron/`),qv.indexOf(`Android`);var Zv=!1;if(typeof wv.matchMedia==`function`){let e=wv.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=wv.matchMedia(`(display-mode: fullscreen)`);Zv=e.matches,Gv(wv,e,({matches:e})=>{Zv&&t.matches||(Zv=e)})}function uae(){return Zv}var Qv=`en`,$v=!1,ey=!1,ty=!1,ny=!1,ry=!1,iy=Qv,ay,oy=globalThis,sy;typeof oy.vscode<`u`&&typeof oy.vscode.process<`u`?sy=oy.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(sy=process);var dae=typeof sy?.versions?.electron==`string`&&sy?.type===`renderer`;if(typeof sy==`object`){$v=sy.platform===`win32`,ey=sy.platform===`darwin`,ty=sy.platform===`linux`,ty&&sy.env.SNAP&&sy.env.SNAP_REVISION,sy.env.CI||sy.env.BUILD_ARTIFACTSTAGINGDIRECTORY,iy=Qv;let e=sy.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,iy=t.resolvedLanguage||Qv,t.languagePack?.translationsConfigFile}catch{}ny=!0}else typeof navigator==`object`&&!dae?(ay=navigator.userAgent,$v=ay.indexOf(`Windows`)>=0,ey=ay.indexOf(`Macintosh`)>=0,(ay.indexOf(`Macintosh`)>=0||ay.indexOf(`iPad`)>=0||ay.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,ty=ay.indexOf(`Linux`)>=0,ay?.indexOf(`Mobi`),ry=!0,iy=globalThis._VSCODE_NLS_LANGUAGE||Qv,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var cy=$v,ly=ey,fae=ty,uy=ny;ry&&typeof oy.importScripts==`function`&&oy.origin;var dy=ay,fy=iy,py;(e=>{function t(){return fy}e.value=t;function n(){return fy.length===2?fy===`en`:fy.length>=3&&fy[0]===`e`&&fy[1]===`n`&&fy[2]===`-`}e.isDefaultVariant=n;function r(){return fy===`en`}e.isDefault=r})(py||={});var my=typeof oy.postMessage==`function`&&!oy.importScripts;(()=>{if(my){let e=[];oy.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),oy.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var hy=!!(dy&&dy.indexOf(`Chrome`)>=0);dy&&dy.indexOf(`Firefox`),!hy&&dy&&dy.indexOf(`Safari`),dy&&dy.indexOf(`Edg/`),dy&&dy.indexOf(`Android`);var gy=typeof navigator==`object`?navigator:{};uy||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||gy&&gy.clipboard&&gy.clipboard.writeText,uy||gy&&gy.clipboard&&gy.clipboard.readText,uy||uae()||gy.keyboard,`ontouchstart`in wv||gy.maxTouchPoints,wv.PointerEvent&&(`ontouchstart`in wv||navigator.maxTouchPoints);var _y=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},vy=new _y,yy=new _y,by=new _y,xy=Array(230),Sy;(e=>{function t(e){return vy.keyCodeToStr(e)}e.toString=t;function n(e){return vy.strToKeyCode(e)}e.fromString=n;function r(e){return yy.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return by.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return yy.strToKeyCode(e)||by.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return vy.keyCodeToStr(e)}e.toElectronAccelerator=o})(Sy||={});var Cy=class e{constructor(e,t,n,r,i){this.ctrlKey=e,this.shiftKey=t,this.altKey=n,this.metaKey=r,this.keyCode=i}equals(t){return t instanceof e&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){return`K${this.ctrlKey?`1`:`0`}${this.shiftKey?`1`:`0`}${this.altKey?`1`:`0`}${this.metaKey?`1`:`0`}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new wy([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},wy=class{constructor(e){if(e.length===0)throw av(`chords`);this.chords=e}getHashCode(){let e=``;for(let t=0,n=this.chords.length;t<n;t++)t!==0&&(e+=`;`),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function Ty(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Sy.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(Jv)switch(t){case 59:return 85;case 60:if(fae)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(ly)return 57}else if(Yv&&(ly&&t===93||!ly&&t===92))return 57;return xy[t]||0}var Ey=ly?256:2048,Dy=512,Oy=1024,ky=ly?2048:256,Ay=class{constructor(e){this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=t.getModifierState?.(`AltGraph`),this.keyCode=Ty(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=Ey),this.altKey&&(t|=Dy),this.shiftKey&&(t|=Oy),this.metaKey&&(t|=ky),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Cy(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},jy=new WeakMap;function My(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,n=e.parent.location;if(t.origin!==`null`&&n.origin!==`null`&&t.origin!==n.origin)return null}catch{return null}return e.parent}var Ny=class{static getSameOriginWindowChain(e){let t=jy.get(e);if(!t){t=[],jy.set(e,t);let n=e,r;do r=My(n),r?t.push({window:new WeakRef(n),iframeElement:n.frameElement||null}):t.push({window:new WeakRef(n),iframeElement:null}),n=r;while(n)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let n=0,r=0,i=this.getSameOriginWindowChain(e);for(let e of i){let i=e.window.deref();if(n+=i?.scrollY??0,r+=i?.scrollX??0,i===t||!e.iframeElement)break;let a=e.iframeElement.getBoundingClientRect();n+=a.top,r+=a.left}return{top:n,left:r}}},Py=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type===`dblclick`&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX==`number`?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let n=Ny.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Fy=class{constructor(e,t=0,n=0){this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=n,this.deltaX=t;let r=!1;if(Xv){let e=navigator.userAgent.match(/Chrome\/(\d+)/);r=(e?parseInt(e[1]):123)<=122}if(e){let t=e,n=e,i=e.view?.devicePixelRatio||1;if(typeof t.wheelDeltaY<`u`)this.deltaY=r?t.wheelDeltaY/(120*i):t.wheelDeltaY/120;else if(typeof n.VERTICAL_AXIS<`u`&&n.axis===n.VERTICAL_AXIS)this.deltaY=-n.detail/3;else if(e.type===`wheel`){let t=e;this.deltaY=t.deltaMode===t.DOM_DELTA_LINE?Jv&&!ly?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=lae&&cy?-(t.wheelDeltaX/120):r?t.wheelDeltaX/(120*i):t.wheelDeltaX/120;else if(typeof n.HORIZONTAL_AXIS<`u`&&n.axis===n.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type===`wheel`){let t=e;this.deltaX=t.deltaMode===t.DOM_DELTA_LINE?Jv&&!ly?-e.deltaX/3:-e.deltaX:-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(this.deltaY=r?e.wheelDelta/(120*i):e.wheelDelta/120)}}preventDefault(){this.browserEvent?.preventDefault()}stopPropagation(){this.browserEvent?.stopPropagation()}},Iy=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Ly;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Ry?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Av.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Iy})})(Ly||={});var Ry=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Iy:(this._emitter||=new K,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},zy=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e==`function`&&typeof t==`number`&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new sv(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new sv(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},By=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){this.disposable?.dispose(),this.disposable=void 0}cancelAndSet(e,t,n=globalThis){if(this.isDisposed)throw new sv(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=yv(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Vy;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(Vy||={});var Hy=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new K,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await Av.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};Hy.EMPTY=Hy.fromArray([]);function Uy(e){return Wy(e,0)}function Wy(e,t){switch(typeof e){case`object`:return e===null?Gy(349,t):Array.isArray(e)?Jy(e,t):Yy(e,t);case`string`:return qy(e,t);case`boolean`:return Ky(e,t);case`number`:return Gy(e,t);case`undefined`:return Gy(937,t);default:return Gy(617,t)}}function Gy(e,t){return(t<<5)-t+e|0}function Ky(e,t){return Gy(e?433:863,t)}function qy(e,t){t=Gy(149417,t);for(let n=0,r=e.length;n<r;n++)t=Gy(e.charCodeAt(n),t);return t}function Jy(e,t){return t=Gy(104579,t),e.reduce((e,t)=>Wy(t,e),t)}function Yy(e,t){return t=Gy(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=qy(n,t),Wy(e[n],t)),t)}var{registerWindow:pae,getWindow:Xy,getDocument:mae,getWindows:hae,getWindowsCount:gae,getWindowId:Zy,getWindowById:_ae,hasWindow:vae,onDidRegisterWindow:Qy,onWillUnregisterWindow:yae,onDidUnregisterWindow:bae}=function(){let e=new Map,t={window:wv,disposables:new xv};e.set(wv.vscodeWindowId,t);let n=new K,r=new K,i=new K;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return Sv.None;let a=new xv,o={window:t,disposables:a.add(new xv)};return e.set(t.vscodeWindowId,o),a.add(yv(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(q(t,cb.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:wv},getDocument(e){return Xy(e).document}}}(),$y=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function q(e,t,n,r){return new $y(e,t,n,r)}function eb(e,t){return function(n){return t(new Py(e,n))}}function tb(e){return function(t){return e(new Ay(t))}}var nb=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=eb(Xy(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=tb(n)),q(e,t,i,r)},rb,ib=class extends By{constructor(e){super(),this.defaultTarget=e&&Xy(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},ab=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){tv(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,n=new Map,r=new Map,i=i=>{n.set(i,!1);let a=e.get(i)??[];for(t.set(i,a),e.set(i,[]),r.set(i,!0);a.length>0;)a.sort(ab.sort),a.shift().execute();r.set(i,!1)};rb=(t,r,a=0)=>{let o=Zy(t),s=new ab(r,a),c=e.get(o);return c||(c=[],e.set(o,c)),c.push(s),n.get(o)||(n.set(o,!0),t.requestAnimationFrame(()=>i(o))),s}})();var ob=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};ob.None=new ob(0,0);function sb(e){let t=e.getBoundingClientRect(),n=Xy(e);return{left:t.left+n.scrollX,top:t.top+n.scrollY,width:t.width,height:t.height}}new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Uy(n),a=r.get(i);if(a)a.users+=1;else{let o=new K,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(yv(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var cb={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:Yv?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Yv?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Yv?`webkitAnimationIteration`:`animationiteration`},lb=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._paddingTop=``,this._paddingLeft=``,this._paddingBottom=``,this._paddingRight=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._fontVariationSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=ub(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=ub(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=ub(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=ub(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=ub(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=ub(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=ub(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=ub(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=ub(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=ub(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=ub(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=ub(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=ub(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=ub(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function ub(e){return typeof e==`number`?`${e}px`:e}function db(e){return new lb(e)}var fb=class{constructor(){this._hooks=new xv,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let n=this._onStopCallback;this._onStopCallback=null,e&&n&&n(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,n,r,i){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=i;let a=e;try{e.setPointerCapture(t),this._hooks.add(yv(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=Xy(e)}this._hooks.add(q(a,cb.POINTER_MOVE,e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)})),this._hooks.add(q(a,cb.POINTER_UP,e=>this.stopMonitoring(!0)))}};function pb(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length!==0&&console.warn(`Memoize should only be used in functions with zero parameters`)):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var mb;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(mb||={});var hb=class e extends Sv{constructor(){super(),this.dispatched=!1,this.targets=new Dv,this.ignoreTargets=new Dv,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Av.runAndSubscribe(Qy,({window:e,disposables:t})=>{t.add(q(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(q(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(q(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:wv,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=_v(new e),yv(e.INSTANCE.targets.push(t))):Sv.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=_v(new e),yv(e.INSTANCE.ignoreTargets.push(t))):Sv.None}static isTouchDevice(){return`ontouchstart`in wv||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(mb.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t,n){let r=Date.now(),i=Object.keys(this.activeTouches).length;for(let a=0,o=n.changedTouches.length;a<o;a++){let o=n.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier))){console.warn(`move of an UNKNOWN touch`,o);continue}let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-cv(s.rollingPageX))<30&&Math.abs(s.initialPageY-cv(s.rollingPageY))<30){let e=this.newGestureEvent(mb.Tap,s.initialTarget);e.pageX=cv(s.rollingPageX),e.pageY=cv(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-cv(s.rollingPageX))<30&&Math.abs(s.initialPageY-cv(s.rollingPageY))<30){let e=this.newGestureEvent(mb.Contextmenu,s.initialTarget);e.pageX=cv(s.rollingPageX),e.pageY=cv(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=cv(s.rollingPageX),n=cv(s.rollingPageY),i=cv(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=n-s.rollingPageY[0],c=[...this.targets].filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(t,c,r,Math.abs(a)/i,a>0?1:-1,e,Math.abs(o)/i,o>0?1:-1,n)}this.dispatchEvent(this.newGestureEvent(mb.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(n.preventDefault(),n.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===mb.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else(t.type===mb.Change||t.type===mb.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let e of this.ignoreTargets)if(e.contains(t.initialTarget))return;let e=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let r=0,i=t.initialTarget;for(;i&&i!==n;)r++,i=i.parentElement;e.push([r,n])}e.sort((e,t)=>e[0]-t[0]);for(let[n,r]of e)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,n,r,i,a,o,s,c,l){this.handle=rb(t,()=>{let u=Date.now(),d=u-r,f=0,p=0,m=!0;i+=e.SCROLL_FRICTION*d,s+=e.SCROLL_FRICTION*d,i>0&&(m=!1,f=a*i*d),s>0&&(m=!1,p=c*s*d);let h=this.newGestureEvent(mb.Change);h.translationX=f,h.translationY=p,n.forEach(e=>e.dispatchEvent(h)),m||this.inertia(t,n,u,i,a,o+f,s,c,l+p)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier))){console.warn(`end of an UNKNOWN touch`,r);continue}let i=this.activeTouches[r.identifier],a=this.newGestureEvent(mb.Change,i.initialTarget);a.translationX=r.pageX-cv(i.rollingPageX),a.translationY=r.pageY-cv(i.rollingPageY),a.pageX=r.pageX,a.pageY=r.pageY,this.dispatchEvent(a),i.rollingPageX.length>3&&(i.rollingPageX.shift(),i.rollingPageY.shift(),i.rollingTimestamps.shift()),i.rollingPageX.push(r.pageX),i.rollingPageY.push(r.pageY),i.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};hb.SCROLL_FRICTION=-.005,hb.HOLD_DELAY=700,hb.CLEAR_TAP_COUNT_TIME=400,v_([pb],hb,`isTouchDevice`,1);var gb=hb,_b=class extends Sv{onclick(e,t){this._register(q(e,cb.CLICK,n=>t(new Py(Xy(e),n))))}onmousedown(e,t){this._register(q(e,cb.MOUSE_DOWN,n=>t(new Py(Xy(e),n))))}onmouseover(e,t){this._register(q(e,cb.MOUSE_OVER,n=>t(new Py(Xy(e),n))))}onmouseleave(e,t){this._register(q(e,cb.MOUSE_LEAVE,n=>t(new Py(Xy(e),n))))}onkeydown(e,t){this._register(q(e,cb.KEY_DOWN,e=>t(new Ay(e))))}onkeyup(e,t){this._register(q(e,cb.KEY_UP,e=>t(new Ay(e))))}oninput(e,t){this._register(q(e,cb.INPUT,t))}onblur(e,t){this._register(q(e,cb.BLUR,t))}onfocus(e,t){this._register(q(e,cb.FOCUS,t))}onchange(e,t){this._register(q(e,cb.CHANGE,t))}ignoreGesture(e){return gb.ignoreTarget(e)}},vb=11,yb=class extends _b{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement(`div`),this.bgDomNode.className=`arrow-background`,this.bgDomNode.style.position=`absolute`,this.bgDomNode.style.width=e.bgWidth+`px`,this.bgDomNode.style.height=e.bgHeight+`px`,typeof e.top<`u`&&(this.bgDomNode.style.top=`0px`),typeof e.left<`u`&&(this.bgDomNode.style.left=`0px`),typeof e.bottom<`u`&&(this.bgDomNode.style.bottom=`0px`),typeof e.right<`u`&&(this.bgDomNode.style.right=`0px`),this.domNode=document.createElement(`div`),this.domNode.className=e.className,this.domNode.style.position=`absolute`,this.domNode.style.width=vb+`px`,this.domNode.style.height=vb+`px`,typeof e.top<`u`&&(this.domNode.style.top=e.top+`px`),typeof e.left<`u`&&(this.domNode.style.left=e.left+`px`),typeof e.bottom<`u`&&(this.domNode.style.bottom=e.bottom+`px`),typeof e.right<`u`&&(this.domNode.style.right=e.right+`px`),this._pointerMoveMonitor=this._register(new fb),this._register(nb(this.bgDomNode,cb.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(nb(this.domNode,cb.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new ib),this._pointerdownScheduleRepeatTimer=this._register(new zy)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Xy(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},bb=class e{constructor(e,t,n,r,i,a,o){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(t|=0,n|=0,r|=0,i|=0,a|=0,o|=0),this.rawScrollLeft=r,this.rawScrollTop=o,t<0&&(t=0),r+t>n&&(r=n-t),r<0&&(r=0),i<0&&(i=0),o+i>a&&(o=a-i),o<0&&(o=0),this.width=t,this.scrollWidth=n,this.scrollLeft=r,this.height=i,this.scrollHeight=a,this.scrollTop=o}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(t,n){return new e(this._forceIntegerValues,typeof t.width<`u`?t.width:this.width,typeof t.scrollWidth<`u`?t.scrollWidth:this.scrollWidth,n?this.rawScrollLeft:this.scrollLeft,typeof t.height<`u`?t.height:this.height,typeof t.scrollHeight<`u`?t.scrollHeight:this.scrollHeight,n?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new e(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<`u`?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<`u`?t.scrollTop:this.rawScrollTop)}createScrollEvent(e,t){let n=this.width!==e.width,r=this.scrollWidth!==e.scrollWidth,i=this.scrollLeft!==e.scrollLeft,a=this.height!==e.height,o=this.scrollHeight!==e.scrollHeight,s=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:t,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:r,scrollLeftChanged:i,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:s}}},xb=class extends Sv{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new bb(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){let n=this._state.withScrollDimensions(e,t);this._setState(n,!!this._smoothScrolling),this._smoothScrolling?.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&=(this._smoothScrolling.dispose(),null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>`u`?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>`u`?this._smoothScrolling.to.scrollTop:e.scrollTop};let n=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===n.scrollLeft&&this._smoothScrolling.to.scrollTop===n.scrollTop)return;let r;r=t?new Tb(this._smoothScrolling.from,n,this._smoothScrolling.startTime,this._smoothScrolling.duration):this._smoothScrolling.combine(this._state,n,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let t=this._state.withScrollPosition(e);this._smoothScrolling=Tb.start(this._state,t,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let n=this._state;n.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(n,t)))}},Sb=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Cb(e,t){let n=t-e;return function(t){return e+n*Db(t)}}function wb(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Tb=class e{constructor(e,t,n,r){this.from=e,this.to=t,this.duration=r,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(e,t,n){if(Math.abs(e-t)>2.5*n){let r,i;return e<t?(r=e+.75*n,i=t-.75*n):(r=e-.75*n,i=t+.75*n),wb(Cb(e,r),Cb(i,t),.33)}return Cb(e,t)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(e){this.to=e.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(e){let t=(e-this.startTime)/this.duration;return t<1?new Sb(this.scrollLeft(t),this.scrollTop(t),!1):new Sb(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,n,r){return e.start(t,n,r)}static start(t,n,r){r+=10;let i=Date.now()-10;return new e(t,n,i,r)}};function Eb(e){return e**3}function Db(e){return 1-Eb(1-e)}var Ob=class extends Sv{constructor(e,t,n){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=n,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new zy)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3||this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){this._isNeeded?this._shouldBeVisible?this._reveal():this._hide(!0):this._hide(!1)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{this._domNode?.setClassName(this._visibleClassName)},0))}_hide(e){this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,this._domNode?.setClassName(this._invisibleClassName+(e?` fade`:``)))}},kb=140,Ab=class extends _b{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new Ob(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new fb),this._shouldRender=!0,this.domNode=db(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition(`absolute`),this._register(q(this.domNode.domNode,cb.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new yb(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=db(document.createElement(`div`)),this.slider.setClassName(`slider`),this.slider.setPosition(`absolute`),this.slider.setTop(e),this.slider.setLeft(t),typeof n==`number`&&this.slider.setWidth(n),typeof r==`number`&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain(`strict`),this.domNode.domNode.appendChild(this.slider.domNode),this._register(q(this.slider.domNode,cb.POINTER_DOWN,e=>{e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))})),this.onclick(this.slider.domNode,e=>{e.leftButton&&e.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,n=t+this._scrollbarState.getSliderPosition(),r=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),i=this._sliderPointerPosition(e);n<=i&&i<=r?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,n;if(e.target===this.domNode.domNode&&typeof e.offsetX==`number`&&typeof e.offsetY==`number`)t=e.offsetX,n=e.offsetY;else{let r=sb(this.domNode.domNode);t=e.pageX-r.left,n=e.pageY-r.top}let r=this._pointerDownRelativePosition(t,n);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),n=this._sliderOrthogonalPointerPosition(e),r=this._scrollbarState.clone();this.slider.toggleClassName(`active`,!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{let i=this._sliderOrthogonalPointerPosition(e),a=Math.abs(i-n);if(cy&&a>kb){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let o=this._sliderPointerPosition(e)-t;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName(`active`,!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},jb=class e{constructor(e,t,n,r,i,a){this._scrollbarSize=Math.round(t),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(e),this._visibleSize=r,this._scrollSize=i,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new e(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let t=Math.round(e);return this._visibleSize!==t&&(this._visibleSize=t,this._refreshComputedValues(),!0)}setScrollSize(e){let t=Math.round(e);return this._scrollSize!==t&&(this._scrollSize=t,this._refreshComputedValues(),!0)}setScrollPosition(e){let t=Math.round(e);return this._scrollPosition!==t&&(this._scrollPosition=t,this._refreshComputedValues(),!0)}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,t,n,r,i){let a=Math.max(0,n-e),o=Math.max(0,a-2*t),s=r>0&&r>n;if(!s)return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let c=Math.round(Math.max(20,Math.floor(n*o/r))),l=(o-c)/(r-n),u=i*l;return{computedAvailableSize:Math.round(a),computedIsNeeded:s,computedSliderSize:Math.round(c),computedSliderRatio:l,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=e._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize-this._computedSliderSize/2;return Math.round(t/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let t=e-this._arrowSize,n=this._scrollPosition;return t<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(e){if(!this._computedIsNeeded)return 0;let t=this._computedSliderPosition+e;return Math.round(t/this._computedSliderRatio)}},Mb=class extends Ab{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new jb(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,r.width,r.scrollWidth,i.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:`horizontal`,scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},Nb=class extends Ab{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new jb(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,r.height,r.scrollHeight,i.scrollTop),visibility:t.vertical,extraScrollbarClassName:`vertical`,scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw Error(`horizontalHasArrows is not supported in xterm.js`);this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},Pb=500,Fb=50,Ib=!0,Lb=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Rb=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let e=1,t=0,n=1,r=this._rear;do{let i=r===this._front?e:2**-n;if(e-=i,t+=this._memory[r].score*i,r===this._front)break;r=(this._capacity+r-1)%this._capacity,n++}while(1);return t<=.5}acceptStandardWheelEvent(e){if(Xv){let t=Kv(Xy(e.browserEvent));this.accept(Date.now(),e.deltaX*t,e.deltaY*t)}else this.accept(Date.now(),e.deltaX,e.deltaY)}accept(e,t,n){let r=null,i=new Lb(e,t,n);this._front===-1&&this._rear===-1?(this._memory[0]=i,this._front=0,this._rear=0):(r=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=i),i.score=this._computeScore(i,r)}_computeScore(e,t){if(Math.abs(e.deltaX)>0&&Math.abs(e.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(n+=.25),t){let r=Math.abs(e.deltaX),i=Math.abs(e.deltaY),a=Math.abs(t.deltaX),o=Math.abs(t.deltaY),s=Math.max(Math.min(r,a),1),c=Math.max(Math.min(i,o),1),l=Math.max(r,a),u=Math.max(i,o);l%s===0&&u%c===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};Rb.INSTANCE=new Rb;var zb=Rb,Bb=class extends _b{constructor(e,t,n){super(),this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new K),this.onWillScroll=this._onWillScroll.event,this._options=Hb(t),this._scrollable=n,this._register(this._scrollable.onScroll(e=>{this._onWillScroll.fire(e),this._onDidScroll(e),this._onScroll.fire(e)}));let r={onMouseWheel:e=>this._onMouseWheel(e),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Nb(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new Mb(this._scrollable,this._options,r)),this._domNode=document.createElement(`div`),this._domNode.className=`xterm-scrollable-element `+this._options.className,this._domNode.setAttribute(`role`,`presentation`),this._domNode.style.position=`relative`,this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=db(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=db(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=db(document.createElement(`div`)),this._topLeftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,e=>this._onMouseOver(e)),this.onmouseleave(this._listenOnDomNode,e=>this._onMouseLeave(e)),this._hideTimeout=this._register(new zy),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=vv(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,ly&&(this._options.className+=` mac`),this._domNode.className=`xterm-scrollable-element `+this._options.className}updateOptions(e){typeof e.handleMouseWheel<`u`&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<`u`&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<`u`&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<`u`&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<`u`&&(this._options.horizontal=e.horizontal),typeof e.vertical<`u`&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<`u`&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<`u`&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<`u`&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Fy(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=vv(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(q(this._listenOnDomNode,cb.MOUSE_WHEEL,e=>{this._onMouseWheel(new Fy(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=zb.INSTANCE;Ib&&t.acceptStandardWheelEvent(e);let n=!1;if(e.deltaY||e.deltaX){let r=e.deltaY*this._options.mouseWheelScrollSensitivity,i=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&i+r===0?i=r=0:Math.abs(r)>=Math.abs(i)?i=0:r=0),this._options.flipAxes&&([r,i]=[i,r]);let a=!ly&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||a)&&!i&&(i=r,r=0),e.browserEvent&&e.browserEvent.altKey&&(i*=this._options.fastScrollSensitivity,r*=this._options.fastScrollSensitivity);let o=this._scrollable.getFutureScrollPosition(),s={};if(r){let e=Fb*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Fb*i,t=o.scrollLeft-(e<0?Math.floor(e):Math.ceil(e));this._horizontalScrollbar.writeScrollPosition(s,t)}s=this._scrollable.validateScrollPosition(s),(o.scrollLeft!==s.scrollLeft||o.scrollTop!==s.scrollTop)&&(Ib&&this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(s):this._scrollable.setScrollPositionNow(s),n=!0)}let r=n;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,n=e.scrollLeft>0,r=n?` left`:``,i=t?` top`:``,a=n||t?` top-left-corner`:``;this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${i}`),this._topLeftShadowDomNode.setClassName(`shadow${a}${i}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Pb)}},Vb=class extends Bb{constructor(e,t,n){super(e,t,n)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Hb(e){let t={lazyRender:typeof e.lazyRender<`u`&&e.lazyRender,className:typeof e.className<`u`?e.className:``,useShadows:typeof e.useShadows<`u`?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<`u`?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<`u`&&e.flipAxes,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<`u`&&e.consumeMouseWheelIfScrollbarIsNeeded,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<`u`&&e.alwaysConsumeMouseWheel,scrollYToX:typeof e.scrollYToX<`u`&&e.scrollYToX,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<`u`?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<`u`?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<`u`?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<`u`?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<`u`?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<`u`?e.listenOnDomNode:null,horizontal:typeof e.horizontal<`u`?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<`u`?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<`u`&&e.horizontalHasArrows,vertical:typeof e.vertical<`u`?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<`u`?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<`u`&&e.verticalHasArrows,verticalSliderSize:typeof e.verticalSliderSize<`u`?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<`u`&&e.scrollByPage};return t.horizontalSliderSize=typeof e.horizontalSliderSize<`u`?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<`u`?e.verticalSliderSize:t.verticalScrollbarSize,ly&&(t.className+=` mac`),t}var Ub=class extends Sv{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new xb({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>rb(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Vb(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},c)),this._register(this._optionsService.onMultipleOptionChange([`scrollSensitivity`,`fastScrollSensitivity`,`overviewRuler`],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(i.onProtocolChange(e=>{this._scrollableElement.updateOptions({handleMouseWheel:!(e&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(Av.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(yv(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(yv(()=>this._styleElement.remove())),this._register(Av.runAndSubscribe(a.onChangeColors,()=>{this._styleElement.textContent=[`.xterm .xterm-scrollable-element > .scrollbar > .slider {`,` background: ${a.colors.scrollbarSliderBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider:hover {`,` background: ${a.colors.scrollbarSliderHoverBackground.css};`,`}`,`.xterm .xterm-scrollable-element > .scrollbar > .slider.active {`,` background: ${a.colors.scrollbarSliderActiveBackground.css};`,`}`].join(`
|
|
113
|
-
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(e=>this._handleScroll(e)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:this._optionsService.rawOptions.overviewRuler?.width||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),n=t-this._bufferService.buffer.ydisp;n!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(n)),this._isHandlingScroll=!1}};Ub=v_([G(2,L_),G(3,J_),G(4,R_),G(5,$_),G(6,H_),G(7,X_)],Ub);var Wb=class extends Sv{constructor(e,t,n,r,i){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=n,this._decorationService=r,this._renderService=i,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(e=>this._removeDecoration(e))),this._register(yv(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){let t=this._coreBrowserService.mainDocument.createElement(`div`);t.classList.add(`xterm-decoration`),t.classList.toggle(`xterm-decoration-top-layer`,e?.options?.layer===`top`),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let n=e.options.x??0;return n&&n>this._bufferService.cols&&(t.style.display=`none`),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=`none`,e.onRenderEmitter.fire(e.element));else{let n=this._decorationElements.get(e);n||(n=this._createElement(e),e.element=n,this._decorationElements.set(e,n),this._container.appendChild(n),e.onDispose(()=>{this._decorationElements.delete(e),n.remove()})),n.style.display=this._altBufferIsActive?`none`:`block`,this._altBufferIsActive||(n.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,n.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,n.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,n.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(n)}}_refreshXPosition(e,t=e.element){if(!t)return;let n=e.options.x??0;(e.options.anchor||`left`)===`right`?t.style.right=n?`${n*this._renderService.dimensions.css.cell.width}px`:``:t.style.left=n?`${n*this._renderService.dimensions.css.cell.width}px`:``}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};Wb=v_([G(1,L_),G(2,J_),G(3,W_),G(4,X_)],Wb);var Gb=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(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,n){return t>=e.startBufferLine-this._linePadding[n||`full`]&&t<=e.endBufferLine+this._linePadding[n||`full`]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Kb={full:0,left:0,center:0,right:0},qb={full:0,left:0,center:0,right:0},Jb={full:0,left:0,center:0,right:0},Yb=class extends Sv{constructor(e,t,n,r,i,a,o,s){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=n,this._decorationService=r,this._renderService=i,this._optionsService=a,this._themeService=o,this._coreBrowserService=s,this._colorZoneStore=new Gb,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(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement),this._register(yv(()=>this._canvas?.remove()));let c=this._canvas.getContext(`2d`);if(c)this._ctx=c;else throw Error(`Ctx cannot be null`);this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),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())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange(`overviewRuler`,()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){return this._optionsService.options.overviewRuler?.width||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);qb.full=this._canvas.width,qb.left=e,qb.center=t,qb.right=e,this._refreshDrawHeightConstants(),Jb.full=1,Jb.left=1,Jb.center=1+qb.left,Jb.right=1+qb.left+qb.center}_refreshDrawHeightConstants(){Kb.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Kb.left=t,Kb.center=t,Kb.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Kb.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Kb.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Kb.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Kb.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(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!==`full`&&this._renderColorZone(t);for(let t of e)t.position===`full`&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(Jb[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Kb[e.position||`full`]/2),qb[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Kb[e.position||`full`]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};Yb=v_([G(2,L_),G(3,W_),G(4,X_),G(5,H_),G(6,$_),G(7,J_)],Yb);var J;(e=>(e.NUL=`\0`,e.SOH=``,e.STX=``,e.ETX=``,e.EOT=``,e.ENQ=``,e.ACK=``,e.BEL=`\x07`,e.BS=`\b`,e.HT=` `,e.LF=`
|
|
114
|
-
`,e.VT=`\v`,e.FF=`\f`,e.CR=`\r`,e.SO=``,e.SI=``,e.DLE=``,e.DC1=``,e.DC2=``,e.DC3=``,e.DC4=``,e.NAK=``,e.SYN=``,e.ETB=``,e.CAN=``,e.EM=``,e.SUB=``,e.ESC=`\x1B`,e.FS=``,e.GS=``,e.RS=``,e.US=``,e.SP=` `,e.DEL=``))(J||={});var Xb;(e=>(e.PAD=``,e.HOP=``,e.BPH=``,e.NBH=``,e.IND=``,e.NEL=`
`,e.SSA=``,e.ESA=``,e.HTS=``,e.HTJ=``,e.VTS=``,e.PLD=``,e.PLU=``,e.RI=``,e.SS2=``,e.SS3=``,e.DCS=``,e.PU1=``,e.PU2=``,e.STS=``,e.CCH=``,e.MW=``,e.SPA=``,e.EPA=``,e.SOS=``,e.SGCI=``,e.SCI=``,e.CSI=``,e.ST=``,e.OSC=``,e.PM=``,e.APC=``))(Xb||={});var Zb;(e=>e.ST=`${J.ESC}\\`)(Zb||={});var Qb=class{constructor(e,t,n,r,i,a){this._textarea=e,this._compositionView=t,this._bufferService=n,this._optionsService=r,this._coreService=i,this._renderService=a,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=``}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=``,this._dataAlreadySent=``,this._compositionView.classList.add(`active`)}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(`active`),this._isComposing=!1,e){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let t;e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,this._compositionPosition.start):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,n=t.replace(e,``);this._dataAlreadySent=n,t.length>e.length?this._coreService.triggerDataEvent(n,!0):t.length<e.length?this._coreService.triggerDataEvent(`${J.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,r=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=r+`px`,this._compositionView.style.top=n+`px`,this._compositionView.style.height=t+`px`,this._compositionView.style.lineHeight=t+`px`,this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+`px`;let i=this._compositionView.getBoundingClientRect();this._textarea.style.left=r+`px`,this._textarea.style.top=n+`px`,this._textarea.style.width=Math.max(i.width,1)+`px`,this._textarea.style.height=Math.max(i.height,1)+`px`,this._textarea.style.lineHeight=i.height+`px`}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Qb=v_([G(2,L_),G(3,H_),G(4,z_),G(5,X_)],Qb);var $b=0,ex=0,tx=0,nx=0,rx={css:`#00000000`,rgba:0},ix;(e=>{function t(e,t,n,r){return r===void 0?`#${lx(e)}${lx(t)}${lx(n)}`:`#${lx(e)}${lx(t)}${lx(n)}${lx(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(ix||={});var ax;(e=>{function t(e,t){if(nx=(t.rgba&255)/255,nx===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return $b=a+Math.round((n-a)*nx),ex=o+Math.round((r-o)*nx),tx=s+Math.round((i-s)*nx),{css:ix.toCss($b,ex,tx),rgba:ix.toRgba($b,ex,tx)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=cx.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return ix.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[$b,ex,tx]=cx.toChannels(t),{css:ix.toCss($b,ex,tx),rgba:t}}e.opaque=i;function a(e,t){return nx=Math.round(t*255),[$b,ex,tx]=cx.toChannels(e.rgba),{css:ix.toCss($b,ex,tx,nx),rgba:ix.toRgba($b,ex,tx,nx)}}e.opacity=a;function o(e,t){return nx=e.rgba&255,a(e,nx*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(ax||={});var ox;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return $b=parseInt(e.slice(1,2).repeat(2),16),ex=parseInt(e.slice(2,3).repeat(2),16),tx=parseInt(e.slice(3,4).repeat(2),16),ix.toColor($b,ex,tx);case 5:return $b=parseInt(e.slice(1,2).repeat(2),16),ex=parseInt(e.slice(2,3).repeat(2),16),tx=parseInt(e.slice(3,4).repeat(2),16),nx=parseInt(e.slice(4,5).repeat(2),16),ix.toColor($b,ex,tx,nx);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return $b=parseInt(r[1]),ex=parseInt(r[2]),tx=parseInt(r[3]),nx=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),ix.toColor($b,ex,tx,nx);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[$b,ex,tx,nx]=t.getImageData(0,0,1,1).data,nx!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:ix.toRgba($b,ex,tx,nx),css:e}}e.toColor=r})(ox||={});var sx;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(sx||={});var cx;(e=>{function t(e,t){if(nx=(t&255)/255,nx===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return $b=a+Math.round((n-a)*nx),ex=o+Math.round((r-o)*nx),tx=s+Math.round((i-s)*nx),ix.toRgba($b,ex,tx)}e.blend=t;function n(e,t,n){let a=sx.relativeLuminance(e>>8),o=sx.relativeLuminance(t>>8);if(ux(a,o)<n){if(o<a){let o=r(e,t,n),s=ux(a,sx.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>ux(a,sx.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ux(a,sx.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>ux(a,sx.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ux(sx.relativeLuminance2(o,s,c),sx.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=ux(sx.relativeLuminance2(o,s,c),sx.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=ux(sx.relativeLuminance2(o,s,c),sx.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=ux(sx.relativeLuminance2(o,s,c),sx.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(cx||={});function lx(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ux(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var xae=class extends A_{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},dx=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new M_}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let n=[],r=t.translateToString(!0),i=0,a=0,o=0,s=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==s||this._workCell.bg!==c){if(e-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}i=e,o=a,s=this._workCell.fg,c=this._workCell.bg}a+=this._workCell.getChars().length||k_.length}if(this._bufferService.cols-i>1){let e=this._getJoinedRanges(r,o,a,t,i);for(let t=0;t<e.length;t++)n.push(e[t])}return n}_getJoinedRanges(e,t,n,r,i){let a=e.substring(t,n),o=[];try{o=this._characterJoiners[0].handler(a)}catch(e){console.error(e)}for(let e=1;e<this._characterJoiners.length;e++)try{let t=this._characterJoiners[e].handler(a);for(let e=0;e<t.length;e++)dx._mergeRanges(o,t[e])}catch(e){console.error(e)}return this._stringRangesToCellRanges(o,r,i),o}_stringRangesToCellRanges(e,t,n){let r=0,i=!1,a=0,o=e[r];if(o){for(let s=n;s<this._bufferService.cols;s++){let n=t.getWidth(s),c=t.getString(s).length||k_.length;if(n!==0){if(!i&&o[0]<=a&&(o[0]=s,i=!0),o[1]<=a){if(o[1]=s,o=e[++r],!o)break;o[0]<=a?(o[0]=s,i=!0):i=!1}a+=c}}o&&(o[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(t[1]<=i[0])return e[r-1][1]=t[1],e;if(t[1]<=i[1])return e[r-1][1]=Math.max(t[1],i[1]),e.splice(r,1),e;e.splice(r,1),r--}else{if(t[1]<=i[0])return e.splice(r,0,t),e;if(t[1]<=i[1])return i[0]=Math.min(t[0],i[0]),e;t[0]<i[1]&&(i[0]=Math.min(t[0],i[0]),n=!0);continue}}return n?e[e.length-1][1]=t[1]:e.push(t),e}};dx=v_([G(0,L_)],dx);function Sae(e){return 57508<=e&&e<=57558}function Cae(e){return 9472<=e&&e<=9631}function wae(e){return Sae(e)||Cae(e)}function Tae(){return{css:{canvas:fx(),cell:fx()},device:{canvas:fx(),cell:fx(),char:{width:0,height:0,left:0,top:0}}}}function fx(){return{width:0,height:0}}var px=class{constructor(e,t,n,r,i,a,o){this._document=e,this._characterJoinerService=t,this._optionsService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._themeService=o,this._workCell=new M_,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,b=0,ee=0,x=!1,te=0,ne=!1,S=0,re=0,C=[],w=l!==-1&&u!==-1;for(let ie=0;ie<m;ie++){e.loadCell(ie,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ae=!1,oe=ie>=re,T=ie,E=this._workCell;if(f.length>0&&ie===f[0][0]&&oe){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)oe&&=i===this._isCellInSelection(v,t);oe&&=!n||a<r[0]||a>=r[1],oe?(ae=!0,E=new xae(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),T=r[1]-1,m=E.getWidth()):re=r[1]}let D=this._isCellInSelection(ie,t),O=n&&ie===a,se=w&&ie>=l&&ie<=u,ce=!1;this._decorationService.forEachDecorationAtCell(ie,t,void 0,e=>{ce=!0});let le=E.getChars()||k_;if(le===` `&&(E.isUnderline()||E.isOverline())&&(le=`\xA0`),S=m*s-c.get(le,E.isBold(),E.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(D&&ne||!D&&!ne&&E.bg===y)&&(D&&ne&&p.selectionForeground||E.fg===b)&&E.extended.ext===ee&&se===x&&S===te&&!O&&!ae&&!ce&&oe){E.isInvisible()?_+=k_:_+=le,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=E.bg,b=E.fg,ee=E.extended.ext,x=se,te=S,ne=D,ae&&a>=ie&&a<=T&&(a=ie),!this._coreService.isCursorHidden&&O&&this._coreService.isCursorInitialized){if(C.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&C.push(`xterm-cursor-blink`),C.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:C.push(`xterm-cursor-outline`);break;case`block`:C.push(`xterm-cursor-block`);break;case`bar`:C.push(`xterm-cursor-bar`);break;case`underline`:C.push(`xterm-cursor-underline`)}}if(E.isBold()&&C.push(`xterm-bold`),E.isItalic()&&C.push(`xterm-italic`),E.isDim()&&C.push(`xterm-dim`),_=E.isInvisible()?k_:E.getChars()||k_,E.isUnderline()&&(C.push(`xterm-underline-${E.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!E.isUnderlineColorDefault())){if(E.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${A_.toColorRGB(E.getUnderlineColor()).join(`,`)})`;else{let e=E.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&E.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}E.isOverline()&&(C.push(`xterm-overline`),_===` `&&(_=`\xA0`)),E.isStrikethrough()&&C.push(`xterm-strikethrough`),se&&(h.style.textDecoration=`underline`);let ue=E.getFgColor(),de=E.getFgColorMode(),fe=E.getBgColor(),pe=E.getBgColorMode(),me=!!E.isInverse();if(me){let e=ue;ue=fe,fe=e;let t=de;de=pe,pe=t}let he,ge,_e=!1;this._decorationService.forEachDecorationAtCell(ie,t,void 0,e=>{e.options.layer!==`top`&&_e||(e.backgroundColorRGB&&(pe=50331648,fe=e.backgroundColorRGB.rgba>>8&16777215,he=e.backgroundColorRGB),e.foregroundColorRGB&&(de=50331648,ue=e.foregroundColorRGB.rgba>>8&16777215,ge=e.foregroundColorRGB),_e=e.options.layer===`top`)}),!_e&&D&&(he=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,fe=he.rgba>>8&16777215,pe=50331648,_e=!0,p.selectionForeground&&(de=50331648,ue=p.selectionForeground.rgba>>8&16777215,ge=p.selectionForeground)),_e&&C.push(`xterm-decoration-top`);let ve;switch(pe){case 16777216:case 33554432:ve=p.ansi[fe],C.push(`xterm-bg-${fe}`);break;case 50331648:ve=ix.toColor(fe>>16,fe>>8&255,fe&255),this._addStyle(h,`background-color:#${mx((fe>>>0).toString(16),`0`,6)}`);break;default:me?(ve=p.foreground,C.push(`xterm-bg-257`)):ve=p.background}switch(he||E.isDim()&&(he=ax.multiplyOpacity(ve,.5)),de){case 16777216:case 33554432:E.isBold()&&ue<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ue+=8),this._applyMinimumContrast(h,ve,p.ansi[ue],E,he,void 0)||C.push(`xterm-fg-${ue}`);break;case 50331648:let e=ix.toColor(ue>>16&255,ue>>8&255,ue&255);this._applyMinimumContrast(h,ve,e,E,he,ge)||this._addStyle(h,`color:#${mx(ue.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,ve,p.foreground,E,he,ge)||me&&C.push(`xterm-fg-257`)}C.length&&=(h.className=C.join(` `),0),!O&&!ae&&!ce&&oe?g++:h.textContent=_,S!==this.defaultSpacing&&(h.style.letterSpacing=`${S}px`),d.push(h),ie=T}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||wae(r.getCode()))return!1;let o=this._getContrastCache(r),s;if(!i&&!a&&(s=o.getColor(t.rgba,n.rgba)),s===void 0){let e=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);s=ax.ensureContrastRatio(i||t,a||n,e),o.setColor((i||t).rgba,(a||n).rgba,s??null)}return s?(this._addStyle(e,`color:${s.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(`style`,`${e.getAttribute(`style`)||``}${t};`)}_isCellInSelection(e,t){let n=this._selectionStart,r=this._selectionEnd;return!n||!r?!1:this._columnSelectMode?n[0]<=r[0]?e>=n[0]&&t>=n[1]&&e<r[0]&&t<=r[1]:e<n[0]&&t>=n[1]&&e>=r[0]&&t<=r[1]:t>n[1]&&t<r[1]||n[1]===r[1]&&t===n[1]&&e>=n[0]&&e<r[0]||n[1]<r[1]&&t===r[1]&&e<r[0]||n[1]<r[1]&&t===n[1]&&e>=n[0]}};px=v_([G(1,Q_),G(2,H_),G(3,J_),G(4,z_),G(5,W_),G(6,$_)],px);function mx(e,t,n){for(;e.length<n;)e=t+e;return e}var Eae=class{constructor(e,t){this._flat=new Float32Array(256),this._font=``,this._fontSize=0,this._weight=`normal`,this._weightBold=`bold`,this._measureElements=[],this._container=e.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`;let n=e.createElement(`span`);n.classList.add(`xterm-char-measure-element`);let r=e.createElement(`span`);r.classList.add(`xterm-char-measure-element`),r.style.fontWeight=`bold`;let i=e.createElement(`span`);i.classList.add(`xterm-char-measure-element`),i.style.fontStyle=`italic`;let a=e.createElement(`span`);a.classList.add(`xterm-char-measure-element`),a.style.fontWeight=`bold`,a.style.fontStyle=`italic`,this._measureElements=[n,r,i,a],this._container.appendChild(n),this._container.appendChild(r),this._container.appendChild(i),this._container.appendChild(a),t.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(e,t,n,r){e===this._font&&t===this._fontSize&&n===this._weight&&r===this._weightBold||(this._font=e,this._fontSize=t,this._weight=n,this._weightBold=r,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${n}`,this._measureElements[1].style.fontWeight=`${r}`,this._measureElements[2].style.fontWeight=`${n}`,this._measureElements[3].style.fontWeight=`${r}`,this.clear())}get(e,t,n){let r=0;if(!t&&!n&&e.length===1&&(r=e.charCodeAt(0))<256){if(this._flat[r]!==-9999)return this._flat[r];let t=this._measure(e,0);return t>0&&(this._flat[r]=t),t}let i=e;t&&(i+=`B`),n&&(i+=`I`);let a=this._holey.get(i);if(a===void 0){let r=0;t&&(r|=1),n&&(r|=2),a=this._measure(e,r),a>0&&this._holey.set(i,a)}return a}_measure(e,t){let n=this._measureElements[t];return n.textContent=e.repeat(32),n.offsetWidth/32}},Dae=class{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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);s>=e.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0])}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function Oae(){return new Dae}var hx=`xterm-dom-renderer-owner-`,gx=`xterm-rows`,_x=`xterm-fg-`,vx=`xterm-bg-`,yx=`xterm-focus`,bx=`xterm-selection`,kae=1,xx=class extends Sv{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p){super(),this._terminal=e,this._document=t,this._element=n,this._screenElement=r,this._viewportElement=i,this._helperContainer=a,this._linkifier2=o,this._charSizeService=c,this._optionsService=l,this._bufferService=u,this._coreService=d,this._coreBrowserService=f,this._themeService=p,this._terminalClass=kae++,this._rowElements=[],this._selectionRenderModel=Oae(),this.onRequestRedraw=this._register(new K).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(gx),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(bx),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=Tae(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(e=>this._injectCss(e))),this._injectCss(this._themeService.colors),this._rowFactory=s.createInstance(px,document),this._element.classList.add(hx+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(e=>this._handleLinkHover(e))),this._register(this._linkifier2.onHideLinkUnderline(e=>this._handleLinkLeave(e))),this._register(yv(()=>{this._element.classList.remove(hx+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Eae(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(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),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/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),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(let e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=`hidden`;this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${gx} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,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(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(`style`),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${gx} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${gx} .xterm-dim { color: ${ax.multiplyOpacity(e.foreground,.5).css};}`,t+=`${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;}`;let n=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,i=`blink_block_${this._terminalClass}`;t+=`@keyframes ${n} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${r} { 50% { box-shadow: none; }}`,t+=`@keyframes ${i} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${gx}.${yx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${gx}.${yx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${gx}.${yx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${gx} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${gx} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${gx} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${gx} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${gx} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${bx} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${bx} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${bx} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${_x}${n} { color: ${r.css}; }${this._terminalSelector} .${_x}${n}.xterm-dim { color: ${ax.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${vx}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${_x}257 { color: ${ax.opaque(e.background).css}; }${this._terminalSelector} .${_x}257.xterm-dim { color: ${ax.multiplyOpacity(ax.opaque(e.background),.5).css}; }${this._terminalSelector} .${vx}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get(`W`,!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){let e=this._document.createElement(`div`);this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),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(yx),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(yx),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,n){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,n),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,n),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,i=this._selectionRenderModel.viewportEndRow,a=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,s=this._document.createDocumentFragment();if(n){let n=e[0]>t[0];s.appendChild(this._createSelectionElement(a,n?t[0]:e[0],n?e[0]:t[0],o-a+1))}else{let n=r===a?e[0]:0,c=a===i?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(a,n,c));let l=o-a-1;if(s.appendChild(this._createSelectionElement(a+1,0,this._bufferService.cols,l)),a!==o){let e=i===o?t[0]:this._bufferService.cols;s.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(s)}_createSelectionElement(e,t,n,r=1){let i=this._document.createElement(`div`),a=t*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(n-t);return a+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-a),i.style.height=`${r*this.dimensions.css.cell.height}px`,i.style.top=`${e*this.dimensions.css.cell.height}px`,i.style.left=`${a}px`,i.style.width=`${o}px`,i}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(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let n=this._bufferService.buffer,r=n.ybase+n.y,i=Math.min(n.x,this._bufferService.cols-1),a=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,s=this._optionsService.rawOptions.cursorInactiveStyle;for(let c=e;c<=t;c++){let e=c+n.ydisp,t=this._rowElements[c],l=n.lines.get(e);if(!t||!l)break;t.replaceChildren(...this._rowFactory.createRow(l,e,e===r,o,s,i,a,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${hx}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,n,r,i,a){n<0&&(e=0),r<0&&(t=0);let o=this._bufferService.rows-1;n=Math.max(Math.min(n,o),0),r=Math.max(Math.min(r,o),0),i=Math.min(i,this._bufferService.cols);let s=this._bufferService.buffer,c=s.ybase+s.y,l=Math.min(s.x,i-1),u=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=n;o<=r;++o){let p=o+s.ydisp,m=this._rowElements[o],h=s.lines.get(p);if(!m||!h)break;m.replaceChildren(...this._rowFactory.createRow(h,p,p===c,d,f,l,u,this.dimensions.css.cell.width,this._widthCache,a?o===n?e:0:-1,a?(o===r?t:i)-1:-1))}}};xx=v_([G(7,B_),G(8,q_),G(9,H_),G(10,L_),G(11,z_),G(12,J_),G(13,$_)],xx);var Sx=class extends Sv{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new K),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new jae(this._optionsService))}catch{this._measureStrategy=this._register(new Aae(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange([`fontFamily`,`fontSize`],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};Sx=v_([G(2,H_)],Sx);var Cx=class extends Sv{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},Aae=class extends Cx{constructor(e,t,n){super(),this._document=e,this._parentElement=t,this._optionsService=n,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}},jae=class extends Cx{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(`2d`);let t=this._ctx.measureText(`W`);if(!(`width`in t&&`fontBoundingBoxAscent`in t&&`fontBoundingBoxDescent`in t))throw Error(`Required font metrics not supported`)}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText(`W`);return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Mae=class extends Sv{constructor(e,t,n){super(),this._textarea=e,this._window=t,this.mainDocument=n,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Nae(this._window)),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new K),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(Av.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(q(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(q(this._textarea,`blur`,()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,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}},Nae=class extends Sv{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Cv),this._onDprChange=this._register(new K),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(yv(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=q(this._parentWindow,`resize`,()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.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)}},Pae=class extends Sv{constructor(){super(),this.linkProviders=[],this._register(yv(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function wx(e,t,n){let r=n.getBoundingClientRect(),i=e.getComputedStyle(n),a=parseInt(i.getPropertyValue(`padding-left`)),o=parseInt(i.getPropertyValue(`padding-top`));return[t.clientX-r.left-a,t.clientY-r.top-o]}function Fae(e,t,n,r,i,a,o,s,c){if(!a)return;let l=wx(e,t,n);if(l)return l[0]=Math.ceil((l[0]+(c?o/2:0))/o),l[1]=Math.ceil(l[1]/s),l[0]=Math.min(Math.max(l[0],1),r+ +!!c),l[1]=Math.min(Math.max(l[1],1),i),l}var Tx=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Fae(window,e,t,n,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,i)}getMouseReportCoords(e,t){let n=wx(window,e,t);if(this._charSizeService.hasValidSize)return n[0]=Math.min(Math.max(n[0],0),this._renderService.dimensions.css.canvas.width-1),n[1]=Math.min(Math.max(n[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(n[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(n[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(n[0]),y:Math.floor(n[1])}}};Tx=v_([G(0,X_),G(1,q_)],Tx);var Iae=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()),this._animationFrame}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t),!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){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Ex={};Xie(Ex,{getSafariVersion:()=>Rae,isChromeOS:()=>Fx,isFirefox:()=>Ax,isIpad:()=>zae,isIphone:()=>Bae,isLegacyEdge:()=>Lae,isLinux:()=>Px,isMac:()=>Mx,isNode:()=>Dx,isSafari:()=>jx,isWindows:()=>Nx});var Dx=typeof process<`u`&&`title`in process,Ox=Dx?`node`:navigator.userAgent,kx=Dx?`node`:navigator.platform,Ax=Ox.includes(`Firefox`),Lae=Ox.includes(`Edge`),jx=/^((?!chrome|android).)*safari/i.test(Ox);function Rae(){if(!jx)return 0;let e=Ox.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var Mx=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(kx),zae=kx===`iPad`,Bae=kx===`iPhone`,Nx=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(kx),Px=kx.indexOf(`Linux`)>=0,Fx=/\bCrOS\b/.test(Ox),Ix=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},Vae=class extends Ix{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},Hae=class extends Ix{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Lx=!Dx&&`requestIdleCallback`in window?Hae:Vae,Uae=class{constructor(){this._queue=new Lx}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},Rx=class extends Sv{constructor(e,t,n,r,i,a,o,s,c){super(),this._rowCount=e,this._optionsService=n,this._charSizeService=r,this._coreService=i,this._coreBrowserService=s,this._renderer=this._register(new Cv),this._pausedResizeTask=new Uae,this._observerDisposable=this._register(new Cv),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 K),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new K),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new K),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Iae((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Wae(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(yv(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>this._renderer.value?.clear())),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(a.onDecorationRegistered(()=>this._fullRefresh())),this._register(a.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange([`customGlyphs`,`drawBoldTextInBrightColors`,`letterSpacing`,`lineHeight`,`fontFamily`,`fontSize`,`fontWeight`,`fontWeightBold`,`minimumContrastRatio`,`rescaleOverlappingGlyphs`],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange([`cursorBlink`,`cursorStyle`],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(c.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(e=>this._registerIntersectionObserver(e,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if(`IntersectionObserver`in e){let n=new e.IntersectionObserver(e=>this._handleIntersectionChange(e[e.length-1]),{threshold:0});n.observe(t),this._observerDisposable.value=yv(()=>n.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.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(e,t,n=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let r=this._syncOutputHandler.flush();r&&(e=Math.min(e,r.start),t=Math.max(t,r.end)),n||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&=(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,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(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>this._renderer.value?.handleResize(e,t)):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,n){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=n,this._renderer.value?.handleSelectionChanged(e,t,n)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};Rx=v_([G(2,H_),G(3,q_),G(4,z_),G(5,W_),G(6,L_),G(7,J_),G(8,$_)],Rx);var Wae=class{constructor(e,t,n){this._coreBrowserService=e,this._coreService=t,this._onTimeout=n,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Gae(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return Jae(i,a,e,t,n,r)+zx(a,t,n,r)+Yae(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,Wx(Math.abs(i-e),Ux(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return Wx(qae(a>t?e:i,n)+(s-1)*n.cols+1+Kae(a>t?i:e,n),Ux(o,r))}function Kae(e,t){return e-1}function qae(e,t){return t.cols-e}function Jae(e,t,n,r,i,a){return zx(t,r,i,a).length===0?``:Wx(Hx(e,t,e,t-Bx(t,i),!1,i).length,Ux(`D`,a))}function zx(e,t,n,r){let i=e-Bx(e,n),a=t-Bx(t,n);return Wx(Math.abs(i-a)-Xae(e,t,n),Ux(Vx(e,t),r))}function Yae(e,t,n,r,i,a){let o;o=zx(t,r,i,a).length>0?r-Bx(r,i):t;let s=r,c=Zae(e,t,n,r,i,a);return Wx(Hx(e,o,n,s,c===`C`,i).length,Ux(c,a))}function Xae(e,t,n){let r=0,i=e-Bx(e,n),a=t-Bx(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=Vx(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function Bx(e,t){let n=0,r=t.buffer.lines.get(e),i=r?.isWrapped;for(;i&&e>=0&&e<t.rows;)n++,r=t.buffer.lines.get(--e),i=r?.isWrapped;return n}function Zae(e,t,n,r,i,a){let o;return o=zx(n,r,i,a).length>0?r-Bx(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function Vx(e,t){return e>t?`A`:`B`}function Hx(e,t,n,r,i,a){let o=e,s=t,c=``;for(;(o!==n||s!==r)&&s>=0&&s<a.buffer.lines.length;)o+=i?1:-1,i&&o>a.cols-1?(c+=a.buffer.translateBufferLineToString(s,!1,e,o),o=0,e=0,s++):!i&&o<0&&(c+=a.buffer.translateBufferLineToString(s,!1,0,e+1),o=a.cols-1,e=o,s--);return c+a.buffer.translateBufferLineToString(s,!1,e,o)}function Ux(e,t){let n=t?`O`:`[`;return J.ESC+n+e}function Wx(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var Qae=class{constructor(e){this._bufferService=e,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.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()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function Gx(e,t){if(e.start.y>e.end.y)throw Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var Kx=50,$ae=15,eoe=50,toe=500,noe=RegExp(`\xA0`,`g`),qx=class extends Sv{constructor(e,t,n,r,i,a,o,s,c){super(),this._element=e,this._screenElement=t,this._linkifier=n,this._bufferService=r,this._coreService=i,this._mouseService=a,this._optionsService=o,this._renderService=s,this._coreBrowserService=c,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new M_,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new K),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new K),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new K),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(e=>this._handleTrim(e)),this._register(this._bufferService.buffers.onBufferActivate(e=>this._handleBufferActivate(e))),this.enable(),this._model=new Qae(this._bufferService),this._activeSelectionMode=0,this._register(yv(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(e=>{e.rowsChanged&&this.clearSelection()}))}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(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return``;let n=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return``;let i=e[0]<t[0]?e[0]:t[0],a=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){let e=n.translateBufferLineToString(o,!0,i,a);r.push(e)}}else{let i=e[1]===t[1]?t[0]:void 0;r.push(n.translateBufferLineToString(e[1],!0,e[0],i));for(let i=e[1]+1;i<=t[1]-1;i++){let e=n.lines.get(i),t=n.translateBufferLineToString(i,!0);e?.isWrapped?r[r.length-1]+=t:r.push(t)}if(e[1]!==t[1]){let e=n.lines.get(t[1]),i=n.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?r[r.length-1]+=i:r.push(i)}}return r.map(e=>e.replace(noe,` `)).join(Nx?`\r
|
|
115
|
-
`:`
|
|
116
|
-
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),Px&&e&&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(e){let t=this._getMouseBufferCoords(e),n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r||!t?!1:this._areCoordsInSelection(t,n,r)}isCellInSelection(e,t){let n=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!n||!r?!1:this._areCoordsInSelection([e,t],n,r)}_areCoordsInSelection(e,t,n){return e[1]>t[1]&&e[1]<n[1]||t[1]===n[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<n[0]||t[1]<n[1]&&e[1]===n[1]&&e[0]<n[0]||t[1]<n[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){let n=this._linkifier.currentLink?.link?.range;if(n)return this._model.selectionStart=[n.start.x-1,n.start.y-1],this._model.selectionStartLength=Gx(n,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(e);return r?(this._selectWordAt(r,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=wx(this._coreBrowserService.window,e,this._screenElement)[1],n=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=n?0:(t>n&&(t-=n),t=Math.min(Math.max(t,-Kx),Kx),t/=Kx,t/Math.abs(t)+Math.round(t*($ae-1)))}shouldForceSelection(e){return Mx?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),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(),eoe)}_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(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(Mx&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}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(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let n=this._bufferService.buffer;if(this._model.selectionEnd[1]<n.lines.length){let e=n.lines.get(this._model.selectionEnd[1]);e&&e.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[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});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<toe&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&t[0]!==void 0&&t[1]!==void 0){let e=Gae(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,n=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);n?!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,n):this._oldHasSelection&&this._fireOnSelectionChange(e,t,n)}_fireOnSelectionChange(e,t,n){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=n,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(e=>this._handleTrim(e))}_convertViewportColToCharacterIndex(e,t){let n=t;for(let r=0;t>=r;r++){let i=e.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?n--:i>1&&t!==r&&(n+=i-1)}return n}setSelection(e,t,n){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=n,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,n=!0,r=!0){if(e[0]>=this._bufferService.cols)return;let i=this._bufferService.buffer,a=i.lines.get(e[1]);if(!a)return;let o=i.translateBufferLineToString(e[1],!1),s=this._convertViewportColToCharacterIndex(a,e[0]),c=s,l=e[0]-s,u=0,d=0,f=0,p=0;if(o.charAt(s)===` `){for(;s>0&&o.charAt(s-1)===` `;)s--;for(;c<o.length&&o.charAt(c+1)===` `;)c++}else{let t=e[0],n=e[0];a.getWidth(t)===0&&(u++,t--),a.getWidth(n)===2&&(d++,n++);let r=a.getString(n).length;for(r>1&&(p+=r-1,c+=r-1);t>0&&s>0&&!this._isCharWordSeparator(a.loadCell(t-1,this._workCell));){a.loadCell(t-1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===0?(u++,t--):e>1&&(f+=e-1,s-=e-1),s--,t--}for(;n<a.length&&c+1<o.length&&!this._isCharWordSeparator(a.loadCell(n+1,this._workCell));){a.loadCell(n+1,this._workCell);let e=this._workCell.getChars().length;this._workCell.getWidth()===2?(d++,n++):e>1&&(p+=e-1,c+=e-1),c++,n++}}c++;let m=s+l-u+f,h=Math.min(this._bufferService.cols,c-s+u+d-f-p);if(t||o.slice(s,c).trim()!==``){if(n&&m===0&&a.getCodePoint(0)!==32){let t=i.lines.get(e[1]-1);if(t&&a.isWrapped&&t.getCodePoint(this._bufferService.cols-1)!==32){let t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){let e=this._bufferService.cols-t.start;m-=e,h+=e}}}if(r&&m+h===this._bufferService.cols&&a.getCodePoint(this._bufferService.cols-1)!==32){let t=i.lines.get(e[1]+1);if(t?.isWrapped&&t.getCodePoint(0)!==32){let t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(h+=t.length)}}return{start:m,length:h}}}_selectWordAt(e,t){let n=this._getWordAt(e,t);if(n){for(;n.start<0;)n.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[n.start,e[1]],this._model.selectionStartLength=n.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let n=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,n--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,n++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,n]}}_isCharWordSeparator(e){return e.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),n={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=Gx(n,this._bufferService.cols)}};qx=v_([G(3,L_),G(4,z_),G(5,Y_),G(6,H_),G(7,X_),G(8,J_)],qx);var Jx=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Yx=class{constructor(){this._color=new Jx,this._css=new Jx}setCss(e,t,n){this._css.set(e,t,n)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,n){this._color.set(e,t,n)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},Xx=Object.freeze((()=>{let e=[ox.toColor(`#2e3436`),ox.toColor(`#cc0000`),ox.toColor(`#4e9a06`),ox.toColor(`#c4a000`),ox.toColor(`#3465a4`),ox.toColor(`#75507b`),ox.toColor(`#06989a`),ox.toColor(`#d3d7cf`),ox.toColor(`#555753`),ox.toColor(`#ef2929`),ox.toColor(`#8ae234`),ox.toColor(`#fce94f`),ox.toColor(`#729fcf`),ox.toColor(`#ad7fa8`),ox.toColor(`#34e2e2`),ox.toColor(`#eeeeec`)],t=[0,95,135,175,215,255];for(let n=0;n<216;n++){let r=t[n/36%6|0],i=t[n/6%6|0],a=t[n%6];e.push({css:ix.toCss(r,i,a),rgba:ix.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:ix.toCss(n,n,n),rgba:ix.toRgba(n,n,n)})}return e})()),Zx=ox.toColor(`#ffffff`),Qx=ox.toColor(`#000000`),$x=ox.toColor(`#ffffff`),eS=Qx,tS={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},roe=Zx,nS=class extends Sv{constructor(e){super(),this._optionsService=e,this._contrastCache=new Yx,this._halfContrastCache=new Yx,this._onChangeColors=this._register(new K),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Zx,background:Qx,cursor:$x,cursorAccent:eS,selectionForeground:void 0,selectionBackgroundTransparent:tS,selectionBackgroundOpaque:ax.blend(Qx,tS),selectionInactiveBackgroundTransparent:tS,selectionInactiveBackgroundOpaque:ax.blend(Qx,tS),scrollbarSliderBackground:ax.opacity(Zx,.2),scrollbarSliderHoverBackground:ax.opacity(Zx,.4),scrollbarSliderActiveBackground:ax.opacity(Zx,.5),overviewRulerBorder:Zx,ansi:Xx.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)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=rS(e.foreground,Zx),t.background=rS(e.background,Qx),t.cursor=ax.blend(t.background,rS(e.cursor,$x)),t.cursorAccent=ax.blend(t.background,rS(e.cursorAccent,eS)),t.selectionBackgroundTransparent=rS(e.selectionBackground,tS),t.selectionBackgroundOpaque=ax.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=rS(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=ax.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?rS(e.selectionForeground,rx):void 0,t.selectionForeground===rx&&(t.selectionForeground=void 0),ax.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=ax.opacity(t.selectionBackgroundTransparent,.3)),ax.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=ax.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=rS(e.scrollbarSliderBackground,ax.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=rS(e.scrollbarSliderHoverBackground,ax.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=rS(e.scrollbarSliderActiveBackground,ax.opacity(t.foreground,.5)),t.overviewRulerBorder=rS(e.overviewRulerBorder,roe),t.ansi=Xx.slice(),t.ansi[0]=rS(e.black,Xx[0]),t.ansi[1]=rS(e.red,Xx[1]),t.ansi[2]=rS(e.green,Xx[2]),t.ansi[3]=rS(e.yellow,Xx[3]),t.ansi[4]=rS(e.blue,Xx[4]),t.ansi[5]=rS(e.magenta,Xx[5]),t.ansi[6]=rS(e.cyan,Xx[6]),t.ansi[7]=rS(e.white,Xx[7]),t.ansi[8]=rS(e.brightBlack,Xx[8]),t.ansi[9]=rS(e.brightRed,Xx[9]),t.ansi[10]=rS(e.brightGreen,Xx[10]),t.ansi[11]=rS(e.brightYellow,Xx[11]),t.ansi[12]=rS(e.brightBlue,Xx[12]),t.ansi[13]=rS(e.brightMagenta,Xx[13]),t.ansi[14]=rS(e.brightCyan,Xx[14]),t.ansi[15]=rS(e.brightWhite,Xx[15]),e.extendedAnsi){let n=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<n;r++)t.ansi[r+16]=rS(e.extendedAnsi[r],Xx[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0)for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e];else switch(e){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[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(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()}}};nS=v_([G(0,H_)],nS);function rS(e,t){if(e!==void 0)try{return ox.toColor(e)}catch{}return t}var ioe=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}forEach(e){for(let[t,n]of this._entries.entries())e(t,n)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},aoe=class{constructor(){this._services=new ioe,this._services.set(B_,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=rae(e).sort((e,t)=>e.index-t.index),r=[];for(let t of n){let n=this._services.get(t.id);if(!n)throw Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id._id}.`);r.push(n)}let i=n.length>0?n[0].index:t.length;if(t.length!==i)throw Error(`[createInstance] First service dependency of ${e.name} at position ${i+1} conflicts with ${t.length} static arguments`);return new e(...t,...r)}},ooe={trace:0,debug:1,info:2,warn:3,error:4,off:5},soe=`xterm.js: `,iS=class extends Sv{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),aS=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ooe[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:soe)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};iS=v_([G(0,H_)],iS);var aS,oS=class extends Sv{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new K),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new K),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new K),this.onTrim=this.onTrimEmitter.event,this._array=Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=Array(e);for(let n=0;n<Math.min(e,this.length);n++)t[n]=this._array[this._getCyclicIndex(n)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw 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(e,t,...n){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+n.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<n.length;t++)this._array[this._getCyclicIndex(e+t)]=n[t];if(n.length&&this.onInsertEmitter.fire({index:e,amount:n.length}),this._length+n.length>this._maxLength){let e=this._length+n.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=n.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,n){if(!(t<=0)){if(e<0||e>=this._length)throw Error(`start argument out of range`);if(e+n<0)throw Error(`Cannot shift elements in list beyond index 0`);if(n>0){for(let r=t-1;r>=0;r--)this.set(e+r+n,this.get(e+r));let r=e+t+n-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r<t;r++)this.set(e+r+n,this.get(e+r))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},sS=3,cS=Object.freeze(new A_),lS=0,uS=2,dS=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*sS);let r=t||M_.fromCharData([0,O_,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*sS+0],n=t&2097151;return[this._data[e*sS+1],t&2097152?this._combined[e]:n?E_(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*sS+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*sS+0]=e|2097152|t[2]<<22):this._data[e*sS+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*sS+0]>>22}hasWidth(e){return this._data[e*sS+0]&12582912}getFg(e){return this._data[e*sS+1]}getBg(e){return this._data[e*sS+2]}hasContent(e){return this._data[e*sS+0]&4194303}getCodePoint(e){let t=this._data[e*sS+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*sS+0]&2097152}getString(e){let t=this._data[e*sS+0];return t&2097152?this._combined[e]:t&2097151?E_(t&2097151):``}isProtected(e){return this._data[e*sS+2]&536870912}loadCell(e,t){return lS=e*sS,t.content=this._data[lS+0],t.fg=this._data[lS+1],t.bg=this._data[lS+2],t.content&2097152&&(t.combinedData=this._combined[e]),t.bg&268435456&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){t.content&2097152&&(this._combined[e]=t.combinedData),t.bg&268435456&&(this._extendedAttrs[e]=t.extended),this._data[e*sS+0]=t.content,this._data[e*sS+1]=t.fg,this._data[e*sS+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*sS+0]=t|n<<22,this._data[e*sS+1]=r.fg,this._data[e*sS+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*sS+0];r&2097152?this._combined[e]+=E_(t):r&2097151?(this._combined[e]=E_(r&2097151)+E_(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*sS+0]=r}insertCells(e,t,n){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length-e){let r=new M_;for(let n=this.length-e-t-1;n>=0;--n)this.setCell(e+t+n,this.loadCell(e+n,r));for(let r=0;r<t;++r)this.setCell(e+r,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(e,t,n){if(e%=this.length,t<this.length-e){let r=new M_;for(let n=0;n<this.length-e-t;++n)this.setCell(e+n,this.loadCell(e+t+n,r));for(let e=this.length-t;e<this.length;++e)this.setCell(e,n)}else for(let t=e;t<this.length;++t)this.setCell(t,n);e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),this.getWidth(e)===0&&!this.hasContent(e)&&this.setCellFromCodepoint(e,0,1,n)}replaceCells(e,t,n,r=!1){if(r)for(e&&this.getWidth(e-1)===2&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,n),e++;else for(e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,n),t<this.length&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t,0,1,n);e<t&&e<this.length;)this.setCell(e++,n)}resize(e,t){if(e===this.length)return this._data.length*4*uS<this._data.buffer.byteLength;let n=e*sS;if(e>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let e=new Uint32Array(n);e.set(this._data),this._data=e}for(let n=this.length;n<e;++n)this.setCell(n,t)}else{this._data=this._data.subarray(0,n);let t=Object.keys(this._combined);for(let n=0;n<t.length;n++){let r=parseInt(t[n],10);r>=e&&delete this._combined[r]}let r=Object.keys(this._extendedAttrs);for(let t=0;t<r.length;t++){let n=parseInt(r[t],10);n>=e&&delete this._extendedAttrs[n]}}return this.length=e,n*4*uS<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*uS<this._data.buffer.byteLength){let e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length===e.length?this._data.set(e._data):this._data=new Uint32Array(e._data),this.length=e.length,this._combined={};for(let t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(let t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){let t=new e(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let e in this._combined)t._combined[e]=this._combined[e];for(let e in this._extendedAttrs)t._extendedAttrs[e]=this._extendedAttrs[e];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*sS+0]&4194303)return e+(this._data[e*sS+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*sS+0]&4194303||this._data[e*sS+2]&50331648)return e+(this._data[e*sS+0]>>22);return 0}copyCellsFrom(e,t,n,r,i){let a=e._data;if(i)for(let i=r-1;i>=0;i--){for(let e=0;e<sS;e++)this._data[(n+i)*sS+e]=a[(t+i)*sS+e];a[(t+i)*sS+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<sS;e++)this._data[(n+i)*sS+e]=a[(t+i)*sS+e];a[(t+i)*sS+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}let o=Object.keys(e._combined);for(let r=0;r<o.length;r++){let i=parseInt(o[r],10);i>=t&&(this._combined[i-t+n]=e._combined[i])}}translateToString(e,t,n,r){t??=0,n??=this.length,e&&(n=Math.min(n,this.getTrimmedLength())),r&&(r.length=0);let i=``;for(;t<n;){let e=this._data[t*sS+0],n=e&2097151,a=e&2097152?this._combined[t]:n?E_(n):k_;if(i+=a,r)for(let e=0;e<a.length;++e)r.push(t);t+=e>>22||1}return r&&r.push(t),i}};function fS(e,t,n,r,i,a){let o=[];for(let s=0;s<e.length-1;s++){let c=s,l=e.get(++c);if(!l.isWrapped)continue;let u=[e.get(s)];for(;c<e.length&&l.isWrapped;)u.push(l),l=e.get(++c);if(!a&&r>=s&&r<c){s+=u.length-1;continue}let d=0,f=gS(u,d,t),p=1,m=0;for(;p<u.length;){let e=gS(u,p,t),r=e-m,a=n-f,o=Math.min(r,a);u[d].copyCellsFrom(u[p],m,f,o,!1),f+=o,f===n&&(d++,f=0),m+=o,m===e&&(p++,m=0),f===0&&d!==0&&u[d-1].getWidth(n-1)===2&&(u[d].copyCellsFrom(u[d-1],n-1,f++,1,!1),u[d-1].setCell(n-1,i))}u[d].replaceCells(f,n,i);let h=0;for(let e=u.length-1;e>0&&(e>d||u[e].getTrimmedLength()===0);e--)h++;h>0&&(o.push(s+u.length-h),o.push(h)),s+=u.length-1}return o}function pS(e,t){let n=[],r=0,i=t[r],a=0;for(let o=0;o<e.length;o++)if(i===o){let n=t[++r];e.onDeleteEmitter.fire({index:o-a,amount:n}),o+=n-1,a+=n,i=t[++r]}else n.push(o);return{layout:n,countRemoved:a}}function mS(e,t){let n=[];for(let r=0;r<t.length;r++)n.push(e.get(t[r]));for(let t=0;t<n.length;t++)e.set(t,n[t]);e.length=t.length}function hS(e,t,n){let r=[],i=e.map((n,r)=>gS(e,r,t)).reduce((e,t)=>e+t),a=0,o=0,s=0;for(;s<i;){if(i-s<n){r.push(i-s);break}a+=n;let c=gS(e,o,t);a>c&&(a-=c,o++);let l=e[o].getWidth(a-1)===2;l&&a--;let u=l?n-1:n;r.push(u),s+=u}return r}function gS(e,t,n){if(t===e.length-1)return e[t].getTrimmedLength();let r=!e[t].hasContent(n-1)&&e[t].getWidth(n-1)===1,i=e[t+1].getWidth(0)===2;return r&&i?n-1:n}var _S=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new K),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),vv(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};_S._nextId=1;var vS=_S,yS={},bS=yS.B;yS[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},yS.A={"#":`£`},yS.B=void 0,yS[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},yS.C=yS[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},yS.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},yS.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},yS.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},yS.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},yS.E=yS[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},yS.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},yS.H=yS[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},yS[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var xS=4294967295,SS=class{constructor(e,t,n){this._hasScrollback=e,this._optionsService=t,this._bufferService=n,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=cS.clone(),this.savedCharset=bS,this.markers=[],this._nullCell=M_.fromCharData([0,O_,1,0]),this._whitespaceCell=M_.fromCharData([0,k_,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Lx,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new oS(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new j_),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new j_),this._whitespaceCell}getBlankLine(e,t){return new dS(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>xS?xS:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=cS);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new oS(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(cS),r=0,i=this._getCorrectBufferLength(t);if(i>this.lines.maxLength&&(this.lines.maxLength=i),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);let a=0;if(this._rows<t)for(let r=this._rows;r<t;r++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new dS(e,n)):this.ybase>0&&this.lines.length<=this.ybase+this.y+a+1?(this.ybase--,a++,this.ydisp>0&&this.ydisp--):this.lines.push(new dS(e,n)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(i<this.lines.maxLength){let e=this.lines.length-i;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=i}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),a&&(this.y+=a),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)r+=+this.lines.get(t).resize(e,n);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),r>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend===`conpty`&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=fS(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(cS),n);if(r.length>0){let n=pS(this.lines,r);mS(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(cS),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new dS(e,r))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-n,0)}_reflowSmaller(e,t){let n=this._optionsService.rawOptions.reflowCursorLine,r=this.getNullCell(cS),i=[],a=0;for(let o=this.lines.length-1;o>=0;o--){let s=this.lines.get(o);if(!s||!s.isWrapped&&s.getTrimmedLength()<=e)continue;let c=[s];for(;s.isWrapped&&o>0;)s=this.lines.get(--o),c.unshift(s);if(!n){let e=this.ybase+this.y;if(e>=o&&e<o+c.length)continue}let l=c[c.length-1].getTrimmedLength(),u=hS(c,this._cols,e),d=u.length-c.length,f;f=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+d):Math.max(0,this.lines.length-this.lines.maxLength+d);let p=[];for(let e=0;e<d;e++){let e=this.getBlankLine(cS,!0);p.push(e)}p.length>0&&(i.push({start:o+c.length+a,newLines:p}),a+=p.length),c.push(...p);let m=u.length-1,h=u[m];h===0&&(m--,h=u[m]);let g=c.length-d-1,_=l;for(;g>=0;){let e=Math.min(_,h);if(c[m]===void 0)break;c[m].copyCellsFrom(c[g],_-e,h-e,e,!0),h-=e,h===0&&(m--,h=u[m]),_-=e,_===0&&(g--,_=gS(c,Math.max(g,0),this._cols))}for(let t=0;t<c.length;t++)u[t]<e&&c[t].setCell(u[t],r);let v=d-f;for(;v-->0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+a)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+d,this.ybase+t-1)}if(i.length>0){let e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));let n=this.lines.length,r=n-1,o=0,s=i[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+a);let c=0;for(let l=Math.min(this.lines.maxLength-1,n+a-1);l>=0;l--)if(s&&s.start>r+c){for(let e=s.newLines.length-1;e>=0;e--)this.lines.set(l--,s.newLines[e]);l++,e.push({index:r+1,amount:s.newLines.length}),c+=s.newLines.length,s=i[++o]}else this.lines.set(l,t[r--]);let l=0;for(let t=e.length-1;t>=0;t--)e[t].index+=l,this.lines.onInsertEmitter.fire(e[t]),l+=e[t].amount;let u=Math.max(0,n+a-this.lines.maxLength);u>0&&this.lines.onTrimEmitter.fire(u)}}translateBufferLineToString(e,t,n=0,r){let i=this.lines.get(e);return i?i.translateToString(t,n,r):``}getWrappedRangeForLine(e){let t=e,n=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;n+1<this.lines.length&&this.lines.get(n+1).isWrapped;)n++;return{first:t,last:n}}setupTabStops(e){for(e==null?(this.tabs={},e=0):this.tabs[e]||(e=this.prevStop(e));e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e??=this.x;!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e??=this.x;!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new vS(e);return this.markers.push(t),t.register(this.lines.onTrim(e=>{t.line-=e,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(e=>{t.line>=e.index&&(t.line+=e.amount)})),t.register(this.lines.onDelete(e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},CS=class extends Sv{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new K),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 SS(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new SS(!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(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),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(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},wS=2,TS=1,ES=class extends Sv{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,wS),this.rows=Math.max(e.rawOptions.rows||0,TS),this.buffers=this._register(new CS(e,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let n=this.cols!==e,r=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:n,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let n=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==e.fg||r.getBg(0)!==e.bg)&&(r=n.getBlankLine(e,t),this._cachedBlankLine=r),r.isWrapped=t;let i=n.ybase+n.scrollTop,a=n.ybase+n.scrollBottom;if(n.scrollTop===0){let e=n.lines.isFull;a===n.lines.length-1?e?n.lines.recycle().copyFrom(r):n.lines.push(r.clone()):n.lines.splice(a+1,0,r.clone()),e?this.isUserScrolling&&(n.ydisp=Math.max(n.ydisp-1,0)):(n.ybase++,this.isUserScrolling||n.ydisp++)}else{let e=a-i+1;n.lines.shiftElements(i+1,e-1,-1),n.lines.set(a,r.clone())}this.isUserScrolling||(n.ydisp=n.ybase),this._onScroll.fire(n.ydisp)}scrollLines(e,t){let n=this.buffer;if(e<0){if(n.ydisp===0)return;this.isUserScrolling=!0}else e+n.ydisp>=n.ybase&&(this.isUserScrolling=!1);let r=n.ydisp;n.ydisp=Math.max(Math.min(n.ydisp+e,n.ybase),0),r!==n.ydisp&&(t||this._onScroll.fire(n.ydisp))}};ES=v_([G(0,H_)],ES);var DS={cols:80,rows:24,cursorBlink:!1,cursorStyle:`block`,cursorWidth:1,cursorInactiveStyle:`outline`,customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:`alt`,fastScrollSensitivity:5,fontFamily:`monospace`,fontSize:15,fontWeight:`normal`,fontWeightBold:`bold`,ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:`info`,logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:Mx,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},OS=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],kS=class extends Sv{constructor(e){super(),this._onOptionChange=this._register(new K),this.onOptionChange=this._onOptionChange.event;let t={...DS};for(let n in e)if(n in t)try{let r=e[n];t[n]=this._sanitizeAndValidateOption(n,r)}catch(e){console.error(e)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(yv(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(n=>{n===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(n=>{e.indexOf(n)!==-1&&t()})}_setupOptions(){let e=e=>{if(!(e in DS))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in DS))throw Error(`No option with key "${e}"`);t=this._sanitizeAndValidateOption(e,t),this.rawOptions[e]!==t&&(this.rawOptions[e]=t,this._onOptionChange.fire(e))};for(let n in this.rawOptions){let r={get:e.bind(this,n),set:t.bind(this,n)};Object.defineProperty(this.options,n,r)}}_sanitizeAndValidateOption(e,t){switch(e){case`cursorStyle`:if(t||=DS[e],!AS(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=DS[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=OS.includes(t)?t:DS[e];break;case`cursorWidth`:t=Math.floor(t);case`lineHeight`:case`tabStopWidth`:if(t<1)throw Error(`${e} cannot be less than 1, value: ${t}`);break;case`minimumContrastRatio`:t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case`scrollback`:if(t=Math.min(t,4294967295),t<0)throw Error(`${e} cannot be less than 0, value: ${t}`);break;case`fastScrollSensitivity`:case`scrollSensitivity`:if(t<=0)throw Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case`rows`:case`cols`:if(!t&&t!==0)throw Error(`${e} must be numeric, value: ${t}`);break;case`windowsPty`:t??={}}return t}};function AS(e){return e===`block`||e===`underline`||e===`bar`}function jS(e,t=5){if(typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};for(let r in e)n[r]=t<=1?e[r]:e[r]&&jS(e[r],t-1);return n}var MS=Object.freeze({insertMode:!1}),NS=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),PS=class extends Sv{constructor(e,t,n){super(),this._bufferService=e,this._logService=t,this._optionsService=n,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new K),this.onData=this._onData.event,this._onUserInput=this._register(new K),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new K),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=jS(MS),this.decPrivateModes=jS(NS)}reset(){this.modes=jS(MS),this.decPrivateModes=jS(NS)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let n=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&n.ybase!==n.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace(`sending data (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace(`sending binary (codes)`,()=>e.split(``).map(e=>e.charCodeAt(0))),this._onBinary.fire(e))}};PS=v_([G(0,L_),G(1,V_),G(2,H_)],PS);var FS={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>e.action!==32||e.button!==3},ANY:{events:31,restrict:e=>!0}};function IS(e,t){let n=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(n|=64,n|=e.action):(n|=e.button&3,e.button&4&&(n|=64),e.button&8&&(n|=128),e.action===32?n|=32:e.action===0&&!t&&(n|=3)),n}var LS=String.fromCharCode,RS={DEFAULT:e=>{let t=[IS(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${LS(t[0])}${LS(t[1])}${LS(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${IS(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${IS(e,!0)};${e.x};${e.y}${t}`}},zS=class extends Sv{constructor(e,t,n){super(),this._bufferService=e,this._coreService=t,this._optionsService=n,this._protocols={},this._encodings={},this._activeProtocol=``,this._activeEncoding=``,this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new K),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(FS))this.addProtocol(e,FS[e]);for(let e of Object.keys(RS))this.addEncoding(e,RS[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol=`NONE`,this.activeEncoding=`DEFAULT`,this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,n){if(e.deltaY===0||e.shiftKey||t===void 0||n===void 0)return 0;let r=t/n,i=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(i/=r+0,Math.abs(e.deltaY)<50&&(i*=.3),this._wheelPartialScroll+=i,i=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(i*=this._bufferService.rows),i}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding===`SGR_PIXELS`))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding===`DEFAULT`?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,n){if(n){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};zS=v_([G(0,L_),G(1,z_),G(2,H_)],zS);var BS=[[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]],VS=[[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]],HS;function US(e,t){let n=0,r=t.length-1,i;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=n;)if(i=n+r>>1,e>t[i][1])n=i+1;else if(e<t[i][0])r=i-1;else return!0;return!1}var WS=class{constructor(){if(this.version=`6`,!HS){HS=new Uint8Array(65536),HS.fill(1),HS[0]=0,HS.fill(0,1,32),HS.fill(0,127,160),HS.fill(2,4352,4448),HS[9001]=2,HS[9002]=2,HS.fill(2,11904,42192),HS[12351]=1,HS.fill(2,44032,55204),HS.fill(2,63744,64256),HS.fill(2,65040,65050),HS.fill(2,65072,65136),HS.fill(2,65280,65377),HS.fill(2,65504,65511);for(let e=0;e<BS.length;++e)HS.fill(0,BS[e][0],BS[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?HS[e]:US(e,VS)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let n=this.wcwidth(e),r=n===0&&t!==0;if(r){let e=GS.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return GS.createPropertyValue(0,n,r)}},GS=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new K,this.onChange=this._onChange.event;let e=new WS;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return!!(e&1)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,n=!1){return(e&16777215)<<3|(t&3)<<1|!!n}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(t){let n=0,r=0,i=t.length;for(let a=0;a<i;++a){let o=t.charCodeAt(a);if(55296<=o&&o<=56319){if(++a>=i)return n+this.wcwidth(o);let e=t.charCodeAt(a);56320<=e&&e<=57343?o=(o-55296)*1024+e-56320+65536:n+=this.wcwidth(e)}let s=this.charProperties(o,r),c=e.extractWidth(s);e.extractShouldJoin(s)&&(c-=e.extractWidth(r)),n+=c,r=s}return n}charProperties(e,t){return this._activeProvider.charProperties(e,t)}},KS=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function qS(e){let t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1)?.get(e.cols-1),n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);n&&t&&(n.isWrapped=t[3]!==0&&t[3]!==32)}var JS=2147483647,YS=256,XS=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>YS)throw Error(`maxSubParamsLength must not be greater than 256`);this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let n=new e;if(!t.length)return n;for(let e=+!!Array.isArray(t[0]);e<t.length;++e){let r=t[e];if(Array.isArray(r))for(let e=0;e<r.length;++e)n.addSubParam(r[e]);else n.addParam(r)}return n}clone(){let t=new e(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&e.push(Array.prototype.slice.call(this._subParams,n,r))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>JS?JS:e}}addSubParam(e){if(this._digitIsSub=!0,this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw Error(`values lesser than -1 are not allowed`);this._subParams[this._subParamsLength++]=e>JS?JS:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let t=this._subParamsIdx[e]>>8,n=this._subParamsIdx[e]&255;return n-t>0?this._subParams.subarray(t,n):null}getSubParamsAll(){let e={};for(let t=0;t<this.length;++t){let n=this._subParamsIdx[t]>>8,r=this._subParamsIdx[t]&255;r-n>0&&(e[t]=this._subParams.slice(n,r))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,r=n[t-1];n[t-1]=~r?Math.min(r*10+e,JS):e}},ZS=[],QS=class{constructor(){this._state=0,this._active=ZS,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=ZS}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=ZS,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||ZS,!this._active.length)this._handlerFb(this._id,`START`);else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,n){if(!this._active.length)this._handlerFb(this._id,`PUT`,D_(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}start(){this.reset(),this._state=1}put(e,t,n){if(this._state!==3){if(this._state===1)for(;t<n;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&n-t>0&&this._put(e,t,n)}}end(e,t=!0){if(this._state!==0){if(this._state!==3){if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,`END`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].end(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].end(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}}this._active=ZS,this._id=-1,this._state=0}}},$S=class{constructor(e){this._handler=e,this._data=``,this._hitLimit=!1}start(){this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=D_(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(e=>(this._data=``,this._hitLimit=!1,e));return this._data=``,this._hitLimit=!1,t}},eC=[],tC=class{constructor(){this._handlers=Object.create(null),this._active=eC,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=eC}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let n=this._handlers[e];return n.push(t),{dispose:()=>{let e=n.indexOf(t);e!==-1&&n.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=eC,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||eC,!this._active.length)this._handlerFb(this._ident,`HOOK`,t);else for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t)}put(e,t,n){if(!this._active.length)this._handlerFb(this._ident,`PUT`,D_(e,t,n));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(e,t,n)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,`UNHOOK`,e);else{let n=!1,r=this._active.length-1,i=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,n=t,i=this._stack.fallThrough,this._stack.paused=!1),!i&&n===!1){for(;r>=0&&(n=this._active[r].unhook(e),n!==!0);r--)if(n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,n;r--}for(;r>=0;r--)if(n=this._active[r].unhook(!1),n instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,n}this._active=eC,this._ident=0}},nC=new XS;nC.addParam(0);var rC=class{constructor(e){this._handler=e,this._data=``,this._params=nC,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():nC,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=D_(e,t,n),this._data.length>1e7&&(this._data=``,this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(e=>(this._params=nC,this._data=``,this._hitLimit=!1,e));return this._params=nC,this._data=``,this._hitLimit=!1,t}},iC=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,n,r){this.table[t<<8|e]=n<<4|r}addMany(e,t,n,r){for(let i=0;i<e.length;i++)this.table[t<<8|e[i]]=n<<4|r}},aC=160,oC=function(){let e=new iC(4095),t=Array.apply(null,Array(256)).map((e,t)=>t),n=(e,n)=>t.slice(e,n),r=n(32,127),i=n(0,24);i.push(25),i.push.apply(i,n(28,32));let a=n(0,14),o;for(o in e.setDefault(1,0),e.addMany(r,0,2,0),a)e.addMany([24,26,153,154],o,3,0),e.addMany(n(128,144),o,3,0),e.addMany(n(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(i,0,3,0),e.addMany(i,1,3,1),e.add(127,1,0,1),e.addMany(i,8,0,8),e.addMany(i,3,3,3),e.add(127,3,0,3),e.addMany(i,4,3,4),e.add(127,4,0,4),e.addMany(i,6,3,6),e.addMany(i,5,3,5),e.add(127,5,0,5),e.addMany(i,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(r,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(n(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(r,7,0,7),e.addMany(i,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(n(64,127),3,7,0),e.addMany(n(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(n(48,60),4,8,4),e.addMany(n(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(n(32,64),6,0,6),e.add(127,6,0,6),e.addMany(n(64,127),6,0,0),e.addMany(n(32,48),3,9,5),e.addMany(n(32,48),5,9,5),e.addMany(n(48,64),5,0,6),e.addMany(n(64,127),5,7,0),e.addMany(n(32,48),4,9,5),e.addMany(n(32,48),1,9,2),e.addMany(n(32,48),2,9,2),e.addMany(n(48,127),2,10,0),e.addMany(n(48,80),1,10,0),e.addMany(n(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(n(96,127),1,10,0),e.add(80,1,11,9),e.addMany(i,9,0,9),e.add(127,9,0,9),e.addMany(n(28,32),9,0,9),e.addMany(n(32,48),9,9,12),e.addMany(n(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(i,11,0,11),e.addMany(n(32,128),11,0,11),e.addMany(n(28,32),11,0,11),e.addMany(i,10,0,10),e.add(127,10,0,10),e.addMany(n(28,32),10,0,10),e.addMany(n(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(n(32,48),10,9,12),e.addMany(i,12,0,12),e.add(127,12,0,12),e.addMany(n(28,32),12,0,12),e.addMany(n(32,48),12,9,12),e.addMany(n(48,64),12,0,11),e.addMany(n(64,127),12,12,13),e.addMany(n(64,127),10,12,13),e.addMany(n(64,127),9,12,13),e.addMany(i,13,13,13),e.addMany(r,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(aC,0,2,0),e.add(aC,8,5,8),e.add(aC,6,0,6),e.add(aC,11,0,11),e.add(aC,13,13,13),e}(),sC=class extends Sv{constructor(e=oC){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new XS,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,n)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(yv(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new QS),this._dcsParser=this._register(new tC),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:`\\`},()=>!0)}_identifier(e,t=[64,126]){let n=0;if(e.prefix){if(e.prefix.length>1)throw Error(`only one byte as prefix supported`);if(n=e.prefix.charCodeAt(0),n&&60>n||n>63)throw Error(`prefix must be in range 0x3c .. 0x3f`)}if(e.intermediates){if(e.intermediates.length>2)throw Error(`only two bytes as intermediates are supported`);for(let t=0;t<e.intermediates.length;++t){let r=e.intermediates.charCodeAt(t);if(32>r||r>47)throw Error(`intermediate must be in range 0x20 .. 0x2f`);n<<=8,n|=r}}if(e.final.length!==1)throw Error(`final must be a single byte`);let r=e.final.charCodeAt(0);if(t[0]>r||r>t[1])throw Error(`final must be in range ${t[0]} .. ${t[1]}`);return n<<=8,n|=r,n}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join(``)}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let n=this._identifier(e,[48,126]);this._escHandlers[n]===void 0&&(this._escHandlers[n]=[]);let r=this._escHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let n=this._identifier(e);this._csiHandlers[n]===void 0&&(this._csiHandlers[n]=[]);let r=this._csiHandlers[n];return r.push(t),{dispose:()=>{let e=r.indexOf(t);e!==-1&&r.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}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(e,t,n,r,i){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=n,this._parseStack.transition=r,this._parseStack.chunkPos=i}parse(e,t,n){let r=0,i=0,a=0,o;if(this._parseStack.state){if(this._parseStack.state===2)this._parseStack.state=0,a=this._parseStack.chunkPos+1;else{if(n===void 0||this._parseStack.state===1)throw this._parseStack.state=1,Error(`improper continuation due to previous async handler, giving up parsing`);let t=this._parseStack.handlers,i=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](this._params),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 4:if(n===!1&&i>-1){for(;i>=0&&(o=t[i](),o!==!0);i--)if(o instanceof Promise)return this._parseStack.handlerPos=i,o}this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,n),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,a=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}}for(let n=a;n<t;++n){switch(r=e[n],i=this._transitions.table[this.currentState<<8|(r<160?r:aC)],i>>4){case 2:for(let i=n+1;;++i)if(i>=t||(r=e[i])<32||r>126&&r<aC||++i>=t||(r=e[i])<32||r>126&&r<aC||++i>=t||(r=e[i])<32||r>126&&r<aC||++i>=t||(r=e[i])<32||r>126&&r<aC){this._printHandler(e,n,i),n=i-1;break}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:n,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let a=this._csiHandlers[this._collect<<8|r],s=a?a.length-1:-1;for(;s>=0&&(o=a[s](this._params),o!==!0);s--)if(o instanceof Promise)return this._preserveStack(3,a,s,i,n),o;s<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++n<t&&(r=e[n])>47&&r<60);n--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],l=c?c.length-1:-1;for(;l>=0&&(o=c[l](),o!==!0);l--)if(o instanceof Promise)return this._preserveStack(4,c,l,i,n),o;l<0&&this._escHandlerFb(this._collect<<8|r),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|r,this._params);break;case 13:for(let i=n+1;;++i)if(i>=t||(r=e[i])===24||r===26||r===27||r>127&&r<aC){this._dcsParser.put(e,n,i),n=i-1;break}break;case 14:if(o=this._dcsParser.unhook(r!==24&&r!==26),o)return this._preserveStack(6,[],0,i,n),o;r===27&&(i|=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=n+1;;i++)if(i>=t||(r=e[i])<32||r>127&&r<aC){this._oscParser.put(e,n,i),n=i-1;break}break;case 6:if(o=this._oscParser.end(r!==24&&r!==26),o)return this._preserveStack(5,[],0,i,n),o;r===27&&(i|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=i&15}}},cC=/^([\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})$/,lC=/^[\da-f]+$/;function uC(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=cC.exec(t);if(e){let t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(t.indexOf(`#`)===0&&(t=t.slice(1),lC.exec(t)&&[3,6,9,12].includes(t.length))){let e=t.length/3,n=[0,0,0];for(let r=0;r<3;++r){let i=parseInt(t.slice(e*r,e*r+e),16);n[r]=e===1?i<<4:e===2?i:e===3?i>>4:i>>8}return n}}function dC(e,t){let n=e.toString(16),r=n.length<2?`0`+n:n;switch(t){case 4:return n[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function fC(e,t=16){let[n,r,i]=e;return`rgb:${dC(n,t)}/${dC(r,t)}/${dC(i,t)}`}var pC={"(":0,")":1,"*":2,"+":3,"-":1,".":2},mC=131072,hC=10;function gC(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var _C=5e3,vC=0,yC=class extends Sv{constructor(e,t,n,r,i,a,o,s,c=new sC){super(),this._bufferService=e,this._charsetService=t,this._coreService=n,this._logService=r,this._optionsService=i,this._oscLinkService=a,this._coreMouseService=o,this._unicodeService=s,this._parser=c,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new tae,this._utf8Decoder=new nae,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=cS.clone(),this._eraseAttrDataInternal=cS.clone(),this._onRequestBell=this._register(new K),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new K),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new K),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new K),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new K),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new K),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new K),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new K),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new K),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new K),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 bC(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(e=>this._activeBuffer=e.activeBuffer)),this._parser.setCsiHandlerFallback((e,t)=>{this._logService.debug(`Unknown CSI code: `,{identifier:this._parser.identToString(e),params:t.toArray()})}),this._parser.setEscHandlerFallback(e=>{this._logService.debug(`Unknown ESC code: `,{identifier:this._parser.identToString(e)})}),this._parser.setExecuteHandlerFallback(e=>{this._logService.debug(`Unknown EXECUTE code: `,{code:e})}),this._parser.setOscHandlerFallback((e,t,n)=>{this._logService.debug(`Unknown OSC code: `,{identifier:e,action:t,data:n})}),this._parser.setDcsHandlerFallback((e,t,n)=>{t===`HOOK`&&(n=n.toArray()),this._logService.debug(`Unknown DCS code: `,{identifier:this._parser.identToString(e),action:t,payload:n})}),this._parser.setPrintHandler((e,t,n)=>this.print(e,t,n)),this._parser.registerCsiHandler({final:`@`},e=>this.insertChars(e)),this._parser.registerCsiHandler({intermediates:` `,final:`@`},e=>this.scrollLeft(e)),this._parser.registerCsiHandler({final:`A`},e=>this.cursorUp(e)),this._parser.registerCsiHandler({intermediates:` `,final:`A`},e=>this.scrollRight(e)),this._parser.registerCsiHandler({final:`B`},e=>this.cursorDown(e)),this._parser.registerCsiHandler({final:`C`},e=>this.cursorForward(e)),this._parser.registerCsiHandler({final:`D`},e=>this.cursorBackward(e)),this._parser.registerCsiHandler({final:`E`},e=>this.cursorNextLine(e)),this._parser.registerCsiHandler({final:`F`},e=>this.cursorPrecedingLine(e)),this._parser.registerCsiHandler({final:`G`},e=>this.cursorCharAbsolute(e)),this._parser.registerCsiHandler({final:`H`},e=>this.cursorPosition(e)),this._parser.registerCsiHandler({final:`I`},e=>this.cursorForwardTab(e)),this._parser.registerCsiHandler({final:`J`},e=>this.eraseInDisplay(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`J`},e=>this.eraseInDisplay(e,!0)),this._parser.registerCsiHandler({final:`K`},e=>this.eraseInLine(e,!1)),this._parser.registerCsiHandler({prefix:`?`,final:`K`},e=>this.eraseInLine(e,!0)),this._parser.registerCsiHandler({final:`L`},e=>this.insertLines(e)),this._parser.registerCsiHandler({final:`M`},e=>this.deleteLines(e)),this._parser.registerCsiHandler({final:`P`},e=>this.deleteChars(e)),this._parser.registerCsiHandler({final:`S`},e=>this.scrollUp(e)),this._parser.registerCsiHandler({final:`T`},e=>this.scrollDown(e)),this._parser.registerCsiHandler({final:`X`},e=>this.eraseChars(e)),this._parser.registerCsiHandler({final:`Z`},e=>this.cursorBackwardTab(e)),this._parser.registerCsiHandler({final:"`"},e=>this.charPosAbsolute(e)),this._parser.registerCsiHandler({final:`a`},e=>this.hPositionRelative(e)),this._parser.registerCsiHandler({final:`b`},e=>this.repeatPrecedingCharacter(e)),this._parser.registerCsiHandler({final:`c`},e=>this.sendDeviceAttributesPrimary(e)),this._parser.registerCsiHandler({prefix:`>`,final:`c`},e=>this.sendDeviceAttributesSecondary(e)),this._parser.registerCsiHandler({final:`d`},e=>this.linePosAbsolute(e)),this._parser.registerCsiHandler({final:`e`},e=>this.vPositionRelative(e)),this._parser.registerCsiHandler({final:`f`},e=>this.hVPosition(e)),this._parser.registerCsiHandler({final:`g`},e=>this.tabClear(e)),this._parser.registerCsiHandler({final:`h`},e=>this.setMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`h`},e=>this.setModePrivate(e)),this._parser.registerCsiHandler({final:`l`},e=>this.resetMode(e)),this._parser.registerCsiHandler({prefix:`?`,final:`l`},e=>this.resetModePrivate(e)),this._parser.registerCsiHandler({final:`m`},e=>this.charAttributes(e)),this._parser.registerCsiHandler({final:`n`},e=>this.deviceStatus(e)),this._parser.registerCsiHandler({prefix:`?`,final:`n`},e=>this.deviceStatusPrivate(e)),this._parser.registerCsiHandler({intermediates:`!`,final:`p`},e=>this.softReset(e)),this._parser.registerCsiHandler({intermediates:` `,final:`q`},e=>this.setCursorStyle(e)),this._parser.registerCsiHandler({final:`r`},e=>this.setScrollRegion(e)),this._parser.registerCsiHandler({final:`s`},e=>this.saveCursor(e)),this._parser.registerCsiHandler({final:`t`},e=>this.windowOptions(e)),this._parser.registerCsiHandler({final:`u`},e=>this.restoreCursor(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`}`},e=>this.insertColumns(e)),this._parser.registerCsiHandler({intermediates:`'`,final:`~`},e=>this.deleteColumns(e)),this._parser.registerCsiHandler({intermediates:`"`,final:`q`},e=>this.selectProtected(e)),this._parser.registerCsiHandler({intermediates:`$`,final:`p`},e=>this.requestMode(e,!0)),this._parser.registerCsiHandler({prefix:`?`,intermediates:`$`,final:`p`},e=>this.requestMode(e,!1)),this._parser.setExecuteHandler(J.BEL,()=>this.bell()),this._parser.setExecuteHandler(J.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(J.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(J.BS,()=>this.backspace()),this._parser.setExecuteHandler(J.HT,()=>this.tab()),this._parser.setExecuteHandler(J.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(J.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(Xb.IND,()=>this.index()),this._parser.setExecuteHandler(Xb.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(Xb.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new $S(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new $S(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new $S(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new $S(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new $S(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new $S(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new $S(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new $S(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new $S(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new $S(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new $S(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new $S(e=>this.restoreCursorColor(e))),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(let e in yS)this._parser.registerEscHandler({intermediates:`(`,final:e},()=>this.selectCharset(`(`+e)),this._parser.registerEscHandler({intermediates:`)`,final:e},()=>this.selectCharset(`)`+e)),this._parser.registerEscHandler({intermediates:`*`,final:e},()=>this.selectCharset(`*`+e)),this._parser.registerEscHandler({intermediates:`+`,final:e},()=>this.selectCharset(`+`+e)),this._parser.registerEscHandler({intermediates:`-`,final:e},()=>this.selectCharset(`-`+e)),this._parser.registerEscHandler({intermediates:`.`,final:e},()=>this.selectCharset(`.`+e)),this._parser.registerEscHandler({intermediates:`/`,final:e},()=>this.selectCharset(`/`+e));this._parser.registerEscHandler({intermediates:`#`,final:`8`},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(e=>(this._logService.error(`Parsing error: `,e),e)),this._parser.registerDcsHandler({intermediates:`$`,final:`q`},new rC((e,t)=>this.requestStatusString(e,t)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,n,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=n,this._parseStack.position=r}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((e,t)=>setTimeout(()=>t(`#SLOW_TIMEOUT`),_C))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${_C} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let n,r=this._activeBuffer.x,i=this._activeBuffer.y,a=0,o=this._parseStack.paused;if(o){if(n=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(n),n;r=this._parseStack.cursorStartX,i=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>mC&&(a=this._parseStack.position+mC)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e==`string`?` "${e}"`:` "${Array.prototype.map.call(e,e=>String.fromCharCode(e)).join(``)}"`}`),this._logService.logLevel===0&&this._logService.trace(`parsing data (codes)`,typeof e==`string`?e.split(``).map(e=>e.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<mC&&(this._parseBuffer=new Uint32Array(Math.min(e.length,mC))),o||this._dirtyRowTracker.clearRange(),e.length>mC)for(let t=a;t<e.length;t+=mC){let a=t+mC<e.length?t+mC:e.length,o=typeof e==`string`?this._stringDecoder.decode(e.substring(t,a),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,a),this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,o))return this._preserveStack(r,i,o,t),this._logSlowResolvingAsync(n),n}else if(!o){let t=typeof e==`string`?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(n=this._parser.parse(this._parseBuffer,t))return this._preserveStack(r,i,t,0),this._logSlowResolvingAsync(n),n}(this._activeBuffer.x!==r||this._activeBuffer.y!==i)&&this._onCursorMove.fire();let s=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),c=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);c<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(c,this._bufferService.rows-1),end:Math.min(s,this._bufferService.rows-1)})}print(e,t,n){let r,i,a=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,s=this._bufferService.cols,c=this._coreService.decPrivateModes.wraparound,l=this._coreService.modes.insertMode,u=this._curAttrData,d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&n-t>0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let f=this._parser.precedingJoinState;for(let p=t;p<n;++p){if(r=e[p],r<127&&a){let e=a[String.fromCharCode(r)];e&&(r=e.charCodeAt(0))}let t=this._unicodeService.charProperties(r,f);i=GS.extractWidth(t);let n=GS.extractShouldJoin(t),m=n?GS.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(E_(r)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+i-m>s){if(c){let e=d,t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,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),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&d instanceof dS&&d.copyCellsFrom(e,t,0,m,!1);t<s;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=s-1,i===2)continue}if(n&&this._activeBuffer.x){let e=d.getWidth(this._activeBuffer.x-1)?1:2;d.addCodepointToCell(this._activeBuffer.x-e,r,i);for(let e=i-m;--e>=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}else if(l&&(d.insertCells(this._activeBuffer.x,i-m,this._activeBuffer.getNullCell(u)),d.getWidth(s-1)===2&&d.setCellFromCodepoint(s-1,0,1,u)),d.setCellFromCodepoint(this._activeBuffer.x++,r,i,u),i>0)for(;--i;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=f,this._activeBuffer.x<s&&n-t>0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final===`t`&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,e=>!gC(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new rC(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new $S(t))}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(){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&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,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(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,n,r=!1,i=!1){let a=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);a.replaceCells(t,n,this._activeBuffer.getNullCell(this._eraseAttrData()),i),r&&(a.isWrapped=!1)}_resetBufferLine(e,t=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n&&(n.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),n.isWrapped=!1)}eraseInDisplay(e,t=!1){this._restrictCursor(this._bufferService.cols);let n;switch(e.params[0]){case 0:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);n<this._bufferService.rows;n++)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(n);break;case 1:for(n=this._activeBuffer.y,this._dirtyRowTracker.markDirty(n),this._eraseInBufferLine(n,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(n+1).isWrapped=!1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(n=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,n-1);n--&&!this._activeBuffer.lines.get(this._activeBuffer.ybase+n)?.getTrimmedLength(););for(;n>=0;n--)this._bufferService.scroll(this._eraseAttrData())}else{for(n=this._bufferService.rows,this._dirtyRowTracker.markDirty(n-1);n--;)this._resetBufferLine(n,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,i=this._bufferService.rows-1+this._activeBuffer.ybase-r+1;for(;t--;)this._activeBuffer.lines.splice(i-1,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let n=this._activeBuffer.ybase+this._activeBuffer.y,r;for(r=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-r;t--;)this._activeBuffer.lines.splice(n,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)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(e){let t=e.params[0]||1;for(;t--;)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(cS));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let n=e.params[0]||1,r=GS.extractWidth(t),i=this._activeBuffer.x-r,a=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(i),o=new Uint32Array(a.length*n),s=0;for(let e=0;e<a.length;){let t=a.codePointAt(e)||0;o[s++]=t,e+=t>65535?2:1}let c=s;for(let e=1;e<n;++e)o.copyWithin(c,0,s),c+=s;return this.print(o,0,c),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(`xterm`)||this._is(`rxvt-unicode`)||this._is(`screen`)?this._coreService.triggerDataEvent(J.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(J.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(J.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(J.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(J.ESC+`[>83;40003;0c`)),!0}_is(e){return(this._optionsService.rawOptions.termName+``).indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,bS),this._charsetService.setgCharset(1,bS),this._charsetService.setgCharset(2,bS),this._charsetService.setgCharset(3,bS);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(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){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:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 1015:this._logService.debug(`DECRST 1015 not supported (see #2507)`);break;case 1016:this._coreMouseService.activeEncoding=`DEFAULT`;break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0)}return!0}requestMode(e,t){let n;(e=>(e[e.NOT_RECOGNIZED=0]=`NOT_RECOGNIZED`,e[e.SET=1]=`SET`,e[e.RESET=2]=`RESET`,e[e.PERMANENTLY_SET=3]=`PERMANENTLY_SET`,e[e.PERMANENTLY_RESET=4]=`PERMANENTLY_RESET`))(n||={});let r=this._coreService.decPrivateModes,{activeProtocol:i,activeEncoding:a}=this._coreMouseService,o=this._coreService,{buffers:s,cols:c}=this._bufferService,{active:l,alt:u}=s,d=this._optionsService.rawOptions,f=(e,n)=>(o.triggerDataEvent(`${J.ESC}[${t?``:`?`}${e};${n}$y`),!0),p=e=>e?1:2,m=e.params[0];return t?m===2?f(m,4):m===4?f(m,p(o.modes.insertMode)):m===12?f(m,3):m===20?f(m,p(d.convertEol)):f(m,0):m===1?f(m,p(r.applicationCursorKeys)):m===3?f(m,d.windowOptions.setWinLines?c===80?2:+(c===132):0):m===6?f(m,p(r.origin)):m===7?f(m,p(r.wraparound)):m===8?f(m,3):m===9?f(m,p(i===`X10`)):m===12?f(m,p(d.cursorBlink)):m===25?f(m,p(!o.isCursorHidden)):m===45?f(m,p(r.reverseWraparound)):m===66?f(m,p(r.applicationKeypad)):m===67?f(m,4):m===1e3?f(m,p(i===`VT200`)):m===1002?f(m,p(i===`DRAG`)):m===1003?f(m,p(i===`ANY`)):m===1004?f(m,p(r.sendFocus)):m===1005?f(m,4):m===1006?f(m,p(a===`SGR`)):m===1015?f(m,4):m===1016?f(m,p(a===`SGR_PIXELS`)):m===1048?f(m,1):m===47||m===1047||m===1049?f(m,p(l===u)):m===2004?f(m,p(r.bracketedPasteMode)):m===2026?f(m,p(r.synchronizedOutput)):f(m,0)}_updateAttrColor(e,t,n,r,i){return t===2?(e|=50331648,e&=-16777216,e|=A_.fromColorRGB([n,r,i])):t===5&&(e&=-50331904,e|=33554432|n&255),e}_extractColor(e,t,n){let r=[0,0,-1,0,0,0],i=0,a=0;do{if(r[a+i]=e.params[t+a],e.hasSubParams(t+a)){let n=e.getSubParams(t+a),o=0;do r[1]===5&&(i=1),r[a+o+1+i]=n[o];while(++o<n.length&&o+a+1+i<r.length);break}if(r[1]===5&&a+i>=2||r[1]===2&&a+i>=5)break;r[1]&&(i=1)}while(++a+t<e.length&&a+i<r.length);for(let e=2;e<r.length;++e)r[e]===-1&&(r[e]=0);switch(r[0]){case 38:n.fg=this._updateAttrColor(n.fg,r[1],r[3],r[4],r[5]);break;case 48:n.bg=this._updateAttrColor(n.bg,r[1],r[3],r[4],r[5]);break;case 58:n.extended=n.extended.clone(),n.extended.underlineColor=this._updateAttrColor(n.extended.underlineColor,r[1],r[3],r[4],r[5])}return a}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=cS.fg,e.bg=cS.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,n,r=this._curAttrData;for(let i=0;i<t;i++)n=e.params[i],n>=30&&n<=37?(r.fg&=-50331904,r.fg|=16777216|n-30):n>=40&&n<=47?(r.bg&=-50331904,r.bg|=16777216|n-40):n>=90&&n<=97?(r.fg&=-50331904,r.fg|=n-90|16777224):n>=100&&n<=107?(r.bg&=-50331904,r.bg|=n-100|16777224):n===0?this._processSGR0(r):n===1?r.fg|=134217728:n===3?r.bg|=67108864:n===4?(r.fg|=268435456,this._processUnderline(e.hasSubParams(i)?e.getSubParams(i)[0]:1,r)):n===5?r.fg|=536870912:n===7?r.fg|=67108864:n===8?r.fg|=1073741824:n===9?r.fg|=2147483648:n===2?r.bg|=134217728:n===21?this._processUnderline(2,r):n===22?(r.fg&=-134217729,r.bg&=-134217729):n===23?r.bg&=-67108865:n===24?(r.fg&=-268435457,this._processUnderline(0,r)):n===25?r.fg&=-536870913:n===27?r.fg&=-67108865:n===28?r.fg&=-1073741825:n===29?r.fg&=2147483647:n===39?(r.fg&=-67108864,r.fg|=cS.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=cS.bg&16777215):n===38||n===48||n===58?i+=this._extractColor(e,i,r):n===53?r.bg|=1073741824:n===55?r.bg&=-1073741825:n===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):n===100?(r.fg&=-67108864,r.fg|=cS.fg&16777215,r.bg&=-67108864,r.bg|=cS.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${J.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(e.params[0]===6){let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=cS.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(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle=`block`;break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle=`underline`;break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle=`bar`}let e=t%2==1;this._coreService.decPrivateModes.cursorBlink=e}return!0}setScrollRegion(e){let t=e.params[0]||1,n;return(e.length<2||(n=e.params[1])>this._bufferService.rows||n===0)&&(n=this._bufferService.rows),n>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=n-1,this._setCursor(0,0)),!0}windowOptions(e){if(!gC(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${J.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>hC&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>hC&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){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(e){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(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],n=e.split(`;`);for(;n.length>1;){let e=n.shift(),r=n.shift();if(/^\d+$/.exec(e)){let n=parseInt(e);if(xC(n)){if(r===`?`)t.push({type:0,index:n});else{let e=uC(r);e&&t.push({type:1,index:n,color:e})}}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(`;`);if(t===-1)return!0;let n=e.slice(0,t).trim(),r=e.slice(t+1);return r?this._createHyperlink(n,r):!n.trim()&&this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let n=e.split(`:`),r,i=n.findIndex(e=>e.startsWith(`id=`));return i!==-1&&(r=n[i].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let n=e.split(`;`);for(let e=0;e<n.length&&!(t>=this._specialColors.length);++e,++t)if(n[e]===`?`)this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=uC(n[e]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],n=e.split(`;`);for(let e=0;e<n.length;++e)if(/^\d+$/.exec(n[e])){let r=parseInt(n[e]);xC(r)&&t.push({type:2,index:r})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){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,bS),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(pC[e[0]],yS[e[1]]||bS),!0):(this.selectDefaultCharset(),!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){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,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=cS.clone(),this._eraseAttrDataInternal=cS.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new M_;e.content=4194373,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let n=this._activeBuffer.ybase+this._activeBuffer.y+t,r=this._activeBuffer.lines.get(n);r&&(r.fill(e),r.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let n=e=>(this._coreService.triggerDataEvent(`${J.ESC}${e}${J.ESC}\\`),!0),r=this._bufferService.buffer,i=this._optionsService.rawOptions;return n(e===`"q`?`P1$r${+!!this._curAttrData.isProtected()}"q`:e===`"p`?`P1$r61;1"p`:e===`r`?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:e===`m`?`P1$r0m`:e===` q`?`P1$r${{block:2,underline:4,bar:6}[i.cursorStyle]-+!!i.cursorBlink} q`:`P0$r`)}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},bC=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(vC=e,e=t,t=vC),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};bC=v_([G(0,L_)],bC);function xC(e){return 0<=e&&e<256}var SC=5e7,CC=12,wC=50,TC=class extends Sv{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new K),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let n;for(;n=this._writeBuffer.shift();){this._action(n);let e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>SC)throw Error(`write data discarded, use flow control to avoid losing data`);if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let n=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let e=this._writeBuffer[this._bufferOffset],r=this._action(e,t);if(r){r.catch(e=>(queueMicrotask(()=>{throw e}),Promise.resolve(!1))).then(e=>performance.now()-n>=CC?setTimeout(()=>this._innerWrite(0,e)):this._innerWrite(n,e));return}let i=this._callbacks[this._bufferOffset];if(i&&i(),this._bufferOffset++,this._pendingData-=e.length,performance.now()-n>=CC)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>wC&&(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()}},EC=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let n=t.addMarker(t.ybase+t.y),r={data:e,id:this._nextId++,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(r,n)),this._dataByLinkId.set(r.id,r),r.id}let n=e,r=this._getEntryIdKey(n),i=this._entriesWithId.get(r);if(i)return this.addLineToLink(i.id,t.ybase+t.y),i.id;let a=t.addMarker(t.ybase+t.y),o={id:this._nextId++,key:this._getEntryIdKey(n),data:n,lines:[a]};return a.onDispose(()=>this._removeMarkerFromLink(o,a)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(e,t){let n=this._dataByLinkId.get(e);if(n&&n.lines.every(e=>e.line!==t)){let e=this._bufferService.buffer.addMarker(t);n.lines.push(e),e.onDispose(()=>this._removeMarkerFromLink(n,e))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let n=e.lines.indexOf(t);n!==-1&&(e.lines.splice(n,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};EC=v_([G(0,L_)],EC);var DC=!1,OC=class extends Sv{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Cv),this._onBinary=this._register(new K),this.onBinary=this._onBinary.event,this._onData=this._register(new K),this.onData=this._onData.event,this._onLineFeed=this._register(new K),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new K),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new K),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new K),this._instantiationService=new aoe,this.optionsService=this._register(new kS(e)),this._instantiationService.setService(H_,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ES)),this._instantiationService.setService(L_,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(iS)),this._instantiationService.setService(V_,this._logService),this.coreService=this._register(this._instantiationService.createInstance(PS)),this._instantiationService.setService(z_,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(zS)),this._instantiationService.setService(R_,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(GS)),this._instantiationService.setService(oae,this.unicodeService),this._charsetService=this._instantiationService.createInstance(KS),this._instantiationService.setService(aae,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(EC),this._instantiationService.setService(U_,this._oscLinkService),this._inputHandler=this._register(new yC(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(Av.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(Av.forward(this._bufferService.onResize,this._onResize)),this._register(Av.forward(this.coreService.onData,this._onData)),this._register(Av.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange([`windowsMode`,`windowsPty`],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new TC((e,t)=>this._inputHandler.parse(e,t))),this._register(Av.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new K),this._onScroll.event(e=>{this._onScrollApi?.fire(e.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(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!DC&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),DC=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,wS),t=Math.max(t,TS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend===`conpty`&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(qS.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(qS(this._bufferService),!1))),this._windowsWrappingHeuristics.value=yv(()=>{for(let t of e)t.dispose()})}}},kC={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:[`'`,`"`]};function AC(e,t,n,r){let i={type:0,cancel:!1,key:void 0},a=+!!e.shiftKey|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key===`UIKeyInputUpArrow`?i.key=t?J.ESC+`OA`:J.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?J.ESC+`OD`:J.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?J.ESC+`OC`:J.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?J.ESC+`OB`:J.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:J.DEL,e.altKey&&(i.key=J.ESC+i.key);break;case 9:if(e.shiftKey){i.key=J.ESC+`[Z`;break}i.key=J.HT,i.cancel=!0;break;case 13:i.key=e.altKey?J.ESC+J.CR:J.CR,i.cancel=!0;break;case 27:i.key=J.ESC,e.altKey&&(i.key=J.ESC+J.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`D`:t?J.ESC+`OD`:J.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`C`:t?J.ESC+`OC`:J.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`A`:t?J.ESC+`OA`:J.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?J.ESC+`[1;`+(a+1)+`B`:t?J.ESC+`OB`:J.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=J.ESC+`[2~`);break;case 46:i.key=a?J.ESC+`[3;`+(a+1)+`~`:J.ESC+`[3~`;break;case 36:i.key=a?J.ESC+`[1;`+(a+1)+`H`:t?J.ESC+`OH`:J.ESC+`[H`;break;case 35:i.key=a?J.ESC+`[1;`+(a+1)+`F`:t?J.ESC+`OF`:J.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?J.ESC+`[5;`+(a+1)+`~`:J.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?J.ESC+`[6;`+(a+1)+`~`:J.ESC+`[6~`;break;case 112:i.key=a?J.ESC+`[1;`+(a+1)+`P`:J.ESC+`OP`;break;case 113:i.key=a?J.ESC+`[1;`+(a+1)+`Q`:J.ESC+`OQ`;break;case 114:i.key=a?J.ESC+`[1;`+(a+1)+`R`:J.ESC+`OR`;break;case 115:i.key=a?J.ESC+`[1;`+(a+1)+`S`:J.ESC+`OS`;break;case 116:i.key=a?J.ESC+`[15;`+(a+1)+`~`:J.ESC+`[15~`;break;case 117:i.key=a?J.ESC+`[17;`+(a+1)+`~`:J.ESC+`[17~`;break;case 118:i.key=a?J.ESC+`[18;`+(a+1)+`~`:J.ESC+`[18~`;break;case 119:i.key=a?J.ESC+`[19;`+(a+1)+`~`:J.ESC+`[19~`;break;case 120:i.key=a?J.ESC+`[20;`+(a+1)+`~`:J.ESC+`[20~`;break;case 121:i.key=a?J.ESC+`[21;`+(a+1)+`~`:J.ESC+`[21~`;break;case 122:i.key=a?J.ESC+`[23;`+(a+1)+`~`:J.ESC+`[23~`;break;case 123:i.key=a?J.ESC+`[24;`+(a+1)+`~`:J.ESC+`[24~`;break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?i.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?i.key=J.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=J.DEL:e.keyCode===219?i.key=J.ESC:e.keyCode===220?i.key=J.FS:e.keyCode===221&&(i.key=J.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=kC[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=J.ESC+t;else if(e.keyCode>=65&&e.keyCode<=90){let t=e.ctrlKey?e.keyCode-64:e.keyCode+32,n=String.fromCharCode(t);e.shiftKey&&(n=n.toUpperCase()),i.key=J.ESC+n}else if(e.keyCode===32)i.key=J.ESC+(e.ctrlKey?J.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=J.ESC+t,i.cancel=!0}}else n&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(i.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?i.key=e.key:e.key&&e.ctrlKey&&(e.key===`_`&&(i.key=J.US),e.key===`@`&&(i.key=J.NUL))}return i}var jC=0,MC=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Lx,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Lx,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((e,t)=>this._getKey(e)-this._getKey(t)),t=0,n=0,r=Array(this._array.length+this._insertedValues.length);for(let i=0;i<r.length;i++)n>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[n])?(r[i]=e[t],t++):r[i]=this._array[n++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(jC=this._search(t),jC===-1)||this._getKey(this._array[jC])!==t)return!1;do if(this._array[jC]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(jC),!0;while(++jC<this._array.length&&this._getKey(this._array[jC])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((e,t)=>e-t),t=0,n=Array(this._array.length-e.length),r=0;for(let i=0;i<this._array.length;i++)e[t]===i?t++:n[r++]=this._array[i];this._array=n,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(jC=this._search(e),!(jC<0||jC>=this._array.length)&&this._getKey(this._array[jC])===e))do yield this._array[jC];while(++jC<this._array.length&&this._getKey(this._array[jC])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(jC=this._search(e),!(jC<0||jC>=this._array.length)&&this._getKey(this._array[jC])===e))do t(this._array[jC]);while(++jC<this._array.length&&this._getKey(this._array[jC])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,n=this._array.length-1;for(;n>=t;){let r=t+n>>1,i=this._getKey(this._array[r]);if(i>e)n=r-1;else if(i<e)t=r+1;else{for(;r>0&&this._getKey(this._array[r-1])===e;)r--;return r}}return t}},NC=0,PC=0,FC=class extends Sv{constructor(){super(),this._decorations=new MC(e=>e?.marker.line),this._onDecorationRegistered=this._register(new K),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new K),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(yv(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new IC(e);if(t){let e=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,n){let r=0,i=0;for(let a of this._decorations.getKeyIterator(t))r=a.options.x??0,i=r+(a.options.width??1),e>=r&&e<i&&(!n||(a.options.layer??`bottom`)===n)&&(yield a)}forEachDecorationAtCell(e,t,n,r){this._decorations.forEachByKey(t,t=>{NC=t.options.x??0,PC=NC+(t.options.width??1),e>=NC&&e<PC&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},IC=class extends xv{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new K),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new K),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=`full`)}get backgroundColorRGB(){return this._cachedBg===null&&(this._cachedBg=this.options.backgroundColor?ox.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?ox.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},LC=1e3,RC=class{constructor(e,t=LC){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,n){this._rowCount=n,e=e===void 0?0:e,t=t===void 0?this._rowCount-1:t,this._rowStart=this._rowStart===void 0?e:Math.min(this._rowStart,e),this._rowEnd=this._rowEnd===void 0?t:Math.max(this._rowEnd,t);let r=performance.now();if(r-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let e=r-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},t)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},zC=20,BC=class extends Sv{constructor(e,t,n,r){super(),this._terminal=e,this._coreBrowserService=n,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=``;let i=this._coreBrowserService.mainDocument;this._accessibilityContainer=i.createElement(`div`),this._accessibilityContainer.classList.add(`xterm-accessibility`),this._rowContainer=i.createElement(`div`),this._rowContainer.setAttribute(`role`,`list`),this._rowContainer.classList.add(`xterm-accessibility-tree`),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=i.createElement(`div`),this._liveRegion.classList.add(`live-region`),this._liveRegion.setAttribute(`aria-live`,`assertive`),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new RC(this._renderRows.bind(this))),!this._terminal.element)throw Error(`Cannot enable accessibility before Terminal.open`);this._terminal.element.insertAdjacentElement(`afterbegin`,this._accessibilityContainer),this._register(this._terminal.onResize(e=>this._handleResize(e.rows))),this._register(this._terminal.onRender(e=>this._refreshRows(e.start,e.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(e=>this._handleChar(e))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
117
|
-
`))),this._register(this._terminal.onA11yTab(e=>this._handleTab(e))),this._register(this._terminal.onKey(e=>this._handleKey(e.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(q(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(yv(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<zC+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
118
|
-
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===zC+1&&(this._liveRegion.textContent+=S_.get())))}_clearLiveRegion(){this._liveRegion.textContent=``,this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let n=this._terminal.buffer,r=n.lines.length.toString();for(let i=e;i<=t;i++){let e=n.lines.get(n.ydisp+i),t=[],a=e?.translateToString(!0,void 0,void 0,t)||``,o=(n.ydisp+i+1).toString(),s=this._rowElements[i];s&&(a.length===0?(s.textContent=`\xA0`,this._rowColumns.set(s,[0,1])):(s.textContent=a,this._rowColumns.set(s,t)),s.setAttribute(`aria-posinset`,o),s.setAttribute(`aria-setsize`,r),this._alignRowWidth(s))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=``)}_handleBoundaryFocus(e,t){let n=e.target,r=this._rowElements[t===0?1:this._rowElements.length-2];if(n.getAttribute(`aria-posinset`)===(t===0?`1`:`${this._terminal.buffer.lines.length}`)||e.relatedTarget!==r)return;let i,a;if(t===0?(i=n,a=this._rowElements.pop(),this._rowContainer.removeChild(a)):(i=this._rowElements.shift(),a=n,this._rowContainer.removeChild(i)),i.removeEventListener(`focus`,this._topBoundaryFocusListener),a.removeEventListener(`focus`,this._bottomBoundaryFocusListener),t===0){let e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(`afterbegin`,e)}else{let e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(`focus`,this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error(`anchorNode and/or focusNode are null`);return}let t={node:e.anchorNode,offset:e.anchorOffset},n={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(n.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===n.node&&t.offset>n.offset)&&([t,n]=[n,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let r=this._rowElements.slice(-1)[0];if(n.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(n={node:r,offset:r.textContent?.length??0}),!this._rowContainer.contains(n.node))return;let i=({node:e,offset:t})=>{let n=e instanceof Text?e.parentNode:e,r=parseInt(n?.getAttribute(`aria-posinset`),10)-1;if(isNaN(r))return console.warn(`row is invalid. Race condition?`),null;let i=this._rowColumns.get(n);if(!i)return console.warn(`columns is null. Race condition?`),null;let a=t<i.length?i[t]:i.slice(-1)[0]+1;return a>=this._terminal.cols&&(++r,a=0),{row:r,column:a}},a=i(t),o=i(n);if(a&&o){if(a.row>o.row||a.row===o.row&&a.column>=o.column)throw Error(`invalid range`);this._terminal.select(a.column,a.row,(o.row-a.row)*this._terminal.cols-a.column+o.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener(`focus`,this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(`focus`,this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement(`div`);return e.setAttribute(`role`,`listitem`),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){e.style.transform=``;let t=e.getBoundingClientRect().width,n=this._rowColumns.get(e)?.slice(-1)?.[0];if(!n)return;let r=n*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${r/t})`}};BC=v_([G(1,B_),G(2,J_),G(3,X_)],BC);var VC=class extends Sv{constructor(e,t,n,r,i){super(),this._element=e,this._mouseService=t,this._renderService=n,this._bufferService=r,this._linkProviderService=i,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new K),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new K),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(yv(()=>{vv(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(q(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(q(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(q(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(q(this._element,`mouseup`,this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let n=e.composedPath();for(let e=0;e<n.length;e++){let t=n[e];if(t.classList.contains(`xterm`))break;if(t.classList.contains(`xterm-hover`))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){this._activeLine!==e.y||this._wasResized?(this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1):this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){(!this._activeProviderReplies||!t)&&(this._activeProviderReplies?.forEach(e=>{e?.forEach(e=>{e.link.dispose&&e.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let n=!1;for(let[r,i]of this._linkProviderService.linkProviders.entries())t?this._activeProviderReplies?.get(r)&&(n=this._checkLinkProviderResult(r,e,n)):i.provideLinks(e.y,t=>{if(this._isMouseOut)return;let i=t?.map(e=>({link:e}));this._activeProviderReplies?.set(r,i),n=this._checkLinkProviderResult(r,e,n),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let n=new Set;for(let r=0;r<t.size;r++){let i=t.get(r);if(i)for(let t=0;t<i.length;t++){let r=i[t],a=r.link.range.start.y<e?0:r.link.range.start.x,o=r.link.range.end.y>e?this._bufferService.cols:r.link.range.end.x;for(let e=a;e<=o;e++){if(n.has(e)){i.splice(t--,1);break}n.add(e)}}}}_checkLinkProviderResult(e,t,n){if(!this._activeProviderReplies)return n;let r=this._activeProviderReplies.get(e),i=!1;for(let t=0;t<e;t++)(!this._activeProviderReplies.has(t)||this._activeProviderReplies.get(t))&&(i=!0);if(!i&&r){let e=r.find(e=>this._linkAtPosition(e.link,t));e&&(n=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!n)for(let e=0;e<this._activeProviderReplies.size;e++){let r=this._activeProviderReplies.get(e)?.find(e=>this._linkAtPosition(e.link,t));if(r){n=!0,this._handleNewLink(r);break}}return n}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&HC(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,vv(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0||e.link.decorations.underline,pointerCursor:e.link.decorations===void 0||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(`xterm-cursor-pointer`,e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(e=>{if(!this._currentLink)return;let t=e.start===0?0:e.start+1+this._bufferService.buffer.ydisp,n=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=n&&(this._clearCurrentLink(t,n),this._lastMouseEvent)){let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}})))}_linkHover(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(`xterm-cursor-pointer`)),t.hover&&t.hover(n,t.text)}_fireUnderlineEvent(e,t){let n=e.range,r=this._bufferService.buffer.ydisp,i=this._createLinkUnderlineEvent(n.start.x-1,n.start.y-r-1,n.end.x,n.end.y-r-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(i)}_linkLeave(e,t,n){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(`xterm-cursor-pointer`)),t.leave&&t.leave(n,t.text)}_linkAtPosition(e,t){let n=e.range.start.y*this._bufferService.cols+e.range.start.x,r=e.range.end.y*this._bufferService.cols+e.range.end.x,i=t.y*this._bufferService.cols+t.x;return n<=i&&i<=r}_positionFromMouseEvent(e,t,n){let r=n.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,n,r,i){return{x1:e,y1:t,x2:n,y2:r,cols:this._bufferService.cols,fg:i}}};VC=v_([G(1,Y_),G(2,X_),G(3,L_),G(4,ev)],VC);function HC(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var UC=class extends OC{constructor(e={}){super(e),this._linkifier=this._register(new Cv),this.browser=Ex,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Cv),this._onCursorMove=this._register(new K),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new K),this.onKey=this._onKey.event,this._onRender=this._register(new K),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new K),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new K),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new K),this.onBell=this._onBell.event,this._onFocus=this._register(new K),this._onBlur=this._register(new K),this._onA11yCharEmitter=this._register(new K),this._onA11yTabEmitter=this._register(new K),this._onWillOpen=this._register(new K),this._setup(),this._decorationService=this._instantiationService.createInstance(FC),this._instantiationService.setService(W_,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Pae),this._instantiationService.setService(ev,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(G_)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh(e?.start??0,e?.end??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(Av.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Av.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Av.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Av.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(yv(()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}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}_handleColorEvent(e){if(this._themeService)for(let t of e){let e,n=``;switch(t.index){case 256:e=`foreground`,n=`10`;break;case 257:e=`background`,n=`11`;break;case 258:e=`cursor`,n=`12`;break;default:e=`ansi`,n=`4;`+t.index}switch(t.type){case 0:let r=ax.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${J.ESC}]${n};${fC(r)}${Zb.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=ix.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=ix.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(BC,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+`[I`),this.element.classList.add(`focus`),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=``,this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+`[O`),this.element.classList.remove(`focus`),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let n=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,i=t.getWidth(n),a=this._renderService.dimensions.css.cell.width*i,o=this.buffer.y*this._renderService.dimensions.css.cell.height,s=n*this._renderService.dimensions.css.cell.width;this.textarea.style.left=s+`px`,this.textarea.style.top=o+`px`,this.textarea.style.width=a+`px`,this.textarea.style.height=r+`px`,this.textarea.style.lineHeight=r+`px`,this.textarea.style.zIndex=`-5`}_initGlobal(){this._bindKeys(),this._register(q(this.element,`copy`,e=>{this.hasSelection()&&$ie(e,this._selectionService)}));let e=e=>eae(e,this.textarea,this.coreService,this.optionsService);this._register(q(this.textarea,`paste`,e)),this._register(q(this.element,`paste`,e)),Ax?this._register(q(this.element,`mousedown`,e=>{e.button===2&&T_(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(q(this.element,`contextmenu`,e=>{T_(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Px&&this._register(q(this.element,`auxclick`,e=>{e.button===1&&w_(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(q(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(q(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(q(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(q(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(q(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(q(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(q(this.textarea,`input`,e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){if(!e)throw Error(`Terminal requires a parent element.`);if(e.isConnected||this._logService.debug(`Terminal.open was called on an element that was not attached to the DOM`),this.element?.ownerDocument.defaultView&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.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`),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(`div`),this._viewportElement.classList.add(`xterm-viewport`),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement(`div`),this.screenElement.classList.add(`xterm-screen`),this._register(q(this.screenElement,`mousemove`,e=>this.updateCursorStyle(e))),this._helperContainer=this._document.createElement(`div`),this._helperContainer.classList.add(`xterm-helpers`),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let n=this.textarea=this._document.createElement(`textarea`);this.textarea.classList.add(`xterm-helper-textarea`),this.textarea.setAttribute(`aria-label`,b_.get()),Fx||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._register(this.optionsService.onSpecificOptionChange(`disableStdin`,()=>n.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Mae,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(J_,this._coreBrowserService),this._register(q(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(q(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Sx,this._document,this._helperContainer),this._instantiationService.setService(q_,this._charSizeService),this._themeService=this._instantiationService.createInstance(nS),this._instantiationService.setService($_,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(dx),this._instantiationService.setService(Q_,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Rx,this.rows,this.screenElement)),this._instantiationService.setService(X_,this._renderService),this._register(this._renderService.onRenderedViewportChange(e=>this._onRender.fire(e))),this.onResize(e=>this._renderService.resize(e.cols,e.rows)),this._compositionView=this._document.createElement(`div`),this._compositionView.classList.add(`composition-view`),this._compositionHelper=this._instantiationService.createInstance(Qb,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Tx),this._instantiationService.setService(Y_,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(VC,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),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._viewport=this._register(this._instantiationService.createInstance(Ub,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(e=>{super.scrollLines(e,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(qx,this.element,this.screenElement,r)),this._instantiationService.setService(Z_,this._selectionService),this._register(this._selectionService.onRequestScrollLines(e=>this.scrollLines(e.amount,e.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()})),this._register(Av.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Wb,this.screenElement)),this._register(q(this.element,`mousedown`,e=>this._selectionService.handleMouseDown(e))),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(BC,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Yb,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Yb,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(xx,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function n(t){let n=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!n)return!1;let r,i;switch(t.overrideType||t.type){case`mousemove`:i=32,t.buttons===void 0?(r=3,t.button!==void 0&&(r=t.button<3?t.button:3)):r=t.buttons&1?0:t.buttons&4?1:t.buttons&2?2:3;break;case`mouseup`:i=0,r=t.button<3?t.button:3;break;case`mousedown`:i=1,r=t.button<3?t.button:3;break;case`wheel`:if(e._customWheelEventHandler&&e._customWheelEventHandler(t)===!1)return!1;let n=t.deltaY;if(n===0||e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return!1;i=n<0?0:1,r=4;break;default:return!1}return i===void 0||r===void 0||r>4?!1:e.coreMouseService.triggerMouseEvent({col:n.col,row:n.row,x:n.x,y:n.y,button:r,action:i,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},i={mouseup:e=>(n(e),e.buttons||(this._document.removeEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.removeEventListener(`mousemove`,r.mousedrag)),this.cancel(e)),wheel:e=>(n(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&n(e)},mousemove:e=>{e.buttons||n(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()),e&8?r.mousemove||=(t.addEventListener(`mousemove`,i.mousemove),i.mousemove):(t.removeEventListener(`mousemove`,r.mousemove),r.mousemove=null),e&16?r.wheel||=(t.addEventListener(`wheel`,i.wheel,{passive:!1}),i.wheel):(t.removeEventListener(`wheel`,r.wheel),r.wheel=null),e&2?r.mouseup||=i.mouseup:(this._document.removeEventListener(`mouseup`,r.mouseup),r.mouseup=null),e&4?r.mousedrag||=i.mousedrag:(this._document.removeEventListener(`mousemove`,r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(q(t,`mousedown`,e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return n(e),r.mouseup&&this._document.addEventListener(`mouseup`,r.mouseup),r.mousedrag&&this._document.addEventListener(`mousemove`,r.mousedrag),this.cancel(e)})),this._register(q(t,`wheel`,t=>{if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(t)===!1)return!1;if(!this.buffer.hasScrollback){if(t.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(t,e._renderService?.dimensions?.device?.cell?.height,e._coreBrowserService?.dpr)===0)return this.cancel(t,!0);let n=J.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?`O`:`[`)+(t.deltaY<0?`A`:`B`);return this.coreService.triggerDataEvent(n,!0),this.cancel(t,!0)}}},{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?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(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){C_(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw Error(`Terminal must be opened first`);this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,n){this._selectionService.setSelection(e,t,n)}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(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key===`Dead`||e.key===`AltGraph`)&&(this._unprocessedDeadKey=!0);let n=AC(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),n.type===3||n.type===2){let t=this.rows-1;return this.scrollLines(n.type===2?-t:t),this.cancel(e,!0)}if(n.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(n.cancel&&this.cancel(e,!0),!n.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((n.key===J.ETX||n.key===J.CR)&&(this.textarea.value=``),this._onKey.fire({key:n.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(n.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let n=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(`AltGraph`);return t.type===`keypress`?n:n&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(WC(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType===`insertText`&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e===this.cols&&t===this.rows?this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure():super.resize(e,t)}_afterResize(e,t){this._charSizeService?.measure()}clear(){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 e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(cS));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(`focus`)?this.coreService.triggerDataEvent(J.ESC+`[I`):this.coreService.triggerDataEvent(J.ESC+`[O`)}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[4;${t};${e}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),r=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${J.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function WC(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var GC=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let n={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(n),t.dispose=()=>this._wrappedAddonDispose(n),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let n=0;n<this._addons.length;n++)if(this._addons[n]===e){t=n;break}if(t===-1)throw Error(`Could not dispose an addon that has not been loaded`);e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},KC=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new M_)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},qC=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,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(e){let t=this._buffer.lines.get(e);if(t)return new KC(t)}getNullCell(){return new M_}},JC=class extends Sv{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new K),this.onBufferChange=this._onBufferChange.event,this._normal=new qC(this._core.buffers.normal,`normal`),this._alternate=new qC(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 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)}},YC=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,e=>t(e.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(e,n)=>t(e,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},XC=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},ZC=[`cols`,`rows`],QC=0,$C=class extends Sv{constructor(e){super(),this._core=this._register(new UC(e)),this._addonManager=this._register(new GC),this._publicOptions={...this._core.options};let t=e=>this._core.options[e],n=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(let e in this._core.options){let r={get:t.bind(this,e),set:n.bind(this,e)};Object.defineProperty(this._publicOptions,e,r)}}_checkReadonlyOptions(e){if(ZC.includes(e))throw Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw 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||=new YC(this._core),this._parser}get unicode(){return this._checkProposedApi(),new XC(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._register(new JC(this._core)),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t=`none`;switch(this._core.coreMouseService.activeProtocol){case`X10`:t=`x10`;break;case`VT200`:t=`vt200`;break;case`DRAG`:t=`drag`;break;case`ANY`:t=`any`}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,n){this._verifyIntegers(e,t,n),this._core.select(e,t,n)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
119
|
-
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return b_.get()},set promptLabel(e){b_.set(e)},get tooMuchOutput(){return S_.get()},set tooMuchOutput(e){S_.set(e)}}}_verifyIntegers(...e){for(QC of e)if(QC===1/0||isNaN(QC)||QC%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(QC of e)if(QC&&(QC===1/0||isNaN(QC)||QC%1!=0||QC<0))throw Error(`This API only accepts positive integers`)}},ew=`CommitMono`,tw=[400,700].map(e=>`${e} 14px ${ew}`),nw=`monospace`;function rw(e){return e.trim().replace(/^['"]|['"]$/g,``)}function iw(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>rw(e)!==ew);return r.length>0?r.join(`, `):nw}function aw(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function ow(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function sw(){return document.fonts?tw.every(e=>document.fonts.check(e)):!1}function cw(){return iw(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),sw())}function lw(e){document.fonts&&aw(document.fonts,tw,e)}var uw=`(max-width: 768px)`,dw=`(pointer: coarse)`;function fw({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var pw=window.matchMedia?.(dw),mw=window.matchMedia?.(uw);function hw(){return fw({coarse:!!pw?.matches,narrowWidth:!!mw?.matches})}function gw(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function _w(){pe.subscribe((e,t)=>{t.includes(`layout`)&&gw(e.layout)});let e=hw();gw(e),pe.dispatch(`setLayout`,e);let t=()=>pe.dispatch(`setLayout`,hw());return pw?.addEventListener?.(`change`,t),mw?.addEventListener?.(`change`,t),e}function vw(){return pe.snapshot().layout===`phone`}function yw(e){return pe.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var bw=`↑`,xw=`↓`,Sw=`←`,Cw=`→`,ww=`⌘`,Tw=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Ew=[{action:`next-attention`,keyCaptions:[`J`],label:`Jump to the next session needing you`,stepByCode:new Map([[`KeyJ`,0]])},{action:`rail-step`,keyCaptions:[bw,xw],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]])},{action:`view-step`,keyCaptions:[Sw,Cw],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Tw)},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]])},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]])},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]])},{action:`streamer-mode`,keyCaptions:[`\\`],label:`Turn streamer mode on or off`,stepByCode:new Map([[`Backslash`,0]])}];function Dw(e){return Ew.filter(t=>t.unavailablePlatform!==e)}function Ow(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function kw(e,t){return e.ctrlKey||e.shiftKey?!1:t===`mac`?e.metaKey&&!e.altKey:e.altKey&&!e.metaKey}var Aw=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function jw(e){return Aw.has(e.key)?e.key:e.code}function Mw(e,t){if(!kw(e,t))return null;let n=jw(e);for(let e of Dw(t)){let t=e.stepByCode.get(n);if(t!==void 0)return{action:e.action,step:t}}return null}function Nw(e){return e===`mac`?ww:`Alt`}function Pw(e,t){let n=Dw(t).find(t=>t.action===e);if(!n)throw Error(`Unknown dashboard shortcut: ${e}`);return n}function Fw(e,t){return[Nw(t),Pw(e,t).keyCaptions.join(` `)]}function Iw(e,t){let[n,r]=Fw(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function Lw(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function Rw(e){let t=Nw(e),n=e===`mac`?ww:`Ctrl`;return[{title:`Dashboard`,items:Dw(e).map(e=>({combos:e.keyCaptions.map(e=>[t,e]),label:e.label}))},{title:`Navigation`,items:[{combos:[[bw],[xw]],label:`Move rail highlight (rail focused)`},{combos:[[Sw],[Cw]],label:`Switch view tab (tab focused)`}]},{title:`Terminal`,items:[{combos:[[n,`C`]],label:`Copy selection`},{combos:[[n,`V`]],label:`Paste`},{combos:[[n,`Backspace`]],label:`Delete previous word`}]},{title:`General`,items:[{combos:[[`Esc`]],label:`Close dialog / cancel rename`}]}]}var zw=Ow(navigator.userAgent);function Bw(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(p(`span`,`shortcut-sep`,`+`)),e.appendChild(p(`kbd`,`kbd`,t))})}function Vw(e){let t=p(`span`,`shortcut-keys`);return Bw(t,e),t}var Hw=6,Uw=262144,Ww=16384,Gw=()=>{};function Kw(e,t){if(t.length<=Ww)e.push(t);else for(let n=0;n<t.length;n+=Ww)e.push(t.slice(n,n+Ww))}function qw({budget:e=Hw,maxChunkBytes:t=Uw,requestFrame:n,cancelFrame:r}={}){let i=n||(e=>requestAnimationFrame(e)),a=r||(e=>cancelAnimationFrame(e)),o=new Map,s=[],c=0,l=null;function u(){l===null&&(l=i(h))}function d(e){return e.readIdx<e.pending.length}function f(e){d(e)||(e.pending.length=0,e.readIdx=0,e.dirty=!1)}function p(e){return!!(e?.live&&e.dirty&&!e.inFlight&&d(e))}function m(){for(let e of o.values())if(p(e))return!0;return!1}function h(){l=null;let n=s.length,r=0;for(let i=0;i<n&&r<e;i++){let e=s[(c+i)%n],a=o.get(e);if(!p(a))continue;let l=[],m=0;for(;a.readIdx<a.pending.length;){let e=a.pending[a.readIdx];if(typeof e!=`string`){if(m>0)break;a.readIdx++,e.run();continue}let n=t-m;if(m+e.length<=t)Kw(l,e),m+=e.length,a.readIdx++;else{m===0&&(Kw(l,e.slice(0,n)),m+=n,a.pending[a.readIdx]=e.slice(n));break}}let h=l.pop();if(h===void 0)f(a),r++;else{f(a),d(a)&&a.readIdx>=64&&(a.pending.splice(0,a.readIdx),a.readIdx=0),a.inFlight=!0;for(let e of l)a.write(e,Gw);a.write(h,()=>{a.live&&(a.inFlight=!1,d(a)&&(a.dirty=!0,u()))}),r++}}n>0&&(c=(c+1)%n),m()&&u()}return{register(e,t){let n=o.get(e);n?(n.write=t,n.live=!0):(o.set(e,{write:t,pending:[],readIdx:0,inFlight:!1,dirty:!1,live:!0}),s.push(e))},unregister(e){let t=o.get(e);if(!t)return;t.live=!1,o.delete(e);let n=s.indexOf(e);n!==-1&&s.splice(n,1),c>=s.length&&(c=0)},enqueue(e,t){let n=o.get(e);n&&t&&(n.pending.push(t),n.dirty=!0,u())},enqueueAction(e,t){let n=o.get(e);n&&(n.pending.push({run:t}),n.dirty=!0,u())},has(e){return o.has(e)},size(){return o.size},running(){return l!==null},stop(){l!==null&&(a(l),l=null)}}}var Jw=qw(),Yw=.3,Xw=null;function Zw(){return df(Xw)}function Qw(e){return ff(e,Xw)}async function $w(){try{let e=await fetch(af,{credentials:`same-origin`,cache:`no-store`});e.ok&&(Xw=pf(await e.json()))}catch{}}function eT(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function tT(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function nT(e){rT(of[e]??of.chime)}function rT(e){let t=eT(),n=t.createGain();n.gain.value=e.peakGain,n.connect(t.destination);let r=t.currentTime,i=0;for(let a of e.tones){let e=r+a.startSeconds,o=e+a.durationSeconds,s=t.createOscillator(),c=t.createGain();s.type=a.waveform,s.frequency.setValueAtTime(a.frequency,e),a.endFrequency&&s.frequency.exponentialRampToValueAtTime(a.endFrequency,o),c.gain.setValueAtTime(.001,e),c.gain.exponentialRampToValueAtTime(a.gain??1,e+.01),c.gain.exponentialRampToValueAtTime(.001,o),s.connect(c),c.connect(n),s.start(e),s.stop(o),i=Math.max(i,a.startSeconds+a.durationSeconds)}tT(t,i)}async function iT(e){try{let t=await fetch(lf(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function aT(e){let t=await iT(e);if(!t)return!1;let n=eT();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=Yw,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),tT(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var oT=[659.25,830.61,987.77,1108.73,987.77,830.61,739.99,659.25,739.99,830.61,987.77,1108.73,987.77,830.61];function sT(){try{let e=new AudioContext;if(e.state===`suspended`&&e.resume(),e.state===`suspended`)return;let t=e.createGain();t.gain.value=.05,t.connect(e.destination);let n=.125,r=e.currentTime;for(let i=0;i<oT.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=oT[i],s.gain.setValueAtTime(.001,a),s.gain.exponentialRampToValueAtTime(1,a+.01),s.gain.exponentialRampToValueAtTime(.001,a+n*.9),o.connect(s),s.connect(t),o.start(a),o.stop(a+n)}let i=r+oT.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function cT(){try{nT(nf)}catch{}}function lT(e){try{let t=Qw(e),n=uf(t);if(!n){nT(t);return}aT(n).then(e=>{e||cT()})}catch{}}var uT={"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.06)`,"--state-running":`#22c55e`,"--state-running-bg":`rgba(34, 197, 94, 0.06)`,"--state-waiting":`#f59e0b`,"--state-waiting-bg":`rgba(245, 158, 11, 0.08)`,"--state-failed":`#ef4444`,"--state-failed-bg":`rgba(239, 68, 68, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#eab308`,"--state-idle-bg":`rgba(234, 179, 8, 0.06)`},dT={background:`--bg-card`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#ef4444`,brightRed:`#f87171`,green:`#22c55e`,brightGreen:`#4ade80`,yellow:`#eab308`,brightYellow:`#facc15`,cyan:`#06b6d4`,brightCyan:`#22d3ee`},fT={golgari:{label:`Golgari (Green/Black)`,colors:{"--bg":`#060b08`,"--bg-card":`#0a120e`,"--bg-header":`#081009`,"--bg-surface":`#0e1a12`,"--border":`#1a2e1f`,"--border-dim":`#122016`,"--border-hover":`#2a4a32`,"--text":`#b8ccbe`,"--text-dim":`#6a9070`,"--text-head":`#dceede`,"--text-muted":`#7a9a80`,"--accent":`#2dd4a0`,"--accent-dim":`#1a9a6e`,...uT,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#2dd4a0`,"--state-done-bg":`rgba(45, 212, 160, 0.06)`,"--state-starting":`#a78bfa`,"--state-starting-bg":`rgba(167, 139, 250, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...dT,foreground:`#c8dece`,blue:`--accent`,brightBlue:`#5ee8bc`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8dece`,brightWhite:`#e8f5ea`}},midnight:{label:`Midnight (Blue/Purple)`,colors:{"--bg":`#080816`,"--bg-card":`#0e0e20`,"--bg-header":`#0b0b1a`,"--bg-surface":`#131328`,"--border":`#1c1c38`,"--border-dim":`#141430`,"--border-hover":`#2a2a50`,"--text":`#b8b8d4`,"--text-dim":`#8585b3`,"--text-head":`#dcdcf0`,"--text-muted":`#7c7ca9`,"--accent":`#4f6ef7`,"--accent-dim":`#3a54c0`,...uT,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#3b82f6`,"--state-done-bg":`rgba(59, 130, 246, 0.06)`,"--state-starting":`#a855f7`,"--state-starting-bg":`rgba(168, 85, 247, 0.06)`,"--state-complete":`#60a5fa`,"--state-complete-bg":`rgba(96, 165, 250, 0.06)`},terminal:{...dT,foreground:`#c8c8e0`,blue:`--accent`,brightBlue:`#60a5fa`,magenta:`#a855f7`,brightMagenta:`#c084fc`,white:`#c8c8e0`,brightWhite:`#e8e8ff`}},phyrexian:{label:`Phyrexian (Iridescent)`,colors:{"--bg":`#0a0810`,"--bg-card":`#100e18`,"--bg-header":`#0c0a14`,"--bg-surface":`#16122a`,"--border":`#2a2440`,"--border-dim":`#1e1a32`,"--border-hover":`#3e3660`,"--text":`#c8c0e0`,"--text-dim":`#8d82b9`,"--text-head":`#e8e0ff`,"--text-muted":`#8579b1`,"--accent":`#c084fc`,"--accent-dim":`#9656d6`,...uT,"--state-monitoring":`#60a5fa`,"--state-monitoring-bg":`rgba(96, 165, 250, 0.08)`,"--state-done":`#67e8f9`,"--state-done-bg":`rgba(103, 232, 249, 0.06)`,"--state-starting":`#f472b6`,"--state-starting-bg":`rgba(244, 114, 182, 0.06)`,"--state-complete":`#34d399`,"--state-complete-bg":`rgba(52, 211, 153, 0.06)`},terminal:{...dT,foreground:`#c8c0e0`,blue:`#67e8f9`,brightBlue:`#a5f3fc`,magenta:`--accent`,brightMagenta:`#d8b4fe`,white:`#c8c0e0`,brightWhite:`#e8e0ff`}},compleated:{label:`Compleated (Light)`,colors:{"--bg":`#ece8e0`,"--bg-card":`#f7f4ee`,"--bg-header":`#f0ece4`,"--bg-surface":`#e4e0d6`,"--border":`#b8b0a0`,"--border-dim":`#ccc6b8`,"--border-hover":`#908878`,"--text":`#2a2622`,"--text-dim":`#5a5448`,"--text-head":`#0e0c0a`,"--text-muted":`#676157`,"--accent":`#0e0c0a`,"--accent-dim":`#2a2622`,"--state-running":`#16803c`,"--state-running-bg":`rgba(22, 128, 60, 0.08)`,"--state-waiting":`#b45309`,"--state-waiting-bg":`rgba(180, 83, 9, 0.08)`,"--state-failed":`#dc2626`,"--state-failed-bg":`rgba(220, 38, 38, 0.06)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#1a1816`,"--state-done-bg":`rgba(26, 24, 22, 0.06)`,"--state-initializing":`#6b7280`,"--state-initializing-bg":`rgba(107, 114, 128, 0.06)`,"--state-idle":`#a16207`,"--state-idle-bg":`rgba(161, 98, 7, 0.06)`,"--state-starting":`#7c3aed`,"--state-starting-bg":`rgba(124, 58, 237, 0.06)`,"--state-complete":`#059669`,"--state-complete-bg":`rgba(5, 150, 105, 0.06)`},terminal:{background:`#faf8f4`,foreground:`#1a1816`,cursor:`#1a1816`,cursorAccent:`#faf8f4`,black:`#1a1816`,brightBlack:`#5a5448`,red:`#b91c1c`,brightRed:`#dc2626`,green:`#15803d`,brightGreen:`#16a34a`,yellow:`#92400e`,brightYellow:`#a16207`,blue:`#1d4ed8`,brightBlue:`#2563eb`,magenta:`#6d28d9`,brightMagenta:`#7c3aed`,cyan:`#0e7490`,brightCyan:`#0891b2`,white:`#5a5448`,brightWhite:`#3a3630`}},unicorn:{label:`Rainbow Unicorns (Dark)`,colors:{"--bg":`#191022`,"--bg-card":`#201730`,"--bg-header":`#1c1329`,"--bg-surface":`#281c3c`,"--border":`#3a2c52`,"--border-dim":`#2a2040`,"--border-hover":`#55407a`,"--text":`#d4c8e6`,"--text-dim":`#9a88b8`,"--text-head":`#ede4fa`,"--text-muted":`#a897c4`,"--accent":`#e8a3c4`,"--accent-dim":`#c4739e`,"--state-running":`#42d780`,"--state-running-bg":`rgba(66, 215, 128, 0.10)`,"--state-waiting":`#f79f3b`,"--state-waiting-bg":`rgba(247, 159, 59, 0.10)`,"--state-failed":`#f05442`,"--state-failed-bg":`rgba(240, 84, 66, 0.13)`,"--state-monitoring":`#2dd4bf`,"--state-monitoring-bg":`rgba(45, 212, 191, 0.08)`,"--state-done":`#f04ca4`,"--state-done-bg":`rgba(240, 76, 164, 0.13)`,"--state-initializing":`#8f87a6`,"--state-initializing-bg":`rgba(143, 135, 166, 0.08)`,"--state-idle":`#bcb02f`,"--state-idle-bg":`rgba(188, 176, 47, 0.08)`,"--state-starting":`#a17ef1`,"--state-starting-bg":`rgba(161, 126, 241, 0.08)`,"--state-complete":`#34baf4`,"--state-complete-bg":`rgba(52, 186, 244, 0.14)`},terminal:{background:`#201730`,foreground:`#d4c8e6`,cursor:`--accent`,cursorAccent:`#201730`,black:`#8c7dab`,brightBlack:`#9c8fb5`,red:`#e8887e`,brightRed:`#f4a89f`,green:`#86e0ab`,brightGreen:`#a3edc0`,yellow:`#f0c674`,brightYellow:`#f5d896`,blue:`#9cb3f0`,brightBlue:`#b5c8f5`,magenta:`#dd8ecf`,brightMagenta:`#e6a8dc`,cyan:`#7fd4d0`,brightCyan:`#a0e6e2`,white:`#d4c8e6`,brightWhite:`#f4ecfc`}},"posthog-light":{label:`PostHog (Light)`,colors:{"--bg":`#eeefe9`,"--bg-card":`#fdfdf8`,"--bg-header":`#eeefe9`,"--bg-surface":`#e5e7e0`,"--border":`#bfc1b7`,"--border-dim":`#d2d3cc`,"--border-hover":`#9ea096`,"--text":`#23251d`,"--text-dim":`#65675e`,"--text-head":`#111111`,"--text-muted":`#73756b`,"--accent":`#c03300`,"--accent-dim":`#8e2600`,"--state-running":`#4d7533`,"--state-running-bg":`rgba(77, 117, 51, 0.08)`,"--state-waiting":`#b17816`,"--state-waiting-bg":`rgba(177, 120, 22, 0.10)`,"--state-failed":`#8c0d3b`,"--state-failed-bg":`rgba(140, 13, 59, 0.07)`,"--state-monitoring":`#0e7490`,"--state-monitoring-bg":`rgba(14, 116, 144, 0.08)`,"--state-done":`#3e6b9e`,"--state-done-bg":`rgba(62, 107, 158, 0.08)`,"--state-initializing":`#73756b`,"--state-initializing-bg":`rgba(115, 117, 107, 0.07)`,"--state-idle":`#835c19`,"--state-idle-bg":`rgba(131, 92, 25, 0.07)`,"--state-starting":`#a621c8`,"--state-starting-bg":`rgba(166, 33, 200, 0.07)`,"--state-complete":`#34796f`,"--state-complete-bg":`rgba(52, 121, 111, 0.08)`},terminal:{background:`--bg-card`,foreground:`#23251d`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`#23251d`,brightBlack:`#65675e`,red:`#c03300`,brightRed:`#df6133`,green:`#4d7533`,brightGreen:`#6aa84f`,yellow:`#835c19`,brightYellow:`#b17816`,blue:`#3e6b9e`,brightBlue:`#2f80fa`,magenta:`#74108d`,brightMagenta:`#a621c8`,cyan:`#34796f`,brightCyan:`#30abc6`,white:`#4d4f46`,brightWhite:`#23251d`}},"posthog-dark":{label:`PostHog (Dark)`,colors:{"--bg":`#1e1f23`,"--bg-card":`#25262b`,"--bg-header":`#232429`,"--bg-surface":`#2d2e37`,"--border":`#3e424f`,"--border-dim":`#32343f`,"--border-hover":`#626674`,"--text":`#edeef4`,"--text-dim":`#aeb3c2`,"--text-head":`#fafafa`,"--text-muted":`#9ea096`,"--accent":`#f87a4c`,"--accent-dim":`#f54e00`,"--state-running":`#36c46f`,"--state-running-bg":`rgba(54, 196, 111, 0.08)`,"--state-waiting":`#f7a501`,"--state-waiting-bg":`rgba(247, 165, 1, 0.09)`,"--state-failed":`#f35454`,"--state-failed-bg":`rgba(243, 84, 84, 0.09)`,"--state-monitoring":`#22d3ee`,"--state-monitoring-bg":`rgba(34, 211, 238, 0.08)`,"--state-done":`#589df8`,"--state-done-bg":`rgba(88, 157, 248, 0.08)`,"--state-initializing":`#8f8f8c`,"--state-initializing-bg":`rgba(143, 143, 140, 0.07)`,"--state-idle":`#ffce5c`,"--state-idle-bg":`rgba(255, 206, 92, 0.07)`,"--state-starting":`#8567ff`,"--state-starting-bg":`rgba(133, 103, 255, 0.09)`,"--state-complete":`#29dbbb`,"--state-complete-bg":`rgba(41, 219, 187, 0.08)`},terminal:{background:`--bg-card`,foreground:`#edeef4`,cursor:`--accent`,cursorAccent:`--bg-card`,black:`--border`,brightBlack:`--text-muted`,red:`#f35454`,brightRed:`#f87a4c`,green:`#36c46f`,brightGreen:`#96e5b6`,yellow:`#f7a501`,brightYellow:`#ffce5c`,blue:`#2f80fa`,brightBlue:`#9fc4ff`,magenta:`#8567ff`,brightMagenta:`#e2d6ff`,cyan:`#30abc6`,brightCyan:`#29dbbb`,white:`#aeb3c2`,brightWhite:`#fafafa`}}},pT=`phyrexian`,mT=null;function hT(e){let t=fT[e];if(!t)return;let n=mT;mT=e;let r=document.documentElement;r.dataset.theme=e;for(let[e,n]of Object.entries(t.colors))r.style.setProperty(e,n);e===`unicorn`&&n!==null&&n!==`unicorn`&&sT()}function gT(e){document.documentElement.toggleAttribute(`data-compact-status`,e)}function _T(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function vT(){let e=fT[mT||pT];if(!e)return{};let t=getComputedStyle(document.documentElement),n={};for(let[r,i]of Object.entries(e.terminal))n[r]=i.startsWith(`--`)?t.getPropertyValue(i).trim():i;return n}function yT(){return Object.entries(fT).map(([e,t])=>({id:e,label:t.label}))}var bT=M().int().min(1).max(500),xT=M().int().min(1).max(200);Po(`type`,[F({type:R(`input`),data:j()}),F({type:R(`claim`),cols:bT,rows:xT}),F({type:R(`unview`)})]);var ST=F({type:R(`pty-size`),cols:bT,rows:xT,seq:M().int().nonnegative()});function CT(e){try{return JSON.parse(e)}catch{return null}}function wT(e){let t=ST.safeParse(CT(e));return t.success?t.data:null}function TT(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function ET(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function DT(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function OT({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&TT(e,n))}function kT({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function AT({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:OT({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function jT({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function MT({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!TT(e,t),s=ET(n)?DT(n):null,c=r&&!!s&&!TT(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:OT({authoritative:e,isActiveViewer:r,lastClaim:a})}}function NT(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function PT(e){let t=NT(e);return t===null?null:wT(t)}function FT(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=PT(e);return n?t.hasSeenSize?n.seq<=t.lastSeq?{kind:`stale`}:{kind:`size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`attach-size`,cols:n.cols,rows:n.rows,seq:n.seq}:{kind:`ignored`}}var IT=``,LT=`\x1B`,RT=`\r`,zT=new Map([[`deleteContentBackward`,IT],[`deleteByComposition`,IT],[`deleteCompositionText`,IT],[`deleteWordBackward`,LT],[`deleteSoftLineBackward`,LT],[`deleteHardLineBackward`,LT]]);function BT(e){return zT.get(e)??``}var VT=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function HT(e){return typeof e!=`string`||e===``||!VT.has(e)}function UT(e){return e?e.keyCode===229||e.key===`Process`:!1}function WT(e,t){let n=Array.from(e??``),r=Array.from(t??``),i=Math.min(n.length,r.length),a=0;for(;a<i&&n[a]===r[a];)a++;return IT.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,RT)}var GT=/https?:\/\/[^\s<>"']+/g,KT=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),qT={")":`(`,"]":`[`,"}":`{`};function JT(e,t){let n=0;for(let r of e)r===t&&n++;return n}function YT(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(KT.has(t)){e=e.slice(0,-1);continue}let n=qT[t];if(n&&JT(e,n)<JT(e,t))e=e.slice(0,-1);else return e}}function XT(e){let t=[];for(let n of e.matchAll(GT)){let e=YT(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var ZT=50;function QT(){return{activate(e,t){Ig(t)},allowNonHttpProtocols:!1}}function $T(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<ZT;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<ZT;)r++;let i=``,a=[];for(let t=n;t<=r;t++){let n=e.getLine(t);if(!n)break;for(let e=0;e<n.length;e++){let r=n.getCell(e);if(!r)break;if(r.getWidth()===0)continue;let o=r.getChars()||` `;for(let n=0;n<o.length;n++)i+=o[n],a.push({x:e+1,y:t+1})}}return{text:i,cellAt:a}}function eE(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=$T(r,t),o=[];for(let{start:e,end:t,url:n}of XT(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){Ig(t)}})}n(o.length?o:void 0)}})}var tE=`(?:password|passwd|pwd|token|api[_-]?key|secret|credential|auth[_-]?token|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|connection[_-]?string)`,nE=`(?:"[^"\\r\\n]*"|'[^'\\r\\n]*'|[^\\s\\r\\n]+)`,rE=`[^\\S\\r\\n]`,iE=`${tE}${rE}*(?:=>|[:=])${rE}*`,aE=`[?&][A-Za-z0-9_.-]*`,oE=`[^\\r\\n;&|]{0,200}?`,sE=`(?:mysql|mysqldump|mysqladmin|mysqlshow|mariadb|mariadb-dump)`,cE=RegExp(`(${iE})${nE}`,`gi`),lE=RegExp(`(\\bBearer${rE}+)[A-Za-z0-9._~+/=-]{8,}`,`gi`),uE=[/\bAKIA[0-9A-Z]{16}\b/g,/\bgh[pousr]_[A-Za-z0-9]{16,}\b/g,/\bgithub_pat_[A-Za-z0-9_]{20,}\b/g,/\bsk-ant-[A-Za-z0-9_-]{20,}/g,/\bsk-[A-Za-z0-9_-]{20,}/g,/\bph[cx]_[A-Za-z0-9]{20,}\b/g,/\bxox[abprs]-[A-Za-z0-9-]{10,}\b/g,/\beyJ[A-Za-z0-9_=-]{6,}\.[A-Za-z0-9_=-]{6,}\.[A-Za-z0-9_=-]{4,}/g,/-----BEGIN(?:[A-Z0-9 ]+)? PRIVATE KEY-----/g],dE=[RegExp(`((?:^|\\s)--?${tE}${rE}+)${nE}`,`gi`),RegExp(`((?:^|\\s)-(?:pwd|pw)(?![a-z])${rE}*=?${rE}*)${nE}`,`g`),RegExp(`(-AsPlainText${rE}+)${nE}`,`gi`),RegExp(`((?:^|\\s)setx${rE}+[^\\s\\r\\n]*${tE}[^\\s\\r\\n]*${rE}+)${nE}`,`gi`)],fE=[RegExp(`(\\bauthorization${rE}*:${rE}*Basic${rE}+)[A-Za-z0-9+/=_-]{8,}`,`gi`),RegExp(`(\\bdocker${rE}+login\\b${oE}${rE}-p(?:${rE}+|=))${nE}`,`gi`),RegExp(`(\\bcurl\\b${oE}${rE}(?:--user|-u)(?:${rE}+|=)[^\\s:\\r\\n]+:)${nE}`,`gi`),RegExp(`(\\b${sE}\\b${oE}${rE}-p)${nE}`,`g`),/\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@/]+(?=@)/gi];[...dE,...fE];var pE=[/-----END(?:[A-Z0-9 ]+)? PRIVATE KEY-----/g,/^([^\S\r\n]*)(?=[A-Za-z0-9+/]*[g-zG-Z+/])(?=[A-Za-z0-9+/=]{60,76}[^\S\r\n]*$)[A-Za-z0-9+/]+={0,2}(?=[^\S\r\n]*$)/gm],mE=RegExp(`(${aE}(?:${tE}|_key)=)[^&#\\s]+`,`gi`),hE=[cE,RegExp(`(\\b(?=[A-Z0-9_]*(?:SECRET|TOKEN|KEY|PASSWORD))[A-Z][A-Z0-9_]*=)${nE}`,`g`)],gE=[lE,...dE,...fE,...uE,...pE];function _E(e,t){return[...e.matchAll(t)].map(e=>({matchStart:e.index,valueStart:e.index+(e[1]??``).length,end:e.index+e[0].length}))}function vE(e,t){let n=0;return e.filter(e=>{for(;n<t.length&&t[n].end<=e.matchStart;)n+=1;let r=t.at(n);return!r||e.matchStart<r.matchStart})}function yE(e){let t=[];for(let n of e.toSorted((e,t)=>e.start-t.start)){let e=t.at(-1);e&&n.start<=e.end?e.end=Math.max(e.end,n.end):t.push({...n})}return t}function bE(e){let t=_E(e,mE);return yE([...t,...hE.flatMap(n=>vE(_E(e,n),t)),...gE.flatMap(t=>_E(e,t))].map(e=>({start:e.valueStart,end:e.end})))}var xE=`#808080`,SE=new WeakMap;function CE(e,t,n){return`${e}:${t}:${n}`}function wE(e){return CE(e.marker.line,e.x,e.width)}function TE(e,t){let n=t;for(;n>0&&t-n<63&&e.getLine(n)?.isWrapped;)n--;return n}function EE(e,t){let n=t;for(;n-t<63&&e.getLine(n+1)?.isWrapped;)n++;return n}function DE(e,t,n){let r=``;for(let i=t;i<=n;i++)r+=e.getLine(i)?.translateToString(!1)??``;return r}function OE(e,t,n,r){let i=``,a=[];for(let o=t;o<=n;o++){let t=e.getLine(o);if(!t)break;for(let e=0;e<t.length;e++){let n=t.getCell(e,r);if(!n)break;let s=n.getWidth();if(s===0)continue;let c=n.getChars()||` `;for(let t=0;t<c.length;t++)i+=c[t],a.push({line:o,x:e,width:s})}}return{text:i,cellAt:a}}function kE(e,t){let n=null;for(let r of t)n&&n.line===r.line?n.width=Math.max(n.width,r.x+r.width-n.x):(n={line:r.line,x:r.x,width:r.width},e.push(n))}function AE(e,t,n,r){let i=[];if(bE(DE(e,t,n)).length===0)return i;let{text:a,cellAt:o}=OE(e,t,n,r);for(let e of bE(a))kE(i,o.slice(e.start,e.end));return i}function jE(e,t){let n=e.getNullCell(),r=[],i=t;for(;i<e.length;){let t=EE(e,i);r.push(...AE(e,i,t,n)),i=t+1}return r}function ME(){return{masks:[],watermark:null,isFullRescanOwed:!0}}function NE(e){e.decoration.dispose(),e.marker.dispose()}function PE(e){for(let t of e.masks)NE(t);e.masks.length=0,e.watermark?.dispose(),e.watermark=null,e.isFullRescanOwed=!0}function FE(e,t){let n=e.watermark;return e.isFullRescanOwed||!n||n.isDisposed?0:Math.min(n.line,t.baseY)}function IE(e){let t=0;for(;t<e.masks.length&&e.masks[t].marker.isDisposed;)e.masks[t].decoration.dispose(),t++;t>0&&e.masks.splice(0,t)}function LE(e,t){let n=new Map,r=e.masks.at(-1);for(;r&&(r.marker.isDisposed||r.marker.line>=t);)e.masks.pop(),r.marker.isDisposed&&r.decoration.dispose(),r.marker.isDisposed||n.set(wE(r),r),r=e.masks.at(-1);return IE(e),n}function RE(e,t){let n={normal:ME(),alternate:ME()},r=e.cols;function i(t){return e.buffer.active.type===t}function a(t,n){if(!i(n)||t.isDisposed)return!1;let r=t.line-e.buffer.active.viewportY;return r>=0&&r<e.rows}function o(t,n,r){t.style.backgroundColor=e.options.theme?.foreground??xE,t.style.pointerEvents=`none`,t.style.display=a(n,r)?`block`:`none`}function s(e){for(let t of n[e].masks){let n=t.decoration.element;n&&o(n,t.marker,e)}}function c(t,n){let r=e.registerMarker(t.line-(n.baseY+n.cursorY));if(!r)return null;let i=e.registerDecoration({marker:r,x:t.x,width:t.width,layer:`top`});if(!i)return r.dispose(),null;let a=n.type;return i.onRender(e=>o(e,r,a)),{marker:r,decoration:i,x:t.x,width:t.width}}function l(){if(!pg())return;let t=e.buffer.active,r=n[t.type],i=TE(t,FE(r,t)),a=LE(r,i);for(let e of jE(t,i)){let n=CE(e.line,e.x,e.width),i=a.get(n);a.delete(n);let o=i??c(e,t);o&&r.masks.push(o)}for(let e of a.values())NE(e);r.watermark?.dispose(),r.watermark=e.registerMarker(-t.cursorY)??null,r.isFullRescanOwed=!1}function u(){PE(n.normal),PE(n.alternate)}function d(){u(),r=e.cols,l()}let f=[e.onWriteParsed(l),e.onResize(({cols:e})=>{e!==r&&(r=e,n.normal.isFullRescanOwed=!0,n.alternate.isFullRescanOwed=!0,l())}),e.buffer.onBufferChange(e=>{PE(n.alternate),s(`normal`),e.type===`alternate`&&l()})],p=hg(d);t.addEventListener(`abort`,()=>{p();for(let e of f)e.dispose();u(),SE.delete(e)},{once:!0}),SE.set(e,d)}function zE(e){SE.get(e)?.()}function BE({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}async function VE(e,t){let n={"x-glimmervoid-upload-name":encodeURIComponent(t.name)};t.type&&(n[`content-type`]=t.type);try{let r=await fetch(`/upload/${encodeURIComponent(e)}`,{method:`POST`,body:t,headers:n});r.ok||sg(await UE(r))}catch{sg(`Upload failed`)}}async function HE(e,t){for(let n of t)await VE(e,n)}async function UE(e){try{let t=await e.json();if(t&&typeof t.error==`string`)return`Upload failed: ${t.error}`}catch{}return`Upload failed`}var WE=1.2,GE=.005;function KE(e,t){let n=Math.abs(t);return n<10?!1:n>Math.abs(e)*WE}function qE(e,t,n=1/0){if(!(t>0))return{scrollLines:0,remainderPx:e};let r=Math.trunc(e/t),i=Math.max(-n,Math.min(n,r));return{scrollLines:i===0?0:-i,remainderPx:e-i*t}}function JE(e,t,n){let r=e.length>=4?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function YE(e){if(!e||e.length<2)return 0;let t=e[0],n=e[e.length-1],r=n.timestampMs-t.timestampMs;if(!(r>0))return 0;let i=(n.positionPx-t.positionPx)/r,a=Math.abs(i);if(!(a>=.08))return 0;let o=Math.min(a,5);return i<0?-o:o}function XE({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function ZE(e,t){if(!e)return{scrollLines:0,state:null};let n=t-e.lastMs;if(!(n>0))return{scrollLines:0,state:e};let r=Math.abs(e.velocityPxPerMs)-GE*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=qE(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function QE(e,t){return e===`alternate`||!!t&&t!==`none`}function $E(e,t){return!(e>0)||!(t>0)?0:e/t}var eD=1;function tD(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function nD(e,t){for(let n of e)if(n.identifier===t)return n;return null}function rD(e,t){if(tD(t))return;let n=()=>document.documentElement.dataset.layout===`phone`,r=null,i=0,a=0,o=0,s=!1,c=0,l=[],u=null,d=null,f=()=>{d!==null&&cancelAnimationFrame(d),d=null,u=null},p=()=>QE(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return $E(e?.clientHeight||t.element?.clientHeight||0,t.rows)},h=()=>{r=null,s=!1,c=0,l=[]},g=(e,n,r)=>{let i=e<0?-1:1;for(let a=0;a<Math.abs(e);a++)t.element?.dispatchEvent(new WheelEvent(`wheel`,{deltaY:i,deltaMode:eD,clientX:n,clientY:r,bubbles:!0,cancelable:!0}))},_=()=>{if(d=null,!u)return;if(!e.isConnected||!n()||p()){f();return}let r=t.buffer?.active?.viewportY,{scrollLines:i,state:a}=ZE(u,performance.now());u=a,i!==0&&t.scrollLines(i),u&&(i!==0&&t.buffer?.active?.viewportY===r?f():d=requestAnimationFrame(_))},v=(e,t,n)=>{u=XE({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:m(),pendingPx:n}),u&&(d=requestAnimationFrame(_))};e.addEventListener(`touchstart`,e=>{if(f(),!n()||e.touches.length!==1){h();return}let t=e.touches[0];r=t.identifier,i=t.clientX,a=t.clientY,o=t.clientY,s=!1,c=0,l=[]},{passive:!0}),e.addEventListener(`touchmove`,e=>{if(r===null||!n())return;let u=nD(e.touches,r);if(!u)return;if(!s){if(!KE(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=JE([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=JE(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=qE(c,m(),d?8:void 0);c=h,f!==0&&(d?g(f,u.clientX,u.clientY):t.scrollLines(f))},{passive:!1}),e.addEventListener(`touchend`,e=>{if(!s||p()){h();return}l=JE(l,o,e.timeStamp);let t=YE(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}var iD=Object.defineProperty,aD=Object.getOwnPropertyDescriptor,oD=(e,t,n,r)=>{for(var i=r>1?void 0:r?aD(t,n):t,a=e.length-1,o;a>=0;a--)(o=e[a])&&(i=(r?o(t,n,i):o(i))||i);return r&&i&&iD(t,n,i),i},sD=(e,t)=>(n,r)=>t(n,r,e),cD=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?pD.isErrorNoTelemetry(e)?new pD(e.message+`
|
|
120
|
-
|
|
121
|
-
`+e.stack):Error(e.message+`
|
|
122
|
-
|
|
123
|
-
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}};function lD(e){dD(e)||cD.onUnexpectedError(e)}var uD=`Canceled`;function dD(e){return e instanceof fD||e instanceof Error&&e.name===uD&&e.message===uD}var fD=class extends Error{constructor(){super(uD),this.name=this.message}},pD=class e extends Error{constructor(e){super(e),this.name=`CodeExpectedError`}static fromError(t){if(t instanceof e)return t;let n=new e;return n.message=t.message,n.stack=t.stack,n}static isErrorNoTelemetry(e){return e.name===`CodeExpectedError`}},mD;(e=>{function t(e){return e<0}e.isLessThan=t;function n(e){return e<=0}e.isLessThanOrEqual=n;function r(e){return e>0}e.isGreaterThan=r;function i(e){return e===0}e.isNeitherLessOrGreaterThan=i,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(mD||={});var hD=class e{constructor(e){this.iterate=e}forEach(e){this.iterate(t=>(e(t),!0))}toArray(){let e=[];return this.iterate(t=>(e.push(t),!0)),e}filter(t){return new e(e=>this.iterate(n=>!t(n)||e(n)))}map(t){return new e(e=>this.iterate(n=>e(t(n))))}some(e){let t=!1;return this.iterate(n=>(t=e(n),!t)),t}findFirst(e){let t;return this.iterate(n=>!e(n)||(t=n,!1)),t}findLast(e){let t;return this.iterate(n=>(e(n)&&(t=n),!0)),t}findLastMaxBy(e){let t,n=!0;return this.iterate(r=>((n||mD.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};hD.empty=new hD(e=>{});function gD(e,t){let n=this,r=!1,i;return function(){if(r)return i;if(r=!0,t)try{i=e.apply(n,arguments)}finally{t()}else i=e.apply(n,arguments);return i}}var _D;(e=>{function t(e){return e&&typeof e==`object`&&typeof e[Symbol.iterator]==`function`}e.is=t;let n=Object.freeze([]);function r(){return n}e.empty=r;function*i(e){yield e}e.single=i;function a(e){return t(e)?e:i(e)}e.wrap=a;function o(e){return e||n}e.from=o;function*s(e){for(let t=e.length-1;t>=0;t--)yield e[t]}e.reverse=s;function c(e){return!e||e[Symbol.iterator]().next().done===!0}e.isEmpty=c;function l(e){return e[Symbol.iterator]().next().value}e.first=l;function u(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}e.some=u;function d(e,t){for(let n of e)if(t(n))return n}e.find=d;function*f(e,t){for(let n of e)t(n)&&(yield n)}e.filter=f;function*p(e,t){let n=0;for(let r of e)yield t(r,n++)}e.map=p;function*m(e,t){let n=0;for(let r of e)yield*t(r,n++)}e.flatMap=m;function*h(...e){for(let t of e)yield*t}e.concat=h;function g(e,t,n){let r=n;for(let n of e)r=t(r,n);return r}e.reduce=g;function*_(e,t,n=e.length){for(t<0&&(t+=e.length),n<0?n+=e.length:n>e.length&&(n=e.length);t<n;t++)yield e[t]}e.slice=_;function v(t,n=1/0){let r=[];if(n===0)return[r,t];let i=t[Symbol.iterator]();for(let t=0;t<n;t++){let t=i.next();if(t.done)return[r,e.empty()];r.push(t.value)}return[r,{[Symbol.iterator](){return i}}]}e.consume=v;async function y(e){let t=[];for await(let n of e)t.push(n);return Promise.resolve(t)}e.asyncToArray=y})(_D||={});var vD=null;function yD(e){return vD?.trackDisposable(e),e}function bD(e){vD?.markAsDisposed(e)}function xD(e,t){vD?.setParent(e,t)}function SD(e){if(_D.is(e)){let t=[];for(let n of e)if(n)try{n.dispose()}catch(e){t.push(e)}if(t.length===1)throw t[0];if(t.length>1)throw AggregateError(t,`Encountered errors while disposing of store`);return Array.isArray(e)?[]:e}if(e)return e.dispose(),e}function CD(...e){return wD(()=>SD(e))}function wD(e){let t=yD({dispose:gD(()=>{bD(t),e()})});return t}var TD=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,yD(this)}dispose(){this._isDisposed||(bD(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{SD(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return xD(t,this),this._isDisposed?e.DISABLE_DISPOSED_WARNING||console.warn(Error(`Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!`).stack):this._toDispose.add(t),t}delete(e){if(e){if(e===this)throw Error(`Cannot dispose a disposable on itself!`);this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),xD(e,null))}};TD.DISABLE_DISPOSED_WARNING=!1;var ED=TD,DD=class{constructor(){this._store=new ED,yD(this),xD(this._store,this)}dispose(){bD(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};DD.None=Object.freeze({dispose(){}});var OD=class{constructor(){this._isDisposed=!1,yD(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&xD(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,bD(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&xD(e,null),e}},kD=typeof process<`u`&&`title`in process,AD=kD?`node`:navigator.userAgent,jD=kD?`node`:navigator.platform,MD=AD.includes(`Firefox`),ND=AD.includes(`Edge`),PD=/^((?!chrome|android).)*safari/i.test(AD);function FD(){if(!PD)return 0;let e=AD.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(jD),[`Windows`,`Win16`,`Win32`,`WinCE`].includes(jD),jD.indexOf(`Linux`),/\bCrOS\b/.test(AD);var ID=``,LD=0,RD=0,zD=0,BD=0,VD={css:`#00000000`,rgba:0},HD;(e=>{function t(e,t,n,r){return r===void 0?`#${qD(e)}${qD(t)}${qD(n)}`:`#${qD(e)}${qD(t)}${qD(n)}${qD(r)}`}e.toCss=t;function n(e,t,n,r=255){return(e<<24|t<<16|n<<8|r)>>>0}e.toRgba=n;function r(t,n,r,i){return{css:e.toCss(t,n,r,i),rgba:e.toRgba(t,n,r,i)}}e.toColor=r})(HD||={});var UD;(e=>{function t(e,t){if(BD=(t.rgba&255)/255,BD===1)return{css:t.css,rgba:t.rgba};let n=t.rgba>>24&255,r=t.rgba>>16&255,i=t.rgba>>8&255,a=e.rgba>>24&255,o=e.rgba>>16&255,s=e.rgba>>8&255;return LD=a+Math.round((n-a)*BD),RD=o+Math.round((r-o)*BD),zD=s+Math.round((i-s)*BD),{css:HD.toCss(LD,RD,zD),rgba:HD.toRgba(LD,RD,zD)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=KD.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return HD.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[LD,RD,zD]=KD.toChannels(t),{css:HD.toCss(LD,RD,zD),rgba:t}}e.opaque=i;function a(e,t){return BD=Math.round(t*255),[LD,RD,zD]=KD.toChannels(e.rgba),{css:HD.toCss(LD,RD,zD,BD),rgba:HD.toRgba(LD,RD,zD,BD)}}e.opacity=a;function o(e,t){return BD=e.rgba&255,a(e,BD*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(UD||={});var WD;(e=>{let t,n;try{let e=document.createElement(`canvas`);e.width=1,e.height=1;let r=e.getContext(`2d`,{willReadFrequently:!0});r&&(t=r,t.globalCompositeOperation=`copy`,n=t.createLinearGradient(0,0,1,1))}catch{}function r(e){if(e.match(/#[\da-f]{3,8}/i))switch(e.length){case 4:return LD=parseInt(e.slice(1,2).repeat(2),16),RD=parseInt(e.slice(2,3).repeat(2),16),zD=parseInt(e.slice(3,4).repeat(2),16),HD.toColor(LD,RD,zD);case 5:return LD=parseInt(e.slice(1,2).repeat(2),16),RD=parseInt(e.slice(2,3).repeat(2),16),zD=parseInt(e.slice(3,4).repeat(2),16),BD=parseInt(e.slice(4,5).repeat(2),16),HD.toColor(LD,RD,zD,BD);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}let r=e.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(r)return LD=parseInt(r[1]),RD=parseInt(r[2]),zD=parseInt(r[3]),BD=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),HD.toColor(LD,RD,zD,BD);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[LD,RD,zD,BD]=t.getImageData(0,0,1,1).data,BD!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:HD.toRgba(LD,RD,zD,BD),css:e}}e.toColor=r})(WD||={});var GD;(e=>{function t(e){return n(e>>16&255,e>>8&255,e&255)}e.relativeLuminance=t;function n(e,t,n){let r=e/255,i=t/255,a=n/255,o=r<=.03928?r/12.92:((r+.055)/1.055)**2.4,s=i<=.03928?i/12.92:((i+.055)/1.055)**2.4,c=a<=.03928?a/12.92:((a+.055)/1.055)**2.4;return o*.2126+s*.7152+c*.0722}e.relativeLuminance2=n})(GD||={});var KD;(e=>{function t(e,t){if(BD=(t&255)/255,BD===1)return t;let n=t>>24&255,r=t>>16&255,i=t>>8&255,a=e>>24&255,o=e>>16&255,s=e>>8&255;return LD=a+Math.round((n-a)*BD),RD=o+Math.round((r-o)*BD),zD=s+Math.round((i-s)*BD),HD.toRgba(LD,RD,zD)}e.blend=t;function n(e,t,n){let a=GD.relativeLuminance(e>>8),o=GD.relativeLuminance(t>>8);if(JD(a,o)<n){if(o<a){let o=r(e,t,n),s=JD(a,GD.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>JD(a,GD.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=JD(a,GD.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>JD(a,GD.relativeLuminance(i>>8))?s:i}return s}}e.ensureContrastRatio=n;function r(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=JD(GD.relativeLuminance2(o,s,c),GD.relativeLuminance2(r,i,a));for(;l<n&&(o>0||s>0||c>0);)o-=Math.max(0,Math.ceil(o*.1)),s-=Math.max(0,Math.ceil(s*.1)),c-=Math.max(0,Math.ceil(c*.1)),l=JD(GD.relativeLuminance2(o,s,c),GD.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.reduceLuminance=r;function i(e,t,n){let r=e>>24&255,i=e>>16&255,a=e>>8&255,o=t>>24&255,s=t>>16&255,c=t>>8&255,l=JD(GD.relativeLuminance2(o,s,c),GD.relativeLuminance2(r,i,a));for(;l<n&&(o<255||s<255||c<255);)o=Math.min(255,o+Math.ceil((255-o)*.1)),s=Math.min(255,s+Math.ceil((255-s)*.1)),c=Math.min(255,c+Math.ceil((255-c)*.1)),l=JD(GD.relativeLuminance2(o,s,c),GD.relativeLuminance2(r,i,a));return(o<<24|s<<16|c<<8|255)>>>0}e.increaseLuminance=i;function a(e){return[e>>24&255,e>>16&255,e>>8&255,e&255]}e.toChannels=a})(KD||={});function qD(e){let t=e.toString(16);return t.length<2?`0`+t:t}function JD(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function YD(e){if(!e)throw Error(`value must not be falsy`);return e}function XD(e){return 57508<=e&&e<=57558}function ZD(e){return 57520<=e&&e<=57527}function QD(e){return 57344<=e&&e<=63743}function $D(e){return 9472<=e&&e<=9631}function eO(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}function tO(e,t,n,r){return t===1&&n>Math.ceil(r*1.5)&&e!==void 0&&e>255&&!eO(e)&&!XD(e)&&!QD(e)}function nO(e){return XD(e)||$D(e)}function rO(){return{css:{canvas:iO(),cell:iO()},device:{canvas:iO(),cell:iO(),char:{width:0,height:0,left:0,top:0}}}}function iO(){return{width:0,height:0}}function aO(e,t,n=0){return(e-(Math.round(t)*2-n))%(Math.round(t)*2)}var oO=0,sO=0,cO=!1,lO=!1,uO=!1,dO,fO=0,pO=class{constructor(e,t,n,r,i,a){this._terminal=e,this._optionService=t,this._selectionRenderModel=n,this._decorationService=r,this._coreBrowserService=i,this._themeService=a,this.result={fg:0,bg:0,ext:0}}resolve(e,t,n,r){if(this.result.bg=e.bg,this.result.fg=e.fg,this.result.ext=e.bg&268435456?e.extended.ext:0,sO=0,oO=0,lO=!1,cO=!1,uO=!1,dO=this._themeService.colors,fO=0,e.getCode()!==0&&e.extended.underlineStyle===4){let e=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));fO=t*r%(Math.round(e)*2)}if(this._decorationService.forEachDecorationAtCell(t,n,`bottom`,e=>{e.backgroundColorRGB&&(sO=e.backgroundColorRGB.rgba>>8&16777215,lO=!0),e.foregroundColorRGB&&(oO=e.foregroundColorRGB.rgba>>8&16777215,cO=!0)}),uO=this._selectionRenderModel.isCellSelected(this._terminal,t,n),uO){if(this.result.fg&67108864||this.result.bg&50331648){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:sO=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:sO=(this.result.fg&16777215)<<8|255;break;default:sO=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:sO=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:sO=(this.result.bg&16777215)<<8|255}sO=KD.blend(sO,(this._coreBrowserService.isFocused?dO.selectionBackgroundOpaque:dO.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else sO=(this._coreBrowserService.isFocused?dO.selectionBackgroundOpaque:dO.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(lO=!0,dO.selectionForeground&&(oO=dO.selectionForeground.rgba>>8&16777215,cO=!0),nO(e.getCode())){if(this.result.fg&67108864&&!(this.result.bg&50331648))oO=(this._coreBrowserService.isFocused?dO.selectionBackgroundOpaque:dO.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:oO=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:oO=(this.result.bg&16777215)<<8|255}else switch(this.result.fg&50331648){case 16777216:case 33554432:oO=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:oO=(this.result.fg&16777215)<<8|255;break;default:oO=this._themeService.colors.foreground.rgba}oO=KD.blend(oO,(this._coreBrowserService.isFocused?dO.selectionBackgroundOpaque:dO.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}cO=!0}}this._decorationService.forEachDecorationAtCell(t,n,`top`,e=>{e.backgroundColorRGB&&(sO=e.backgroundColorRGB.rgba>>8&16777215,lO=!0),e.foregroundColorRGB&&(oO=e.foregroundColorRGB.rgba>>8&16777215,cO=!0)}),lO&&(sO=uO?e.bg&-150994944|sO|50331648:e.bg&-16777216|sO|50331648),cO&&(oO=e.fg&-83886080|oO|50331648),this.result.fg&67108864&&(lO&&!cO&&(oO=this.result.bg&50331648?this.result.fg&-134217728|this.result.bg&67108863:this.result.fg&-134217728|dO.background.rgba>>8&16777215|50331648,cO=!0),!lO&&cO&&(sO=this.result.fg&50331648?this.result.bg&-67108864|this.result.fg&67108863:this.result.bg&-67108864|dO.foreground.rgba>>8&16777215|50331648,lO=!0)),dO=void 0,this.result.bg=lO?sO:this.result.bg,this.result.fg=cO?oO:this.result.fg,this.result.ext&=536870911,this.result.ext|=fO<<29&3758096384}},mO=.5,hO=MD||ND?`bottom`:`ideographic`,gO={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]},_O={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]},vO={"─":{1:`M0,.5 L1,.5`},"━":{3:`M0,.5 L1,.5`},"│":{1:`M.5,0 L.5,1`},"┃":{3:`M.5,0 L.5,1`},"┌":{1:`M0.5,1 L.5,.5 L1,.5`},"┏":{3:`M0.5,1 L.5,.5 L1,.5`},"┐":{1:`M0,.5 L.5,.5 L.5,1`},"┓":{3:`M0,.5 L.5,.5 L.5,1`},"└":{1:`M.5,0 L.5,.5 L1,.5`},"┗":{3:`M.5,0 L.5,.5 L1,.5`},"┘":{1:`M.5,0 L.5,.5 L0,.5`},"┛":{3:`M.5,0 L.5,.5 L0,.5`},"├":{1:`M.5,0 L.5,1 M.5,.5 L1,.5`},"┣":{3:`M.5,0 L.5,1 M.5,.5 L1,.5`},"┤":{1:`M.5,0 L.5,1 M.5,.5 L0,.5`},"┫":{3:`M.5,0 L.5,1 M.5,.5 L0,.5`},"┬":{1:`M0,.5 L1,.5 M.5,.5 L.5,1`},"┳":{3:`M0,.5 L1,.5 M.5,.5 L.5,1`},"┴":{1:`M0,.5 L1,.5 M.5,.5 L.5,0`},"┻":{3:`M0,.5 L1,.5 M.5,.5 L.5,0`},"┼":{1:`M0,.5 L1,.5 M.5,0 L.5,1`},"╋":{3:`M0,.5 L1,.5 M.5,0 L.5,1`},"╴":{1:`M.5,.5 L0,.5`},"╸":{3:`M.5,.5 L0,.5`},"╵":{1:`M.5,.5 L.5,0`},"╹":{3:`M.5,.5 L.5,0`},"╶":{1:`M.5,.5 L1,.5`},"╺":{3:`M.5,.5 L1,.5`},"╷":{1:`M.5,.5 L.5,1`},"╻":{3:`M.5,.5 L.5,1`},"═":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"║":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╒":{1:(e,t)=>`M.5,1 L.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╓":{1:(e,t)=>`M${.5-e},1 L${.5-e},.5 L1,.5 M${.5+e},.5 L${.5+e},1`},"╔":{1:(e,t)=>`M1,${.5-t} L${.5-e},${.5-t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╕":{1:(e,t)=>`M0,${.5-t} L.5,${.5-t} L.5,1 M0,${.5+t} L.5,${.5+t}`},"╖":{1:(e,t)=>`M${.5+e},1 L${.5+e},.5 L0,.5 M${.5-e},.5 L${.5-e},1`},"╗":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5+e},${.5-t} L${.5+e},1`},"╘":{1:(e,t)=>`M.5,0 L.5,${.5+t} L1,${.5+t} M.5,${.5-t} L1,${.5-t}`},"╙":{1:(e,t)=>`M1,.5 L${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╚":{1:(e,t)=>`M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0 M1,${.5+t} L${.5-e},${.5+t} L${.5-e},0`},"╛":{1:(e,t)=>`M0,${.5+t} L.5,${.5+t} L.5,0 M0,${.5-t} L.5,${.5-t}`},"╜":{1:(e,t)=>`M0,.5 L${.5+e},.5 L${.5+e},0 M${.5-e},.5 L${.5-e},0`},"╝":{1:(e,t)=>`M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M0,${.5+t} L${.5+e},${.5+t} L${.5+e},0`},"╞":{1:(e,t)=>`M.5,0 L.5,1 M.5,${.5-t} L1,${.5-t} M.5,${.5+t} L1,${.5+t}`},"╟":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1 M${.5+e},.5 L1,.5`},"╠":{1:(e,t)=>`M${.5-e},0 L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╡":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L.5,${.5-t} M0,${.5+t} L.5,${.5+t}`},"╢":{1:(e,t)=>`M0,.5 L${.5-e},.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╣":{1:(e,t)=>`M${.5+e},0 L${.5+e},1 M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0`},"╤":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t} M.5,${.5+t} L.5,1`},"╥":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},1 M${.5+e},.5 L${.5+e},1`},"╦":{1:(e,t)=>`M0,${.5-t} L1,${.5-t} M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1`},"╧":{1:(e,t)=>`M.5,0 L.5,${.5-t} M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╨":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},.5 L${.5-e},0 M${.5+e},.5 L${.5+e},0`},"╩":{1:(e,t)=>`M0,${.5+t} L1,${.5+t} M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╪":{1:(e,t)=>`M.5,0 L.5,1 M0,${.5-t} L1,${.5-t} M0,${.5+t} L1,${.5+t}`},"╫":{1:(e,t)=>`M0,.5 L1,.5 M${.5-e},0 L${.5-e},1 M${.5+e},0 L${.5+e},1`},"╬":{1:(e,t)=>`M0,${.5+t} L${.5-e},${.5+t} L${.5-e},1 M1,${.5+t} L${.5+e},${.5+t} L${.5+e},1 M0,${.5-t} L${.5-e},${.5-t} L${.5-e},0 M1,${.5-t} L${.5+e},${.5-t} L${.5+e},0`},"╱":{1:`M1,0 L0,1`},"╲":{1:`M0,0 L1,1`},"╳":{1:`M1,0 L0,1 M0,0 L1,1`},"╼":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"╽":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L.5,1`},"╾":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"╿":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"┍":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L1,.5`},"┎":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┑":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L0,.5`},"┒":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L.5,1`},"┕":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L1,.5`},"┖":{1:`M.5,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┙":{1:`M.5,.5 L.5,0`,3:`M.5,.5 L0,.5`},"┚":{1:`M.5,.5 L0,.5`,3:`M.5,.5 L.5,0`},"┝":{1:`M.5,0 L.5,1`,3:`M.5,.5 L1,.5`},"┞":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┟":{1:`M.5,0 L.5,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┠":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,1`},"┡":{1:`M.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L1,.5`},"┢":{1:`M.5,.5 L.5,0`,3:`M0.5,1 L.5,.5 L1,.5`},"┥":{1:`M.5,0 L.5,1`,3:`M.5,.5 L0,.5`},"┦":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"┧":{1:`M.5,0 L.5,.5 L0,.5`,3:`M.5,.5 L.5,1`},"┨":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,1`},"┩":{1:`M.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L0,.5`},"┪":{1:`M.5,.5 L.5,0`,3:`M0,.5 L.5,.5 L.5,1`},"┭":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┮":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,.5 L1,.5`},"┯":{1:`M.5,.5 L.5,1`,3:`M0,.5 L1,.5`},"┰":{1:`M0,.5 L1,.5`,3:`M.5,.5 L.5,1`},"┱":{1:`M.5,.5 L1,.5`,3:`M0,.5 L.5,.5 L.5,1`},"┲":{1:`M.5,.5 L0,.5`,3:`M0.5,1 L.5,.5 L1,.5`},"┵":{1:`M.5,0 L.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┶":{1:`M.5,0 L.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"┷":{1:`M.5,.5 L.5,0`,3:`M0,.5 L1,.5`},"┸":{1:`M0,.5 L1,.5`,3:`M.5,.5 L.5,0`},"┹":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,.5 L0,.5`},"┺":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,.5 L1,.5`},"┽":{1:`M.5,0 L.5,1 M.5,.5 L1,.5`,3:`M.5,.5 L0,.5`},"┾":{1:`M.5,0 L.5,1 M.5,.5 L0,.5`,3:`M.5,.5 L1,.5`},"┿":{1:`M.5,0 L.5,1`,3:`M0,.5 L1,.5`},"╀":{1:`M0,.5 L1,.5 M.5,.5 L.5,1`,3:`M.5,.5 L.5,0`},"╁":{1:`M.5,.5 L.5,0 M0,.5 L1,.5`,3:`M.5,.5 L.5,1`},"╂":{1:`M0,.5 L1,.5`,3:`M.5,0 L.5,1`},"╃":{1:`M0.5,1 L.5,.5 L1,.5`,3:`M.5,0 L.5,.5 L0,.5`},"╄":{1:`M0,.5 L.5,.5 L.5,1`,3:`M.5,0 L.5,.5 L1,.5`},"╅":{1:`M.5,0 L.5,.5 L1,.5`,3:`M0,.5 L.5,.5 L.5,1`},"╆":{1:`M.5,0 L.5,.5 L0,.5`,3:`M0.5,1 L.5,.5 L1,.5`},"╇":{1:`M.5,.5 L.5,1`,3:`M.5,.5 L.5,0 M0,.5 L1,.5`},"╈":{1:`M.5,.5 L.5,0`,3:`M0,.5 L1,.5 M.5,.5 L.5,1`},"╉":{1:`M.5,.5 L1,.5`,3:`M.5,0 L.5,1 M.5,.5 L0,.5`},"╊":{1:`M.5,.5 L0,.5`,3:`M.5,0 L.5,1 M.5,.5 L1,.5`},"╌":{1:`M.1,.5 L.4,.5 M.6,.5 L.9,.5`},"╍":{3:`M.1,.5 L.4,.5 M.6,.5 L.9,.5`},"┄":{1:`M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5`},"┅":{3:`M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5`},"┈":{1:`M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5`},"┉":{3:`M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5`},"╎":{1:`M.5,.1 L.5,.4 M.5,.6 L.5,.9`},"╏":{3:`M.5,.1 L.5,.4 M.5,.6 L.5,.9`},"┆":{1:`M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333`},"┇":{3:`M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333`},"┊":{1:`M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95`},"┋":{3:`M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95`},"╭":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,1,.5`},"╮":{1:(e,t)=>`M.5,1 L.5,${.5+t/.15*.5} C.5,${.5+t/.15*.5},.5,.5,0,.5`},"╯":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,0,.5`},"╰":{1:(e,t)=>`M.5,0 L.5,${.5-t/.15*.5} C.5,${.5-t/.15*.5},.5,.5,1,.5`}},yO={"":{d:`M.3,1 L.03,1 L.03,.88 C.03,.82,.06,.78,.11,.73 C.15,.7,.2,.68,.28,.65 L.43,.6 C.49,.58,.53,.56,.56,.53 C.59,.5,.6,.47,.6,.43 L.6,.27 L.4,.27 L.69,.1 L.98,.27 L.78,.27 L.78,.46 C.78,.52,.76,.56,.72,.61 C.68,.66,.63,.67,.56,.7 L.48,.72 C.42,.74,.38,.76,.35,.78 C.32,.8,.31,.84,.31,.88 L.31,1 M.3,.5 L.03,.59 L.03,.09 L.3,.09 L.3,.655`,type:0},"":{d:`M.7,.4 L.7,.47 L.2,.47 L.2,.03 L.355,.03 L.355,.4 L.705,.4 M.7,.5 L.86,.5 L.86,.95 L.69,.95 L.44,.66 L.46,.86 L.46,.95 L.3,.95 L.3,.49 L.46,.49 L.71,.78 L.69,.565 L.69,.5`,type:0},"":{d:`M.25,.94 C.16,.94,.11,.92,.11,.87 L.11,.53 C.11,.48,.15,.455,.23,.45 L.23,.3 C.23,.25,.26,.22,.31,.19 C.36,.16,.43,.15,.51,.15 C.59,.15,.66,.16,.71,.19 C.77,.22,.79,.26,.79,.3 L.79,.45 C.87,.45,.91,.48,.91,.53 L.91,.87 C.91,.92,.86,.94,.77,.94 L.24,.94 M.53,.2 C.49,.2,.45,.21,.42,.23 C.39,.25,.38,.27,.38,.3 L.38,.45 L.68,.45 L.68,.3 C.68,.27,.67,.25,.64,.23 C.61,.21,.58,.2,.53,.2 M.58,.82 L.58,.66 C.63,.65,.65,.63,.65,.6 C.65,.58,.64,.57,.61,.56 C.58,.55,.56,.54,.52,.54 C.48,.54,.46,.55,.43,.56 C.4,.57,.39,.59,.39,.6 C.39,.63,.41,.64,.46,.66 L.46,.82 L.57,.82`,type:0},"":{d:`M0,0 L1,.5 L0,1`,type:0,rightPadding:2},"":{d:`M-1,-.5 L1,.5 L-1,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M1,0 L0,.5 L1,1`,type:0,leftPadding:2},"":{d:`M2,-.5 L0,.5 L2,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0`,type:0,rightPadding:1},"":{d:`M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0`,type:1,rightPadding:1},"":{d:`M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0`,type:0,leftPadding:1},"":{d:`M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0`,type:1,leftPadding:1},"":{d:`M-.5,-.5 L1.5,1.5 L-.5,1.5`,type:0},"":{d:`M-.5,-.5 L1.5,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M1.5,-.5 L-.5,1.5 L1.5,1.5`,type:0},"":{d:`M1.5,-.5 L-.5,1.5 L-.5,-.5`,type:0},"":{d:`M1.5,-.5 L-.5,1.5`,type:1,leftPadding:1,rightPadding:1},"":{d:`M-.5,-.5 L1.5,1.5 L1.5,-.5`,type:0}};yO[``]=yO[``],yO[``]=yO[``];function bO(e,t,n,r,i,a,o,s){let c=gO[t];if(c)return xO(e,c,n,r,i,a),!0;let l=_O[t];if(l)return CO(e,l,n,r,i,a),!0;let u=vO[t];if(u)return wO(e,u,n,r,i,a,s),!0;let d=yO[t];return d?(TO(e,d,n,r,i,a,o,s),!0):!1}function xO(e,t,n,r,i,a){for(let o=0;o<t.length;o++){let s=t[o],c=i/8,l=a/8;e.fillRect(n+s.x*c,r+s.y*l,s.w*c,s.h*l)}}var SO=new Map;function CO(e,t,n,r,i,a){let o=SO.get(t);o||(o=new Map,SO.set(t,o));let s=e.fillStyle;if(typeof s!=`string`)throw Error(`Unexpected fillStyle type "${s}"`);let c=o.get(s);if(!c){let n=t[0].length,r=t.length,i=e.canvas.ownerDocument.createElement(`canvas`);i.width=n,i.height=r;let a=YD(i.getContext(`2d`)),l=new ImageData(n,r),u,d,f,p;if(s.startsWith(`#`))u=parseInt(s.slice(1,3),16),d=parseInt(s.slice(3,5),16),f=parseInt(s.slice(5,7),16),p=s.length>7&&parseInt(s.slice(7,9),16)||1;else if(s.startsWith(`rgba`))[u,d,f,p]=s.substring(5,s.length-1).split(`,`).map(e=>parseFloat(e));else throw Error(`Unexpected fillStyle color format "${s}" when drawing pattern glyph`);for(let e=0;e<r;e++)for(let r=0;r<n;r++)l.data[(e*n+r)*4]=u,l.data[(e*n+r)*4+1]=d,l.data[(e*n+r)*4+2]=f,l.data[(e*n+r)*4+3]=t[e][r]*(p*255);a.putImageData(l,0,0),c=YD(e.createPattern(i,null)),o.set(s,c)}e.fillStyle=c,e.fillRect(n,r,i,a)}function wO(e,t,n,r,i,a,o){e.strokeStyle=e.fillStyle;for(let[s,c]of Object.entries(t)){e.beginPath(),e.lineWidth=o*Number.parseInt(s);let t;t=typeof c==`function`?c(.15,.15/a*i):c;for(let s of t.split(` `)){let t=s[0],c=DO[t];if(!c){console.error(`Could not find drawing instructions for "${t}"`);continue}let l=s.substring(1).split(`,`);!l[0]||!l[1]||c(e,OO(l,i,a,n,r,!0,o))}e.stroke(),e.closePath()}}function TO(e,t,n,r,i,a,o,s){let c=new Path2D;c.rect(n,r,i,a),e.clip(c),e.beginPath();let l=o/12;e.lineWidth=s*l;for(let o of t.d.split(` `)){let c=o[0],u=DO[c];if(!u){console.error(`Could not find drawing instructions for "${c}"`);continue}let d=o.substring(1).split(`,`);!d[0]||!d[1]||u(e,OO(d,i,a,n,r,!1,s,(t.leftPadding??0)*(l/2),(t.rightPadding??0)*(l/2)))}t.type===1?(e.strokeStyle=e.fillStyle,e.stroke()):e.fill(),e.closePath()}function EO(e,t,n=0){return Math.max(Math.min(e,t),n)}var DO={C:(e,t)=>e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]),L:(e,t)=>e.lineTo(t[0],t[1]),M:(e,t)=>e.moveTo(t[0],t[1])};function OO(e,t,n,r,i,a,o,s=0,c=0){let l=e.map(e=>parseFloat(e)||parseInt(e));if(l.length<2)throw Error(`Too few arguments for instruction`);for(let e=0;e<l.length;e+=2)l[e]*=t-s*o-c*o,a&&l[e]!==0&&(l[e]=EO(Math.round(l[e]+.5)-.5,t,0)),l[e]+=r+s*o;for(let e=1;e<l.length;e+=2)l[e]*=n,a&&l[e]!==0&&(l[e]=EO(Math.round(l[e]+.5)-.5,n,0)),l[e]+=i;return l}var kO=class{constructor(){this._data={}}set(e,t,n){this._data[e]||(this._data[e]={}),this._data[e][t]=n}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},AO=class{constructor(){this._data=new kO}set(e,t,n,r,i){this._data.get(e,t)||this._data.set(e,t,new kO),this._data.get(e,t).set(n,r,i)}get(e,t,n,r){return this._data.get(e,t)?.get(n,r)}clear(){this._data.clear()}},jO=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&=(this._cancelCallback(this._idleCallback),void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||=this._requestCallback(this._process.bind(this))}_process(e){this._idleCallback=void 0;let t=0,n=0,r=e.timeRemaining(),i=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),n=Math.max(t,n),i=e.timeRemaining(),n*1.5>i){r-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-t))}ms`),this._start();return}r=i}this.clear()}},MO=class extends jO{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},NO=class extends jO{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},PO=!kD&&`requestIdleCallback`in window?NO:MO,FO=class e{constructor(){this.fg=0,this.bg=0,this.extended=new IO}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let t=new e;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)==50331648}isBgRGB(){return(this.bg&50331648)==50331648}isFgPalette(){return(this.fg&50331648)==16777216||(this.fg&50331648)==33554432}isBgPalette(){return(this.bg&50331648)==16777216||(this.bg&50331648)==33554432}isFgDefault(){return!(this.fg&50331648)}isBgDefault(){return!(this.bg&50331648)}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)==16777216||(this.extended.underlineColor&50331648)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?!(this.extended.underlineColor&50331648):this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},IO=class e{constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new e(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},LO=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};LO.Undefined=new LO(void 0);var RO=globalThis.performance&&typeof globalThis.performance.now==`function`,zO=class e{static create(t){return new e(t)}constructor(e){this._now=RO&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime===-1?this._now()-this._startTime:this._stopTime-this._startTime}},BO;(e=>{e.None=()=>DD.None;function t(e,t){return d(e,()=>{},0,void 0,!0,void 0,t)}e.defer=t;function n(e){return(t,n=null,r)=>{let i=!1,a;return a=e(e=>{if(!i)return a?a.dispose():i=!0,t.call(n,e)},null,r),i&&a.dispose(),a}}e.once=n;function r(e,t,n){return l((n,r=null,i)=>e(e=>n.call(r,t(e)),null,i),n)}e.map=r;function i(e,t,n){return l((n,r=null,i)=>e(e=>{t(e),n.call(r,e)},null,i),n)}e.forEach=i;function a(e,t,n){return l((n,r=null,i)=>e(e=>t(e)&&n.call(r,e),null,i),n)}e.filter=a;function o(e){return e}e.signal=o;function s(...e){return(t,n=null,r)=>u(CD(...e.map(e=>e(e=>t.call(n,e)))),r)}e.any=s;function c(e,t,n,i){let a=n;return r(e,e=>(a=t(a,e),a),i)}e.reduce=c;function l(e,t){let n,r=new QO({onWillAddFirstListener(){n=e(r.fire,r)},onDidRemoveLastListener(){n?.dispose()}});return t?.add(r),r.event}function u(e,t){return t instanceof Array?t.push(e):t&&t.add(e),e}function d(e,t,n=100,r=!1,i=!1,a,o){let s,c,l,u=0,d,f=new QO({leakWarningThreshold:a,onWillAddFirstListener(){s=e(e=>{u++,c=t(c,e),r&&!l&&(f.fire(c),c=void 0),d=()=>{let e=c;c=void 0,l=void 0,(!r||u>1)&&f.fire(e),u=0},typeof n==`number`?(clearTimeout(l),l=setTimeout(d,n)):l===void 0&&(l=0,queueMicrotask(d))})},onWillRemoveListener(){i&&u>0&&d?.()},onDidRemoveLastListener(){d=void 0,s.dispose()}});return o?.add(f),f.event}e.debounce=d;function f(t,n=0,r){return e.debounce(t,(e,t)=>e?(e.push(t),e):[t],n,void 0,!0,void 0,r)}e.accumulate=f;function p(e,t=(e,t)=>e===t,n){let r=!0,i;return a(e,e=>{let n=r||!t(e,i);return r=!1,i=e,n},n)}e.latch=p;function m(t,n,r){return[e.filter(t,n,r),e.filter(t,e=>!n(e),r)]}e.split=m;function h(e,t=!1,n=[],r){let i=n.slice(),a=e(e=>{i?i.push(e):s.fire(e)});r&&r.add(a);let o=()=>{i?.forEach(e=>s.fire(e)),i=null},s=new QO({onWillAddFirstListener(){a||(a=e(e=>s.fire(e)),r&&r.add(a))},onDidAddFirstListener(){i&&(t?setTimeout(o):o())},onDidRemoveLastListener(){a&&a.dispose(),a=null}});return r&&r.add(s),s.event}e.buffer=h;function g(e,t){return(n,r,i)=>{let a=t(new v);return e(function(e){let t=a.evaluate(e);t!==_&&n.call(r,t)},void 0,i)}}e.chain=g;let _=Symbol(`HaltChainable`);class v{constructor(){this.steps=[]}map(e){return this.steps.push(e),this}forEach(e){return this.steps.push(t=>(e(t),t)),this}filter(e){return this.steps.push(t=>e(t)?t:_),this}reduce(e,t){let n=t;return this.steps.push(t=>(n=e(n,t),n)),this}latch(e=(e,t)=>e===t){let t=!0,n;return this.steps.push(r=>{let i=t||!e(r,n);return t=!1,n=r,i?r:_}),this}evaluate(e){for(let t of this.steps)if(e=t(e),e===_)break;return e}}function y(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new QO({onWillAddFirstListener:()=>e.on(t,r),onDidRemoveLastListener:()=>e.removeListener(t,r)});return i.event}e.fromNodeEventEmitter=y;function b(e,t,n=e=>e){let r=(...e)=>i.fire(n(...e)),i=new QO({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function ee(e){return new Promise(t=>n(e)(t))}e.toPromise=ee;function x(e){let t=new QO;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=x;function te(e,t){return e(e=>t.fire(e))}e.forward=te;function ne(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=ne;class S{constructor(e,t){this._observable=e,this._counter=0,this._hasChanged=!1;let n={onWillAddFirstListener:()=>{e.addObserver(this)},onDidRemoveLastListener:()=>{e.removeObserver(this)}};this.emitter=new QO(n),t&&t.add(this.emitter)}beginUpdate(e){this._counter++}handlePossibleChange(e){}handleChange(e,t){this._hasChanged=!0}endUpdate(e){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function re(e,t){return new S(e,t).emitter.event}e.fromObservable=re;function C(e){return(t,n,r)=>{let i=0,a=!1,o={beginUpdate(){i++},endUpdate(){i--,i===0&&(e.reportChanges(),a&&(a=!1,t.call(n)))},handlePossibleChange(){},handleChange(){a=!0}};e.addObserver(o),e.reportChanges();let s={dispose(){e.removeObserver(o)}};return r instanceof ED?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=C})(BO||={});var VO=class e{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${e._idPool++}`,e.all.add(this)}start(e){this._stopWatch=new zO,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};VO.all=new Set,VO._idPool=0;var HO=VO,UO=-1,WO=class e{constructor(t,n,r=(e._idPool++).toString(16).padStart(3,`0`)){this._errorHandler=t,this.threshold=n,this.name=r,this._warnCountdown=0}dispose(){this._stacks?.clear()}check(e,t){let n=this.threshold;if(n<=0||t<n)return;this._stacks||=new Map;let r=this._stacks.get(e.value)||0;if(this._stacks.set(e.value,r+1),--this._warnCountdown,this._warnCountdown<=0){this._warnCountdown=n*.5;let[e,r]=this.getMostFrequentStack(),i=`[${this.name}] potential listener LEAK detected, having ${t} listeners already. MOST frequent listener (${r}):`;console.warn(i),console.warn(e);let a=new qO(i,e);this._errorHandler(a)}return()=>{let t=this._stacks.get(e.value)||0;this._stacks.set(e.value,t-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,t=0;for(let[n,r]of this._stacks)(!e||t<r)&&(e=[n,r],t=r);return e}};WO._idPool=1;var GO=WO,KO=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
|
|
124
|
-
`).slice(2).join(`
|
|
125
|
-
`))}},qO=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},JO=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},YO=0,XO=class{constructor(e){this.value=e,this.id=YO++}},ZO=2,QO=class{constructor(e){this._size=0,this._options=e,this._leakageMon=UO>0||this._options?.leakWarningThreshold?new GO(e?.onListenerError??lD,this._options?.leakWarningThreshold??UO):void 0,this._perfMon=this._options?._profName?new HO(this._options._profName):void 0,this._deliveryQueue=this._options?.deliveryQueue}dispose(){this._disposed||(this._disposed=!0,this._deliveryQueue?.current===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),this._options?.onDidRemoveLastListener?.(),this._leakageMon?.dispose())}get event(){return this._event??=(e,t,n)=>{if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let e=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(e);let t=this._leakageMon.getMostFrequentStack()??[`UNKNOWN stack`,-1],n=new JO(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||lD)(n),DD.None}if(this._disposed)return DD.None;t&&(e=e.bind(t));let r=new XO(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=KO.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof XO?(this._deliveryQueue??=new $O,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=wD(()=>{i?.(),this._removeListener(r)});return n instanceof ED?n.add(a):Array.isArray(n)&&n.push(a),a},this._event}_removeListener(e){if(this._options?.onWillRemoveListener?.(this),!this._listeners)return;if(this._size===1){this._listeners=void 0,this._options?.onDidRemoveLastListener?.(this),this._size=0;return}let t=this._listeners,n=t.indexOf(e);if(n===-1)throw console.log(`disposed?`,this._disposed),console.log(`size?`,this._size),console.log(`arr?`,JSON.stringify(this._listeners)),Error(`Attempted to dispose unknown listener`);this._size--,t[n]=void 0;let r=this._deliveryQueue.current===this;if(this._size*ZO<=t.length){let e=0;for(let n=0;n<t.length;n++)t[n]?t[e++]=t[n]:r&&(this._deliveryQueue.end--,e<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=e}}_deliver(e,t){if(!e)return;let n=this._options?.onListenerError||lD;if(!n)e.value(t);else try{e.value(t)}catch(e){n(e)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){if(this._deliveryQueue?.current&&(this._deliverQueue(this._deliveryQueue),this._perfMon?.stop()),this._perfMon?.start(this._size),this._listeners){if(this._listeners instanceof XO)this._deliver(this._listeners,e);else{let t=this._deliveryQueue;t.enqueue(this,e,this._listeners.length),this._deliverQueue(t)}}this._perfMon?.stop()}hasListeners(){return this._size>0}},$O=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,n){this.i=0,this.end=n,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},ek={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}},tk=2,nk,rk=class e{constructor(e,t,n){this._document=e,this._config=t,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new AO,this._cacheMapCombined=new AO,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new FO,this._textureSize=512,this._onAddTextureAtlasCanvas=new QO,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new QO,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=sk(e,this._config.deviceCellWidth*4+tk*2,this._config.deviceCellHeight+tk*2),this._tmpCtx=YD(this._tmpCanvas.getContext(`2d`,{alpha:this._config.allowTransparency,willReadFrequently:!0}))}get pages(){return this._pages}dispose(){this._tmpCanvas.remove();for(let e of this.pages)e.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||=(this._doWarmUp(),!0)}_doWarmUp(){let e=new PO;for(let t=33;t<126;t++)e.enqueue(()=>{if(!this._cacheMap.get(t,0,0,0)){let e=this._drawToCache(t,0,0,0,!1,void 0);this._cacheMap.set(t,0,0,0,e)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(let e of this._pages)e.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(e.maxAtlasPages&&this._pages.length>=Math.max(4,e.maxAtlasPages)){let t=this._pages.filter(t=>t.canvas.width*2<=(e.maxTextureSize||4096)).sort((e,t)=>t.canvas.width===e.canvas.width?t.percentageUsed-e.percentageUsed:t.canvas.width-e.canvas.width),n=-1,r=0;for(let e=0;e<t.length;e++)if(t[e].canvas.width!==r)n=e,r=t[e].canvas.width;else if(e-n===3)break;let i=t.slice(n,n+4),a=i.map(e=>e.glyphs[0].texturePage).sort((e,t)=>e>t?1:-1),o=this.pages.length-i.length,s=this._mergePages(i,o);s.version++;for(let e=a.length-1;e>=0;e--)this._deletePage(a[e]);this.pages.push(s),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(s.canvas)}let t=new ik(this._document,this._textureSize);return this._pages.push(t),this._activePages.push(t),this._onAddTextureAtlasCanvas.fire(t.canvas),t}_mergePages(e,t){let n=e[0].canvas.width*2,r=new ik(this._document,n,e);for(let[i,a]of e.entries()){let e=i*a.canvas.width%n,o=Math.floor(i/2)*a.canvas.height;r.ctx.drawImage(a.canvas,e,o);for(let r of a.glyphs)r.texturePage=t,r.sizeClipSpace.x=r.size.x/n,r.sizeClipSpace.y=r.size.y/n,r.texturePosition.x+=e,r.texturePosition.y+=o,r.texturePositionClipSpace.x=r.texturePosition.x/n,r.texturePositionClipSpace.y=r.texturePosition.y/n;this._onRemoveTextureAtlasCanvas.fire(a.canvas);let s=this._activePages.indexOf(a);s!==-1&&this._activePages.splice(s,1)}return r}_deletePage(e){this._pages.splice(e,1);for(let t=e;t<this._pages.length;t++){let e=this._pages[t];for(let t of e.glyphs)t.texturePage--;e.version++}}getRasterizedGlyphCombinedChar(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMapCombined,e,t,n,r,i,a)}getRasterizedGlyph(e,t,n,r,i,a){return this._getFromCacheMap(this._cacheMap,e,t,n,r,i,a)}_getFromCacheMap(e,t,n,r,i,a,o){return nk=e.get(t,n,r,i),nk||(nk=this._drawToCache(t,n,r,i,a,o),e.set(t,n,r,i,nk)),nk}_getColorFromAnsiIndex(e){if(e>=this._config.colors.ansi.length)throw Error(`No color found for idx `+e);return this._config.colors.ansi[e]}_getBackgroundColor(e,t,n,r){if(this._config.allowTransparency)return VD;let i;switch(e){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(t);break;case 50331648:let e=FO.toColorRGB(t);i=HD.toColor(e[0],e[1],e[2]);break;default:i=n?UD.opaque(this._config.colors.foreground):this._config.colors.background}return this._config.allowTransparency||(i=UD.opaque(i)),i}_getForegroundColor(e,t,n,r,i,a,o,s,c,l){let u=this._getMinimumContrastColor(e,t,n,r,i,a,o,c,s,l);if(u)return u;let d;switch(i){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&c&&a<8&&(a+=8),d=this._getColorFromAnsiIndex(a);break;case 50331648:let e=FO.toColorRGB(a);d=HD.toColor(e[0],e[1],e[2]);break;default:d=o?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(d=UD.opaque(d)),s&&(d=UD.multiplyOpacity(d,mO)),d}_resolveBackgroundRgba(e,t,n){switch(e){case 16777216:case 33554432:return this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(e,t,n,r){switch(e){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&r&&t<8&&(t+=8),this._getColorFromAnsiIndex(t).rgba;case 50331648:return t<<8;default:return n?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(e,t,n,r,i,a,o,s,c,l){if(this._config.minimumContrastRatio===1||l)return;let u=this._getContrastCache(c),d=u.getColor(e,r);if(d!==void 0)return d||void 0;let f=this._resolveBackgroundRgba(t,n,o),p=this._resolveForegroundRgba(i,a,o,s),m=KD.ensureContrastRatio(f,p,this._config.minimumContrastRatio/(c?2:1));if(!m){u.setColor(e,r,null);return}let h=HD.toColor(m>>24&255,m>>16&255,m>>8&255);return u.setColor(e,r,h),h}_getContrastCache(e){return e?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(t,n,r,i,a,o){let s=typeof t==`number`?String.fromCharCode(t):t;o&&this._tmpCanvas.parentElement!==o&&(this._tmpCanvas.style.display=`none`,o.append(this._tmpCanvas));let c=Math.min(this._config.deviceCellWidth*Math.max(s.length,2)+tk*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<c&&(this._tmpCanvas.width=c);let l=Math.min(this._config.deviceCellHeight+tk*4,this._textureSize);if(this._tmpCanvas.height<l&&(this._tmpCanvas.height=l),this._tmpCtx.save(),this._workAttributeData.fg=r,this._workAttributeData.bg=n,this._workAttributeData.extended.ext=i,this._workAttributeData.isInvisible())return ek;let u=!!this._workAttributeData.isBold(),d=!!this._workAttributeData.isInverse(),f=!!this._workAttributeData.isDim(),p=!!this._workAttributeData.isItalic(),m=!!this._workAttributeData.isUnderline(),h=!!this._workAttributeData.isStrikethrough(),g=!!this._workAttributeData.isOverline(),_=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),y=this._workAttributeData.getBgColor(),b=this._workAttributeData.getBgColorMode();if(d){let e=_;_=y,y=e;let t=v;v=b,b=t}let ee=this._getBackgroundColor(b,y,d,f);this._tmpCtx.globalCompositeOperation=`copy`,this._tmpCtx.fillStyle=ee.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=`source-over`;let x=u?this._config.fontWeightBold:this._config.fontWeight,te=p?`italic`:``;this._tmpCtx.font=`${te} ${x} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=hO;let ne=s.length===1&&XD(s.charCodeAt(0)),S=s.length===1&&ZD(s.charCodeAt(0)),re=this._getForegroundColor(n,b,y,r,v,_,d,f,u,nO(s.charCodeAt(0)));this._tmpCtx.fillStyle=re.css;let C=S?0:tk*2,w=!1;this._config.customGlyphs!==!1&&(w=bO(this._tmpCtx,s,C,C,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let ie=!ne,ae;if(ae=typeof t==`number`?this._unicodeService.wcwidth(t):this._unicodeService.getStringCellWidth(t),m){this._tmpCtx.save();let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;if(this._tmpCtx.lineWidth=e,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())ie=!1,this._tmpCtx.strokeStyle=`rgb(${FO.toColorRGB(this._workAttributeData.getUnderlineColor()).join(`,`)})`;else{ie=!1;let e=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&e<8&&(e+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(e).css}this._tmpCtx.beginPath();let n=C,r=Math.ceil(C+this._config.deviceCharHeight)-t-(a?e*2:0),i=r+e,o=r+e*2,c=this._workAttributeData.getUnderlineVariantOffset();for(let a=0;a<ae;a++){this._tmpCtx.save();let s=n+a*this._config.deviceCellWidth,l=n+(a+1)*this._config.deviceCellWidth,u=s+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r),this._tmpCtx.moveTo(s,o),this._tmpCtx.lineTo(l,o);break;case 3:let n=e<=1?o:Math.ceil(C+this._config.deviceCharHeight-e/2)-t,a=e<=1?r:Math.ceil(C+this._config.deviceCharHeight+e/2)-t,d=new Path2D;d.rect(s,r,this._config.deviceCellWidth,o-r),this._tmpCtx.clip(d),this._tmpCtx.moveTo(s-this._config.deviceCellWidth/2,i),this._tmpCtx.bezierCurveTo(s-this._config.deviceCellWidth/2,a,s,a,s,i),this._tmpCtx.bezierCurveTo(s,n,u,n,u,i),this._tmpCtx.bezierCurveTo(u,a,l,a,l,i),this._tmpCtx.bezierCurveTo(l,n,l+this._config.deviceCellWidth/2,n,l+this._config.deviceCellWidth/2,i);break;case 4:let f=c===0?0:c>=e?e*2-c:e-c;c>=e||f===0?(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s+f,r),this._tmpCtx.lineTo(l,r)):(this._tmpCtx.setLineDash([Math.round(e),Math.round(e)]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(s+f,r),this._tmpCtx.moveTo(s+f+e,r),this._tmpCtx.lineTo(l,r)),c=aO(l-s,e,c);break;case 5:let p=l-s,m=Math.floor(.6*p),h=Math.floor(.3*p),g=p-m-h;this._tmpCtx.setLineDash([m,h,g]),this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r);break;default:this._tmpCtx.moveTo(s,r),this._tmpCtx.lineTo(l,r)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!w&&this._config.fontSize>=12&&!this._config.allowTransparency&&s!==` `){this._tmpCtx.save(),this._tmpCtx.textBaseline=`alphabetic`;let t=this._tmpCtx.measureText(s);if(this._tmpCtx.restore(),`actualBoundingBoxDescent`in t&&t.actualBoundingBoxDescent>0){this._tmpCtx.save();let t=new Path2D;t.rect(n,r-Math.ceil(e/2),this._config.deviceCellWidth*ae,o-r+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=ee.css,this._tmpCtx.strokeText(s,C,C+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(g){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),t=e%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(C,C+t),this._tmpCtx.lineTo(C+this._config.deviceCharWidth*ae,C+t),this._tmpCtx.stroke()}if(w||this._tmpCtx.fillText(s,C,C+this._config.deviceCharHeight),s===`_`&&!this._config.allowTransparency){let e=ak(this._tmpCtx.getImageData(C,C,this._config.deviceCellWidth,this._config.deviceCellHeight),ee,re,ie);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=ee.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(s,C,C+this._config.deviceCharHeight-t),e=ak(this._tmpCtx.getImageData(C,C,this._config.deviceCellWidth,this._config.deviceCellHeight),ee,re,ie),e);t++);}if(h){let e=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),t=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=e,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(C,C+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(C+this._config.deviceCharWidth*ae,C+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();let oe=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),T;if(T=this._config.allowTransparency?ok(oe):ak(oe,ee,re,ie),T)return ek;let E=this._findGlyphBoundingBox(oe,this._workBoundingBox,c,S,w,C),D,O;for(;;){if(this._activePages.length===0){let e=this._createNewPage();D=e,O=e.currentRow,O.height=E.size.y;break}D=this._activePages[this._activePages.length-1],O=D.currentRow;for(let e of this._activePages)E.size.y<=e.currentRow.height&&(D=e,O=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(let t of this._activePages[e].fixedRows)t.height<=O.height&&E.size.y<=t.height&&(D=this._activePages[e],O=t);if(E.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new ik(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),D=this._overflowSizePage,O=this._overflowSizePage.currentRow,O.x+E.size.x>=D.canvas.width&&(O.x=0,O.y+=O.height,O.height=0);break}if(O.y+E.size.y>=D.canvas.height||O.height>E.size.y+2){let t=!1;if(D.currentRow.y+D.currentRow.height+E.size.y>=D.canvas.height){let n;for(let e of this._activePages)if(e.currentRow.y+e.currentRow.height+E.size.y<e.canvas.height){n=e;break}if(n)D=n;else if(e.maxAtlasPages&&this._pages.length>=e.maxAtlasPages&&O.y+E.size.y<=D.canvas.height&&O.height>=E.size.y&&O.x+E.size.x<=D.canvas.width)t=!0;else{let e=this._createNewPage();D=e,O=e.currentRow,O.height=E.size.y,t=!0}}t||(D.currentRow.height>0&&D.fixedRows.push(D.currentRow),O={x:0,y:D.currentRow.y+D.currentRow.height,height:E.size.y},D.fixedRows.push(O),D.currentRow={x:0,y:O.y+O.height,height:0})}if(O.x+E.size.x<=D.canvas.width)break;O===D.currentRow?(O.x=0,O.y+=O.height,O.height=0):D.fixedRows.splice(D.fixedRows.indexOf(O),1)}return E.texturePage=this._pages.indexOf(D),E.texturePosition.x=O.x,E.texturePosition.y=O.y,E.texturePositionClipSpace.x=O.x/D.canvas.width,E.texturePositionClipSpace.y=O.y/D.canvas.height,E.sizeClipSpace.x/=D.canvas.width,E.sizeClipSpace.y/=D.canvas.height,O.height=Math.max(O.height,E.size.y),O.x+=E.size.x,D.ctx.putImageData(oe,E.texturePosition.x-this._workBoundingBox.left,E.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,E.size.x,E.size.y),D.addGlyph(E),D.version++,E}_findGlyphBoundingBox(e,t,n,r,i,a){t.top=0;let o=r?this._config.deviceCellHeight:this._tmpCanvas.height,s=r?this._config.deviceCellWidth:n,c=!1;for(let n=0;n<o;n++){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.top=n,c=!0;break}}if(c)break}t.left=0,c=!1;for(let n=0;n<a+s;n++){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.left=n,c=!0;break}}if(c)break}t.right=s,c=!1;for(let n=a+s-1;n>=a;n--){for(let r=0;r<o;r++){let i=r*this._tmpCanvas.width*4+n*4+3;if(e.data[i]!==0){t.right=n,c=!0;break}}if(c)break}t.bottom=o,c=!1;for(let n=o-1;n>=0;n--){for(let r=0;r<s;r++){let i=n*this._tmpCanvas.width*4+r*4+3;if(e.data[i]!==0){t.bottom=n,c=!0;break}}if(c)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:t.right-t.left+1,y:t.bottom-t.top+1},sizeClipSpace:{x:t.right-t.left+1,y:t.bottom-t.top+1},offset:{x:-t.left+a+(r||i?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-t.top+a+(r||i?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}},ik=class{constructor(e,t,n){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],n)for(let e of n)this._glyphs.push(...e.glyphs),this._usedPixels+=e._usedPixels;this.canvas=sk(e,t,t),this.ctx=YD(this.canvas.getContext(`2d`,{alpha:!0}))}get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(e){this._glyphs.push(e),this._usedPixels+=e.size.x*e.size.y}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}};function ak(e,t,n,r){let i=t.rgba>>>24,a=t.rgba>>>16&255,o=t.rgba>>>8&255,s=n.rgba>>>24,c=n.rgba>>>16&255,l=n.rgba>>>8&255,u=Math.floor((Math.abs(i-s)+Math.abs(a-c)+Math.abs(o-l))/12),d=!0;for(let t=0;t<e.data.length;t+=4)e.data[t]===i&&e.data[t+1]===a&&e.data[t+2]===o||r&&Math.abs(e.data[t]-i)+Math.abs(e.data[t+1]-a)+Math.abs(e.data[t+2]-o)<u?e.data[t+3]=0:d=!1;return d}function ok(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function sk(e,t,n){let r=e.createElement(`canvas`);return r.width=t,r.height=n,r}function ck(e,t,n,r,i,a,o,s){let c={foreground:a.foreground,background:a.background,cursor:VD,cursorAccent:VD,selectionForeground:VD,selectionBackgroundTransparent:VD,selectionBackgroundOpaque:VD,selectionInactiveBackgroundTransparent:VD,selectionInactiveBackgroundOpaque:VD,overviewRulerBorder:VD,scrollbarSliderBackground:VD,scrollbarSliderHoverBackground:VD,scrollbarSliderActiveBackground:VD,ansi:a.ansi.slice(),contrastCache:a.contrastCache,halfContrastCache:a.halfContrastCache};return{customGlyphs:i.customGlyphs,devicePixelRatio:o,deviceMaxTextureSize:s,letterSpacing:i.letterSpacing,lineHeight:i.lineHeight,deviceCellWidth:e,deviceCellHeight:t,deviceCharWidth:n,deviceCharHeight:r,fontFamily:i.fontFamily,fontSize:i.fontSize,fontWeight:i.fontWeight,fontWeightBold:i.fontWeightBold,allowTransparency:i.allowTransparency,drawBoldTextInBrightColors:i.drawBoldTextInBrightColors,minimumContrastRatio:i.minimumContrastRatio,colors:c}}function lk(e,t){for(let n=0;n<e.colors.ansi.length;n++)if(e.colors.ansi[n].rgba!==t.colors.ansi[n].rgba)return!1;return e.devicePixelRatio===t.devicePixelRatio&&e.customGlyphs===t.customGlyphs&&e.lineHeight===t.lineHeight&&e.letterSpacing===t.letterSpacing&&e.fontFamily===t.fontFamily&&e.fontSize===t.fontSize&&e.fontWeight===t.fontWeight&&e.fontWeightBold===t.fontWeightBold&&e.allowTransparency===t.allowTransparency&&e.deviceCharWidth===t.deviceCharWidth&&e.deviceCharHeight===t.deviceCharHeight&&e.drawBoldTextInBrightColors===t.drawBoldTextInBrightColors&&e.minimumContrastRatio===t.minimumContrastRatio&&e.colors.foreground.rgba===t.colors.foreground.rgba&&e.colors.background.rgba===t.colors.background.rgba}function uk(e){return(e&50331648)==16777216||(e&50331648)==33554432}var dk=[];function fk(e,t,n,r,i,a,o,s,c){let l=ck(r,i,a,o,t,n,s,c);for(let t=0;t<dk.length;t++){let n=dk[t],r=n.ownedBy.indexOf(e);if(r>=0){if(lk(n.config,l))return n.atlas;n.ownedBy.length===1?(n.atlas.dispose(),dk.splice(t,1)):n.ownedBy.splice(r,1);break}}for(let t=0;t<dk.length;t++){let n=dk[t];if(lk(n.config,l))return n.ownedBy.push(e),n.atlas}let u=e._core,d={atlas:new rk(document,l,u.unicodeService),config:l,ownedBy:[e]};return dk.push(d),d.atlas}function pk(e){for(let t=0;t<dk.length;t++){let n=dk[t].ownedBy.indexOf(e);if(n!==-1){dk[t].ownedBy.length===1?(dk[t].atlas.dispose(),dk.splice(t,1)):dk[t].ownedBy.splice(n,1);break}}}var mk=600,coe=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}))}_restartInterval(e=mk){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let e=mk-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,e>0){this._restartInterval(e);return}}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){let e=mk-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(e)}else this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},mk)},e)}pause(){this.isCursorVisible=!0,this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout&&=(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),void 0),this._animationFrame&&=(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}};function hk(e,t,n){let r=new t.ResizeObserver(t=>{let i=t.find(t=>t.target===e);if(!i)return;if(!(`devicePixelContentBoxSize`in i)){r?.disconnect(),r=void 0;return}let a=i.devicePixelContentBoxSize[0].inlineSize,o=i.devicePixelContentBoxSize[0].blockSize;a>0&&o>0&&n(a,o)});try{r.observe(e,{box:[`device-pixel-content-box`]})}catch{r.disconnect(),r=void 0}return wD(()=>r?.disconnect())}function loe(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var gk=class e extends FO{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new IO,this.combinedData=``}static fromCharData(t){let n=new e;return n.setFromCharData(t),n}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?loe(this.content&2097151):``}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let t=!1;if(e[1].length>2)t=!0;else if(e[1].length===2){let n=e[1].charCodeAt(0);if(55296<=n&&n<=56319){let r=e[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(n-55296)*1024+r-56320+65536|e[2]<<22:t=!0}else t=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;t&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},_k=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function vk(e,t,n){let r=YD(e.createProgram());if(e.attachShader(r,YD(yk(e,e.VERTEX_SHADER,t))),e.attachShader(r,YD(yk(e,e.FRAGMENT_SHADER,n))),e.linkProgram(r),e.getProgramParameter(r,e.LINK_STATUS))return r;console.error(e.getProgramInfoLog(r)),e.deleteProgram(r)}function yk(e,t,n){let r=YD(e.createShader(t));if(e.shaderSource(r,n),e.compileShader(r),e.getShaderParameter(r,e.COMPILE_STATUS))return r;console.error(e.getShaderInfoLog(r)),e.deleteShader(r)}function uoe(e,t){let n=Math.min(e.length*2,t),r=new Float32Array(n);for(let t=0;t<e.length;t++)r[t]=e[t];return r}var doe=class{constructor(e){this.texture=e,this.version=-1}},foe=`#version 300 es
|
|
126
|
-
layout (location = 0) in vec2 a_unitquad;
|
|
127
|
-
layout (location = 1) in vec2 a_cellpos;
|
|
128
|
-
layout (location = 2) in vec2 a_offset;
|
|
129
|
-
layout (location = 3) in vec2 a_size;
|
|
130
|
-
layout (location = 4) in float a_texpage;
|
|
131
|
-
layout (location = 5) in vec2 a_texcoord;
|
|
132
|
-
layout (location = 6) in vec2 a_texsize;
|
|
133
|
-
|
|
134
|
-
uniform mat4 u_projection;
|
|
135
|
-
uniform vec2 u_resolution;
|
|
136
|
-
|
|
137
|
-
out vec2 v_texcoord;
|
|
138
|
-
flat out int v_texpage;
|
|
139
|
-
|
|
140
|
-
void main() {
|
|
141
|
-
vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
|
|
142
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
143
|
-
v_texpage = int(a_texpage);
|
|
144
|
-
v_texcoord = a_texcoord + a_unitquad * a_texsize;
|
|
145
|
-
}`;function poe(e){let t=``;for(let n=1;n<e;n++)t+=` else if (v_texpage == ${n}) { outColor = texture(u_texture[${n}], v_texcoord); }`;return`#version 300 es
|
|
146
|
-
precision lowp float;
|
|
147
|
-
|
|
148
|
-
in vec2 v_texcoord;
|
|
149
|
-
flat in int v_texpage;
|
|
150
|
-
|
|
151
|
-
uniform sampler2D u_texture[${e}];
|
|
152
|
-
|
|
153
|
-
out vec4 outColor;
|
|
154
|
-
|
|
155
|
-
void main() {
|
|
156
|
-
if (v_texpage == 0) {
|
|
157
|
-
outColor = texture(u_texture[0], v_texcoord);
|
|
158
|
-
} ${t}
|
|
159
|
-
}`}var bk=11,xk=bk*Float32Array.BYTES_PER_ELEMENT,moe=2,Sk=0,Ck,wk=0,Tk=0,hoe=class extends DD{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._optionsService=r,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array,attributesBuffers:[new Float32Array,new Float32Array]};let i=this._gl;rk.maxAtlasPages===void 0&&(rk.maxAtlasPages=Math.min(32,YD(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS))),rk.maxTextureSize=YD(i.getParameter(i.MAX_TEXTURE_SIZE))),this._program=YD(vk(i,foe,poe(rk.maxAtlasPages))),this._register(wD(()=>i.deleteProgram(this._program))),this._projectionLocation=YD(i.getUniformLocation(this._program,`u_projection`)),this._resolutionLocation=YD(i.getUniformLocation(this._program,`u_resolution`)),this._textureLocation=YD(i.getUniformLocation(this._program,`u_texture`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(wD(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(wD(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=YD(i.createBuffer()),this._register(wD(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,2,i.FLOAT,!1,xk,0),i.vertexAttribDivisor(2,1),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,i.FLOAT,!1,xk,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(3,1),i.enableVertexAttribArray(4),i.vertexAttribPointer(4,1,i.FLOAT,!1,xk,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(4,1),i.enableVertexAttribArray(5),i.vertexAttribPointer(5,2,i.FLOAT,!1,xk,5*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(5,1),i.enableVertexAttribArray(6),i.vertexAttribPointer(6,2,i.FLOAT,!1,xk,7*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(6,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,xk,9*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.useProgram(this._program);let l=new Int32Array(rk.maxAtlasPages);for(let e=0;e<rk.maxAtlasPages;e++)l[e]=e;i.uniform1iv(this._textureLocation,l),i.uniformMatrix4fv(this._projectionLocation,!1,_k),this._atlasTextures=[];for(let e=0;e<rk.maxAtlasPages;e++){let t=new doe(YD(i.createTexture()));this._register(wD(()=>i.deleteTexture(t.texture))),i.activeTexture(i.TEXTURE0+e),i.bindTexture(i.TEXTURE_2D,t.texture),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE),i.texImage2D(i.TEXTURE_2D,0,i.RGBA,1,1,0,i.RGBA,i.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[e]=t}i.enable(i.BLEND),i.blendFunc(i.SRC_ALPHA,i.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(e,t,n,r,i,a,o,s,c){this._updateCell(this._vertices.attributes,e,t,n,r,i,a,o,s,c)}_updateCell(e,t,n,r,i,a,o,s,c,l){Sk=(n*this._terminal.cols+t)*bk,r===0||r===void 0?e.fill(0,Sk,Sk+bk-1-moe):this._atlas&&(Ck=s&&s.length>1?this._atlas.getRasterizedGlyphCombinedChar(s,i,a,o,!1,this._terminal.element):this._atlas.getRasterizedGlyph(r,i,a,o,!1,this._terminal.element),wk=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),i!==l&&Ck.offset.x>wk?(Tk=Ck.offset.x-wk,e[Sk]=-(Ck.offset.x-Tk)+this._dimensions.device.char.left,e[Sk+1]=-Ck.offset.y+this._dimensions.device.char.top,e[Sk+2]=(Ck.size.x-Tk)/this._dimensions.device.canvas.width,e[Sk+3]=Ck.size.y/this._dimensions.device.canvas.height,e[Sk+4]=Ck.texturePage,e[Sk+5]=Ck.texturePositionClipSpace.x+Tk/this._atlas.pages[Ck.texturePage].canvas.width,e[Sk+6]=Ck.texturePositionClipSpace.y,e[Sk+7]=Ck.sizeClipSpace.x-Tk/this._atlas.pages[Ck.texturePage].canvas.width,e[Sk+8]=Ck.sizeClipSpace.y):(e[Sk]=-Ck.offset.x+this._dimensions.device.char.left,e[Sk+1]=-Ck.offset.y+this._dimensions.device.char.top,e[Sk+2]=Ck.size.x/this._dimensions.device.canvas.width,e[Sk+3]=Ck.size.y/this._dimensions.device.canvas.height,e[Sk+4]=Ck.texturePage,e[Sk+5]=Ck.texturePositionClipSpace.x,e[Sk+6]=Ck.texturePositionClipSpace.y,e[Sk+7]=Ck.sizeClipSpace.x,e[Sk+8]=Ck.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&tO(r,c,Ck.size.x,this._dimensions.device.cell.width)&&(e[Sk+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*bk;this._vertices.count===t?this._vertices.attributes.fill(0):this._vertices.attributes=new Float32Array(t);let n=0;for(;n<this._vertices.attributesBuffers.length;n++)this._vertices.count===t?this._vertices.attributesBuffers[n].fill(0):this._vertices.attributesBuffers[n]=new Float32Array(t);this._vertices.count=t,n=0;for(let t=0;t<e.rows;t++)for(let r=0;r<e.cols;r++)this._vertices.attributes[n+9]=r/e.cols,this._vertices.attributes[n+10]=t/e.rows,n+=bk}handleResize(){let e=this._gl;e.useProgram(this._program),e.viewport(0,0,e.canvas.width,e.canvas.height),e.uniform2f(this._resolutionLocation,e.canvas.width,e.canvas.height),this.clear()}render(e){if(!this._atlas)return;let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;let n=this._vertices.attributesBuffers[this._activeBuffer],r=0;for(let t=0;t<e.lineLengths.length;t++){let i=t*this._terminal.cols*bk,a=this._vertices.attributes.subarray(i,i+e.lineLengths[t]*bk);n.set(a,r),r+=a.length}t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,n.subarray(0,r),t.STREAM_DRAW);for(let e=0;e<this._atlas.pages.length;e++)this._atlas.pages[e].version!==this._atlasTextures[e].version&&this._bindAtlasPageTexture(t,this._atlas,e);t.drawElementsInstanced(t.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,r/bk)}setAtlas(e){this._atlas=e;for(let e of this._atlasTextures)e.version=-1}_bindAtlasPageTexture(e,t,n){e.activeTexture(e.TEXTURE0+n),e.bindTexture(e.TEXTURE_2D,this._atlasTextures[n].texture),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,t.pages[n].canvas),e.generateMipmap(e.TEXTURE_2D),this._atlasTextures[n].version=t.pages[n].version}setDimensions(e){this._dimensions=e}},goe=class{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(e,t,n,r=!1){if(this.selectionStart=t,this.selectionEnd=n,!t||!n||t[0]===n[0]&&t[1]===n[1]){this.clear();return}let i=e.buffers.active.ydisp,a=t[1]-i,o=n[1]-i,s=Math.max(a,0),c=Math.min(o,e.rows-1);s>=e.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=a,this.viewportEndRow=o,this.viewportCappedStartRow=s,this.viewportCappedEndRow=c,this.startCol=t[0],this.endCol=n[0])}isCellSelected(e,t,n){return this.hasSelection?(n-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&n>=this.viewportCappedStartRow&&t<this.endCol&&n<=this.viewportCappedEndRow:t<this.startCol&&n>=this.viewportCappedStartRow&&t>=this.endCol&&n<=this.viewportCappedEndRow:n>this.viewportStartRow&&n<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&n===this.viewportStartRow&&t>=this.startCol):!1}};function _oe(){return new goe}var Ek=4,Dk=1,Ok=2,kk=3,voe=2147483648,yoe=class{constructor(){this.cells=new Uint32Array,this.lineLengths=new Uint32Array,this.selection=_oe()}resize(e,t){let n=e*t*Ek;n!==this.cells.length&&(this.cells=new Uint32Array(n),this.lineLengths=new Uint32Array(t))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}},boe=`#version 300 es
|
|
160
|
-
layout (location = 0) in vec2 a_position;
|
|
161
|
-
layout (location = 1) in vec2 a_size;
|
|
162
|
-
layout (location = 2) in vec4 a_color;
|
|
163
|
-
layout (location = 3) in vec2 a_unitquad;
|
|
164
|
-
|
|
165
|
-
uniform mat4 u_projection;
|
|
166
|
-
|
|
167
|
-
out vec4 v_color;
|
|
168
|
-
|
|
169
|
-
void main() {
|
|
170
|
-
vec2 zeroToOne = a_position + (a_unitquad * a_size);
|
|
171
|
-
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
172
|
-
v_color = a_color;
|
|
173
|
-
}`,xoe=`#version 300 es
|
|
174
|
-
precision lowp float;
|
|
175
|
-
|
|
176
|
-
in vec4 v_color;
|
|
177
|
-
|
|
178
|
-
out vec4 outColor;
|
|
179
|
-
|
|
180
|
-
void main() {
|
|
181
|
-
outColor = v_color;
|
|
182
|
-
}`,Ak=8,jk=Ak*Float32Array.BYTES_PER_ELEMENT,Soe=20*Ak,Mk=class{constructor(){this.attributes=new Float32Array(Soe),this.count=0}},Nk=0,Pk=0,Fk=0,Ik=0,Lk=0,Rk=0,zk=0,Coe=class extends DD{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._themeService=r,this._vertices=new Mk,this._verticesCursor=new Mk;let i=this._gl;this._program=YD(vk(i,boe,xoe)),this._register(wD(()=>i.deleteProgram(this._program))),this._projectionLocation=YD(i.getUniformLocation(this._program,`u_projection`)),this._vertexArrayObject=i.createVertexArray(),i.bindVertexArray(this._vertexArrayObject);let a=new Float32Array([0,0,1,0,0,1,1,1]),o=i.createBuffer();this._register(wD(()=>i.deleteBuffer(o))),i.bindBuffer(i.ARRAY_BUFFER,o),i.bufferData(i.ARRAY_BUFFER,a,i.STATIC_DRAW),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);let s=new Uint8Array([0,1,2,3]),c=i.createBuffer();this._register(wD(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=YD(i.createBuffer()),this._register(wD(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,i.FLOAT,!1,jk,0),i.vertexAttribDivisor(0,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,jk,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,4,i.FLOAT,!1,jk,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(2,1),this._updateCachedColors(r.colors),this._register(this._themeService.onChangeColors(e=>{this._updateCachedColors(e),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(e){let t=this._gl;t.useProgram(this._program),t.bindVertexArray(this._vertexArrayObject),t.uniformMatrix4fv(this._projectionLocation,!1,_k),t.bindBuffer(t.ARRAY_BUFFER,this._attributesBuffer),t.bufferData(t.ARRAY_BUFFER,e.attributes,t.DYNAMIC_DRAW),t.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,t.UNSIGNED_BYTE,0,e.count)}handleResize(){this._updateViewportRectangle()}setDimensions(e){this._dimensions=e}_updateCachedColors(e){this._bgFloat=this._colorToFloat32Array(e.background),this._cursorFloat=this._colorToFloat32Array(e.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(e){let t=this._terminal,n=this._vertices,r=1,i,a,o,s,c,l,u,d,f,p,m;for(i=0;i<t.rows;i++){for(o=-1,s=0,c=0,l=!1,a=0;a<t.cols;a++)u=(i*t.cols+a)*Ek,d=e.cells[u+Dk],f=e.cells[u+Ok],p=!!(f&67108864),(d!==s||f!==c&&(l||p))&&((s!==0||l&&c!==0)&&(m=r++*Ak,this._updateRectangle(n,m,c,s,o,a,i)),o=a,s=d,c=f,l=p);(s!==0||l&&c!==0)&&(m=r++*Ak,this._updateRectangle(n,m,c,s,o,t.cols,i))}n.count=r}updateCursor(e){let t=this._verticesCursor,n=e.cursor;if(!n||n.style===`block`){t.count=0;return}let r,i=0;(n.style===`bar`||n.style===`outline`)&&(r=i++*Ak,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.style===`bar`?n.dpr*n.cursorWidth:n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),(n.style===`underline`||n.style===`outline`)&&(r=i++*Ak,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,(n.y+1)*this._dimensions.device.cell.height-n.dpr,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat)),n.style===`outline`&&(r=i++*Ak,this._addRectangleFloat(t.attributes,r,n.x*this._dimensions.device.cell.width,n.y*this._dimensions.device.cell.height,n.width*this._dimensions.device.cell.width,n.dpr,this._cursorFloat),r=i++*Ak,this._addRectangleFloat(t.attributes,r,(n.x+n.width)*this._dimensions.device.cell.width-n.dpr,n.y*this._dimensions.device.cell.height,n.dpr,this._dimensions.device.cell.height,this._cursorFloat)),t.count=i}_updateRectangle(e,t,n,r,i,a,o){if(n&67108864)switch(n&50331648){case 16777216:case 33554432:Nk=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:Nk=(n&16777215)<<8;break;default:Nk=this._themeService.colors.foreground.rgba}else switch(r&50331648){case 16777216:case 33554432:Nk=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:Nk=(r&16777215)<<8;break;default:Nk=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=uoe(e.attributes,this._terminal.rows*this._terminal.cols*Ak)),Pk=i*this._dimensions.device.cell.width,Fk=o*this._dimensions.device.cell.height,Ik=(Nk>>24&255)/255,Lk=(Nk>>16&255)/255,Rk=(Nk>>8&255)/255,zk=1,this._addRectangle(e.attributes,t,Pk,Fk,(a-i)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,Ik,Lk,Rk,zk)}_addRectangle(e,t,n,r,i,a,o,s,c,l){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o,e[t+5]=s,e[t+6]=c,e[t+7]=l}_addRectangleFloat(e,t,n,r,i,a,o){e[t]=n/this._dimensions.device.canvas.width,e[t+1]=r/this._dimensions.device.canvas.height,e[t+2]=i/this._dimensions.device.canvas.width,e[t+3]=a/this._dimensions.device.canvas.height,e[t+4]=o[0],e[t+5]=o[1],e[t+6]=o[2],e[t+7]=o[3]}_colorToFloat32Array(e){return new Float32Array([(e.rgba>>24&255)/255,(e.rgba>>16&255)/255,(e.rgba>>8&255)/255,(e.rgba&255)/255])}},woe=class extends DD{constructor(e,t,n,r,i,a,o,s){super(),this._container=t,this._alpha=i,this._coreBrowserService=a,this._optionsService=o,this._themeService=s,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`),this._canvas.classList.add(`xterm-${n}-layer`),this._canvas.style.zIndex=r.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._register(this._themeService.onChangeColors(t=>{this._refreshCharAtlas(e,t),this.reset(e)})),this._register(wD(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=YD(this._canvas.getContext(`2d`,{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(e){}handleFocus(e){}handleCursorMove(e){}handleGridChanged(e,t,n){}handleSelectionChanged(e,t,n,r=!1){}_setTransparency(e,t){if(t===this._alpha)return;let n=this._canvas;this._alpha=t,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,n),this._refreshCharAtlas(e,this._themeService.colors),this.handleGridChanged(e,0,e.rows-1)}_refreshCharAtlas(e,t){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=fk(e,this._optionsService.rawOptions,t,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr,2048),this._charAtlas.warmUp())}resize(e,t){this._deviceCellWidth=t.device.cell.width,this._deviceCellHeight=t.device.cell.height,this._deviceCharWidth=t.device.char.width,this._deviceCharHeight=t.device.char.height,this._deviceCharLeft=t.device.char.left,this._deviceCharTop=t.device.char.top,this._canvas.width=t.device.canvas.width,this._canvas.height=t.device.canvas.height,this._canvas.style.width=`${t.css.canvas.width}px`,this._canvas.style.height=`${t.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(e,this._themeService.colors)}_fillBottomLineAtCells(e,t,n=1){this._ctx.fillRect(e*this._deviceCellWidth,(t+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,n*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(e,t,n,r){this._alpha?this._ctx.clearRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,r*this._deviceCellHeight))}_fillCharTrueColor(e,t,n,r){this._ctx.font=this._getFont(e,!1,!1),this._ctx.textBaseline=hO,this._clipCell(n,r,t.getWidth()),this._ctx.fillText(t.getChars(),n*this._deviceCellWidth+this._deviceCharLeft,r*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(e,t,n){this._ctx.beginPath(),this._ctx.rect(e*this._deviceCellWidth,t*this._deviceCellHeight,n*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(e,t,n){let r=t?e.options.fontWeightBold:e.options.fontWeight;return`${n?`italic`:``} ${r} ${e.options.fontSize*this._coreBrowserService.dpr}px ${e.options.fontFamily}`}},Toe=class extends woe{constructor(e,t,n,r,i,a,o){super(n,e,`link`,t,!0,i,a,o),this._register(r.onShowLinkUnderline(e=>this._handleShowLinkUnderline(e))),this._register(r.onHideLinkUnderline(e=>this._handleHideLinkUnderline(e)))}resize(e,t){super.resize(e,t),this._state=void 0}reset(e){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);let e=this._state.y2-this._state.y1-1;e>0&&this._clearCells(0,this._state.y1+1,this._state.cols,e),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(e){if(e.fg===257?this._ctx.fillStyle=this._themeService.colors.background.css:e.fg!==void 0&&uk(e.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[e.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,e.y1===e.y2)this._fillBottomLineAtCells(e.x1,e.y1,e.x2-e.x1);else{this._fillBottomLineAtCells(e.x1,e.y1,e.cols-e.x1);for(let t=e.y1+1;t<e.y2;t++)this._fillBottomLineAtCells(0,t,e.cols);this._fillBottomLineAtCells(0,e.y2,e.x2)}this._state=e}_handleHideLinkUnderline(e){this._clearCurrentLink()}},Bk=typeof window==`object`?window:globalThis,Vk=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new QO,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new QO,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,t){if(this.getZoomLevel(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToZoomLevel.set(n,e),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,t){this.mapWindowIdToZoomFactor.set(this.getWindowId(t),e)}setFullscreen(e,t){if(this.isFullscreen(t)===e)return;let n=this.getWindowId(t);this.mapWindowIdToFullScreen.set(n,e),this._onDidChangeFullscreen.fire(n)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};Vk.INSTANCE=new Vk;var Hk=Vk;function Eoe(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Hk.INSTANCE.onDidChangeZoomLevel,Hk.INSTANCE.onDidChangeFullscreen;var Uk=typeof navigator==`object`?navigator.userAgent:``;Uk.indexOf(`Firefox`);var Wk=Uk.indexOf(`AppleWebKit`)>=0;!(Uk.indexOf(`Chrome`)>=0)&&Uk.indexOf(`Safari`),Uk.indexOf(`Electron/`),Uk.indexOf(`Android`);var Gk=!1;if(typeof Bk.matchMedia==`function`){let e=Bk.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=Bk.matchMedia(`(display-mode: fullscreen)`);Gk=e.matches,Eoe(Bk,e,({matches:e})=>{Gk&&t.matches||(Gk=e)})}function Doe(){return Gk}var Kk=`en`,qk=!1,Jk=!1,Yk=!1,Xk=Kk,Zk,Qk=globalThis,$k;typeof Qk.vscode<`u`&&typeof Qk.vscode.process<`u`?$k=Qk.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&($k=process);var Ooe=typeof $k?.versions?.electron==`string`&&$k?.type===`renderer`;if(typeof $k==`object`){$k.platform,$k.platform,qk=$k.platform===`linux`,qk&&$k.env.SNAP&&$k.env.SNAP_REVISION,$k.env.CI||$k.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Xk=Kk;let e=$k.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Xk=t.resolvedLanguage||Kk,t.languagePack?.translationsConfigFile}catch{}Jk=!0}else typeof navigator==`object`&&!Ooe?(Zk=navigator.userAgent,Zk.indexOf(`Windows`),Zk.indexOf(`Macintosh`),(Zk.indexOf(`Macintosh`)>=0||Zk.indexOf(`iPad`)>=0||Zk.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,qk=Zk.indexOf(`Linux`)>=0,Zk?.indexOf(`Mobi`),Yk=!0,Xk=globalThis._VSCODE_NLS_LANGUAGE||Kk,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var eA=Jk;Yk&&typeof Qk.importScripts==`function`&&Qk.origin;var tA=Zk,nA=Xk,koe;(e=>{function t(){return nA}e.value=t;function n(){return nA.length===2?nA===`en`:nA.length>=3&&nA[0]===`e`&&nA[1]===`n`&&nA[2]===`-`}e.isDefaultVariant=n;function r(){return nA===`en`}e.isDefault=r})(koe||={});var Aoe=typeof Qk.postMessage==`function`&&!Qk.importScripts;(()=>{if(Aoe){let e=[];Qk.addEventListener(`message`,t=>{if(t.data&&t.data.vscodeScheduleAsyncWork)for(let n=0,r=e.length;n<r;n++){let r=e[n];if(r.id===t.data.vscodeScheduleAsyncWork){e.splice(n,1),r.callback();return}}});let t=0;return n=>{let r=++t;e.push({id:r,callback:n}),Qk.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var joe=!!(tA&&tA.indexOf(`Chrome`)>=0);tA&&tA.indexOf(`Firefox`),!joe&&tA&&tA.indexOf(`Safari`),tA&&tA.indexOf(`Edg/`),tA&&tA.indexOf(`Android`);var rA=typeof navigator==`object`?navigator:{};eA||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||rA&&rA.clipboard&&rA.clipboard.writeText,eA||rA&&rA.clipboard&&rA.clipboard.readText,eA||Doe()||rA.keyboard,`ontouchstart`in Bk||rA.maxTouchPoints,Bk.PointerEvent&&(`ontouchstart`in Bk||navigator.maxTouchPoints);var iA=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},aA=new iA,oA=new iA,sA=new iA;Array(230);var Moe;(e=>{function t(e){return aA.keyCodeToStr(e)}e.toString=t;function n(e){return aA.strToKeyCode(e)}e.fromString=n;function r(e){return oA.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return sA.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return oA.strToKeyCode(e)||sA.strToKeyCode(e)}e.fromUserSettings=a;function o(e){if(e>=98&&e<=113)return null;switch(e){case 16:return`Up`;case 18:return`Down`;case 15:return`Left`;case 17:return`Right`}return aA.keyCodeToStr(e)}e.toElectronAccelerator=o})(Moe||={});var cA=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Noe;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Poe?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:BO.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:cA})})(Noe||={});var Poe=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?cA:(this._emitter||=new QO,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Foe;(e=>{async function t(e){let t,n=await Promise.all(e.map(e=>e.then(e=>e,e=>{t||=e})));if(typeof t<`u`)throw t;return n}e.settled=t;function n(e){return new Promise(async(t,n)=>{try{await e(t,n)}catch(e){n(e)}})}e.withAsyncBody=n})(Foe||={});var lA=class e{static fromArray(t){return new e(e=>{e.emitMany(t)})}static fromPromise(t){return new e(async e=>{e.emitMany(await t)})}static fromPromises(t){return new e(async e=>{await Promise.all(t.map(async t=>e.emitOne(await t)))})}static merge(t){return new e(async e=>{await Promise.all(t.map(async t=>{for await(let n of t)e.emitOne(n)}))})}constructor(e,t){this._state=0,this._results=[],this._error=null,this._onReturn=t,this._onStateChanged=new QO,queueMicrotask(async()=>{let t={emitOne:e=>this.emitOne(e),emitMany:e=>this.emitMany(e),reject:e=>this.reject(e)};try{await Promise.resolve(e(t)),this.resolve()}catch(e){this.reject(e)}finally{t.emitOne=void 0,t.emitMany=void 0,t.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e<this._results.length)return{done:!1,value:this._results[e++]};if(this._state===1)return{done:!0,value:void 0};await BO.toPromise(this._onStateChanged.event)}while(1)},return:async()=>(this._onReturn?.(),{done:!0,value:void 0})}}static map(t,n){return new e(async e=>{for await(let r of t)e.emitOne(n(r))})}map(t){return e.map(this,t)}static filter(t,n){return new e(async e=>{for await(let r of t)n(r)&&e.emitOne(r)})}filter(t){return e.filter(this,t)}static coalesce(t){return e.filter(t,e=>!!e)}coalesce(){return e.coalesce(this)}static async toPromise(e){let t=[];for await(let n of e)t.push(n);return t}toPromise(){return e.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};lA.EMPTY=lA.fromArray([]);function Ioe(e){return uA(e,0)}function uA(e,t){switch(typeof e){case`object`:return e===null?dA(349,t):Array.isArray(e)?Roe(e,t):zoe(e,t);case`string`:return fA(e,t);case`boolean`:return Loe(e,t);case`number`:return dA(e,t);case`undefined`:return dA(937,t);default:return dA(617,t)}}function dA(e,t){return(t<<5)-t+e|0}function Loe(e,t){return dA(e?433:863,t)}function fA(e,t){t=dA(149417,t);for(let n=0,r=e.length;n<r;n++)t=dA(e.charCodeAt(n),t);return t}function Roe(e,t){return t=dA(104579,t),e.reduce((e,t)=>uA(t,e),t)}function zoe(e,t){return t=dA(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=fA(n,t),uA(e[n],t)),t)}var{registerWindow:Boe,getWindow:Voe,getDocument:Hoe,getWindows:Uoe,getWindowsCount:Woe,getWindowId:Goe,getWindowById:Koe,hasWindow:qoe,onDidRegisterWindow:Joe,onWillUnregisterWindow:Yoe,onDidUnregisterWindow:Xoe}=function(){let e=new Map,t={window:Bk,disposables:new ED};e.set(Bk.vscodeWindowId,t);let n=new QO,r=new QO,i=new QO;function a(n,r){return(typeof n==`number`?e.get(n):void 0)??(r?t:void 0)}return{onDidRegisterWindow:n.event,onWillUnregisterWindow:i.event,onDidUnregisterWindow:r.event,registerWindow(t){if(e.has(t.vscodeWindowId))return DD.None;let a=new ED,o={window:t,disposables:a.add(new ED)};return e.set(t.vscodeWindowId,o),a.add(wD(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(pA(t,Qoe.BEFORE_UNLOAD,()=>{i.fire(t)})),n.fire(o),a},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(e){return e.vscodeWindowId},hasWindow(t){return e.has(t)},getWindowById:a,getWindow(e){let t=e;if(t?.ownerDocument?.defaultView)return t.ownerDocument.defaultView.window;let n=e;return n?.view?n.view.window:Bk},getDocument(e){return Voe(e).document}}}(),Zoe=class{constructor(e,t,n,r){this._node=e,this._type=t,this._handler=n,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&=(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,null)}};function pA(e,t,n,r){return new Zoe(e,t,n,r)}var mA=class e{constructor(e,t){this.width=e,this.height=t}with(t=this.width,n=this.height){return t!==this.width||n!==this.height?new e(t,n):this}static is(e){return typeof e==`object`&&typeof e.height==`number`&&typeof e.width==`number`}static lift(t){return t instanceof e?t:new e(t.width,t.height)}static equals(e,t){return e===t?!0:!e||!t?!1:e.width===t.width&&e.height===t.height}};mA.None=new mA(0,0),new class{constructor(){this.mutationObservers=new Map}observe(e,t,n){let r=this.mutationObservers.get(e);r||(r=new Map,this.mutationObservers.set(e,r));let i=Ioe(n),a=r.get(i);if(a)a.users+=1;else{let o=new QO,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(wD(()=>{--c.users,c.users===0&&(o.dispose(),s.disconnect(),r?.delete(i),r?.size===0&&this.mutationObservers.delete(e))})),r.set(i,a)}return a.onDidMutate}};var Qoe={CLICK:`click`,AUXCLICK:`auxclick`,DBLCLICK:`dblclick`,MOUSE_UP:`mouseup`,MOUSE_DOWN:`mousedown`,MOUSE_OVER:`mouseover`,MOUSE_MOVE:`mousemove`,MOUSE_OUT:`mouseout`,MOUSE_ENTER:`mouseenter`,MOUSE_LEAVE:`mouseleave`,MOUSE_WHEEL:`wheel`,POINTER_UP:`pointerup`,POINTER_DOWN:`pointerdown`,POINTER_MOVE:`pointermove`,POINTER_LEAVE:`pointerleave`,CONTEXT_MENU:`contextmenu`,WHEEL:`wheel`,KEY_DOWN:`keydown`,KEY_PRESS:`keypress`,KEY_UP:`keyup`,LOAD:`load`,BEFORE_UNLOAD:`beforeunload`,UNLOAD:`unload`,PAGE_SHOW:`pageshow`,PAGE_HIDE:`pagehide`,PASTE:`paste`,ABORT:`abort`,ERROR:`error`,RESIZE:`resize`,SCROLL:`scroll`,FULLSCREEN_CHANGE:`fullscreenchange`,WK_FULLSCREEN_CHANGE:`webkitfullscreenchange`,SELECT:`select`,CHANGE:`change`,SUBMIT:`submit`,RESET:`reset`,FOCUS:`focus`,FOCUS_IN:`focusin`,FOCUS_OUT:`focusout`,BLUR:`blur`,INPUT:`input`,STORAGE:`storage`,DRAG_START:`dragstart`,DRAG:`drag`,DRAG_ENTER:`dragenter`,DRAG_LEAVE:`dragleave`,DRAG_OVER:`dragover`,DROP:`drop`,DRAG_END:`dragend`,ANIMATION_START:Wk?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Wk?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Wk?`webkitAnimationIteration`:`animationiteration`},$oe=class extends DD{constructor(e,t,n,r,i,a,o,s,c){super(),this._terminal=e,this._characterJoinerService=t,this._charSizeService=n,this._coreBrowserService=r,this._coreService=i,this._decorationService=a,this._optionsService=o,this._themeService=s,this._cursorBlinkStateManager=new OD,this._charAtlasDisposable=this._register(new OD),this._observerDisposable=this._register(new OD),this._model=new yoe,this._workCell=new gk,this._workCell2=new gk,this._rectangleRenderer=this._register(new OD),this._glyphRenderer=this._register(new OD),this._onChangeTextureAtlas=this._register(new QO),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new QO),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new QO),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new QO),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new QO),this.onContextLoss=this._onContextLoss.event,this._canvas=this._coreBrowserService.mainDocument.createElement(`canvas`);let l={antialias:!1,depth:!1,preserveDrawingBuffer:c};if(this._gl=this._canvas.getContext(`webgl2`,l),!this._gl)throw Error(`WebGL2 not supported `+this._gl);this._register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new pO(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new Toe(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,o,this._themeService)],this.dimensions=rO(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this._register(o.onOptionChange(()=>this._handleOptionsChanged())),this._deviceMaxTextureSize=this._gl.getParameter(this._gl.MAX_TEXTURE_SIZE),this._register(pA(this._canvas,`webglcontextlost`,e=>{console.log(`webglcontextlost event received`),e.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn(`webgl context not restored; firing onContextLoss`),this._onContextLoss.fire(e)},3e3)})),this._register(pA(this._canvas,`webglcontextrestored`,e=>{console.warn(`webglcontextrestored event received`),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,pk(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=hk(this._canvas,this._coreBrowserService.window,(e,t)=>this._setCanvasDevicePixelDimensions(e,t)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=hk(this._canvas,e,(e,t)=>this._setCanvasDevicePixelDimensions(e,t))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._core.screenElement.isConnected,this._register(wD(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),pk(this._terminal)}))}get textureAtlas(){return this._charAtlas?.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(e,t){this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(let e of this._renderLayers)e.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,this._rectangleRenderer.value?.setDimensions(this.dimensions),this._rectangleRenderer.value?.handleResize(),this._glyphRenderer.value?.setDimensions(this.dimensions),this._glyphRenderer.value?.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){for(let e of this._renderLayers)e.handleBlur(this._terminal);this._cursorBlinkStateManager.value?.pause(),this._requestRedrawViewport()}handleFocus(){for(let e of this._renderLayers)e.handleFocus(this._terminal);this._cursorBlinkStateManager.value?.resume(),this._requestRedrawViewport()}handleSelectionChanged(e,t,n){for(let r of this._renderLayers)r.handleSelectionChanged(this._terminal,e,t,n);this._model.selection.update(this._core,e,t,n),this._requestRedrawViewport()}handleCursorMove(){for(let e of this._renderLayers)e.handleCursorMove(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new Coe(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new hoe(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0){this._isAttached=!1;return}let e=fk(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr,this._deviceMaxTextureSize);this._charAtlas!==e&&(this._onChangeTextureAtlas.fire(e.pages[0].canvas),this._charAtlasDisposable.value=CD(BO.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),BO.forward(e.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas))),this._charAtlas=e,this._charAtlas.warmUp(),this._glyphRenderer.value?.setAtlas(this._charAtlas)}_clearModel(e){this._model.clear(),e&&this._glyphRenderer.value?.clear()}clearTextureAtlas(){this._charAtlas?.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){this._clearModel(!0);for(let e of this._renderLayers)e.reset(this._terminal);this._cursorBlinkStateManager.value?.restartBlinkAnimation(),this._updateCursorBlink()}renderRows(e,t){if(!this._isAttached){if(this._core.screenElement?.isConnected&&this._charSizeService.width&&this._charSizeService.height)this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0;else return}for(let n of this._renderLayers)n.handleGridChanged(this._terminal,e,t);!this._glyphRenderer.value||!this._rectangleRenderer.value||(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(e,t),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible)&&this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._coreService.decPrivateModes.cursorBlink??this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new coe(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(e,t){let n=this._core,r=this._workCell,i,a,o,s,c,l,u=0,d=!0,f,p,m,h,g,_,v,y,b;e=hA(e,n.rows-1,0),t=hA(t,n.rows-1,0);let ee=this._coreService.decPrivateModes.cursorStyle??n.options.cursorStyle??`block`,x=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,te=x-n.buffer.ydisp,ne=Math.min(this._terminal.buffer.active.cursorX,n.cols-1),S=-1,re=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let C=!1;for(a=e;a<=t;a++)for(o=a+n.buffer.ydisp,s=n.buffer.lines.get(o),this._model.lineLengths[a]=0,m=x===o,u=0,c=this._characterJoinerService.getJoinedCharacters(o),y=0;y<n.cols;y++){if(i=this._cellColorResolver.result.bg,s.loadCell(y,r),y===0&&(i=this._cellColorResolver.result.bg),l=!1,d=y>=u,f=y,c.length>0&&y===c[0][0]&&d){p=c.shift();let e=this._model.selection.isCellSelected(this._terminal,p[0],o);for(v=p[0]+1;v<p[1];v++)d&&=e===this._model.selection.isCellSelected(this._terminal,v,o);d&&=!m||ne<p[0]||ne>=p[1],d?(l=!0,r=new ese(r,s.translateToString(!0,p[0],p[1]),p[1]-p[0]),f=p[1]-1):u=p[1]}if(h=r.getChars(),g=r.getCode(),v=(a*n.cols+y)*Ek,this._cellColorResolver.resolve(r,y,o,this.dimensions.device.cell.width),re&&o===x&&(y===ne&&(this._model.cursor={x:ne,y:te,width:r.getWidth(),style:this._coreBrowserService.isFocused?ee:n.options.cursorInactiveStyle,cursorWidth:n.options.cursorWidth,dpr:this._devicePixelRatio},S=ne+r.getWidth()-1),y>=ne&&y<=S&&(this._coreBrowserService.isFocused&&ee===`block`||this._coreBrowserService.isFocused===!1&&n.options.cursorInactiveStyle===`block`)&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),g!==0&&(this._model.lineLengths[a]=y+1),(this._model.cells[v]!==g||this._model.cells[v+Dk]!==this._cellColorResolver.result.bg||this._model.cells[v+Ok]!==this._cellColorResolver.result.fg||this._model.cells[v+kk]!==this._cellColorResolver.result.ext)&&(C=!0,h.length>1&&(g|=voe),this._model.cells[v]=g,this._model.cells[v+Dk]=this._cellColorResolver.result.bg,this._model.cells[v+Ok]=this._cellColorResolver.result.fg,this._model.cells[v+kk]=this._cellColorResolver.result.ext,_=r.getWidth(),this._glyphRenderer.value.updateCell(y,a,g,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,h,_,i),l)){for(r=this._workCell,y++;y<=f;y++)b=(a*n.cols+y)*Ek,this._glyphRenderer.value.updateCell(y,a,0,0,0,0,ID,0,0),this._model.cells[b]=0,this._model.cells[b+Dk]=this._cellColorResolver.result.bg,this._model.cells[b+Ok]=this._cellColorResolver.result.fg,this._model.cells[b+kk]=this._cellColorResolver.result.ext;y--}}C&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){!this._charSizeService.width||!this._charSizeService.height||(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(e,t){this._canvas.width===e&&this._canvas.height===t||(this._canvas.width=e,this._canvas.height=t,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){let e=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:e,end:e})}},ese=class extends FO{constructor(e,t,n){super(),this.content=0,this.combinedData=``,this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=n}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw Error(`not implemented`)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}};function hA(e,t,n=0){return Math.max(Math.min(e,t),n)}var gA=`di$target`,_A=`di$dependencies`,vA=new Map;function yA(e){if(vA.has(e))return vA.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);tse(t,e,r)};return t._id=e,vA.set(e,t),t}function tse(e,t,n){t[gA]===t?t[_A].push({id:e,index:n}):(t[_A]=[{id:e,index:n}],t[gA]=t)}yA(`BufferService`),yA(`CoreMouseService`),yA(`CoreService`),yA(`CharsetService`),yA(`InstantiationService`),yA(`LogService`);var nse=yA(`OptionsService`);yA(`OscLinkService`),yA(`UnicodeService`),yA(`DecorationService`);var rse={trace:0,debug:1,info:2,warn:3,error:4,off:5},ise=`xterm.js: `,bA=class extends DD{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),ase=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=rse[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]==`function`&&(e[t]=e[t]())}_log(e,t,n){this._evalLazyOptionalParams(n),e.call(console,(this._optionsService.options.logger?``:ise)+t,...n)}trace(e,...t){this._logLevel<=0&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=1&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=2&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=3&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=4&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};bA=oD([sD(0,nse)],bA);var ase,ose=class extends DD{constructor(e){if(PD&&FD()<16&&!document.createElement(`canvas`).getContext(`webgl2`,{antialias:!1,depth:!1,preserveDrawingBuffer:!0}))throw Error(`Webgl2 is only supported on Safari 16 and above`);super(),this._preserveDrawingBuffer=e,this._onChangeTextureAtlas=this._register(new QO),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new QO),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new QO),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new QO),this.onContextLoss=this._onContextLoss.event}activate(e){let t=e._core;if(!e.element){this._register(t.onWillOpen(()=>this.activate(e)));return}this._terminal=e;let n=t.coreService,r=t.optionsService,i=t,a=i._renderService,o=i._characterJoinerService,s=i._charSizeService,c=i._coreBrowserService,l=i._decorationService;i._logService;let u=i._themeService;this._renderer=this._register(new $oe(e,o,s,c,n,l,r,u,this._preserveDrawingBuffer)),this._register(BO.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(BO.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(BO.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(BO.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),a.setRenderer(this._renderer),this._register(wD(()=>{if(this._terminal._core._store._isDisposed)return;let t=this._terminal._core._renderService;t.setRenderer(this._terminal._core._createRenderer()),t.handleResize(e.cols,e.rows)}))}get textureAtlas(){return this._renderer?.textureAtlas}clearTextureAtlas(){this._renderer?.clearTextureAtlas()}};function sse(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function cse(e,t,n=[]){let r=new Set(Array.isArray(n)?n:[n]),i=[];for(let n of e)e.length-i.length>=t&&!r.has(n)&&i.push(n);return i}var lse=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,xA=new Map;function SA(e){return e.clientWidth>0&&e.clientHeight>0}function CA(e){if(xA.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,e.webglAddon){try{e.webglAddon.dispose()}catch{}e.webglAddon=null}}function use(e){let t=[e],n=pe.snapshot().borrowedCardId,r=n?T.get(n):void 0;r&&t.push(r);for(let e of cse([...xA.keys()],lse,t))CA(e),e.needsWebGLReload=!0}function wA(e){e?.term&&sse({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:SA(e.termWrap)})&&EA(e,{isForced:!0})}function TA(){for(let e of xA.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{CA(e),e.needsWebGLReload=!0}}}function EA(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){xA.delete(e),xA.set(e,!0);return}e.webglAddon&&(e.webglAddon.dispose(),e.webglAddon=null,xA.delete(e)),use(e);let n=new ose;n.onContextLoss(()=>{n.dispose(),e.webglAddon=null,xA.delete(e),e.needsWebGLReload=!0});let r=e.term;if(!r)throw Error(`webgl: the terminal was disposed before the addon loaded`);r.loadAddon(n),e.webglAddon=n,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!SA(e.termWrap),xA.set(e,!0),requestAnimationFrame(()=>{e.webglAddon===n&&e.term&&e.term.refresh(0,e.term.rows-1)})}catch{e.webglAddon=null,e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,xA.delete(e)}}var dse=1024,fse=250,pse=`(max-width: 768px)`,mse=12,hse=14,gse=5e4,DA=!1;function _se(e){DA=e}var OA=!1;window.addEventListener(`blur`,()=>{OA=!0}),window.addEventListener(`focus`,()=>{OA=!1});function kA(e){let t=document.activeElement;return kT({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:OA,isPhoneLayout:vw()})}function vse(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return new TextDecoder().decode(n)}function AA(e,t){let n=(t instanceof Error?t.message:``)||String(t);console.error(`[clipboard:${e}]`,t),sg(`Clipboard ${e} failed: ${n}`)}function jA(e,t){return T.get(e)===t&&!t.dataWs}function MA(e){return e.querySelector(`:scope > .terminal-connecting`)}function yse(e){if(MA(e))return;let t=p(`div`,`terminal-connecting`);t.append(p(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function bse(e){let t=MA(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=Fp();n&&t.prepend(Pp(n,`terminal-connecting-animal`))}var NA=new Set;function xse(e){return NA.add(e),()=>NA.delete(e)}function Sse(){let e=0;for(let t of T.values())t.card.dataset.link===`connecting`&&e++;return e}function PA(e){let t=BE({hasTerminal:e.term!==null,isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:RA});if(t===`none`){delete e.card.dataset.link,FA();return}let n=t===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=t,n&&bse(e.termWrap),FA()}function FA(){for(let e of NA)e()}function IA(e,t,n,r){Jw.unregister(e),t.dataWs=null,PA(t),t._resetGridClaim?.(),setTimeout(()=>{jA(e,t)&&Qp().catch(()=>{}).then(()=>{jA(e,t)&&LA(e,t,n)})},r)}function LA(e,t,n){let r=Jp(location,em(`/terminals/${encodeURIComponent(e)}`)),i=new WebSocket(r);i.binaryType=`arraybuffer`,t.dataWs=i,PA(t);let a=!1,o={hasSeenSize:!1,lastSeq:0};Jw.register(e,(e,t)=>n.write(e,t)),i.addEventListener(`message`,r=>{if(t.dataWs!==i)return;let a=FT(r.data,o);if(a.kind===`bytes`){dh(t),Jw.enqueue(e,a.data);return}if(a.kind===`attach-size`){o.hasSeenSize=!0,o.lastSeq=a.seq,n.reset(),zE(n),t.ptySize={cols:a.cols,rows:a.rows},t._syncGrid?.();return}if(a.kind!==`size`)return;o.lastSeq=a.seq;let s={cols:a.cols,rows:a.rows};Jw.enqueueAction(e,()=>{t.ptySize=s,t._syncGrid?.()})}),i.addEventListener(`close`,()=>{if(t.dataWs!==i)return;a||$p();let r=Vp(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,IA(e,t,n,r)}),i.addEventListener(`open`,()=>{a=!0,t._dataWsRetryAttempt=0,PA(t),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===i&&zA(t)},50)})}var RA=!1;function zA(e){let t=e._inputQueue,n=e.dataWs;if(!RA&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0}}function Cse(){RA=!0;for(let e of T.values())PA(e)}function wse(){RA=!1;for(let e of T.values())PA(e),zA(e)}function BA(e){let t=O(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,IA(e,t,t.term,0),n?.close()}function VA(e,t,n){return!e||t==null||t===``?!1:(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!RA&&!e._inputQueue?.length&&e.dataWs?.readyState===WebSocket.OPEN?(e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0):e._inputQueue&&e._inputQueue.length<dse?(e._inputQueue.push(t),!0):!1)}function HA(e,t){let n=window.matchMedia?.(pse).matches?mse:hse,r=new $C({cursorBlink:DA,fontSize:n,fontFamily:cw(),theme:vT(),scrollback:gse,allowProposedApi:!0,linkHandler:QT()}),i=new Jie;r.loadAddon(i),yse(e),r.open(e),eE(r),RE(r,t.abortController.signal),t.term=r,t.fitAddon=i,CA(t);let a=null,o=null,s=!1,c=null,l=null;function u(){o!==null&&(clearTimeout(o),o=null)}function d(){if(!s)return null;let e=t.fitAddon;if(!e)return null;let n=e.proposeDimensions();return n?{cols:n.cols,rows:n.rows}:null}function f(e){if(!s||!kA(t.card)||t.dataWs?.readyState!==WebSocket.OPEN)return!1;t.dataWs.send(JSON.stringify({type:`claim`,cols:e.cols,rows:e.rows})),c=e,l=null;let n=OT({authoritative:t.ptySize??null,isActiveViewer:s,lastClaim:c});return t.card.dataset.grid=n?`following`:`exact`,!0}function p(e){u(),l=e,o=setTimeout(()=>{o=null,f(e)},fse)}function m(){l&&o===null&&f(l)}function h({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=MT({authoritative:t.ptySize??null,applied:{cols:n.cols,rows:n.rows},proposal:d(),isActiveViewer:s,isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});r.resizeTo&&n.resize(r.resizeTo.cols,r.resizeTo.rows),t.card.dataset.grid=r.isFollowing?`following`:`exact`,r.keepsPendingSettle||(u(),l=null),r.sendUnview?(c=null,t.dataWs?.send(JSON.stringify({type:`unview`}))):r.owedClaim&&(e&&f(r.owedClaim)||p(r.owedClaim))}function g(){let e=AT({authoritative:t.ptySize??null,isActiveViewer:s,isDocumentEngaged:kA(t.card),isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});e!==`none`&&(u(),e===`rebid`&&(c=null),h({isActivationEdge:!0}))}let _=new ResizeObserver(()=>{a===null&&(a=requestAnimationFrame(()=>{a=null,h()}))});_.observe(e),t.resizeObserver=_,t._syncGrid=h,t._resetGridClaim=()=>{u(),l=jT({isActiveViewer:s,lastClaim:c,owedClaim:l}),c=null},t._retryOwedGridClaim=m,t._syncGridOnEngagementEdge=g,t._isActiveViewer=()=>s,t._setActiveViewer=e=>{s!==e&&(s=e,u(),l=null,e&&wA(t),h({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{OA=!1,g()},{signal:t.abortController.signal}),EA(t);let v=null;r.onScroll(()=>{v===null&&(v=requestAnimationFrame(()=>{v=null,t.term&&t.term.refresh(0,t.term.rows-1)}))}),r.parser.registerOscHandler(52,e=>{let t=e.indexOf(`;`);if(t<0)return!0;let n=e.slice(t+1);if(n===``||n===`?`)return!0;let r;try{r=vse(n)}catch(e){return AA(`osc52 decode`,e),!0}if(!(document.hasFocus()&&navigator.userActivation?.isActive!==!1))return!0;let i=ie(r);return i&&i.catch(e=>{AA(`osc52 write`,e)}),!0}),r.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`)return!0;if(document.body.dataset.activeView===`focus`&&Mw(e,zw))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&r.hasSelection()){let e=r.getSelection();r.clearSelection();let t=ie(e);return t&&t.catch(e=>{AA(`copy`,e)}),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(VA(t,`\x1B`),!1):!0}),Tse(e,r,t),rD(e,r)}function Tse(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,vw()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=WT(i,r.value);return i=r.value,e!==``&&(VA(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{vw()?n(e):a()},!0)};c(`keydown`,e=>{UT(e)?e.stopPropagation():(s(),queueMicrotask(o))}),c(`compositionstart`,e=>{e.stopPropagation()}),c(`compositionupdate`,e=>{e.stopPropagation()}),c(`compositionend`,e=>{e.stopPropagation(),setTimeout(s,0)}),c(`input`,e=>{if(!HT(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=BT(e.inputType);r!==``&&(VA(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}function UA(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(t=>{VA(e,t)}),Ese(e.termWrap,t,e.abortController.signal),LA(t,e,n))}function WA(e){return!!e&&Array.from(e.types).includes(`Files`)}function Ese(e,t,n){e.addEventListener(`paste`,e=>{let n=e.clipboardData;n&&n.files.length!==0&&n.getData(`text/plain`)===``&&(e.preventDefault(),e.stopPropagation(),HE(t,Array.from(n.files)))},{capture:!0,signal:n}),e.addEventListener(`dragover`,e=>{WA(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},{signal:n}),e.addEventListener(`drop`,e=>{WA(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),HE(t,Array.from(e.dataTransfer.files)))},{capture:!0,signal:n})}function GA(e,t){e.term||(HA(e.termWrap,e),UA(e,t))}function KA(e){e?._syncGridOnEngagementEdge?.()}function qA(e,t){if(!e)return;GA(e,t),wA(e);let n=e.term;n&&(n.refresh(0,n.rows-1),KA(e))}function JA(e,t,n){e&&(n&&GA(e,t),e._setActiveViewer?.(n))}var Dse=`conversation:`,Ose=1e4,kse=48,Ase=4e3,jse=1;function Mse(e){return e.conversationApproval!==null||m_(e.currentState,e.pendingPromptKind)}function YA(e,t,n,r,i=0){let a=n[i];a?setTimeout(()=>{O(e)===t?i>0&&Mse(t)?r(`stopped-by-prompt`):VA(t,a.data)?YA(e,t,n,r,i+1):r(`unreachable`):r(`unreachable`)},a.delayBeforeMs):r(`sent`)}function Nse({signal:e,sendControl:t,showTerminal:n}){let r=p(`div`,`conversation-face`);r.hidden=!0;let i=p(`div`,`conversation-log`);i.setAttribute(`role`,`log`),i.setAttribute(`aria-live`,`polite`);let o=p(`p`,`conversation-empty`,`No conversation yet. Messages appear here as the agent works.`),s=p(`div`,`conversation-approval`);s.hidden=!0;let c=p(`p`,`conversation-bridge-note`,`Restart this Codex session to connect it to the conversation view. Until then, use the terminal.`);c.hidden=!0;let l=p(`p`,`conversation-bridge-note`,`The session trace is unavailable, so there is nothing to show here. Use the terminal.`);l.hidden=!0;let u=p(`form`,`conversation-composer`),d=p(`textarea`,`conversation-input`);d.rows=2,d.placeholder=`Message the agent`,d.setAttribute(`aria-label`,`Message the agent`);let f=p(`div`,`conversation-composer-actions`),m=p(`span`,`conversation-status`);m.setAttribute(`role`,`status`);let h=p(`button`,`conversation-stop`,`Stop`);h.type=`button`,h.title=`Interrupt the current turn (Esc)`;let g=p(`button`,`conversation-terminal`,`Terminal`);g.type=`button`;let _=p(`button`,`conversation-send`,`Send`);_.type=`submit`,f.append(m,g,h,_),u.append(d,f),r.append(i,l,c,s,u);let v=null,y=[],b=0,ee=!1,x=null,te=!1,ne=new Set;function S(){return v?O(v)??null:null}function re(e){m.textContent=e}function C(){x&&clearTimeout(x.timeoutHandle),x=null}function w(){if(!v||r.hidden||!l.hidden)return;if(x){te=!0;return}let e=`${Dse}${jse++}`,n=ee?b:null;t(n===null?{type:`session-trace`,id:v,requestId:e,endingAt:`tail`}:{type:`session-trace`,id:v,requestId:e,after:n})?(te=!1,x={requestId:e,after:n,timeoutHandle:setTimeout(()=>{x=null,w()},Ose)}):re(`Conversation unavailable while disconnected.`)}function ie(){return i.scrollHeight-i.scrollTop-i.clientHeight<=kse}function ae(e){let t=p(`article`,`conversation-message conversation-${e.kind}`);return e.kind===`assistant`?(t.append(rg(eg(e.text))),t):(t.append(p(`p`,`conversation-text`,e.text)),t)}function oe(e){let t=p(`details`,`conversation-work`);t.open=ne.has(e.key),t.addEventListener(`toggle`,()=>{t.open?ne.add(e.key):ne.delete(e.key)});let n=p(`summary`,`conversation-work-summary`,Uie(e)||`Working`);Wie(e)&&n.classList.add(`is-running`),e.errorCount>0&&n.classList.add(`has-error`),t.append(n);let r=p(`ol`,`conversation-steps`);for(let t of e.steps){let e=p(`li`,`conversation-step`);t.isError&&e.classList.add(`has-error`);let n=p(`div`,`conversation-step-line`);n.append(p(`span`,`conversation-step-tool`,t.name),p(`span`,`conversation-step-summary`,t.summary)),e.append(n),t.output&&e.append(p(`pre`,`conversation-step-output`,t.output.slice(0,Ase))),r.append(e)}return t.append(r),t}function T(){let e=ie(),t=Hie(y).map(e=>e.kind===`work`?oe(e):ae(e));i.replaceChildren(...t.length>0?t:[o]),e&&(i.scrollTop=i.scrollHeight)}function E(e,t){let n=S();if(!n||!v||!e){re(`Unable to reach this session.`);return}let r={sent:t,unreachable:`Unable to reach this session.`,"stopped-by-prompt":`Not sent: a prompt appeared, so the message was typed but not submitted. Check the terminal.`};YA(v,n,e,e=>re(r[e]))}function D(e,n){v&&re(t({type:`conversation-approval`,id:v,requestId:e.requestId,decision:n})?`Answer sent.`:`Unable to send the answer while disconnected.`)}function se(e,t){let n=p(`button`,`conversation-approval-action`,e);return n.type=`button`,n.addEventListener(`click`,t),n}function ce(e){let t={command:`Run command?`,fileChange:`Apply file changes?`,permissions:`Grant permissions?`}[e.kind];s.append(p(`p`,`conversation-approval-title`,t),p(`pre`,`conversation-approval-summary`,e.summary));let n=p(`div`,`conversation-approval-actions`);e.isSummaryTruncated?(s.append(p(`p`,`conversation-approval-note`,`This request cannot be shown in full here. Read it in the terminal before approving it there.`)),n.append(se(`Decline`,()=>D(e,`decline`))),s.append(n)):(n.append(se(`Approve`,()=>D(e,`accept`)),se(`Approve for session`,()=>D(e,`acceptForSession`)),se(`Decline`,()=>D(e,`decline`))),s.append(n))}function le(){s.append(p(`p`,`conversation-approval-title`,`Claude Code is waiting on a prompt`)),s.append(p(`p`,`conversation-approval-note`,`Read and answer it in the terminal.`));let e=p(`div`,`conversation-approval-actions`);e.append(se(`Open terminal`,()=>n())),s.append(e)}function ue(){let e=S();s.replaceChildren();let t=e?.conversationApproval??null,n=e?m_(e.currentState,e.pendingPromptKind):!1,r=e?.agent===`codex`&&!e.hasConversationBridge;c.hidden=!r,s.hidden=!t&&!n,_.disabled=!s.hidden||r,e&&(t?ce(t):n&&(e.agent===`claude-code`?le():s.append(p(`p`,`conversation-approval-note`,`The agent is waiting on a prompt. Answer it in the terminal.`))))}function de(){let e=S();h.disabled=e?.currentState!==a.RUNNING}u.addEventListener(`submit`,e=>{if(e.preventDefault(),_.disabled)return;let t=Lie(S()?.agent,d.value);t&&(d.value=``,E(t,`Sent.`))},{signal:e}),d.addEventListener(`keydown`,e=>{e.key!==`Enter`||e.shiftKey||e.isComposing||(e.preventDefault(),u.requestSubmit())},{signal:e}),h.addEventListener(`click`,()=>E(Rie(S()?.agent),`Interrupt sent.`),{signal:e}),g.addEventListener(`click`,()=>n(),{signal:e});function fe(e){v!==e&&(v=e,y=[],b=0,ee=!1,ne.clear(),C(),re(``)),r.hidden=!1,l.hidden=!0,T(),me(),w()}function pe(){r.hidden=!0,C()}function me(){r.hidden||(ue(),de())}function he(e){if(!x||e.requestId!==x.requestId)return!1;let t=x;if(C(),e.id!==v)return!0;let n=t.after!==null&&e.start===t.after&&!e.reset;return t.after!==null&&!n?(ee=!1,y=[],w(),!0):(y=Gie(t.after===null?[...e.records]:[...y,...e.records]),b=e.next,ee=!0,T(),te&&w(),!0)}function ge(e){return!x||e.requestId!==x.requestId?!1:(C(),te=!1,l.hidden=!1,!0)}function _e(e){e!==v||r.hidden||(l.hidden=!0,w())}return{el:r,show:fe,hide:pe,refresh:me,applyTraceResponse:he,applyTraceError:ge,applyTraceChanged:_e}}function XA(e){return String(e).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/"/g,`"`).replace(/'/g,`'`)}function ZA(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function Pse(e,t){return e||ZA(t)>0}var Fse={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},QA=null,$A=!1,ej=!1,tj=null,nj=null,rj=null,ij=`—`;function aj(e){return e==null?ij:rh(e,`GB`)}function oj(e){return e==null?ij:th(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function Ise(){let e=p(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=p(`button`,`health-summary`);t.type=`button`,t.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-controls`,`health-detail`);let n=p(`div`,`health-detail`);return n.id=`health-detail`,n.hidden=!0,t.addEventListener(`click`,()=>{ej=!ej,e.dataset.expanded=String(ej),t.setAttribute(`aria-expanded`,String(ej)),n.hidden=!ej,ej&&(U({type:`request-health-snapshot`}),cj())}),e.append(t,n),tj=e,nj=t,rj=n,e}function sj(){if(!nj||!QA)return;let e=QA,t=ZA(e.anomalies);nj.innerHTML=`
|
|
183
|
-
<span class="health-chev" aria-hidden="true">${ej?`▼`:`▲`}</span>
|
|
184
|
-
<span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${aj(e.process.heapUsed)}</span>
|
|
185
|
-
<span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${aj(e.process.rss)}</span>
|
|
186
|
-
<span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${aj(e.process.external)}</span>
|
|
187
|
-
<span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
|
|
188
|
-
<span class="health-stat" title="Sessions: alivePty / sleeping / total"><span class="health-stat-label">Sess</span> ${e.sessions.alivePty}/${e.sessions.sleeping}/${e.sessions.total}</span>
|
|
189
|
-
<span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
|
|
190
|
-
<span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${oj(e.uptimeSeconds)}</span>
|
|
191
|
-
${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
|
|
192
|
-
`}function cj(){if(!rj||!QA)return;let e=QA,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(ZA(i)>0){let e=[];i.listenerMismatch&&e.push(`Listener count mismatch: data WS listener leaked or missing`),i.orphanPty&&e.push(`Orphan PTY: session has live PTY but state is DONE/FAILED/DORMANT`),i.destroyedReachable&&e.push(`Destroyed session still reachable in sessions map`),a=`
|
|
193
|
-
<div class="health-section health-section-warn">
|
|
194
|
-
<div class="health-section-title">⚠ Anomalies</div>
|
|
195
|
-
${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
|
|
196
|
-
</div>
|
|
197
|
-
`}let o=r.list.map(e=>{let t=[];e.sleeping&&t.push(`sleeping`),e.autoKilled&&t.push(`autoKilled`),e.destroyed&&t.push(`destroyed`),e.pendingRestart&&t.push(`pendingRestart`);let n=Object.entries(e.timers).filter(([,e])=>e).map(([e])=>e).join(`,`)||`none`;return`
|
|
198
|
-
<tr>
|
|
199
|
-
<td>${XA(e.name)}</td>
|
|
200
|
-
<td class="health-mono">${Fse[e.state]||e.state}</td>
|
|
201
|
-
<td class="health-mono">${e.hasPty?e.ptyPid:ij}</td>
|
|
202
|
-
<td class="health-mono">${aj(e.outputBufferBytes)}</td>
|
|
203
|
-
<td class="health-mono">${e.outputBufferEntries}</td>
|
|
204
|
-
<td class="health-mono">${e.dataListenerCount}</td>
|
|
205
|
-
<td class="health-mono health-dim">${n}</td>
|
|
206
|
-
<td class="health-mono health-dim">${t.join(` `)||``}</td>
|
|
207
|
-
</tr>
|
|
208
|
-
`}).join(``);rj.innerHTML=`
|
|
209
|
-
${a}
|
|
210
|
-
<div class="health-section">
|
|
211
|
-
<div class="health-section-title">Process</div>
|
|
212
|
-
<div class="health-grid">
|
|
213
|
-
<div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${aj(t.heapUsed)}</span></div>
|
|
214
|
-
<div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${aj(t.heapTotal)}</span></div>
|
|
215
|
-
<div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${aj(t.rss)}</span></div>
|
|
216
|
-
<div class="health-row"><span class="health-label">External</span><span class="health-mono">${aj(t.external)}</span></div>
|
|
217
|
-
<div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${aj(t.arrayBuffers)}</span></div>
|
|
218
|
-
<div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
|
|
219
|
-
<div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${oj(e.uptimeSeconds)}</span></div>
|
|
220
|
-
</div>
|
|
221
|
-
</div>
|
|
222
|
-
|
|
223
|
-
<div class="health-section">
|
|
224
|
-
<div class="health-section-title">WebSockets</div>
|
|
225
|
-
<div class="health-grid">
|
|
226
|
-
<div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
|
|
227
|
-
<div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
|
|
228
|
-
<div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
|
|
229
|
-
</div>
|
|
230
|
-
</div>
|
|
231
|
-
|
|
232
|
-
<div class="health-section">
|
|
233
|
-
<div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY · ${r.sleeping} sleeping)</div>
|
|
234
|
-
<div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${aj(r.totalOutputBufferBytes)}</div>
|
|
235
|
-
<table class="health-table">
|
|
236
|
-
<thead>
|
|
237
|
-
<tr>
|
|
238
|
-
<th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
|
|
239
|
-
</tr>
|
|
240
|
-
</thead>
|
|
241
|
-
<tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
|
|
242
|
-
</table>
|
|
243
|
-
</div>
|
|
244
|
-
`}function lj(){if(!tj)return;let e=Pse($A,QA?.anomalies),t=tj.hidden;tj.hidden=!e,e&&t&&QA&&(sj(),ej&&cj())}function Lse(e){$A=e,lj()}function Rse(e){if(tj)return tj;let t=Ise();return e.appendChild(t),lj(),t}function zse(e){QA=e,lj(),tj&&!tj.hidden&&(sj(),ej&&cj())}function uj(e){return e.replace(/\r\n?/g,`
|
|
245
|
-
`).split(`
|
|
246
|
-
`)}function dj(e){return{kind:`unchanged`,text:e}}function Bse(e){return{kind:`skipped`,text:`${e} unchanged lines`}}function fj(e,t){return e.length<=7?e.map(t):[...e.slice(0,3).map(t),Bse(e.length-6),...e.slice(e.length-3).map(t)]}function Vse(e){return e}function Hse(e){let t=[],n=0;for(;n<e.length;){if(e[n].kind!==`unchanged`){t.push(e[n]),n++;continue}let r=n;for(;r<e.length&&e[r].kind===`unchanged`;)r++;t.push(...fj(e.slice(n,r),Vse)),n=r}return t}function Use(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return r}function Wse(e,t,n){let r=Math.min(e.length,t.length)-n,i=0;for(;i<r&&e[e.length-1-i]===t[t.length-1-i];)i++;return i}function Gse(e,t){let n=e.length,r=t.length;if(n===0)return t.map(e=>({kind:`added`,text:e}));if(r===0)return e.map(e=>({kind:`removed`,text:e}));let i=r+1,a=new Int32Array((n+1)*i);for(let o=n-1;o>=0;o--)for(let n=r-1;n>=0;n--){let r=o*i+n;a[r]=e[o]===t[n]?a[r+i+1]+1:Math.max(a[r+i],a[r+1])}let o=[],s=0,c=0;for(;s<n&&c<r;)e[s]===t[c]?(o.push(dj(e[s])),s++,c++):a[(s+1)*i+c]>=a[s*i+c+1]?(o.push({kind:`removed`,text:e[s]}),s++):(o.push({kind:`added`,text:t[c]}),c++);for(;s<n;)o.push({kind:`removed`,text:e[s]}),s++;for(;c<r;)o.push({kind:`added`,text:t[c]}),c++;return o}function Kse(e,t){let n=uj(e),r=uj(t),i=Use(n,r),a=Wse(n,r,i),o=n.slice(i,n.length-a),s=r.slice(i,r.length-a);return o.length+s.length>2e3?{lines:[],isTooLarge:!0}:{lines:Hse([...fj(n.slice(0,i),dj),...Gse(o,s),...fj(n.slice(n.length-a),dj)]),isTooLarge:!1}}var qse=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function pj(e){return e===`approve`||e===`approve-accept-edits`}function mj(e){return(e.state===`decided`||e.state===`closed`)&&pj(e.lastDecision)}function Jse(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&mj(n)}function hj(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function Yse(e){let t=hj(e.state,e.selectedAgentId);return t?e.selectedRevision&&t.revisions.some(t=>t.revision===e.selectedRevision)?e.selectedRevision:t.revisions.at(-1)?.revision??null:null}function gj(e,t){return hj(e,t)?.openRevision?.revision??null}function _j(e,t,n){if(n===null)return null;let r=hj(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function vj(e,t){let n=t-e;return Number.isFinite(n)?eh(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function yj(e,t,n){return t!==null&&t.state===`open`&&t.openRevision!==null&&t.openRevision.revision===n&&e.body!==null&&e.isConnected&&e.isDraft!==!0&&!e.isDecisionInFlight}function Xse(e,t,n){let r=yj(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return qse.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function Zse(e,t){return e.openRevision===null?t!==null&&e.approvedRevision===t?`Approved`:e.state===`released`?`Answer in the terminal`:e.state===`decided`?e.lastDecision===`revise`?`Feedback sent, waiting for the next revision`:`Approved`:`Closed`:e.openRevision.revision===t?``:`Rev ${e.openRevision.revision} is the one open`}function Qse(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function $se(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+Ru}function ece(e){let t=e.plan;if(t!==void 0&&t.length===0)return`the edited plan is empty, so nothing was sent`;if(t!==void 0&&new TextEncoder().encode(t).byteLength>524288)return`the edited plan is over the plan size cap, so nothing was sent`;let n=e.comments??[];return n.length>40?`more than 40 section comments are pending, so nothing was sent`:n.find(e=>e.comment.length>4e3||(e.heading?.length??0)>4e3)?`a section comment is over ${tl} characters, so nothing was sent`:Qse(e)>1e4?`the feedback composes more than the ${Mne} characters the hook reply carries, so nothing was sent`:$se(e)>zu?`the decision is larger than one control frame carries, so nothing was sent`:null}function tce(e){return e?`, ${e}`:``}function nce(e,t,n){if(!e.isConnected)return`Disconnected`;if(!t||n===null)return`No plan revision selected`;if(e.isDecisionInFlight)return`Sending your decision`;if(e.body===null)return`Loading`;if(e.isDraft===!0)return`Draft`;let r=Zse(t,n);if(r)return r;if(e.hasUnsavedComment===!0)return`Save or cancel the open comment first.`;let i=e.pendingCommentCount??0;return i<=0?``:i===1?`1 comment to send. Remove it to approve.`:`${i} comments to send. Remove them to approve.`}function rce(e,t,n){let r=nce(e,t,n);return r?`${r}${tce(e.problem)}`:e.problem??``}function bj(e){let t=hj(e.state,e.selectedAgentId),n=Yse(e);return{tabs:e.state.reviews.map(e=>({agentId:e.agentId,label:e.agentId===null?`Main`:e.agentType||`Agent`,selected:e===t})),revisions:(t?.revisions??[]).map(e=>({revision:e.revision,label:`Rev ${e.revision}`,isOpen:e.revision===t?.openRevision?.revision,receivedAt:e.receivedAt,selected:e.revision===n})),selectedAgentId:t?.agentId??null,selectedRevision:n,previousRevision:_j(e.state,t?.agentId??null,n),status:rce(e,t,n),actions:Xse(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:_j(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:yj(e,t,n)}]}}function ice(e,t){let n=e.reviews.findIndex(e=>e.agentId===t.agentId),r=[...(n===-1?null:e.reviews[n])?.revisions??[]],i=r.findIndex(e=>e.revision===t.revision),a={revision:t.revision,receivedAt:t.receivedAt,chars:t.chars,title:t.title};r[i===-1?r.length:i]=a,r.sort((e,t)=>e.revision-t.revision);let o={agentId:t.agentId,agentType:t.agentType,revisions:r,state:t.state,openRevision:t.state===`open`?{revision:t.revision,since:t.receivedAt}:null,approvedRevision:t.approvedRevision,lastDecision:t.lastDecision},s=[...e.reviews];return s[n===-1?s.length:n]=o,{reviews:s}}function ace({headingOffsets:e,scrollTop:t,isScrolledToEnd:n,readingLineOffset:r}){if(e.length===0)return null;if(n)return e.length-1;let i=t+r,a=0;for(let t=0;t<e.length&&!(e[t]>i);t++)a=t;return a}var oce=12,sce=8,cce=``,lce=48,xj=new Map;function Sj(e,t){return JSON.stringify([e,t])}function Cj(e){return e.id??cce}function uce(e,t){let n=xj.get(e);n||(n=new Map,xj.set(e,n));let r=Sj(t.agentId,t.revision);for(n.delete(r),n.set(r,t.plan);n.size>oce;){let e=n.keys().next().value;if(typeof e!=`string`)break;n.delete(e)}}function dce(e){xj.delete(e)}function wj(e,t,n){return!e||n===null?null:xj.get(e)?.get(Sj(t,n))??null}function fce(e){let t=p(`section`,`plan-face`);t.hidden=!0;let n=p(`header`,`plan-head`),r=p(`select`,`plan-heading-picker`);r.setAttribute(`aria-label`,`Plan section`);let i=p(`div`,`plan-view-panel`),a=p(`div`,`plan-sheet-head`),o=p(`button`,`plan-control plan-sheet-close`,`×`);o.type=`button`,o.setAttribute(`aria-label`,`Close`),a.append(p(`span`,null,`View`),o);let s=p(`div`,`plan-view-group plan-author-group`),c=p(`div`,`plan-tabs`);c.setAttribute(`role`,`tablist`),c.setAttribute(`aria-label`,`Plan author`),s.append(p(`span`,`plan-sheet-label`,`Author`),c);let l=p(`div`,`plan-view-group plan-revision-group`),u=p(`div`,`plan-revision-stepper`),d=p(`button`,`plan-control plan-revision-previous`,`‹`);d.type=`button`,d.setAttribute(`aria-label`,`Previous revision`);let f=p(`button`,`plan-control plan-revision-next`,`›`);f.type=`button`,f.setAttribute(`aria-label`,`Next revision`);let m=p(`span`,`plan-revision-label`),h=p(`span`,`plan-revision-age`);u.append(d,m,f,h);let g=p(`div`,`plan-revision-list`);g.setAttribute(`role`,`radiogroup`),g.setAttribute(`aria-label`,`Revision`),l.append(p(`span`,`plan-sheet-label`,`Revision`),u,g);let _=p(`div`,`plan-view-group plan-mode-group`),v=p(`div`,`plan-modes`);v.setAttribute(`role`,`radiogroup`),v.setAttribute(`aria-label`,`Show`),_.append(p(`span`,`plan-sheet-label`,`Show`),v);let y=p(`div`,`plan-head-spacer`),b=p(`div`,`plan-draft-notice`),ee=p(`span`,`plan-draft-dot`);ee.setAttribute(`aria-hidden`,`true`);let x=p(`button`,`plan-control plan-draft-chip`,`Peek draft`);x.type=`button`,b.append(ee,x),i.append(a,s,l,_,y,b);let te=p(`button`,`plan-control plan-view-button`,`View`);te.type=`button`,te.setAttribute(`aria-haspopup`,`dialog`),te.setAttribute(`aria-expanded`,`false`);let ne=p(`button`,`plan-control plan-minimize-button`,`Minimize`);ne.type=`button`,ne.addEventListener(`click`,e.showTerminal),n.append(r,i,te,ne);let S=p(`div`,`plan-sheet-backdrop`),re=p(`div`,`plan-body-layout`),C=p(`nav`,`plan-heading-rail`);C.setAttribute(`aria-label`,`Plan sections`);let w=p(`article`,`plan-reading-column`);re.append(C,w);let ie=p(`textarea`,`plan-editor`);ie.setAttribute(`aria-label`,`Plan markdown`),ie.spellcheck=!1;let ae=p(`footer`,`plan-action-bar`),oe=p(`span`,`plan-status`);oe.setAttribute(`role`,`status`);let T=p(`div`,`plan-decision-slot`),E=p(`label`,`plan-accept-edits`),D=p(`input`,`plan-accept-edits-checkbox`);D.type=`checkbox`,E.append(D,p(`span`,null,`Accept edits`)),T.append(E,oe),ae.append(T);let O=new Map;for(let[e,t]of[[`terminal`,`Answer in terminal`],[`revise`,`Send feedback`],[`approve`,`Approve`]]){let n=p(`button`,`plan-action`,t);n.type=`button`,n.dataset.decision=e,n.addEventListener(`click`,()=>{n.disabled||rt(e)}),O.set(e,n),ae.append(n)}t.append(n,re,ae,S);let se=null,ce={reviews:[]},le=null,ue=null,de=!0,fe=``,me=``,he=``,ge=``,_e=!1,ve=null,ye=!1,be=null,xe=!1,Se=!1,Ce=null,we=[],Te=null,Ee=null,De=new Map,Oe=new Map,ke=new Map,Ae=[],je=!1,Me=null,Ne=!1;function Pe(e,t=!0){Ne=e,i.replaceChildren(...e?[a,_,l,s,b,y]:[a,s,l,_,y,b]),c.setAttribute(`role`,e?`radiogroup`:`tablist`);for(let t of c.querySelectorAll(`button`)){let n=t.getAttribute(`aria-selected`)===`true`||t.getAttribute(`aria-checked`)===`true`;t.setAttribute(`role`,e?`radio`:`tab`),t.removeAttribute(e?`aria-selected`:`aria-checked`),t.setAttribute(e?`aria-checked`:`aria-selected`,String(n))}i.dataset.open=String(e),S.dataset.open=String(e),te.setAttribute(`aria-expanded`,String(e)),re.inert=e,ae.inert=e,r.inert=e,te.inert=e,ne.inert=e,e?(i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-label`,`Plan view`),i.setAttribute(`aria-modal`,`true`),o.focus()):(i.removeAttribute(`role`),i.removeAttribute(`aria-modal`),t&&te.focus())}function Fe(e){e.addEventListener(`keydown`,t=>{let n={ArrowLeft:-1,ArrowUp:-1,ArrowRight:1,ArrowDown:1}[t.key];if(n===void 0&&t.key!==`Home`&&t.key!==`End`)return;let r=[...e.querySelectorAll(`button:not(:disabled)`)];if(r.length===0)return;t.preventDefault();let i=(r.indexOf(document.activeElement)+(n??0)+r.length)%r.length;t.key===`Home`&&(i=0),t.key===`End`&&(i=r.length-1);let a=Ne;r[i].click(),!(a&&e!==v)&&(e===v||!Ne)&&e.querySelector(`[aria-checked="true"], [aria-selected="true"]`)?.focus()})}let Ie=pe.subscribe((e,t)=>{t.includes(`layout`)&&Ne&&Pe(!1,!1)});e.signal?.addEventListener(`abort`,Ie,{once:!0}),Fe(v),Fe(c),Fe(g),te.addEventListener(`click`,()=>Pe(!Ne)),o.addEventListener(`click`,()=>Pe(!1)),S.addEventListener(`click`,()=>Pe(!1)),i.addEventListener(`keydown`,e=>{if(!Ne)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Pe(!1);return}if(e.key!==`Tab`)return;let t=[...i.querySelectorAll(`button:not(:disabled)`)].filter(e=>e.getClientRects().length>0&&e.tabIndex>=0),n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())});function Le(e){w.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})}r.addEventListener(`change`,()=>Le(r.value));function Re(){je=!1;let e=Ae.map(e=>w.querySelector(`#${CSS.escape(e.dataset.headingId??``)}`)).filter(e=>e!==null),t=w.getBoundingClientRect().top-w.scrollTop,n=ace({headingOffsets:e.map(e=>e.getBoundingClientRect().top-t),scrollTop:w.scrollTop,isScrolledToEnd:w.scrollTop>0&&w.scrollTop+w.clientHeight>=w.scrollHeight-2,readingLineOffset:lce}),i=n===null?null:e[n]?.id??null;for(let e of Ae)e.dataset.headingId===i?e.setAttribute(`aria-current`,`location`):e.removeAttribute(`aria-current`);i!==null&&(r.value=i)}function ze(){je||t.hidden||Ae.length===0||(je=!0,requestAnimationFrame(Re))}w.addEventListener(`scroll`,ze,{passive:!0});function Be(){Me=null,ye=!1,xe=!1,Se=!1,Ce=null}function Ve(t){Te=t,e.reportProblem(t),Ot()}function He(e){ue=e,Te=null,Be(),Pe(!1,Ne),Ot()}function Ue(e){let t=ce.reviews.find(e=>e.agentId===le)?.revisions??[],n=t[t.findIndex(e=>e.revision===ue)+e];n&&He(n.revision)}d.addEventListener(`click`,()=>Ue(-1)),f.addEventListener(`click`,()=>Ue(1));function We(e,t){return`${se??``}:${e??`main`}:${t??`latest`}`}function k(){return We(le,ue)}function Ge(e,t,n){return`${e??``}:${Sj(t,n??0)}`}function Ke(){return Ge(se,le,ue)}function qe(){return Oe.get(Ke())??null}function Je(){return qe()?.size??0}function Ye(){if(Me===null)return!1;let e=Oe.get(Me.target.bucketKey)?.get(Me.target.sectionSlot)??``;return Me.field.value.trim()!==e}function Xe(e){let t=Oe.get(e);if(!t)return[];let n=[];for(let e of we){let r=t.get(Cj(e));r&&n.push({heading:e.heading,comment:r})}return n}function Ze(e,t){let n=t.trim(),r=Oe.get(e.bucketKey)??new Map;Oe.set(e.bucketKey,r),n.length===0&&r.delete(e.sectionSlot),n.length>0&&r.set(e.sectionSlot,n),r.size===0&&Oe.delete(e.bucketKey),Ot()}function Qe(e){if(Se||_e)return;let t={bucketKey:Ke(),sectionSlot:Cj(e)},n=p(`div`,`plan-comment-composer`),r=p(`label`,`plan-comment-label`,`Comment on ${e.heading??`Introduction`}`),i=p(`textarea`,`plan-comment-input`);i.maxLength=tl,i.value=Oe.get(t.bucketKey)?.get(t.sectionSlot)??``,r.append(i);let a=p(`div`,`plan-comment-actions`),o=p(`button`,`plan-control plan-comment-cancel`,`Cancel`);o.type=`button`;let s=p(`button`,`plan-control plan-comment-save`,`Save comment`);s.type=`button`,a.append(o,s),n.append(r,a);let c={target:t,element:n,field:i};Me=c,i.addEventListener(`input`,Dt),o.addEventListener(`click`,()=>{Me===c&&(Me=null,Ot())}),s.addEventListener(`click`,()=>{Me===c&&(Me=null),Ze(t,i.value)}),Ot(),i.focus()}function $e(e){let t={bucketKey:Ke(),sectionSlot:Cj(e)};if(Me?.target.bucketKey===t.bucketKey&&Me.target.sectionSlot===t.sectionSlot)return Me.element;let n=qe()?.get(t.sectionSlot);if(!n)return null;let r=p(`div`,`plan-comment-card`),i=p(`div`,`plan-comment-head`),a=p(`button`,`plan-control plan-comment-edit`,`Edit`);a.type=`button`,a.addEventListener(`click`,()=>Qe(e));let o=p(`button`,`plan-control plan-comment-remove`,`Remove`);return o.type=`button`,o.disabled=_e,a.disabled=_e,o.addEventListener(`click`,()=>Ze(t,``)),i.append(p(`span`,`plan-comment-label`,`Your comment`),a,o),r.append(i,p(`p`,`plan-comment-text`,n)),r}function et(t,n,r={}){if(!se||n.revision===null||_e)return!1;let i=ece(r);if(i!==null)return Ve(i),!1;let a={agentId:n.agentId,revision:n.revision,decision:t,...r};return e.sendDecision(se,a)?(Te=null,_e=!0,ve=pj(t)?n:null,Ot(),!0):!1}function tt(e){if(!ye)return{};let t=ie.value;return t===wj(se,e.agentId,e.revision)?{}:{plan:t}}function nt(e){let t=Ge(se,e.agentId,e.revision),n=Xe(t);n.length!==0&&et(`revise`,e,{comments:n})&&e.revision!==null&&(Ee={bucketKey:t,agentId:e.agentId,revision:e.revision},Ot())}function rt(e){let t={agentId:le,revision:ue};e===`revise`?nt(t):et(e===`approve`&&!E.hidden&&D.checked?`approve-accept-edits`:e,t,tt(t))}function it(e){Me=null,ye=e===`edit`,xe=e===`changes`,ye&&be!==Ke()&&(ie.value=wj(se,le,ue)??``,be=Ke()),Te=null,Ot()}function at(e){return`${e.kind}:${We(e.agentId,e.revision)}`}function ot(e){for(ke.set(at(e),e);ke.size>sce;){let e=ke.keys().next().value;if(typeof e!=`string`)break;ke.delete(e)}}function st(e,t){return e.agentId===t.agentId?e.kind===`draft`?t.revision===0:t.revision===0?!1:e.revision===null||e.revision===t.revision:!1}function ct(e){for(let[t,n]of ke)if(st(n,e))return ke.delete(t),n;return null}function lt(){for(let[e,t]of ke)if(t.kind===`draft`)return ke.delete(e),t;return null}function ut(){if(ke.size!==1)return null;let e=ke.entries().next().value;return e?(ke.delete(e[0]),e[1]):null}function dt(){if(!se)return;let t=k();fe!==t&&e.requestPlan(se,le,ue??void 0)&&(fe=t,ot({kind:`selection`,agentId:le,revision:ue}))}function ft(){t.hidden||dt()}function pt(){return _j(ce,le,ue)}function mt(t){if(!se)return;let n=We(le,t);he!==n&&e.requestPlan(se,le,t)&&(he=n,ot({kind:`diff-base`,agentId:le,revision:t}))}function ht(){if(!se)return;let t=`${se}:${le??`main`}`;ge!==t&&e.requestDraft(se,le)&&(ge=t,ot({kind:`draft`,agentId:le,revision:null}))}function gt(e,t){return`${e??``}:${t??``}`}function _t(){return ce.reviews.find(e=>e.agentId===le)?.revisions.find(e=>e.revision===ue)?.receivedAt??0}function vt(){let e=De.get(gt(se,le));return e!==void 0&&e>_t()}function yt(){Se?(Be(),Ot()):(Me=null,ye=!1,xe=!1,ht(),Ot())}x.addEventListener(`click`,yt);function bt(e){C.replaceChildren(),r.replaceChildren(),Ae=[];for(let t of e){let e=t.id??`plan-introduction`,n=t.heading??`Introduction`,i=p(`button`,`plan-heading-link`,n);i.type=`button`,i.dataset.level=String(t.level),i.dataset.headingId=e,i.title=n,i.dataset.commented=String(qe()?.has(Cj(t))===!0),Ae.push(i),i.addEventListener(`click`,()=>Le(e)),C.append(i);let a=p(`option`,null,n);a.value=e,r.append(a)}}function xt(e){let t=pt();if(t===null){w.append(p(`p`,`plan-loading`,`This is the first revision, so there is nothing to diff`));return}let n=wj(se,le,t);if(n===null){w.append(p(`p`,`plan-loading`,`Loading the previous revision`)),mt(t);return}let r=Kse(n,e);r.isTooLarge?(w.append(p(`p`,`plan-loading`,`This diff is too large to show, so the newer revision stands alone`)),w.append(rg(eg(e)))):w.append(Jre(r))}function St(e){if(w.replaceChildren(),ye){bt(we),w.append(ie);return}if(e===null){if(we=[],bt(we),me===k()){w.append(p(`p`,`plan-loading`,`This plan revision could not be loaded`));return}w.append(p(`p`,`plan-loading`,`Loading plan`)),dt();return}let t=eg(e);if(we=Wre(t),bt(we),xe){xt(e);return}if(Se){w.append(rg(t));return}let n=qe();w.append(Kre(we,{hasComment:e=>n?.has(Cj(e))===!0,isComposing:e=>Me?.target.bucketKey===Ke()&&Me.target.sectionSlot===Cj(e),onComment:Qe,attachmentFor:$e}))}function Ct(e){s.hidden=e.tabs.length<2,c.replaceChildren();for(let t of e.tabs){let e=p(`button`,`plan-tab`,t.label);e.type=`button`,e.setAttribute(`role`,Ne?`radio`:`tab`),e.setAttribute(Ne?`aria-checked`:`aria-selected`,String(t.selected)),e.tabIndex=t.selected?0:-1,e.addEventListener(`click`,()=>{le=t.agentId,ue=null,Te=null,fe=``,me=``,he=``,ge=``,Be(),Pe(!1,Ne),Ot()}),c.append(e)}}function wt(){return Se?Ce:wj(se,le,ue)}function Tt(e){return bj({state:ce,selectedAgentId:le,selectedRevision:ue,body:e,isConnected:de,isDecisionInFlight:_e,isDraft:Se,pendingCommentCount:Je(),hasUnsavedComment:Ye(),problem:Te})}function Et(e){oe.textContent=e.status,oe.hidden=e.status.length===0;let t=e.actions.some(e=>e.kind===`approve`&&e.enabled);E.hidden=!t,D.disabled=!t;for(let t of e.actions){let e=O.get(t.kind);e&&(e.disabled=!t.enabled)}}function Dt(){Et(Tt(wt()))}function Ot(){let e=Ne&&i.contains(document.activeElement),t=bj({state:ce,selectedAgentId:le,selectedRevision:ue,body:null,isConnected:de});(le!==t.selectedAgentId||ue!==t.selectedRevision)&&Be(),le=t.selectedAgentId,ue=t.selectedRevision,be!==Ke()&&(be=null);let n=wt(),a=Tt(n);Ct(a);let s=a.revisions.findIndex(e=>e.selected),c=a.revisions[s],l=Date.now();u.hidden=a.revisions.length<2,m.textContent=`Rev ${s+1} of ${a.revisions.length}`,h.textContent=c?vj(c.receivedAt,l):``,d.disabled=s<=0,f.disabled=s<0||s>=a.revisions.length-1,g.replaceChildren();for(let e of[...a.revisions].reverse()){let t=p(`button`,`plan-revision-option`);t.type=`button`,t.dataset.revision=String(e.revision),t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.selected)),t.tabIndex=e.selected?0:-1,t.append(p(`span`,`plan-revision-name`,e.label),p(`span`,`plan-revision-age`,vj(e.receivedAt,l))),e.isOpen&&t.append(p(`span`,`plan-revision-open`,`OPEN`)),t.addEventListener(`click`,()=>He(e.revision)),g.append(t)}v.replaceChildren();let _=ye?`edit`:xe?`changes`:`read`,y=a.modes.find(e=>e.kind===_&&e.enabled)??a.modes[0];for(let e of a.modes){let t=p(`button`,`plan-control plan-mode`,e.label);t.type=`button`,t.dataset.mode=e.kind,t.disabled=!e.enabled,t.setAttribute(`role`,`radio`),t.setAttribute(`aria-checked`,String(e.kind===_)),t.tabIndex=e.kind===y.kind?0:-1,t.addEventListener(`click`,()=>{t.disabled||(it(e.kind),v.querySelector(`[aria-checked="true"]`)?.focus())}),v.append(t)}b.hidden=!vt()&&!Se,x.hidden=b.hidden,x.setAttribute(`aria-pressed`,String(Se)),Et(a),St(n),r.disabled=Ae.length===0,ze(),e&&!i.contains(document.activeElement)&&o.focus()}function kt(t){ve!==null&&Jse(t,ve.agentId)&&(ve=null,be=null,e.showTerminal())}function At(e){Me=null,e!==se&&(ve=null,_e=!1,Te=null,ke.clear()),Pe(!1,!1),se=e,t.hidden=!1,fe=``,me=``,Ot(),ft()}function jt(){Me=null,Pe(!1,!1),t.hidden=!0}function Mt(e,t){return t.kind!==`selection`||e.agentId!==le?!1:t.revision===null?ue===null||ue===e.revision:t.revision===ue}function A(e){e.kind===`draft`?(ge=``,Ve(`the draft could not be read, so nothing was shown`)):e.kind===`diff-base`?he=``:me=We(e.agentId,e.revision)}function Nt(e){Ee!==null&&gj(e,Ee.agentId)!==Ee.revision&&(Oe.delete(Ee.bucketKey),Ee=null)}function Pt(e){_e=!1,Ft({reviews:e.reviews});let t=e.body;if(!t){let e=ut()??lt();e!==null&&A(e);return}let n=ct(t);if(t.revision===0){if(ge=``,n===null||t.agentId!==le)return;Ce=t.plan,Se=!0}else uce(e.id,t),n!==null&&Mt(t,n)&&(le=t.agentId,ue=t.revision,fe=``,me=``)}function Ft(e){let t=gj(e,le);t!==null&&t!==gj(ce,le)&&(ue=t,Be()),Nt(e),ce=e,_e=!1,kt(e)}function It(e){let n=!1;e.state&&Ft(e.state),e.draft&&De.set(gt(e.draft.id,e.draft.agentId),e.draft.changedAt),e.decisionRefused&&(ve=null,_e=!1,Ee=null),typeof e.isConnected==`boolean`&&(n=e.isConnected&&!de,de=e.isConnected,n&&(fe=``,me=``,he=``,ge=``,_e=!1)),e.requestFailed&&(me=fe),e.response&&Pt(e.response),t.hidden||Ot(),(n||e.decisionRefused)&&ft()}return{el:t,show:At,hide:jt,update:It}}var Tj=`#plan/`;function Ej(e){return`${Tj}${encodeURIComponent(e)}`}function Dj(e){if(!e.startsWith(Tj))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var Oj=`http://www.w3.org/2000/svg`;function kj(e,t){let n=document.createElementNS(Oj,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function Aj(e,t){let n=document.createElementNS(Oj,`svg`);return n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(t)),n.setAttribute(`viewBox`,`0 0 ${e} ${t}`),n.setAttribute(`aria-hidden`,`true`),n}function pce(e){let t=new Map;for(let n of e.files){let e=n.path.split(`/`);for(let r=0;r<e.length;r++){let i=e.slice(0,r).join(`/`),a=t.get(i);a!==void 0&&a.localeCompare(n.path)<=0||t.set(i,n.path)}}return t}function mce(e,t){let n=[],r=new Set(e.files.map(e=>e.path));for(let i of e.links){let a=t.get(i.providerRepo),o=a?.firstChangedPathByDirectory.get(i.packageDir),s=o??i.importers.find(e=>r.has(e))??i.importers[0]??i.consumerManifest,c=o&&a?a.repo:e,l=i.importerCount===1?`file`:`files`,u=i.providerChangedPathCount===1?`file`:`files`,d=i.changedImporterCount===1?`file`:`files`,f=i.isLocalLink?`Linked locally (${i.versionSpec}), so ${i.providerRepo} changes reach it now.`:`Uses ${i.versionSpec} from the registry, so ${i.providerRepo} changes reach it only after a publish.`;i.providerChangedPathCount>0&&(f+=` ${i.providerRepo} changed ${i.providerChangedPathCount} ${u} in ${i.packageDir||`the repository root`}.`),i.changedImporterCount>0&&(f+=` ${i.changedImporterCount} importing ${d} changed here.`),n.push({factId:i.factId,kind:`link`,severity:6,path:s,openPath:`${c.sessionPathPrefix}${s}`,headline:`${e.name} imports ${i.packageName} from ${i.providerRepo} in ${i.importerCount} ${l}`,detail:f})}for(let t of e.collisions)n.push({factId:t.factId,kind:`collision`,severity:5,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is also changed in "${t.otherSessionName}"`,detail:`Another live session is changing this file.`});for(let t of e.coChangeGaps){let r=t.confidence>0?Math.round(t.support/t.confidence):0;n.push({factId:t.factId,kind:`co-change`,severity:4,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Usually changes with ${t.partner} (${t.support} of ${r} commits)`,detail:`${t.partner} is absent from these changes.`})}for(let t of e.untestedFiles)n.push({factId:t.factId,kind:`untested`,severity:3,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`No test reaches ${t.path}`,detail:`No dependent test was found in the import graph.`});for(let t of e.hotspots)n.push({factId:t.factId,kind:`hotspot`,severity:2,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`${t.path} is a hotspot`,detail:`${t.fixCommitCount} of its last ${t.commitCount} commits were fixes.`});for(let t of e.blastRadius)t.transitiveDependentCount<10||n.push({factId:t.factId,kind:`blast`,severity:1,path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,headline:`Wide blast radius: ${t.transitiveDependentCount} files depend on ${t.path}`,detail:`${t.directDependentCount} direct dependents; ${t.dependentTestCount} dependent tests.`});return n.sort((e,t)=>t.severity-e.severity||e.path.localeCompare(t.path)||e.factId.localeCompare(t.factId))}function hce(e,t){let n=new Map(e.blastRadius.map(e=>[e.path,e])),r=e.files.filter(e=>e.isCommitted).length;return{header:{name:e.name,fileCount:e.files.length,committedCount:r,uncommittedCount:e.files.length-r,base:e.base},subsystems:e.subsystems.map(e=>({title:e.title,fileCount:e.paths.length})),warnings:mce(e,t),files:e.files.map(t=>({path:t.path,openPath:`${e.sessionPathPrefix}${t.path}`,status:t.status,isCommitted:t.isCommitted,dependentCount:n.get(t.path)?.transitiveDependentCount??0,testCount:n.get(t.path)?.dependentTestCount??0})),error:e.error}}function gce(e){let t=new Set(e.repos.flatMap(e=>e.links.map(e=>e.providerRepo))),n=new Map;for(let r of e.repos)t.has(r.name)&&!n.has(r.name)&&n.set(r.name,{repo:r,firstChangedPathByDirectory:pce(r)});let r=e.repos.map(e=>hce(e,n));return{repos:!e.error&&r.every(e=>e.header.fileCount===0&&e.warnings.length===0&&!e.error)?[]:r,narrative:{state:e.narratorState,claims:e.narratorState===`ready`?e.narrative?.claims.map(e=>({text:e.text,factIds:e.factIds}))??[]:[],status:{disabled:null,pending:`Narrative is being prepared.`,ready:null,failed:`Narrative could not be prepared.`}[e.narratorState]},error:e.error??null}}function jj(e,t,n,r){let i=p(`button`,n);return i.type=`button`,i.title=`Open ${e} in the diff`,i.addEventListener(`click`,()=>r(t)),i}function _ce(e,t){let n=p(`section`,`review-map-repo`),r=p(`div`,`review-map-repo-head`);r.append(p(`strong`,`review-map-repo-name`,e.header.name)),n.append(r);let i=p(`div`,`review-map-summary`);if(i.append(p(`span`,``,`${e.header.committedCount} committed`)),i.append(p(`span`,``,`${e.header.uncommittedCount} uncommitted`)),i.append(p(`span`,``,`Base: ${Fs(e.header.base,{chars:8})||`unknown`}`)),n.append(i),e.error&&n.append(p(`p`,`review-map-error`,e.error)),e.subsystems.length>0){let t=p(`div`,`review-map-subsystems`);for(let n of e.subsystems)t.append(p(`span`,`review-map-chip`,`${n.title} (${n.fileCount})`));n.append(t)}if(e.warnings.length>0){n.append(p(`h3`,`review-map-label`,`Signals`));let r=p(`div`,`review-map-warnings`);for(let n of e.warnings){let e=jj(n.path,n.openPath,`review-map-warning`,t);e.dataset.severity=String(n.severity),e.dataset.kind=n.kind,e.append(p(`span`,`review-map-warning-headline`,n.headline)),e.append(p(`span`,`review-map-detail`,n.detail)),r.append(e)}n.append(r)}if(e.files.length>0){n.append(p(`h3`,`review-map-label`,`Files`));let r=p(`div`,`review-map-files`);for(let n of e.files){let e=jj(n.path,n.openPath,`review-map-file`,t);e.dataset.status=n.status,e.append(p(`span`,`review-map-file-path`,n.path)),e.append(p(`span`,`review-map-file-meta`,`${n.status} · ${n.isCommitted?`committed`:`uncommitted`} · ${n.dependentCount} dependents · ${n.testCount} tests`)),r.append(e)}n.append(r)}return n}function vce(e,t){let n=p(`div`,`review-map`);if(e.error&&n.append(p(`p`,`review-map-error`,e.error)),e.narrative.status&&n.append(p(`p`,`review-map-narrative-status`,e.narrative.status)),e.narrative.claims.length>0){let t=p(`section`,`review-map-narrative`);t.append(p(`h3`,`review-map-label`,`Narrative`));for(let n of e.narrative.claims){let e=p(`p`,`review-map-claim`,n.text);e.dataset.factIds=n.factIds.join(` `),t.append(e)}n.append(t)}for(let r of e.repos)n.append(_ce(r,t));return n}function yce(e){let t=/^@@+ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);return!Number.isFinite(n)||!Number.isFinite(r)?null:{oldStart:n,newStart:r}}function Mj(e){let t=[];if(!e)return t;let n=String(e).split(/\r?\n/),r=null,i=null,a=null,o=null,s=()=>{if(a===null)return null;let e=a;return a=e+1,e},c=()=>{if(o===null)return null;let e=o;return o=e+1,e},l=e=>{let n={path:``,oldPath:null,status:`modified`,added:0,removed:0,binary:!1,hunks:[]};t.push(n),i=null;let r=/^diff --git a\/(.+?) b\/(.+)$/.exec(e);return r&&(n.oldPath=r[1]??null,n.path=r[2]??``),n};for(let e of n)if(e.startsWith(`diff --git `))r=l(e);else{if(!r){if(!e.startsWith(`--- `)&&!e.startsWith(`@@`))continue;r=l(`diff --git a/ b/`)}if(r){if(e.startsWith(`new file mode`))r.status=`added`;else if(e.startsWith(`deleted file mode`))r.status=`deleted`;else if(e.startsWith(`rename from `))r.oldPath=e.slice(12),r.status=`renamed`;else if(e.startsWith(`rename to `))r.path=e.slice(10),r.status=`renamed`;else if(e.startsWith(`Binary files`))r.binary=!0;else if(!(e.startsWith(`index `)||e.startsWith(`similarity index`)||e.startsWith(`dissimilarity index`)||e.startsWith(`old mode`)||e.startsWith(`new mode`))){if(e.startsWith(`--- `)){if(e===`--- /dev/null`){r.status=`added`;continue}if(!r.path){let t=e.slice(4).replace(/^a\//,``);t&&t!==`/dev/null`&&(r.oldPath=r.oldPath||t)}}else if(e.startsWith(`+++ `)){if(e===`+++ /dev/null`){r.status=`deleted`;continue}if(!r.path){let t=e.slice(4).replace(/^b\//,``);t&&t!==`/dev/null`&&(r.path=t)}}else if(e.startsWith(`@@`)){i={header:e,lines:[]},r.hunks.push(i);let t=yce(e);a=t?t.oldStart:null,o=t?t.newStart:null}else if(i){if(e===``)continue;let t=e[0];if(t===`+`){i.lines.push({type:`add`,text:e.slice(1),oldLineNumber:null,newLineNumber:c()}),r.added++;continue}if(t===`-`){i.lines.push({type:`del`,text:e.slice(1),oldLineNumber:s(),newLineNumber:null}),r.removed++;continue}if(t===`\\`){i.lines.push({type:`meta`,text:e.slice(1).trim(),oldLineNumber:null,newLineNumber:null});continue}i.lines.push({type:`context`,text:t===` `?e.slice(1):e,oldLineNumber:s(),newLineNumber:c()})}}}}for(let e of t)e.path||=e.oldPath||`(unknown)`;return t}function bce(e,t,n,r){return`${e}:${r}:${n}:${t}`}function xce(e,t,n){if(!e)return[];let r=new Set;if(e.committed!==t.committed&&r.add(`committed`),e.uncommitted!==t.uncommitted&&r.add(`uncommitted`),r.size===0)return[];let i=[];for(let e of n)r.has(e.slice(0,e.indexOf(`:`)))&&i.push(e);return i}function Sce(e,t){return t.type===`del`?t.oldLineNumber===null?null:{path:e.path,line:t.oldLineNumber,side:`old`}:t.newLineNumber===null?null:{path:e.path,line:t.newLineNumber,side:`new`}}function Cce(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function Nj(e){let t=0,n=0;for(let r of e||[])t+=r.added||0,n+=r.removed||0;return{files:(e||[]).length,added:t,removed:n}}function wce({status:e,mergeReason:t,fetched:n,hasDiffError:r,hasChanges:i,hasCommits:a,canMerge:o,isWorkspace:s,live:c,effectiveBase:l}){return e===`parked`&&t===`base-diverged`?{text:`Parked: base branch diverged`,namesMergeTarget:!1}:e===`parked`?{text:`Parked: merge conflict`,namesMergeTarget:!1}:e===`merging`?{text:`Merging`,namesMergeTarget:!1}:e===`merged`?{text:`Merged`,namesMergeTarget:!1}:r?{text:`Could not read changes`,namesMergeTarget:!1}:n?i?s?{text:`Changes in this worktree`,namesMergeTarget:!1}:o?{text:`Ready to merge into ${Fj(l)}`,namesMergeTarget:!0}:c?a?{text:`Not ready to merge`,namesMergeTarget:!1}:{text:`Uncommitted changes`,namesMergeTarget:!1}:{text:`Session ended`,namesMergeTarget:!1}:{text:`No changes yet`,namesMergeTarget:!1}:{text:`Checking for changes`,namesMergeTarget:!1}}function Tce(e,t){return e.namesMergeTarget?null:`merges into ${Fj(t)}`}function Pj({status:e,mergeReason:t,live:n,isMergeRendered:r,hasChanges:i}){return e===`parked`&&n&&t!==`base-diverged`?`resolve`:!i&&e!==`parked`&&e!==`merging`?`none`:r?`merge`:`none`}function Fj(e){return e||`base`}function Ece(e,t){return`Merge into ${Fj(e)}, push it, and rebase this worktree, then keep working (${t})`}function Dce(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function Ij(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function Oce({status:e,hasCommits:t,live:n,state:r}){return e===`merging`||!t?null:!n&&(e===`parked`||e===`merged`)?`Session ended.`:!n||e===`parked`?null:r===`INITIALIZING`||r===`STARTING`?`Starting up. Mergeable once the session is live.`:null}function Lj({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function Rj(e){return e||`its upstream`}function zj(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=Rj(e.upstream);return n===`no-upstream`?`${t}: no upstream`:n===`unknown`&&e.error&&e.action===void 0?`${t}: sync check failed: ${e.error}`:n===`unknown`?`${t}: sync state unknown vs ${a}`:n===`in-sync`?`${t}: in sync with ${a}`:n===`ahead`?`${t}: ${r} ahead of ${a}`:n===`behind`?`${t}: ${i} behind ${a}`:n===`diverged`?`${t}: ${r} ahead, ${i} behind ${a}`:null}function Bj(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function Vj(e,t,n){let r=n?` (${t})`:``;if(!e||Bj(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=Rj(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function Hj(e){return e?.state!==`in-sync`||e.fetched===!1}function Uj({fetched:e,changedFileCount:t,view:n}){return!e||t===0?!1:n!==`diff`}function Wj(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=Rj(e.upstream);return e.action===`fast-forwarded`?`Fast-forwarded ${t} to ${n}.`:e.action===`pushed`?`Pushed ${t} to ${n}.`:e.state===`diverged`?`${t} has diverged from ${n}. Resolve manually.`:e.state===`in-sync`?null:e.state===`no-upstream`?`${t} has no upstream to resync against.`:`Could not determine sync status.`}var Gj=new Set([`pending-review`,`parked`]),Kj=600,qj=Iw(`merge`,zw),Jj=Iw(`resolve-or-resync`,zw),Yj=260,Xj=700,Zj=new Map,Qj=new Map,$j=new Map,eM=new Map,tM=new Map,nM=new Map,rM=new Set,iM=new Set,aM=new Set,oM=Yf(),sM=null,cM=null,lM=null,uM=null,dM=new Map,fM=null,pM=null,mM=null,hM=null,gM=null,_M=!1,vM=!1,yM=null,bM=null,xM=null,SM=null,CM=new Map,wM=null,TM=null,EM=null,DM=null,OM=null,kM=new Map,AM=null,jM=!1,MM=null;function NM(e,t){let n=p(`button`,`review-icon-button`);n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e);let r=Aj(16,16);return r.append(kj(`path`,{d:t,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n.append(r),n}function PM(){_M=!1,lM?.querySelector(`.review-more-menu`)?.remove(),lM?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function FM({panel:e}){if(cM=e,!cM)return;let t=cM,n=p(`div`,`review-sidebar-head`),r=p(`span`,`review-sidebar-title`,`Review`),i=e=>{t.toggleAttribute(`data-collapsed`,e),Jf(!e)},a=p(`div`,`review-header-tabs`);a.setAttribute(`role`,`group`),a.setAttribute(`aria-label`,`Review view`);for(let[e,t]of[[`map`,`Map`],[`diff`,`Diff`],[`notes`,`Notes`]]){let n=p(`button`,`review-header-tab`,t);n.type=`button`,n.addEventListener(`click`,()=>PN(e)),dM.set(e,n),a.append(n)}fM=p(`span`,`review-notes-count`),a.append(fM);let o=NM(`Close review`,`M6 3L11 8L6 13`);o.classList.add(`review-sidebar-close`),o.addEventListener(`click`,()=>i(!0)),n.append(r,a,o);let s=p(`div`,`review-sidebar-rail`),c=NM(`Open review`,`M10 3L5 8L10 13`);c.classList.add(`review-sidebar-open`),c.addEventListener(`click`,()=>i(!1)),mM=p(`div`,`review-rail-status`),hM=p(`span`,`review-rail-added`),gM=p(`span`,`review-rail-removed`),mM.append(hM,gM),pM=p(`span`,`review-rail-label`,`Review`),s.append(c,pM,mM),lM=p(`div`,`review-controls`),uM=p(`div`,`review-sidebar-body`),wM=p(`div`,`review-notes-footer`),TM=p(`button`,`review-btn review-btn-primary`,`Send notes`),TM.type=`button`,TM.title=`Paste the drafted review notes into this session as one message`,TM.addEventListener(`click`,bN),EM=p(`div`,`review-notes-status`),wM.append(EM,TM),OM=p(`div`,`review-notes-list`),DM=p(`div`,`review-notes-outcome`),DM.setAttribute(`role`,`status`);let l=p(`div`,`review-resize-handle`);l.setAttribute(`aria-hidden`,`true`),t.append(s,n,lM,uM,DM,wM,l),t.toggleAttribute(`data-collapsed`,!qf()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&_M&&(e.preventDefault(),PM(),lM?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{_M&&e.target instanceof Element&&(lM?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||PM())});let u=0,d=0,f=e=>{let n=Math.max(Yj,Math.min(Xj,e));return Number.isFinite(n)?(t.style.setProperty(`--sidebar-width`,`${n}px`),n):null},m=e=>{l.hasPointerCapture(e.pointerId)&&f(d+(u-e.clientX))},h=!1,g=e=>{if(!h)return;h=!1,l.hasPointerCapture(e.pointerId)&&l.releasePointerCapture(e.pointerId),document.documentElement.style.cursor=``,document.documentElement.style.userSelect=``;let n=t.style.getPropertyValue(`--sidebar-width`);n&&Sp(parseInt(n,10))};l.addEventListener(`pointerdown`,e=>{e.button===0&&(e.preventDefault(),u=e.clientX,d=t.getBoundingClientRect().width,l.setPointerCapture(e.pointerId),h=!0,document.documentElement.style.cursor=`col-resize`,document.documentElement.style.userSelect=`none`)}),l.addEventListener(`pointermove`,m),l.addEventListener(`pointerup`,g),l.addEventListener(`pointercancel`,g),l.addEventListener(`lostpointercapture`,g);let _=xp();_!==null&&f(_),kie(e=>{_M=!1,iM.clear(),aM.clear(),sM=null,pN(),e&&iN(e),e&&!oN(e)&&sN(e),RN()}),RN()}function IM(e){cM&&(e?ae(cM,e):oe(cM))}function LM(e,t){let n=Zj.get(e);Zj.set(e,t),Cce(n,t)&&($j.delete(e),eM.delete(e),tM.delete(e),e===t_()&&aN(e)),e===t_()&&RN()}function RM(e,t,n=null){let r=Zj.get(e)||`none`,i=t||`none`;if(Qj.set(e,n),LM(e,i),Gj.has(i)&&!Gj.has(r)){let t=t_(),n=t?Gj.has(Zj.get(t)||`none`):!1;(!t||!T.has(t)||!n)&&n_(e)}}function zM(e,t,n=null){Qj.set(e,n),LM(e,t||`none`)}function BM(e,t){let n=$j.get(e)??null;$j.set(e,t),eM.delete(e),e===t_()&&(WM(n,t),sM&&FN(sM,t),RN(),IN())}function VM(e,t){let n=D(e);n&&(eM.set(n,t),n===t_()&&RN())}function HM(e,t){let n=D(e);if(!n)return;let r=jl.safeParse(t);r.success&&r.data.sessionId===n&&(tM.set(n,r.data),n===t_()&&RN())}function UM(e){return{committed:e?.committed?.diff||``,uncommitted:e?.uncommitted?.diff||``}}function WM(e,t){if(kM.size===0||!e)return;let n=xce(UM(e),UM(t),kM.keys());if(n.length!==0){for(let e of n)kM.delete(e);AM!==null&&n.includes(AM)&&(AM=null),MM=`${n.length} note${n.length===1?``:`s`} dropped because the diff changed.`}}function GM(e,t){let n=D(e),r=t;nM.set(n,r),r&&r.action!==void 0&&KM(n,r),n===t_()&&RN()}function KM(e,t){rM.delete(e),clearTimeout(SM??void 0),SM=null;let n=Wj(t);xM=n?{forId:e,text:n,isError:!!t.error}:null,xM&&!xM.isError&&(SM=setTimeout(()=>{xM&&xM.forId===e&&(xM=null),RN()},5e3))}function qM(e){let t=D(e);t&&t===t_()&&iN(t)}function JM(e){let t=D(e);if(t!==t_())return;let n=!$j.has(t)||eM.has(t),r=!tM.has(t)||YM(tM.get(t));n&&iN(t),r&&!n&&aN(t),RN()}function YM(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function XM(e){let t=D(e);Zj.delete(t),Qj.delete(t),$j.delete(t),eM.delete(t),tM.delete(t),nM.delete(t),rM.delete(t),xM&&xM.forId===t&&(clearTimeout(SM??void 0),xM=null),t===t_()?n_(null):RN()}function ZM(){let e=t_();if(!e||oN(e))return!1;let t=T.get(e);if(!t)return!1;let n=Zj.get(e)||`none`,r=!!$j.get(e)?.hasCommits,i=Ij(n,Qj.get(e)||null,tN(t.currentState,r));return Pj({status:n,mergeReason:Qj.get(e)||null,live:rN(t.currentState),isMergeRendered:i.isRendered,hasChanges:eN(e)})!==`merge`||!i.isEnabled?!1:(nN(e,t.currentState),!0)}function QM(){let e=t_();if(!e||oN(e))return!1;let t=T.get(e);if(!t)return!1;let n=Zj.get(e)||`none`,r=Qj.get(e)||null;return Pj({status:n,mergeReason:r,live:rN(t.currentState),isMergeRendered:Ij(n,r,!1).isRendered,hasChanges:eN(e)})===`resolve`&&(U({type:`resolve-session-merge`,id:e}),!0)}function $M(){let e=t_();return!e||!T.has(e)||oN(e)||lN(e)?!1:(uN(e),!0)}function eN(e){let t=$j.get(e)??null,n=[...Mj(t?.committed?.diff||``),...Mj(t?.uncommitted?.diff||``)];return Lj({fetched:$j.has(e),changedFileCount:Nj(n).files,hasCommits:!!t?.hasCommits})}function tN(e,t){return(u.includes(e)||e===a.RUNNING)&&t}function nN(e,t){t===a.RUNNING?Tm({title:`Merge while working`,message:`This session still looks like it is working. Merging rebases its worktree under it. Merge anyway?`,confirmLabel:`Merge anyway`,onConfirm:()=>U({type:`merge-continue-session`,id:e,force:!0})}):U({type:`merge-continue-session`,id:e})}function rN(e){return e!==a.DORMANT&&e!==a.DONE&&e!==a.FAILED}function iN(e){U({type:`request-session-diff`,id:e}),aN(e)}function aN(e){tM.has(e)||tM.set(e,null),U({type:`request-change-map`,id:e})}function oN(e){return T.get(e)?.card.dataset.workspace!==void 0}function sN(e){nM.set(e,null),U({type:`request-branch-sync`,id:e}),e===t_()&&RN()}function cN(e){rM.add(e),clearTimeout(SM??void 0),xM&&xM.forId===e&&(xM=null),U({type:`resync-branch`,id:e}),e===t_()&&RN()}function lN(e){return rM.has(e)||nM.get(e)===null}function uN(e){lN(e)||(Bj(nM.get(e))===`resync`?cN(e):sN(e))}function dN(e,t){return t?{text:`Resyncing...`,loading:!0,error:!1}:xM&&xM.forId===e?{text:xM.text,loading:!1,error:xM.isError}:null}function fN(e,t){return e?.card?.dataset.session||t}function pN(){kM.clear(),AM=null,MM=null,jM=!1}function mN(e){return kM.get(e)??null}function hN(){return`${kM.size} note${kM.size===1?``:`s`} drafted`}function gN(e,t){let n=p(`div`,`review-notes-entry`),r=t.side===`old`?` (removed line)`:``;n.append(p(`span`,`review-notes-entry-where`,`${t.section} ${t.path}:${t.line}${r}`)),n.append(p(`span`,`review-notes-entry-note`,t.note));let i=p(`button`,`review-note-remove`,`Remove`);return i.type=`button`,i.title=`Drop this note`,i.addEventListener(`click`,()=>NN(e)),n.append(i),n}function _N(){if(OM){OM.replaceChildren(),OM.hidden=kM.size===0;for(let[e,t]of kM)OM.append(gN(e,t))}}function vN(){if(!wM||!TM||!EM)return;let e=t_(),t=!!e&&T.has(e);wM.hidden=!t||oM===`map`||kM.size===0,TM.disabled=jM||kM.size===0,EM.textContent=hN(),fM&&(fM.hidden=kM.size===0,fM.textContent=String(kM.size),fM.setAttribute(`aria-label`,hN())),DM&&(DM.textContent=jM?`Sending notes...`:MM,DM.hidden=!t||oM===`map`||!DM.textContent),_N(),oM===`notes`&&t&&yN()}function yN(){uM&&OM&&(uM.replaceChildren(),kM.size===0?zN(`No notes yet`,`Open the Diff tab and press note on a line to draft one.`):uM.append(OM))}function bN(){let e=t_();e&&!jM&&kM.size!==0&&(jM=!0,MM=null,vN(),hm(`send-diff-annotations`,{id:e,annotations:[...kM.values()]}).then(CN,xN))}function xN(e){jM=!1;let t=e instanceof Error?e.message:``;MM=t?`Could not send the notes: ${t}.`:`Could not send the notes.`,vN()}function SN(e){return e.type===`send-diff-annotations-result`&&typeof e.error==`string`&&e.error?e.error:e.type===`error`&&typeof e.message==`string`&&e.message?e.message:`Could not send the notes.`}function CN(e){jM=!1,e.type!==`send-diff-annotations-result`||e.ok!==!0?(MM=SN(e),vN()):e.pending===!0?(MM=`Notes queued until the session wakes. They stay drafted here, and pressing Send notes again re-sends them.`,vN()):(MM=`Notes sent.`,kM.clear(),AM=null,RN())}function wN(e,t){let n=p(`div`,`review-note`);n.dataset.noteFor=e,n.append(p(`span`,`review-note-text`,t));let r=p(`button`,`review-note-remove`,`Remove`);return r.type=`button`,r.title=`Drop this note`,r.addEventListener(`click`,()=>NN(e)),n.append(r),n}function TN(e,t){let n=p(`div`,`review-note-editor`);n.dataset.editorFor=e;let r=p(`input`,`review-note-input`);r.type=`text`,r.value=t,r.maxLength=Fu,r.placeholder=`Note for this line`,r.addEventListener(`keydown`,t=>{t.key===`Enter`?(t.preventDefault(),MN(e,r.value)):t.key===`Escape`&&(t.preventDefault(),jN())});let i=p(`button`,`review-note-save`,`Save`);i.type=`button`,i.addEventListener(`click`,()=>MN(e,r.value));let a=p(`button`,`review-note-cancel`,`Cancel`);return a.type=`button`,a.addEventListener(`click`,jN),n.append(r,i,a),n}function EN(e){let t=[],n=mN(e);return AM===e&&t.push(TN(e,n?n.note:``)),n&&t.push(wN(e,n.note)),t}function DN(e,t){let n=EN(t);return e.after(...n),n}function ON(e){let t=e.nextElementSibling;for(;t instanceof HTMLElement&&(t.dataset.noteFor!==void 0||t.dataset.editorFor!==void 0);){let e=t.nextElementSibling;t.remove(),t=e}}function kN(e){let t=CM.get(e);if(!t)return;let n=null;for(let r of t.rows){ON(r);let t=DN(r,e);for(let e of t){let t=e.querySelector(`input`);!n&&t instanceof HTMLInputElement&&(n=t)}}n&&(n.focus(),n.select())}function AN(e){let t=AM;AM=e,t&&t!==e&&kN(t),kN(e)}function jN(){let e=AM;e&&(AM=null,kN(e))}function MN(e,t){let n=CM.get(e);if(!n)return;let r=t.trim();r&&(kM.size>=50&&!kM.has(e)?(MM=`Only 50 notes can be sent at once.`,vN()):(kM.set(e,{...n.target,section:n.section,note:r}),MM=null,AM=null,kN(e),vN()))}function NN(e){kM.delete(e),MM=null,kN(e),vN()}function PN(e){oM=e,e!==`diff`&&(sM=null),Xf(e),RN()}function FN(e,t){if(!t)return;let n=Mj(t.committed?.diff),r=Mj(t.uncommitted?.diff);for(let t of n)(t.path===e||t.oldPath===e)&&iM.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&iM.add(`uncommitted:${t.path}`)}function IN(){if(!uM||!sM)return;let e=uM.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===sM||t.dataset.oldPath===sM){t.scrollIntoView({block:`nearest`}),sM=null;return}}function LN(e){sM=e,FN(e,$j.get(t_()??``)),PN(`diff`),IN()}function RN(){if(!lM||!uM)return;lM.replaceChildren(),uM.replaceChildren();for(let[e,t]of dM)t.setAttribute(`aria-pressed`,String(oM===e));CM.clear(),vN(),pM&&(pM.hidden=!0),mM&&(mM.hidden=!0);let e=t_(),t=e?T.get(e):null;if(!e||!t){zN(`No session selected`,`Click a session name to review its changes here.`);return}let n=oN(e),r=Zj.get(e)||`none`,i=Qj.get(e)||null,a=t.currentState,o=Gj.has(r),s=$j.has(e),c=s?$j.get(e):null,l=eM.get(e)??null,u=c?Mj(c.committed?.diff||``):[],d=c?Mj(c.uncommitted?.diff||``):[],f=!!c?.hasCommits,m=rN(a),h=Ij(r,i,tN(a,f)),g=nM.get(e),_=rM.has(e),v=Fj(t.effectiveBase),y=Nj([...u,...d]),b=Pj({status:r,mergeReason:i,live:m,hasChanges:Lj({fetched:s,changedFileCount:y.files,hasCommits:f}),isMergeRendered:h.isRendered}),ee=wce({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:y.files>0||f,hasCommits:f,canMerge:!n&&h.isEnabled,isWorkspace:n,live:m,effectiveBase:v}),x=p(`div`,`review-status-headline`);if(x.append(p(`span`,`review-status-text`,ee.text)),!n&&!Hj(g)){let t=zj(g);if(t){x.title=t;let n=NM(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=Vj(g,Jj,b!==`resolve`),n.disabled=lN(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>uN(e)),x.append(p(`span`,`sr-only`,t),n)}}lM.append(x);let te=p(`div`,`review-status-meta`);if(Uj({fetched:s,changedFileCount:y.files,view:oM})&&te.append(p(`span`,`review-status-files`,`${y.files} file${y.files===1?``:`s`}`),p(`span`,`review-status-added`,`+${y.added}`),p(`span`,`review-status-removed`,`-${y.removed}`),p(`span`,`review-status-spacer`)),!n&&Hj(g)){let t=BN(e,b!==`resolve`);t&&te.append(t)}te.childElementCount>0&&lM.append(te),r===`parked`&&lM.append(p(`div`,`review-status-explanation`,Dce(i))),pM&&(pM.hidden=!1),mM&&(mM.hidden=!1,mM.setAttribute(`aria-label`,`${ee.text}, +${y.added}, -${y.removed}`),mM.title=ee.text),hM&&(hM.textContent=`+${y.added}`),gM&&(gM.textContent=`-${y.removed}`);let ne=n?null:WN(e,{status:r,reviewable:o,mergeAction:h,live:m,state:a,effectiveBase:v,primaryAction:b});ne&&lM.append(ne);let S=n?null:dN(e,_),re=!n&&b===`merge`&&!h.isEnabled?Oce({status:r,hasCommits:f,live:m,state:a}):null;if(re){let e=p(`div`,`review-control-reason`,re);e.id=`review-merge-reason`,lM.append(e),lM.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(S?.text){let e=p(`div`,S.loading?`review-control-reason review-loading`:`review-control-reason`,S.text);e.id=`review-resync-reason`,S.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),te.append(e),te.isConnected||lM.insertBefore(te,x.nextSibling),lM.querySelector(`.review-branch-sync-text, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(vM&&yM===e&&lM.append(p(`div`,`review-resolve-sent`,`Resolve prompt sent`)),oM!==`notes`){if(oM===`map`){let t=tM.get(e);if(!t){uM.append(p(`div`,`review-nochanges review-loading`,`Loading map...`));return}uM.append(vce(gce(t),LN))}else l?uM.append(p(`p`,`review-diff-error`,l)):(u.length>0&&uM.append(VN(`committed`,`Committed`,Tce(ee,v),u)),d.length>0&&uM.append(VN(`uncommitted`,`Uncommitted`,null,d)))}}function zN(e,t){if(!uM)return;let n=p(`div`,`review-empty`);n.append(p(`div`,`review-empty-title`,e),p(`div`,`review-empty-desc`,t)),uM.append(n)}function BN(e,t){let n=nM.get(e);if(n===void 0)return null;if(n===null)return p(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=zj(n)||`Base branch: sync state unknown`,i=NM(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);return i.className=`review-branch-sync-text`,i.removeAttribute(`aria-label`),i.append(p(`span`,`review-branch-sync-label`,r)),i.disabled=rM.has(e),n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`),i.title=Vj(n,Jj,t),i.addEventListener(`click`,()=>uN(e)),i}function VN(e,t,n,r){let i=p(`div`,`review-section`);i.dataset.kind=e;let a=Nj(r),o=p(`div`,`review-section-head`),s=p(`div`,`review-section-id`);s.append(p(`span`,`review-section-label`,t)),n&&s.append(p(`span`,`review-section-meaning`,n)),o.append(s);let c=p(`div`,`review-section-stat`);c.append(p(`span`,`review-stat-files`,`${a.files} file${a.files===1?``:`s`}`)),c.append(p(`span`,`review-add`,`+${a.added}`),p(`span`,`review-del`,`-${a.removed}`)),o.append(c),i.append(o);let l=p(`div`,`review-diff`);for(let t of r)l.append(HN(t,e));return i.append(l),i}function HN(e,t){let n=`${t}:${e.path}`,r=iM.has(n),i=p(`div`,`review-file`);i.dataset.path=e.path,e.oldPath&&(i.dataset.oldPath=e.oldPath),i.dataset.status=e.status,i.dataset.open=r?`true`:`false`;let a=p(`button`,`review-file-head`);a.type=`button`,a.setAttribute(`aria-expanded`,r?`true`:`false`);let o=p(`span`,`review-file-twisty`,r?`▾`:`▸`);o.setAttribute(`aria-hidden`,`true`),a.append(o,p(`span`,`review-file-path`,e.path));let s=p(`span`,`review-file-counts`);if(e.binary&&s.append(p(`span`,`review-bin`,`bin`)),e.binary||s.append(p(`span`,`review-add`,`+${e.added}`),p(`span`,`review-del`,`-${e.removed}`)),a.append(s),a.addEventListener(`click`,()=>{let e=iM.has(n);e&&iM.delete(n),e||iM.add(n),RN()}),i.append(a),!r)return i;let c=p(`div`,`review-file-body`);if(e.binary)return c.append(p(`div`,`review-file-binary`,`Binary file not shown`)),i.append(c),i;let l=0,u=!1;for(let r of e.hunks){if(l>=Kj&&!aM.has(n)){u=!0;break}c.append(p(`div`,`review-hunk-head`,r.header));for(let i of r.lines){if(l>=Kj&&!aM.has(n)){u=!0;break}let r=p(`div`,`review-line review-line-${i.type}`),a=i.type===`add`?`+`:i.type===`del`?`-`:i.type===`meta`?`\\`:` `;r.append(p(`span`,`review-line-gutter`,a)),r.append(p(`span`,`review-line-text`,i.text));let o=Sce(e,i);if(c.append(r),l++,!o)continue;let s=bce(t,o.path,o.line,o.side),d=CM.get(s)??{target:o,section:t,rows:[]};d.rows.push(r),CM.set(s,d),r.dataset.noteKey=s;let f=p(`button`,`review-annotate`,`note`);f.type=`button`,f.title=`Note on ${o.path}:${o.line}`,f.addEventListener(`click`,()=>AN(s)),r.append(f),DN(r,s)}if(u)break}if(u){let e=p(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{aM.add(n),RN()}),c.append(e)}return i.append(c),i}function UN({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=p(`button`,a?`review-btn review-btn-danger`:`review-btn review-btn-primary`);return s.type=`button`,e&&(s.id=e),r&&(s.title=r),s.disabled=i,s.innerHTML=n?`${t} <kbd class="review-shortcut" aria-hidden="true">${n}</kbd>`:t,s.addEventListener(`click`,o),s}function WN(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=p(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(UN({id:`review-merge-btn`,label:`Merge`,shortcut:qj,title:Ece(o,qj),disabled:!r.isEnabled,onClick:()=>nN(e,a)})),l&&c.append(UN({label:`Resolve`,shortcut:Jj,title:`Paste a resolve prompt into this session so the agent can finish the merge (${Jj})`,onClick:()=>{U({type:`resolve-session-merge`,id:e}),vM=!0,yM=e,clearTimeout(bM??void 0),bM=setTimeout(()=>{vM=!1,yM=null,RN()},3e3),RN()}}));let u=p(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=NM(`More review actions`,`M3 8h0.01M8 8h0.01M13 8h0.01`);if(d.classList.add(`review-more-button`),d.setAttribute(`aria-haspopup`,`menu`),d.setAttribute(`aria-expanded`,String(_M)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{_M=!_M,RN(),(lM?.querySelector(_M?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??lM?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!_M)return u;let f=p(`div`,`review-more-menu`);if(f.id=`review-more-menu`,f.setAttribute(`role`,`menu`),f.setAttribute(`aria-label`,`More review actions`),n&&!i){let n=UN({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{_M=!1,RN(),Tm({title:`Discard worktree`,message:`Throw away the worktree changes for "${fN(T.get(e),e)}"? This cannot be undone.`,confirmLabel:`Discard`,onConfirm:()=>U({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var GN=5e3;function KN(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function qN(e,t){if(!e.toolUseId)return KN(e.text)??`context`;let n=t.get(e.toolUseId);return n?u_(n.name,n.input)||n.name:`expansion`}function JN(e){return e.kind!==`expansion`||e.toolUseId?!1:KN(e.text)!==null}function YN(e){return e.kind===`prompt`||e.kind===`session`||JN(e)}function XN(e){return new TextEncoder().encode(e).byteLength}function ZN(e){return e.kind===`prompt`||e.kind===`expansion`||e.kind===`thinking`||e.kind===`assistant`||e.kind===`notice`?e.text:e.kind===`tool_result`?e.content:e.kind===`raw`?e.line:e.kind===`tool_call`?JSON.stringify(e.input,null,2)??String(e.input??``):[`${e.vendor} ${e.vendorSessionId}`,e.transcriptPath,e.reason??``].filter(Boolean).join(`
|
|
247
|
-
`)}var QN={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`},$N=[{kind:`thinking`,label:`Thinking`},{kind:`tool_result`,label:`Tool result`},{kind:`raw`,label:`Raw`}];function eP(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:l_(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:l_(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:l_(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:l_(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:l_(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:qN(e,t)};if(e.kind===`tool_call`){let t=u_(e.name,e.input);return t?{prefix:`${e.name}: `,text:t}:{prefix:``,text:e.name}}return{prefix:`${t.get(e.toolUseId)?.name??`Tool`} result: `,text:`${XN(e.content)} bytes`}}function tP(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function nP(e,t){let n=eP(e,t),r=tP(e),i=e.kind===`tool_call`||e.kind===`tool_result`?`${n.prefix}${n.text}`:n.text,a=[],o=e.kind===`notice`?`muted`:`default`;if(e.kind===`tool_result`&&e.isError&&(o=`error`,a.push(`error`)),e.truncated===!0&&(o!==`error`&&(o=`muted`),a.push(`truncated`)),e.kind===`tool_result`){let n=t.get(e.toolUseId),r=n?e.ts-n.ts:NaN;Number.isFinite(r)&&r>=0&&a.push(r>1e3?`${(r/1e3).toFixed(1)}s`:`${Math.round(r)}ms`)}return{kind:e.kind,tag:QN[e.kind],text:`${r}${i}`,tone:o,badges:a}}function rP(e,t){return{record:e,...nP(e,t)}}function iP(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function aP(e,t){let n=iP(e);return!n||t.has(n)?null:n}function oP(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function sP(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function cP(e,t){if(t.size!==0)for(let n of e.turns)for(let r=0;r<n.rows.length;r+=1){let i=n.rows[r],a=iP(i.record);a&&t.has(a)&&(n.rows[r]=rP(i.record,e.toolCallByUseId))}}function lP(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function uP(e){if(e.startedAt===null)return 0;let t=e.head?.record.ts??e.startedAt;for(let n of e.rows)t=Math.max(t,n.record.ts);return Math.max(0,t-e.startedAt)}function dP(e){let{rowCount:t,toolCallCount:n,errorCount:r,resultBytes:i}=e.metrics;return`${`${t} ${t===1?`row`:`rows`}`}, ${`${n} ${n===1?`tool`:`tools`}`}, ${`${r} ${r===1?`error`:`errors`}`}, ${rh(i,`KB`)}, ${jh(uP(e))}`}function fP(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function pP(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=XN(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function mP(e,t){for(let n of t)n.kind===`tool_call`&&e.toolCallByUseId.set(n.toolUseId,n);let n=[],r=e.turns[e.turns.length-1]??null;for(let i of t){let t=aP(i,e.toolCallByUseId);t&&oP(e.unresolvedToolUseCounts,t);let a=rP(i,e.toolCallByUseId);if(YN(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:fP()},pP(r,a,1),e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:a,rows:[]});continue}r||(r={head:null,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:fP()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),pP(r,a,1);let o=e.turns.length-1,s=n[n.length-1];s&&s.turnIndex===o?s.rows.push(a):n.push({turnIndex:o,isNewTurn:!1,head:null,rows:[a]})}return n}function hP(e,t){let n=lP();mP(n,t);let r=new Set;for(let[t,i]of n.toolCallByUseId)e.toolCallByUseId.has(t)||(e.toolCallByUseId.set(t,i),r.add(t));let i=new Set;for(let t of r)e.unresolvedToolUseCounts.delete(t)&&i.add(t);for(let[t,r]of n.unresolvedToolUseCounts)e.toolCallByUseId.has(t)||oP(e.unresolvedToolUseCounts,t,r);let a=n.turns[n.turns.length-1],o=e.turns[0],s=!!a&&!!o&&!o.head,c=s?a.head:null,l=s?a.rows:[];if(s){n.turns.pop();let e=a.startedAt,t=o.startedAt;e!==null&&(t===null||e<t)&&(o.startedAt=a.startedAt),o.head=c,o.rows=[...l,...o.rows],o.metrics={rowCount:a.metrics.rowCount+o.metrics.rowCount,toolCallCount:a.metrics.toolCallCount+o.metrics.toolCallCount,errorCount:a.metrics.errorCount+o.metrics.errorCount,resultBytes:a.metrics.resultBytes+o.metrics.resultBytes}}return e.turns=[...n.turns,...e.turns],cP(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function gP(e){return e.rows.length+ +!!e.head}function _P(e){let t=0;for(let n of e.turns)t+=gP(n);return t}function vP(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=iP(n.record);t&&sP(e.unresolvedToolUseCounts,t)}}function yP(e,t){vP(e,t.head?[t.head,...t.rows]:t.rows)}function bP(e,t){let n=e.turns[0];if(!n)return 0;let r=Math.min(t,n.rows.length);if(r<=0)return 0;let i=n.rows.slice(0,r);vP(e,i);for(let e of i)pP(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function xP(e,t=GN){let n=_P(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=gP(t),yP(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:bP(e,n-t)}}function SP(e){let t=[],n=new Set;for(let r of e)r.id&&r.name&&!n.has(r.id)&&(n.add(r.id),t.push({id:r.id,label:r.name}));return t}function CP(e,t,n,r=!0){return t&&e.some(e=>e.id===t)?t:n&&e.some(e=>e.id===n)?n:r?e[0]?.id??null:null}function wP(e){return!e.selectedSessionId||!e.isPanelVisible||e.hasPendingRequest?null:e.hasLoadedOnce?{id:e.selectedSessionId,direction:`forward`,after:e.nextOffset}:{id:e.selectedSessionId,direction:`tail`,after:0,endingAt:`tail`}}function TP(e,t=GN){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function EP(e,t=GN){return!TP(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function DP(e){let{pendingRequest:t,resident:n,reply:r}=e;return!t||t.id!==r.id?`ignore`:!n||n.sessionId!==r.id?`stale`:r.reset||r.next<r.start?`reset`:t.direction===`tail`?n.hasLoadedOnce?`stale`:`seed`:t.direction===`earlier`?n.firstOffset===t.endingAt?r.next===t.endingAt?`prepend`:`reset`:`stale`:n.nextOffset===t.after?r.start===t.after?`append`:`reset`:`stale`}function OP(e){return e.hasSelectionChanged||e.isRenderedTraceStale||!e.hasRenderedOnce}function kP(e,t,n){return e!==0||t?null:n?.startedAt??null}function AP(e,t){return jP(e,t)?e.filter(e=>e!==t):[...e,t]}function jP(e,t){return e.includes(t)}function MP(e){return e?`No trace has been recorded for ${e.label}.`:`No sessions are available.`}var NP=1e4,PP=null,FP=null,IP=null,LP=null,RP=[],zP=!1,BP=ap(),VP=null,HP=null,UP=[],WP=null,GP=null,KP=null,qP=null,JP=!1;function YP(){return!!PP&&!w(PP)}function XP(){return UP.find(e=>e.id===WP)??null}function ZP(){qP&&=(clearTimeout(qP.timeoutHandle),null)}function QP(){qP=null,SF()}function $P(e){ZP(),JP=!1,WP=e,KP=e?{sessionId:e,grouping:lP(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,zP=!0}function eF(e){let t=CP(UP,GP,WP,e);return GP&&t===GP&&(GP=null),t!==WP&&($P(t),!0)}function tF(e){if(!VP)return;let t=e.endingAt===void 0?{type:`session-trace`,id:e.id,after:e.after}:{type:`session-trace`,id:e.id,endingAt:e.endingAt};VP(t)&&(qP={request:e,timeoutHandle:setTimeout(QP,NP)})}function nF(e=!1){if(!VP)return;let t=wP({selectedSessionId:WP,isPanelVisible:e||YP(),hasPendingRequest:!!qP,hasLoadedOnce:KP?.hasLoadedOnce??!1,nextOffset:KP?.nextOffset??0});t&&tF(t)}function rF(){return{selectedSessionId:WP,hasPendingRequest:!!qP,hasLoadedOnce:KP?.hasLoadedOnce??!1,hasDroppedEarliestRows:KP?.hasDroppedEarliestRows??!1,firstOffset:KP?.firstOffset??0,residentRowCount:KP?_P(KP.grouping):0}}function iF(){if(!VP)return;let e=EP(rF());e&&tF(e)}function aF(e){UP.some(t=>t.id===e)&&e!==WP&&(GP=null,$P(e),nF(),SF())}function oF(){let e=p(`label`,`trace-session-field`),t=p(`span`,`trace-session-label`,`Session`),n=p(`select`,`trace-session-select`);n.disabled=UP.length===0;for(let e of UP){let t=p(`option`,null,e.label);t.value=e.id,t.selected=e.id===WP,n.append(t)}return n.addEventListener(`change`,()=>aF(n.value)),e.append(t,n),e}function sF(e){e.toggleAttribute(`data-hidden`,jP(BP,e.dataset.kind??``))}function cF(){if(IP)for(let e of IP.querySelectorAll(`.trace-row`))sF(e)}function lF(e){if(IP)for(let t of IP.querySelectorAll(`details`))t.open=e}function uF(){let e=p(`div`,`trace-filters`);for(let t of $N){let n=p(`button`,`trace-filter`,t.label);n.type=`button`;let r=()=>{n.setAttribute(`aria-pressed`,String(!jP(BP,t.kind)))};r(),n.addEventListener(`click`,()=>{BP=AP(BP,t.kind),op(BP),r(),cF()}),e.append(n)}for(let[t,n]of[[`Expand all`,!0],[`Collapse all`,!1]]){let r=p(`button`,`trace-expand-control`,t);r.type=`button`,r.addEventListener(`click`,()=>{lF(n)}),e.append(r)}return e}function dF(){let e=S(`trace`,`Session trace`,`Bodies load from the local trace file only when requested.`),t=p(`div`,`trace-controls`);t.append(oF());let n=KP?.filePath??``,r=p(`code`,`trace-path`,n);r.title=n,t.append(r);let i=KP?kP(KP.firstOffset,KP.hasDroppedEarliestRows,KP.grouping.turns[0]):null;return i!==null&&t.append(p(`span`,`trace-session-start`,`Started ${new Date(i).toLocaleString()}`)),e.append(t,uF()),e}function fF(e){let t=p(`div`,`trace-copy-wrap`),n=p(`button`,`trace-copy`,`Copy`);n.type=`button`;let r=p(`span`,`trace-copy-status`);return r.setAttribute(`role`,`status`),n.addEventListener(`click`,()=>{let t=ie(e);t?(t.then(()=>{r.textContent=`Copied`}).catch(()=>{r.textContent=`Copy failed`}),setTimeout(()=>{r.textContent=``},1600)):r.textContent=`Copy failed`}),t.append(n,r),t}function pF(){let e=p(`div`,`trace-earlier-wrap`),t=p(`button`,`trace-load-earlier`,`Load earlier`);return t.type=`button`,t.addEventListener(`click`,()=>{iF()}),e.append(t),e}function mF(e,t,n=``){let r=p(`details`,`trace-row${n?` ${n}`:``}`);r.dataset.kind=e.kind,r.dataset.tone=e.tone,sF(r);let i=p(`summary`,`trace-row-summary`);i.append(p(`span`,`trace-offset`,Mh(t,e.record.ts)),p(`span`,`trace-kind`,e.tag),p(`span`,`trace-row-label`,e.text));for(let t of e.badges){let e=p(`span`,`trace-badge`,t);e.dataset.badge=t,i.append(e)}let a=p(`div`,`trace-row-body`);r.append(i,a);let o=!1;return r.addEventListener(`toggle`,()=>{if(!r.open||o)return;o=!0;let t=ZN(e.record);a.append(fF(t),p(`pre`,`trace-row-pre`,t))}),r}function hF(e){return p(`span`,`trace-turn-metrics`,dP(e))}function gF(e,t){e&&t&&(t.textContent=dP(e))}function _F(e,t){let n=e.children,r=Math.min(t.rows.length,n.length);for(let e=0;e<r;e+=1){let r=n[e]?.querySelector(`.trace-offset`);r&&(r.textContent=Mh(t.startedAt,t.rows[e].record.ts))}}function vF(e,t,n){let r=mF(t,e.startedAt,`trace-turn-head`);return y(r,`.trace-row-summary`).append(n),r}function yF(e){let t=p(`section`,`trace-turn`),n=hF(e);if(e.head&&t.append(vF(e,e.head,n)),!e.head){let e=p(`h2`,`trace-leading-title`);e.append(p(`span`,`trace-leading-label`,`Before first prompt`),n),t.append(e)}let r=p(`div`,`trace-rows`);for(let t of e.rows)r.append(mF(t,e.startedAt));return e.hasTrimmedRows&&t.append(p(`p`,`trace-trimmed`,`Earlier rows trimmed`)),t.append(r),{section:t,rowsElement:r,metricsElement:n}}function bF(e){return e?qP?.request.id===e.id&&!KP?.hasLoadedOnce?`Loading trace.`:MP(e):MP(null)}function xF(){if(!PP)return;let e=p(`div`,`trace-content`);FP=dF(),e.append(FP),IP=null,LP=null,RP=[];let t=XP(),n=KP?.grouping.turns??[];if(!t||n.length===0){e.append(p(`p`,`trace-empty`,bF(t))),PP.replaceChildren(e),zP=!1;return}TP(rF())&&(LP=pF(),e.append(LP));let r=p(`div`,`trace-turns`);for(let e of n){let t=yF(e);RP.push(t),r.append(t.section)}IP=r,cF(),e.append(r),PP.replaceChildren(e),zP=!1}function SF(){PP&&(YP()?xF():zP=!0)}function CF(){if(!FP||!YP())return;let e=dF();FP.replaceWith(e),FP=e}function wF(e){if(!IP)return;let t=KP?.grouping.turns[e.turnIndex];if(!t)return;if(e.isNewTurn){let e=yF(t);RP.push(e),IP.append(e.section);return}let n=RP[e.turnIndex];if(n){for(let r of e.rows)n.rowsElement.append(mF(r,t.startedAt));gF(t,n.metricsElement)}}function TF(e){let t=e.parentElement;t&&!t.querySelector(`.trace-trimmed`)&&t.insertBefore(p(`p`,`trace-trimmed`,`Earlier rows trimmed`),e)}function EF(){TP(rF())?!LP&&IP?.parentElement&&(LP=pF(),IP.parentElement.insertBefore(LP,IP)):(LP?.remove(),LP=null)}function DF(){if(!KP)return;let e=xP(KP.grouping);if(!(e.droppedTurnCount>0||e.droppedRowCount>0)){EF();return}let t=!KP.hasDroppedEarliestRows;if(KP.hasDroppedEarliestRows=!0,RP=RP.slice(e.droppedTurnCount),IP)for(let t=0;t<e.droppedTurnCount;t+=1)IP.firstElementChild?.remove();let n=RP[0];if(n&&e.droppedRowCount>0){for(let t=0;t<e.droppedRowCount;t+=1)n.rowsElement.firstElementChild?.remove();TF(n.rowsElement),gF(KP.grouping.turns[0],n.metricsElement)}t&&CF(),EF()}function OF(e){if(!KP)return;let t=mP(KP.grouping,e);if(YP()&&!zP&&IP){for(let e of t)wF(e);DF()}else IP=null,DF(),YP()?xF():zP=!0}function kF(e){if(!e||typeof e!=`object`)return null;let t=e;return typeof t.id!=`string`||!Array.isArray(t.records)||typeof t.next!=`number`||typeof t.start!=`number`?null:{id:t.id,records:t.records,start:t.start,next:t.next,reset:t.reset===!0,path:typeof t.path==`string`?t.path:``}}function AF(){JP&&!qP&&(JP=!1,nF())}function jF(e){if(!IP)return;let t=RP[0]??null,n=t?.rowsElement.parentElement??null,r=KP?.grouping.turns[e.newTurns.length]??null;if((e.mergedHead||e.mergedRows.length>0)&&t&&n&&r){let i=t.rowsElement;if(e.mergedHead){n.querySelector(`.trace-leading-title`)?.remove();let a=hF(r),o=vF(r,e.mergedHead,a);n.insertBefore(o,i),t.metricsElement=a}e.mergedHead||gF(r,t.metricsElement);let a=document.createDocumentFragment();for(let t of e.mergedRows)a.append(mF(t,r.startedAt));i.prepend(a),_F(i,r)}let i=document.createDocumentFragment(),a=[];for(let t of e.newTurns){let e=yF(t);a.push(e),i.append(e.section)}IP.prepend(i),RP.unshift(...a)}function MF(e){if(!KP)return;let t=hP(KP.grouping,e),n=YP()&&!zP&&!!IP&&!t.needsRerender,r=PP?.parentElement??null,i=r?.scrollHeight??0,a=r?.scrollTop??0;n&&jF(t),DF(),n||SF(),n&&CF(),r&&(r.scrollTop=a+r.scrollHeight-i)}function NF(e){PP||(PP=p(`div`,`trace-panel`),e.append(PP),xF())}function PF(e){VP=e}function FF(e){HP=e}function IF(e){GP=e,HP?.()}function LF(e){UP=SP(e);let t=eF(YP());t&&nF(),(t||!FP)&&SF(),!t&&FP&&CF()}function RF(){if(!PP)return;let e=eF(!0);nF(!0),OP({hasSelectionChanged:e,isRenderedTraceStale:zP,hasRenderedOnce:!!FP})&&xF()}function zF(e){let t=kF(e);if(!t)return;let n=DP({pendingRequest:qP?.request??null,resident:KP?{sessionId:KP.sessionId,firstOffset:KP.firstOffset,nextOffset:KP.nextOffset,hasLoadedOnce:KP.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?AF():(ZP(),n===`stale`?AF():n===`reset`?($P(t.id),KP&&(KP.filePath=t.path),nF(),SF(),AF()):KP&&(KP.filePath=t.path,n===`prepend`?(KP.firstOffset=t.start,MF(t.records),AF()):(n===`seed`&&(KP.hasLoadedOnce=!0,KP.firstOffset=t.start),KP.nextOffset=t.next,OF(t.records),AF())))}function BF(e){let t=e?.id;typeof t==`string`&&t===WP&&YP()&&(qP?JP=!0:nF())}function VF(e){let t=e?.id;typeof t==`string`&&qP?.request.id===t&&(ZP(),JP=!1,SF())}function HF(e){ZP(),JP=!1,e?nF():SF()}var UF=`Estimated list prices, not a bill.`,WF=`Enable in Settings.`,GF=Object.freeze([{value:`7`,label:`Last 7 days`,days:7},{value:`30`,label:`Last 30 days`,days:30},{value:`90`,label:`Last 90 days`,days:90},{value:`all`,label:`All retained`,days:null}]),KF=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],qF=/^(\d{4})-(\d{2})-(\d{2})$/,JF=new Set([`day`,`model`,`label`]),YF=new Set([`model`,`label`]);function XF(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function ZF(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function QF(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${XF(String(Math.abs(t)))}`}function $F(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.abs(e);if(t===0)return`$0.00`;let n=e<0?`-`:``;if(t<1e-4)return e<0?`above -$0.0001`:`<$0.0001`;if(t<.01)return`${n}$${t.toFixed(4)}`;let[r,i]=t.toFixed(2).split(`.`);return`${n}$${XF(r)}.${i}`}function eI(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=e<0?`-`:``,n=Math.abs(e);if(n<1e3){let e=Math.round(n);return`${e===0?``:t}${e}`}return n<999950?`${t}${ZF((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${ZF((n/1e6).toFixed(2))}M`:`${t}${ZF((n/1e9).toFixed(2))}B`}function tI(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${ZF(e.toFixed(1))}%`}function nI(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function rI(e){return e===`costUSD`?`share of cost`:`share of tokens`}function iI(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function aI(e){let t=qF.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=KF[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function oI(e){let t=sI(e);return t.length===0?``:t.length===1?aI(t[0]):`${aI(t[0])} to ${aI(t[t.length-1])}`}function sI(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>qF.test(e)).sort()}function cI(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:lI(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function lI(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=uI(e,n);return qF.test(r)?r:uI(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function uI(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function dI(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:th(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function fI(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=KF[n.getMonth()];return r?`${r} ${n.getDate()} ${ah(n)}`:`-`}function pI(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${eI(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:eI(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:$F(e.costPerHour),sub:``}),t}function mI(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${eI(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push($F(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${dI(e.remainingMinutes)} left in this block`:``;if(t.length===0)return n;let r=`-> ${t.join(`, `)} by block end`;return n?`${r}, ${n}`:r}function hI(e,t=Date.now()){let n=Number(e?.startTs),r=Number(e?.endTs);if(!Number.isFinite(n)||!Number.isFinite(r)||r<=n)return null;let i=(r-n)/6e4,a=Math.min(Math.max((t-n)/6e4,0),i);return{totalMinutes:i,elapsedMinutes:a,remainingMinutes:Math.max(i-a,0),pct:Math.round(a/i*100)}}function gI(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=80?`warn`:`ok`}function _I(e){let t=W(e?.max,null);return t===null||t<=0?null:t}function vI(e){let t=_I(e),n=W(e?.pct,null);return t===null||n===null?null:n*100}function yI(e,t){let n=_I(t),r=W(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}function bI(e){let t=vI(e);return t===null?``:`${Math.round(t)}% of ${eI(e?.max)} tokens, the largest completed block seen`}function xI(e,t){let n=yI(e,t);return n===null?``:n>=100?`On this burn rate the block ends past that reference, at ${Math.round(n)}% of it.`:`On this burn rate the block ends at ${Math.round(n)}% of that reference.`}var SI=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function CI(e){let t=SI.map(t=>{let n=Number(e?.[t.key]);return{spec:t,tokens:Number.isFinite(n)&&n>0?n:0}}),n=t.reduce((e,t)=>e+t.tokens,0);return n<=0?[]:t.map(e=>{let t=iI(e.tokens,n)??0,r=eI(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${tI(t)}`}})}var wI=Object.freeze({interactive:`Interactive`,"pr-review":`PR review`,"team-review":`PR reviews`,posthog:`PostHog`,"my-prs":`Keep mergeable`,workflows:`Workflows`,"change-map":`Change map`,visions:`Visions`,benchmark:`Benchmarks`,"agent-spawn":`Agent API`,"task-title":`Task titles`,other:`Other`}),TI=`Sessions spawned by Glimmervoid; terminal sessions count as other`,EI=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function DI(e){let t=Sh(e,``);return t?wI[t]||t:wI.other}function OI(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function kI(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function AI(e){return OI(e).some(e=>kI(e.lane))}var jI=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function MI(e,t,n){let r=AL(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function NI(e,t,n,r){if(!Array.isArray(t))return null;let i=t.filter(e=>e&&typeof e.lane==`string`),a=i.reduce((e,t)=>e+W(t.costUSD,0),0),o=i.reduce((e,t)=>e+W(t.tokens,0),0),s=i.filter(e=>kI(e.lane)).map(e=>({lane:String(e.lane),label:DI(e.lane),tokens:W(e.tokens,0),costUSD:W(e.costUSD,0)})),c=s.reduce((e,t)=>e+t.costUSD,0),l=s.reduce((e,t)=>e+t.tokens,0),u=a>0?iI(c,a):iI(l,o),d=MI(n,e,r),f=u===null||d===null?null:u/100*d;return{key:e,label:jI[e],tokens:l,costUSD:c,sharePct:u,planPct:f,lanes:s}}function PI(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:kL.map(e=>NI(e.key,r[e.key],t,n)).filter(e=>e!==null)}function FI(e){return e.planPct===null?``:`about ${tI(e.planPct)} of plan`}function II(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?$F(e.costUSD):eI(e.tokens)}`).join(`, `)}var LI=`team-review`;function RI(e){if(!Array.isArray(e?.byLane))return null;let t=OI(e).find(e=>e.lane===LI),n=W(t?.costUSD,0),r=W(t?.tokens,0),i=nI(e?.totals),a=iI(i===`costUSD`?n:r,e?.totals?.[i]),o=a===null?``:`${tI(a)} of range ${i===`costUSD`?`cost`:`tokens`}`,s=[$F(n),o,zI(t?.sessions)].filter(Boolean).join(`, `);return{label:DI(LI),value:eI(r),sub:s}}function zI(e){let t=W(e,null);return t===null||t<=0?``:`${QF(t)} ${t===1?`session`:`sessions`}`}function BI(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function VI(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function HI(e){return BI(e)!==null||VI(e)!==null}function UI(e){let t=BI(e);if(!t)return null;let n=W(t.commands,0),r=n===1?`command`:`commands`;return{value:`${eI(W(t.savedTokens,0))} tokens`,sub:`${tI(W(t.savingsPct,0))} avg across ${QF(n)} ${r}`}}function WI(e){let t=VI(e);if(!t)return null;let n=eI(W(t.cacheReadTokens,0)),r=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),i=`${n} cache read tokens`;if(r.length===0)return{value:$F(W(t.savedUSD,0)),sub:i};let a=r.length===1?`model`:`models`;return{value:$F(W(t.savedUSD,0)),sub:`${i}, a floor (${r.length} unpriced ${a})`}}function GI(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&W(e.budgetUsd,null)!==null):[]}function KI(e){return e===`monthly`?`this month`:`today`}function qI(e){return`${$F(W(e?.spentUsd,0))} of ${$F(W(e?.budgetUsd,0))}`}function JI(e){let t=W(e?.pct,null);return t===null?0:t}function YI(e){return`${KI(e?.scope)} spend against budget`}var XI=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function ZI(e){let t=qF.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function QI(e){let t=ZI(e);if(!t)return``;let n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),ih(t)}function $I(e){let t=qF.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function eL(e){return{key:e,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0,days:0,sources:new Set,vendorSet:new Set,modelByName:new Map}}function tL(e,t){e.tokens+=W(t?.tokens,0),e.costUSD+=W(t?.costUSD,0),e.input+=W(t?.input,0),e.output+=W(t?.output,0),e.cacheCreate+=W(t?.cacheCreate,0),e.cacheRead+=W(t?.cacheRead,0),e.days+=1,e.sources.add(t?.source===`history`?`history`:`live`);let n=Array.isArray(t?.vendors)?t.vendors:[];for(let t of n)e.vendorSet.add(t);let r=t?.models||[];for(let t of r){t?.vendor&&e.vendorSet.add(t.vendor);let n=$L(t),r=e.modelByName.get(n)||{key:n,model:t?.model??n,vendor:t?.vendor,tokens:0,costUSD:0,input:0,output:0,cacheCreate:0,cacheRead:0};r.tokens+=W(t?.tokens,0),r.costUSD+=W(t?.costUSD,0),r.input+=W(t?.input,0),r.output+=W(t?.output,0),r.cacheCreate+=W(t?.cacheCreate,0),r.cacheRead+=W(t?.cacheRead,0),e.modelByName.set(n,r)}}function nL(e){let{modelByName:t,sources:n,vendorSet:r,...i}=e,a={...i};return a.day=e.key,a.models=Array.from(t.values()).sort((e,t)=>t.tokens-e.tokens),a.source=n.has(`live`)?`live`:`history`,a.vendors=Array.from(r).sort(),a}function rL(e,t){let n=new Map,r=Array.isArray(e)?e:[];for(let e of r){let r=t(e?.day);if(!r)continue;let i=n.get(r)||eL(r);tL(i,e),n.set(r,i)}return Array.from(n.values()).map(nL)}function iL(e){return rL(e,QI)}function aL(e){return rL(e,$I)}function oL(e,t){return t===`week`?iL(e):t===`month`?aL(e):Array.isArray(e)?[...e]:[]}var sL=/^(\d{4})-(\d{2})$/;function cL(e,t){if(t===`month`){let t=sL.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=KF[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=aI(e);return t===`-`?t:`week of ${t}`}return aI(e)}function lL(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var uL=Object.freeze([.05,.25,.5,.75]),dL=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function fL(e,t){let n=W(e,0),r=W(t,0);if(n<=0||r<=0)return 0;let i=n/r,a=1;for(let e=0;e<uL.length;e+=1)i>=uL[e]&&(a=e+1);return a}function pL(e,{weeks:t=16,today:n=new Date}={}){let r=(Array.isArray(e)?e:[]).filter(e=>qF.test(String(e?.day??``))),i=new Map(r.map(e=>[String(e.day),e])),a=n instanceof Date?n:new Date(n),o=Number.isFinite(a.getTime())?a:new Date,s=typeof n==`string`&&qF.test(n)?n:ih(o),c=ZI(QI(s));if(!c)return{cells:[],max:0,weeks:0};let l=new Date(c.getFullYear(),c.getMonth(),c.getDate()-(t-1)*7,12),u=ih(l),d=[],f=0,p=null;for(let e of r){let t=String(e.day);(p===null||t<p)&&(p=t),!(t<u||t>s)&&(f=Math.max(f,W(e.tokens,0)))}for(let e=0;e<t;e+=1)for(let t=0;t<7;t+=1){let n=ih(new Date(l.getFullYear(),l.getMonth(),l.getDate()+e*7+t,12)),r=i.get(n)||null,a=n>s,o=p!==null&&n<p;d.push({day:n,week:e,weekday:t,tokens:W(r?.tokens,0),costUSD:W(r?.costUSD,0),source:r?.source===`history`?`history`:r?`live`:null,noData:a||o||!r&&p===null,tone:fL(r?.tokens,f)})}return{cells:d,max:f,weeks:t}}function mL(e){let t=aI(e?.day);if(e?.noData)return`${t}: no data`;let n=W(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${eI(n)} tokens, ${$F(W(e?.costUSD,0))}`}function hL(e){if(!e)return``;let t=W(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${bL(e.ratio)} the ${n} average: ${$F(e.todayUsd)} against ${$F(e.baselineUsd)}.`}function gL(e){return e?`This block is burning ${bL(e.ratio)} the usual rate: ${eI(e.current)} tokens per minute against ${eI(e.baseline)}.`:``}function _L(e){return[hL(e?.daily),gL(e?.burn)].filter(Boolean).join(` `)}function vL(e){return e?.daily||e?.burn?`warn`:`ok`}function yL(e){return!!(e?.daily||e?.burn)}function bL(e){let t=W(e,null);return t===null?`-`:`${ZF(t.toFixed(1))}x`}var xL=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function SL(e){let t=Sh(e,``);return t?xL[t]||t:xL.claude}function CL(e,t){return TL(t)?SL(e?.vendor):``}function wL(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>W(t[n]?.tokens,0)-W(t[e]?.tokens,0)).map(e=>({vendor:e,label:SL(e),tokens:W(t[e]?.tokens,0),costUSD:W(t[e]?.costUSD,0)}))}function TL(e){let t=e?.byVendor;if(!t||typeof t!=`object`)return!1;let n=Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`);return n.length>1||n.length===1&&n[0]!==`claude`}var EL=`Claude only`;function DL(e){return TL(e)?EL:``}var OL=36e5,kL=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]);function AL(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=W(n.pct,null),i=W(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function jL(e){return kL.some(t=>AL(e,t.key)!==null)}function ML(e){return AL(e,`fiveHour`)?.pct??null}function NL(e){return e===`official`?`official, from Claude Code`:e===`estimated`?`estimated from the largest completed block`:``}function PL(e,t=null){let n=ML(t);if(n!==null)return gI(n);let r=gI(vI(e?.tokenLimit));return r===`ok`?gI(yI(e?.activeBlock?.projection,e?.tokenLimit)):r}function FL(e,t=null){let n=[],r=PL(e,t);r!==`ok`&&n.push(`block:${r}`),e?.anomaly?.daily&&n.push(`anomaly:daily`),e?.anomaly?.burn&&n.push(`anomaly:burn`);for(let t of GI(e)){let e=JI(t);if(e<90)continue;let r=typeof t?.scope==`string`&&t.scope?t.scope:`budget`;n.push(`budget:${r}:${e>=100?`over`:`near`}`)}return Ch(n)}function IL(e){let t=W(e?.pct,null);return t===null?`-`:`${tI(t)} used`}function LL(e,t=Date.now()){let n=W(e,null);if(n===null||n<=0)return``;let r=(n-t)/6e4;return r<=0?`resetting now`:`resets in ${dI(r)}`}function RL(e,t=Date.now()){let n=W(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function zL(e,t=Date.now()){let n=W(e,null);return n===null||n<=0||t-n>OL}function BL(e,t=Date.now()){if(!zL(e,t))return``;let n=RL(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function VL(e,t=``){let n=e?.source;if(n===`fetched`){let e=Sh(t,``);return e?`Prices fetched from the public model price table, ${e}.`:`Prices fetched from the public model price table.`}if(n===`cache`){let e=Sh(t,``);return e?`Prices from the cached public model price table, ${e}.`:`Prices from the cached public model price table.`}return n===`snapshot`?`Prices from the price table bundled with this Glimmervoid build.`:n===`unavailable`?`Model prices could not be loaded, so every cost below counts as zero.`:`Pricing source not reported yet.`}function HL(e){if(typeof e==`number`&&Number.isFinite(e))return e;if(typeof e!=`string`)return null;let t=Date.parse(e);return Number.isFinite(t)?t:null}function UL(e){let t=(Array.isArray(e)?e:[]).map(e=>String(e)).filter(e=>e);if(t.length===0)return``;let n=t.length===1?`model`:`models`;return`No price for ${t.length} ${n}: ${t.join(`, `)}. Their cost counts as zero here.`}function WL(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function GL(e){if(!e||typeof e!=`object`)return``;let t=[],n=WL(e.dirs);if(n!==null&&t.push(`${QF(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${QF(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${QF(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${QF(e.lastScanMs)}ms`),t.length===0)return``;let r=`Scanned ${t.join(`, `)}.`;return e.partial===!0?`${r} Some files were skipped this pass and will be re-read on the next one.`:r}function KL(e){return Sh(e?.error,``)}function qL(e){let t=Sh(e?.warning,``);return t?`Glimmervoid could not read every transcript location: ${t}`:``}function JL(e){return KL(e)!==``}function YL(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function XL(e){let t=String(e??``).trim();if(!t)return``;let n=t.split(/[\\/]+/).filter(e=>e);return n.length===0?t:n[n.length-1]}function ZL(e){return typeof e?.id==`string`&&e.id!==``}function QL(e){let t=Sh(e?.label,``);return ZL(e)&&t?t:XL(e?.project)||t||`unknown project`}function $L(e){return Sh(typeof e==`string`?e:e?.model,`unknown model`)}function eR(e){return String(e?.day??``)}function tR(e,t,n){if(!JF.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?eR(e):n(e)}function nR(e,t,n,r=QL){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=tR(e,t,r),o=tR(n,t,r);if(typeof i==`string`||typeof o==`string`)return a*String(i).localeCompare(String(o));if(i!==o)return a*(i-o);let s=Number(e?.tokens),c=Number(n?.tokens),l=Number.isFinite(s)?s:0,u=Number.isFinite(c)?c:0;return l===u?r(e).localeCompare(r(n)):u-l})}function rR(e){return YF.has(e)?`asc`:`desc`}function iR(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:rR(t)}}function aR(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var oR=Object.freeze({key:`lastTs`,dir:`desc`}),sR=Object.freeze({key:`tokens`,dir:`desc`}),cR=Object.freeze({key:`day`,dir:`desc`});function lR(e,t=oR){return nR(e,t.key,t.dir,QL)}function uR(e,t,n=10){if(!Array.isArray(e))return{rows:[],hiddenCount:0};let r=Number.isFinite(n)?Math.max(0,Math.floor(n)):10;return t||e.length<=r?{rows:e,hiddenCount:0}:{rows:e.slice(0,r),hiddenCount:e.length-r}}function dR(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${QF(t)} hidden`}function fR(e,t=sR){return nR(e,t.key,t.dir,$L)}function pR(e,t=cR){return nR(e,t.key,t.dir,eR)}function mR(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function hR(e,t=8){return(Array.isArray(e)?e:[]).filter(e=>e&&e.isGap!==!0).sort((e,t)=>(Number(t?.startTs)||0)-(Number(e?.startTs)||0)).slice(0,Math.max(0,t)).map(e=>({startTs:Number(e.startTs),tokens:typeof e.tokens==`number`&&Number.isFinite(e.tokens)?e.tokens:0,costUSD:typeof e.costUSD==`number`&&Number.isFinite(e.costUSD)?e.costUSD:0,isActive:e.isActive===!0}))}function gR(e){let t=W(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=W(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function _R(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=gR(e);return n===null?eI(t):`${eI(t)} ${$F(n)}`}function vR(e){let{source:t}=gR(e);return t===`official`?`Tokens counted from the transcript; cost reported by Claude Code for this conversation`:`Tokens and estimated API list-price cost for this conversation`}function yR(e){let{waiting:t,failed:n,done:r,complete:i,dormant:a,total:o}=e,s=e=>e>1?`s`:``,c=r+i,l=t+n;return t>0?{text:`${t} session${s(t)} ${t>1?`need`:`needs`} input`,severity:`warning`,alertCount:l}:n>0?{text:`${n} session${s(n)} failed`,severity:`critical`,alertCount:l}:o>0&&c===o?{text:`All sessions exited`,severity:`done`,alertCount:l}:o>0&&a===o?{text:`${a} session${s(a)} dormant`,severity:``,alertCount:l}:{text:``,severity:``,alertCount:l}}var bR=!1,xR=new Set;function SR(e){bR=!!e,YR();for(let e of xR)e(bR)}function CR(e){return xR.add(e),()=>xR.delete(e)}function wR(){return bR}var TR=null;function ER(e){TR=e}var DR=[{cls:`agent-badge`,title:`Agent CLI this session supervises`},{cls:`worktree-badge`,text:`worktree`,title:`Running in a linked git worktree`,ariaLabel:`Linked git worktree`},{cls:`post-turn-badge`,ariaHidden:!0},{cls:`usage-badge`,title:`Tokens and estimated API list-price cost for this conversation`},{cls:`wakeup-badge`},{cls:`prompt-badge`,title:`Waiting on a permission or input prompt`}];function OR({cls:e,text:t=``,title:n,ariaLabel:r,ariaHidden:i}){let a=p(`span`,e,t);return n&&(a.title=n),r&&a.setAttribute(`aria-label`,r),i&&a.setAttribute(`aria-hidden`,`true`),a}function kR(e,t){e.textContent=t?`SANE YOLO`:`YOLO`,e.title=t?`Skips permission prompts; Sane YOLO blocks catastrophic commands`:`Running with --dangerously-skip-permissions`}function AR(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&kR(n,t)}function jR(e,t){let n=O(e);n&&AR(n.card,t)}function MR(e,t,n,r={}){let i=n||a.INITIALIZING,o=p(`div`,`session-card`);o.dataset.id=e,o.dataset.session=t,o.dataset.state=i,r.skipPerms&&(o.dataset.skipPerms=``),r.saneYolo&&(o.dataset.saneYolo=``),r.worktree&&(o.dataset.worktree=``),r.workspace&&(o.dataset.workspace=``),r.path&&(o.dataset.path=String(r.path));let s=p(`div`,`session-card-header`),c=p(`span`,`session-name`,t);c.title=`Double-click or press F2 to rename`,c.tabIndex=0;let l=r.skipPerms?p(`span`,`perms-badge`):null;l&&kR(l,r.saneYolo===!0);let u=p(`span`,`session-task-title`);IR(u,r.taskTitle);let d=p(`span`,`session-pr-chips session-card-prs`);d.hidden=!0,TR?.(d,e);let f=p(`span`,`card-elapsed`);f.setAttribute(`aria-hidden`,`true`);let m=p(`div`,`session-actions`),h=p(`div`,`session-overflow`),g=p(`button`,`btn-action btn-restart-menu visible`,`↻`);g.type=`button`,g.title=`Restart`,g.setAttribute(`aria-label`,`Restart`),g.setAttribute(`aria-haspopup`,`menu`),g.setAttribute(`aria-expanded`,`false`);let _=p(`div`,`session-overflow-menu`);_.id=`restart-menu-${e}`,_.setAttribute(`role`,`menu`),g.setAttribute(`aria-controls`,_.id);let v=NR(`Restart`,`Keeps this conversation`,`overflow-restart`),y=NR(`Restart fresh`,`Ends this conversation and starts a new one`,`overflow-restart-fresh`),b=NR(`Resume conversation...`,`Pick an earlier conversation`,`overflow-resume`),ee=NR(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`),x=NR(`Link pull request...`,`Show a pull request on this card`,`overflow-link-pr visible`),te=NR(`Conversation view`,`Show this session as messages (experimental)`,`overflow-conversation-view`);te.setAttribute(`role`,`menuitemcheckbox`),te.setAttribute(`aria-checked`,`false`),x.onclick=()=>{_.classList.remove(`open`),g.setAttribute(`aria-expanded`,`false`),PR(e)},_.append(v,y,b,ee,te,x),h.append(g,_);let ne=p(`button`,`btn-action btn-debug`,`⚙`);ne.title=`Debug state`,ne.setAttribute(`aria-label`,`Debug session state`);let S=p(`button`,`btn-action btn-trace`,`≡`);S.type=`button`,S.title=`Trace`,S.setAttribute(`aria-label`,`Trace`);let re=p(`button`,`btn-action btn-remove visible`,`×`);re.type=`button`,re.title=`Remove session`,re.setAttribute(`aria-label`,`Remove session`);let C=p(`button`,`btn-action btn-face-plan`,`Plan`);C.type=`button`,C.title=`Show plan`;let w=p(`button`,`btn-action btn-face-plan btn-docs`,`Docs`);w.type=`button`,w.title=`Open docs the agent surfaced`;let ie=p(`div`,`face-switch`);ie.setAttribute(`role`,`group`),ie.setAttribute(`aria-label`,`Card view`);let ae=p(`button`,`face-switch-option`,`Terminal`);ae.type=`button`,ae.setAttribute(`aria-pressed`,`true`);let oe=p(`button`,`face-switch-option`,`Conversation`);oe.type=`button`,oe.setAttribute(`aria-pressed`,`false`),ie.append(ae,oe),m.append(ie,w,C,ne,S,h,re);let T=p(`div`,`session-card-tags`),E=DR.map(e=>OR(e));l&&E.push(l),T.append(...E),s.append(c,f,u,d,T,m);let D=p(`div`,`terminal-wrap`);return o.append(s,D),{card:o,header:s,nameEl:c,elapsedEl:f,taskTitleEl:u,btnRestart:v,btnRestartFresh:y,btnRestartMenu:g,btnResume:b,btnWorkspaceRepos:ee,btnConversationView:te,btnTrace:S,btnRemove:re,btnPlan:C,btnDocs:w,btnDebug:ne,faceSwitch:ie,btnFaceTerminal:ae,btnFaceConversation:oe,restartMenu:_,termWrap:D}}function NR(e,t,n){let r=p(`button`,`overflow-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(p(`span`,`restart-menu-label`,e),p(`span`,`restart-menu-hint`,t)),r}function PR(e){let{dialog:t,close:n,actions:r,btnCancel:i}=wm({title:`Link pull request`}),a=p(`p`,`dialog-message`,`Paste a GitHub pull request URL or owner/repo#number.`),o=p(`input`,`dialog-input`);o.type=`text`,o.placeholder=`owner/repo#123`,o.autocomplete=`off`,o.spellcheck=!1,o.setAttribute(`aria-label`,`Pull request URL or owner/repo#number`);let s=p(`div`,`dialog-error`);s.setAttribute(`role`,`alert`);let c=p(`button`,`btn-dialog btn-dialog-confirm`,`Link`);c.type=`button`,r.append(c),t.append(a,o,s,r);function l(){let t=Cu(o.value);t?U({type:`link-session-pr`,id:e,key:t})?n():s.textContent=`Not connected to the server.`:s.textContent=`Enter a github.com pull request URL or owner/repo#number.`}i.addEventListener(`click`,n),c.addEventListener(`click`,l),o.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),l())}),requestAnimationFrame(()=>o.focus())}function FR(e,t){e.tabIndex=0,e.setAttribute(`role`,`button`),e.addEventListener(`click`,t),e.addEventListener(`keydown`,e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),t())})}function IR(e,t){e.title=t??``,t&&e.removeAttribute(`aria-label`),t||e.setAttribute(`aria-label`,`Describe the task`),!e.querySelector(`input`)&&(e.textContent=t??``)}function LR(e,t){let n=e.titleTargetEl?.isConnected?e.titleTargetEl:e.taskTitleEl;if(n.querySelector(`input`))return;let r=document.createElement(`input`);r.type=`text`,r.className=`session-title-input`,r.setAttribute(`aria-label`,`Task`),r.value=e.taskTitleIsCustom?e.taskTitle??``:``,r.placeholder=e.taskTitle??`What is this session working on?`,r.maxLength=120;let i=n.getAttribute(`role`),a=n.getAttribute(`tabindex`);n.removeAttribute(`role`),n.removeAttribute(`tabindex`),n.replaceChildren(r),r.focus(),r.select();function o(o){r.removeEventListener(`blur`,s),r.removeEventListener(`keydown`,c),o&&U({type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),IR(n,e.taskTitle)}function s(){o(!0)}function c(e){e.stopPropagation(),e.key===`Enter`&&(e.preventDefault(),o(!0)),e.key===`Escape`&&(e.preventDefault(),o(!1))}r.addEventListener(`blur`,s),r.addEventListener(`keydown`,c)}var RR=`session-rename-input`;function zR(e){return!!e?.querySelector(`.${RR}`)}function BR(e,t){let n=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!n||zR(n))return;let r=e.card?.dataset.session??n.textContent??``;function i(){let t=e.card?.dataset.session??r;n.textContent=t,e.nameEl&&e.nameEl!==n&&(e.nameEl.textContent=t)}let a=document.createElement(`input`);a.type=`text`,a.className=RR,a.value=r,a.maxLength=64,n.textContent=``,n.appendChild(a),a.focus(),a.select();function o(){let n=a.value.trim();if(c(),!n||n===r)i();else{for(let[,t]of T)if(t!==e&&t.card.dataset.session===n){i(),sg(`Session "${n}" already exists.`);return}U({type:`rename-session`,id:t,newName:n}),i()}}function s(){c(),i()}function c(){a.removeEventListener(`blur`,o),a.removeEventListener(`keydown`,l)}function l(e){e.key===`Enter`&&(e.preventDefault(),o()),e.key===`Escape`&&(e.preventDefault(),s()),e.stopPropagation()}a.addEventListener(`blur`,o),a.addEventListener(`keydown`,l)}var VR=`<button type="button" class="debug-close" aria-label="Close debug overlay" title="Close">×</button>`;function HR(e){return e?oh(new Date(e)):`-`}function UR(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function WR(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${UR(e.quietMs)})`:``}function GR(e){let t=`<span class="debug-dim">${HR(e.ts)}</span>`;if(e.kind===`signal`){let n=XA([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${XA(e.event||``)}</span>`:e.action===`gate-held`?`${t} ${n} → held <span class="debug-dim">(${Number(e.active)||0} bg)</span>`:`${t} ${n} → <span class="debug-dim">no-op</span>`}if(e.kind===`gate`){let n=(e.repeats??0)>1?` <span class="debug-dim">x${Number(e.repeats)}</span>`:``,r=WR(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${XA(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=XA(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${XA(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${XA(e.category||`?`)}: <span class="debug-dim">${XA(e.from||`?`)} → ${XA(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${XA(e.kind||`decision`)}</span>`}function KR(e,t){if(!e.debugOverlay)return;let n=t,r=VR;if(r+=`<div class="debug-section"><div class="debug-section-title">State</div>`,r+=`<div class="debug-field"><span class="debug-label">Current:</span> <span class="debug-value">${XA(n.state)}</span></div>`,r+=`</div>`,r+=`<div class="debug-section"><div class="debug-section-title">Transitions (last ${n.transitions.length})</div>`,n.transitions.length===0&&(r+=`<div class="debug-field debug-dim">No transitions recorded</div>`),n.transitions.length>0)for(let e of n.transitions){let t=e.detail&&typeof e.detail==`object`?e.detail:null,n=t?[t.signal,t.source,t.deferred?`deferred`:null].filter(Boolean):[],i=n.length>0?` <span class="debug-dim">${XA(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${HR(e.timestamp)}</span> ${XA(e.from)} → ${XA(e.to)} <span class="debug-label">${XA(e.event)}</span>${i}</div>`}r+=`</div>`;let i=n.detection||{},a=i.lastSignal,o=i.titleState||{};r+=`<div class="debug-section"><div class="debug-section-title">Detection</div>`,r+=`<div class="debug-field"><span class="debug-label">Last signal:</span> <span class="debug-value">${a?`${XA(a.signal)} (${XA(a.source||`?`)}${a.confidence?`/${XA(a.confidence)}`:``})`:`none`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hooks injected:</span> <span class="debug-value">${i.hooksInjected?`yes`:`no`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Hook seen:</span> <span class="debug-value">${i.hookSeen?`yes`:`no (degraded → title)`}</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Title state:</span> <span class="debug-value">${XA(o.lastKind||`none`)}${o.hasSeenSpinner?` · spun`:``}</span></div>`,r+=`</div>`;let s=i.agents||{},c=i.gate;r+=`<div class="debug-section"><div class="debug-section-title">Agents</div>`,r+=`<div class="debug-field"><span class="debug-label">Active:</span> <span class="debug-value">${Number(s.active)||0} (counted ${Number(s.counted)||0}, declared ${Number(s.declared)||0})</span></div>`,r+=`<div class="debug-field"><span class="debug-label">Idle:</span> <span class="debug-value">${Number(s.idleNames)||0} names, ${Number(s.idleTasks)||0} tasks</span></div>`;let l=c?`held ${UR(c.heldForMs)} (seq ${Number(c.seq)||0}, lastActivity ${Number(c.lastActivitySeq)||0})`:`none`;r+=`<div class="debug-field"><span class="debug-label">Gate:</span> <span class="debug-value">${XA(l)}</span></div>`,r+=`</div>`;let u=Array.isArray(n.decisions)?n.decisions:[];r+=`<div class="debug-section"><div class="debug-section-title">Decisions (last ${u.length})</div>`,u.length===0&&(r+=`<div class="debug-field debug-dim">No decisions recorded</div>`);for(let e of u)r+=`<div class="debug-field">${GR(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r}function qR(e,t){if(e.debugOpen){JR(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`${VR}<div class="debug-field debug-dim">Loading...</div>`,e.card.appendChild(n),e.debugOverlay=n,e.debugOpen=!0,n.addEventListener(`click`,t=>{t.stopPropagation(),t.target instanceof Element&&t.target.closest(`.debug-close`)&&JR(e)}),U({type:`debug-state`,id:t})}function JR(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function YR(){for(let[,e]of T)e.btnDebug.classList.toggle(`visible`,bR),e.btnTrace.classList.toggle(`visible`,bR),!bR&&e.debugOpen&&JR(e)}function XR(e){let t=typeof e.id==`string`?T.get(e.id):void 0;t?.debugOpen&&KR(t,e.payload)}function ZR(e){O(e)?.debugOpen&&U({type:`debug-state`,id:e})}function QR({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function $R({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function ez(e,t){return t===a.RUNNING?e===`restart-fresh`?{title:`Restart fresh`,message:`This agent is mid-turn. A fresh restart ends this conversation and starts a new one. Restart anyway?`,confirmLabel:`Restart fresh`,danger:!0}:{title:`Restart`,message:`This agent is mid-turn. Restarting interrupts the current turn and keeps this conversation. Restart anyway?`,confirmLabel:`Restart`,danger:!1}:null}function tz(e,t,n){let r=c.includes(t)?`force-restart`:`restart`;return e===`restart-fresh`?{type:r,id:n,fresh:!0}:{type:r,id:n}}function nz(e,t,n){let r=()=>n.send(tz(e,n.readState(),t)),i=ez(e,n.readState());i?n.confirm({...i,onConfirm:r}):r()}var rz=`DORMANT`;function iz(e){return e?eh(Date.now()-e,{rounding:`round`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:60}):``}function az(e,t,n){let r=p(`button`,`resume-item`);r.type=`button`,r.setAttribute(`role`,`option`),e.id===t&&r.classList.add(`resume-item-current`);let i=[e.worktreeName,e.gitBranch?e.gitBranch.replace(/^refs\/heads\//,``):null,iz(e.mtime)].filter(Boolean).join(` · `);return r.innerHTML=`<span class="resume-item-title">${XA(e.title||e.id)}</span><span class="resume-item-meta">${XA(i)}${e.id===t?` · current`:``}</span>`,r.addEventListener(`click`,()=>n(e.id)),r}function oz(e,t={}){let n=(t.currentState||``)===rz,{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=wm({title:`Resume a conversation`,dialogClass:`dialog resume-dialog`}),c=p(`p`,`dialog-message`,`Pick a Claude conversation from this repo (any worktree) to continue in this card.`),l=p(`div`,`resume-list`);l.setAttribute(`role`,`listbox`),l.setAttribute(`aria-label`,`Resumable conversations`),l.append(p(`div`,`resume-empty`,`Loading conversations...`));let u=p(`button`,`btn-dialog btn-dialog-cancel`,`Start fresh`);u.title=`Clear any resume binding so this card starts a new conversation`,o.prepend(u),i.append(c,l,o);function d(t){U({type:`resume-conversation`,id:e,conversationId:t||``}),a(),t&&(n?U({type:`start-session`,id:e}):sg(`Conversation will resume on this session's next restart.`))}s.addEventListener(`click`,a),u.addEventListener(`click`,()=>d(null)),requestAnimationFrame(()=>s.focus()),hm(`list-conversations`,{id:e}).then(e=>{if(!r.isConnected)return;let t=e.type===`conversations`?e.conversations:[];if(l.innerHTML=``,e.error){l.append(p(`div`,`resume-empty`,`Could not list conversations: ${e.error}`));return}if(t.length===0){l.append(p(`div`,`resume-empty`,`No prior conversations found for this repo.`));return}let n=e.type===`conversations`?e.current??null:null;for(let e of t)l.append(az(e,n,d))}).catch(e=>{r.isConnected&&(l.innerHTML=``,l.append(p(`div`,`resume-empty`,`Could not list conversations: ${Dm(e)}`)))})}var sz={critical:s[a.FAILED],warning:s[a.WAITING],done:s[a.DONE],"":s[a.DORMANT]},cz=null,lz=null,uz=e=>e==null?``:String(e),dz=e=>c.includes(e),fz=e=>l.includes(e),pz=!1;function mz(e){return pz&&p_(e.agent)}function hz(e){return mz(e)&&e.isConversationViewOn&&e.isBorrowed}function gz(e){e.faceSwitch.classList.toggle(`visible`,hz(e)),e.btnConversationView.classList.toggle(`visible`,mz(e)),e.btnConversationView.setAttribute(`aria-checked`,String(e.isConversationViewOn)),e.btnFaceTerminal.setAttribute(`aria-pressed`,String(e.face===`terminal`)),e.btnFaceConversation.setAttribute(`aria-pressed`,String(e.face===`conversation`))}function _z(e){pz=e;for(let t of T.values())!e&&t.face===`conversation`&&t._showTerminalFace?.(),Cz(t)}function vz(e){let t=O(e);return!t||!hz(t)?!1:(t.face=`conversation`,t.card.dataset.face=`conversation`,t.termWrap.hidden=!0,t.planFace.hide(),t.conversationFace.show(D(e)),Cz(t),!0)}function yz(e,t){let n=O(e);if(!n)return;let r=n.isConversationViewOn;n.hasConversationBridge=t.hasConversationBridge,n.conversationApproval=t.conversationApproval,n.isConversationViewOn=t.isConversationViewOn,Cz(n),n.conversationFace.refresh(),r!==t.isConversationViewOn&&(n.prefersConversation=t.isConversationViewOn,t.isConversationViewOn?vz(e):n.face===`conversation`&&n._showTerminalFace?.())}function bz(e){return O(e.id)?.conversationFace.applyTraceResponse(e)===!0}function xz(e){O(e.id)?.conversationFace.applyTraceError(e)}function Sz(e){O(e)?.conversationFace.applyTraceChanged(D(e))}function Cz(e){gz(e);let t=e.currentState,n=dz(t)||fz(t);e.btnRestart.classList.toggle(`visible`,n),e.btnRestartFresh.classList.toggle(`visible`,n),e.btnResume.classList.add(`visible`),e.btnWorkspaceRepos.classList.toggle(`visible`,e.card.dataset.workspace!==void 0),e.btnTrace.classList.toggle(`visible`,wR()),e.btnPlan.classList.toggle(`visible`,$R(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function wz(e){e.restartMenu.classList.remove(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`false`)}function Tz(e,t){FR(e.taskTitleEl,()=>LR(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),BR(e,t)}),e.nameEl.addEventListener(`click`,()=>{zR(e.nameEl)||n_(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),BR(e,t))});function n(n){wz(e),e.btnRestartMenu.focus(),nz(n,t,{readState:()=>e.currentState,send:U,confirm:Tm})}e.btnRestart.addEventListener(`click`,()=>n(`restart`)),e.btnRestartFresh.addEventListener(`click`,()=>n(`restart-fresh`)),e.btnResume.addEventListener(`click`,()=>{wz(e),oz(t,{currentState:e.currentState})}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{wz(e),jm(t)}),e.btnTrace.addEventListener(`click`,()=>{wz(e),IF(t)}),e.btnDocs.addEventListener(`click`,()=>{wz(e),nie(t)}),e.btnConversationView.addEventListener(`click`,()=>{wz(e),U({type:`set-session-conversation-view`,id:t,isOn:!e.isConversationViewOn})}),e.btnFaceTerminal.addEventListener(`click`,()=>{e.prefersConversation=!1,e._showTerminalFace?.()}),e.btnFaceConversation.addEventListener(`click`,()=>{e.prefersConversation=!0,vz(t)}),e.btnPlan.addEventListener(`click`,()=>{let n=$R(e);n!==`hidden`&&(n===`face`?Iz(t):location.hash=Ej(t))}),e.btnRemove.addEventListener(`click`,()=>{wz(e);let n=e.card.dataset.session,r=e.card.dataset.merge,i=r===`pending-review`||r===`parked`;Tm({title:`Remove Session`,message:i?`"${n}" has unmerged worktree changes that will be permanently discarded if you remove it. Merge or review them first to keep them. Remove anyway?`:`Remove session "${n}"?`,confirmLabel:i?`Discard & Remove`:`Remove`,onConfirm:()=>U({type:`remove-session`,id:t})})}),e.btnRestartMenu.addEventListener(`click`,t=>{t.stopPropagation();for(let[,t]of T)t!==e&&wz(t);let n=e.restartMenu.classList.toggle(`open`);e.btnRestartMenu.setAttribute(`aria-expanded`,String(n))});let r=[e.btnRestart,e.btnRestartFresh,e.btnResume,e.btnWorkspaceRepos,e.btnConversationView];function i(t){if(t.key!==`ArrowDown`&&t.key!==`ArrowUp`)return;t.preventDefault(),t.stopPropagation();for(let[,t]of T)t!==e&&wz(t);e.restartMenu.classList.add(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`true`);let n=r.filter(e=>e.classList.contains(`visible`)),i=document.activeElement,a=i instanceof HTMLButtonElement?n.indexOf(i):-1;n[((t.key===`ArrowDown`?a+1:a<0?n.length-1:a-1)+n.length)%n.length]?.focus()}e.btnRestartMenu.addEventListener(`keydown`,i),e.restartMenu.addEventListener(`keydown`,i),document.addEventListener(`keydown`,t=>{t.key===`Escape`&&e.restartMenu.classList.contains(`open`)&&(t.preventDefault(),wz(e),e.btnRestartMenu.focus())},{signal:e.abortController.signal}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;!e.restartMenu.contains(n)&&n!==e.btnRestartMenu&&wz(e)},{signal:e.abortController.signal}),e.termWrap.addEventListener(`mousedown`,()=>{(e.currentState===a.WAITING||e.currentState===a.COMPLETE)&&U({type:`dismiss`,id:t})}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),qR(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&JR(e)},{signal:e.abortController.signal})}function Ez(e,t,n){let r=O(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&IR(e,r.taskTitle)}}function Dz(e){return typeof e==`string`&&T.has(e)}function Oz(){return T.size}function kz(){return[...T.keys()]}function Az(e){let t=e||{};t.cursorBlink!=null&&_se(t.cursorBlink),t.debugMode!=null&&(SR(t.debugMode),Lse(t.debugMode));for(let[,e]of T)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function jz(){ow(T.values(),cw())}function Mz(){if(!ce)return;let e=0,t=0,n=0,r=0,i=0,o=0;for(let[,s]of T){o++;let c=s.currentState;c===a.WAITING?e++:c===a.FAILED?t++:c===a.DONE?n++:c===a.COMPLETE?r++:c===a.DORMANT&&i++}let{text:s,severity:c,alertCount:l}=yR({waiting:e,failed:t,done:n,complete:r,dormant:i,total:o});if((s!==cz||c!==lz)&&(cz=s,lz=c,ce.dataset.severity=c,ce.textContent=``,ce.title=s,s)){let e=p(`span`,`aggregate-glyph`,sz[c]??sz[``]);e.setAttribute(`aria-hidden`,`true`),ce.append(e,p(`span`,`aggregate-text`,s))}document.title=l>0?`(${l}) Glimmervoid`:`Glimmervoid`}function Nz(e,t,n,r={}){if(!se)return;let i=D(e),o=uz(n)||a.DORMANT,s=MR(i,uz(t),o,r),c=o===a.DORMANT;se.appendChild(s.card);let l;function u(){l.face=`terminal`,l.card.dataset.face=`terminal`,l.termWrap.hidden=!1,l.planFace.hide(),l.conversationFace.hide(),Cz(l),qA(l,i)}let d=new AbortController,f=fce({signal:d.signal,requestPlan:(e,t,n)=>U({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>U({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:u,sendDecision:(e,t)=>U({type:`plan-decision`,id:e,...t}),reportProblem:e=>sg(`${s.nameEl.textContent||i}: ${e}`)}),p=Nse({signal:d.signal,sendControl:e=>U(e),showTerminal:()=>{l.prefersConversation=!1,u()}});return l={term:null,fitAddon:null,webglAddon:null,needsWebGLReload:!1,webglAttachedWithoutLayout:!1,dataWs:null,card:s.card,nameEl:s.nameEl,taskTitleEl:s.taskTitleEl,taskTitle:r.taskTitle??null,taskTitleIsCustom:r.taskTitleIsCustom??!1,elapsedEl:s.elapsedEl,path:uz(r.path),stateSince:typeof r.stateSince==`number`&&Number.isFinite(r.stateSince)?r.stateSince:Date.now(),restartMenu:s.restartMenu,termWrap:s.termWrap,btnDebug:s.btnDebug,btnRestart:s.btnRestart,btnRestartFresh:s.btnRestartFresh,btnRestartMenu:s.btnRestartMenu,btnResume:s.btnResume,btnWorkspaceRepos:s.btnWorkspaceRepos,btnConversationView:s.btnConversationView,btnTrace:s.btnTrace,btnPlan:s.btnPlan,faceSwitch:s.faceSwitch,btnFaceTerminal:s.btnFaceTerminal,btnFaceConversation:s.btnFaceConversation,btnDocs:s.btnDocs,btnRemove:s.btnRemove,debugOverlay:null,debugOpen:!1,abortController:d,currentState:o,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,planReviewState:{reviews:[]},planFace:f,conversationFace:p,prefersConversation:!1,conversationApproval:null,hasConversationBridge:!1,isConversationViewOn:!1},l._ensureTerminalReady=()=>qA(l,i),l._showTerminalFace=u,l._showPreferredFace=()=>{Pz(l)===`plan`?Iz(i):l.prefersConversation&&vz(i)||u()},l._setBorrowed=e=>{l.isBorrowed=e,Cz(l)},s.card.append(f.el,p.el),T.set(i,l),Tz(l,i),Cz(l),l.btnDocs.classList.toggle(`visible`,xg(i)),o===a.RUNNING&&ph(l,!0),c||(HA(s.termWrap,l),UA(l,i)),Mz(),l}function Pz(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(mj);return QR({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function Fz(e){let t=O(e);return!t?.isBorrowed||Pz(t)!==`plan`?!1:Iz(e)}function Iz(e){let t=O(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.conversationFace.hide(),t.planFace.show(D(e)),Cz(t),!0)}function Lz(e,t){let n=O(e);n&&(n.hasPlan=t===!0,Cz(n),Fz(e))}function Rz(e){let t=O(e.id);t&&(t.planReviewState=ice(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),Cz(t),Fz(e.id))}function zz(e){let t=O(e.id);t&&t.planFace.update({draft:e})}function Bz(e){let t=O(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),Cz(t))}function Vz(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return;let t=O(e.id);t&&(e.scope===`plan`?t.planFace.update({requestFailed:!0}):t.planFace.update({decisionRefused:!0}))}function Hz(e){for(let[,t]of T)t.planFace.update({isConnected:e})}function Uz(e,t){let n=O(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function Wz(e,t){let n=O(e);if(!n)return;n.agent=typeof t==`string`?t:null,Cz(n);let r=Pm(t);Kz(n,`.agent-badge`,`agent`,{on:r!==``,value:r,text:r})}function Gz(e,t){let n=O(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function Kz(e,t,n,r){let{on:i,value:a=``,text:o,title:s}=r,c=e.card.querySelector(t);if(i)e.card.dataset[n]=a,c&&(o!==void 0&&(c.textContent=o),s!==void 0&&(c.title=s));else{if(delete e.card.dataset[n],!c)return;o!==void 0&&(c.textContent=``),s!==void 0&&c.removeAttribute(`title`)}}function qz(e,t){let n=O(e);n&&Kz(n,`.session-card-prs`,`prAttention`,{on:t})}function Jz(e,t,n=!1){let r=O(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=x(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function Yz(e,t){let n=O(e);if(!n)return;let r=_R(t);Kz(n,`.usage-badge`,`usage`,{on:!!r,text:r||``,title:r?vR(t):void 0})}function Xz(e,t,n=!1){let r=O(e);r&&(r.pendingPromptKind=typeof t==`string`?t:null,Kz(r,`.prompt-badge`,`prompt`,{on:!!t||n,value:n?`compacting`:uz(t),title:n?`Context compaction in progress`:`Waiting on a permission or input prompt`,text:n?`compacting`:t===`plan`?`Plan ready`:t===`permission`?`permission`:`input`}),r.conversationFace.refresh(),Fz(e))}function Zz(e){return e?`sleeping until ~${ah(new Date(e))}`:`scheduled`}function Qz(e,t){let n=O(e);n&&Kz(n,`.wakeup-badge`,`wakeup`,{on:!!t,value:t?.kind||`wakeup`,text:Zz(t?.at),title:t?.reason?`Scheduled revival: ${t.reason}`:`Scheduled revival pending`})}function $z(e,t){let n=O(e);if(!n)return;let r=Array.isArray(t.findings)?t.findings:[],i=t.filesFixed||0,a=null,o=0;!t.skipped&&t.mode===`fix`&&i>0&&(a=`fixed`,o=i),!t.skipped&&t.mode===`report`&&r.length>0&&(a=`flagged`,o=new Set(r.map(e=>e.file)).size);let s={};for(let e of r)s[e.rule]=(s[e.rule]||0)+(e.count||0);let c=Object.keys(s).map(e=>`${e}: ${s[e]}`).join(`, `),l=a===`fixed`?`auto-fixed`:`flagged`;Kz(n,`.post-turn-badge`,`pt`,{on:!!a,value:a||void 0,text:`${a===`fixed`?`✓`:`⚠`} ${o}`,title:`Post-turn ${l} ${o} file(s)${c?` (${c})`:``}`})}function eB(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function tB(e,t,n=null){let r=O(e),i=uz(t)||`none`;r&&eB(r.card,i),RM(D(e),i,uz(n)||null)}function nB(e,t,n=null){let r=O(e),i=uz(t)||`none`;r&&eB(r.card,i),zM(D(e),i,uz(n)||null)}function rB(e,t){BM(D(e),t)}function iB(e,t){let n=O(e);if(!n)return;let r=uz(t);n.card.dataset.session=r,n.nameEl.textContent=r}function aB(e){let t=O(e);t&&(JR(t),T.delete(D(e)),dce(D(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),t.dataWs&&t.dataWs.readyState<=WebSocket.OPEN&&t.dataWs.close(),CA(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),Mz())}function oB(e,t,n){if(!t||!e.term)return;e.term.clear(),e.term.reset();let r=n===a.DONE?`Session complete`:`Session failed`,i=n===a.DONE?`\x1B[34m`:`\x1B[31m`;e.term.write(`\r\n\x1b[2m${i} ${r}\x1b[0m\r\n\r\n\x1b[2m Press Restart to start a new session.\x1b[0m\r\n`)}function sB(e,t){e.term&&(t===a.DONE||t===a.FAILED)&&(e.term.clear(),e.term.reset())}function cB(e,t,n){let r=document.activeElement;return Die({previousState:t,nextState:n,isPhoneLayout:vw(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function lB(e,t,n,r=``){let i=O(e);if(!i)return;let o=uz(t),s=i.currentState;i.currentState=o,o!==a.RUNNING&&(i.awaitingBackgroundTasks=!1),i.conversationFace.refresh(),o!==s&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),ph(i,o===a.RUNNING)),s===a.DORMANT&&o!==a.DORMANT&&GA(i,D(e)),i.card.dataset.state=o,i.card.toggleAttribute(`data-monitoring`,x(o,i.awaitingBackgroundTasks)),Cz(i),(o===a.WAITING&&s!==a.WAITING||o===a.COMPLETE&&s!==a.COMPLETE)&&!jie(r)&&kf()&&lT(jf()),cB(i,s,o)&&U({type:`dismiss`,id:D(e),expectedState:a.COMPLETE});let c=o===a.DONE||o===a.FAILED,l=s!==a.DONE&&s!==a.FAILED&&s!==a.INITIALIZING;c&&l&&(i.card.classList.remove(`completion-flash`),requestAnimationFrame(()=>{requestAnimationFrame(()=>{i.card.classList.add(`completion-flash`),i.card.addEventListener(`animationend`,()=>i.card.classList.remove(`completion-flash`),{once:!0})})}),kf()&&lT(jf())),(o===a.DONE||o===a.FAILED)&&oB(i,l,o),o===a.INITIALIZING&&sB(i,s),Mz(),hh(i)}var uB=`(no path)`;function dB(e){if(!e)return uB;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function fB(e,t,n){let r=Array.isArray(e)?e:[],i=new Map;for(let e of r){let n=t(e),r=n?String(n):uB,a=i.get(r);a||(a={key:r,label:r===`(no path)`?uB:dB(r),title:r,rows:[]},i.set(r,a)),a.rows.push(e)}if(n)for(let e of n){if(!e)continue;let t=String(e);t===`(no path)`||i.has(t)||i.set(t,{key:t,label:dB(t),title:t,rows:[]})}let a=[...i.values()];return a.sort((e,t)=>e.label.localeCompare(t.label,void 0,{numeric:!0,sensitivity:`base`})||e.key.localeCompare(t.key)),{flat:i.size<=1,order:a.map(e=>e.key),groups:a}}function pB(e,t){if(!e||!Array.isArray(e.groups))return[];let n=t||new Set,r=[];if(e.flat){for(let t of e.groups)for(let e of t.rows)r.push(e.id);return r}let i=new Map(e.groups.map(e=>[e.key,e]));for(let t of e.order){if(n.has(t))continue;let e=i.get(t);if(e)for(let t of e.rows)r.push(t.id)}return r}var mB=null;function hB(e){mB=e}function gB(e,t){let n=p(e,t);return n.innerHTML=`<span class="focus-pill-name"></span><span class="focus-pill-badge"><span class="focus-pill-glyph"></span><span class="focus-pill-label"></span></span><span class="focus-pill-merge"></span><span class="session-pr-chips focus-pill-prs" hidden></span>`,{pill:n,refs:{glyph:y(n,`.focus-pill-glyph`),label:y(n,`.focus-pill-label`),name:y(n,`.focus-pill-name`),merge:y(n,`.focus-pill-merge`),prs:y(n,`.focus-pill-prs`)}}}function _B(e,t,n,r=!1){e.dataset.state=n;let{glyph:i,label:a,isMonitoring:o}=te(n,r);return e.toggleAttribute(`data-monitoring`,o),t.glyph.textContent=i,t.label.textContent=a,t.prs&&e.dataset.id&&mB?.(t.prs,e.dataset.id),a}function vB(){let e=new Map,t=new Set;function n(n){let r=new Set(n.map(e=>e.id));for(let{id:r,state:i}of n){let n=e.get(r);e.set(r,i),i===a.COMPLETE?n&&n!==a.COMPLETE&&t.add(r):t.delete(r)}for(let n of e.keys())r.has(n)||(e.delete(n),t.delete(n))}function r(e){t.delete(e)}function i(e){return t.has(e)}return{noteStates:n,acknowledge:r,isUnseen:i}}var yB=e=>e.ui.path,bB=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),xB=window.matchMedia?.(`(hover: none) and (min-width: 769px)`),SB=null,CB=null,wB=null,TB=null,EB=null,DB=null,OB=null,kB=!1,AB=null,jB=new Map,MB=new Map,NB=vB(),PB=new Map,FB=new Map,IB=null,LB=new Set;function RB(){return pB(BB(YB()),LB)}function zB(e){let t=IB;if(IB=e||null,t&&t!==IB){let e=MB.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(IB){let e=MB.get(IB);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function BB(e){return fB(e,yB,$g(e,yB))}function VB(e){let t=FB.get(e.key),n=PB.get(e.key);if(!t||!n){let r=Object.assign(p(`div`,`focus-rail-group`),{_addBtn:p(`button`,`focus-rail-group-add`,`+`),_forgetBtn:p(`button`,`focus-rail-group-remove`,`×`)});r.dataset.key=e.key,r.innerHTML=`<span class="focus-rail-group-label"></span><span class="focus-rail-group-rule" aria-hidden="true"></span>`;let i=r._addBtn;i.type=`button`,i.addEventListener(`click`,()=>s_(r.dataset.path,r.dataset.label));let a=r._forgetBtn;a.type=`button`,a.addEventListener(`click`,()=>{e_(r.dataset.path),tV()}),r.appendChild(a),r.appendChild(i),t=r,n=p(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),FB.set(e.key,t),PB.set(e.key,n)}y(t,`.focus-rail-group-label`).textContent=e.label,t.title=e.title,t.dataset.path=e.key,t.dataset.label=e.label;let r=e.key===uB,i=e.rows.length===0;return t._addBtn.hidden=r,r||(t._addBtn.title=`Add a session to ${e.label}`,t._addBtn.setAttribute(`aria-label`,`Add a session to ${e.label}`)),t._forgetBtn.hidden=r||!i,!r&&i&&(t._forgetBtn.title=`Remove ${e.label} from the rail`,t._forgetBtn.setAttribute(`aria-label`,`Remove ${e.label} from the rail`)),t.toggleAttribute(`data-empty`,i),n.setAttribute(`aria-label`,`${e.label} sessions`),{header:t,list:n}}function HB(){return kB}function UB(){return pe.snapshot().focusedSessionId}function WB({rail:e,center:t,resizer:n}){if(SB=e,wB=t,!SB||!wB)return;let r=SB,i=wB;qB(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,Lw(zw)),CB=p(`button`,`focus-rail-head`),CB.type=`button`,CB.append(p(`span`,`focus-rail-head-count`),Vw(Fw(`next-attention`,zw))),CB.addEventListener(`click`,aV),iV(!1,Gg(0)),r.append(CB),EB=p(`div`,`focus-empty`),EB.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,DB=EB.querySelector(`.focus-empty-title`),OB=EB.querySelector(`.focus-empty-desc`),TB=p(`div`,`focus-card-slot`),i.append(EB,TB),r.addEventListener(`keydown`,JB)}var GB={minPx:180,maxPx:480},KB=16;function qB(e){e&&SB&&Yg({resizer:e,column:SB,widthHost:SB,widthProperty:`--rail-width`,bounds:GB,keyStepPx:KB,getStoredWidth:Gf,setStoredWidth:Kf})}function JB(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||MB.get(n)!==t)return;e.preventDefault(),c_(n,jB.get(n));return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=Hg(RB(),IB,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),zB(t),MB.get(t)?.focus())}function YB(e=o_(XB)){for(let t of e)t.unseen=NB.isUnseen(t.id);return Vg(e)}function XB(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function ZB(e){let{pill:t,refs:n}=gB(`button`,`focus-pill`);t.type=`button`,t.dataset.id=e,t.setAttribute(`role`,`option`);let r=Object.assign(t,{_refs:n,_row:null});r.addEventListener(`click`,()=>QB(e));let i=p(`div`,`focus-pill-row`);i.setAttribute(`role`,`presentation`);let a=p(`button`,`focus-pill-remove`,`×`);return a.type=`button`,a.tabIndex=-1,xB?.matches||a.setAttribute(`aria-hidden`,`true`),a.title=`Remove session`,a.addEventListener(`click`,t=>{t.stopPropagation(),c_(e,jB.get(e))}),i.append(r,a),r._row=i,r}function QB(e){r_(e)&&uV(e)}function $B(e,{id:t,ui:n,state:r,name:i,unseen:a}){e.toggleAttribute(`data-unseen`,a);let o=_B(e,e._refs,r,n.awaitingBackgroundTasks),s=[i,n.taskTitle,o].filter(Boolean).join(`, `);e.setAttribute(`aria-label`,s),e.title=s,e._refs.name.textContent=i;let c=jB.get(t)||`none`;e.dataset.merge=c===`none`?``:c,e._refs.merge.textContent=ee[c]||``,e.dataset.activity=n._activity||``,e.classList.toggle(`focused`,t===UB());let l=t===IB;e.setAttribute(`aria-selected`,String(l)),e.tabIndex=l?0:-1}function eV(e,t){if(!kB)return;let n=e?.card?.dataset.id,r=n?MB.get(n):null;if(!r)return;if(t===`flag`){r.dataset.activity=e._activity||``;return}if(bB?.matches||document.hidden)return;let i=r._refs?.glyph;i?.animate&&i.animate([{transform:`scale(1)`,opacity:.65},{transform:`scale(1.35)`,opacity:1,offset:.3},{transform:`scale(1)`,opacity:.9}],{duration:300,easing:`cubic-bezier(0.22, 1, 0.36, 1)`})}uh(eV);function tV(){if(!kB)return;let e=SB;if(!e)return;let t=o_(XB);NB.noteStates(t);let n=YB(t),r=BB(n),i=new Set,a=(e,t)=>{let n=e.map(e=>e.id).join(`,`),r=t._lastOrderKey===n&&t.childElementCount===e.length;for(let n of e){let{id:e}=n;i.add(e);let a=MB.get(e);a||(a=ZB(e),MB.set(e,a)),$B(a,n),!r&&a._row&&t.appendChild(a._row)}t._lastOrderKey=n},o=new Set(r.order);for(let t of r.groups){let{header:n,list:r}=VB(t);e.appendChild(n),e.appendChild(r),a(t.rows,r)}for(let[e,t]of[...FB])o.has(e)||(t.remove(),PB.get(e)?.remove(),FB.delete(e),PB.delete(e));for(let[e,t]of MB)i.has(e)||((t._row||t).remove(),MB.delete(e),e===IB&&(IB=null));for(let e of[...jB.keys()])T.has(e)||jB.delete(e);let s=UB();if(s&&!T.has(s)){pe.dispatch(`focusSession`,null),IB=null;let e=n.find(e=>T.has(e.id));if(e){uV(e.id);return}}dV();let c=UB();if(c){let e=T.get(c);e&&e.card.parentElement!==TB&&cV(e,c)}rV()}function nV(){return YB().filter(Ug).map(({id:e})=>e)}function rV(){let e=Wg(YB());iV(e>0,Gg(e))}function iV(e,t){CB&&(y(CB,`.focus-rail-head-count`).textContent=t,CB.disabled=!e,e?(CB.removeAttribute(`data-empty`),CB.removeAttribute(`aria-hidden`)):(CB.dataset.empty=``,CB.setAttribute(`aria-hidden`,`true`)))}function aV(){if(!kB)return;let e=nV();if(!e.length)return;let t=hie(e,AB);if(!t)return;AB=t;let n=T.get(t),r=t===UB();r_(t),uV(t),MB.get(t)?.scrollIntoView({block:`nearest`}),r&&sV(t),oV(n,t)}function oV(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{kB&&UB()===t&&e.term?.focus()}))}function sV(e){if(bB?.matches||document.hidden)return;let t=MB.get(e);t?.animate&&t.animate([{transform:`scale(1)`},{transform:`scale(1.045)`,offset:.3},{transform:`scale(1)`}],{duration:360,easing:`cubic-bezier(0.22, 1, 0.36, 1)`});let n=T.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function cV(e,t){TB&&(ge(e,t,TB,{className:`focus-centered`}),JA(e,t,!0))}function lV(){let e=UB();e&&(he()===e&&_e(),pe.dispatch(`focusSession`,null))}function uV(e){kB&&T.has(e)&&e!==UB()&&(lV(),pe.dispatch(`focusSession`,e),IB=e,NB.acknowledge(e),i_(e),tV())}function dV(){if(!EB||!DB||!OB)return;let e=UB(),t=!!(e&&T.has(e));if(EB.hidden=t,t)return;let n=T.size>0;DB.textContent=n?`No session selected`:`Nothing to focus`,OB.textContent=n?`Select a session from the rail on the left to focus it here.`:`Spawn a session to start watching.`}function fV(e,t){jB.set(D(e),typeof t==`string`&&t?t:`none`),kB&&tV()}function pV(e){kB&&T.has(e)&&uV(e)}function mV(e){return!kB||!T.has(e)?!1:(uV(e),Iz(e))}function hV(e){if(!kB)return;let t=RB()[e-1];t&&QB(t)}function gV(e){if(!kB)return;let t=Hg(RB(),IB,e);t!=null&&(QB(t),MB.get(t)?.scrollIntoView({block:`nearest`}),oV(T.get(t),t))}function _V(){SB&&(kB=!0,lV(),IB=null,tV(),vV())}function vV(){if(!kB||UB())return;let e=a_();e&&uV(e)}function yV(){kB&&=(lV(),IB=null,!1)}function bV(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function xV(e){return/^#settings(?:[/?]|$)/.test(e)}function SV(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function CV(e,t,n){let r=p(`a`,`settings-link`,n);return r.href=bV(e,t),r}var wV=`t-[0-9a-f]{8}`,TV=`No findings. Open a markdown file in a connected editor.`,EV=`No intent yet. The visions proposes one after its first pass.`,DV=`Unowned`,OV=RegExp(`^${wV}$`);function kV(){return{byProject:{},unowned:[]}}function AV(e){if(!e||typeof e!=`object`)return null;let t=e,n=typeof t.text==`string`?t.text:``;if(!n)return null;let r=Number(t.ts),i=Number(t.hits);return{id:typeof t.id==`string`&&OV.test(t.id)?t.id:null,text:n,uris:Array.isArray(t.uris)?t.uris.filter(e=>typeof e==`string`&&e!==``):[],ts:Number.isFinite(r)&&r>0?r:0,hits:Number.isInteger(i)&&i>0?i:1}}function jV(e){if(Array.isArray(e))return e.map(AV).filter(e=>e!==null);let t=AV(e);return t?[t]:[]}function MV(e){let t=e?.intent;if(!t||typeof t!=`object`)return kV();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:jV(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=jV(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:jV(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function NV(e,t){let n=typeof t?.id==`string`?t.id:null;if(!n)return e;let r=e.findIndex(e=>e.id===n);return r<=0?e:[e[r],...e.slice(0,r),...e.slice(r+1)]}function PV(e,t){let n=e||kV(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=NV(Array.isArray(i.threads)?jV(i.threads):jV(i),i.active),o=typeof t?.projectId==`string`&&t.projectId?t.projectId:null;if(!o)return{byProject:{...n.byProject},unowned:a};let s={...n.byProject};return a.length===0&&delete s[o],a.length>0&&(s[o]=a),{byProject:s,unowned:n.unowned}}function FV(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function IV(e,{key:t,label:n,now:r}){return e.map((e,i)=>({key:`${t}:${e.id||i}`,label:n,text:e.text,hasText:!0,active:i===0,meta:BV(e,r)}))}function LV(e,t=null,n=Date.now()){let r=e||kV(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:FV(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>IV(r,{key:e,label:t,now:n})),a=IV(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:DV,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:DV,text:EV,hasText:!1,active:!1,meta:``}]}function RV(e){return e?.text?`proposed by visions`:``}function zV(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:eh(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function BV(e,t=Date.now()){let n=RV(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=zV(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function VV(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function HV(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function UV(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function WV(e){let t=typeof e==`string`?e:``;if(!t)return``;let n=t.lastIndexOf(`/`),r=n===-1?t:t.slice(n+1);if(!r)return t;try{return decodeURIComponent(r)}catch{return r}}function GV(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function KV(e){let t=GV(e);return t===1?`1 finding`:`${t} findings`}function qV(e){let t=GV(e);return t===1?`1 comment`:`${t} comments`}function JV(e){let t=GV(e?.findings?.length),n=GV(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(KV(t)),n>0&&i.push(qV(n)),i.length>0?i.join(`, `):KV(0)}function YV(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function XV(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function ZV(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=XV(t);return i?(n.set(r,i),n):(n.delete(r),n)}function QV(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=typeof e?.hand==`string`?e.hand.trim():``;n&&r&&t.set(n,r)}return t}var $V=`hand`,eH=`unseen`,tH=`
|
|
248
|
-
`;function nH(e){let t=2166136261,n=3266489909;for(let r=0;r<e.length;r+=1){let i=e.charCodeAt(r);t=Math.imul(t^i,16777619)>>>0,n=Math.imul(n^i,2246822507)>>>0}return`${t.toString(36).padStart(7,`0`)}${n.toString(36).padStart(7,`0`)}`}function rH(e,t){return nH(JSON.stringify([e,...t]))}function iH(e,t){return rH(`finding`,[e,VV(t),String(t.code??``),String(t.message??``)])}function aH(e,t){return rH(`comment`,[e,uH(t),String(t.message??``)])}function oH(e){return rH(`fix`,[e.uri,xH(e),e.code,e.message,SH(e)])}function sH(e){return rH(`intent`,[e.key,e.text,e.active])}function cH(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>rH(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(rH(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(iH(t,e));for(let[e,n]of t)for(let t of n)o.add(aH(e,t));for(let e of r)o.add(oH(e));for(let e of LV(i,null,0))e.hasText&&o.add(sH(e));let s=[...o].sort();return{signature:[...a,...s].join(tH),handEntries:a,contentEntries:s}}function lH(e,t){let n=new Set(t.split(tH));return e.handEntries.some(e=>!n.has(e))?$V:e.contentEntries.some(e=>!n.has(e))?eH:null}function uH(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function dH(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function fH(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=dH(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function pH(e){return Array.isArray(e?.comments)?e.comments:[]}function mH(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=pH(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function hH(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.diagnostics)?e.diagnostics:[];n&&r.length!==0&&t.set(n,r)}return t}function gH(e){let t=new Map,n=Array.isArray(e?.documents)?e.documents:[];for(let e of n){let n=typeof e?.uri==`string`?e.uri:``,r=Array.isArray(e?.comments)?e.comments:[];n&&r.length!==0&&t.set(n,r)}return t}function _H(e,t=new Map,n=new Map){let r=[],i=new Set([...e.keys(),...t.keys(),...n.keys()]);for(let a of i){let i=e.get(a),o=t.get(a),s=n.get(a)||null,c=Array.isArray(i)?i:[],l=Array.isArray(o)?o:[];(c.length!==0||l.length!==0||s)&&r.push({uri:a,name:WV(a)||a,hand:s,findings:[...c].sort((e,t)=>UV(e)-UV(t)||HV(e)-HV(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>vH(e.name,t.name)||vH(e.uri,t.uri)),r}function vH(e,t){return e<t?-1:+(e>t)}var yH=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function bH(e){let t=GV(e);return t===1?`1 fix`:`${t} fixes`}function xH(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function SH(e){return e?.applied===!0?`applied`:`refused`}function CH(e,{uri:t=``,ts:n=0}={}){if(!e||typeof e!=`object`)return null;let r=e,i=typeof r.message==`string`?r.message.trim():``;if(!i)return null;let a=Number(r.line),o=Number(r.ts??n);return{uri:typeof r.uri==`string`&&r.uri?r.uri:t,code:typeof r.code==`string`?r.code:``,line:Number.isFinite(a)&&a>0?Math.floor(a):0,message:i,applied:r.applied===!0,ts:Number.isFinite(o)&&o>0?o:0}}function wH(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return CH(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function TH(e,t,{max:n=20}={}){let r=wH(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function EH(e,{max:t=20}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=CH(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var DH=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,OH={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function kH(e){let t=typeof e==`string`?e:``;return OH[t]||t||`source`}function AH(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:eh(Number(t)-n,Xm)}function jH(e){if(!e||typeof e!=`object`)return null;let t=e,n=Number(t.seq);if(!Number.isFinite(n))return null;let r=typeof t.summary==`string`?t.summary.trim():``;if(!r)return null;let i=Number(t.ts),a=t.scope&&typeof t.scope==`object`?t.scope:{};return{seq:Math.floor(n),source:typeof t.source==`string`?t.source:``,kind:typeof t.kind==`string`?t.kind:``,ts:Number.isFinite(i)&&i>0?i:0,summary:r,root:typeof a.root==`string`&&a.root?a.root:null,sessionId:typeof a.sessionId==`string`&&a.sessionId?a.sessionId:null}}function MH(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=jH(e);t&&n.push(t)}return n}function NH(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function PH(e){let t=GV(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function FH(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function IH(e,t,{max:n=100}={}){let r=MH(t);if(r.length===0)return FH(e,n);let i=new Map;for(let t of e)i.set(t.seq,t);for(let e of r)i.set(e.seq,e);return FH([...i.values()],n)}function LH(e,{max:t=100}={}){return FH(MH(e),t)}function RH(e){let t=GV(e);return t===1?`1 event`:`${t} events`}function zH(e){if(!e?.root)return`machine`;let t=e.root.replace(/[\\/]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return n===-1?t:t.slice(n+1)}var BH=new Map,VH=new Map,HH=new Map,UH=kV(),WH=new Map,GH=null,KH=null,qH=null,JH=null,YH=null,XH=[],ZH=0,QH=null,$H=[],eU=null,tU=cH(BH,VH,HH,$H,UH),nU=_p(),rU=wh({getAck:()=>nU,setAck:e=>{nU=e,vp(e)},signature:()=>tU.signature,isLooking:()=>!w(GH)});function iU(){let e=p(`section`,`visions-intent`);e.append(p(`h2`,`visions-intent-title`,`Intent`));let t=p(`div`,`visions-intent-list`);return e.append(t),qH={list:t},e}function aU(e){let t=p(`div`,`visions-intent-item`),n=p(`div`,`visions-intent-head`);n.append(p(`span`,`visions-intent-scope`,e.label),p(`span`,`visions-intent-meta`,e.meta));let r=p(`p`,`visions-intent-text`,e.text);return r.classList.toggle(`visions-intent-none`,!e.hasText),t.classList.toggle(`visions-intent-active`,e.active===!0),t.append(n,r),t}function oU(){qH&&qH.list.replaceChildren(...LV(UH,WH).map(aU))}function sU(e){WH=e instanceof Map?e:new Map,oU()}function cU(e){let t=p(`section`,`visions-doc`),n=p(`div`,`visions-doc-head`),r=p(`h2`,`visions-doc-name`);if(r.textContent=e.name,r.title=e.uri,n.append(r,p(`span`,`visions-doc-count`,JV(e))),t.append(n),e.hand&&t.append(lU(e.hand)),e.findings.length>0){let n=p(`div`,`visions-findings`);for(let t of e.findings)n.append(dU(t));t.append(n)}if(e.comments.length>0){let n=p(`div`,`visions-comments`);for(let t of e.comments)n.append(uU(t));t.append(n)}return t}function lU(e){let t=p(`div`,`visions-hand`);return t.textContent=YV(e),t}function uU(e){let t=p(`div`,`visions-comment`),n=p(`div`,`visions-comment-head`);n.append(p(`span`,`visions-comment-chip`,`visions`)),n.append(p(`span`,`visions-comment-line`,uH(e))),t.append(n);let r=p(`p`,`visions-comment-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function dU(e){let t=p(`div`,`visions-finding`);t.append(p(`span`,`visions-finding-line`,VV(e)));let n=e?.code==null?``:String(e.code);n&&t.append(p(`span`,`visions-finding-code`,n));let r=p(`span`,`visions-finding-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function fU({force:e=!1}={}){if(!KH||!e&&w(GH))return;KH.textContent=``;let t=_H(BH,VH,HH);if(t.length===0){let e=p(`p`,`visions-empty`,TV);if(YH===!1){let t=CV(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}KH.append(e)}else for(let e of t)KH.append(cU(e))}function pU(e){YH=e?.visions?.enabled===!0,fU()}function mU(){let e=p(`section`,`visions-activity`),t=p(`div`,`visions-activity-head`);t.append(p(`h2`,`visions-activity-title`,`Activity`));let n=p(`span`,`visions-activity-count`);t.append(n),e.append(t);let r=p(`div`,`visions-activity-list`);e.append(r);let i=p(`p`,`visions-activity-overflow`);return e.append(i),QH={count:n,list:r,overflow:i},e}function hU(e,t){let n=p(`div`,`visions-activity-row`);n.append(p(`span`,`visions-activity-source`,kH(e.source))),n.append(p(`span`,`visions-activity-age`,AH(e.ts,t))),n.append(p(`span`,`visions-activity-scope`,zH(e)));let r=p(`span`,`visions-activity-summary`);return r.textContent=e.summary,n.append(r),n}function gU({force:e=!1}={}){if(!QH||!e&&w(GH))return;let{count:t,list:n,overflow:r}=QH;if(t.textContent=RH(XH.length),n.textContent=``,XH.length===0){n.append(p(`p`,`visions-empty`,DH)),r.textContent=``;return}let i=Date.now();for(let e of XH)n.append(hU(e,i));r.textContent=PH(ZH)}function _U(){let e=p(`section`,`visions-fixes`),t=p(`div`,`visions-fixes-head`);t.append(p(`h2`,`visions-fixes-title`,`Fixes`));let n=p(`span`,`visions-fixes-count`);t.append(n),e.append(t);let r=p(`div`,`visions-fixes-list`);return e.append(r),eU={count:n,list:r},e}function vU(e){let t=p(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=p(`span`,`visions-fix-file`);n.textContent=WV(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(p(`span`,`visions-fix-line`,xH(e))),t.append(p(`span`,`visions-fix-outcome`,SH(e))),t.append(p(`span`,`visions-fix-code`,e.code||``));let r=p(`span`,`visions-fix-message`);return r.textContent=e.message,t.append(r),t}function yU({force:e=!1}={}){if(!eU||!e&&w(GH))return;let{count:t,list:n}=eU;if(t.textContent=bH($H.length),n.textContent=``,$H.length===0)n.append(p(`p`,`visions-empty`,yH));else for(let e of $H)n.append(vU(e))}function bU(){tU=cH(BH,VH,HH,$H,UH),tU.signature!==``&&rU.refresh(),JH&&JH(lH(tU,nU))}function xU(e){JH=e,bU()}function SU(e){if(GH)return GH;let t=p(`div`,`visions-content`);t.append(iU());let n=p(`div`,`visions-feed`);return t.append(n),t.append(_U()),t.append(mU()),e.appendChild(t),GH=t,KH=n,oU(),fU({force:!0}),yU({force:!0}),gU({force:!0}),t}function CU(){oU(),fU({force:!0}),yU({force:!0}),gU({force:!0})}function wU(){tU.signature!==``&&rU.acknowledge(),bU()}function TU(e){$H=TH($H,e),yU(),bU()}function EU(e){BH=fH(BH,e),fU(),bU()}function DU(e){VH=mH(VH,e),fU(),bU()}function OU(e){HH=ZV(HH,e),fU(),bU()}function kU(e){UH=PV(UH,e),oU(),bU()}function AU(e){XH=IH(XH,e),ZH=NH(e),gU(),bU()}function jU(e){XH=LH(e),ZH=0,gU(),bU()}function MU(e){BH=hH(e),VH=gH(e),HH=QV(e),UH=MV(e),$H=EH(e),oU(),fU(),yU(),bU()}var NU=Ro(j(),To());F({glimmervoidId:j().min(1),event:j().min(1),token:j().nullable().optional(),payload:NU}),F({id:j().min(1),name:j().min(1),event:j().min(1),matcher:j().optional(),type:L([`command`,`http`]),command:j().optional(),url:j().optional(),timeout:M().int().positive().optional(),enabled:N(),projects:P(j()).optional()}).passthrough();var PU=`Claude Code hooks injected into every session Glimmervoid spawns.`,FU=`Loading hooks`,IU=`No hooks yet. A hook runs a command, or calls a URL, when a Claude Code event fires in a Glimmervoid session. Start from one of these, or add your own.`,LU=`Start from`,RU=`Filter by name, event or command`,zU=`Nothing matches that filter.`,BU=`Preview`,VU=`The entry this becomes in the per-session settings file.`,HU=`Duplicate`,UU=`Discard changes`,WU=`Close the editor and lose the unsaved changes?`,GU=`Esc cancels. Ctrl+Enter saves.`,KU=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,qU=`Glimmervoid's own hooks`,JU=`Always present, read-only. Status detection depends on them.`,YU=`Your hooks`,XU=`New hook`,ZU=`Edit hook`,QU=`Saved to config.json.`,$U=`All projects`,eW=`This event takes no matcher.`,tW=`Blank uses Claude Code's default for the event.`,nW=Object.freeze([{value:`command`,label:`Command`,hint:`Run a shell command. It receives the event JSON on stdin.`},{value:`http`,label:`HTTP`,hint:`POST the event JSON to a URL.`}]),rW=Object.freeze([{id:`lint`,label:`Lint after edits`,summary:`PostToolUse on Edit|Write`,draft:{name:`Lint after edits`,event:`PostToolUse`,matcher:`Edit|Write`,type:`command`,command:`npx biome check --write "$(jq -r .tool_input.file_path)"`}},{id:`notify`,label:`Notify on Stop`,summary:`Stop, command`,draft:{name:`Notify on Stop`,event:`Stop`,matcher:``,type:`command`,command:`command -v notify-send >/dev/null 2>&1 && notify-send "Claude finished a turn" || { command -v osascript >/dev/null 2>&1 && osascript -e 'display notification "Claude finished a turn" with title "Claude Code"'; }`}},{id:`guard`,label:`Guard destructive Bash`,summary:`PreToolUse on Bash, exit 2 blocks`,draft:{name:`Guard destructive Bash`,event:`PreToolUse`,matcher:`Bash`,type:`command`,command:`jq -r .tool_input.command | grep -Eq "rm -rf|git push --force" && exit 2 || exit 0`}},{id:`log`,label:`Log every prompt`,summary:`UserPromptSubmit, appends JSON`,draft:{name:`Log every prompt`,event:`UserPromptSubmit`,matcher:``,type:`command`,command:`cat >> ~/.claude/prompts.jsonl`}}]),iW=Object.freeze({hooks:[],builtin:[],events:[]});function aW(e){return!e||typeof e.error==`string`}function oW(e){return!e||typeof e.error!=`string`?``:e.error}function sW(e,t){let n=e?.[t];return Array.isArray(n)?n:iW[t]}var cW=e=>sW(e,`hooks`),lW=e=>sW(e,`builtin`),uW=e=>sW(e,`events`);function dW(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function fW(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function pW(e){let t=cW(e),n=t.filter(e=>e.enabled!==!1).length;return[{label:`yours`,value:String(t.length),tone:null},{label:`enabled`,value:String(n),tone:t.length>0&&n===0?`warn`:null},{label:`built in`,value:String(lW(e).length),tone:null}]}function mW(e,t){let n=new Map(t.map((e,t)=>[e.name,t])),r=e=>n.get(e.event)??t.length;return[...e].sort((e,t)=>{let n=r(e)-r(t);return n===0?String(e.name).localeCompare(String(t.name)):n})}function hW(e,t){let n=String(t||``).trim().toLowerCase();return n?e.filter(e=>[e.name,e.event,e.matcher,e.command,e.url].some(e=>typeof e==`string`&&e.toLowerCase().includes(n))):e}function gW(e){return e.length>=4}function _W(e){let t=[];for(let n of e){let e=t[t.length-1];e&&e.event===n.event?e.hooks.push(n):t.push({event:n.event,hooks:[n]})}return t}function vW(e){let t=e.type===`http`?{type:`http`,url:e.url||``}:{type:`command`,command:e.command||``};Number.isInteger(e.timeout)&&Number(e.timeout)>0&&(t.timeout=e.timeout);let n=e.matcher?{matcher:e.matcher,hooks:[t]}:{hooks:[t]};return JSON.stringify({hooks:{[e.event]:[n]}},null,2)}function yW(e){return`${e} copy`}function bW(e,t){return e.find(e=>e.name===t)||null}function xW(e,t){let n=bW(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:eW:``}function SW(e){return e.type===`http`?e.url||``:e.command||``}function CW(e){let t=nW.find(t=>t.value===e);return t?t.label:String(e||``)}function wW(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function TW(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?$U:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function EW(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function DW(e){return EW(e)}function OW(e,t){let n=Array.isArray(e.projects)?e.projects:[],r=new Set(t.map(e=>e.id));return n.filter(e=>!r.has(e))}function kW(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function AW(e){return{id:e.id??null,name:e.name||``,event:e.event||``,matcher:e.matcher||``,type:e.type===`http`?`http`:`command`,command:e.command||``,url:e.url||``,timeout:Number.isInteger(e.timeout)?String(e.timeout):``,enabled:e.enabled!==!1,projects:Array.isArray(e.projects)?[...e.projects]:[]}}function jW(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=bW(t,e.event);if(!r)return`Pick an event.`;if(e.matcher.trim()&&!r.matcher)return`${r.name} takes no matcher.`;if(e.type===`http`&&r.http===!1)return`${r.name} does not support HTTP hooks.`;if(e.type===`command`&&!e.command.trim())return`Enter the command to run.`;if(e.type===`http`&&!/^https?:\/\/\S+$/i.test(e.url.trim()))return`Enter a URL starting with http:// or https://.`;if(e.timeout.trim()!==``){let t=Number(e.timeout);if(!Number.isInteger(t)||t<1||t>n)return`Timeout must be a whole number of seconds from 1 to ${n}.`}return null}function MW(e){let t={name:e.name.trim(),event:e.event,type:e.type,enabled:e.enabled!==!1};return e.id&&(t.id=e.id),e.matcher.trim()&&(t.matcher=e.matcher.trim()),e.type===`command`&&(t.command=e.command.trim()),e.type===`http`&&(t.url=e.url.trim()),e.timeout.trim()!==``&&(t.timeout=Number(e.timeout)),e.projects.length>0&&(t.projects=[...e.projects]),t}function NW(e,t){let n={...kW(t),...e.draft};return bW(t,n.event)||(n.event=kW(t).event),n}function PW(e,t){return JSON.stringify(MW(e))!==JSON.stringify(t)}function FW(e){return{...e,enabled:e.enabled===!1}}function IW(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var LW=null,RW=null,zW=null,BW=null,VW=null,HW=null,UW=null,WW=null,GW=!1,KW=null,qW=``,JW=new Set,YW=new Set,XW=!1,ZW=(e,t)=>S(`hooks`,e,t);function QW(e,t,n){let r=p(`p`,e,t);return n&&(r.dataset.tone=n),r}function $W(e,t,n,r){let i=p(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}function eG(e){if(!zW)return null;let t=mm(`hooks`);return zW({requestId:t,...e}),t}function tG(e,t,n){let r=p(`label`,`hooks-field`);return r.append(p(`span`,`hooks-field-label`,e),t),n&&r.append(p(`span`,`hooks-field-hint`,n)),r}function nG(e,t,n){let r=p(`input`,`settings-view-input`);return r.type=`text`,r.value=e,r.autocomplete=`off`,r.spellcheck=!1,t&&(r.placeholder=t),r.addEventListener(`input`,()=>n(r.value)),r}function rG(e,t){let n=p(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function iG(e,t,n){let r=p(`select`,`settings-view-input hooks-select`);for(let n of t){let t=p(`option`,null,n.name);t.value=n.name,t.title=n.description,n.name===e.event&&(t.selected=!0),r.append(t)}return r.addEventListener(`change`,()=>n(r.value)),r}function aG(e,t){let n=p(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of nW){let i=p(`label`,`settings-view-toggle hooks-choice`),a=p(`input`,`settings-view-checkbox`);a.type=`radio`,a.name=`hooks-type`,a.value=r.value,a.checked=e.type===r.value,a.title=r.hint,a.addEventListener(`change`,()=>{a.checked&&t(r.value)}),i.append(a,p(`span`,null,r.label)),n.append(i)}return n}function oG(e,t){let n=p(`div`,`hooks-projects`);if(t.length===0)return n.append(p(`span`,`hooks-field-hint`,$U)),n;let r=p(`label`,`settings-view-project-choice hooks-choice`),i=p(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,p(`span`,null,$U)),n.append(r);let a=[];for(let r of t){let t=p(`label`,`settings-view-project-choice hooks-choice`),o=p(`input`,`settings-view-checkbox`);o.type=`checkbox`,o.value=r.id,o.checked=e.projects.includes(r.id),o.addEventListener(`change`,()=>{e.projects=a.filter(e=>e.checked).map(e=>e.value),i.checked=e.projects.length===0}),a.push(o),t.append(o,p(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(p(`span`,`hooks-choice-note`,r.agent)),t.title=`Not a Claude Code project: this hook will not reach its sessions.`),n.append(t)}return i.addEventListener(`change`,()=>{if(!i.checked)i.checked=e.projects.length===0;else{for(let e of a)e.checked=!1;e.projects=[]}}),n}function sG(e){let t=p(`div`,`hooks-templates`);t.append(p(`span`,`hooks-templates-label`,LU));for(let n of rW){let r=$W(`hooks-chip`,n.label,()=>uG(null,NW(n,e)));r.title=n.summary,t.append(r)}return t}function cG(e){WW&&(WW.textContent=e||``,WW.hidden=!e)}function lG(e){let t=uW(LW),n=C(LW),r=ZW(e.id?ZU:XU,QU);r.classList.add(`hooks-editor`);let i=p(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),pG()}),i.addEventListener(`keydown`,e=>{e.key===`Escape`?(e.preventDefault(),fG()):e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),pG())}),e.id||i.append(sG(t));let a=p(`span`,`hooks-field-hint`,xW(t,e.event)),o=nG(e.matcher,``,t=>{e.matcher=t}),s=tG(`Command`,rG(e.command,t=>{e.command=t}),`Runs through the shell with the event JSON on stdin. Exit 2 blocks the action where the event allows it.`),c=tG(`URL`,nG(e.url,`http://127.0.0.1:8080/hook`,t=>{e.url=t}),`Claude Code POSTs the event JSON to it.`),l=()=>{s.hidden=e.type!==`command`,c.hidden=e.type!==`http`};l();let u=tG(`Matcher`,o,null);u.append(a);let d=()=>{let n=t.find(t=>t.name===e.event);a.textContent=xW(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};d();let f=p(`input`,`settings-view-input hooks-timeout`);f.type=`number`,f.inputMode=`numeric`,f.min=`1`,f.max=String(dW(LW)),f.value=e.timeout,f.addEventListener(`input`,()=>{e.timeout=f.value});let m=p(`label`,`settings-view-toggle hooks-choice`),h=p(`input`,`settings-view-checkbox`);h.type=`checkbox`,h.checked=e.enabled,h.addEventListener(`change`,()=>{e.enabled=h.checked}),m.append(h,p(`span`,null,`Enabled`)),i.append(tG(`Name`,nG(e.name,`Lint after edits`,t=>{e.name=t}),null),tG(`Event`,iG(e,t,t=>{e.event=t,d()}),null),u,tG(`Type`,aG(e,t=>{e.type=t,l()}),null),s,c,tG(`Timeout (seconds)`,f,tW),tG(`Projects`,oG(e,n),null),tG(``,m,null)),WW=p(`p`,`hooks-editor-error`),WW.setAttribute(`role`,`alert`),WW.hidden=!0;let g=p(`div`,`hooks-editor-footer`),_=p(`span`,`hooks-editor-shortcut`,GU),v=$W(`btn-dialog btn-dialog-cancel`,`Cancel`,fG),y=p(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return y.type=`submit`,g.append(WW,_,v,y),i.append(g),r.append(i),r}function uG(e,t=null){VW=t||(e?AW(e):kW(uW(LW))),HW=MW(e?AW(e):kW(uW(LW))),UW=lG(VW),wG({force:!0}),UW.scrollIntoView({block:`nearest`});let n=UW.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function dG(){VW=null,HW=null,UW=null,WW=null,GW=!1,KW=null,XW=!0,wG({force:!0})}function fG(){!VW||!HW||!PW(VW,HW)?dG():Tm({title:UU,message:WU,confirmLabel:`Discard`,danger:!0,onConfirm:dG})}function pG(){if(!VW||GW)return;let e=jW(VW,uW(LW),dW(LW));e?cG(e):(GW=!0,cG(``),KW=eG({type:`save-hook`,hook:MW(VW)}),KW||(GW=!1))}function mG(e){let t=p(`details`,`hooks-preview`);t.open=JW.has(e.id),t.addEventListener(`toggle`,()=>{t.open?JW.add(e.id):JW.delete(e.id)});let n=p(`summary`,`hooks-preview-summary`,BU);n.title=VU;let r=p(`pre`,`hooks-preview-code`,vW(e));return t.append(n,r),t}function hG(e,{grouped:t=!1}={}){let n=C(LW),r=p(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=p(`div`,`hooks-row-main`),a=p(`div`,`hooks-row-head`);a.append(p(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:EW(e);o&&a.append(p(`span`,`hooks-row-event`,o));let s=p(`code`,`hooks-row-target`,SW(e));s.title=SW(e);let c=p(`p`,`hooks-row-meta`,[CW(e.type),wW(e),TW(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=OW(e,n);l.length>0&&i.append(QW(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(mG(e));let u=p(`div`,`hooks-row-actions`),d=p(`label`,`settings-view-toggle hooks-choice`),f=p(`input`,`settings-view-checkbox`);f.type=`checkbox`,f.checked=e.enabled!==!1,f.disabled=YW.has(e.id),f.setAttribute(`aria-label`,`${e.name} enabled`),f.addEventListener(`change`,()=>{YW.add(e.id),f.disabled=!0,eG({type:`save-hook`,hook:FW(e)})}),d.append(f,p(`span`,null,`On`));let m=$W(`hooks-btn`,`Edit`,()=>uG(e),`Edit ${e.name}`),h=$W(`hooks-btn`,HU,()=>{let t=AW({...e,name:yW(e.name)});t.id=null,uG(null,t)},`Duplicate ${e.name}`),g=$W(`hooks-btn hooks-btn-danger`,`Delete`,()=>{Tm({title:`Delete hook`,message:IW(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{YW.add(e.id),eG({type:`delete-hook`,id:e.id}),wG({force:!0})}})},`Delete ${e.name}`);return g.disabled=YW.has(e.id),u.append(d,m,h,g),r.append(i,u),r}function gG(e){let t=p(`article`,`hooks-row hooks-row-builtin`),n=p(`div`,`hooks-row-main`);return n.append(p(`span`,`hooks-row-event`,DW(e)),p(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function _G(){let e=ZW(`Hooks`,PU),t=p(`div`,`hooks-stats`);for(let e of pW(LW))t.append(re(`hooks`,e.label,e.value,e.tone));return e.append(t,QW(`hooks-meta`,KU)),e}function vG(){let e=p(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=qW,e.placeholder=RU,e.setAttribute(`aria-label`,RU),e.addEventListener(`input`,()=>{qW=e.value;let t=RW?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(bG())}),e}function yG(){let e=p(`div`,`hooks-empty-state`);return e.append(QW(`hooks-empty`,IU),sG(uW(LW))),e}function bG(){let e=p(`div`,`hooks-list-yours`),t=cW(LW);if(t.length===0)return e.append(yG()),e;let n=hW(mW(t,uW(LW)),qW);if(n.length===0)return e.append(QW(`hooks-empty`,zU)),e;for(let t of _W(n)){let n=p(`div`,`hooks-group`);n.append(p(`h3`,`hooks-group-title`,t.event));let r=p(`div`,`hooks-list`);for(let e of t.hooks)r.append(hG(e,{grouped:!0}));n.append(r),e.append(n)}return e}function xG(){let e=ZW(YU,null),t=$W(`hooks-btn hooks-btn-add`,`+ New hook`,()=>uG(null));t.disabled=!!VW;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),gW(cW(LW))&&e.append(vG()),e.append(bG()),e}function SG(){let e=p(`details`,`hooks-builtin`),t=p(`summary`,`hooks-builtin-summary`);t.append(p(`span`,`hooks-section-title`,`${qU} (${lW(LW).length})`),p(`span`,`hooks-section-hint`,JU));let n=p(`div`,`hooks-list`);for(let e of lW(LW))n.append(gG(e));return e.append(t,n),e}function CG(){let e=p(`div`,`hooks-content`);return LW?aW(LW)?(e.append(QW(`hooks-warning`,oW(LW))),e):(e.append(_G()),UW&&e.append(UW),e.append(xG(),SG()),e):(e.append(QW(`hooks-empty`,FU)),e)}function wG({force:e=!1}={}){if(!RW||!e&&w(RW)||(RW.replaceChildren(CG()),!XW))return;XW=!1;let t=RW.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function TG(e){zW=e}function EG(){zW&&(BW=mm(`hooks-report`),zW({type:`request-hooks-report`,requestId:BW}))}function DG(e){RW||(RW=p(`div`,`hooks-panel`),e.append(RW),wG({force:!0}))}function OG(){wG({force:!0})}function kG(e){fW(e,BW)&&(LW=e,YW.clear(),GW=!1,wG())}function AG(e){let t=KW!==null&&e.requestId===KW;if(t&&(KW=null,GW=!1),e.ok){t&&dG(),EG();return}let n=typeof e.error==`string`&&e.error?e.error:`Could not save the hook`;t?cG(n):(sg(n,{persist:!0}),EG())}function jG(e){e.ok||sg(typeof e.error==`string`&&e.error?e.error:`Could not delete the hook`,{persist:!0}),EG()}function MG(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0,silent:!0}}var NG=4e3;function PG(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function FG(e,t,n,r=NG){try{let i=e.getItem(t);if(i){let e=Number(i);if(Number.isFinite(e)&&n-e<r)return!1}return e.setItem(t,String(n)),!0}catch{return!0}}function IG(){return typeof Notification>`u`?null:Notification}function LG(){return IG()!==null}function RG(){let e=IG();return e?e.permission:`unavailable`}async function zG(){let e=IG();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function BG(){let e=IG();e&&Nf()&&e.permission==="default"&&zG()}function VG({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=IG();if(a&&Nf()&&a.permission===`granted`&&!document.documentElement.hasAttribute(`data-streamer`)&&(i||typeof document>`u`||typeof document.hasFocus!=`function`||!document.hasFocus())&&FG(window.localStorage,PG(e,t),Date.now()))try{let i=new a(`Glimmervoid`,MG(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&typeof e==`string`&&(window.location.hash=Ej(e)),i.close()}}catch{}}function HG(e){return e.filter(e=>!e.hasOwnPhoneScreen).map(e=>{let t=e.label.trim();return{id:e.view,label:t,glyph:e.glyph||t.charAt(0).toUpperCase(),el:e.el}})}function UG(e){return[...e||[]].map((e,t)=>({row:e,index:t})).sort((e,t)=>Bg(e.row||{},`phone-triage`)-Bg(t.row||{},`phone-triage`)||e.index-t.index).map(e=>e.row)}var WG=new Set;function GG(e,t,n){let r=fB(e,t,n),i=r.groups.map(e=>({...e,rows:UG(e.rows)})),a={...r,groups:i};return{...a,visibleIds:pB(a,WG)}}var KG=e=>e.ui.path;function qG({onSelectSession:e}){let t=p(`div`,`phone-board`),n=p(`header`,`phone-topbar`),r=p(`div`,`phone-attention`);r.setAttribute(`role`,`status`),r.setAttribute(`aria-live`,`polite`);let i=p(`div`,`phone-board-list`),a=p(`div`,`phone-empty`);a.append(p(`p`,`phone-empty-title`,`No sessions`),p(`p`,`phone-empty-desc`,`Spawn a session to start watching.`)),t.append(n,r,i,a);let o=new Map,s=new Map,c=new WeakMap,l=new WeakMap,u=new WeakMap,d=0;ne(n);function f(t){let n=p(`button`,`phone-row`);n.type=`button`,n.dataset.id=t,n.innerHTML=`<span class="phone-row-glyph" aria-hidden="true"></span><span class="phone-row-main"><span class="phone-row-name"></span><span class="phone-row-meta"><span class="phone-row-badge"></span><span class="phone-row-merge"></span></span></span><span class="phone-row-elapsed" aria-hidden="true"></span>`;let r={glyph:v(n,`.phone-row-glyph`,`span`),name:v(n,`.phone-row-name`,`span`),badge:v(n,`.phone-row-badge`,`span`),merge:v(n,`.phone-row-merge`,`span`),elapsed:v(n,`.phone-row-elapsed`,`span`)};n.addEventListener(`click`,()=>e?.(t));let i=p(`div`,`phone-row-item`);i.setAttribute(`role`,`listitem`);let a=p(`button`,`phone-row-remove`,`x`);return a.type=`button`,a.title=`Remove session`,a.setAttribute(`aria-label`,`Remove session`),a.addEventListener(`click`,e=>{e.stopPropagation(),c_(t)}),i.append(n,a),c.set(n,{refs:r,item:i}),n}function m(e){let t=p(`section`,`phone-board-group`);t.dataset.key=e;let n=p(`div`,`phone-board-group-header`),r=p(`span`,`phone-board-group-label`),i=p(`span`,`phone-board-group-count`),a=p(`button`,`phone-board-group-add`,`+`);a.type=`button`,a.addEventListener(`click`,()=>s_(t.dataset.path,t.dataset.label));let o=p(`button`,`phone-board-group-forget`,`x`);o.type=`button`,o.addEventListener(`click`,()=>{e_(t.dataset.path),S()});let s=p(`div`,`phone-board-group-rows`);return s.setAttribute(`role`,`list`),n.append(r,i,o,a),t.append(n,s),l.set(t,{header:n,label:r,count:i,addButton:a,forgetButton:o,rows:s}),t}function h(e,t){let n=c.get(e);if(!n)return;let{ui:r,state:i,unseen:a}=t,{glyph:o,label:s,isMonitoring:l}=te(i,r.awaitingBackgroundTasks),u=r.pendingPromptKind===`plan`?`Plan ready`:s,d=t.name;e.dataset.state=i,e.toggleAttribute(`data-monitoring`,l),e.dataset.prompt=r.pendingPromptKind??``,e.toggleAttribute(`data-unseen`,a),n.refs.glyph.textContent=o,n.refs.name.textContent=d;let f=p(`span`,`session-list-task-title`,r.taskTitle??``);n.refs.name.append(f),n.refs.name.title=[d,r.taskTitle].filter(Boolean).join(` | `),n.refs.badge.textContent=u;let m=r.card?.dataset.merge||``;e.dataset.merge=m,n.refs.merge.textContent=ee[m]||``,n.refs.elapsed.textContent=mh(r),e.setAttribute(`aria-label`,`${d}, ${u}`)}function g(e,t){let n=l.get(e);if(!n)return;let{header:r,label:i,count:a,addButton:o,forgetButton:s,rows:c}=n,u=t.key===uB,d=t.rows.length===0;e.dataset.path=t.key,e.dataset.label=t.label,e.toggleAttribute(`data-empty`,d),r.title=t.title,i.textContent=t.label,a.textContent=String(t.rows.length),a.title=`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`,o.hidden=u,s.hidden=u||!d,u||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!u&&d&&(s.title=`Remove ${t.label} from the Board`,s.setAttribute(`aria-label`,`Remove ${t.label} from the Board`)),c.setAttribute(`aria-label`,`${t.label} sessions`)}let{noteStates:_,acknowledge:y,isUnseen:b}=vB();function x(){let e=o_();_(e);for(let t of e)t.unseen=b(t.id);return Vg(e)}function S(){let e=x(),t=GG(e,KG,$g(e,KG));d=Wg(e),r.textContent=Gg(d),r.toggleAttribute(`data-lit`,d>0);let n=new Set(t.order),p=t.order.join(`,`),_=u.get(i)===p&&i.childElementCount===t.groups.length;for(let e of t.groups){let t=s.get(e.key);t||(t=m(e.key),s.set(e.key,t)),g(t,e),_||i.appendChild(t);let n=e.rows.map(e=>e.id).join(`,`),r=l.get(t);if(!r)continue;let a=u.get(r.rows)===n&&r.rows.childElementCount===e.rows.length;for(let t of e.rows){let e=o.get(t.id);e||(e=f(t.id),o.set(t.id,e)),h(e,t);let n=c.get(e);n&&(a||r.rows.appendChild(n.item))}u.set(r.rows,n)}u.set(i,p);for(let[e,t]of[...s])n.has(e)||(t.remove(),s.delete(e));let v=new Set(t.visibleIds);for(let[e,t]of[...o]){if(v.has(e))continue;let n=c.get(t);n&&n.item.remove(),o.delete(e)}let y=t.groups.length>0;i.hidden=!y,a.hidden=y}return _h(()=>{for(let[e,t]of o){let n=T.get(e),r=c.get(t);n&&r&&(r.refs.elapsed.textContent=mh(n))}}),{el:t,topBarEl:n,refresh:S,acknowledge:y,getAttentionCount:()=>d}}var JG=`clipboard`,YG=`upload`,XG=Object.freeze([Object.freeze({id:`esc`,label:`Esc`,bytes:`\x1B`,title:`Send Escape`}),Object.freeze({id:`tab`,label:`Tab`,bytes:` `,title:`Send Tab`}),Object.freeze({id:`up`,label:`Up`,bytes:`\x1B[A`,title:`Arrow up`}),Object.freeze({id:`down`,label:`Down`,bytes:`\x1B[B`,title:`Arrow down`}),Object.freeze({id:`paste`,label:`Paste`,bytes:null,action:JG,title:`Paste from the clipboard`}),Object.freeze({id:`upload-image`,label:`Image`,bytes:null,action:YG,accept:`image/*`,title:`Upload an image to this session`}),Object.freeze({id:`upload-file`,label:`File`,bytes:null,action:YG,title:`Upload a file to this session`})]);function ZG(e){let t=XG.find(t=>t.id===e);return t?t.bytes:null}function QG(e){return!!e&&e.action===JG}function $G(e){return!!e&&e.action===`upload`}function eK({send:e,getSessionId:t}){let n=p(`div`,`phone-key-strip`);n.setAttribute(`role`,`toolbar`),n.setAttribute(`aria-label`,`Terminal keys`);let r=null,i=null;for(let e of XG){let t=p(`button`,`phone-key`,e.label);t.type=`button`,t.dataset.key=e.id,t.title=e.title,t.addEventListener(`pointerdown`,e=>e.preventDefault()),t.addEventListener(`click`,()=>a(e,t)),n.appendChild(t)}function a(t,n){$G(t)?o(t,n):QG(t)?tK(e):e(ZG(t.id))}function o(e,t){i=t,r||(r=p(`input`,`phone-file-picker`),r.type=`file`,r.hidden=!0,r.addEventListener(`change`,s),n.appendChild(r)),e.accept&&(r.accept=e.accept),e.accept||r.removeAttribute(`accept`),r.click()}function s(){let e=r;if(!e)return;let n=e.files?e.files[0]:null;if(e.value=``,!n)return;let a=t?.();a?c(a,n,i):sg(`No session is open to upload to`)}async function c(e,t,n){n&&(n.disabled=!0),await VE(e,t),n&&(n.disabled=!1)}return n}function tK(e){let t=null;try{t=navigator.clipboard?.readText?.()}catch{sg(`Paste needs clipboard permission`);return}t?t.then(t=>{t&&e(t)}).catch(()=>sg(`Paste needs clipboard permission`)):sg(`Paste is unavailable in this browser`)}var nK=`‹`;function rK({onBack:e}){let t=p(`div`,`phone-terminal`),n=p(`header`,`phone-topbar phone-terminal-bar`),r=p(`button`,`phone-back`,nK);r.type=`button`,r.setAttribute(`aria-label`,`Back to board`),r.addEventListener(`click`,()=>e?.());let i=p(`div`,`phone-terminal-identity`),o=p(`span`,`phone-terminal-name`);o.title=`Tap to rename`,o.addEventListener(`click`,()=>S());let s=p(`span`,`session-task-title session-list-task-title`);FR(s,()=>re());let c=p(`span`,`phone-terminal-identity-line`),l=p(`span`,`phone-terminal-badge`);l.innerHTML=`<span class="phone-terminal-glyph" aria-hidden="true"></span><span class="phone-terminal-label"></span><span class="phone-terminal-elapsed" aria-hidden="true"></span>`;let u=v(l,`.phone-terminal-glyph`,`span`),d=v(l,`.phone-terminal-label`,`span`),f=v(l,`.phone-terminal-elapsed`,`span`);c.append(o,s),i.append(c,l);let m=p(`div`,`phone-terminal-actions`);n.append(r,i,m);let h=p(`div`,`phone-card-slot`),g=p(`div`,`phone-empty`);g.innerHTML=`<p class="phone-empty-title">No session selected</p><p class="phone-empty-desc">Select a session from the board to watch it here.</p>`;let _=eK({send:x,getSessionId:()=>y});t.append(n,h,g,_);let y=null,b=null,ee=null;function x(e){let t=y?T.get(y):null;t&&(VA(t,e)||sg(`Session is not connected; key press was dropped`))}function ne(){let e=y?T.get(y):null;e?.term&&e.term.focus()}h.addEventListener(`click`,ne);function S(){let e=y?T.get(y):null;e&&y&&BR(e,y)}function re(){let e=y?T.get(y):null;e&&y&&LR(e,y)}function C(){let e=y?T.get(y):null,t=!!e;if(g.hidden=t,h.hidden=!t,_.hidden=!t,i.hidden=!t,!t){n.removeAttribute(`data-state`),n.removeAttribute(`data-monitoring`);return}let r=e.currentState||a.DORMANT;n.dataset.state=r;let{glyph:c,label:l,isMonitoring:p}=te(r,e.awaitingBackgroundTasks);n.toggleAttribute(`data-monitoring`,p),zR(o)||(o.textContent=e.card?.dataset.session||y),IR(s,e.taskTitle),u.textContent=c,d.textContent=l,f.textContent=mh(e)}function w(){ee&&=(delete ee.renameTargetEl,delete ee.titleTargetEl,null),o.replaceChildren(),b&&=(oe(b),b.parentElement===m&&b.remove(),null)}function ie(e){let t=T.get(e);t&&(y===e&&he()===e&&t.card.parentElement===h||(w(),y=e,ge(t,e,h,{className:`phone-centered`}),b=v(t.card,`.session-actions`,`div`),ae(b,m),t.renameTargetEl=o,t.titleTargetEl=s,ee=t),C())}function E(){w(),he()===y&&_e(),y=null,C()}function D(){if(!y){C();return}let e=T.get(y);e?e.card.parentElement===h?C():ie(y):E()}function O(){let e=y;e&&JA(T.get(e),e,!1)}function se(){D();let e=y;if(!e)return;let t=T.get(e);t&&JA(t,e,!0)}return _h(()=>{let e=y?T.get(y):null;e&&(f.textContent=mh(e))}),C(),{el:t,show:ie,clear:E,refresh:D,reveal:se,unview:O,getSessionId:()=>y}}var iK=`board`,aK=Object.freeze([{id:iK,label:`Board`,glyph:`▤`},{id:`terminal`,label:`Terminal`,glyph:`▸`},{id:`review`,label:`Review`,glyph:`◫`}]),oK=[],sK=new Map,cK=null,lK=new Map,uK=new Map,dK=new Map,fK=null,pK=null,mK=null,hK=null,gK=null,_K=new Map,vK=new Set,yK={},bK=!1,xK=120,SK=0,CK=0,wK=`none`;function TK(){SK=0,CK=0}function EK(){let e=window.visualViewport;cK&&(!bK||!e?cK.removeAttribute(`data-keyboard`):(cK.style.setProperty(`--phone-vh`,`${e.height}px`),cK.style.setProperty(`--phone-vv-top`,`${e.offsetTop}px`),e.width!==CK&&(CK=e.width,SK=0),SK=Math.max(SK,e.height),SK-e.height>xK?cK.dataset.keyboard=`open`:cK.removeAttribute(`data-keyboard`)))}function DK(e,t,n=`phone-nav-item`,r=`phone-nav-dot`){let i=p(`button`,n);i.type=`button`;let a=p(`span`,`phone-nav-glyph`,t);a.setAttribute(`aria-hidden`,`true`),i.append(a,p(`span`,`phone-nav-label`,e));let o=p(`span`,r);return o.setAttribute(`aria-hidden`,`true`),o.hidden=!0,i.appendChild(o),i}function OK(e){return e?.querySelector(`.phone-nav-dot`)||null}function kK(e,t){e&&(e.hidden=!t,typeof t==`string`&&(e.dataset.attention=t),typeof t!=`string`&&delete e.dataset.attention)}function AK(){let e=[];for(let t of oK){if(vK.has(t.id))continue;let n=dK.get(t.id)||!1;e.push(n),kK(OK(_K.get(t.id)),n)}kK(OK(hK),yie(e))}function jK(){let e=p(`div`,`phone-nav-more-menu`);e.hidden=!0;for(let t of oK){let n=DK(t.label,t.glyph,`phone-nav-menu-item`,`phone-nav-dot phone-nav-menu-dot`);n.dataset.screen=t.id,n.hidden=vK.has(t.id),n.addEventListener(`click`,()=>{MK(!1),KK(t.id)}),_K.set(t.id,n),e.appendChild(n)}return e}function MK(e){gK&&hK&&(gK.hidden=!e,hK.setAttribute(`aria-expanded`,String(e)))}function NK(){return!!gK&&!gK.hidden}function PK(){let e=p(`nav`,`phone-nav`);e.setAttribute(`aria-label`,`Screens`);for(let t of aK){let n=DK(t.label,t.glyph);n.dataset.screen=t.id,n.addEventListener(`click`,()=>KK(t.id)),lK.set(t.id,n),e.appendChild(n)}return hK=DK(`More`,`⋯`),hK.setAttribute(`aria-expanded`,`false`),hK.addEventListener(`click`,()=>MK(!NK())),e.appendChild(hK),gK=jK(),e.appendChild(gK),e}function FK(e,t,n){let r=p(`section`,`phone-screen`);return r.dataset.screen=e,r.setAttribute(`aria-label`,t),r.hidden=!0,n&&r.appendChild(n),uK.set(e,r),r}function IK(){if(cK)return;fK=qG({onSelectSession:LK}),pK=rK({onBack:()=>KK(iK)}),mK=p(`div`,`phone-review`);let e=p(`div`,`phone-screens`),t={[iK]:fK.el,terminal:pK.el,review:mK};for(let n of aK)e.appendChild(FK(n.id,n.label,t[n.id]));for(let t of oK){let n=p(`div`,`phone-panel phone-${t.id}`);sK.set(t.id,n),e.appendChild(FK(t.id,t.label,n))}cK=p(`div`,`phone-shell`),cK.id=`phone-shell`,cK.append(e,PK()),document.body.appendChild(cK),AK(),window.visualViewport?.addEventListener(`resize`,EK),window.visualViewport?.addEventListener(`scroll`,EK),window.addEventListener(`popstate`,HK),document.addEventListener(`click`,e=>{NK()&&gK&&hK&&e.target instanceof Node&&(gK.contains(e.target)||hK.contains(e.target)||MK(!1))}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&NK()&&MK(!1)})}function LK(e){if(T.has(e)){if(!fK||!pK)throw Error(`Phone shell is not built`);r_(e,`dormant-fallback`),fK.acknowledge(e),i_(e),pK.show(e),KK(`terminal`)}}function RK(e){if(e===iK){BK();return}let t={glimmervoidScreen:e};wK===`none`?(history.pushState(t,``),wK=`screen`):(history.replaceState(t,``),wK=`screen`)}function zK(){let e=VK(history.state);return e&&GK(e)?(wK=`screen`,e):(e&&history.replaceState(null,``),wK=`none`,iK)}function BK(){wK!==`none`&&(wK=`none`,history.back())}function VK(e){let t=e?.glimmervoidScreen;return typeof t==`string`?t:null}function HK(e){if(!bK)return;let t=pe.snapshot().phoneScreen;if(t&&yK.canGoBack?.(t)){wK=`none`,RK(t),yK.onBack?.(t),WK(t);return}let n=VK(e.state);wK=n?`screen`:`none`,WK(n&&GK(n)?n:iK)}function UK(e,t){for(let[n,r]of e)n===t?r.setAttribute(`aria-current`,`page`):r.removeAttribute(`aria-current`)}function WK(e){if(!hK||!pK)throw Error(`Phone shell is not built`);pe.dispatch(`setPhoneScreen`,e),MK(!1);for(let[t,n]of uK)n.hidden=t!==e;yK.onScreenShown?.(e),UK(lK,e);let t=_K.has(e);t&&hK.setAttribute(`aria-current`,`page`),t||hK.removeAttribute(`aria-current`),UK(_K,e),e===`terminal`?pK.reveal():pK.unview()}function GK(e){return uK.has(e)&&!vK.has(e)}function KK(e){cK&&GK(e)&&(e!==pe.snapshot().phoneScreen&&RK(e),WK(e))}function qK(e){yK=e||{},oK=yK.panels||[]}function JK({sessionId:e,linkedScreenId:t}={}){if(bK)return;if(IK(),!cK||!fK||!pK)throw Error(`Phone shell is not built`);bK=!0,cK.hidden=!1;for(let e of yK.headerControls||[])ae(e,fK.topBarEl);IM(mK);for(let e of oK)ae(e.el,sK.get(e.id)),e.el.hidden=!1;EK(),e&&pK.show(e);let n=zK();$K(),t&&GK(t)?KK(t):e&&n===iK?(pe.dispatch(`setPhoneScreen`,iK),KK(`terminal`)):WK(n)}function YK(){if(bK){if(!cK||!pK)throw Error(`Phone shell is not built`);bK=!1,pK.clear(),IM(null);for(let e of oK)oe(e.el);for(let e of yK.headerControls||[])oe(e);MK(!1),cK.hidden=!0,cK.removeAttribute(`data-keyboard`),TK(),BK()}}function XK(e){return!bK||!fK||!pK||!T.has(e)?!1:(LK(e),Iz(e))}function ZK(){return bK}function QK(){return bK&&pK?pK.getSessionId():null}function $K(){if(!bK)return;if(!fK||!pK)throw Error(`Phone shell is not built`);iq(),fK.refresh(),pK.refresh(),pe.snapshot().phoneScreen===`terminal`&&!pK.getSessionId()&&KK(iK);let e=OK(lK.get(iK));e&&(e.hidden=fK.getAttentionCount()===0)}function eq(e){return bK?(LK(e),!0):!1}function tq(e){return!bK||!GK(e)?!1:(KK(e),!0)}function nq(e,t){t&&vK.delete(e),t||vK.add(e);let n=_K.get(e);n&&(n.hidden=!t);let r=uK.get(e);r&&!t&&(r.hidden=!0),AK(),!t&&bK&&pe.snapshot().phoneScreen===e&&KK(iK)}function rq(e,t){dK.set(e,typeof t==`string`&&t?t:t===!0),AK()}function iq(){if(!pK)throw Error(`Phone shell is not built`);if(pK.getSessionId())return;let e=a_();e&&(pK.show(e),i_(e,{rememberFocus:!1}))}function aq(e,t){return!!e?.error&&!e.isRefreshing&&typeof e.nextAttemptAt==`number`&&e.nextAttemptAt>t}function oq(e,t){if(!e?.error)return null;let n=`Could not reach GitHub: ${e.error.trim().replace(/[.!]+$/,``)}.`;if(e.isRefreshing)return`${n} Refreshing.`;if(typeof e.nextAttemptAt!=`number`)return n;let r=Math.max(0,Math.ceil((e.nextAttemptAt-t)/1e3));return r===0?`${n} Retrying now.`:e.retry?`${n} Retrying in ${r}s (${e.retry.attempt} of ${e.retry.limit}).`:`${n} Next try in ${r>=60?`${Math.ceil(r/60)} min`:`${r}s`}.`}function sq(e,t,n){return e?.refreshNotice&&e.isRefreshing?e.refreshNotice:t||e?.isRefreshing?`Refreshing.`:n||e?.refreshNotice||``}var cq={minPx:220,maxPx:720},lq=16,uq=new Set,dq=0;function fq(e){let t=$f();e.toggleAttribute(`data-queue-collapsed`,t),e.querySelector(`.pr-queue-toggle`)?.setAttribute(`aria-expanded`,String(!t));let n=Zf();n===null?e.style.removeProperty(`--pr-queue-width`):e.style.setProperty(`--pr-queue-width`,`${n}px`)}function pq(){for(let e of uq)e.isConnected?fq(e):uq.delete(e)}function mq(e,t){let n=p(`div`,`pr-queue-head`);return e&&n.append(e),t&&n.append(t),n}function hq(e){let t=p(`div`,`pr-queue-foot`);return e&&t.append(e),t}function gq({queueLabel:e,scopeTabs:t,resizerLabel:n}){let r=p(`div`,`pr-columns`),i=p(`div`,`pr-queue-pane`),a=p(`nav`,`pr-queue`);a.id=`pr-queue-${++dq}`,a.setAttribute(`aria-label`,e);let o=p(`button`,`pr-queue-toggle`);o.type=`button`,o.setAttribute(`aria-label`,`Review queue`),o.setAttribute(`aria-controls`,a.id),o.title=`Collapse or expand the review queue`;let s=Aj(16,16);s.append(kj(`rect`,{x:`1.5`,y:`2`,width:`13`,height:`12`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),s.append(kj(`path`,{d:`M5.5 2V14`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`}));let c=kj(`path`,{d:`M11 6L9 8L11 10`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`,"stroke-linejoin":`round`});c.classList.add(`pr-queue-chevron`),s.append(c),o.append(s),o.addEventListener(`click`,()=>{ep(!$f()),pq()});let l=hq(null);i.append(mq(t,o),a,l);let u=p(`div`,`pr-queue-resizer`);u.setAttribute(`role`,`separator`),u.setAttribute(`aria-orientation`,`vertical`),u.setAttribute(`aria-label`,n),u.tabIndex=0;let d=p(`main`,`pr-detail-host`);return r.append(i,u,d),fq(r),uq.add(r),Yg({resizer:u,column:i,widthHost:r,widthProperty:`--pr-queue-width`,bounds:cq,keyStepPx:lq,getStoredWidth:Zf,setStoredWidth:Qf}),{columns:r,queue:a,foot:l,detail:d}}var _q={merged:`M5.45 5.154A4.25 4.25 0 0 0 9.25 7.5h1.378a2.251 2.251 0 1 1 0 1.5H9.25A5.734 5.734 0 0 1 5 7.123v3.505a2.25 2.25 0 1 1-1.5 0V5.372a2.25 2.25 0 1 1 1.95-.218ZM4.25 13.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm8.5-4.5a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5ZM5 3.25a.75.75 0 1 0 0 .005V3.25Z`,draft:`M3.25 1A2.25 2.25 0 0 1 4 5.372v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.251 2.251 0 0 1 3.25 1Zm9.5 14a2.25 2.25 0 1 1 0-4.5 2.25 2.25 0 0 1 0 4.5ZM2.5 3.25a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0ZM3.25 12a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm9.5 0a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5ZM14 7.5a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Zm0-4.25a1.25 1.25 0 1 1-2.5 0 1.25 1.25 0 0 1 2.5 0Z`,conflict:`M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,behind:`M13.03 8.22a.75.75 0 0 1 0 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L3.47 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018l2.97 2.97V3.75a.75.75 0 0 1 1.5 0v7.44l2.97-2.97a.75.75 0 0 1 1.06 0Z`,failed:`M2.343 13.657A8 8 0 1 1 13.658 2.343 8 8 0 0 1 2.343 13.657ZM6.03 4.97a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042L6.94 8 4.97 9.97a.749.749 0 0 0 .326 1.275.749.749 0 0 0 .734-.215L8 9.06l1.97 1.97a.749.749 0 0 0 1.275-.326.749.749 0 0 0-.215-.734L9.06 8l1.97-1.97a.749.749 0 0 0-.326-1.275.749.749 0 0 0-.734.215L8 6.94Z`,running:`M8 4a4 4 0 1 1 0 8 4 4 0 0 1 0-8Z`,passed:`M13.78 4.22a.75.75 0 0 1 0 1.06l-7.25 7.25a.75.75 0 0 1-1.06 0L2.22 9.28a.751.751 0 0 1 .018-1.042.751.751 0 0 1 1.042-.018L6 10.94l6.72-6.72a.75.75 0 0 1 1.06 0Z`,ready:`M8 16A8 8 0 1 1 8 0a8 8 0 0 1 0 16Zm3.78-9.72a.751.751 0 0 0-.018-1.042.751.751 0 0 0-1.042-.018L6.75 9.19 5.28 7.72a.751.751 0 0 0-1.042.018.751.751 0 0 0-.018 1.042l2 2a.75.75 0 0 0 1.06 0Z`,"changes-requested":`M1 1.75C1 .784 1.784 0 2.75 0h7.586c.464 0 .909.184 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v9.586A1.75 1.75 0 0 1 13.25 16H2.75A1.75 1.75 0 0 1 1 14.25Zm1.75-.25a.25.25 0 0 0-.25.25v12.5c0 .138.112.25.25.25h10.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177l-2.914-2.914a.25.25 0 0 0-.177-.073ZM8 3.25a.75.75 0 0 1 .75.75v1.5h1.5a.75.75 0 0 1 0 1.5h-1.5v1.5a.75.75 0 0 1-1.5 0V7h-1.5a.75.75 0 0 1 0-1.5h1.5V4A.75.75 0 0 1 8 3.25Zm-3 8a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Z`,thread:`M1 2.75C1 1.784 1.784 1 2.75 1h10.5c.966 0 1.75.784 1.75 1.75v7.5A1.75 1.75 0 0 1 13.25 12H9.06l-2.573 2.573A1.458 1.458 0 0 1 4 13.543V12H2.75A1.75 1.75 0 0 1 1 10.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h4.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z`,reviewer:`M1.75 1h12.5c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 13H8.061l-2.574 2.573A1.458 1.458 0 0 1 3 14.543V13H1.75A1.75 1.75 0 0 1 0 11.25v-8.5C0 1.784.784 1 1.75 1ZM1.5 2.75v8.5c0 .138.112.25.25.25h2a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h6.5a.25.25 0 0 0 .25-.25v-8.5a.25.25 0 0 0-.25-.25H1.75a.25.25 0 0 0-.25.25Zm5.28 1.72a.75.75 0 0 1 0 1.06L5.31 7l1.47 1.47a.751.751 0 0 1-.018 1.042.751.751 0 0 1-1.042.018l-2-2a.75.75 0 0 1 0-1.06l2-2a.75.75 0 0 1 1.06 0Zm2.44 0a.75.75 0 0 1 1.06 0l2 2a.75.75 0 0 1 0 1.06l-2 2a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L10.69 7 9.22 5.53a.75.75 0 0 1 0-1.06Z`,"your-turn":`M8 16a2 2 0 0 0 1.985-1.75c.017-.137-.097-.25-.235-.25h-3.5c-.138 0-.252.113-.235.25A2 2 0 0 0 8 16ZM3 5a5 5 0 0 1 10 0v2.947c0 .05.015.098.042.139l1.703 2.555A1.519 1.519 0 0 1 13.482 13H2.518a1.516 1.516 0 0 1-1.263-2.36l1.703-2.554A.255.255 0 0 0 3 7.947Zm5-3.5A3.5 3.5 0 0 0 4.5 5v2.947c0 .346-.102.683-.294.97l-1.703 2.556a.017.017 0 0 0-.003.01l.001.006c0 .002.002.004.004.006l.006.004.007.001h10.964l.007-.001.006-.004.004-.006.001-.007a.017.017 0 0 0-.003-.01l-1.703-2.554a1.745 1.745 0 0 1-.294-.97V5A3.5 3.5 0 0 0 8 1.5Z`,queued:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm7-3.25v2.992l2.028.812a.75.75 0 0 1-.557 1.392l-2.5-1A.751.751 0 0 1 7 8.25v-3.5a.75.75 0 0 1 1.5 0Z`,fork:`M5 5.372v.878c0 .414.336.75.75.75h4.5a.75.75 0 0 0 .75-.75v-.878a2.25 2.25 0 1 1 1.5 0v.878a2.25 2.25 0 0 1-2.25 2.25h-1.5v2.128a2.251 2.251 0 1 1-1.5 0V8.5h-1.5A2.25 2.25 0 0 1 3.5 6.25v-.878a2.25 2.25 0 1 1 1.5 0ZM5 3.25a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Zm6.75.75a.75.75 0 1 0 0-1.5.75.75 0 0 0 0 1.5Zm-3 8.75a.75.75 0 1 0-1.5 0 .75.75 0 0 0 1.5 0Z`,discarded:`M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm9.78-2.22-5.5 5.5a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734l5.5-5.5a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042Z`,stale:`M1.705 8.005a.75.75 0 0 1 .834.656 5.5 5.5 0 0 0 9.592 2.97l-1.204-1.204a.25.25 0 0 1 .177-.427h3.646a.25.25 0 0 1 .25.25v3.646a.25.25 0 0 1-.427.177l-1.38-1.38A7.002 7.002 0 0 1 1.05 8.84a.75.75 0 0 1 .656-.834ZM8 2.5a5.487 5.487 0 0 0-4.131 1.869l1.204 1.204A.25.25 0 0 1 4.896 6H1.25A.25.25 0 0 1 1 5.75V2.104a.25.25 0 0 1 .427-.177l1.38 1.38A7.002 7.002 0 0 1 14.95 7.16a.75.75 0 0 1-1.49.178A5.5 5.5 0 0 0 8 2.5Z`,unknown:`M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.92 6.085h.001a.749.749 0 1 1-1.342-.67c.169-.339.436-.701.849-.977C6.845 4.16 7.369 4 8 4a2.756 2.756 0 0 1 1.637.525c.503.377.863.965.863 1.725 0 .448-.115.83-.329 1.15-.205.307-.47.513-.692.662-.109.072-.22.138-.313.195l-.006.004a6.24 6.24 0 0 0-.26.16.952.952 0 0 0-.276.245.75.75 0 0 1-1.248-.832c.184-.264.42-.489.692-.661.103-.067.207-.132.313-.195l.007-.004c.1-.061.182-.11.258-.161a.969.969 0 0 0 .277-.245C8.96 6.514 9 6.427 9 6.25a.612.612 0 0 0-.262-.525A1.27 1.27 0 0 0 8 5.5c-.369 0-.595.09-.74.187a1.01 1.01 0 0 0-.34.398ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z`,none:`M2 7.75A.75.75 0 0 1 2.75 7h10a.75.75 0 0 1 0 1.5h-10A.75.75 0 0 1 2 7.75Z`};function vq(e,t){let n=Aj(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(kj(`path`,{d:_q[e],fill:`currentColor`})),n}var yq=1.2,bq=1.55,xq=.12,Sq=523.25,Cq=2,wq=8,Y=(e,t,n)=>({semitone:e,startBeat:t,beats:n}),Tq={melody:[Y(7,4,.5),Y(11,4.5,.5),Y(12,5,3)],bass:[Y(-5,4,1),Y(-12,5,3)]},Eq=[{melody:[Y(0,0,1),Y(4,1,1),Y(7,2,1),Y(9,3,1)],bass:[Y(-12,0,2),Y(-8,2,2)]},{melody:[Y(7,0,.67),Y(7,.67,.67),Y(7,1.33,.67),Y(9,2,1),Y(5,3,1)],bass:[Y(-12,0,2),Y(-7,2,2)]},{melody:[Y(5,0,1),Y(9,1,1),Y(7,2,1),Y(4,3,1)],bass:[Y(-7,0,2),Y(-12,2,2)]},{melody:[Y(12,0,.5),Y(7,.5,.5),Y(12,1,.5),Y(16,1.5,.5),Y(16,2,1),Y(14,3,1)],bass:[Y(-12,0,2),Y(-3,2,2)]},{melody:[Y(4,0,1),Y(7,1,1),Y(4,2,.5),Y(5,2.5,.5),Y(7,3,.5),Y(4,3.5,.5)],bass:[Y(-8,0,2),Y(-12,2,2)]}].map(e=>({melody:[...e.melody,...Tq.melody],bass:[...e.bass,...Tq.bass]}));function Dq(e,t){return Sq*2**((e+t)/12)}function Oq(e,t){let n=(e,n,r)=>e.map(e=>({frequency:Dq(e.semitone,t),startSeconds:bq+e.startBeat*xq,durationSeconds:e.beats*xq,waveform:n,gain:r}));return[...n(e.melody,`square`,.2),...n(e.melody,`triangle`,.5),...n(e.bass,`triangle`,.6)]}var kq=[{frequency:220,endFrequency:880,startSeconds:0,durationSeconds:.32,waveform:`triangle`,gain:.25},{frequency:160,endFrequency:45,startSeconds:yq,durationSeconds:.28,waveform:`sine`,gain:1},{frequency:1400,endFrequency:380,startSeconds:yq,durationSeconds:.06,waveform:`square`,gain:.12}];function Aq(e){let t=Eq[e%Eq.length],n=Math.min(e*Cq,wq);return{peakGain:.1,tones:[...kq,...Oq(t,n)]}}function jq(e){return Math.round(Math.sqrt(2*e/780)*1e3)}function Mq(e,t,n=Math.random){return Math.round(e+n()*(t-e))}function Nq(e,t=Math.random){let n=[...e];for(let e=n.length-1;e>0;--e){let r=Math.floor(t()*(e+1));[n[e],n[r]]=[n[r],n[e]]}return n}var Pq=.6,Fq=.25,Iq=1.6;function Lq(e){return Math.min(Pq+e*Fq,Iq)}var Rq=[`var(--accent)`,`var(--state-running)`,`var(--state-idle)`,`var(--state-waiting)`,`var(--state-failed)`];function zq(e,t=Math.random){let n=Mq(320,520,t),r=Mq(1800,2800,t);return[[`--confetti-start-x`,`${Mq(4,96,t)}%`],[`--confetti-x`,`${Mq(-140,140,t)}px`],[`--confetti-rise`,`${-Mq(20,55,t)}px`],[`--confetti-fall`,`${Mq(45,70,t)}vh`],[`--confetti-rise-ms`,`${n}ms`],[`--confetti-fall-ms`,`${r}ms`],[`--confetti-flight-ms`,`${n+r}ms`],[`--confetti-tilt`,`${Mq(0,180,t)}deg`],[`--confetti-spin`,`${Mq(-360,360,t)}deg`],[`--confetti-flutter-ms`,`${Mq(160,340,t)}ms`],[`--confetti-delay`,`${Mq(0,160,t)}ms`],[`--confetti-color`,Rq[e%Rq.length]]]}var Bq=`<svg viewBox="0 0 36 36" aria-hidden="true"><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="17"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="13"/><circle class="merge-bullseye-ring-light" cx="18" cy="18" r="9"/><circle class="merge-bullseye-ring-red" cx="18" cy="18" r="5"/></svg>`,Vq=`<svg viewBox="0 0 26 8" aria-hidden="true"><path class="merge-bullseye-dart-flight" d="M0 0L7 3V5L0 8L2 4Z"/><rect class="merge-bullseye-dart-shaft" x="6" y="3.3" width="8" height="1.4"/><rect class="merge-bullseye-dart-barrel" x="13" y="2.5" width="7" height="3" rx="1"/><path class="merge-bullseye-dart-tip" d="M20 3L26 4L20 5Z"/></svg>`;function Hq(){let e=m(`div`,`merge-bullseye-target`,Bq);return e.append(p(`span`,`merge-bullseye-ripple`)),e}function Uq(){let e=p(`div`,`merge-bullseye-dart-drift`),t=p(`div`,`merge-bullseye-dart-arc`),n=p(`div`,`merge-bullseye-dart-aim`);return n.append(m(`div`,`merge-bullseye-dart`,Vq)),t.append(n),e.append(t),e}function Wq(){let e=p(`div`,`merge-bullseye-range`),t=p(`div`,`merge-bullseye-track`);return t.append(Uq()),e.append(Hq(),t),e}var Gq={title:`BULLSEYE!`,buildScene:Wq},Kq=6,qq=30,Jq=-14,Yq=16;function Xq(e=Math.random){return[[`--crosshair-start-left`,`${Mq(Kq,qq,e)}%`],[`--crosshair-start-offset-y`,`${Mq(Jq,Yq,e)}px`]]}var Zq=`<svg viewBox="0 0 26 40" aria-hidden="true"><path class="merge-headshot-target-body" d="M9 13H17L18 16Q25 18 25 24V40H1V24Q1 18 8 16Z"/><circle class="merge-headshot-target-head" cx="13" cy="7" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="7" r="3"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="6"/><circle class="merge-headshot-target-ring" cx="13" cy="27" r="2.5"/></svg>`,Qq=`<svg viewBox="0 0 22 22" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="M11 0V5M11 17V22M0 11H5M17 11H22"/><circle class="merge-headshot-crosshair-dot" cx="11" cy="11" r="1"/></svg>`,$q=`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3L8 8M21 3L16 8M3 21L8 16M21 21L16 16"/></svg>`;function eJ(){let e=p(`div`,`merge-headshot-sweep`);h(e,Xq());let t=p(`div`,`merge-headshot-aim`);t.append(m(`div`,`merge-headshot-crosshair`,Qq));let n=p(`div`,`merge-headshot-bob`);return n.append(t,m(`div`,`merge-headshot-hitmarker`,$q)),e.append(n),e}function tJ(){let e=p(`div`,`merge-headshot-range`),t=p(`div`,`merge-headshot-track`);return t.append(eJ()),e.append(m(`div`,`merge-headshot-target`,Zq),t),e}var nJ={title:`HEADSHOT!`,buildScene:tJ},rJ=[`10`,`J`,`Q`,`K`,`A`],iJ=19,aJ=5,oJ=9,sJ=780,cJ=70,lJ=70,uJ=35;function dJ(e){let t=rJ.length-1,n=e-t/2;return{offsetPx:n*iJ,titleSpreadFraction:n/t,tiltDegrees:n*aJ,bottomPx:oJ-n**2,dealLeadMs:sJ-e*cJ,flipLeadMs:160+(t-e)*lJ,waveDelayMs:e*uJ}}function fJ(e){return[[`--card-offset`,`${e.offsetPx}px`],[`--card-title-spread`,String(e.titleSpreadFraction)],[`--card-tilt`,`${e.tiltDegrees}deg`],[`--card-bottom`,`${e.bottomPx}px`],[`--card-deal-lead-ms`,`${e.dealLeadMs}ms`],[`--card-flip-lead-ms`,`${e.flipLeadMs}ms`],[`--card-wave-delay-ms`,`${e.waveDelayMs}ms`]]}function pJ(){return[[`--card-flip-ms`,`160ms`]]}var mJ=`<svg viewBox="0 0 10 9" aria-hidden="true"><path d="M5 8.5C5 8.5 0 5.3 0 2.6C0 1.1 1.2 0 2.6 0C3.6 0 4.5 .6 5 1.4C5.5 .6 6.4 0 7.4 0C8.8 0 10 1.1 10 2.6C10 5.3 5 8.5 5 8.5Z"/></svg>`;function hJ(e,t){let n=p(`div`,`merge-flush-deal`);h(n,fJ(dJ(t)));let r=p(`div`,`merge-flush-hop`),i=p(`div`,`merge-flush-card`),a=p(`div`,`merge-flush-face`);return a.append(p(`span`,`merge-flush-rank`,e)),a.insertAdjacentHTML(`beforeend`,mJ),i.append(p(`div`,`merge-flush-back`),a),r.append(i),n.append(r),n}function gJ(){let e=p(`div`,`merge-flush-table`);return h(e,pJ()),e.append(...rJ.map(hJ)),e}var _J={title:`ROYAL FLUSH!`,buildScene:gJ},vJ=[1,2,3,4],yJ=14,bJ=3,xJ=3,SJ=10,CJ=20,wJ=2,TJ=28,EJ=18,DJ=.01,OJ=1.5,kJ=2200,AJ=1,jJ=120,MJ=.35,NJ=4,PJ=65,FJ=145;function IJ(e){return Math.round(e/(Math.PI*EJ)*360)}function LJ(e){return CJ-e*wJ}function RJ(e){return e.rowIndex*yJ+e.depthIndex*bJ}function zJ(e,t,n){return Array.from({length:n},(r,i)=>e+(t-e)*i/(n-1))}function BJ(){return vJ.flatMap((e,t)=>Array.from({length:e},(n,r)=>({rowIndex:t,depthIndex:e-1-r})))}function VJ(e,t){let n=Nq(zJ(15,105,e),t),r=Nq(zJ(PJ,FJ,e),t);return n.map((e,n)=>({angleDegrees:e+Mq(-4,NJ,t),depthScalePercent:Math.round(r[n])}))}function HJ(e,t,n){let r=Mq(240,380,n),i=t.angleDegrees*Math.PI/180,a=r*Math.cos(i),o=(r*Math.sin(i))**2/1560,s=Mq(15,45,n),c=jq(o),l=jq(o+s),u=c+l,d=Mq(540,1080,n),f=a>=0?1:-1,p=RJ(e);return{depthIndex:e.depthIndex,launchAngleDegrees:t.angleDegrees,distanceFromHeadPinPx:p,layer:LJ(e.depthIndex),flyXPx:Math.round(a*u/1e3),peakRisePx:Math.round(o),landingDropPx:s,riseMs:c,fallMs:l,flightMs:u,spinDegrees:Math.round(f*d*u/1e3),glintMs:Math.round(180/d*1e3),depthScalePercent:t.depthScalePercent,delayMs:Math.round(p/MJ)}}function UJ(e=Math.random){let t=BJ(),n=VJ(t.length,e);return t.map((t,r)=>HJ(t,n[r],e))}function WJ(e){return[[`--pin-left`,`${e.distanceFromHeadPinPx}px`],[`--pin-raise`,`${e.depthIndex*xJ}px`],[`--pin-shade`,`${100-e.depthIndex*12}%`],[`--pin-fly-x`,`${e.flyXPx}px`],[`--pin-peak-y`,`${-e.peakRisePx}px`],[`--pin-land-y`,`${e.landingDropPx}px`],[`--pin-rise-ms`,`${e.riseMs}ms`],[`--pin-fall-ms`,`${e.fallMs}ms`],[`--pin-flight-ms`,`${e.flightMs}ms`],[`--pin-spin`,`${e.spinDegrees}deg`],[`--pin-glint-ms`,`${e.glintMs}ms`],[`--pin-depth-scale`,`${e.depthScalePercent}%`],[`--pin-depth-shade`,`${e.depthScalePercent-10}%`],[`--pin-delay`,`${e.delayMs}ms`],[`--pin-layer`,String(e.layer)]]}function GJ(){return LJ(OJ)}function KJ(){return Math.max(...BJ().map(RJ))+SJ}function qJ(){let e=KJ(),t=TJ+e+EJ-AJ;return[[`--ball-follow-px`,`${jJ}px`],[`--ball-follow-ms`,`${Math.round(jJ/MJ)}ms`],[`--ball-follow-spin`,`${IJ(jJ)}deg`],[`--ball-size`,`${EJ}px`],[`--ball-approach-spin`,`${kJ}deg`],[`--ball-impact-inset`,`${t}px`],[`--ball-layer`,String(GJ())],[`--rack-right`,`${TJ}px`],[`--rack-width`,`${e}px`],[`--pin-width`,`${SJ}px`]]}function JJ(e=Math.random){return e()>=DJ?null:zd[Math.floor(e()*zd.length)].sprite}var YJ=`<svg viewBox="0 0 10 24" aria-hidden="true"><path class="merge-strike-pin-body" d="M5 0C7 0 7.6 2 7.2 4C6.9 5.6 6.3 6.6 6.4 8C6.6 10 9.6 12 9.6 16C9.6 19.5 8.4 22 7.6 24H2.4C1.6 22 .4 19.5 .4 16C.4 12 3.4 10 3.6 8C3.7 6.6 3.1 5.6 2.8 4C2.4 2 3 0 5 0Z"/><path class="merge-strike-pin-stripe" d="M3.1 5.2H6.9V6.2H3.1ZM3.4 7H6.6V8H3.4Z"/></svg>`;function XJ(e){let t=p(`span`,`merge-strike-pin`);return t.append(m(`span`,`merge-strike-pin-arc`,YJ)),h(t,WJ(e)),t}function ZJ(){let e=JJ();if(!e)return p(`span`,`merge-strike-ball`);let t=p(`span`,`merge-strike-ball is-animal`);return t.append(p(`span`,`nyan-sprite ${e}`)),t}function QJ(){let e=p(`div`,`merge-strike-lane`);h(e,qJ());let t=p(`div`,`merge-strike-rack`);t.append(...UJ().map(XJ));let n=p(`div`,`merge-strike-track`);return n.append(ZJ()),e.append(t,n),e}var $J={title:`STRIKE!`,buildScene:QJ},eY=20,tY=92,nY=23,rY=7,iY=-40;function aY(){let e=jq(72),t=jq(69),n=780*t/1e3;return{launchHeightPx:eY,peakHeightPx:tY,heightThroughRimPx:nY,heightLeavingNetPx:rY,heightOutOfCardPx:iY,riseMs:e,fallToRimMs:t,speedThroughRimPxPerSecond:n,netCatchMs:Math.round(32/n*1e3),dropMs:jq(47)}}function oY(e=aY()){return[[`--ball-launch-y`,`${-e.launchHeightPx}px`],[`--ball-peak-y`,`${-e.peakHeightPx}px`],[`--ball-rim-y`,`${-e.heightThroughRimPx}px`],[`--ball-net-exit-y`,`${-e.heightLeavingNetPx}px`],[`--ball-drop-out-y`,`${-e.heightOutOfCardPx}px`],[`--ball-rise-ms`,`${e.riseMs}ms`],[`--ball-fall-to-rim-ms`,`${e.fallToRimMs}ms`],[`--ball-to-rim-ms`,`${e.riseMs+e.fallToRimMs}ms`],[`--ball-net-catch-ms`,`${e.netCatchMs}ms`],[`--ball-drop-ms`,`${e.dropMs}ms`]]}var sY=`<svg viewBox="0 0 40 48" aria-hidden="true"><rect class="merge-swish-pole" x="36" y="28" width="2" height="20"/><rect class="merge-swish-backboard" x="35" y="2" width="3" height="26" rx="1"/><path class="merge-swish-rim" d="M31 18H35M7 18A12 2.5 0 0 1 31 18"/></svg>`,cY=`<svg viewBox="0 0 40 48" aria-hidden="true"><g class="merge-swish-net"><path d="M8 18L12 32M13.5 18L15.5 32M19 18V32M24.5 18L22.5 32M30 18L26 32M9.5 23Q19 25 28.5 23M11 28Q19 29.5 27 28"/></g><path class="merge-swish-rim" d="M7 18A12 2.5 0 0 0 31 18"/></svg>`;function lY(){let e=p(`div`,`merge-swish-ball-drift`),t=p(`div`,`merge-swish-ball-arc`);return t.append(p(`span`,`merge-swish-ball`)),e.append(t),e}function uY(){let e=p(`div`,`merge-swish-court`);h(e,oY());let t=p(`div`,`merge-swish-track`);return t.append(lY()),e.append(m(`div`,`merge-swish-hoop-back`,sY),t,m(`div`,`merge-swish-hoop-front`,cY)),e}var dY=[$J,{title:`SWISH!`,buildScene:uY},Gq,nJ,_J],fY=48,pY=5600,mY=20,hY=null,gY=[],_Y=null,vY=!1,yY=0;function bY(e){let t=p(`span`,`merge-confetti-piece`),n=p(`span`,`merge-confetti-arc`);return n.append(p(`span`,`merge-confetti-paper`)),t.append(n),h(t,zq(e)),t}function xY(e){let t=p(`p`,`merge-celebration-title`);return t.setAttribute(`aria-hidden`,`true`),Array.from(e).forEach((e,n)=>{let r=p(`span`,`merge-celebration-letter`,e);r.style.setProperty(`--letter-delay`,`${n*45}ms`),t.append(r)}),t}function SY(e,t){let n=t.firstElementChild,r=t.lastElementChild;n instanceof HTMLElement&&r instanceof HTMLElement&&(e.style.setProperty(`--celebration-title-width`,`${r.offsetLeft+r.offsetWidth-n.offsetLeft}px`),e.style.setProperty(`--celebration-title-center-y`,`${t.offsetTop+t.offsetHeight/2}px`))}function CY(e){let t=p(`div`,`merge-celebration-scene`);return t.setAttribute(`aria-hidden`,`true`),t.append(e.buildScene()),t}function wY(){return dY[Math.floor(Math.random()*dY.length)]}function TY(e){if(kf())try{rT(Aq(e))}catch{}}function EY(e){let t=p(`ul`,`merge-celebration-details`);for(let n of e)t.append(p(`li`,`merge-celebration-detail`,n));return t}function DY(e,t,n){hY?.remove(),TY(n);let r=p(`div`,`merge-celebration`);r.setAttribute(`role`,`status`);let i=p(`div`,`merge-celebration-card`),a=p(`div`,`merge-celebration-stage`),o=xY(t.title);a.append(o,p(`p`,`merge-celebration-message`,e.message),EY(e.detailLines),CY(t));let s=p(`div`,`merge-confetti`);s.style.setProperty(`--confetti-scale`,String(Lq(n)));for(let e=0;e<fY;e+=1)s.append(bY(e));i.append(s,a),r.append(i),document.body.append(r),SY(a,o),hY=r,window.setTimeout(()=>{r.remove(),hY===r&&(hY=null)},pY)}function OY(e){return vY?`playing`:e?`queued`:`empty`}function kY(){if(!_Y)return;let e=gY.length>0;_Y.tray.dataset.state=OY(e),_Y.count.textContent=e?String(gY.length):``,_Y.button.disabled=vY||!e}function AY(){let e=gY.shift();vY=e!==void 0,kY(),e&&(DY(e.text,e.scene,yY),yY+=1,window.setTimeout(AY,pY))}function jY(e,t,n){_Y={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{yY=0,AY()}),kY()}function MY(e,t=wY()){gY.push({text:e,scene:t}),gY.length>mY&&gY.shift(),kY()}var NY={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},PY=new Set([`FAILURE`,`ERROR`]);function FY(e){return NY[e]}function IY(e){return e.state===`MERGED`?`Already merged`:e.state===`OPEN`?e.isDraft?`Drafts cannot be merged`:e.isInMergeQueue?`Already in the merge queue`:e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?`Resolve the merge conflicts first`:e.checks.failing.length>0||e.checks.state!==null&&PY.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function LY(e,t,n,r,i,a){return{isVisible:a&&(e.state===`OPEN`||t),isPressed:t,isDisabled:n,statusText:r||(n?`Saving...`:i)}}function RY(e,t,n=``){if(!t||!e.keepMergeable)return null;let r=zY(e,!1,``,!0,n).statusText;if(e.isKeepMergeableFixInFlight)return{text:`Repairing`,tone:`warn`,title:r};let i=e.keepMergeableAttempt;return!i||i.outcome===`pushed`||i.outcome===`stopped`?null:{text:`Repair failed`,tone:`danger`,title:r}}function zY(e,t,n=``,r=!0,i=``){let a=e.keepMergeableAttempt,o=e.keepMergeable?`On`:`Off`;if(e.keepMergeable&&a&&a.outcome!==`pushed`&&a.outcome!==`stopped`){let e=i?` (${i})`:``;o=`Keep mergeable failed: ${a.reason??`The attempt produced no repair`}${e}`}return e.isKeepMergeableFixInFlight&&(o=`Keep mergeable is running`),LY(e,!!e.keepMergeable,t,n,o,r)}function BY(e){return e?.isKeepMergeableEnabled!==!1}function VY(e){return e?.isMergeQueueEnabled!==!1}var HY={one:`st`,two:`nd`,few:`rd`,other:`th`},UY=new Intl.PluralRules(`en-US`,{type:`ordinal`});function WY(e){return`${e}${HY[UY.select(e)]??`th`}`}function GY(e,t,n){return e===null?`Not queued`:t?`Repair pushed, waiting for you`:n?`Queued, the last merge failed and retries an hour later once it is ready`:`Queued, ${WY(e)} in line for this repository`}function KY(e,t,n=``,r=!0){let i=e.mergeQueuePosition??null;return LY(e,i!==null,t,n,GY(i,!!e.isMergeQueueHeldForRepairPush,!!e.mergeQueueFailure),r)}var qY=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],JY=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],YY={conflicts:`Needs you`,behind:`Needs you`,"checks-failing":`Needs you`,"changes-requested":`Needs you`,"unresolved-threads":`Needs you`,"checks-pending":`Waiting`,"needs-approval":`Waiting`,unknown:`Waiting`,ready:`Ready to merge`,draft:`Drafts`,merged:`Merged today`},XY={merged:`Merged`,draft:`Draft`,conflicts:`Merge conflicts`,behind:`Behind base`,"checks-failing":`Checks failing`,"changes-requested":`Changes requested`,"unresolved-threads":`Unresolved threads`,"checks-pending":`Checks running`,"needs-approval":`Needs approval`,ready:`Ready to merge`,unknown:`Status unknown`},ZY={merged:`muted`,draft:`muted`,conflicts:`danger`,behind:`warn`,"checks-failing":`danger`,"changes-requested":`warn`,"unresolved-threads":`warn`,"checks-pending":`wait`,"needs-approval":`wait`,ready:`ok`,unknown:`muted`},QY={merged:`merged`,draft:`draft`,conflicts:`conflict`,behind:`behind`,"checks-failing":`failed`,"changes-requested":`changes-requested`,"unresolved-threads":`thread`,"checks-pending":`running`,"needs-approval":`reviewer`,ready:`ready`,unknown:`unknown`};function $Y(e){let t=Oc.safeParse(e);return t.success?t.data:null}function eX(e){let t=e.filter(e=>e.state===`OPEN`&&!e.isCrossRepository),n=new Map(t.map(e=>[JSON.stringify([e.repo.toLowerCase(),e.headRefName]),e])),r=new Map,i=[];for(let t of e){let e=t.state===`OPEN`?n.get(JSON.stringify([t.repo.toLowerCase(),t.baseRefName])):void 0;if(!e||e.key===t.key){i.push(t);continue}let a=r.get(e.key)??[];a.push(t),r.set(e.key,a)}let a=[],o=new Set;for(let t of[...i,...e]){if(o.has(t.key))continue;let e=[],n=[{pr:t,parentKey:null,depth:0}];for(;n.length>0;){let t=n.pop();if(!t||o.has(t.pr.key))continue;o.add(t.pr.key),e.push(t);let i=r.get(t.pr.key)??[];for(let e=i.length-1;e>=0;--e)n.push({pr:i[e],parentKey:t.pr.key,depth:t.depth+1})}a.push({root:t,rows:e})}return a}function tX(e){return qY[e.rows.reduce((e,{pr:t})=>Math.min(e,qY.indexOf(YY[t.stage])),qY.length-1)]}function nX(e){let t=new Map(qY.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of eX(e)){let e=t.get(tX(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return JY.flatMap(e=>t.get(e)??[])}function rX(e){return XY[e]}function iX(e){return ZY[e]}function aX(e){return QY[e]}function oX(e){if(e.checks.failing.length>0){let t=e.checks.failing.length-3;return{label:`Checks`,tone:`danger`,icon:`failed`,text:`${e.checks.failing.length} failing: ${e.checks.failing.slice(0,3).join(`, `)}${t>0?` and ${t} more`:``}`}}return e.checks.state===`FAILURE`||e.checks.state===`ERROR`?{label:`Checks`,tone:`danger`,icon:`failed`,text:`Failing`}:e.checks.pendingCount>0?{label:`Checks`,tone:`wait`,icon:`running`,text:`${e.checks.pendingCount} running`}:e.checks.state===`PENDING`||e.checks.state===`EXPECTED`?{label:`Checks`,tone:`wait`,icon:`running`,text:`Running`}:e.checks.state===`SUCCESS`?{label:`Checks`,tone:`ok`,icon:`passed`,text:`Passing`}:{label:`Checks`,tone:`muted`,icon:`none`,text:`No checks`}}function sX(e){return`${e} ${e===1?`approval`:`approvals`}`}function cX(e){return e.reviewRequests.map(e=>e.name).join(`, `)}function lX(e){let t=e.reviewRequests.length>0?`Requested: ${cX(e)}`:`Approval required`;return e.approvals>0?`${t}, ${sX(e.approvals)}`:t}function uX(e){let t=e.approvals>0?sX(e.approvals):`Approved`;return e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`${t}, merge blocked`}:{label:`Review`,tone:`ok`,icon:`passed`,text:t}}function dX(e){return e.reviewDecision===`CHANGES_REQUESTED`?{label:`Review`,tone:`warn`,icon:`changes-requested`,text:`Changes requested`}:e.reviewDecision===`APPROVED`?uX(e):e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:lX(e)}:e.reviewRequests.length>0?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`Requested: ${cX(e)}`}:{label:`Review`,tone:`muted`,icon:`none`,text:`No review requested`}}function fX(e,t){return t?e.lastAuthor!==t:null}function pX(e){let t=e.line===null?e.path:`${e.path}:${e.line}`;return e.isOutdated?`${t} (outdated)`:t}function mX(e){let t=e.commentCount-1;return t===0?`No replies`:`${t} ${t===1?`reply`:`replies`}, last by ${e.lastAuthor??`a deleted account`}`}function hX(e,t){let n=fX(e,t);return n===null?null:n?{tone:`warn`,icon:`your-turn`,text:`Waiting on you`}:{tone:`wait`,icon:`reviewer`,text:`Waiting on reviewer`}}function gX(e,t){return[...e.threads].sort((e,n)=>{let r=Number(fX(n,t)===!0)-Number(fX(e,t)===!0);return r===0?(Date.parse(n.lastActivityAt)||0)-(Date.parse(e.lastActivityAt)||0):r}).map(e=>({location:pX(e),url:e.url,author:e.author??`a deleted account`,excerpt:e.excerpt,replySummary:mX(e),lastActivityAt:e.lastActivityAt,waiting:hX(e,t)}))}function _X(e,t){if(e.unresolvedThreads===0)return{label:`Threads`,tone:`ok`,icon:`passed`,text:`None open`};let n=`${e.unresolvedThreads} unresolved`;if(!t||e.threads.length===0)return{label:`Threads`,tone:`warn`,icon:`thread`,text:n};let r=e.threads.filter(e=>fX(e,t)).length;return r===0?{label:`Threads`,tone:`wait`,icon:`thread`,text:`${n}, all waiting on reviewers`}:{label:`Threads`,tone:`warn`,icon:`your-turn`,text:`${n}, ${r} waiting on you`}}function vX(e){return e.mergeable===`CONFLICTING`||e.mergeStateStatus===`DIRTY`?{label:`Conflicts`,tone:`danger`,icon:`conflict`,text:`Conflicts with ${e.baseRefName}`}:e.mergeable===`MERGEABLE`?{label:`Conflicts`,tone:`ok`,icon:`passed`,text:`None`}:{label:`Conflicts`,tone:`muted`,icon:`unknown`,text:`Not computed yet`}}function yX(e){let t=e.behindBy!==null&&e.behindBy>0;return e.mergeStateStatus===`BEHIND`?{label:`Base`,tone:`warn`,icon:`behind`,text:t?`${e.behindBy} behind ${e.baseRefName}`:`Behind ${e.baseRefName}`}:e.behindBy===null?{label:`Base`,tone:`muted`,icon:`unknown`,text:`Unknown`}:t?{label:`Base`,tone:`muted`,icon:`behind`,text:`${e.behindBy} behind ${e.baseRefName}, update not required`}:{label:`Base`,tone:`ok`,icon:`passed`,text:`Up to date with ${e.baseRefName}`}}var bX={APPROVED:{text:`Approved`,tone:`ok`,icon:`passed`},CHANGES_REQUESTED:{text:`Requested changes`,tone:`warn`,icon:`changes-requested`},COMMENTED:{text:`Commented`,tone:`muted`,icon:`thread`},DISMISSED:{text:`Dismissed`,tone:`muted`,icon:`discarded`},PENDING:{text:`Pending`,tone:`wait`,icon:`running`}};function xX(e){return[...e.reviews].sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).map(e=>{let t=bX[e.state]??{text:e.state.toLowerCase().replaceAll(`_`,` `),tone:`muted`,icon:`unknown`};return{reviewer:e.reviewer??`a deleted account`,text:t.text,tone:t.tone,icon:t.icon,submittedAt:e.submittedAt}})}function SX(e,t=null){if(e.state===`MERGED`)return[];let n=[oX(e),dX(e),_X(e,t),vX(e),yX(e)],r=e.autoRebase?[CX(e,e.autoRebase)]:[],i=e.mergeQueueFailure?[{label:`Merge when ready`,tone:`danger`,icon:`failed`,text:`Merge failed: ${e.mergeQueueFailure.message}`}]:[];return[...n,...r,...i]}function CX(e,t){return t.outcome===`rebased`?{label:`Auto-rebase`,tone:`ok`,icon:`passed`,text:t.message}:{label:`Auto-rebase`,tone:e.mergeStateStatus===`BEHIND`?`danger`:`warn`,icon:`failed`,text:t.message}}function wX(e){return e?e.configured?e.error&&e.prs.length===0?`Pull requests will show here once GitHub answers.`:`No open or recently merged pull requests found.`:`Enable Team review and set its GitHub organization in settings to see your pull requests.`:`Waiting for your pull requests.`}function TX(e,t=0){if(!e)return[];let n=oq(e,t),r=n?[{text:n,tone:`error`}]:[];return e.truncatedNote?[...r,{text:e.truncatedNote,tone:`info`}]:r}function EX(e){return`${e.repo}#${e.number}`.toLowerCase()}function DX(e){let t=new Map;for(let n of e)for(let e of n.links){let r=EX(e),i=t.get(r)??[];i.at(-1)?.id!==n.id&&(i.push({id:n.id,title:n.title}),t.set(r,i))}return t}function OX(e,t){let n=e.flatMap(e=>e.prs);return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}function kX(e,t){if(!e)return[];let n=new Set(e.filter(e=>e.state===`OPEN`).map(e=>e.key));return t.filter(e=>e.state===`MERGED`&&n.has(e.key))}var AX=3;function jX(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,AX).map(e=>`${e.key} ${e.title}`),n=e.length-t.length,r=n>0?[...t,`and ${n} more`]:t;return{message:`Merged ${e.length} pull requests`,detailLines:r}}var MX={isVisible:!1,isDisabled:!0,statusText:``,tone:null},NX={merged:{statusText:`Merged on GitHub. Refreshing the list.`,tone:`ok`},queued:{statusText:`Added to the merge queue. Refreshing the list.`,tone:`ok`},"auto-merge":{statusText:`Auto-merge enabled. GitHub merges it once its requirements pass.`,tone:`ok`},unconfirmed:{statusText:`GitHub accepted the request but did not confirm a merge. Check GitHub.`,tone:null}};function PX(e,t){if(e.state!==`OPEN`)return MX;let n=t?.head===e.headRefOid?t:void 0;if(n?.phase===`pending`)return{isVisible:!0,isDisabled:!0,statusText:`Merging on GitHub`,tone:`busy`};if(n&&n.phase!==`failed`)return{isVisible:!0,isDisabled:!0,...NX[n.phase]};let r=IY(e);return r?{isVisible:!0,isDisabled:!0,statusText:r,tone:null}:n?.phase===`failed`?{isVisible:!0,isDisabled:!1,statusText:n.text,tone:`error`}:{isVisible:!0,isDisabled:!1,statusText:`Merges into ${e.baseRefName} with ${FY(e.mergeMethod)}`,tone:null}}function FX(e){return`Merge ${e.key} "${e.title}" into ${e.baseRefName} with ${FY(e.mergeMethod)}, your default for this repository. Glimmervoid does not delete the branch.`}function IX(e){let t=kc.safeParse(e);if(!t.success)return null;let n=e&&typeof e==`object`&&`requestId`in e?e.requestId:null;return typeof n==`string`?{...t.data,requestId:n}:null}var LX=null,RX=null,zX=null,BX=null,VX=null,HX=null,UX=null,WX=new Map,GX=new Set,KX=new Map,qX=new Map,JX=!1,YX=null,XX={label:`Keep mergeable`,pendingKeys:new Set,errorsByKey:new Map,controlState:(e,t,n,r)=>zY(e,t,n,r,bh(e.keepMergeableAttempt?.at)),isFeatureEnabled:BY,save:async(e,t)=>{let n=await hm(`my-pr-keep-mergeable`,{repo:e.repo,number:e.number,keepMergeable:t});if(n.type!==`my-pr-keep-mergeable-result`||n.key!==e.key)throw Error(`Unexpected keep mergeable reply.`);return n.ok?null:n.error??`Could not save Keep mergeable.`}},ZX={label:`Merge when ready`,pendingKeys:new Set,errorsByKey:new Map,controlState:KY,isFeatureEnabled:VY,save:async(e,t)=>{let n=await hm(`my-pr-merge-when-ready`,{repo:e.repo,number:e.number,mergeWhenReady:t});if(n.type!==`my-pr-merge-when-ready-result`||n.key!==e.key)throw Error(`Unexpected merge when ready reply.`);return n.ok?null:n.error??`Could not save Merge when ready.`}},QX=6e4,$X=`No reply from the server. Check GitHub before trying again.`;function eZ(e,t){let n=p(`div`,`reviews-refresh-control`),r=p(`button`,`pr-action reviews-refresh-button`,`Refresh`);r.type=`button`;let i=p(`span`,`reviews-refresh-status`);i.setAttribute(`role`,`status`);let a=p(`p`,`my-pr-error reviews-retry-notice`);n.append(r,i);let o=null,s=!1,c=``,l=null;function u(){a.textContent=oq(o,Date.now()),a.hidden!==!o?.error&&(a.hidden=!o?.error);let e=a.isConnected&&!w(t)&&!document.hidden&&a.getClientRects().length>0&&aq(o,Date.now());!e&&l!==null&&(window.clearInterval(l),l=null),e&&l===null&&(l=window.setInterval(u,1e3))}function d(e){e!==o&&(c=``),o=e,r.disabled=s||!!e?.isRefreshing||!e?.configured,i.textContent=sq(e,s,c),i.hidden=!i.textContent,u()}r.addEventListener(`click`,async()=>{if(!s){s=!0,c=``,d(o);try{let t=await hm(`github-polling-refresh`,{lane:e});t.type===`github-polling-refresh-result`&&(c=t.ok?`Refreshed.`:t.error??`Could not refresh from GitHub.`)}catch(e){c=Dm(e)}finally{s=!1,d(o)}}});let f=new MutationObserver(u);f.observe(t,{attributes:!0,subtree:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});for(let e=t.parentElement;e;e=e.parentElement)f.observe(e,{attributes:!0,attributeFilter:[`hidden`,`data-queue-collapsed`]});return document.addEventListener(`visibilitychange`,u),{control:n,notice:a,update:d}}function tZ(e,t,n,r){WX.set(e,{head:t,phase:n,text:r}),pZ()}function nZ(e){if(KX.has(e.key))return;let t=mm(`my-pr-merge`);if(!U({type:`my-pr-merge`,requestId:t,repo:e.repo,number:e.number,headRefOid:e.headRefOid})){tZ(e.key,e.headRefOid,`failed`,`Not connected to the server.`);return}let n=window.setTimeout(()=>{KX.delete(e.key),tZ(e.key,e.headRefOid,`failed`,$X)},QX);KX.set(e.key,{requestId:t,head:e.headRefOid,timer:n}),WX.set(e.key,{head:e.headRefOid,phase:`pending`,text:``}),pZ()}function rZ(e){let t=PX(e,WX.get(e.key));if(!t.isVisible)return null;let n=p(`div`,`my-pr-merge`),r=p(`button`,`pr-action`,`Merge`);r.type=`button`,r.disabled=t.isDisabled;let i=p(`span`,`pr-action-status`,t.statusText);return i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`),t.tone&&(i.dataset.tone=t.tone),r.addEventListener(`click`,()=>{Tm({title:`Merge pull request`,message:FX(e),confirmLabel:`Merge`,onConfirm:()=>nZ(e)})}),n.append(r,i),n}function iZ(e,t){let n=t.controlState(e,t.pendingKeys.has(e.key),t.errorsByKey.get(e.key),t.isFeatureEnabled(VX));if(!n.isVisible)return null;let r=p(`div`,`my-pr-merge`),i=p(`button`,`pr-action`,t.label);i.type=`button`,i.disabled=n.isDisabled,i.setAttribute(`aria-pressed`,String(n.isPressed));let a=p(`span`,`pr-action-status`,n.statusText);return a.setAttribute(`role`,`status`),a.setAttribute(`aria-live`,`polite`),i.addEventListener(`click`,async()=>{if(!t.pendingKeys.has(e.key)){t.pendingKeys.add(e.key),t.errorsByKey.delete(e.key),pZ();try{let r=await t.save(e,!n.isPressed);r&&t.errorsByKey.set(e.key,r)}catch(n){t.errorsByKey.set(e.key,Dm(n))}finally{t.pendingKeys.delete(e.key),pZ()}}}),r.append(i,a),r}function aZ(e,{hasGlyph:t}){let n=p(`span`,`my-pr-stage`);return n.dataset.tone=iX(e.stage),t&&n.append(vq(aX(e.stage),iX(e.stage))),n.append(rX(e.stage)),n}function oZ(e,t){let n=p(`span`,`my-pr-requested`);n.append(p(`span`,null,`Requested`));let r=p(`span`,`avatar-stack`);for(let t of e.reviewRequests){let e=g({login:t.name,url:t.isTeam?t.avatarUrl:void 0,cssPx:16});e.title=t.name,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,t.name),r.append(e)}return n.append(r,p(`span`,`my-pr-requested-names`,t.slice(11))),n}function sZ(){if(!LX||!RX||zX?.isConnected)return;let e=gq({queueLabel:`My pull requests`,scopeTabs:RX,resizerLabel:`Resize pull request list`});zX=e.queue,BX=e.detail,LX.replaceChildren(e.columns),UX&&e.foot.append(UX.control)}function cZ(e){if(!BX)return;if(!e){BX.replaceChildren(p(`p`,`pr-empty`,wX(VX)));return}let t=p(`article`,`pr-detail`),n=p(`div`,`pr-detail-heading`),r=p(`div`,`pr-detail-title`);r.append(b(`pr-link`,e.key,e.url),p(`h2`,null,e.title)),n.append(r,aZ(e,{hasGlyph:!0})),t.append(n);for(let n of[XX,ZX]){let r=iZ(e,n);r&&t.append(r)}let i=SX(e,VX?.viewer??null);if(i.length>0){let n=p(`section`,`pr-readiness-section`);n.append(p(`h3`,`pr-section-heading`,`Merge readiness`));let r=p(`ul`,`pr-readiness`);for(let t of i){let n=p(`li`,`pr-readiness-row`),i=p(`span`,`pr-readiness-value`);t.label===`Review`&&t.text.startsWith(`Requested: `)&&i.append(oZ(e,t.text)),i.childNodes.length===0&&(i.textContent=t.text),n.append(vq(t.icon,t.tone),p(`span`,`pr-readiness-label`,t.label),i),r.append(n)}n.append(r);let a=rZ(e);a&&n.append(a),t.append(n)}if(e.checks.failing.length>0){let n=p(`section`,`my-pr-failures`);n.append(p(`h3`,`pr-section-heading`,`Failing checks`));let r=p(`ul`,`my-pr-facts`);for(let t of e.checks.failing)r.append(p(`li`,null,t));n.append(r),t.append(n)}let a=xX(e);if(a.length>0){let e=p(`section`,`pr-readiness-section`);e.append(p(`h3`,`pr-section-heading`,`Reviews`));let n=p(`ul`,`pr-readiness`);for(let e of a){let t=p(`li`,`pr-readiness-row`),r=Date.parse(e.submittedAt??``),i=Number.isFinite(r)?`${e.text} ${bh(r)}`:e.text,a=p(`span`,`my-pr-reviewer`);a.append(_([{login:e.reviewer,tone:e.tone,title:e.reviewer,url:e.reviewer===`a deleted account`?null:void 0}],16),p(`span`,null,e.reviewer)),t.append(vq(e.icon,e.tone),a,p(`span`,`pr-readiness-value`,i)),n.append(t)}e.append(n),t.append(e)}let o=gX(e,VX?.viewer??null);if(o.length>0){let e=p(`section`,`my-pr-threads-section`);e.append(p(`h3`,`pr-section-heading`,`Unresolved threads`));let n=p(`ul`,`my-pr-threads`);for(let e of o){let t=p(`li`,`my-pr-thread`),r=p(`div`,`my-pr-thread-heading`);if(r.append(b(`my-pr-thread-location`,e.location,e.url)),e.waiting){let t=p(`span`,`my-pr-stage`);t.dataset.tone=e.waiting.tone,t.append(vq(e.waiting.icon,e.waiting.tone),e.waiting.text),r.append(t)}let i=p(`p`,`my-pr-thread-excerpt`);i.append(p(`strong`,null,e.author),` ${e.excerpt}`);let a=Date.parse(e.lastActivityAt),o=p(`p`,`my-pr-thread-meta`,Number.isFinite(a)?`${e.replySummary}, ${bh(a)}`:e.replySummary);t.append(r,i,o),n.append(t)}e.append(n),t.append(e)}let s=p(`p`,`pr-detail-meta`);s.append(p(`span`,null,`Opened ${bh(Date.parse(e.createdAt))}`),p(`span`,null,`${e.state===`MERGED`?`Merged`:`Updated`} ${bh(Date.parse(e.state===`MERGED`?e.mergedAt??``:e.updatedAt))}`)),t.append(s),BX.replaceChildren(t)}function lZ(){return[...qX].flatMap(([e,t])=>{let n=T.get(e);return!n||t.length===0?[]:[{id:e,title:E(n)||e,links:t}]})}function uZ(e){if(!e||e.length===0)return null;let t=p(`div`,`my-pr-session-focus`);for(let n of e){let e=p(`button`,`pr-action my-pr-session-focus-button`,n.title);e.type=`button`,e.title=`Focus session ${n.title}`,e.setAttribute(`aria-label`,`Focus session ${n.title}`),e.addEventListener(`click`,()=>YX?.(n.id)),t.append(e)}return t}function dZ(){JX||(JX=!0,queueMicrotask(()=>{JX=!1,pZ()}))}function fZ(e){qX=e,dZ()}function pZ(){if(sZ(),!zX)return;let e=VX?.prs??[],t=nX(e);HX=OX(t,HX);let n=document.activeElement instanceof HTMLElement&&zX.contains(document.activeElement)?document.activeElement.dataset.prKey:null,r=DX(lZ()),i=t.filter(e=>e.rows.length>0).map(e=>{let t=p(`section`,`pr-queue-section`);t.append(p(`h3`,`pr-section-heading`,`${e.title} ${e.rows.length}`));for(let{pr:n,parentKey:i,depth:a}of e.rows){let e=p(`button`,`pr-queue-row`);e.type=`button`,e.dataset.prKey=n.key,i&&(e.style.paddingInlineStart=`${12+Math.min(a,6)*16}px`),e.setAttribute(`aria-current`,String(n.key===HX)),e.title=`${n.key}: ${rX(n.stage)}`;let o=p(`span`,`pr-queue-glyph`);o.append(vq(aX(n.stage),iX(n.stage)));let s=p(`span`,`pr-queue-top`);s.append(p(`strong`,`pr-queue-ref`,n.key),p(`span`,`pr-queue-title`,n.title));let c=p(`span`,`pr-queue-bottom`);i&&c.append(p(`span`,`my-pr-stage`,`Stacked on ${i}`));let l=n.state===`MERGED`?n.mergedAt:null,u=l?`merged ${bh(Date.parse(l))}`:`opened ${bh(Date.parse(n.createdAt))}`;c.append(aZ(n,{hasGlyph:!1}),p(`span`,`pr-queue-elapsed`,u));let d=RY(n,XX.isFeatureEnabled(VX),bh(n.keepMergeableAttempt?.at));if(d){let e=p(`span`,`my-pr-stage`,d.text);e.dataset.tone=d.tone,e.title=d.title,c.append(e)}e.append(o,s,c),e.addEventListener(`click`,()=>{HX=n.key;for(let e of zX?.querySelectorAll(`button[data-pr-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.prKey===HX));cZ(n),document.documentElement.dataset.layout===`phone`&&BX?.scrollIntoView({block:`start`,behavior:`smooth`})}),t.append(e);let f=uZ(r.get(EX(n)));f&&(i&&(f.style.paddingInlineStart=`${36+Math.min(a,6)*16}px`),t.append(f))}return t});if(i.length===0&&zX.replaceChildren(p(`p`,`pr-empty`,wX(VX))),i.length>0){let e=TX(VX,Date.now()).filter(e=>e.tone!==`error`).map(e=>p(`p`,e.tone===`error`?`my-pr-error`:`my-pr-note`,e.text));zX.replaceChildren(...e,...i)}UX&&(zX.prepend(UX.notice),UX.update(VX)),n&&[...zX.querySelectorAll(`button[data-pr-key]`)].find(e=>e.dataset.prKey===n)?.focus({preventScroll:!0}),cZ(e.find(e=>e.key===HX))}function mZ(e,t,n){return YX=n?.openTerminal??null,LX||(RX=t,LX=p(`div`,`pr-content`),e.append(LX),UX=eZ(`my-prs`,LX),pZ(),LX)}function hZ(){return VX}function gZ(e){let t=$Y(e);if(!t)return;let n=kX(VX?.prs??null,t.prs);VX=t,pZ(),_Z(n)}function _Z(e){let t=e.filter(e=>!GX.has(e.key));if(t.length!==0){for(let e of t)GX.add(e.key);MY(jX(t))}}function vZ(e){let t=IX(e);if(!t)return;let n=KX.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),KX.delete(t.key),!t.ok){tZ(t.key,n.head,`failed`,t.error||`The merge failed.`);return}if(tZ(t.key,n.head,t.kind??`unconfirmed`,``),t.kind!==`merged`)return;let r=VX?.prs.find(e=>e.key===t.key);r&&_Z([r])}var yZ=Vs.options.join(`|`),bZ=String.raw`\*\*(?:\[([^\]\n]+)\]\s+)?(${yZ})\*\*`;function xZ(e){return[...e.matchAll(new RegExp(bZ,`g`))].flatMap(e=>{let t=Vs.safeParse(e[2]);return t.success?[t.data]:[]})}function SZ(e){let t=new RegExp(String.raw`^${bZ}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let n=Vs.safeParse(t[2]);return n.success?{reviewer:t[1]??null,severity:n.data,length:t[0].length}:null}function CZ(e){let t=e.trimStart();return t.startsWith(`> [!NOTE]
|
|
249
|
-
> Automated review. Not written by a human.`)?t.slice(53).trim():e.trim()}var wZ={"direct-request":`Needs you`,"team-request":`Ready`,"changes-requested":`Author to fix`,"checks-failing":`Checks failing`,"checks-pending":`Checks running`,draft:`Draft`,"review-available":`Ready`,approved:`Approved`};function TZ(e){return e.isDraft?{band:`not-ready`,reason:`draft`}:e.reviewDecision===`CHANGES_REQUESTED`?{band:`waiting-on-author`,reason:`changes-requested`}:e.checksState===`FAILURE`||e.checksState===`ERROR`?{band:`waiting-on-author`,reason:`checks-failing`}:e.checksState===`PENDING`||e.checksState===`EXPECTED`?{band:`not-ready`,reason:`checks-pending`}:e.requestSource===`direct`&&e.reviewDecision===`REVIEW_REQUIRED`?{band:`blocking-others`,reason:`direct-request`}:e.reviewDecision===`APPROVED`?{band:`actionable`,reason:`approved`}:{band:`actionable`,reason:e.requestSource===`direct`?`review-available`:`team-request`}}var EZ={APPROVE:{label:`You approved`,tone:`ok`,icon:`passed`},COMMENT:{label:`You commented`,tone:`muted`,icon:`thread`}},DZ={APPROVED:{label:`You approved`,tone:`ok`,icon:`passed`},CHANGES_REQUESTED:{label:`You requested changes`,tone:`wait`,icon:`changes-requested`},COMMENTED:{label:`You commented`,tone:`muted`,icon:`thread`}};function OZ(e){let t=(e.githubReviews??[]).filter(e=>e.isViewer).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!e.postedEvent)return t?DZ[t.state]:null;if(!t)return EZ[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?EZ[e.postedEvent]:DZ[t.state]}var kZ={"changes-requested":`changes-requested`,"checks-failing":`failed`,"checks-pending":`running`,draft:`draft`};function AZ(e){let{reason:t}=TZ(e),n=kZ[t];return n?{text:wZ[t],icon:n}:null}function jZ(e){return AZ(e)?.text??null}var MZ={discarded:{tone:`muted`,icon:`discarded`,meaning:`Not mine`},handReview:{tone:`warn`,icon:`fork`,meaning:`From a fork`}};function NZ(e,t){let n=jZ(t);return n?`${e}, ${n}`:e}function PZ(e){if(Qs(e))return!0;let t=(e.githubReviews??[]).filter(e=>e.isViewer);return t.length===0||t.some(t=>t.commit===lQ(e))}var FZ={tone:`warn`,icon:`your-turn`,meaning:`Comments resolved`};function IZ(e,t){let n=MZ[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,icon:`running`,meaning:NZ(`In review`,e)};if(t===`queued`)return{tone:`muted`,icon:`queued`,meaning:NZ(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=PZ(e)?OZ(e):null;return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`ok`,icon:`passed`,meaning:`Others reviewed`}}if(t===`posted`&&`reviewedHead`in e){let t=OZ(e);return t?{tone:t.tone,icon:t.icon,meaning:t.label}:{tone:`muted`,icon:`none`,meaning:`Posted`}}if(t===`attention`&&`status`in e)return e.status===`error`?{tone:`danger`,icon:`failed`,meaning:`Review failed`}:{tone:`warn`,icon:`stale`,meaning:`Out of date`};let r=AZ(e);return r?{tone:`wait`,icon:r.icon,meaning:r.text}:t===`ready`&&`reviewedHead`in e&&zZ(e)?FZ:{tone:`warn`,icon:`your-turn`,meaning:`Waits on you`}}function LZ(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function RZ(e){return e.status===`posted`&&zZ(e)}function zZ(e){if(!LZ(e)||Qs(e))return!1;let t=lQ(e);return!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function BZ(e){return!e||e.total===0?null:e.total===1?e.resolved===1?`Your 1 comment resolved`:`Your 1 comment unresolved`:e.resolved===e.total?`All ${e.total} of your comments resolved`:`${e.resolved} of ${e.total} of your comments resolved`}function VZ(e){return`${e} ${e===1?`comment`:`comments`}`}function HZ(e,t,n){let r=[`${BQ(e.repo,e.number)}: ${e.title}`],i=`reviewedHead`in e?e.assessment?.goal.trim():``;if(i&&r.push(i),r.push(IZ(e,t).meaning),n.opened&&r.push(`Opened ${n.opened}`),n.reviewed&&r.push(`Reviewed ${n.reviewed}`),n.posted&&r.push(`Posted ${n.posted}`),!(`reviewedHead`in e))return r.join(`
|
|
250
|
-
`);let a=BZ(e.viewerThreads);a&&r.push(a);let o=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${tQ(e.verdict)}, ${VZ(o)}`);let s=_Q(e);s&&r.push(`You ${rQ[s.state]} at ${Fs(s.approvedCommit)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(n$(e));let c=xQ(e,{isViewerShown:t!==`posted`});for(let[e,t]of c.entries())r.push(bQ(t.text,n.githubReviews?.[e]??null));return r.join(`
|
|
251
|
-
`)}function UZ(e){if(e.ready.length+e.attention.length+e.handReview.length>0)return null;let t=e.inReview.length+e.queued.length;return t===0?`Nothing needs you right now.`:`Nothing needs you right now. ${t} ${t===1?`review is`:`reviews are`} still running.`}function WZ(e,t){if([...e.ready,...e.attention].filter(e=>e.key!==t).length>0)return{title:`New pull requests need you`,detail:`Pick one from the queue.`};let n=e.handReview.length;return n>0?{title:`Drafts all handled`,detail:`${n} ${n===1?`pull request needs`:`pull requests need`} review by hand.`}:{title:`All caught up`,detail:UZ({...e,ready:[],attention:[]})??``}}function GZ(e){let t=e.trim();return t.endsWith(`.`)?t:`${t}.`}function KZ({action:e,pullRequest:t,warning:n,isActedSelected:r}){let i=p$(e),a=`${t}: ${GZ(i)}`;return n.trim()?{statusText:i,shouldAdvance:!1,notice:{text:`${a} ${GZ(n)}`,tone:`error`}}:{statusText:i,shouldAdvance:r,notice:null}}function qZ(e){let t=[...e.ready,...e.noReviewNeeded,...e.inReview,...e.queued,...e.handReview,...e.attention,...e.posted,...e.discarded];return new Set(t.map(e=>e.repo)).size>1}function JZ(e,t,n){return n?BQ(e,t):`#${t}`}var YZ={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},XZ={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},ZZ=`lanes-team-review`,QZ=`team-review-enabled`,$Z=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),eQ={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function tQ(e){return eQ[e]}var nQ=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`}),rQ=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),iQ=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),aQ=Object.freeze({approve:`Approved on GitHub`,"approve-only":`Approved on GitHub`,comment:`Comment posted on GitHub`,discard:`Marked not mine. Not reviewed again until queued.`,requeue:`Queued. The next poll reviews it again.`,"resolve-thread":`Thread resolved on GitHub`}),oQ=Object.freeze({approve:`Posting the approval`,"approve-only":`Posting the approval`,comment:`Posting the comment`,discard:`Marking not mine`,requeue:`Queueing the review`,"resolve-thread":`Resolving thread`});function sQ(e){let t={ready:[],noReviewNeeded:[],inReview:[],queued:[],handReview:[],attention:[],posted:[],discarded:[]};if(!e)return t;let n={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},r={"blocking-others":[],actionable:[],"waiting-on-author":[],"not-ready":[]},i=[`blocking-others`,`actionable`,`waiting-on-author`,`not-ready`],a=new Set(e.inFlight.map(e=>e.key));t.inReview.push(...e.inFlight);let o=new Set(e.drafts.filter(e=>uQ(e).length>0).map(e=>e.key));t.handReview.push(...e.handReview.filter(e=>!a.has(e.key)&&!o.has(e.key)));let s=new Set(t.handReview.map(e=>e.key));for(let t of e.queued)a.has(t.key)||s.has(t.key)||r[TZ(t).band].push(t);for(let e of i)t.queued.push(...r[e]);let c=new Set(t.queued.map(e=>e.key));for(let r of e.drafts){if(a.has(r.key)||c.has(r.key)||s.has(r.key))continue;if(uQ(r).length>0||RZ(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!hQ(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[TZ(r).band].push(r),(r.status===`stale`||r.status===`error`)&&!e&&t.attention.push(r),r.status===`posted`&&t.posted.push(r),r.status===`discarded`&&t.discarded.push(r)}for(let e of i)t.ready.push(...n[e]);return t}function cQ(e,t){return e.commit===t?e.isViewer||qs.has(e.state):!1}function lQ(e){return e.liveHead??e.reviewedHead}function uQ(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function dQ(e,t){if(e.isNit)return{label:`Automatic resolution failed`,reason:``,tone:`warn`};let n=e.judgement?.head===t&&e.judgement.lastReplyAt===e.lastReplyAt?e.judgement:void 0;if(n)return{label:n.addressed?`Addressed`:`Not addressed`,reason:n.reason,tone:n.addressed?`ok`:`warn`};let r=e.unjudgeable?.head===t&&e.unjudgeable.lastReplyAt===e.lastReplyAt?e.unjudgeable:void 0;return r?{label:`Auto-check skipped`,reason:r.reason,tone:`muted`}:{label:`Auto-check pending`,reason:``,tone:`muted`}}function fQ(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>{let n=dQ(t,lQ(e));return{thread:t,location:t.line===null?t.path:`${t.path}:${t.line}`,judgementLabel:n.label,judgementReason:n.reason,judgementTone:n.tone,judgementText:n.reason?`${n.label}: ${n.reason}`:n.label,canResolve:t.viewerCanResolve}})}var pQ=40;function mQ(e,t){return e.split(`
|
|
252
|
-
`).reduce((e,t)=>e+Math.max(1,Math.ceil(t.length/pQ)),0)>t}function hQ(e){return uQ(e).length>0?!0:Qs(e)?!1:zZ(e)?!0:!(e.githubReviews??[]).some(t=>cQ(t,lQ(e)))}function gQ(e,t){let n=rQ[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function _Q(e){if(Qs(e))return null;let t=(e.githubReviews??[]).filter(e=>e.isViewer&&qs.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!t?.commit||t.commit===lQ(e)||t.state===`COMMENTED`)return null;let n=Date.parse(t.submittedAt??``);return e.reviewedAt!==void 0&&n>e.reviewedAt?null:{approvedCommit:t.commit,submittedAt:t.submittedAt,state:t.state,isReviewScopeSinceDecision:e.priorReviewedHead===t.commit}}function vQ(e,t){let n=e.state===`APPROVED`?`approved this`:`requested changes`,r=e.state===`APPROVED`?`your approval`:`your request for changes`,i=`You ${n} at ${Fs(e.approvedCommit)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${i}, so this review covers what changed after ${r}.`:`${i}.`}function yQ(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function bQ(e,t){return t?`${e}, ${t}`:e}function xQ(e,{isViewerShown:t=!0}={}){return(e.githubReviews??[]).filter(e=>t||!e.isViewer).sort((e,t)=>Number(t.isViewer)-Number(e.isViewer)).map(t=>({login:t.login,tone:yQ(t.state),text:gQ(t,lQ(e)),submittedAt:t.submittedAt}))}function SQ(e){return e.ready.length+e.noReviewNeeded.length+e.inReview.length+e.queued.length+e.handReview.length+e.attention.length+e.posted.length+e.discarded.length>0}function CQ(e){return[...e.ready,...e.attention].map(e=>e.key)}function wQ({capturedOrder:e,actedKey:t,groups:n}){let r=CQ(n).filter(e=>e!==t),i=new Set(r);return e.slice(e.indexOf(t)+1).find(e=>i.has(e))||(e.find(e=>i.has(e))??r[0]??null)}function TQ(e,t,n=!1){if(n&&t===null)return null;let r=[...e.ready,...e.inReview,...e.queued,...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded];return t&&r.some(e=>e.key===t)?t:r[0]?.key??null}function EQ(e){return YZ[e]}function DQ(e){return XZ[e]}function OQ(e){let t=xZ(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function kQ(e){let t=OQ(e);return Vs.options.find(e=>t.includes(e))??null}function AQ(e){return kQ(e)!==`LOW`}var jQ=new Set(`ts.tsx.js.jsx.mjs.cjs.json.jsonc.css.scss.less.html.md.mdx.py.go.rs.rb.java.kt.kts.swift.c.h.cc.cpp.hpp.cs.php.sh.bash.zsh.yml.yaml.toml.ini.sql.vue.svelte.astro.lock.txt.ex.exs.erl.scala.dart.lua.tf.proto.graphql.gql.xml.gradle`.split(`.`)),MQ=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function NQ(e){let t=MQ.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:jQ.has(n.slice(r+1).toLowerCase())}var PQ=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function FQ(e){let t=[],n=0;for(let r of e.matchAll(/`([^`\n]+)`/g)){let i=r.index??0;i>n&&t.push({text:e.slice(n,i),kind:`text`});let a=r[1]??``;t.push({text:a,kind:NQ(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function IQ(e){return e.split(/\r?\n\s*\r?\n/).filter(Boolean).map(e=>{let t=e.match(/^(Suggested fix:|Fix:|Open question[.,:])\s*/),n=t?.[1]??``;return{kind:`prose`,lead:n,leadKind:n.startsWith(`Open question`)?`question`:n?`fix`:null,segments:FQ(e.slice(t?.[0].length??0))}})}function LQ(e){let t=CZ(e),n=SZ(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(PQ)){let t=e.index??0;i.push(...IQ(r.slice(a,t).trim()));let n=(e[1]??``).trim().split(/\s+/)[0]||null;i.push({kind:`code`,language:n,code:(e[2]??``).replace(/\r?\n$/,``)}),a=t+e[0].length}return i.push(...IQ(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function RQ(e){let t=e.find(e=>e.kind===`prose`);if(!t)return`Open comment`;let n=`${t.lead} ${t.segments.map(e=>e.text).join(``)}`.trim(),r=n.search(/[.!?](?=\s|$)/);return(r<0?n:n.slice(0,r+1))||`Open comment`}function zQ(e){let t=[`Fetch the diff`,`Check out the head`,`Review`,`Draft ready`],n={preparing:0,checkout:1,reviewing:2}[e];return t.map((e,t)=>({label:e,state:t<n?`done`:t===n?`active`:`todo`}))}function BQ(e,t){return`${e}#${t}`}function VQ(e){return e===`full`?`full`:`light`}function HQ(e){return e.priorReviewedHead?`${VQ(e.tier)} review of changes since ${Fs(e.priorReviewedHead)}`:`${VQ(e.tier)} review`}function UQ(e){return e.reasons.join(`, `)}function WQ(e){if(!e)return[];let t=[],n=e.goal.trim(),r=e.change.trim();return n&&t.push({kind:`goal`,text:n}),r&&t.push({kind:`change`,text:r}),t}function GQ(e){if(!e)return`No coverage notes`;let t=e.checked.length,n=e.gaps.length,r=[];return t>0&&r.push(`${t} ${t===1?`check`:`checks`}`),n>0&&r.push(`${n} not covered`),r.join(`, `)||`No coverage notes`}function KQ(e){return e?{label:`Coverage`,preview:GQ(e)}:{label:`Review audit`,preview:``}}var qQ=`This review ran before plain summaries existed, so only its verdict and findings remain. The audit log shows what it checked. Queue review to get a plain summary.`,JQ=new Set([`error`,`stale`,`discarded`,`posted`]);function YQ(e){return JQ.has(e)}function XQ(e){let t=ZQ(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function ZQ(e){return $Z[e]??String(e).toLowerCase()}function QQ(e){return nQ[e]??`dim`}function $Q(e){return iQ[e]??e}function e$(e,t){return`${jh(t-e.startedAt)} elapsed`}function t$(e,t){let n=[e$(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${jh(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function n$(e){return e.status===`stale`?`Out of date. Automatic review runs at the next poll after the configured wait. Queue review bypasses the wait.`:e.status===`discarded`?`Marked not mine. Not reviewed again until queued.`:e.error||e.summary||`The review failed.`}function r$(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function i$(e){return r$(e.path,e)}function a$(e){return r$(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function o$(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function s$(e){return{key:e,action:`discard`,body:``,comments:[]}}function c$(e,t,n,r,i){return t===`approve-only`?{key:e.key,head:e.reviewedHead,action:t,body:``,comments:[]}:{key:e.key,head:e.reviewedHead,action:t,body:n,...i?{threadId:i}:{},comments:r.map(({path:e,line:t,side:n,body:r})=>({path:e,line:t,side:n,body:r}))}}var l$=Object.freeze({approve:`Approve and comment`,"approve-only":`Approve`,comment:`Comment`,discard:`Not mine`,requeue:`Queue review`,"resolve-thread":`Resolve`});function u$(e){return l$[e]}function d$(e){return e.status===`ready`?{footer:[`comment`,`approve-only`,`approve`],more:[`requeue`,`discard`]}:oc(e)?{footer:[`approve-only`],more:[`requeue`]}:e.status===`error`||e.status===`stale`?{footer:[`requeue`],more:[`discard`]}:YQ(e.status)?{footer:[`requeue`],more:[]}:{footer:[],more:[]}}function f$(e){return oQ[e]}function p$(e){return aQ[e]}function m$(e){return e===0?`Picked for review. It starts on the next poll.`:`Waiting for a free review slot. It starts as soon as ${e===1?`the review`:`one of the ${e} reviews`} in progress finishes.`}function h$(e){return e?e.configured?e.error?`Review drafts will show here once GitHub answers.`:`No review drafts yet. New teammate pull requests show up here after the next poll.`:e.reason?`Team review is not running: ${e.reason}.`:`Team review is off.`:`Waiting for the team review lane.`}function g$(e){return e?.configured&&e.reason||null}function _$(e){return Ch(sQ(e).ready.map(e=>`${e.key}@${e.reviewedHead}`))}function v$(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${xQ(e).map(e=>e.text).join(`, `)}`}function y$(e){return`reviewedHead`in e?JSON.stringify([e.prCreatedAt,e.reviewedAt,e.postedAt,e.githubReviews,e.liveHead,e.priorReviewedHead,e.viewerThreads]):JSON.stringify([e.prCreatedAt,e.priorReviewedHead])}function b$(e,t){return!e||e.error!==t.error||e.nextAttemptAt!==t.nextAttemptAt||JSON.stringify(e.retry)!==JSON.stringify(t.retry)||e.isRefreshing!==t.isRefreshing||e.refreshNotice!==t.refreshNotice||JSON.stringify(e.team)!==JSON.stringify(t.team)||e.configured!==t.configured||e.reason!==t.reason||e.inFlight.map(e=>e.key).join(`
|
|
253
|
-
`)!==t.inFlight.map(e=>e.key).join(`
|
|
254
|
-
`)||JSON.stringify(e.handReview)!==JSON.stringify(t.handReview)||JSON.stringify(e.queued)!==JSON.stringify(t.queued)?!1:JSON.stringify(e.drafts)===JSON.stringify(t.drafts)}var x$=12e4,S$=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,C$=`GitHub review`,w$=null,T$=null,E$=null,D$=null,O$=null,k$=null,A$=null,j$=null,M$=null,N$=null,P$=null,F$=null,I$=null,L$=null,R$=null,z$=new Map,B$=xh(()=>T$),V$=xh(()=>T$),H$=xh(()=>T$),U$=new WeakMap,W$=new Map,G$=new Map,K$=new Map,q$=wh({getAck:pp,setAck:mp,signature:()=>_$(w$),isLooking:()=>!w(T$)});function J$(e){let t=EQ(e),n=p(`span`,`pr-severity-meter`);if(n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,`${e.toLowerCase()} severity`),n.style.color=`var(${t.colorToken})`,e===`CRITICAL`){let e=Aj(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(kj(`path`,{d:S$,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=Aj(9,11),i=e<t.filledCount;r.append(kj(`path`,{d:S$,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function Y$(e){let{verdict:t}=e,n=p(`span`,`pr-verdict-seal`);n.dataset.tone=QQ(t);let r=Aj(20,20),i=DQ(t);return r.append(kj(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:i===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),i===`check`&&r.append(kj(`path`,{d:`M6 10.5L8.7 13L14 7.5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.8`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),i===`dot`&&r.append(kj(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),i===`bar`&&r.append(kj(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),i===`cross`&&r.append(kj(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),n.append(r,p(`span`,null,XQ(t))),n}function X$(){let e=Aj(16,16);return e.append(kj(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(kj(`path`,{d:`M6 6.2C6 4.9 7 4.2 8 4.2C9.1 4.2 10 5 10 6C10 7.4 8 7.4 8 9.2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`,"stroke-linecap":`round`})),e.append(kj(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function Z$(e){return b(`pr-link`,BQ(e.repo,e.number),e.url)}function Q$(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function $$(e,t){let n=Q$(t);if(n===null)return null;let r=p(`span`,null,`${e}${e?` `:``}${bh(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function e1(e){let t=U$.get(e);t&&(e.title=t(),e.setAttribute(`aria-label`,e.title))}function t1(){H$.reset(),n1(T$)}hg(t1);function n1(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`))U$.has(t)&&(e1(t),H$.onTick(()=>e1(t)));for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=w$?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?_Q(e):null;if(!n)continue;let r=()=>{t.textContent=vQ(n,i1(n.submittedAt))};r(),H$.onTick(r)}for(let t of e.querySelectorAll(`[data-review-title]`)){let e=t.dataset.reviewTitle??``,n=t.dataset.ageAt===void 0?null:Number(t.dataset.ageAt),r=()=>{let r=n===null?null:bh(n),i=pg()?bQ(C$,r):bQ(e,r);t.title=i,t.setAttribute(`aria-label`,i)};r(),H$.onTick(r)}for(let t of e.querySelectorAll(`[data-age-at]`)){if(t.dataset.reviewTitle!==void 0)continue;let e=Number(t.dataset.ageAt),n=t.dataset.ageLabel??``;H$.track(t,e,()=>`${n}${n?` `:``}${bh(e)}`)}}}function r1(e,t,n,r=!0){let i=xQ(e,{isViewerShown:r});if(i.length===0)return null;let a=p(`span`,t),o=_(i.map(e=>({login:e.login,tone:e.tone,title:bQ(pg()?C$:e.text,i1(e.submittedAt))})),n);for(let[e,t]of i.entries()){let n=o.children[e];if(!(n instanceof HTMLElement))continue;n.dataset.reviewTitle=t.text;let r=Q$(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r))}return a.append(o),a}function i1(e){let t=Q$(e);return t===null?null:bh(t)}function a1(e,t,n){let r=p(`span`,n);return r.append(g({login:e,cssPx:t}),p(`span`,`pr-author-login`,e)),r}function o1(e,t){return`${BQ(e.repo,e.number)}\n${IZ(e,t).meaning}`}function s1(e,t,n){let r=p(`button`,`pr-queue-row pr-queue-row-quiet`);r.type=`button`,r.dataset.reviewKey=e.key,r.setAttribute(`aria-current`,String(e.key===M$));let i=`reviewedHead`in e?_Q(e):null;U$.set(r,()=>pg()?o1(e,t):HZ(e,t,{opened:i1(e.prCreatedAt),reviewed:`reviewedHead`in e?i1(e.reviewedAt):null,posted:`reviewedHead`in e?i1(e.postedAt):null,viewerApproval:i1(i?.submittedAt),githubReviews:`reviewedHead`in e?xQ(e,{isViewerShown:t!==`posted`}).map(e=>i1(e.submittedAt)):[]})),e1(r);let a=u1(e,n);if(t===`inReview`){let t=e,n=p(`span`,`pr-queue-elapsed`);B$.track(n,t.startedAt,()=>e$(t,Date.now())),a.append(n)}if(t===`queued`){let t=$$(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),a.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=$$(``,t.reviewedAt)??$$(``,t.prCreatedAt);n&&(n.classList.add(`pr-queue-elapsed`),a.append(n))}if(t===`discarded`)return r.classList.add(`pr-queue-row-compact`),r.append(a),c1(r,e.key),r;r.classList.remove(`pr-queue-row-quiet`);let o=IZ(e,t),s=p(`span`,`pr-queue-glyph`);s.append(vq(o.icon,o.tone));let c=p(`span`,`pr-queue-bottom`);if(c.append(l1(o),a1(e.author,16,`pr-queue-author`)),e.requestSource===`direct`){let e=p(`span`,`pr-queue-direct`,`@`);e.title=`Requested from you directly`,c.append(e)}t===`inReview`&&c.append(p(`span`,`pr-phase-label`,$Q(e.phase))),r.append(s,a,c);let l=t===`inReview`||t===`queued`?null:r1(e,`pr-queue-reviewers`,16,t!==`posted`);return l&&c.append(l),c1(r,e.key),r}function c1(e,t){e.addEventListener(`click`,()=>{M$=t,N$=null,p1(null);for(let e of O$?.querySelectorAll(`button[data-review-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.reviewKey===M$));Z1(sQ(w$)),H$.reset(),n1(T$),document.documentElement.dataset.layout===`phone`&&A$?.scrollIntoView({block:`start`,behavior:`smooth`})})}function l1(e){let t=p(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function u1(e,t){let n=p(`span`,`pr-queue-top`);return n.append(p(`strong`,`pr-queue-ref`,JZ(e.repo,e.number,t)),p(`strong`,`pr-queue-ref-compact`,JZ(e.repo,e.number,!1)),p(`span`,`pr-queue-title`,e.title)),n}function d1(e,t){let n=p(`section`,`pr-queue-section`);n.append(p(`h3`,`pr-section-heading`,`Review by hand ${e.length}`));for(let r of e){let e=b(`pr-queue-row`,``,r.url);U$.set(e,()=>pg()?o1(r,`handReview`):HZ(r,`handReview`,{opened:i1(r.prCreatedAt)})),e1(e);let i=IZ(r,`handReview`),a=p(`span`,`pr-queue-glyph`);a.append(vq(i.icon,i.tone));let o=p(`span`,`pr-queue-bottom`);o.append(l1(i),a1(r.author,16,`pr-queue-author`)),e.append(a,u1(r,t),o),n.append(e)}return n}function f1({title:e,detail:t}){let n=p(`section`,`pr-caught-up`);n.setAttribute(`role`,`status`);let r=p(`strong`,`pr-caught-up-title`);return r.append(vq(`ready`,`ok`),p(`span`,null,e)),n.append(r,p(`p`,`pr-caught-up-detail`,t)),n}function p1(e){P$=e,F$&&(F$.hidden=e===null,F$.textContent=e?.text??``,e&&(F$.dataset.tone=e.tone))}function m1(e,t,n,r){let i=p(`section`,`pr-queue-section`);i.append(p(`h3`,`pr-section-heading`,`${e} ${t.length}`));for(let e of t)i.append(s1(e,n,r));return i}var h1=`Open in session`,g1=`Preparing the branch and session.`;function _1(e,t,n){for(let r of document.querySelectorAll(`.pr-session-open-status`)){if(r.dataset.reviewKey!==e)continue;r.textContent=t,n&&(r.dataset.tone=n),n||delete r.dataset.tone;let i=r.parentElement?.querySelector(`.pr-session-open-button`);i&&(i.disabled=!1)}}function v1(e,t){let n=z$.get(e);n&&window.clearTimeout(n.timer),z$.set(e,{requestId:null,timer:0,text:t,tone:`error`}),_1(e,t,`error`)}function y1(e,t,n){if(z$.get(e)?.requestId)return;let r=mm(`open-team-review-session`);if(!U({type:`open-team-review-session`,requestId:r,key:e})){n.dataset.tone=`error`,n.textContent=`Not connected to the server.`;return}let i=window.setTimeout(()=>v1(e,`No reply from the server.`),x$);z$.set(e,{requestId:r,timer:i,text:g1,tone:`busy`}),t.disabled=!0,n.dataset.tone=`busy`,n.textContent=g1}function b1(e){let t=p(`div`,`pr-session-open`),n=p(`button`,`pr-action pr-session-open-button`,h1);n.type=`button`;let r=z$.get(e.key);n.disabled=!!r?.requestId;let i=p(`span`,`pr-action-status pr-session-open-status`,r?.text??``);return i.dataset.reviewKey=e.key,r&&(i.dataset.tone=r.tone),i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`),n.addEventListener(`click`,()=>y1(e.key,n,i)),t.append(n,i),t}function x1(e){let t=p(`div`,`pr-detail-heading`);t.dataset.signature=y$(e);let n=p(`div`,`pr-detail-title`);n.append(Z$(e),p(`h2`,null,e.title));let r=p(`div`,`pr-detail-meta`);r.append(a1(e.author,20,`pr-detail-author`));let i=p(`span`,null,HQ(e));i.title=UQ(e),r.append(i);let a=$$(`Opened`,e.prCreatedAt);if(a&&r.append(a),`reviewedHead`in e){let t=$$(`Reviewed`,e.reviewedAt);t&&r.append(t);let n=$$(`Posted`,e.postedAt);n&&r.append(n)}let o=`reviewedHead`in e?r1(e,`pr-detail-github`,20):null;if(o&&r.append(o),t.append(n,r,b1(e)),`reviewedHead`in e){let n=BZ(e.viewerThreads);if(n){let r=p(`p`,`pr-viewer-threads`,n);LZ(e)&&(r.dataset.state=`all-resolved`),t.append(r)}}let s=`reviewedHead`in e?_Q(e):null;if(s){let n=p(`p`,`pr-rereview-notice`,vQ(s,i1(s.submittedAt)));n.dataset.reviewKey=e.key,t.append(n)}return t}function S1(e,t){let n=e.querySelector(`:scope > .pr-detail-heading`);if(!n||n.dataset.signature===y$(t))return e;let r=x1(t),i=n.querySelector(`:scope > .pr-detail-title > .pr-detail-more`);return i&&r.querySelector(`:scope > .pr-detail-title`)?.append(i),n.replaceWith(r),e}function C1(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}`}function w1(e,t){for(let n of t){if(n.kind===`text`){e.append(document.createTextNode(n.text));continue}if(n.kind===`code`){e.append(p(`code`,null,n.text));continue}let t=p(`span`,`pr-citation`,n.text);t.title=n.text,e.append(t)}return e}function T1(e,t){return w1(e,FQ(t))}function E1(e,t,n){let r=p(`div`,`pr-assessment-part`);return n&&(r.dataset.tone=n),r.append(p(`h4`,`pr-assessment-title`,e),t),r}function D1(e){let t=p(`ul`,`pr-assessment-list`);for(let n of e)t.append(T1(p(`li`,null),n));return t}function O1(e){let t=WQ(e.assessment);if(t.length===0)return[];let n=p(`section`,`pr-about-box`);n.setAttribute(`aria-label`,`About this PR`),n.append(p(`h3`,`pr-assessment-title`,`About this PR`));for(let e of t){let t=e.kind===`goal`?`pr-verdict-summary pr-about-goal`:`pr-verdict-summary`;n.append(T1(p(`p`,t),e.text))}return[n]}function k1(e){let t=p(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=p(`div`,`pr-verdict-line`);return n.append(Y$(e)),t.append(n),e.assessment?(t.append(T1(p(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t):(t.append(p(`p`,`pr-verdict-legacy`,qQ)),t)}function A1(e){let t=p(`details`,`pr-disclosure pr-coverage`),n=p(`summary`,`pr-disclosure-summary`),r=KQ(e.assessment);n.append(p(`span`,`pr-disclosure-label`,r.label),p(`span`,`pr-disclosure-preview`,r.preview)),t.append(n);let{assessment:i}=e;return i?(i.checked.length>0&&t.append(E1(`What the review checked`,D1(i.checked))),i.gaps.length>0&&t.append(E1(`Not covered`,D1(i.gaps),`warning`)),t):(t.append(T1(p(`p`,`pr-verdict-summary`),e.summary)),t)}function j1(e){if(e.kind===`code`){let t=p(`pre`,`pr-comment-code`),n=p(`code`,null);return n.textContent=e.code,t.append(n),t}let t=p(`p`,`pr-comment-paragraph`);if(e.lead){let n=p(`strong`,`pr-comment-lead pr-comment-lead-${e.leadKind}`);e.leadKind===`question`&&n.append(X$()),n.append(e.lead),t.append(n,` `)}return w1(t,e.segments)}function M1(e,t,n,r){let i=p(`article`,`pr-comment-card`),a=p(`input`,`pr-comment-checkbox`);a.type=`checkbox`,a.checked=n.has(t),a.setAttribute(`aria-label`,`Include comment on ${i$(e)}`),a.addEventListener(`change`,()=>{a.checked&&n.add(t),a.checked||n.delete(t),i.dataset.included=String(a.checked),r()}),i.dataset.included=String(a.checked);let o=p(`details`,`pr-comment-content`),s=p(`summary`,`pr-comment-header`),c=LQ(e.body),l=kQ(e);l&&s.append(J$(l));let u=p(`span`,`pr-comment-location`,a$(e));u.title=i$(e),s.append(u),s.append(p(`span`,`pr-comment-preview`,RQ(c.paragraphs))),o.append(s);let d=p(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)d.append(j1(e));return o.append(d),o.open=l===`HIGH`||l===`CRITICAL`,i.append(a,o),i}var N1=`More review actions`,P1=`M3 8h0.01M8 8h0.01M13 8h0.01`,F1=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function I1(e,t,n,r){let i=CQ(sQ(w$));p1(null);let a=mm(`team-review-action`);if(!U({type:`team-review-action`,requestId:a,...n}))return!1;let o=window.setTimeout(()=>{K$.delete(t.key),r(!1,`No reply from the server. Check GitHub before trying again.`)},x$);return K$.set(t.key,{requestId:a,action:n.action,origin:e,capturedOrder:i,pullRequest:BQ(t.repo,t.number),timer:o,settle:r}),!0}function L1(e){let t=p(`footer`,`pr-footer`),n=B1(`discard`,()=>{K$.has(e.key)||(n.disabled=!0,i.dataset.tone=`busy`,i.textContent=f$(`discard`),!I1(`other`,e,s$(e.key),a)&&a(!1,`Not connected to the server.`))}),r=K$.has(e.key);n.disabled=r;let i=p(`span`,`pr-action-status`,r?f$(`discard`):``);i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`);let a=(t,r)=>{n.disabled=t,i.dataset.tone=t?`ok`:`error`,i.textContent=r,t||p1({text:`${BQ(e.repo,e.number)}: ${r}`,tone:`error`})};return t.append(n,i),t}var R1=0;function z1(e,t){let n=p(`div`,`pr-detail-more`),r=p(`button`,`review-icon-button review-more-button`);r.type=`button`,r.title=N1,r.setAttribute(`aria-label`,N1),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`);let i=Aj(16,16);i.append(kj(`path`,{d:P1,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r.append(i),R1+=1;let a=p(`div`,`review-more-menu`);a.id=`pr-more-menu-${R1}`,a.setAttribute(`role`,`menu`),a.setAttribute(`aria-label`,N1),a.hidden=!0,r.setAttribute(`aria-controls`,a.id);let o=e=>{e.key===`Escape`&&(e.preventDefault(),c(),r.focus())},s=e=>{e.target instanceof Node&&n.contains(e.target)||c()};function c(){a.hidden=!0,r.setAttribute(`aria-expanded`,`false`),document.removeEventListener(`keydown`,o),document.removeEventListener(`pointerdown`,s)}let l=()=>{a.hidden=!1,r.setAttribute(`aria-expanded`,`true`),document.addEventListener(`keydown`,o),document.addEventListener(`pointerdown`,s),a.querySelector(`button:not(:disabled)`)?.focus()};r.addEventListener(`click`,()=>{a.hidden?l():c()});let u=[r];for(let n of e){let e=p(`button`,`review-btn`,u$(n));e.type=`button`,e.dataset.action=n,e.setAttribute(`role`,`menuitem`),e.addEventListener(`click`,()=>{c(),t(n)}),u.push(e),a.append(e)}return n.append(r,a),{element:n,controls:u}}function B1(e,t){let n=p(`button`,`pr-action`,u$(e));return n.type=`button`,n.dataset.action=e,n.addEventListener(`click`,()=>t(e)),n}function V1(e,t){e.querySelector(`:scope > .pr-detail-heading > .pr-detail-title`)?.append(t)}function H1(e){let t=p(`article`,`pr-detail`),n=p(`div`);n.dataset.reviewThreads=``,t.append(x1(e),...O1(e),n,k1(e)),K1(t,e);let r=p(`section`,`pr-posts`);r.setAttribute(`aria-label`,`Inline comments`);let i=p(`div`,`pr-posts-heading`);i.append(p(`h3`,null,`Inline comments`),p(`span`,null,String(e.comments.length))),r.append(i);let a=p(`details`,`pr-disclosure`),o=p(`summary`,`pr-disclosure-summary`),s=p(`span`,`pr-disclosure-preview`);o.append(p(`span`,`pr-disclosure-label`,`Review body`),s),a.append(o);let c=p(`textarea`,`pr-body-input`);c.setAttribute(`aria-label`,`Review body`),c.value=e.body,c.rows=Math.min(10,Math.max(3,e.body.split(`
|
|
255
|
-
`).length+1)),c.spellcheck=!0;let l=()=>{s.textContent=CZ(c.value).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||`No review body`};c.addEventListener(`input`,l),l(),a.append(c);let u=p(`details`,`pr-disclosure`);u.append(p(`summary`,`pr-disclosure-summary`,`Add a note`));let d=p(`textarea`,`pr-body-input pr-note-input`);d.setAttribute(`aria-label`,`Your note`),d.rows=2,d.spellcheck=!0,d.placeholder=`Posts above the automated-review note`,u.append(d);let f=new Set(e.comments.flatMap((e,t)=>AQ(e)?[t]:[])),m=p(`footer`,`pr-footer`),h=p(`span`,`pr-action-status`);h.setAttribute(`role`,`status`),h.setAttribute(`aria-live`,`polite`);let g=()=>{K$.has(e.key)||h.dataset.tone===`ok`||(h.textContent=``,delete h.dataset.tone)};for(let[t,n]of e.comments.entries())r.append(M1(n,t,f,g));t.append(r,a,u,A1(e));let _=[],v=e=>{for(let t of _)t.disabled=e;t.dataset.busy=String(e)},y=(e,t)=>{v(e),h.dataset.tone=e?`ok`:`error`,h.textContent=t},b=t=>{if(K$.has(e.key))return;v(!0),h.dataset.tone=`busy`,h.textContent=f$(t);let n=e.comments.filter((e,t)=>f.has(t));I1(`ready`,e,c$(e,t,o$(d.value,c.value),n),y)||y(!1,`Not connected to the server.`)},ee=d$(e),x=ee.footer.map(e=>B1(e,b)),te=z1(ee.more,b);return _.push(...x,...te.controls),V1(t,te.element),m.append(...x,h),t.append(m),{signature:v$(e),element:t,settle:y}}function U1(e){let t=W$.get(e.key);if(t&&(K$.has(e.key)||t.signature===v$(e)))return K1(t.element,e),S1(t.element,e);let n=H1(e);return W$.set(e.key,n),n.element}function W1(e,t){let n=p(`article`,`pr-detail`),r=p(`div`,`pr-detail-heading`),i=p(`div`,`pr-detail-title`);i.append(Z$(e),p(`h2`,null,e.title));let a=p(`div`,`pr-detail-meta`);a.append(a1(e.author,20,`pr-detail-author`));let o=$$(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a,b1(e)),n.append(r,p(`p`,`pr-attention-detail`,m$(t)),L1(e)),n}function G1(e){let t=p(`article`,`pr-detail`);t.append(x1(e));let n=p(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=p(`ol`,`pr-progress-tracker`);for(let t of zQ(e.phase)){let e=p(`li`,`pr-progress-stage`);e.dataset.state=t.state,e.append(p(`span`,`pr-progress-bar`),p(`span`,null,t.label)),r.append(e)}let i=p(`div`,`pr-progress-text`);V$.track(i,e.startedAt,()=>t$(e,Date.now())),n.append(r,i),t.append(n);let a=p(`section`,`pr-steps`);a.append(p(`h3`,null,`Latest agent steps`));let o=p(`ol`,`pr-step-list`);for(let t of e.recentSteps){let n=p(`li`,`pr-step`),r=p(`span`,`pr-step-detail`,t.detail);r.title=t.detail,n.append(p(`span`,`pr-step-at`,Mh(e.startedAt,t.at)),p(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a,L1(e)),t}function K1(e,t){if(K$.has(t.key))return;let n=e.querySelector(`:scope > [data-review-threads]`),r=JSON.stringify([t.liveHead,t.threads]);n&&n.dataset.reviewThreads!==r&&(n.replaceChildren(...J1(t)),n.dataset.reviewThreads=r)}function q1(e,t,n,r){let i=p(`div`,t?`pr-thread-message pr-thread-message-muted`:`pr-thread-message`);if(i.append(p(`p`,`pr-thread-body pr-thread-preview`,e)),!n&&!mQ(e,t?3:8))return i;let a=p(`details`,`pr-thread-disclosure`);return a.append(p(`summary`,`pr-thread-expand`,t?`Expand comment`:`Expand reply`),p(`p`,`pr-thread-body`,e)),n&&a.append(b(`pr-link pr-thread-continues`,t?`Comment continues on GitHub`:`Reply continues on GitHub`,r)),i.append(a),i}function J1(e){let t=fQ(e);if(t.length===0)return[];let n=p(`section`,`my-pr-threads-section`);n.append(p(`h3`,`pr-section-heading`,`Answered threads`));let r=p(`div`,`my-pr-threads`);for(let n of t){let t=p(`div`,`my-pr-thread pr-thread-card`),i=p(`div`,`my-pr-thread-heading pr-thread-heading`),a=p(`span`,`pr-thread-chip`,n.judgementLabel);a.dataset.tone=n.judgementTone,i.append(b(`pr-link my-pr-thread-location`,n.location,n.thread.url),a),t.append(i),n.judgementReason&&t.append(p(`p`,`my-pr-thread-meta`,n.judgementReason)),n.thread.viewerComment&&t.append(p(`div`,`my-pr-thread-meta`,`Your comment`),q1(n.thread.viewerComment,!0,n.thread.viewerCommentTruncated===!0,n.thread.url));let o=p(`div`,`pr-detail-meta pr-thread-reply-meta`);o.append(p(`span`,`pr-author-login`,n.thread.lastReplyAuthor),` replied`);let s=$$(``,n.thread.lastReplyAt);s&&o.append(s);let c=p(`span`,`pr-action-status`);c.setAttribute(`role`,`status`);let l=p(`button`,`pr-action`,`Resolve`);l.type=`button`,l.disabled=!n.canResolve||K$.has(e.key);let u=(e,t)=>{l.disabled=e||!n.canResolve,c.textContent=t,c.dataset.tone=e?`ok`:`error`};l.addEventListener(`click`,()=>{K$.has(e.key)||(l.disabled=!0,c.textContent=f$(`resolve-thread`),!I1(`other`,e,c$(e,`resolve-thread`,``,[],n.thread.id),u)&&u(!1,`Not connected to the server.`))}),t.append(o),n.thread.lastReplyBody&&t.append(q1(n.thread.lastReplyBody,!1,n.thread.lastReplyTruncated===!0,n.thread.url));let d=p(`footer`,`pr-thread-footer`);d.append(c,l),t.append(d),n.thread.resolveError&&t.append(p(`p`,`pr-attention-detail`,n.thread.resolveError)),r.append(t)}return n.append(r),[n]}function Y1(e){let t=p(`article`,`pr-detail`);if(t.append(x1(e),...O1(e),...J1(e)),e.status===`posted`&&t.append(k1(e),A1(e)),e.status!==`posted`&&t.append(p(`p`,`pr-attention-detail`,n$(e))),!YQ(e.status))return G$.set(e.key,{signature:C1(e),element:t,settle:()=>{}}),t;let n=p(`footer`,`pr-footer`),r=d$(e),i=p(`span`,`pr-action-status`,r.footer.includes(`approve-only`)?F1:``);i.setAttribute(`role`,`status`),i.setAttribute(`aria-live`,`polite`);let a=[],o=(e,t)=>{for(let t of a)t.disabled=e;i.dataset.tone=e?`ok`:`error`,i.textContent=t},s=t=>{if(!K$.has(e.key)){for(let e of a)e.disabled=!0;i.dataset.tone=`busy`,i.textContent=f$(t),!I1(`other`,e,c$(e,t,``,[]),o)&&o(!1,`Not connected to the server.`)}},c=r.footer.map(e=>B1(e,s));if(a.push(...c),r.more.length>0){let e=z1(r.more,s);a.push(...e.controls),V1(t,e.element)}return n.append(...c,i),t.append(n),G$.set(e.key,{signature:C1(e),element:t,settle:o}),t}function X1(e){if(!YQ(e.status)&&fQ(e).length===0)return Y1(e);let t=G$.get(e.key);return t&&(K$.has(e.key)||t.signature===C1(e))?S1(t.element,e):Y1(e)}function Z1(e){if(!A$)return;if(M$=TQ(e,M$,N$!==null),!M$){if(N$!==null){let t=N$.actedKey;t&&![...e.ready,...e.attention].some(e=>e.key===t)&&(N$={actedKey:null}),A$.replaceChildren(f1(WZ(e,N$.actedKey))),I$=null;return}A$.replaceChildren(),I$=null;return}let t=e.ready.find(e=>e.key===M$&&(uQ(e).length>0||RZ(e)));if(t&&t.status!==`ready`){let e=`threads:${C1(t)}`,n=X1(t);if(I$===e&&A$.firstElementChild===n)return;A$.replaceChildren(n),I$=e;return}let n=[...e.ready,...e.noReviewNeeded].find(e=>e.key===M$&&e.status===`ready`);if(n){let e=`ready:${v$(n)}`,t=U1(n);if(I$===e)return;A$.replaceChildren(t),I$=e;return}let r=e.inReview.find(e=>e.key===M$);if(r){V$.reset(),A$.replaceChildren(G1(r)),I$=`inReview:${r.key}`;return}let i=e.queued.find(e=>e.key===M$);if(i){let t=`queued:${i.key}:${e.inReview.length}`;if(I$===t)return;A$.replaceChildren(W1(i,e.inReview.length)),I$=t;return}let a=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===M$);a&&(A$.replaceChildren(X1(a)),I$=`${a.status}:${a.key}`)}function Q1(){let e=p(`p`,`pr-empty`,h$(w$));return w$&&!w$.configured&&e.append(` `,CV(ZZ,QZ,`Open Team review settings`)),e}function $1(){let e=g$(w$);return e?[p(`p`,`my-pr-note`,e)]:[]}function e0(e){for(let t of[...W$.keys()])e.has(t)||K$.has(t)||W$.delete(t);let t=new Set(w$?.drafts.filter(e=>YQ(e.status)).map(e=>e.key)??[]);for(let e of G$.keys())t.has(e)||K$.has(e)||G$.delete(e)}function t0(){if(!T$||!E$||O$?.isConnected)return;let e=gq({queueLabel:`Review queue`,scopeTabs:E$,resizerLabel:`Resize review queue`});O$=e.queue,F$=p(`p`,`pr-action-status pr-action-notice`),F$.setAttribute(`role`,`status`),F$.setAttribute(`aria-live`,`polite`),A$=p(`div`,`pr-detail-body`),e.detail.append(F$,A$),p1(P$),D$&&e.foot.append(D$.control),T$.replaceChildren(e.columns),I$=null,k$=null}function n0(e){if(!e)return;e.querySelector(`.pr-team-chip`)?.remove();let t=w$?.team;if(!t)return;let n=p(`span`,`pr-team-chip`);n.append(g({login:t.slug,url:t.avatarUrl,cssPx:16}),p(`span`,null,t.name)),e.insertBefore(n,e.querySelector(`.pr-queue-toggle`))}function r0(){let e=document.activeElement;return!(e instanceof HTMLElement)||!O$?.contains(e)?null:e.dataset.reviewKey??null}function i0(e){e&&O$&&[...O$.querySelectorAll(`button[data-review-key]`)].find(t=>t.dataset.reviewKey===e)?.focus({preventScroll:!0})}function a0(){if(!T$)return;let e=r0(),t=sQ(w$);if(e0(new Set([...t.ready,...t.noReviewNeeded].map(e=>e.key))),H$.reset(),!w$?.configured||!SQ(t)&&N$===null){B$.reset(),V$.reset();let e=mq(E$);n0(e),T$.replaceChildren(e,...D$?[D$.notice]:[],...$1(),Q1(),hq(D$?.control??null)),D$?.update(w$),O$=null,k$=null,A$=null,F$=null,j$=null,I$=null;return}if(t0(),!O$)return;n0(T$.querySelector(`.pr-queue-head`)),M$=TQ(t,M$,N$!==null);let n=qZ(t),r=JSON.stringify([t,n,M$,g$(w$)]);if(r===k$){D$?.update(w$),Z1(t),n1(T$);return}k$=r,B$.reset();let i=[],a=UZ(t);a&&i.push(f1({title:`All caught up`,detail:a})),t.ready.length&&i.push(m1(`Ready`,t.ready,`ready`,n)),t.inReview.length&&(j$=m1(`In review`,t.inReview,`inReview`,n),i.push(j$)),t.queued.length&&i.push(m1(`Queued`,t.queued,`queued`,n)),t.noReviewNeeded.length&&i.push(m1(`Already reviewed`,t.noReviewNeeded,`settled`,n)),t.handReview.length&&i.push(d1(t.handReview,n)),t.attention.length&&i.push(m1(`Needs attention`,t.attention,`attention`,n)),t.posted.length&&i.push(m1(`Waiting on author`,t.posted,`posted`,n)),t.discarded.length&&i.push(m1(`Not mine`,t.discarded,`discarded`,n)),O$.replaceChildren(...D$?[D$.notice]:[],...$1(),...i),D$?.update(w$),i0(e),Z1(t),n1(T$)}function o0(){L$&&L$(q$.refresh())}function s0(){q$.acknowledge(),o0()}function c0(e){L$=e,o0()}function l0(e,t,n){return R$=n?.openTerminal??R$,T$||(E$=t,T$=p(`div`,`pr-content`),e.append(T$),D$=eZ(`team-review`,T$),B$.ensure(),V$.ensure(),H$.ensure(),a0(),T$)}function u0(e){let t=_c.safeParse(e);if(!t.success)return;let n=w$;w$=t.data,!(b$(n,t.data)&&d0())&&(a0(),o0())}function d0(){if(!w$||!j$?.isConnected)return!1;B$.reset(),H$.reset();let e=r0(),t=sQ(w$),n=m1(`In review`,t.inReview,`inReview`,qZ(t));return j$.replaceWith(n),j$=n,i0(e),t.inReview.some(e=>e.key===M$)&&Z1(t),n1(T$),!0}function f0(e){let t=e.key;if(!t)return;let n=z$.get(t);n&&n.requestId===e.requestId&&(!e.ok||!e.sessionId?v1(t,e.error||`Could not open a session.`):(window.clearTimeout(n.timer),z$.delete(t),_1(t,``,null),R$?.(e.sessionId)))}function p0(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=K$.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),K$.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:p$(n.action)),G$.delete(t.key),I$=null,t.ok===!0&&a0();return}let r=(n.origin===`ready`?W$:G$).get(t.key);if(t.ok===!0){n.origin===`other`&&G$.delete(t.key);let e=KZ({action:n.action,pullRequest:n.pullRequest,warning:typeof t.warning==`string`?t.warning:``,isActedSelected:M$===t.key});if((r?.settle??n.settle)?.(!0,e.statusText),(e.notice||e.shouldAdvance)&&p1(e.notice),!e.shouldAdvance)return;M$=wQ({capturedOrder:n.capturedOrder,actedKey:t.key,groups:sQ(w$)}),M$===null&&(N$={actedKey:t.key}),a0()}else(r?.settle??n.settle)?.(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}var m0=2,h0=new Map,g0={OPEN:0,MERGED:1,CLOSED:2};function _0(e,t){return t?t.configured?t.error?e:new Map(t.prs.map(e=>[EX(e),e])):h0:e}function v0(e){return e?g0[e.state]:g0.OPEN}function y0(e,t){let n=`${e.repo}#${e.number}`,r=`#${e.number}`;return t?{key:n,numberText:r,url:t.url,hoverText:`${e.repo}: ${t.title} (${rX(t.stage)})`,stage:{icon:aX(t.stage),tone:iX(t.stage),label:rX(t.stage)}}:{key:n,numberText:r,url:e.url,hoverText:e.repo,stage:null}}function b0(e,t){let n=e.map(e=>({link:e,pr:t.get(EX(e))}));n.sort((e,t)=>v0(e.pr)-v0(t.pr)||t.link.linkedAt-e.link.linkedAt);let r=n.map(({link:e,pr:t})=>y0(e,t)),i=r.slice(m0);return{chips:r.slice(0,m0),overflowCount:i.length,overflowHoverText:i.map(e=>`${e.numberText} ${e.hoverText}`).join(`
|
|
256
|
-
`)}}var x0=new Set([`checks-failing`,`changes-requested`,`unresolved-threads`,`conflicts`,`merged`]),S0=new Map,C0=new Map,w0=new Map,T0=new Map,E0=null,D0=!1,O0=0;function k0(e){let t=[];for(let n of S0.get(e)??[]){let e=T0.get(EX(n));e&&x0.has(e.stage)&&t.push(e)}return t}function A0(e){return Ch(k0(e).map(e=>`${e.key}@${e.stage}`))}function j0(e){let{focusedSessionId:t,selectedSessionId:n}=pe.snapshot();return t===e||n===e}function M0(e){let t=w0.get(e);if(t)return t;let n=wh({getAck:()=>C0.get(e)??``,setAck:t=>C0.set(e,t),signature:()=>A0(e),isLooking:()=>j0(e)});return w0.set(e,n),n}function N0(e){D0&&qz(e,M0(e).refresh())}function P0(e,t){if(!D0)return;let n=C0.get(e);if(n!==void 0&&n!==t)return;let r=w0.get(e);r?r.acknowledge():C0.set(e,A0(e))}function F0(e){if(!(D0||!e?.configured||e.error)){D0=!0;for(let e of S0.keys())C0.set(e,A0(e))}}pe.subscribe((e,t)=>{if(t.includes(`focusedSessionId`)||t.includes(`selectedSessionId`))for(let t of new Set([e.focusedSessionId,e.selectedSessionId]))t&&w0.has(t)&&N0(t)});function I0(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function L0(e,t){e.stopPropagation(),!e.defaultPrevented&&(e.preventDefault(),Ig(t))}function R0(e,t){let n=t?p(`span`,`session-pr-chip`):b(`session-pr-chip`,``,e.url,e.hoverText);return n.title=e.hoverText,e.stage&&(n.dataset.tone=e.stage.tone,n.append(vq(e.stage.icon,e.stage.tone))),n.append(e.numberText),t||n.setAttribute(`aria-label`,`Open pull request ${e.key}`),n.addEventListener(`click`,t=>L0(t,e.url)),n}function kce(e,t){let n=p(`button`,`session-pr-chip-unlink`,`×`);n.type=`button`,n.title=`Unlink ${e.key} from this session`,n.setAttribute(`aria-label`,`Unlink pull request ${e.key}`),n.addEventListener(`click`,n=>{n.stopPropagation(),n.preventDefault(),U({type:`unlink-session-pr`,id:t,key:e.key})});let r=p(`span`,`session-pr-chip-item`);return r.append(R0(e,!1),n),r}function z0(e,t){let n=String(O0);if(e.dataset.prChipsFor===t&&e.dataset.prChipsRevision===n)return;e.dataset.prChipsFor=t,e.dataset.prChipsRevision=n;let r=b0(S0.get(t)??[],T0),i=e.closest(`button`)!==null,a=r.chips.map(e=>i?R0(e,!0):kce(e,t));if(r.overflowCount>0){let e=p(`span`,`session-pr-chip-overflow`,`+${r.overflowCount}`);e.title=r.overflowHoverText,a.push(e)}e.hidden=a.length===0,e.replaceChildren(...a)}function B0(e){O0+=1;for(let t of e){let e=t.dataset.prChipsFor;e&&z0(t,e)}}function V0(e,t){let n=Tc.shape.links.safeParse(t??[]),r=A0(e);S0.set(e,n.success?n.data:[]),P0(e,r),B0(I0(e)),fZ(S0),N0(e)}function Ace(e){S0.delete(e),C0.delete(e),w0.delete(e),fZ(S0)}function jce(){let e=hZ();if(e===E0)return;E0=e;let t=_0(T0,e);if(t!==T0){T0=t,B0(document.querySelectorAll(`[data-pr-chips-for]`)),F0(e);for(let e of S0.keys())N0(e)}}var H0=null,U0=new Set;function W0(){H0?.setAttribute(`aria-pressed`,String(!kf()))}function G0(e){Af(e),W0();for(let t of U0)t(e)}function Mce(e){U0.add(e)}function Nce(e){H0=e,W0(),e.addEventListener(`click`,()=>G0(!kf()))}function K0(e,t,n){return n.has(e.id)?`review`:e.state===`open`||e.state===`blocked`?`queue`:e.state===`active`?`workers`:e.state===`completed`?t.has(e.id)?`review`:`shipped`:null}function Pce(e){let t=0;for(let n of e.owner??e.id)t=Math.imul(t,31)+n.charCodeAt(0)>>>0;return zd[t%zd.length]}function Fce(e,t,n){return t?`Scope conflict`:e.state===`blocked`?`Blocked`:e.state===`open`&&e.readiness===`waiting`?`Waiting on dependency`:n===`workers`?`Running`:n===`review`?`Unverified`:n===`shipped`?`Shipped`:`Ready`}function Ice(e,t){return e===null?null:e===a.RUNNING?`Planning`:e!==a.IDLE&&e!==a.COMPLETE?o[e]:t>0?`Waiting on workers`:`Idle`}function Lce(e,t){let n=new Set,r=e;for(;r;){if(n.has(r.id))return null;if(n.add(r.id),r.parent===null)return r;r=t.get(r.parent)}return null}function Rce(e,t){let n=e.orders.filter(e=>e.parent===null&&e.state!==`completed`&&e.state!==`cancelled`).sort((e,t)=>e.openedAt.localeCompare(t.openedAt)),r=new Set(e.orders.filter(e=>e.state===`active`).map(e=>e.parent)),i=n.find(t=>t.id===e.orchestrator?.intentId)??n.find(e=>r.has(e.id))??n[0]??null,a=i?e.orders.filter(e=>e.parent===i.id):[],o=new Set(e.reviewing??[]),s=new Set(e.unverifiedCompletedWork),c=new Set(e.conflicts.flatMap(e=>[e.left,e.right])),l={queue:[],workers:[],review:[],shipped:[]},u=e.orders.filter(e=>e.parent===i?.id);for(let n of u){let r=K0(n,s,o);if(!r)continue;let i=c.has(n.id),a=i||n.state===`blocked`||n.state===`open`&&n.readiness===`waiting`;l[r].push({id:n.id,objective:n.objective,sessionId:e.liveWorkers?.find(e=>e.workId===n.id)?.sessionId??null,risk:n.risk,station:r,status:o.has(n.id)?`Reviewing`:Fce(n,i,r),hasConflict:i,isHeld:a,isSelected:n.id===t,animal:Pce(n)})}let d=new Map(e.orders.map(e=>[e.id,e])),f=t===null?void 0:d.get(t),p=f?Lce(f,d):null,m=Ice(e.orchestrator?.state??null,e.liveWorkers?.length??0);return{paused:e.paused,spend:`Factory today: $${(e.spentTodayUsd??0).toFixed(2)} / ${e.dailyBudgetUsd==null?`unlimited`:`$${e.dailyBudgetUsd.toFixed(2)}`}`,note:e.note??null,intent:i?{id:i.id,objective:i.objective,criteria:i.criteria.map(e=>({text:e,isMet:i.state===`completed`})),shippedCount:l.shipped.length,childCount:a.length}:null,upNext:n.filter(e=>e.id!==i?.id).map(({id:e,objective:t})=>({id:e,objective:t})),orchestrator:e.error===null?{action:e.heading.action,reason:e.heading.reasons[0]??``,isException:!1,sessionId:e.orchestrator?.sessionId??null,stateLabel:m}:{action:`Exception`,reason:e.error,isException:!0,sessionId:e.orchestrator?.sessionId??null,stateLabel:m},stations:l,ledger:e.orders.flatMap(e=>e.lastEvent?[{orderId:e.id,...e.lastEvent}]:[]).sort((e,t)=>Date.parse(t.at)-Date.parse(e.at)).slice(0,50),selectedOrder:f?{id:f.id,intent:p?.objective??null,writeScopes:f.writeScopes,dependsOn:f.dependsOn,station:f.parent===null?`intent`:K0(f,s,o)??`cancelled`,owner:f.owner}:null}}function zce(e,t){return e.find(e=>e.projectId===t)||([...e].sort((e,t)=>e.projectName.localeCompare(t.projectName)||e.projectId.localeCompare(t.projectId))[0]??null)}var q0=null,J0=null,Y0=null,X0=!1,Z0=null,Q0=null,$0=null,e2=0,t2=new Map,n2=new Map,r2=new Map,i2=new Set;function Bce(e){let t=t2.get(e);if(t)return t;let n={objective:``,criteria:``,risk:`low`,boundary:``,writeScopes:``};return t2.set(e,n),n}var a2=`.factory-stack, .factory-pads, .factory-ledger, .factory-detail, .factory-intent-queue, .factory-criteria`,Vce=[[`[data-order-id]`,`orderId`],[`[data-factory-field]`,`factoryField`],[`[data-project-id]`,`projectId`]];function o2(e,t,n){let r=p(`button`,e,t);return r.type=`button`,r.addEventListener(`click`,n),r}function s2(e){let t=p(`p`,`factory-request-status`,e?.text??``);return t.setAttribute(`role`,`status`),t.dataset.error=String(e?.hasError===!0),t}function c2(e,t,n,r){let i=t===`factory-queue-intent`?n2:r2;if(i.get(e)?.requestId)return;e2+=1;let a=`factory-${e2}`,o=$0?.({...n,projectId:e,type:t,requestId:a})===!0;i.set(e,{requestId:o?a:null,text:o?r:`Not connected.`,hasError:!o}),p2()}function Hce(e,t,n){let r=p(`details`,`factory-floor-opt-in`);r.open=i2.has(e)||(t.floorAllowances?.length??0)>0,r.addEventListener(`toggle`,()=>{r.open?i2.add(e):i2.delete(e)});let i=p(`summary`,`factory-label factory-floor-opt-in-summary`,`Protected floor opt-in`);i.dataset.factoryField=`floor-opt-in`,r.append(i);let a=p(`fieldset`,`factory-floor-allowances`);a.append(p(`legend`,`sr-only`,`Protected floor opt-in`));for(let e of Jc){let r=p(`label`,`factory-floor-allowance`),i=p(`input`);i.type=`checkbox`,i.value=e,i.dataset.factoryField=`floor:${e}`,i.checked=t.floorAllowances?.includes(e)===!0,i.disabled=n,i.addEventListener(`change`,()=>{let n=(t.floorAllowances??[]).filter(t=>t!==e),r=i.checked?[...n,e]:n;t.floorAllowances=Jc.filter(e=>r.includes(e))}),r.append(i,p(`span`,null,e)),a.append(r)}return r.append(a),r}function Uce(e){let t=Bce(e),n=p(`form`,`factory-queue-form`),r=n2.get(e)?.requestId!=null;for(let[e,i,a,o]of[[`objective`,`Objective`,4096,2],[`criteria`,`Criteria, one per line`,49164,2],[`boundary`,`Authority boundary`,4096,1],[`writeScopes`,`Write scopes, one per line`,32800,2]]){let s=p(`label`,`factory-form-field`),c=p(`textarea`,`factory-form-input`);c.name=e,c.dataset.factoryField=e,c.maxLength=a,c.rows=o,c.required=e!==`writeScopes`,c.value=t[e],c.disabled=r,c.addEventListener(`input`,()=>{t[e]=c.value}),s.append(p(`span`,`factory-label`,i),c),n.append(s)}let i=p(`label`,`factory-form-field`),a=p(`select`,`factory-form-input`);a.name=`risk`,a.dataset.factoryField=`risk`,a.disabled=r;for(let e of Zc.shape.risk.options){let t=p(`option`,null,e);t.value=e,a.append(t)}a.value=t.risk,a.addEventListener(`change`,()=>{t.risk=Zc.shape.risk.parse(a.value)}),i.append(p(`span`,`factory-label`,`Risk`),a),n.append(Hce(e,t,r));let o=p(`button`,`factory-action`,`Queue intent`);return o.type=`submit`,o.disabled=!X0||r,n.insertBefore(i,n.children[2]??null),n.append(o,s2(n2.get(e))),n.addEventListener(`submit`,n=>{n.preventDefault();let r=Zc.safeParse({...t,projectId:e,criteria:t.criteria.split(/\r?\n/).map(e=>e.trim()).filter(Boolean),writeScopes:t.writeScopes.split(/\r?\n/).map(e=>e.trim()).filter(Boolean)});r.success?c2(e,`factory-queue-intent`,r.data,`Queueing intent.`):(n2.set(e,{requestId:null,text:r.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `),hasError:!0}),p2())}),n}function Wce(e,t){let n=p(`div`,`factory-controls`),r=r2.get(e);for(let i of[`pause`,`resume`]){let a=o2(`factory-action`,i===`pause`?`Pause`:`Resume`,()=>c2(e,`factory-control`,{action:i},i===`pause`?`Pausing factory.`:`Resuming factory.`));a.disabled=!X0||r?.requestId!=null||(i===`pause`?t:!t),n.append(a)}return n.append(s2(r)),n}var Gce=[{id:`queue`,label:`Queue`,slots:3},{id:`workers`,label:`Workers`,slots:3},{id:`review`,label:`Review`,slots:2},{id:`shipped`,label:`Shipped`,slots:3}];function l2(e,t){let n=S(`factory`,e);return n.classList.add(...t.split(` `)),n.setAttribute(`aria-label`,e),n}function u2(e,t){let n=p(`div`,`factory-sprite`);n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t);let r=p(`span`,`nyan-sprite ${e}`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n}function Kce(e){Q0=e,p2()}function d2(e,t,n){let r=o2(n,t,()=>Kce(e));return r.dataset.orderId=e,r.setAttribute(`aria-pressed`,String(Q0===e)),r}function f2(e,t){let n=p(`div`,`factory-crate`);n.dataset.state=e.isHeld?`waiting`:e.station,n.dataset.selected=String(e.isSelected);let r=p(`div`,`factory-crate-id`),i=p(`span`,`factory-crate-risk`,e.risk);i.dataset.risk=e.risk,r.append(p(`span`,null,e.id),i),n.append(r,d2(e.id,e.objective,`factory-crate-title`));let a=e.sessionId;return a&&q0&&!t&&n.append(o2(`factory-action`,`Open terminal`,()=>q0?.(a))),e.station!==`workers`&&n.append(p(`span`,`factory-crate-note`,e.status)),n}function qce(e){return`Read-only mirror of the factory harness run at ${e.recordDirectory}. ${e.outcome?`Ended: ${e.outcome}.`:`No verdict yet.`}`}function Jce(e,t){let n=t.projectId,r=t.observedRun!==void 0,i=p(`div`,`factory-band factory-head`),a=l2(`Intent`,`factory-intent`);if(a.append(p(`p`,`factory-count`,e.spend)),e.intent){a.append(d2(e.intent.id,e.intent.objective,`factory-intent-title`));let t=p(`ul`,`factory-criteria`);for(let n of e.intent.criteria){let e=p(`li`,null,`${n.isMet?`[x]`:`[ ]`} ${n.text}`);e.dataset.met=String(n.isMet),t.append(e)}a.append(t,p(`p`,`factory-count`,`${e.intent.shippedCount} of ${e.intent.childCount} shipped`))}e.intent||a.append(p(`p`,`factory-empty`,`No open intent.`));let o=l2(`Orchestrator`,`factory-orchestrator`);o.dataset.state=e.orchestrator.isException?`failed`:e.paused?`paused`:`steady`;let s=p(`div`,`factory-heading`);s.append(p(`strong`,`factory-orchestrator-action`,e.orchestrator.action),p(`p`,`factory-reason`,e.orchestrator.reason)),e.note&&s.append(p(`p`,`factory-reason`,e.note));let c=p(`span`,`factory-paused-marker`,`[paused]`);c.hidden=!e.paused,s.append(c),t.observedRun&&s.append(p(`p`,`factory-reason`,qce(t.observedRun))),r||s.append(Wce(n,e.paused));let l=u2(`is-owl`,`Orchestrator owl`),u=e.orchestrator.sessionId;if(u&&q0&&!r){let e=o2(`factory-action`,null,()=>q0?.(u));e.setAttribute(`aria-label`,`Open orchestrator terminal`),e.append(l),o.append(e)}(!u||!q0||r)&&o.append(l),e.orchestrator.stateLabel&&s.append(p(`span`,`factory-orchestrator-state`,e.orchestrator.stateLabel)),o.append(s);let d=l2(`Up next`,`factory-up-next`),f=p(`ol`,`factory-intent-queue`);for(let t of e.upNext){let e=p(`li`);e.append(d2(t.id,t.objective,`factory-next-title`)),f.append(e)}return d.append(f),e.upNext.length===0&&d.append(p(`p`,`factory-empty`,`No queued intents.`)),r||d.append(Uce(n)),i.append(a,o,d),i}function Yce(e,t,n){let r=p(`section`,`factory-station factory-station-${e.id}`);r.setAttribute(`aria-label`,e.label);let i=p(`div`,`factory-station-head`);i.append(p(`h3`,`factory-label`,e.label),p(`span`,`factory-count`,String(t.length)));let a=p(`div`,e.id===`workers`?`factory-pads`:`factory-stack`);for(let r=0;r<Math.max(e.slots,t.length);r+=1){let i=t[r],o=p(`div`,`factory-open`,`Open slot`);if(e.id!==`workers`){a.append(i?f2(i,n):o);continue}let s=p(`div`,`factory-pad`);s.dataset.state=i?.hasConflict?`waiting`:i?`running`:`idle`,i&&s.append(u2(i.animal.sprite,i.animal.name)),i||s.append(p(`div`,`factory-sprite factory-sprite-empty`)),s.append(i?f2(i,n):o,p(`span`,`factory-pad-status`,i?.status??`Idle`)),a.append(s)}return r.append(i,a),r}function Xce(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:oh(t)}function Zce(e){let t=p(`div`,`factory-band factory-foot`),n=l2(`Ledger`,`factory-ledger-region`),r=p(`ol`,`factory-ledger`);for(let t of e.ledger){let e=p(`li`),n=p(`time`,`factory-ledger-time`,Xce(t.at));n.dateTime=t.at,e.append(n,p(`span`,null,`${t.orderId} ${t.event} (${t.session})`)),r.append(e)}e.ledger.length===0&&r.append(p(`li`,`factory-empty`,`No ledger events.`)),n.append(r);let i=l2(`Selected ticket`,`factory-detail-region`),a=p(`div`,`factory-detail`),o=e.selectedOrder;if(o){let e=p(`dl`);for(let[t,n]of[[`Intent`,o.intent??`No parent intent`],[`Fence`,o.writeScopes.join(`, `)||`None`],[`After`,o.dependsOn.join(`, `)||`None`],[`Station`,o.station],[`Session`,o.owner??`Unassigned`]])e.append(p(`dt`,null,t),p(`dd`,null,n));a.append(e)}return o||a.append(p(`p`,`factory-empty`,`Select a ticket to inspect its boundaries.`)),i.append(a),t.append(n,p(`div`,`factory-seam`),i),t}function p2(){if(!J0)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=e instanceof HTMLTextAreaElement?{start:e.selectionStart,end:e.selectionEnd}:null,n=[...J0.querySelectorAll(a2)].map(e=>e.scrollTop),r=document.createDocumentFragment(),i=p(`p`,`factory-connection`,X0?Y0?``:`Waiting for the server.`:`Disconnected. Showing the last snapshot.`);i.setAttribute(`role`,`status`),r.append(i);let a=zce(Y0?.projects??[],Z0);if(!a){r.append(p(`p`,`factory-empty`,Y0?`No repos holding coherence.config.json.`:`Waiting for Factory state.`)),J0.replaceChildren(r);return}if(Z0!==a.projectId&&(Q0=null),Z0=a.projectId,Y0&&Y0.projects.length>1){let e=p(`div`,`factory-projects`);e.setAttribute(`aria-label`,`Factory projects`);for(let t of Y0.projects){let n=o2(`factory-project`,t.projectName,()=>{Z0=t.projectId,Q0=null,p2()});n.dataset.projectId=t.projectId,n.setAttribute(`aria-pressed`,String(t.projectId===Z0)),e.append(n)}r.append(e)}let o=Rce(a,Q0),s=p(`div`,`factory-console`),c=l2(`Floor`,`factory-band factory-floor-band`),l=p(`div`,`factory-pipe`);for(let e of Gce)l.append(Yce(e,o.stations[e.id],a.observedRun!==void 0));c.append(l),s.append(Jce(o,a),c,Zce(o)),r.append(s),J0.replaceChildren(r),[...J0.querySelectorAll(a2)].forEach((e,t)=>{e.scrollTop=n[t]??0});for(let[n,r]of Vce){let i=e?.dataset[r];if(!i)continue;let a=[...J0.querySelectorAll(n)].find(e=>e.dataset[r]===i);a?.focus({preventScroll:!0}),a instanceof HTMLTextAreaElement&&t&&a.setSelectionRange(t.start,t.end)}}function Qce(e,t){return q0=t?.openTerminal??null,J0||(J0=p(`div`,`factory-content`),e.append(J0),p2(),J0)}function $ce(e){Y0=e,p2()}function ele(e){if(X0=e,!e)for(let e of[n2,r2])for(let[t,n]of e)n.requestId&&e.set(t,{requestId:null,text:`Disconnected. Check the floor before submitting again.`,hasError:!0});p2()}function tle(e){$0=e}function nle(e){n2.get(e.projectId)?.requestId===e.requestId&&(n2.set(e.projectId,{requestId:null,text:e.ok?`Queued ${e.workId??`intent`}.`:e.error??`Could not queue intent.`,hasError:!e.ok}),e.ok&&t2.delete(e.projectId),p2())}function rle(e){r2.get(e.projectId)?.requestId===e.requestId&&(r2.set(e.projectId,{requestId:null,text:e.ok?e.action===`pause`?`Factory paused.`:`Factory resumed.`:e.error??`Could not update factory.`,hasError:!e.ok}),p2())}var ile={mine:`Mine`,run:`Run`,cancel:`Cancel`},ale={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},m2=null,h2=null,g2=null,_2=new Map,v2=new Map;function y2(e){return e===null?`n/a`:`${Math.round(e*100)}%`}function ole(e){if(e===null)return`n/a`;let t=Math.round(e*100);return t>0?`+${t}`:String(t)}function sle(e,t){g2?.({type:`benchmark-action`,requestId:mm(`benchmark`),suiteId:e,action:t})===!0?(_2.set(e,t),v2.set(e,ale[t]),S2()):(v2.set(e,`Not connected.`),S2())}function b2(e,t,n){let r=p(`button`,`bench-action-button`,ile[t]);return r.type=`button`,r.disabled=n,r.addEventListener(`click`,()=>sle(e.id,t)),r}function cle(e){let t=h2?.inFlight;if(!t||t.suiteId!==e.id)return``;let n=t.caseId?`case ${t.caseId}, `:``;return`Cell ${t.cellIndex+1} of ${t.cellCount}: ${n}arm ${t.armId}, trial ${t.trial}, ${t.phase}.`}function x2(e){let t=p(`td`,`bench-score`,y2(e?.recall??null));return e&&e.invalid>0&&(t.title=`${e.invalid} invalid or failed cell(s)`),e&&e.degraded>0&&(t.dataset.degraded=`true`),t}function lle(e){let t=e.armIds.filter(t=>t!==e.baselineArm),n=p(`table`,`bench-table`),r=p(`tr`);r.append(p(`th`,null,`Case`),...e.armIds.map(t=>p(`th`,null,t===e.baselineArm?`${t} (baseline)`:t))),r.append(...t.map(e=>p(`th`,null,`${e} vs baseline`))),n.append(r);for(let r of e.rows){let i=p(`tr`);i.append(p(`td`,`bench-case`,r.caseId),...e.armIds.map(e=>x2(r.arms[e]))),i.append(...t.map(e=>p(`td`,`bench-delta`,ole(r.deltaVsBaseline[e]??null)))),n.append(i)}let i=[...new Set(e.armIds.flatMap(t=>Object.keys(e.totals[t]?.recallByTag??{})))].sort(),a=p(`tr`,`bench-total`);a.append(p(`td`,`bench-case`,`Paired recall`),...e.armIds.map(t=>x2(e.totals[t]))),n.append(a);for(let t of i){let r=p(`tr`,`bench-total`);r.append(p(`td`,`bench-case`,`Recall, ${t}`),...e.armIds.map(n=>p(`td`,`bench-score`,y2(e.totals[n]?.recallByTag[t]??null)))),n.append(r)}return n}function ule(e){let t=p(`div`,`bench-suite`),n=h2?.inFlight?.suiteId===e.id,r=!!h2?.inFlight&&!n,i=_2.has(e.id),a=p(`div`,`bench-summary`);a.append(p(`span`,`bench-suite-title`,e.title),re(`bench`,e.caseCount===1?`case`:`cases`,String(e.caseCount)),re(`bench`,e.candidateCount===1?`candidate`:`candidates`,String(e.candidateCount)),re(`bench`,`arms`,String(e.armIds.length))),t.append(a);let o=p(`div`,`bench-controls`),s=h2?.configured===!0&&e.error===null;o.append(b2(e,`mine`,!s||i||n),b2(e,`run`,!s||i||n||r||e.caseCount===0),b2(e,`cancel`,i||!n));let c=p(`span`,`bench-status`,cle(e)||v2.get(e.id)||``);if(c.setAttribute(`role`,`status`),o.append(c),t.append(o),e.error)return t.append(p(`p`,`bench-error`,e.error)),t;let l=e.latestReport;return l?(t.append(p(`p`,`bench-run-line`,`Latest run ${l.runId}: ${l.status}. Only cases every arm scored count toward paired recall.`)),l.rows.length>0&&t.append(lle(l)),t):(t.append(p(`p`,`bench-empty`,e.caseCount===0?`Move approved candidates into the cases folder, then choose Run.`:`No run yet.`)),t)}function S2(){if(!m2)return;m2.textContent=``;let e=S(`bench`,`Benchmarks`,`Suites from the benchmarks folder of the Glimmervoid home, one run at a time.`);if(m2.append(e),!h2)m2.append(p(`p`,`bench-empty`,`Waiting for the server.`));else if(!h2.configured)m2.append(p(`p`,`bench-empty`,h2.reason||`Benchmarks are off.`));else if(h2.suites.length===0)m2.append(p(`p`,`bench-empty`,`No suites yet. Create a folder holding suite.json under benchmarks in the Glimmervoid home.`));else for(let e of h2.suites)m2.append(ule(e))}function dle(e){g2=e}function fle(e){return m2||(m2=p(`div`,`bench-content`),e.append(m2),S2(),m2)}function ple(e){if(!(e||_2.size===0)){for(let e of _2.keys())v2.set(e,`Connection lost.`);_2.clear(),S2()}}function mle(e){h2=e,S2()}function hle(e){_2.delete(e.suiteId);let t=h2?.suites.find(t=>t.id===e.suiteId)?.candidateCount??0,n={mine:`Mining finished. ${t} candidate${t===1?``:`s`} awaiting approval in the candidates folder.`,run:`Run ${e.runId??``} started.`,cancel:`Run cancelled.`};v2.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),S2()}function gle(e){return e?e.configured?`No open issues.`:e.reason??`Loading issues.`:`Loading issues.`}function C2(e,t){return t===`all`||e.sources.includes(t)}function _le(e){return{all:e.length,me:e.filter(e=>C2(e,`me`)).length,team:e.filter(e=>C2(e,`team`)).length,project:e.filter(e=>C2(e,`project`)).length}}function vle(e,t,n){let r=t.query.trim().toLowerCase().split(/\s+/).filter(Boolean),i=e.filter(e=>{if(!C2(e,t.scope)||t.repo&&e.repo!==t.repo||t.label&&!e.labels.includes(t.label)||t.hasSession&&(!e.sessionId||!n.has(e.sessionId))||t.hasPr&&e.pullRequests.length===0||t.isUnassignedOnly&&e.assignees.length>0)return!1;let i=[e.title,`#${e.number}`,e.repo,e.author,...e.labels,...e.assignees,...e.teams].join(` `).toLowerCase();return r.every(e=>i.includes(e))}),a=e=>Date.parse(e)||0,o=e=>t.sort===`comments`?e.comments:t.sort===`created`?a(e.createdAt):a(e.updatedAt);return i.sort((e,t)=>o(t)-o(e)||e.key.localeCompare(t.key))}function yle(e){let t=new Map;for(let n of e){let e=t.get(n.repo)??[];e.push(n),t.set(n.repo,e)}return t}function ble(e){return{repos:[...new Set(e.map(e=>e.repo))].sort(),labels:[...new Set(e.flatMap(e=>e.labels))].sort()}}function xle(e){let t=[e.query.trim()&&`search "${e.query.trim()}"`,e.repo,e.label,e.hasSession&&`has session`,e.hasPr&&`has PR`,e.isUnassignedOnly&&`unassigned`].filter(Boolean);return t.length===0?``:`Filtered by ${t.join(`, `)}.`}function w2(e,t){let n=typeof e==`number`?e:Date.parse(e);if(!Number.isFinite(n))return`unknown`;let r=Math.round(Math.max(0,t-n)/6e4);if(r<1)return`now`;if(r<60)return`${r}m`;let i=Math.round(r/60);return i<48?`${i}h`:`${Math.round(i/24)}d`}function T2(e,t){let n=w2(e,t);return n===`now`?`just now`:n===`unknown`?`at an unknown time`:`${n} ago`}var E2=45e3,D2=[{id:`all`,label:`All`},{id:`me`,label:`Mine`},{id:`team`,label:`Team`},{id:`project`,label:`Projects`}],O2={scope:`all`,repo:``,label:``,sort:`updated`,query:``,hasSession:!1,hasPr:!1,isUnassignedOnly:!1},k2=null,A2=null,j2=null,M2=null,N2=null,P2=null,F2=null,I2=null,L2=null,R2=null,z2=new Map,B2=!1,V2=null,H2=null,U2=new Map,W2=new Map,G2=new Map,K2=new Map,q2=new Map;function J2(e){return`${e.key}:${e.updatedAt}`}function Y2(e){return e.sessionId?T.get(e.sessionId):void 0}function X2(e,t,n){let r=Y2(t),i=r?.currentState??a.DORMANT,o=te(i,r?.awaitingBackgroundTasks),s=r?`Session: ${o.label}`:`No session yet`,c=n?`${o.glyph} ${o.label}`:o.glyph;(e.dataset.state!==i||e.title!==s||e.textContent!==c)&&(e.dataset.state=i,e.title=s,e.setAttribute(`aria-label`,s),e.textContent=c)}function Z2(e,t=!1){let n=p(`span`,t?`issues-state`:`pr-queue-glyph issues-state`);return X2(n,e,t),n}function Q2(e){let t=Y2(e);return t?E(t):`none yet`}function $2(e){return[...U2.values()].some(t=>t.issueKey===e.key)}function Sle(e){let t=U2.get(e);t&&(U2.delete(e),W2.set(t.issueKey,`No reply from the server.`),i4())}function Cle(e){let t=U2.get(e);return t?(clearTimeout(t.timeoutHandle),U2.delete(e),t):null}function e4(e){let t=J2(e);if(K2.has(t)||[...G2.values()].some(e=>e.cacheKey===t))return;let n=mm(`issue-detail`);q2.delete(t),H2?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?G2.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{G2.delete(n),q2.set(t,`No reply from the server. Select the issue to load its description.`),i4()},E2)}):q2.set(t,`Not connected. Select the issue to load its description.`)}function wle(e){let t=e.projectId;if(!t||Y2(e)||$2(e))return;let n=mm(`open-issue-session`);H2?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(U2.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Sle(n),E2)}),W2.set(e.key,`Opening session.`),i4()):(W2.set(e.key,`Not connected.`),i4())}function Tle(e){let t=p(`button`,`pr-queue-row issue-row`);t.type=`button`,t.dataset.issueKey=e.key,t.setAttribute(`aria-current`,String(e.key===L2));let n=p(`span`,`pr-queue-top`);n.append(p(`span`,`pr-queue-ref`,`#${e.number}`),p(`span`,`pr-queue-title`,e.title||`Untitled issue`));let r=p(`span`,`pr-queue-bottom`);e.sources.includes(`me`)&&r.append(p(`span`,`issues-why`,`you`)),r.append(p(`span`,`issues-row-labels`,e.labels.join(`, `)));for(let t of e.pullRequests)r.append(p(`span`,`issues-row-pr`,`PR #${t.number}`));let i=p(`span`,`pr-queue-elapsed`,w2(e.updatedAt,Date.now()));return i.dataset.issueAge=e.updatedAt,r.append(i),t.append(Z2(e),n,r),t.addEventListener(`click`,()=>{L2=e.key,k2&&(k2.dataset.detailOpen=`true`),e4(e),o4(),M2&&(M2.scrollTop=0)}),t}function t4(e,t,n){let r=p(`dd`);r.append(...n),e.append(p(`dt`,null,t),r)}function n4(e){let t=p(`footer`,`pr-footer issues-detail-footer`),n=Y2(e);if(n&&e.sessionId){let n=e.sessionId,r=p(`button`,`pr-action`,`Go to session`);r.type=`button`,r.addEventListener(`click`,()=>i_(n)),t.append(r)}if(e.projectId&&!n){let n=p(`button`,`pr-action`,`Open session`);n.type=`button`,n.disabled=$2(e),n.addEventListener(`click`,()=>wle(e)),t.append(n)}t.append(b(`pr-action`,`View on GitHub`,e.url));let r=W2.get(e.key),i=e.projectId?``:`Add a project for ${e.repo} in Settings to open sessions from here.`,a=p(`span`,`pr-action-status issue-open-status`,r??i);return a.setAttribute(`role`,`status`),$2(e)&&a.prepend(p(`span`,`issues-spinner`)),t.append(a),t}function r4(e,t){let n=p(`span`,null,T2(e,t));return n.dataset.issueAgo=e,n}function Ele(){let e=M2?.querySelector(`.issues-detail`),t=L2?z2.get(L2):void 0;if(!e||!t)return;let n=e.querySelector(`.issues-facts .issues-state`);n&&X2(n,t,!0);let r=e.querySelector(`.issues-session-name`),i=Q2(t);r&&r.textContent!==i&&(r.textContent=i);let a=String(!!Y2(t));e.dataset.hasLiveSession!==a&&(e.dataset.hasLiveSession=a,e.querySelector(`.issues-detail-footer`)?.replaceWith(n4(t)))}function i4(){if(!M2)return;let e=R2?.issues.find(e=>e.key===L2);if(!e){M2.replaceChildren(p(`p`,`pr-empty`,`Pick an issue from the queue.`));return}let t=p(`article`,`pr-detail issues-detail`),n=p(`button`,`pr-action issues-back`,`Back to issues`);n.type=`button`,n.addEventListener(`click`,()=>{k2&&(k2.dataset.detailOpen=`false`),[...j2?.querySelectorAll(`[data-issue-key]`)??[]].find(e=>e.dataset.issueKey===L2)?.focus({preventScroll:!0})});let r=p(`header`,`pr-detail-heading`),i=p(`div`,`pr-detail-title`);i.append(b(`pr-link`,`${e.repo}#${e.number}`,e.url),p(`h2`,null,e.title||`Untitled issue`));let a=Date.now(),o=p(`div`,`pr-detail-meta`),s=p(`span`,null,`opened by ${e.author||`unknown`} `),c=p(`span`,null,`updated `);s.append(r4(e.createdAt,a)),c.append(r4(e.updatedAt,a)),o.append(s,c,p(`span`,null,`${e.comments} comments`)),e.sources.includes(`me`)&&o.append(p(`span`,`issues-why`,`assigned to you`));for(let t of e.teams)o.append(p(`span`,null,`mentions ${t}`));r.append(i,o);let l=p(`dl`,`issues-facts`);t4(l,`Repository`,[e.repo]),t4(l,`Labels`,[e.labels.join(`, `)||`none`]),t4(l,`Assignees`,[e.assignees.join(`, `)||`unassigned`]),t.dataset.hasLiveSession=String(!!Y2(e)),t4(l,`Session`,[Z2(e,!0),p(`span`,`issues-session-name`,Q2(e))]);let u=e.pullRequests.flatMap(e=>{let t=p(`span`,`issues-pr-state`,e.state);return t.dataset.prState=e.state,[t,b(`issues-inline-link`,`#${e.number} ${e.title}`,e.url)]});t4(l,`Pull request`,u.length>0?u:[`none linked`]);let d=p(`section`,`issues-body-section`),f=J2(e),m=p(`div`,`issue-body`,K2.get(f)??q2.get(f)??`Loading description.`);K2.get(f)===``&&(m.textContent=`No description.`),m.setAttribute(`role`,`status`),d.append(p(`h3`,`pr-section-heading`,`Description`),m),t.append(n,r,l,d,n4(e)),M2.replaceChildren(t)}function a4(e,t,n,r){if(!e)return;let i=r&&!n.includes(r)?[...n,r].sort():n;e.replaceChildren(...[``,...i].map(e=>{let n=p(`option`,null,e||t);return n.value=e,n})),e.value=r}function o4(){B2=!1,s4(),i4()}function s4(){if(!k2||!j2||!A2)return;let e=R2?.issues??[],t=_le(e);for(let e of D2){A2.querySelector(`[data-scope="${e.id}"]`)?.setAttribute(`aria-selected`,String(e.id===O2.scope));let n=A2.querySelector(`[data-scope-count="${e.id}"]`);n&&(n.textContent=String(t[e.id]))}let n=ble(e);a4(P2,`All repos`,n.repos,O2.repo),a4(F2,`All labels`,n.labels,O2.label),N2&&(N2.textContent=xle(O2));let r=vle(e,O2,new Set(T.keys())),i=document.activeElement instanceof HTMLElement&&j2.contains(document.activeElement)?document.activeElement.dataset.issueKey:null,a=[...yle(r)].map(([e,t])=>{let n=p(`section`,`pr-queue-section`),r=p(`h3`,`pr-section-heading issues-repo-heading`,e);return t.some(e=>e.projectId)||r.append(p(`span`,`issues-repo-note`,`view only`)),r.append(p(`span`,`issues-repo-count`,String(t.length))),n.append(r,...t.map(Tle)),n});j2.replaceChildren(...a),r.length===0&&j2.append(p(`p`,`pr-empty`,e.length>0?`No open issues match these filters. Clear the search or pick All.`:gle(R2))),i&&[...j2.querySelectorAll(`[data-issue-key]`)].find(e=>e.dataset.issueKey===i)?.focus({preventScroll:!0}),L2&&!e.some(e=>e.key===L2)&&(L2=null,k2.dataset.detailOpen=`false`),V2?.update(R2),c4()}function Dle(){let e=p(`div`,`issues-filters`),t=p(`div`,`issues-search-row`),n=p(`input`,`issues-search`);n.type=`search`,n.placeholder=`Search issues`,n.autocomplete=`off`,n.setAttribute(`aria-label`,`Search issues`),n.addEventListener(`input`,()=>{O2.query=n.value,o4()});let r=p(`button`,`pr-action`,`Filters`);r.type=`button`,r.setAttribute(`aria-expanded`,`false`),r.setAttribute(`aria-controls`,`issues-filters-panel`);let i=p(`div`,`issues-filters-panel`);i.id=`issues-filters-panel`,i.hidden=!0,r.addEventListener(`click`,()=>{i.hidden=!i.hidden,r.setAttribute(`aria-expanded`,String(!i.hidden))}),t.append(n,r);let a=p(`div`,`issues-filter-row`);function o(e){let t=p(`select`,`issues-field`);return t.setAttribute(`aria-label`,e),a.append(t),t}P2=o(`Repository`),P2.addEventListener(`change`,()=>{O2.repo=P2?.value??``,o4()}),F2=o(`Label`),F2.addEventListener(`change`,()=>{O2.label=F2?.value??``,o4()});let s=o(`Sort`);for(let[e,t]of[[`updated`,`Updated`],[`created`,`Newest`],[`comments`,`Most discussed`]]){let n=p(`option`,null,t);n.value=e??``,s.append(n)}s.addEventListener(`change`,()=>{O2.sort=s.value,o4()});let c=p(`div`,`issues-filter-row`);for(let[e,t]of[[`hasSession`,`Has session`],[`hasPr`,`Has PR`],[`isUnassignedOnly`,`Unassigned`]]){let n=p(`label`,`issues-toggle`),r=p(`input`);r.type=`checkbox`,r.addEventListener(`change`,()=>{O2[e]=r.checked,o4()}),n.append(r,` ${t}`),c.append(n)}return N2=p(`span`,`issues-filter-summary`),N2.setAttribute(`role`,`status`),i.append(a,c),e.append(t,N2,i),e}function c4(){if(!k2||k2.closest(`[hidden]`)||document.hidden)return;let e=Date.now();I2&&(I2.textContent=R2?.lastSyncAt?`Synced ${T2(R2.lastSyncAt,e)}.`:`Not synced yet.`);for(let t of k2.querySelectorAll(`[data-issue-age]`))t.textContent=w2(t.dataset.issueAge??``,e);for(let t of k2.querySelectorAll(`[data-issue-ago]`))t.textContent=T2(t.dataset.issueAgo??``,e)}function Ole(e){H2=e}function kle(e){if(k2)return k2;k2=p(`div`,`issues-content`),k2.dataset.detailOpen=`false`,e.append(k2),V2=eZ(`issues`,k2);let t=p(`div`,`pr-columns issues-columns`),n=p(`section`,`pr-queue-pane`);n.setAttribute(`aria-label`,`Issue queue`),A2=p(`div`,`pr-scope-tabs issues-scope-tabs`),A2.setAttribute(`role`,`tablist`),A2.setAttribute(`aria-label`,`Issue scope`);for(let e of D2){let t=p(`span`,`issues-scope`);t.setAttribute(`role`,`presentation`);let n=p(`button`,`pr-scope-tab`,e.label);n.type=`button`,n.dataset.scope=e.id,n.setAttribute(`role`,`tab`),n.addEventListener(`click`,()=>{O2.scope=e.id,o4()});let r=p(`span`,`issues-scope-count`);r.dataset.scopeCount=e.id,t.append(n,r),A2.append(t)}j2=p(`nav`,`pr-queue`),j2.setAttribute(`aria-label`,`Issues`);let r=hq(V2.control);return I2=p(`span`,`issues-sync`),I2.setAttribute(`role`,`status`),r.prepend(I2),r.append(V2.notice),n.append(mq(A2),Dle(),j2,r),M2=p(`section`,`pr-detail-host`),M2.setAttribute(`aria-label`,`Issue detail`),t.append(n,M2),k2.append(t),window.setInterval(c4,3e4),o4(),k2}function Ale(){B2&&l4(),c4()}function l4(){if(w(k2))B2=!0;else if(B2=!1,Ele(),O2.hasSession)s4();else for(let e of j2?.querySelectorAll(`[data-issue-key]`)??[]){let t=z2.get(e.dataset.issueKey??``),n=e.querySelector(`.issues-state`);t&&n&&X2(n,t,!1)}}function jle(e){if(!e){for(let e of U2.values())clearTimeout(e.timeoutHandle),W2.set(e.issueKey,`Connection lost.`);U2.clear();for(let e of G2.values())clearTimeout(e.timeoutHandle),q2.set(e.cacheKey,`Connection lost. Select the issue to load its description.`);G2.clear(),o4()}}function Mle(e){let t=R2?.issues.find(e=>e.key===L2);R2=e,z2=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===L2);n&&n.updatedAt!==t?.updatedAt&&e4(n),o4()}function Nle(e){let t=G2.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),G2.delete(e.requestId),e.ok&&e.body!==null&&K2.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&q2.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),i4())}function Ple(e){if(typeof e.requestId!=`string`)return;let t=Cle(e.requestId);if(!t)return;let n=t.issueKey;if(e.ok===!0){let r=typeof e.sessionName==`string`?e.sessionName:`issue #${t.issueNumber}`,i=e.pending===!0?` Prompt queued.`:``,a=e.existing===!0?`already open`:`created`;W2.set(n,`Session "${r}" ${a}.${i}`);let o=R2?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),o4();return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;W2.set(n,r),i4()}var Fle=4e3;function Ile({render:e,holdMs:t=Fle,setTimer:n=setTimeout,clearTimer:r=clearTimeout}){let i=new Set,a=!1,o=null;function s(e){(o===null||e)&&(o!==null&&r(o),o=n(c,t))}function c(){o=null,i.size>0?s(!1):a&&(a=!1,e())}return{begin(e){i.add(e)},settle(e){i.delete(e),s(!0)},request(){i.size===0&&o===null?e():(a=!0,s(!1))},_state(){return{pending:i.size,held:a,armed:o!==null}}}}var u4=null,d4=null,f4=null,p4=null,m4=`http://www.w3.org/2000/svg`,h4=wh({getAck:dp,setAck:fp,signature:()=>Tre({posthog:u4}),isLooking:()=>!w(d4)}),g4=Ile({render:R4}),_4=new Set,v4=null,y4=new Map,b4=new WeakMap,Lle=`this issue`,x4=xh(()=>d4),Rle={spiking:`spiking`,regressed:`regressed`,worsened:`worsened`,new:`new`,quiet:`quiet`},S4=[{columnId:`stripe`,headText:``,cellClass:`radar-stripe`,track:`auto`,phoneTrack:`auto`,isMagnitude:!1,startsActionCluster:!1},{columnId:`change`,headText:``,cellClass:`radar-change`,track:`auto`,phoneTrack:`minmax(68px, auto)`,isMagnitude:!1,startsActionCluster:!1},{columnId:`copy`,headText:``,cellClass:`radar-issue-copy`,track:`minmax(0, 1fr)`,phoneTrack:`minmax(0, 1fr)`,isMagnitude:!1,startsActionCluster:!0},{columnId:`occurrences`,headText:`Occurrences`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`users`,headText:`Users`,cellClass:`radar-metric`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1},{columnId:`trend`,headText:`Trend`,cellClass:`radar-issue-trend`,track:`max-content`,phoneTrack:``,isMagnitude:!0,startsActionCluster:!1}],zle=S4.map(e=>e.track).join(` `),Ble=S4.filter(e=>!e.isMagnitude).map(e=>e.phoneTrack).join(` `),Vle=S4.findIndex(e=>e.startsActionCluster)+1;function C4(e){let t=p(`div`,e);return t.style.setProperty(`--radar-issue-grid`,zle),t.style.setProperty(`--radar-issue-grid-phone`,Ble),t.style.setProperty(`--radar-issue-actions-start`,String(Vle)),t}function w4(e,t){let n=p(`span`,`radar-issue-magnitudes`),r=!1;for(let i of S4){let a=t(i);i.isMagnitude?(r||=(e.append(n),!0),n.append(a)):e.append(a)}}function T4(e){return Number.isFinite(e)?String(e):`0`}function Hle(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?``:`elapsed ${yh(Date.now()-e)}`}function E4(e){return typeof e?.issueId==`string`?e.issueId:``}function D4(e,t){return[String(e??``),String(t??``)].join(`::`)}function Ule(e,t,n){let r=y4.get(D4(e,t));if(!r||!r.copy.isConnected)return!1;let i=Eh(n);return i?(r.summary||(r.summary=p(`span`,`radar-issue-summary`),r.copy.insertBefore(r.summary,r.copy.querySelector(`.radar-issue-meta`))),r.summary.textContent=i,!0):(r.summary?.remove(),r.summary=null,!0)}function O4(e,t,n){let r=E4(e);if(!r)return;v4?.dialog.close();let i=kre({issueTitle:String(e.title||r),projectLabel:n,onOpenReport:()=>A4(e)});v4={projectId:String(t??``),issueId:r,dialog:i},i.update(Dh(e))}function k4(){if(!v4)return;if(!v4.dialog.isOpen()){v4=null;return}let e=Oh(u4,v4.projectId,v4.issueId);e&&v4.dialog.update(Dh(e))}function A4(e){let t=E4(e);t&&hm(`get-radar-report`,{issueId:t}).then(n=>{n.ok?n.found?zh({issueId:t,issueTitle:String(e.title??``),format:String(n.format??``),content:String(n.content||``)}):zh({issueId:t,issueTitle:String(e.title??``),message:String(n.message||`Report not found`)}):zh({issueId:t,issueTitle:String(e.title??``),error:String(n.error||`Could not read report`)})}).catch(n=>{zh({issueId:t,issueTitle:String(e.title??``),error:String(n?.message||`Could not read report`)})})}function j4(){let e=p(`div`,`radar-issue-actions`),t=p(`span`,`radar-issue-action-status`);t.setAttribute(`role`,`status`),e.append(t);let n=[],r=null,i=()=>{r?.remove(),r=null},a=t=>{i(),r=t,e.append(t)},o=e=>{for(let t of n)t.disabled=e};return{addButton:(r,i,a)=>{let o=p(`button`,`radar-issue-action`,r);return o.type=`button`,o.title=i,o.addEventListener(`click`,e=>{e.stopPropagation(),a()}),n.push(o),e.insertBefore(o,t),o},request:(e,n,r,a,s,c=null)=>{g4.begin(e),o(!0),i(),t.dataset.tone=`busy`,t.textContent=a;let l=(n,r)=>{o(!1),i(),t.dataset.tone=n,t.textContent=r,g4.settle(e)};hm(n,r).then(e=>{e.ok?(l(`ok`,s(e)),c&&c(e)):l(`error`,String(e.error||`Request failed`))}).catch(e=>l(`error`,String(e?.message||`Request failed`)))},showFollowUp:a,wrap:e}}function Wle(e){let t=p(`button`,`radar-issue-action radar-open-trace`,`Open trace`);return t.type=`button`,t.title=`Open the session trace`,t.addEventListener(`click`,t=>{t.stopPropagation(),iue(e)}),t}function Gle(e,t,n){let{addButton:r,request:i,showFollowUp:a,wrap:o}=j4(),s=(n,r,a,o,s=null)=>i(`${n}:${e.issueId}`,n,{projectId:t,issueId:e.issueId,...r},a,o,s);return e.inFlight&&r(`View investigation`,`Watch the running investigation`,()=>O4(e,t,n)),e.inFlight||r(`Open session`,`Paste an investigation prompt into the mapped project session`,()=>{s(`radar-open-session`,{},`Opening session`,e=>e.pending?`Starting ${String(e.sessionName||`session`)}; the prompt lands when it is up`:`Prompt pasted into ${String(e.sessionName||`the session`)}; press Enter there`,e=>{typeof e.sessionId==`string`&&p4&&a(Wle(e.sessionId))})}),r(`Resolve`,`Mark this issue resolved in PostHog`,()=>{s(`radar-issue-action`,{action:`resolve`},`Resolving in PostHog`,()=>`Marked resolved`)}),r(`Suppress`,`Suppress this issue in PostHog`,()=>{s(`radar-issue-action`,{action:`suppress`},`Suppressing in PostHog`,()=>`Marked suppressed`)}),o}function M4(e){return pg()?Lle:e}function N4(e){let t=b4.get(e);t&&(e.title=t(),e.setAttribute(`aria-label`,e.title))}function Kle(){if(d4)for(let e of d4.querySelectorAll(`.radar-issue-reportable`))N4(e)}hg(Kle);function P4(e,t,n){e.classList.add(`radar-issue-reportable`),e.tabIndex=0,e.setAttribute(`role`,`button`),b4.set(e,t),N4(e),e.addEventListener(`click`,e=>{e.target instanceof Element&&(e.target.closest(`a, button`)||n())}),e.addEventListener(`keydown`,t=>{t.target===e&&(t.key===`Enter`||t.key===` `)&&(t.preventDefault(),n())})}function qle(e,t,n){let r=p(`div`,`radar-issue`);r.dataset.severity=sre(e.change);let i=p(`span`,`radar-stripe`);i.setAttribute(`aria-hidden`,`true`);let a=p(`span`,`radar-change`,Rle[e.change??``]||String(e.change||`unknown`)),o=b(`radar-issue-title`,String(e.title||`Untitled issue`),e.url,String(e.title||``)),s=p(`span`,`radar-metric`);s.append(p(`span`,`radar-metric-value`,T4(e.occurrences)),p(`span`,`radar-metric-label`,`occ`));let c=p(`span`,`radar-metric`);c.append(p(`span`,`radar-metric-value`,T4(e.users)),p(`span`,`radar-metric-label`,`users`));let l=dre(e.history),u=fre(l,64,16),d=u?document.createElementNS(m4,`svg`):null;if(d){d.classList.add(`radar-sparkline`),d.setAttribute(`viewBox`,`0 0 64 16`),d.setAttribute(`width`,`64`),d.setAttribute(`height`,`16`),d.setAttribute(`role`,`img`),d.setAttribute(`focusable`,`false`);let e=document.createElementNS(m4,`title`);e.textContent=mre(l);let t=document.createElementNS(m4,`polyline`);t.setAttribute(`points`,u),d.append(e,t)}let f=Eh(e),m=p(`span`,`radar-issue-copy`);m.append(o);let h=null;f&&(h=p(`span`,`radar-issue-summary`),h.textContent=f,m.append(h)),y4.set(D4(t,e.issueId),{copy:m,summary:h});let g=p(`span`,`radar-issue-meta`),_=cre(e);if(_!==null){let e=p(`span`,`radar-issue-seen`);e.title=new Date(_).toLocaleString(),x4.track(e,_,bh),g.append(e)}let v=lre(e);v&&g.append(p(`span`,`radar-issue-status`,v));let y=String(e.title||e.issueId);if(e.inFlight){let i=p(`span`,`radar-verdict`,`investigating`);i.dataset.verdict=`INVESTIGATING`,g.append(i);let a=typeof e.startedAt==`number`?e.startedAt:null;if(a!==null&&Number.isFinite(a)&&a>0){let e=p(`span`,`radar-issue-elapsed`);x4.track(e,a,Hle),g.append(e)}E4(e)&&P4(r,()=>`Watch the investigation of ${M4(y)}`,()=>O4(e,t,n))}if(!e.inFlight&&e.verdict){let t=p(`span`,`radar-verdict`,Ah(e.verdict));t.dataset.verdict=e.verdict,g.append(t),E4(e)&&P4(r,()=>`View investigation report for ${M4(y)}`,()=>A4(e))}g.childElementCount>0&&m.append(g);let ee=p(`span`,`radar-issue-trend`);d&&ee.append(d);let x=pre(l);if(x){let e=p(`span`,`radar-delta`,`${x.direction===`up`?`+`:x.direction===`down`?`-`:`=`}${x.percent}%`);e.dataset.direction=x.direction,ee.append(e)}let te={stripe:i,change:a,copy:m,occurrences:s,users:c,trend:ee};return w4(r,e=>te[e.columnId]),E4(e)&&r.append(Gle(e,t,n)),r}var F4=(e,t,n)=>re(`radar`,e,t,n);function Jle(e){return e.error?`poll failed: ${e.error}`:e.staleMs>0?`stale ${yh(e.staleMs)}`:``}function I4(e,t,{showHost:n,nameTag:r,nameClass:i,hostClass:a}){let o=p(r,i,Ph(t));o.title=String(t.name||``),e.append(o);let s=n?Fh(t.host):``;s&&e.append(p(`span`,a,s))}function Yle(){let e=C4(`radar-column-heads`);for(let t of S4){if(!t.headText){e.append(p(`span`));continue}let n=p(`span`,`radar-column-head`,t.headText);n.dataset.column=t.columnId,e.append(n)}return e}function Xle(e,t){let n=e.project,r=p(`div`,`radar-project`),i=Ere(n.issues),a=Nh(i),o=p(`div`,`radar-project-head`);I4(o,n,{showHost:t,nameTag:`h3`,nameClass:`radar-project-name`,hostClass:`radar-project-host`}),r.append(o);let s=p(`div`,`radar-project-summary`);s.append(F4(a.active===1?`active issue`:`active issues`,T4(a.active))),s.append(F4(`spiking`,T4(a.spiking),a.spiking>0?`crit`:null)),s.append(F4(`needs you`,T4(a.needsHuman),a.needsHuman>0?`warn`:null));let c=Jle(e);if(c){let t=p(`span`,`radar-project-alert`,c);t.dataset.tone=e.error?`crit`:`warn`,s.append(t)}if(r.append(s),i.length===0)return r;r.append(Yle());let l=C4(`radar-issues`);for(let e of i)l.append(qle(e,n.projectId,Ph(n)));return r.append(l),r}function Zle(e,t){let n=e.project,r=p(`div`,`radar-quiet-row`),i=p(`span`,`radar-quiet-dot`);return i.setAttribute(`aria-hidden`,`true`),r.append(i),I4(r,n,{showHost:t,nameTag:`span`,nameClass:`radar-quiet-name`,hostClass:`radar-quiet-host`}),r.append(p(`span`,`radar-quiet-count`,`0 issues`)),r}var L4=(e,t)=>S(`radar`,e,t);function Qle(){let e=p(`div`,`radar-issue`);return e.dataset.skeleton=``,w4(e,e=>p(`span`,e.cellClass)),e}function $le(){let e=C4(`radar-issues`);e.setAttribute(`aria-busy`,`true`),e.setAttribute(`aria-label`,`Loading issues`);for(let t=0;t<5;t+=1)e.append(Qle());return e}function eue(e,t=`ready`){let n=L4(`Errors`);if(t===`pending`)return n.append($le()),n;if(t===`placeholder`||e.length===0){let e=p(`p`,`radar-unconfigured`,ire(u4)),t=CV(`lanes-posthog`,`posthog-enabled`,`PostHog settings`);return e.append(document.createTextNode(` `),t),n.append(e),n}let r=p(`div`,`radar-global-tick`),i=Number(u4?.intervalMinutes);x4.track(r,u4?.ts,e=>{let t=`polled ${bh(e)}`;return!Number.isFinite(i)||i<=0?t:`${t}, every ${i}m`}),n.append(r);let a=i>0?i*6e4:0,{loud:o,quiet:s}=bre(e,Date.now(),{intervalMs:a}),c=vre(e);for(let e of o)n.append(Xle(e,c));if(s.length===0)return n;let l=p(`div`,`radar-quiet`);for(let e of s)l.append(Zle(e,c));return n.append(l),n}function tue(e){let{addButton:t,request:n,wrap:r}=j4();return e.issueId&&t(`Open report`,`Open the investigation report for this issue`,()=>{A4({issueId:e.issueId,title:e.title})}),t(`Archive`,`Remove this investigation from the inbox`,()=>{n(`archive:${e.id}`,`radar-archive-investigation`,{id:e.id},`Archiving`,()=>`Archived`,()=>_4.add(e.id))}),r}function nue(e){let t=p(`div`,`radar-investigation`),n=p(`span`,`radar-verdict`,Ah(e.verdict));n.dataset.verdict=e.verdict;let r=b(`radar-issue-title`,e.title,e.url),i=p(`span`,`radar-issue-copy`);if(i.append(r),e.summaryLine){let t=p(`span`,`radar-issue-summary`);t.textContent=e.summaryLine,i.append(t)}if(e.prUrl){let t=p(`a`,`radar-investigation-pr`,`fix PR`);t.href=e.prUrl,t.target=`_blank`,t.rel=`noopener`,t.title=e.prUrl,i.append(t)}if(t.append(n),e.mode===`fix`){let e=p(`span`,`radar-verdict`,`fix`);e.dataset.mode=`fix`,t.append(e)}if(t.append(i),e.projectLabel){let n=p(`span`,`radar-investigation-project`);n.textContent=e.projectLabel,t.append(n)}if(e.at>0){let n=p(`span`,`radar-investigation-time`,bh(e.at));n.title=new Date(e.at).toLocaleString(),t.append(n)}return t.append(tue(e)),t}function rue(e){let t=L4(`Investigations`,`completed, not yet archived`),n=p(`div`,`radar-investigations`);for(let t of e)n.append(nue(t));return t.append(n),t}function iue(e){p4&&p4(e)}function R4(){if(!d4)return;d4.textContent=``,y4.clear(),x4.reset();let e=C(u4),t=xre(u4,_4),n=ore(u4,e.length);d4.append(eue(e,n)),t.length>0&&d4.append(rue(t))}function z4(){g4.request()}function B4(){f4&&f4(h4.refresh())}function aue(){h4.acknowledge(),B4()}function oue(e){f4=e,B4()}function sue(e){p4=e}function cue(e){if(d4)return d4;let t=p(`div`,`radar-content`);return e.appendChild(t),d4=t,x4.ensure(),R4(),t}function lue(e){u4=e,Sre(u4,_4),z4(),B4(),k4()}function uue(e){let t=Oh(u4,e.projectId,e.issueId)?.inFlight===!0;if(!$ne(u4,e))return;k4();let n=Oh(u4,e.projectId,e.issueId);t&&Ule(e.projectId,e.issueId,n)||z4()}function due(e){v4?.dialog.isOpen()&&ere(v4,e)&&v4.dialog.update(kh(e))}function fue(e){tre(u4,e)?(k4(),z4(),B4()):due(e)}function V4(e){return{skipPerms:e.skipPerms??e.dangerouslySkipPermissions??!1,saneYolo:e.saneYolo===!0,worktree:e.worktree??e.isWorktree??!1,workspace:e.workspace??e.isWorkspace??!1,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}}var pue=[{name:`glimmervoid`,state:a.RUNNING,awaitingBackgroundTasks:!1},{name:`glimmervoid (2)`,state:a.RUNNING,awaitingBackgroundTasks:!0},{name:`api`,state:a.WAITING,awaitingBackgroundTasks:!1},{name:`docs-site`,state:a.IDLE,awaitingBackgroundTasks:!1}];function mue(){let e=p(`div`,`compact-status-preview`);e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,`Example sidebar sessions showing how status appears with this setting`);for(let t of pue){let{pill:n,refs:r}=gB(`div`,`focus-pill compact-status-preview-pill`);r.name.textContent=t.name,_B(n,r,t.state,t.awaitingBackgroundTasks),e.append(n)}return e}var H4=null,U4=null,W4=null,G4=null,K4=-1,q4=null,J4=1;function Y4(){if(!H4||q4===null)return;let e=ef({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:q4});h(H4,tf(e,J4))}function X4(){G4!==null&&(clearTimeout(G4),G4=null)}function Z4(e=Vf()){return Kd({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:vw(),options:Ap()})}function Q4(e,t){if(!H4||!U4||!W4||Z4())return;let n=Ap();X4();let r=Gd(n,K4,Math.random,t);if(H4.onanimationend=null,H4.style.animation=`none`,!r){G4=setTimeout(()=>Q4(!1),1e3);return}q4=r.verticalProgress,J4=n.flyingAnimalsScale,Y4();let i=zd[r.animalIndex];U4.className=`nyan-sprite ${i.sprite}`,W4.className=`nyan-trail ${i.trail}`,K4=r.animalIndex,H4.offsetWidth,H4.style.animation=`nyan-fly ${r.durationSeconds}s linear`,e&&(H4.style.animationDelay=`-${r.firstDelaySeconds}s`),H4.onanimationend=e=>{H4&&e.target===H4&&(H4.onanimationend=null,H4.style.animation=`none`,G4=setTimeout(()=>Q4(!1),r.gapMs))}}function $4(){H4||Z4()||(H4=document.createElement(`div`),H4.className=`nyan-flight`,H4.setAttribute(`aria-hidden`,`true`),W4=document.createElement(`div`),U4=document.createElement(`div`),H4.append(W4,U4),document.body.appendChild(H4),window.addEventListener(`resize`,Y4),window.addEventListener(`orientationchange`,Y4),Q4(!0))}function hue(e){$4(),Q4(!1,e)}function e3(){X4(),window.removeEventListener(`resize`,Y4),window.removeEventListener(`orientationchange`,Y4),H4?.remove(),H4=null,U4=null,W4=null,K4=-1,q4=null}var t3=!1;function n3(e){let t=document.documentElement;if(t3||(t3=!0,yw(()=>n3(Vf())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>n3(Vf()))),e){if(t.dataset.flyingAnimals=`true`,Z4(e)){e3();return}$4()}else delete t.dataset.flyingAnimals,e3()}function gue(){let e=p(`div`),t=p(`p`,`flying-animals-status`);t.id=`flying-animals-gallery-status`,t.setAttribute(`role`,`status`);let n=p(`div`,`flying-animals-gallery`);n.setAttribute(`aria-label`,`Animal gallery`);let r=[],i=()=>{let e=Z4(),n=Ud(Ap().flyingAnimalsExcludedSprites);t.textContent=[e,n?``:`No animals are included, so automatic flights are paused.`].filter(Boolean).join(` `);for(let t of r)t.disabled=e!==null},a=Ap();for(let e of zd){let o=p(`article`,`flying-animal-tile`),s=Pp(e),c=p(`label`,`flying-animal-include`),l=p(`input`,`settings-view-checkbox`);l.type=`checkbox`,l.checked=!a.flyingAnimalsExcludedSprites.includes(e.sprite),l.setAttribute(`aria-label`,`Include ${e.name}`),l.addEventListener(`change`,()=>{let t=new Set(Ap().flyingAnimalsExcludedSprites);l.checked&&t.delete(e.sprite),l.checked||t.add(e.sprite),kp([...t]),n3(Vf()),i()}),c.append(l,document.createTextNode(`Include`));let u=p(`button`,`btn-dialog btn-dialog-cancel`,`Fly now`);u.type=`button`,u.setAttribute(`aria-describedby`,t.id),u.addEventListener(`click`,()=>hue(e.sprite)),r.push(u),o.append(s,p(`h2`,`flying-animal-name`,e.name),c,u),n.append(o)}return i(),e.append(t,n),e}var r3=`johncwaters/glimmervoid`,i3={maxConcurrentInvestigations:Math.ceil,minUsersToInvestigate:Math.ceil,userEscalationThreshold:Math.ceil,trafficSpikeMinUsers:Math.ceil,trafficSpikeBaselineDays:Math.floor};[...Object.entries(i3).map(([e,t])=>({path:[`posthog`,e],min:1,round:t}))];var a3=Object.freeze([`auto`,`calculate`,`display`]),_ue=Object.freeze([`codex`,`grok`]),vue=Object.freeze([`dailyUsd`,`monthlyUsd`]),o3=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),yue=Object.freeze([`notify`,`spawn`,`label`,`comment`]),s3=2e4,c3=65536,l3=50,bue=/^[a-z0-9][a-z0-9-]{0,63}$/,xue=/[\x00-\x1f\x7f,]|^-/,u3=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return M({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},d3=N({error:`workflows.enabled must be a boolean`}),f3=u3(`workflows.maxConcurrentSessions`,Ld),p3=u3(`workflows.maxActionsPerPoll`,Rd),m3=(e,t)=>P(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),h3=j({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(l3,{error:`a workflow label name must be at most ${l3} characters`}).refine(e=>!xue.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),Sue=j({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(c3,{error:`a workflow comment body must be at most ${c3} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Cue=L(o3,{error:`workflows.rules[].trigger must be one of ${o3.join(`, `)}`}),wue=Po(`type`,[I({type:R(`notify`)}),I({type:R(`spawn`),promptTemplate:j({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(s3,{error:`a spawn action promptTemplate must be at most ${s3} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),I({type:R(`label`),name:h3}),I({type:R(`comment`),body:Sue})],{error:`workflows.rules[].actions[].type must be one of ${yue.join(`, `)}`}),Tue=I({mine:N({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:N({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:m3(`workflows.rules[].filters.authors`,j({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(hs,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:m3(`workflows.rules[].filters.labels`,h3).optional(),baseBranches:m3(`workflows.rules[].filters.baseBranches`,j({error:`workflows.rules[].filters.baseBranches must hold branch names`}).min(1,{error:`workflows.rules[].filters.baseBranches must hold branch names`})).optional()},{error:`workflows.rules[].filters must be an object`}),g3=j({error:`workflows.rules[].id must be a string`}).regex(bue,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),_3=N({error:`workflows.rules[].enabled must be a boolean`}),Eue=I({id:g3,name:j({error:`workflows.rules[].name must be a string`}).trim().min(1,{error:`workflows.rules[].name must not be empty`}).max(80,{error:`workflows.rules[].name must be at most 80 characters`}),enabled:_3.default(!1),repos:m3(`workflows.rules[].repos`,yc),filters:Tue.default({}),trigger:Cue,actions:m3(`workflows.rules[].actions`,wue)},{error:`workflows.rules[] must be an object`}),v3=I({enabled:d3.default(!0),maxConcurrentSessions:f3.default(2),maxActionsPerPoll:p3.default(20),rules:P(Eue,{error:`workflows.rules must be an array`}).default([])},{error:`workflows must be an object`}).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.rules.entries())n.has(i.id)?t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`}):n.add(i.id)}),Due=I({id:g3,enabled:_3},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});I({enabled:d3.optional(),maxConcurrentSessions:f3.optional(),maxActionsPerPoll:p3.optional(),rules:P(Due,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var y3=M().int().nonnegative(),Oue=L([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable();Sne.extend({author:F({login:j()}).nullable(),labels:F({nodes:P(F({name:j()}))}),comments:F({totalCount:y3})});var kue=I({polledAtMs:y3,prs:P(I({repo:yc,number:M().int().positive(),title:j(),url:bo(),author:j().nullable(),state:L([`OPEN`,`MERGED`,`CLOSED`]),createdAt:j(),mergedAt:j().nullable(),isDraft:N(),isCrossRepository:N(),baseRefName:j(),headRefName:j().min(1),headRefOid:z,labels:P(j()),commentCount:y3,reviewRequests:P(j()),checksState:Oue,reviewDecision:L([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}))});I({repos:Ro(j().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),kue)});var b3=e=>N({error:`${e} must be a boolean`}).optional(),x3=(e,t=!1)=>{let n=j({error:`${e} must be a string`});return(t?n.transform(e=>e.trim()):n).optional()},S3=e=>e.label?e.label:e.max==null?e.exclusiveMin?`greater than ${e.min}`:`at least ${e.min}`:`between ${e.min} and ${e.max}`,C3=(e,t=ed)=>M({error:`${e} must be ${S3(t)}`}).finite().refine(e=>!t.exclusiveMin||e>t.min,{message:`${e} must be ${S3(t)}`}).refine(e=>t.exclusiveMin||e>=t.min,{message:`${e} must be ${S3(t)}`}).refine(e=>t.max==null||e<=t.max,{message:`${e} must be ${S3(t)}`}).optional(),w3=(e,t)=>C3(e,t).unwrap().int({error:`${e} must be a whole number ${S3(t)}`}).optional(),T3=(e,t)=>M({error:`${e} must be an integer between ${t.min} and ${t.max}`}).int({error:`${e} must be an integer between ${t.min} and ${t.max}`}).min(t.min,{error:`${e} must be an integer between ${t.min} and ${t.max}`}).max(t.max,{error:`${e} must be an integer between ${t.min} and ${t.max}`}).optional(),E3=(e,t)=>F(t,{error:`${e} must be an object`}).nullable().optional(),D3=Object.freeze([`claude`,`codex`]),Aue=Object.freeze([`release`,`main`]),O3=Object.freeze([`report`,`fix`]);E3(`changeMap`,{narrator:E3(`changeMap.narrator`,{enabled:b3(`changeMap.narrator.enabled`),engine:L(D3,{error:`changeMap.narrator.engine must be one of ${D3.join(`, `)}`}).optional(),model:x3(`changeMap.narrator.model`,!0),timeoutSeconds:T3(`changeMap.narrator.timeoutSeconds`,Fd)})}),F({refiner:F({enabled:b3(`taskTitle.refiner.enabled`),model:x3(`taskTitle.refiner.model`,!0),minIntervalSeconds:C3(`taskTitle.refiner.minIntervalSeconds`,{min:0}),timeoutSeconds:C3(`taskTitle.refiner.timeoutSeconds`,cd)},{error:`taskTitle.refiner must be an object`}).nullable().optional()},{error:`taskTitle must be an object`}).nullable().optional();var k3={enabled:b3(`branchGc.enabled`),worktrees:b3(`branchGc.worktrees`),prefixes:P(j({error:`branchGc.prefixes must be an array of strings`}).min(1,{error:`branchGc.prefixes entries must be non-empty strings`}),{error:`branchGc.prefixes must be an array of strings`}).optional(),dryRun:b3(`branchGc.dryRun`),staleDays:C3(`branchGc.staleDays`,ld),deleteUnmerged:b3(`branchGc.deleteUnmerged`),intervalMs:C3(`branchGc.intervalMs`,ud)},jue=F(k3,{error:`branchGc must be an object`});E3(`branchGc`,k3),jue.omit({prefixes:!0,dryRun:!0,worktrees:!0}).nullable().optional(),Object.freeze([`enabled`,`deleteUnmerged`]),Object.freeze([`staleDays`,`intervalMs`]),E3(`postTurnChecks`,{mode:L(O3,{error:`postTurnChecks.mode must be one of report, fix`}).optional()}),E3(`visions`,{enabled:b3(`visions.enabled`),autoFix:b3(`visions.autoFix`),projects:P(j({error:`visions.projects must be an array of strings`}),{error:`visions.projects must be an array of strings`}).optional(),dispatch:E3(`visions.dispatch`,{enabled:b3(`visions.dispatch.enabled`),model:x3(`visions.dispatch.model`,!0),quietMs:w3(`visions.dispatch.quietMs`,dd),cooldownMs:w3(`visions.dispatch.cooldownMs`,fd),maxPerHour:w3(`visions.dispatch.maxPerHour`,pd),activityMaxPerHour:w3(`visions.dispatch.activityMaxPerHour`,md),dispatchTimeoutSeconds:w3(`visions.dispatch.dispatchTimeoutSeconds`,hd)}),intent:E3(`visions.intent`,{threadTtlMs:w3(`visions.intent.threadTtlMs`,gd)})}),F({teams:P(j({error:`github.teams must be an array of org/slug strings`}).refine(e=>vs(e)!==null,{message:`github.teams entries must be org/slug with valid GitHub segments`}),{error:`github.teams must be an array of org/slug strings`}).optional()},{error:`github must be an object`}).nullable().optional(),E3(`teamReview`,{enabled:b3(`teamReview.enabled`),autoRebaseMyPrs:b3(`teamReview.autoRebaseMyPrs`),keepMergeableEnabled:b3(`teamReview.keepMergeableEnabled`),mergeQueueEnabled:b3(`teamReview.mergeQueueEnabled`),keepMergeableTimeoutMinutes:T3(`teamReview.keepMergeableTimeoutMinutes`,Id),org:x3(`teamReview.org`,!0),team:x3(`teamReview.team`,!0),skill:x3(`teamReview.skill`,!0),reReviewAfterHours:C3(`teamReview.reReviewAfterHours`),skipIdleAfterDays:C3(`teamReview.skipIdleAfterDays`)}),E3(`benchmarks`,{enabled:b3(`benchmarks.enabled`)}),F({enabled:b3(`factory.enabled`),maxRisk:Rc.optional(),maxLiveWorkers:M().int().min($u.min).optional(),checks:P(j().trim().min(1)).optional(),protectedPaths:P(j().trim().min(1)).optional(),reviewerModel:j().trim().min(1).nullable().optional(),dailyBudgetUsd:M().finite().nonnegative().nullable().optional(),verifierModel:j().trim().min(1).nullable().optional(),mirrorHarnessRuns:b3(`factory.mirrorHarnessRuns`)}).nullable().optional(),E3(`knowledgeGraph`,{enabled:b3(`knowledgeGraph.enabled`)});var Mue={intervalMinutes:_d,maxConcurrentInvestigations:vd,investigationTimeoutSeconds:yd,fixTimeoutSeconds:wd,minUsersToInvestigate:bd,userEscalationThreshold:xd,recurrenceWindowDays:Sd,transientRecurrenceLimit:Cd,trafficSpikeMultiplier:Td,trafficSpikeMinUsers:Ed,trafficSpikeCooldownMinutes:Dd,trafficSpikeBaselineDays:Od};E3(`posthog`,{enabled:b3(`posthog.enabled`),recurrenceDedupe:b3(`posthog.recurrenceDedupe`),trafficSpikeEnabled:b3(`posthog.trafficSpikeEnabled`),autoFix:b3(`posthog.autoFix`),host:x3(`posthog.host`,!0).refine(e=>e==null||!e||/^https?:\/\//i.test(e),{message:`posthog.host must be an http(s) URL`}),apiKey:x3(`posthog.apiKey`,!0),repoPath:x3(`posthog.repoPath`,!0),projects:Mo([R(`all`),P(M({error:`posthog.projects must be "all" or an array of positive integer project ids`}).int({error:`posthog.projects must be "all" or an array of positive integer project ids`}).positive({error:`posthog.projects must be "all" or an array of positive integer project ids`}),{error:`posthog.projects must be "all" or an array of positive integer project ids`})],{error:`posthog.projects must be "all" or an array of positive integer project ids`}).optional(),projectMap:Ro(j(),To(),{error:`posthog.projectMap must be an object`}).optional(),...Object.fromEntries(Object.entries(Mue).map(([e,t])=>[e,Object.hasOwn(i3,e)?w3(`posthog.${e}`,t):C3(`posthog.${e}`,t)]))}),`${a3.join(`, `)}`,Object.fromEntries(_ue.map(e=>[e,b3(`usage.vendors.${e}`)])),Object.fromEntries(vue.map(e=>[e,M({error:`usage.budget.${e} must be a positive number or null`}).positive({error:`usage.budget.${e} must be a positive number or null`}).nullable().optional()])),E3(`telegram`,{botToken:x3(`telegram.botToken`,!0),chatId:x3(`telegram.chatId`,!0)}),F({enabled:b3(`ingest.enabled`)},{error:`ingest must be an object`}).passthrough().optional(),F({enabled:b3(`trace.enabled`)},{error:`trace must be an object`}).optional(),F({enabled:b3(`planReview.enabled`)},{error:`planReview must be an object`}).optional();var A3=e=>P(j({error:`${e} must be an array of paths`}).trim().min(1,{error:`${e} must be an array of paths`}),{error:`${e} must be an array of paths`}).optional();F({unguardedRepos:A3(`guardrails.unguardedRepos`),blockedPaths:A3(`guardrails.blockedPaths`),unreadablePaths:A3(`guardrails.unreadablePaths`)},{error:`guardrails must be an object`}).passthrough().optional();var j3={enabled:b3(`telemetry.enabled`)};F(j3,{error:`telemetry must be an object`}).strict().optional(),F(j3,{error:`telemetry must be an object`}).passthrough().optional();var M3={scope:`browser`,access:`editable`,takesEffect:`now`},N3={scope:`browser`,access:`advanced`,takesEffect:`now`},X={scope:`machine`,access:`editable`,takesEffect:`now`},P3={scope:`machine`,access:`editable`,takesEffect:`new-sessions`},F3={scope:`machine`,access:`readout`,takesEffect:`now`},Z={scope:`machine`,access:`file-only`},I3=1e3,L3=60,R3=60,z3=I3*L3,B3=z3*R3,Nue=B3*24,Pue={label:`investigations`,storedPerDisplay:1},Fue={label:`sessions`,storedPerDisplay:1},Iue={label:`workers`,storedPerDisplay:1},Lue={label:`recurrences`,storedPerDisplay:1},Rue={label:`actions`,storedPerDisplay:1},V3={label:`seconds`,storedPerDisplay:1},H3={label:`minutes`,storedPerDisplay:1},U3={label:`hours`,storedPerDisplay:1},W3={label:`days`,storedPerDisplay:1},zue={label:`ms`,storedPerDisplay:1},G3={label:`seconds`,storedPerDisplay:I3,storedLabel:`ms`},K3={label:`minutes`,storedPerDisplay:z3,storedLabel:`ms`},q3={label:`minutes`,storedPerDisplay:L3,storedLabel:`seconds`},Bue={label:`hours`,storedPerDisplay:B3,storedLabel:`ms`},Vue={label:`hours`,storedPerDisplay:R3,storedLabel:`minutes`},Hue={label:`days`,storedPerDisplay:Nue,storedLabel:`ms`},J3={label:`USD`,storedPerDisplay:1},Y3={label:`users`,storedPerDisplay:1},X3={label:`reviews per hour`,storedPerDisplay:1},Z3={label:`times`,storedPerDisplay:1},Q=`A tuning knob kept out of the Settings view; the default suits almost every install.`,Q3=`A diagnostic switch kept out of the Settings view; change it in config.json while investigating.`,$3=`Changes how the server process or its worktrees behave, so it is set in config.json with a restart or new sessions in mind.`,e6=`A structured value with no dashboard control; edit it in config.json.`,t6=`Never editable from the dashboard by rule; edit it in config.json.`,n6=`lanes`;function r6(e){return e.map(e=>({value:e,label:e[0].toUpperCase()+e.slice(1)}))}var Uue=Object.freeze({"machine-terminal":{title:`Terminal`,description:`Terminal behavior shared by dashboard clients.`},"machine-detection-sessions":{title:`Detection and sessions`,description:`Config-file-only detection, timing, worktree and process settings.`},"lanes-ingest":{title:`Ingest`,description:`The machine-context sources behind Visions.`}}),i6=Object.freeze([{id:`browser-appearance`,level:`browser`,title:`Appearance`,description:`How this browser draws the dashboard.`,legacyIds:[`browser-flying-animals`,`animals`,`flying-animals`],settings:[{id:`theme`,path:`pref:themeId`,title:`Theme`,description:`Color scheme for the dashboard.`,control:`select`,optionsFrom:`themes`,keywords:[`color`,`palette`],defaultValue:`phyrexian`,...M3},{id:`compact-status`,path:`pref:compactStatusLabels`,title:`Hide status words in sidebar`,description:`Hide status words in the sidebar and on the phone Board while keeping the colored status mark and the phone Plan ready badge.`,control:`toggle`,keywords:[`sidebar`,`status`,`compact`],defaultValue:!1,...M3},{id:`session-usage-chips`,path:`pref:sessionUsageChips`,title:`Show usage on session cards`,description:`Shows each card's transcript token count and CLI-reported cost when available, otherwise a calculated API list-price estimate.`,control:`toggle`,keywords:[`usage`,`cost`,`tokens`,`card`,`price`],defaultValue:!1,...M3},{id:`flying-animals`,path:`pref:flyingAnimalsEnabled`,title:`Flying animals`,description:`Show animated animals flying across the dashboard.`,control:`toggle`,keywords:[`animation`,`motion`,`animals`],defaultValue:!1,...M3},{id:`animals-min-gap`,path:`pref:flyingAnimalsMinGapSeconds`,title:`Time between flights: minimum`,description:`Shortest pause between flights.`,control:`number`,integer:!1,step:.1,range:nd,unit:V3,maximumSettingId:`animals-max-gap`,keywords:[`animals`,`frequency`],defaultValue:ad.flyingAnimalsMinGapSeconds,...N3},{id:`animals-max-gap`,path:`pref:flyingAnimalsMaxGapSeconds`,title:`Time between flights: maximum`,description:`Longest pause between flights.`,control:`number`,integer:!1,step:.1,range:nd,unit:V3,keywords:[`animals`,`frequency`],defaultValue:ad.flyingAnimalsMaxGapSeconds,...N3},{id:`animals-min-duration`,path:`pref:flyingAnimalsMinDurationSeconds`,title:`Flight duration: minimum`,description:`Shortest flight, for faster animals.`,control:`number`,integer:!1,step:.1,range:rd,unit:V3,maximumSettingId:`animals-max-duration`,keywords:[`animals`,`speed`],defaultValue:ad.flyingAnimalsMinDurationSeconds,...N3},{id:`animals-max-duration`,path:`pref:flyingAnimalsMaxDurationSeconds`,title:`Flight duration: maximum`,description:`Longest flight, for slower animals.`,control:`number`,integer:!1,step:.1,range:rd,unit:V3,keywords:[`animals`,`speed`],defaultValue:ad.flyingAnimalsMaxDurationSeconds,...N3},{id:`animals-scale`,path:`pref:flyingAnimalsScale`,title:`Size multiplier`,description:`Scale applied on top of the viewport size.`,control:`number`,integer:!1,step:.1,range:id,unit:Z3,keywords:[`animals`,`size`],defaultValue:ad.flyingAnimalsScale,...N3},{id:`animals-on-phone`,path:`pref:flyingAnimalsOnPhone`,title:`Show on phone layout`,description:`Allow flights on the phone layout.`,control:`toggle`,keywords:[`animals`,`mobile`],defaultValue:ad.flyingAnimalsOnPhone,...N3}]},{id:`browser-notifications`,level:`browser`,title:`Notifications`,description:`How this browser, and the Telegram bot shared by every lane, get your attention.`,settings:[{id:`alert-sounds-enabled`,path:`pref:soundEnabled`,title:`Alert sounds`,legacyIds:[{sectionId:`browser-appearance`,settingId:`alert-sounds-enabled`}],description:`Play sounds when a session needs attention and when a merge celebration plays. The same switch as the note button in the desktop header.`,control:`toggle`,keywords:[`audio`,`mute`,`sound`,`notification`],defaultValue:!0,...M3},{id:`alert-sound`,path:`pref:soundId`,title:`Alert sound`,legacyIds:[{sectionId:`browser-appearance`,settingId:`alert-sound`}],description:`Sound played when a session needs attention. Your own .ogg, .mp3, .wav, .m4a or .webm files dropped into the sounds folder of the Glimmervoid home (~/.glimmervoid/sounds/, or $GLIMMERVOID_HOME/sounds/) are listed after the built-in sounds. Glimmervoid never creates that folder, so make it yourself; new files show up the next time Settings opens.`,control:`select`,optionsFrom:`sounds`,keywords:[`audio`,`notification`,`custom`],defaultValue:`chime`,...M3},{id:`desktop-notifications`,path:`pref:notificationsEnabled`,title:`Desktop notifications`,legacyIds:[{sectionId:`browser-appearance`,settingId:`desktop-notifications`}],description:`Raise a browser notification when a session needs attention while this dashboard is in the background.`,control:`toggle`,keywords:[`browser`,`attention`],defaultValue:!0,...M3}]},{id:`machine-telegram`,level:`machine`,parent:`browser-notifications`,title:`Telegram`,description:`One bot shared by session, PR review and PostHog notifications.`,legacyIds:[`telegram`,`notifications`],settings:[{id:`telegram-bot-token`,path:`telegram.botToken`,title:`Bot token`,description:`Credential used by the shared Telegram bot. When GLIMMERVOID_TELEGRAM_BOT_TOKEN supplies it, this field is read-only.`,control:`password`,keywords:[`credential`,`api`],defaultValue:``,...X},{id:`telegram-chat-id`,path:`telegram.chatId`,title:`Chat id`,description:`Destination chat for enabled Telegram lanes.`,control:`text`,keywords:[`destination`,`channel`],defaultValue:``,...X},{id:`telegram-session-notifications`,path:`telegramNotifications`,title:`Send session notifications`,description:`Send session completion, input and failure alerts when no dashboard is open. Unacknowledged alerts also escalate after the phone escalation delay while a dashboard remains open.`,control:`toggle`,keywords:[`phone`,`off dashboard`],defaultValue:!1,...X}]},{id:`machine-sessions`,level:`machine`,title:`Sessions`,description:`How sessions start, where projects are found, and what the dashboard shows for them.`,legacyIds:[`machine-general`,`general`,`machine-repositories`,`repos`,`repositories`],settings:[{id:`auto-resume`,path:`autoResume`,title:`Auto-resume sessions on startup`,description:`Resume conversations that were live when Glimmervoid last shut down or crashed.`,control:`toggle`,keywords:[`startup`,`conversation`],defaultValue:!0,...X},{id:`conversation-view`,path:`conversationView`,title:`Conversation view (experimental)`,description:`Let each Claude Code and Codex session turn on a Conversation face from its card menu, which renders the transcript as messages, approvals and a composer. Sessions stay on the terminal until you turn it on for them. A Codex session connects on its next start, through a local app-server so approvals can be answered from the dashboard; sandboxed Codex sessions and those that bypass Codex hook trust keep the terminal only.`,control:`toggle`,keywords:[`experimental`,`transcript`,`chat`,`codex`,`claude`],defaultValue:!1,...X},{id:`streamer-mode`,path:`streamerMode`,title:`Streamer mode`,description:`Hide sensitive details in the dashboard while screen sharing or streaming.`,control:`toggle`,keywords:[`streaming`,`screen share`,`privacy`],defaultValue:!1,...X},{id:`repository-roots`,path:`repoRoots`,title:`Repository roots`,description:`Directories scanned for projects when adding sessions.`,control:`list`,keywords:[`folders`,`project discovery`],defaultValue:[],listPlaceholder:`Repository root path`,listEmptyText:`No repository roots configured.`,...X},{id:`custom-agents`,path:`status:custom-agents`,title:`Custom agents`,description:`Extra agent CLIs a session can be spawned with, declared under customAgents in config.json.`,control:`readonly`,keywords:[`adapters`,`cli`],status:`custom-agents`,...F3}]},{id:`machine-guardrails`,level:`machine`,title:`Guardrails and unattended`,description:`What a guarded session may touch, and which unattended actions automated work may take. Claude Code sessions on Linux and macOS write anywhere this account can, except credentials, Glimmervoid's own state and the blocked folders here.`,legacyIds:[`lanes-unattended`,`unattended`],settings:[{id:`skip-permissions-by-default`,path:`skipPermissionsByDefault`,title:`Skip permission prompts by default`,description:`Start sessions whose project sets no permission choice with the agent CLI permission bypass flag.`,control:`toggle`,keywords:[`permissions`,`yolo`,`dangerously`],danger:!0,warning:`Enabling this control lets agents edit files and run shell commands without asking, and restarts running sessions that inherit it.`,defaultValue:!1,...X},{id:`sane-yolo`,path:`saneYolo`,title:`Sane YOLO`,description:`Block catastrophic commands in sessions that skip permission prompts when the cc-safety-net executable is available and trusted hooks are installed. Missing or untrusted hooks leave a session unprotected.`,control:`toggle`,keywords:[`permissions`,`yolo`,`safety`],defaultValue:!0,...P3},{id:`rtk-compression`,path:`rtk`,title:`rtk output compression`,description:`Compress Bash output with the rtk executable.`,control:`toggle`,keywords:[`bash`,`tokens`],danger:!0,status:`rtk-install`,warning:`Enabling this control permits Glimmervoid to install the pinned rtk executable automatically.`,defaultValue:!1,...P3},{id:`post-turn-checks-mode`,path:`postTurnChecks.mode`,title:`Post-turn checks mode`,description:`Default mode for post-turn checks. Project and individual rule modes override it, so Report can still allow file fixes.`,control:`select`,options:r6(O3),keywords:[`quality`,`fixes`],defaultValue:`report`,...X},{id:`branch-gc-delete-unmerged`,path:`branchGc.deleteUnmerged`,title:`Delete unmerged branches`,description:`Also delete stale remote branches with no merge proof. Off keeps every unmerged branch.`,control:`toggle`,keywords:[`git`,`cleanup`,`orphan`],danger:!0,warning:`Enabling this control lets branch cleanup delete stale remote branches without merge proof.`,defaultValue:!1,...X},{id:`guardrails-unguarded-repos`,path:`guardrails.unguardedRepos`,title:`Unguarded repositories`,description:`Folders whose sessions run without guardrails. A session started in one of these folders, or below it, is not guarded.`,control:`list`,keywords:[`guardrails`,`opt out`,`dotfiles`],danger:!0,warning:`A session without guardrails can read credentials and write anywhere this account can.`,defaultValue:[],listPlaceholder:`Folder path`,listEmptyText:`Every repository is guarded.`,...P3},{id:`guardrails-blocked-paths`,path:`guardrails.blockedPaths`,title:`Blocked folders`,description:`Extra folders and files a guarded session cannot write, on top of credentials and Glimmervoid's own state. A leading ~ means the home folder.`,control:`list`,keywords:[`guardrails`,`block`,`protect`],defaultValue:[],listPlaceholder:`~/folder`,listEmptyText:`Only the built-in list is blocked.`,...P3},{id:`guardrails-unreadable-paths`,path:`guardrails.unreadablePaths`,title:`Unreadable folders`,description:`Extra folders and files a guarded session cannot read, on top of the built-in credential list. A leading ~ means the home folder.`,control:`list`,keywords:[`guardrails`,`secrets`,`credentials`],defaultValue:[],listPlaceholder:`~/folder`,listEmptyText:`Only the built-in credential list is unreadable.`,...P3}]},{id:`machine-updates`,level:`machine`,title:`Updates`,description:`See which Glimmervoid version is running, which one is newest, and update in one step.`,legacyIds:[`updates`],settings:[{id:`update-actions`,path:`status:update-actions`,title:`Status and actions`,legacyIds:[`update-summary`,`update-installed`,`update-latest`,`update-last-checked`].map(e=>({sectionId:`machine-updates`,settingId:e})),description:`Whether this install is up to date, the running and newest versions, the last check, and the update and restart actions.`,control:`readonly`,keywords:[`version`,`available`,`current`,`check`,`restart`,`commit`,`installed`,`release`,`failure`],status:`update-actions`,...F3},{id:`update-channel`,path:`updateChannel`,title:`Channel`,description:`Track tagged releases or the upstream of the checked-out branch.`,control:`select`,options:r6(Aue),keywords:[`release`,`branch`],defaultValue:`release`,...X},{id:`check-updates`,path:`checkForUpdates`,title:`Check for updates automatically`,description:`Check for a newer Glimmervoid at launch, while a dashboard is connected, and when this page opens.`,control:`toggle`,keywords:[`release`,`github`],defaultValue:!0,...X}]},{id:`machine-usage`,level:`machine`,title:`Usage`,description:`Local transcript accounting and estimated-cost budgets.`,legacyIds:[`usage`],settings:[{id:`usage-enabled`,path:`usage.enabled`,title:`Track token usage`,description:`Read local CLI transcripts and roll them into the Usage view and session chips.`,control:`toggle`,keywords:[`tokens`,`cost`],defaultValue:!0,status:`usage-last-report`,...X},{id:`usage-retain-days`,path:`usage.retainDays`,title:`Retain transcript detail`,description:`How long live transcript detail stays available. A monthly budget keeps detail from the start of the current month when that is longer.`,control:`number`,range:Ad,unit:W3,keywords:[`history`,`retention`],defaultValue:90,...X},{id:`usage-daily-budget`,path:`usage.budget.dailyUsd`,title:`Daily budget`,description:`Estimated daily spend alert threshold. Alerts at 50%, 75% and 100% do not stop spending. Zero or below disables the threshold.`,control:`number`,range:Nd,unit:J3,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01,...X},{id:`usage-monthly-budget`,path:`usage.budget.monthlyUsd`,title:`Monthly budget`,description:`Estimated monthly spend alert threshold. Alerts at 50%, 75% and 100% do not stop spending. Zero or below disables the threshold.`,control:`number`,range:Nd,unit:J3,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01,...X}]},{id:n6,level:`lanes`,title:`Lanes`,description:`The background work Glimmervoid runs for you, one sub-section per lane.`,settings:[]},{id:`lanes-visions`,level:`lanes`,parent:n6,title:`Visions`,description:`Editor-buffer findings, bounded model comments, and the machine-context ingest behind them.`,legacyIds:[`visions`,`lanes-ingest`,`ingest`],settings:[{id:`visions-enabled`,path:`visions.enabled`,title:`Enable Visions`,description:`Set up supported editors detected on this machine, then show their buffer findings in the Visions view.`,control:`toggle`,keywords:[`editor`,`findings`,`lsp`],defaultValue:!1,...X},{id:`visions-dispatch-enabled`,path:`visions.dispatch.enabled`,title:`Enable model comments`,description:`Start bounded review sessions for local editor buffers.`,control:`toggle`,keywords:[`review`,`dispatch`],defaultValue:!1,...X},{id:`visions-max-per-hour`,path:`visions.dispatch.maxPerHour`,title:`Max per hour`,description:`Maximum review sessions dispatched per hour. One slot is reserved for edit reviews; activity-driven reviews take the rest, up to the activity cap set by visions.dispatch.activityMaxPerHour.`,control:`number`,range:ed,unit:X3,keywords:[`rate limit`,`reviews`],defaultValue:6,...X},{id:`visions-model`,path:`visions.dispatch.model`,title:`Model override`,description:`Leave blank to use the opus model alias.`,control:`text`,keywords:[`claude`,`override`],defaultValue:``,...X},{id:`visions-projects`,path:`visions.projects`,title:`Projects`,description:`Clear every selection, including unavailable projects, to accept buffers from every configured project.`,control:`projects`,keywords:[`repositories`,`filter`],defaultValue:[],...X},{id:`visions-auto-fix`,path:`visions.autoFix`,title:`Apply tier 1 fixes`,description:`Allow Visions to edit eligible open Markdown buffers, including inactive buffers, without asking.`,control:`toggle`,keywords:[`automatic`,`edits`],danger:!0,warning:`Enabling this control lets Visions edit eligible buffers without a carbon unit present.`,defaultValue:!1,...X},{id:`ingest-enabled`,path:`ingest.enabled`,title:`Enable machine context ingest`,description:`Enable the local activity feed behind Visions. Turning Visions on enables ingest unless ingest.enabled is explicitly false.`,control:`toggle`,keywords:[`events`,`activity`,`ingest`],defaultValue:!1,...X}]},{id:`lanes-posthog`,level:`lanes`,parent:n6,title:`PostHog`,description:`Error monitoring, investigations and traffic-spike alerts.`,legacyIds:[`posthog`],settings:[{id:`posthog-enabled`,path:`posthog.enabled`,title:`Enable PostHog monitoring`,description:`Poll PostHog error tracking and investigate issues that move.`,control:`toggle`,keywords:[`errors`,`monitoring`],defaultValue:!1,...X},{id:`posthog-host`,path:`posthog.host`,title:`Host`,description:`PostHog cloud or self-hosted HTTP URL.`,control:`text`,keywords:[`url`,`server`],defaultValue:`https://us.posthog.com`,...X},{id:`posthog-api-key`,path:`posthog.apiKey`,title:`Personal API key`,description:`Credential with read access to PostHog projects. When GLIMMERVOID_POSTHOG_API_KEY supplies it, this field is read-only.`,control:`password`,keywords:[`credential`,`token`],defaultValue:``,...X},{id:`posthog-projects`,path:`posthog.projects`,title:`Projects`,description:`PostHog project ids to monitor. config.json holds "all" or an array of ids, and an empty array monitors no project. In Settings that empty array shows as none, and an empty list saves "all".`,control:`list`,keywords:[`project ids`,`filter`],defaultValue:`all`,valueKind:`posthog-projects`,listPlaceholder:`Project id`,listEmptyText:`Every project the key can read.`,...X},{id:`posthog-interval`,path:`posthog.intervalMinutes`,title:`Poll interval`,description:`Delay between PostHog polling passes.`,control:`number`,integer:!1,step:`any`,range:ed,unit:H3,keywords:[`refresh`,`schedule`],defaultValue:15,...X},{id:`posthog-max-investigations`,path:`posthog.maxConcurrentInvestigations`,title:`Max concurrent investigations`,description:`Maximum investigation sessions running together.`,control:`number`,range:ed,unit:Pue,keywords:[`parallel`,`workers`],defaultValue:2,...X},{id:`posthog-min-users`,path:`posthog.minUsersToInvestigate`,title:`Min users to investigate`,description:`Minimum affected users for a new issue investigation. Regressions, worsening issues and eligible error spikes bypass this minimum.`,control:`number`,range:ed,unit:Y3,keywords:[`threshold`,`affected`],defaultValue:1,...X},{id:`posthog-traffic-enabled`,path:`posthog.trafficSpikeEnabled`,title:`Traffic spike alerts`,description:`Ping when recent unique users exceed a project baseline.`,control:`toggle`,keywords:[`analytics`,`alert`],defaultValue:!0,...X},{id:`posthog-auto-fix`,path:`posthog.autoFix`,title:`Attempt fixes for major issues`,description:`Allow an isolated agent to fix an issue, push a branch and open a pull request.`,control:`toggle`,keywords:[`automatic`,`pull request`],danger:!0,warning:`Enabling this control lets PostHog fixes commit, push and open pull requests automatically.`,defaultValue:!1,...X}]},{id:`lanes-team-review`,level:`lanes`,parent:n6,title:`Team review`,description:`Draft reviews of teammates' pull requests for you to post from the Reviews tab.`,legacyIds:[`team-review`,`reviews`],settings:[{id:`team-review-enabled`,path:`teamReview.enabled`,title:`Enable team review`,description:`Poll open pull requests from the team and draft a review of each one. Nothing is posted until you choose Approve or Comment.`,control:`toggle`,keywords:[`pull requests`,`github`],defaultValue:!1,...X},{id:`github-teams`,path:`github.teams`,title:`GitHub teams`,description:`Teams to search for review requests and members, one org/slug per entry. Leave empty to fall back to the legacy teamReview.org and teamReview.team keys in config.json.`,control:`list`,keywords:[`github`,`teams`,`review requests`],defaultValue:[],listPlaceholder:`org/team-slug`,listEmptyText:`No GitHub teams configured.`,...X},{id:`team-review-re-review-after-hours`,path:`teamReview.reReviewAfterHours`,title:`Re-review after`,description:`When a reviewed PR has a new head, review it again after this long since its last review. Queue review runs it at any time.`,control:`number`,range:ed,unit:U3,keywords:[`review`,`delay`],defaultValue:24,integer:!1,step:.5,...X},{id:`team-review-skip-idle-after-days`,path:`teamReview.skipIdleAfterDays`,title:`Skip PRs idle for`,description:`Leave pull requests without GitHub activity for this long out of automatic review.`,control:`number`,range:ed,unit:W3,keywords:[`idle`,`activity`],defaultValue:14,integer:!1,step:.5,...X},{id:`team-review-skill`,path:`teamReview.skill`,title:`Review skill`,description:`Name of a Claude Code skill installed for the review agent, for example your own PR review skill. Leave empty to let the agent review with whatever skills it has.`,control:`text`,keywords:[`skill`,`claude code`,`pr review`],defaultValue:``,...X},{id:`team-review-auto-rebase-my-prs`,path:`teamReview.autoRebaseMyPrs`,title:`Keep my pull requests rebased`,description:`On each poll, rebase your open, non-draft pull requests that are behind their base branch. A pull request with conflicts or checks still running is left alone, and a failed rebase is not retried until you push again.`,control:`toggle`,keywords:[`rebase`,`update branch`,`behind`,`my prs`],danger:!0,warning:`Enabling this control rewrites your pull request branches on GitHub. Pull before you push from a local checkout of one.`,defaultValue:!1,...X},{id:`team-review-keep-mergeable-enabled`,path:`teamReview.keepMergeableEnabled`,title:`Keep mergeable`,description:`Offer Keep mergeable on your pull requests: a sandboxed agent repairs conflicts and failing checks and pushes the repair. Off hides the control and starts no repair; the pull requests you chose stay chosen for when you turn it back on.`,control:`toggle`,keywords:[`repair`,`conflicts`,`my prs`],defaultValue:!0,...X},{id:`team-review-keep-mergeable-timeout`,path:`teamReview.keepMergeableTimeoutMinutes`,title:`Keep mergeable deadline`,description:`Longest a Keep mergeable repair session may run before it is stopped and nothing is pushed.`,control:`number`,range:Id,unit:H3,keywords:[`timeout`,`repair`],defaultValue:30,...X},{id:`team-review-merge-queue-enabled`,path:`teamReview.mergeQueueEnabled`,title:`Merge when ready`,description:`Offer Merge when ready on your pull requests: queued pull requests are rebased when behind and merged once ready, one per repository per poll. Off hides the control and merges nothing; the queue is kept for when you turn it back on.`,control:`toggle`,keywords:[`merge queue`,`auto merge`,`my prs`],defaultValue:!0,...X}]},{id:`lanes-workflows`,level:`lanes`,parent:n6,title:`Workflows`,description:`Rules that act on pull request events in the repositories you choose.`,legacyIds:[`workflows`],settings:[{id:`workflows-enabled`,path:`workflows.enabled`,title:`Run workflows`,description:`Poll the repositories your enabled rules watch and run their actions. Off stops polling and every action, whatever each rule says.`,control:`toggle`,keywords:[`pull requests`,`automation`,`master switch`],defaultValue:!0,...X},{id:`workflows-max-concurrent-sessions`,path:`workflows.maxConcurrentSessions`,title:`Concurrent agent sessions`,description:`Most workflow agent sessions running at once. Up to twenty later spawns wait for a free slot; additional spawns are dropped and logged.`,control:`number`,range:Ld,unit:Fue,keywords:[`parallel`,`spawn`],defaultValue:2,...X},{id:`workflows-rules`,path:`status:workflow-rules`,title:`Workflow rules`,description:`Each rule watches repositories for one pull request event (opened, checks-failed, review-requested, approved, commented or merged), narrows it by author, labels, base branch, your own pull requests or a review request to your team, and then notifies you, labels or comments on the pull request, or starts a sandboxed agent session that pushes nothing. Rules start disabled. Turn each rule on or off here; everything else about a rule is set in config.json under workflows.rules.`,control:`readonly`,keywords:[`pull requests`,`automation`,`github`,`rules`],status:`workflows`,...F3}]},{id:`lanes-factory`,level:`lanes`,parent:n6,title:`Factory`,description:`Read Coherence reports from repositories whose integration branch holds a coherence.config.json and show their status in the Factory tab.`,legacyIds:[`factory`],settings:[{id:`factory-enabled`,path:`factory.enabled`,title:`Enable the factory`,description:`Enable Coherence status polling and show the Factory tab. Off by default.`,control:`toggle`,keywords:[`orchestrator`,`intents`,`queue`,`coherence`,`guardrails`],defaultValue:!1,...X},{id:`factory-max-risk`,path:`factory.maxRisk`,title:`Worker risk ceiling`,description:`Highest risk admitted for a ticket.`,control:`select`,defaultValue:`medium`,options:[`low`,`medium`,`high`,`critical`].map(e=>({value:e,label:e})),keywords:[`risk`,`admission`],...X},{id:`factory-max-live-workers`,path:`factory.maxLiveWorkers`,title:`Live worker cap`,description:`Most live workers per factory project.`,control:`number`,range:$u,unit:Iue,defaultValue:2,keywords:[`workers`,`parallel`],...X},{id:`factory-checks`,path:`factory.checks`,title:`Worker checks`,description:`Commands glimmervoid runs before merging worker commits.`,control:`list`,defaultValue:[`npm run typecheck`,`npm run lint`,`npm test`],keywords:[`tests`,`checks`],listPlaceholder:`npm test`,listEmptyText:`No checks run before a merge.`,...X},{id:`factory-protected-paths`,path:`factory.protectedPaths`,title:`Protected paths`,description:`Repo-relative files, directory prefixes ending in /, or **/NAME basenames workers cannot change.`,control:`list`,defaultValue:[`coherence.config.json`,`.coherence/`,`package.json`,`package-lock.json`,`**/AGENTS.md`,`**/CLAUDE.md`,`**/CLAUDE.local.md`,`.claude/`,`.github/`],keywords:[`fence`,`scope`],listPlaceholder:`path, prefix/ or **/NAME`,listEmptyText:`Workers may change any path.`,...X},{id:`factory-reviewer-model`,path:`factory.reviewerModel`,title:`Reviewer model`,description:`Claude model for independent worker review. Blank uses the CLI default.`,control:`text`,defaultValue:null,nullable:!0,keywords:[`claude`,`review`],...X},{id:`factory-daily-budget`,path:`factory.dailyBudgetUsd`,title:`Factory daily budget`,description:`Factory lane spend ceiling. Blank means no ceiling. Needs usage tracking: with it off, dispatch refuses.`,control:`number`,range:td,unit:J3,integer:!1,nullable:!0,step:.01,defaultValue:null,keywords:[`spend`,`budget`],...X},{id:`factory-verifier-model`,path:`factory.verifierModel`,title:`Verifier model`,description:`Claude model for independent intent verification. Blank uses the CLI default.`,control:`text`,nullable:!0,defaultValue:null,keywords:[`claude`,`verification`],...X},{id:`factory-mirror-harness-runs`,path:`factory.mirrorHarnessRuns`,title:`Mirror harness runs`,description:`Show the latest factory harness run as a read-only project in the Factory tab while it runs and for a day after. Needs factory.enabled on. The harness turns it off on the instance it boots.`,control:`toggle`,defaultValue:!0,keywords:[`harness`,`test`,`read-only`],...X}]},{id:`lanes-benchmarks`,level:`lanes`,parent:n6,title:`Benchmarks`,description:`Compare agent setups on frozen cases from the suites in the benchmarks folder of the Glimmervoid home.`,legacyIds:[`benchmarks`],settings:[{id:`benchmarks-enabled`,path:`benchmarks.enabled`,title:`Enable benchmarks`,description:`Show the Bench tab. Nothing runs until you choose Mine or Run there.`,control:`toggle`,keywords:[`eval`,`arms`,`recall`,`compare`],defaultValue:!1,...X}]},{id:`lanes-knowledge-graph`,level:`lanes`,parent:n6,title:`Knowledge graph (experimental)`,description:`A typed local graph of projects, tasks, notes, references and questions, driven from the glimmervoid kg command. Its SQLite database defaults to the Glimmervoid home; --db selects another path.`,legacyIds:[`knowledge-graph`],settings:[{id:`knowledge-graph-enabled`,path:`knowledgeGraph.enabled`,title:`Enable the knowledge graph`,description:`Allow the glimmervoid kg command. It reads Coherence ledgers to report where your tasks and the agents' tickets disagree, without modifying those ledgers. Graph writes go to the selected SQLite database, which can be inside a repository when --db names that path. Off by default.`,control:`toggle`,keywords:[`experimental`,`kg`,`tasks`,`notes`,`references`,`coherence`],defaultValue:!1,...X}]},{id:`lanes-change-map`,level:`lanes`,parent:n6,title:`Change map`,description:`Optional model narration for deterministic change facts.`,legacyIds:[`change-map`],settings:[{id:`change-map-narrator-enabled`,path:`changeMap.narrator.enabled`,title:`Enable narration`,description:`Add cited model claims to the change map.`,control:`toggle`,keywords:[`review`,`claims`],defaultValue:!1,...X},{id:`change-map-narrator-engine`,path:`changeMap.narrator.engine`,title:`Narrator engine`,description:`CLI used to generate change map claims.`,control:`select`,options:r6(D3),keywords:[`claude`,`codex`],defaultValue:`claude`,...X},{id:`change-map-narrator-model`,path:`changeMap.narrator.model`,title:`Narrator model`,description:`Blank uses the engine default: haiku for Claude, the configured Codex model for Codex.`,control:`text`,keywords:[`claude`,`codex`,`haiku`],defaultValue:``,...X}]},{id:`machine-privacy`,level:`machine`,title:`Privacy`,description:`What Glimmervoid sends about itself.`,legacyIds:[`privacy`,`telemetry`],settings:[{id:`telemetry-enabled`,path:`telemetry.enabled`,title:`Send anonymous usage and error data`,description:`Version, platform, app starts, daily activity, session starts and ends with agent kind, exit kind and duration, errors as their type, error code and scrubbed stack frames, per session token counts, models and estimated costs from the usage scan, and factory outcomes as the kind of decision, how it came out, its duration and attempt number, under a random install id. Never error messages, paths, repository or branch names, prompts, objectives or terminal output. GLIMMERVOID_TELEMETRY=0, DO_NOT_TRACK=1 or CI=true turn it off regardless.`,control:`toggle`,keywords:[`telemetry`,`analytics`,`tracking`,`opt out`],defaultValue:!0,...X}]},{id:`browser-shortcuts`,level:`browser`,title:`Shortcuts and about`,description:`Keyboard reference and build information.`,legacyIds:[`shortcuts`],settings:[]}]),Wue=Object.freeze([{id:`file-debug-mode`,path:`debugMode`,title:`Debug mode`,group:`machine-sessions`,description:`Show session-card diagnostics for state, transitions and detection signals.`,control:`toggle`,keywords:[`diagnostics`,`state`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q3,...Z},{id:`file-replay-buffer`,path:`replayBufferKB`,title:`Replay buffer`,group:`machine-terminal`,description:`PTY output retained for clients that reconnect or join late.`,control:`number`,range:od,unit:{label:`KB`,storedPerDisplay:1},keywords:[`history`,`backfill`],defaultValue:512,takesEffect:`new-sessions`,fileOnlyReason:Q,...Z},{id:`file-cursor-blink`,path:`cursorBlink`,title:`Cursor blink`,group:`machine-terminal`,description:`Blink the cursor in every terminal.`,control:`toggle`,keywords:[`caret`,`terminal`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-detect-background-agents`,path:`detectBackgroundAgents`,title:`Detect background agents`,group:`machine-detection-sessions`,description:`Hold completion while tracked background work is active.`,control:`toggle`,keywords:[`subagents`,`completion`],defaultValue:!0,takesEffect:`new-sessions`,fileOnlyReason:Q3,...Z},{id:`file-record-signals`,path:`recordSignals`,title:`Record structural signals`,group:`machine-detection-sessions`,description:`Keep forensic status and hook recordings for each session. Full capture (capture.enabled) records these signals even when this is off.`,control:`toggle`,keywords:[`recordings`,`diagnostics`],defaultValue:!0,takesEffect:`new-sessions`,fileOnlyReason:Q3,...Z},{id:`file-trace-enabled`,path:`trace.enabled`,title:`Capture session traces`,group:`machine-detection-sessions`,description:`Keep normalized Claude transcript traces for session debugging.`,control:`toggle`,keywords:[`transcripts`,`diagnostics`],defaultValue:!0,takesEffect:`restart`,fileOnlyReason:Q3,...Z},{id:`file-detect-scheduled-wakeups`,path:`detectScheduledWakeups`,title:`Detect scheduled wakeups`,group:`machine-detection-sessions`,description:`Surface advisory wakeup timing for scheduled sessions.`,control:`toggle`,keywords:[`schedule`,`sleep`],defaultValue:!0,takesEffect:`restart`,fileOnlyReason:Q3,...Z},{id:`file-worktree-auto-rebase`,path:`worktreeAutoRebase`,title:`Worktree auto-rebase`,group:`machine-detection-sessions`,description:`Rebase eligible session worktrees when the integration branch moves.`,control:`toggle`,keywords:[`git`,`branch`],defaultValue:!0,takesEffect:`new-sessions`,fileOnlyReason:$3,...Z},{id:`file-worktree-sync-on-start`,path:`worktreeSyncOnStart`,title:`Worktree sync on start`,group:`machine-detection-sessions`,description:`Fetch origin and fast-forward the local integration branch before a session starts its worktree.`,control:`toggle`,keywords:[`git`,`fetch`,`fast-forward`],defaultValue:!0,takesEffect:`new-sessions`,fileOnlyReason:$3,...Z},{id:`file-worktree-rerere`,path:`worktreeRerere`,title:`Worktree rerere`,group:`machine-detection-sessions`,description:`Reuse recorded Git conflict resolutions.`,control:`toggle`,keywords:[`git`,`conflicts`],defaultValue:!0,takesEffect:`restart`,fileOnlyReason:$3,...Z},{id:`file-integration-branch`,path:`integrationBranch`,title:`Integration branch`,group:`machine-detection-sessions`,description:`Base branch for session worktrees. Empty = each repo's default branch. Existing sessions are never retargeted.`,control:`text`,nullable:!0,keywords:[`git`,`merge`],defaultValue:null,takesEffect:`new-sessions`,fileOnlyReason:$3,...Z},{id:`file-worktree-root`,path:`worktreeRoot`,title:`Worktree root`,group:`machine-detection-sessions`,description:`Directory that contains session worktrees. Existing worktrees are never relocated.`,control:`text`,keywords:[`git`,`directory`],defaultValue:``,takesEffect:`new-sessions`,fileOnlyReason:$3,...Z},{id:`file-worktree-share`,path:`worktreeShare`,title:`Shared worktree paths`,group:`machine-detection-sessions`,description:`Local paths copied or linked during worktree preparation.`,control:`list`,keywords:[`files`,`context`],defaultValue:[`node_modules`,`.env`,`.env.local`,`.claude`],takesEffect:`new-sessions`,fileOnlyReason:t6,...Z},{id:`file-port`,path:`port`,title:`Local port`,group:`machine-detection-sessions`,description:`Port used by the local dashboard listener.`,control:`number`,range:sd,unit:{label:`port`,storedPerDisplay:1},keywords:[`server`,`listener`],defaultValue:3e3,takesEffect:`restart`,fileOnlyReason:t6,...Z},{id:`file-auto-recover-seconds`,path:`autoRecoverSeconds`,title:`Auto-recovery delay`,group:`machine-detection-sessions`,description:`Delay before an interrupted state can recover.`,control:`number`,integer:!1,step:`any`,range:ed,unit:V3,keywords:[`timer`,`recovery`],defaultValue:3,takesEffect:`new-sessions`,fileOnlyReason:Q,...Z},{id:`file-input-grace-seconds`,path:`inputGraceSeconds`,title:`Input grace period`,group:`machine-detection-sessions`,description:`Grace window around operator input.`,control:`number`,integer:!1,step:`any`,range:ed,unit:V3,keywords:[`timer`,`prompt`],defaultValue:5,takesEffect:`new-sessions`,fileOnlyReason:Q,...Z},{id:`file-prompt-detection-ms`,path:`promptDetectionMs`,title:`Prompt detection delay`,group:`machine-detection-sessions`,description:`Timing threshold used by prompt detection.`,control:`number`,integer:!1,step:`any`,range:ed,unit:zue,keywords:[`timer`,`detection`],defaultValue:1500,takesEffect:`new-sessions`,fileOnlyReason:Q,...Z},{id:`file-notify-debounce-ms`,path:`notifyDebounceMs`,title:`Notification debounce`,group:`machine-detection-sessions`,description:`Delay used to coalesce notification state changes.`,control:`number`,integer:!1,step:`any`,range:ed,unit:G3,keywords:[`timer`,`alerts`],defaultValue:3e3,takesEffect:`new-sessions`,fileOnlyReason:Q,...Z},{id:`file-phone-escalation-ms`,path:`phoneEscalationMs`,title:`Phone escalation delay`,group:`machine-detection-sessions`,description:`Delay before off-dashboard escalation.`,control:`number`,integer:!1,step:`any`,range:ed,unit:K3,keywords:[`timer`,`telegram`],defaultValue:3e5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-post-turn-checks`,path:`postTurnChecks`,title:`Post-turn checks`,group:`machine-detection-sessions`,description:`Deterministic checks run after eligible turns. The global mode is a default; project and individual rule modes can select fixes even when the global mode is report.`,control:`json`,keywords:[`quality`,`fixes`],defaultValue:{enabled:!0,mode:`report`,rules:{trailingWs:!0,finalNewline:!0,bom:!0,slop:!1}},takesEffect:`now`,fileOnlyReason:e6,...Z},{id:`file-branch-gc-enabled`,path:`branchGc.enabled`,title:`Branch cleanup`,group:`machine-detection-sessions`,description:`Enable cleanup of eligible session branches.`,control:`toggle`,keywords:[`git`,`cleanup`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:$3,...Z},{id:`file-branch-gc-worktrees`,path:`branchGc.worktrees`,title:`Local worktree cleanup`,group:`machine-detection-sessions`,description:`Enable cleanup of eligible local worktrees.`,control:`toggle`,keywords:[`git`,`worktree`,`cleanup`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:$3,...Z},{id:`file-branch-gc-prefixes`,path:`branchGc.prefixes`,title:`Branch cleanup prefixes`,group:`machine-detection-sessions`,description:`Branch prefixes that filter both remote branch cleanup and local worktree cleanup.`,control:`list`,keywords:[`git`,`branch`],defaultValue:[`glimmervoid/session/`,`worktree-agent-`],takesEffect:`now`,fileOnlyReason:$3,...Z},{id:`file-branch-gc-dry-run`,path:`branchGc.dryRun`,title:`Branch cleanup dry run`,group:`machine-detection-sessions`,description:`Report planned cleanup without deleting remote branches.`,control:`toggle`,keywords:[`git`,`safety`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:$3,...Z},{id:`file-branch-gc-stale-days`,path:`branchGc.staleDays`,title:`Branch stale days`,group:`machine-detection-sessions`,description:`Age threshold for orphan branch cleanup when unmerged deletion is on.`,control:`number`,integer:!1,step:`any`,range:ed,unit:W3,keywords:[`git`,`retention`],defaultValue:14,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-branch-gc-interval-ms`,path:`branchGc.intervalMs`,title:`Branch cleanup interval`,group:`machine-detection-sessions`,description:`Delay between branch cleanup passes.`,control:`number`,integer:!1,step:`any`,range:ed,unit:Bue,keywords:[`git`,`schedule`],defaultValue:216e5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-custom-agents`,path:`customAgents`,title:`Custom agents`,group:`machine-detection-sessions`,description:`Extra agent CLIs a session can be spawned with. The Sessions section lists the declared agents and whether each command resolves.`,control:`json`,keywords:[`adapters`,`cli`],defaultValue:[],takesEffect:`new-sessions`,fileOnlyReason:t6,...Z},{id:`file-task-title-refiner-enabled`,path:`taskTitle.refiner.enabled`,title:`Refine task titles`,group:`machine-detection-sessions`,description:`Keep session card titles useful when prompts change topic by asking a model for a short title.`,control:`toggle`,keywords:[`title`,`refiner`,`card`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-task-title-refiner-model`,path:`taskTitle.refiner.model`,title:`Task title model`,group:`machine-detection-sessions`,description:`Claude model alias the title refiner asks.`,control:`text`,keywords:[`title`,`refiner`,`model`],defaultValue:`haiku`,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-task-title-refiner-min-interval`,path:`taskTitle.refiner.minIntervalSeconds`,title:`Task title refresh interval`,group:`machine-detection-sessions`,description:`Shortest pause between two title refinements of one session.`,control:`number`,integer:!1,step:`any`,range:td,unit:V3,keywords:[`title`,`refiner`,`interval`],defaultValue:60,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-task-title-refiner-timeout`,path:`taskTitle.refiner.timeoutSeconds`,title:`Task title timeout`,group:`machine-detection-sessions`,description:`Maximum time allowed for one title refinement.`,control:`number`,integer:!1,step:`any`,range:cd,unit:V3,keywords:[`title`,`refiner`,`deadline`],defaultValue:60,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-codex`,path:`usage.vendors.codex`,title:`Track Codex usage`,group:`machine-usage`,description:`Include local Codex CLI transcripts in usage reports.`,control:`toggle`,keywords:[`openai`,`vendor`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-grok`,path:`usage.vendors.grok`,title:`Track Grok usage`,group:`machine-usage`,description:`Include local Grok CLI transcripts in usage reports.`,control:`toggle`,keywords:[`xai`,`vendor`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-fetch-pricing`,path:`usage.fetchPricing`,title:`Fetch current model prices`,group:`machine-usage`,description:`Load public model prices when usage tracking starts, using a cached table for up to one day. Falls back to cached or bundled prices if the fetch fails; no daily refresh runs while tracking continues.`,control:`toggle`,keywords:[`rates`,`models`],defaultValue:!0,takesEffect:`restart`,fileOnlyReason:Q,...Z},{id:`file-usage-plan-limits`,path:`usage.planLimits`,title:`Show plan limits`,group:`machine-usage`,description:`Read the Claude plan limit the CLI reports and show it beside usage.`,control:`toggle`,keywords:[`plan`,`limits`,`quota`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-rtk-savings`,path:`usage.rtkSavings`,title:`Estimate rtk savings`,group:`machine-usage`,description:`Estimate the tokens rtk output compression saved and show it in the Usage view.`,control:`toggle`,keywords:[`rtk`,`savings`,`tokens`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-scan-interval`,path:`usage.scanIntervalMinutes`,title:`Scan interval`,group:`machine-usage`,description:`Periodic transcript polling interval. Session activity can also trigger scans between timer ticks.`,control:`number`,range:kd,unit:H3,keywords:[`poll`,`refresh`],defaultValue:5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-warehouse-retain-days`,path:`usage.warehouseRetainDays`,title:`Retain usage history`,group:`machine-usage`,description:`How long the daily usage warehouse keeps rolled-up totals after transcript detail expires.`,control:`number`,range:Pd.warehouseRetainDays,unit:W3,keywords:[`history`,`warehouse`,`retention`],defaultValue:365,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-session-block-hours`,path:`usage.sessionBlockHours`,title:`Session block length`,group:`machine-usage`,description:`Length of the rolling block the Usage view groups activity into.`,control:`number`,range:Pd.sessionBlockHours,unit:U3,keywords:[`block`,`window`,`hours`],defaultValue:5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-cost-mode`,path:`usage.costMode`,title:`Cost mode`,group:`machine-usage`,description:`Choose whether recorded costs, calculated costs or both can appear.`,control:`select`,options:r6(a3),keywords:[`pricing`,`estimate`],defaultValue:`auto`,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-usage-extra-projects-dirs`,path:`usage.extraProjectsDirs`,title:`Extra transcript folders`,group:`machine-usage`,description:`Absolute paths of additional Claude projects folders the usage scan reads.`,control:`list`,keywords:[`transcripts`,`folders`,`scan`],defaultValue:[],takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-change-map-narrator-timeout`,path:`changeMap.narrator.timeoutSeconds`,title:`Narrator timeout`,group:`lanes-change-map`,description:`Maximum time allowed for one narration.`,control:`number`,range:Fd,unit:V3,keywords:[`deadline`,`narration`],defaultValue:90,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-visions-quiet-delay`,path:`visions.dispatch.quietMs`,title:`Quiet delay`,group:`lanes-visions`,description:`Editor quiet time before a scheduled review. Saves and blank-line boundaries can dispatch immediately, subject to the other review limits.`,control:`number`,range:ed,unit:G3,keywords:[`debounce`,`idle`],defaultValue:3e4,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-visions-cooldown`,path:`visions.dispatch.cooldownMs`,title:`Cooldown`,group:`lanes-visions`,description:`Minimum delay between reviews of the same document. Initial orientation reviews bypass this delay.`,control:`number`,range:ed,unit:K3,keywords:[`rate limit`,`delay`],defaultValue:3e5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-visions-activity-max-per-hour`,path:`visions.dispatch.activityMaxPerHour`,title:`Activity max per hour`,group:`lanes-visions`,description:`Maximum activity-driven reviews dispatched per hour, capped at the overall hourly limit minus one to reserve an edit-review slot.`,control:`number`,range:td,unit:X3,keywords:[`rate limit`,`events`],defaultValue:2,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-visions-dispatch-timeout`,path:`visions.dispatch.dispatchTimeoutSeconds`,title:`Dispatch timeout`,group:`lanes-visions`,description:`Maximum time allowed for one review session.`,control:`number`,range:ed,unit:q3,keywords:[`deadline`,`review`],defaultValue:180,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-visions-intent-thread-ttl`,path:`visions.intent.threadTtlMs`,title:`Intent thread lifetime`,group:`lanes-visions`,description:`How long an intent thread nobody advanced stays live before it retires.`,control:`number`,range:ed,unit:Hue,keywords:[`intent`,`decay`,`thread`],defaultValue:2592e5,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-terminal`,path:`ingest.sources.terminal.enabled`,title:`Terminal output source`,group:`lanes-ingest`,description:`Include terminal output in the ingest feed.`,control:`toggle`,keywords:[`pty`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-agent-logs`,path:`ingest.sources.agentLogs.enabled`,title:`Agent logs source`,group:`lanes-ingest`,description:`Include local agent logs in the ingest feed.`,control:`toggle`,keywords:[`transcript`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-git`,path:`ingest.sources.git.enabled`,title:`Git activity source`,group:`lanes-ingest`,description:`Include local Git activity in the ingest feed.`,control:`toggle`,keywords:[`commits`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-fs`,path:`ingest.sources.fs.enabled`,title:`File changes source`,group:`lanes-ingest`,description:`Include watched file changes in the ingest feed.`,control:`toggle`,keywords:[`filesystem`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-shell-history`,path:`ingest.sources.shellHistory.enabled`,title:`Shell history source`,group:`lanes-ingest`,description:`Include local shell history in the ingest feed.`,control:`toggle`,keywords:[`commands`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-ingest-editor`,path:`ingest.sources.editor.enabled`,title:`Editor events source`,group:`lanes-ingest`,description:`Include local editor events in the ingest feed.`,control:`toggle`,keywords:[`buffers`,`source`],defaultValue:!1,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-investigation-timeout`,path:`posthog.investigationTimeoutSeconds`,title:`Investigation timeout`,group:`lanes-posthog`,description:`Maximum time allowed for one investigation.`,control:`number`,integer:!1,step:`any`,range:ed,unit:q3,keywords:[`deadline`,`session`],defaultValue:900,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-escalation`,path:`posthog.userEscalationThreshold`,title:`Escalation threshold`,group:`lanes-posthog`,description:`Affected-user count that escalates an issue.`,control:`number`,range:ed,unit:Y3,keywords:[`threshold`,`severity`],defaultValue:25,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-fix-timeout`,path:`posthog.fixTimeoutSeconds`,title:`Fix timeout`,group:`lanes-posthog`,description:`Maximum time allowed for one fix session.`,control:`number`,integer:!1,step:`any`,range:wd,unit:q3,keywords:[`deadline`,`repair`],defaultValue:1800,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-traffic-multiplier`,path:`posthog.trafficSpikeMultiplier`,title:`Spike multiplier`,group:`lanes-posthog`,description:`Baseline multiplier required to classify a traffic spike.`,control:`number`,integer:!1,step:`any`,range:Td,unit:Z3,keywords:[`baseline`,`ratio`],defaultValue:3,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-traffic-min-users`,path:`posthog.trafficSpikeMinUsers`,title:`Min users to alert`,group:`lanes-posthog`,description:`Minimum recent unique users for an initial traffic-spike alert. Escalation and recovery alerts bypass this minimum.`,control:`number`,range:Ed,unit:Y3,keywords:[`threshold`,`analytics`],defaultValue:10,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-traffic-cooldown`,path:`posthog.trafficSpikeCooldownMinutes`,title:`Spike cooldown`,group:`lanes-posthog`,description:`Cooldown for new traffic spikes. Escalation and recovery alerts bypass it. Zero removes the time delay; repeated active-spike alerts are still suppressed.`,control:`number`,integer:!1,step:`any`,range:td,unit:Vue,keywords:[`silence`,`delay`],defaultValue:360,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-traffic-baseline`,path:`posthog.trafficSpikeBaselineDays`,title:`Baseline window`,group:`lanes-posthog`,description:`Historical window used to calculate normal hourly traffic.`,control:`number`,range:Od,unit:W3,keywords:[`history`,`analytics`],defaultValue:7,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-recurrence-dedupe`,path:`posthog.recurrenceDedupe`,title:`Deduplicate recurring issues`,group:`lanes-posthog`,description:`Treat an issue seen again inside the recurrence window as the same investigation instead of opening a new one.`,control:`toggle`,keywords:[`recurrence`,`dedupe`,`issues`],defaultValue:!0,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-recurrence-window-days`,path:`posthog.recurrenceWindowDays`,title:`Recurrence window`,group:`lanes-posthog`,description:`How far back an issue counts as a recurrence of an investigated one.`,control:`number`,integer:!1,step:`any`,range:ed,unit:W3,keywords:[`recurrence`,`window`],defaultValue:7,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-transient-recurrence-limit`,path:`posthog.transientRecurrenceLimit`,title:`Transient recurrence limit`,group:`lanes-posthog`,description:`How many times a transient issue may recur before it is investigated again.`,control:`number`,integer:!1,step:`any`,range:ed,unit:Lue,keywords:[`recurrence`,`transient`,`limit`],defaultValue:3,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-repo-path`,path:`posthog.repoPath`,title:`Repository path`,group:`lanes-posthog`,description:`Absolute path of the local checkout investigations read and fixes branch from, for every project the project map does not name.`,control:`text`,keywords:[`repository`,`checkout`,`path`],defaultValue:``,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-posthog-project-map`,path:`posthog.projectMap`,title:`Project map`,group:`lanes-posthog`,description:`PostHog project id to a label: the name shown for that project, and, when it is an absolute path to a checkout, the repository its issues are investigated in.`,control:`json`,keywords:[`projects`,`repositories`,`map`],defaultValue:{},takesEffect:`now`,fileOnlyReason:e6,...Z},{id:`file-team-review-org`,path:`teamReview.org`,title:`GitHub organization (legacy)`,group:`lanes-team-review`,description:`Organization login that owns the team, for example PostHog. Read only when github.teams is empty.`,control:`text`,keywords:[`github`,`owner`,`legacy`],defaultValue:``,takesEffect:`now`,fileOnlyReason:`A legacy key: github.teams names teams as org/slug entries and wins whenever it is set.`,...Z},{id:`file-team-review-team`,path:`teamReview.team`,title:`GitHub team (legacy)`,group:`lanes-team-review`,description:`Team slug whose members and review requests are polled. Read only when github.teams is empty.`,control:`text`,keywords:[`github`,`slug`,`legacy`],defaultValue:``,takesEffect:`now`,fileOnlyReason:`A legacy key: github.teams names teams as org/slug entries and wins whenever it is set.`,...Z},{id:`file-workflows-max-actions-per-poll`,path:`workflows.maxActionsPerPoll`,title:`Actions per poll`,group:`lanes-workflows`,description:`Most actions run in one poll. The rest are dropped and logged.`,control:`number`,range:Rd,unit:Rue,keywords:[`cap`,`rate limit`],defaultValue:20,takesEffect:`now`,fileOnlyReason:Q,...Z},{id:`file-workflows-rules`,path:`workflows.rules`,title:`Workflow rule definitions`,group:`lanes-workflows`,description:`The rules the Workflows section switches on and off: each names its repositories, one pull request event, its filters and its actions.`,control:`json`,keywords:[`pull requests`,`automation`,`rules`],defaultValue:[],takesEffect:`now`,fileOnlyReason:`Rule definitions are written in config.json; the Workflows section only switches each rule on or off.`,...Z}]),a6=Object.freeze({sections:i6,fileOnly:Wue}),Gue=Object.freeze(Object.fromEntries(i6.flatMap(e=>(e.legacyIds??[]).map(t=>[t,e.id])))),Kue=Object.freeze(i6.reduce((e,t)=>{for(let n of t.settings)for(let r of n.legacyIds??[])e[r.sectionId]={...e[r.sectionId],[r.settingId]:t.id};return e},{}));function o6(e){let t=[],n=e=>{if(!e||typeof e!=`object`)return e;let n=Array.isArray(e)?[]:{};return t.push([e,n]),n},r=n(e);for(let e=t.pop();e;e=t.pop()){let[t,r]=e;for(let[e,i]of Object.entries(t))Object.defineProperty(r,e,{value:n(i),writable:!0,enumerable:!0,configurable:!0})}return r}function s6(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function que(e,t){let n=t.split(`.`),r=e;for(let e of n.slice(0,-1)){if(!r||typeof r!=`object`)return;r=r[e]}r&&typeof r==`object`&&delete r[n.at(-1)]}function c6(e,t,n){let r=t.split(`.`),i=e;for(let e of r.slice(0,-1))(!i[e]||typeof i[e]!=`object`||Array.isArray(i[e]))&&(i[e]={}),i=i[e];i[r.at(-1)]=o6(n)}function l6(e){return e.flatMap(e=>e.settings)}function u6(e){return e.access===`file-only`||e.control===`readonly`}function Jue(e){let t=String(e??``).trim().toLowerCase();if(!t||t===`all`)return`all`;if(t===`none`)return[];let n=t.split(`,`).map(e=>e.trim());return n.every(e=>/^\d+$/.test(e)&&Number.isSafeInteger(Number(e))&&Number(e)>0)?n.map(Number):null}var Yue=6;function d6(e,t){return e.control===`number`&&typeof t==`number`?t/(e.unit?.storedPerDisplay??1):e.valueKind===`posthog-projects`?Array.isArray(t)?t.length===0?[`none`]:t.map(String):[]:o6(t)}function f6(e){return e.control===`number`&&(e.unit?.storedPerDisplay??1)!==1}function p6(e){return String(Number(e.toFixed(Yue)))}function m6(e,t){let n=d6(e,t);return e.valueKind===`posthog-projects`&&Array.isArray(n)?n.join(`, `)||`all`:typeof n==`number`&&e.unit?`${p6(n)} ${e.unit.label}`:JSON.stringify(n??null)}function h6(e,t){if(e.control===`number`){if(e.nullable&&(t==null||String(t).trim()===``))return null;let n=Number(t);if(e.zeroIsNull&&n<=0)return null;let r=n*(e.unit?.storedPerDisplay??1);return e.integer===!1?r:Math.round(r)}if(e.valueKind===`posthog-projects`)return Jue(Array.isArray(t)?t.join(`,`):t);if(e.control===`text`||e.control===`password`){let n=String(t??``).trim();return e.nullable&&!n?null:n}return o6(t)}function g6(e){return String(e||``).toLowerCase().match(/[a-z0-9]+/g)||[]}var Xue=3,Zue=2,Que=1,$ue=3,ede=30,tde=16;function _6(e,t){return e===t?Xue:e.startsWith(t)?Zue:t.length>=$ue&&e.includes(t)?Que:0}function v6(e,t,n){let r=0;for(let n of t){let t=Math.max(0,...e.map(e=>_6(e,n)));if(t===0)return 0;r+=t}return r*n}function y6(e){return e.options?.map(e=>e.label).join(`, `)??``}function b6(e){return w6(e.group??``)?.title??``}function x6(e,t,n){let r=v6(g6(e.title),n,1e3),i=v6(g6(e.keywords.join(` `)),n,100),a=v6(t,n,10),o=v6(g6(e.path),n,10),s=v6(g6(y6(e)),n,10),c=v6(g6(e.description),n,1);return r+i+a+o+s+c}function S6(e){return e.section?.title??``}function nde(e,t){return Number(e.section===null)-Number(t.section===null)}function C6(e,t,n){return[[`title`,e.title],[`keywords`,e.keywords.join(` `)],[`section`,t?.title??b6(e)],[`description`,e.description],[`path`,e.path],[`options`,y6(e)]].flatMap(([e,t])=>{let r=[];for(let e of t.matchAll(/[a-z0-9]+/gi)){let t=e[0].toLowerCase();for(let i of n){if(_6(t,i)===0)continue;let n=e.index+t.indexOf(i);r.push({start:n,end:n+i.length})}}let i=[];for(let e of r.sort((e,t)=>e.start-t.start||e.end-t.end)){let t=i.at(-1);t&&e.start<=t.end?t.end=Math.max(t.end,e.end):i.push({...e})}return i.length?[{field:e,text:t,spans:i}]:[]})}function rde(e,t,n=[]){let r=g6(t).slice(0,tde);if(r.length===0)return[];let i=[];for(let t of e){let e=g6(t.title);for(let n of t.settings){let a=x6(n,e,r);a!==0&&i.push({section:t,setting:n,score:a,matches:C6(n,t,r)})}}for(let e of n){let t=x6(e,g6(b6(e)),r);t!==0&&i.push({section:null,setting:e,score:t,matches:C6(e,null,r)})}return i.sort((e,t)=>t.score-e.score||nde(e,t)||S6(e).localeCompare(S6(t))||e.setting.title.localeCompare(t.setting.title)).slice(0,ede)}function ide(e,t,n={},r={}){let i=/^#settings\/([^/]+)(?:\/([^/]+))?$/.exec(String(e||``));if(!i)return null;let a,o;try{a=decodeURIComponent(i[1]),o=i[2]?decodeURIComponent(i[2]):null}catch{return null}let s=n[a]||a,c=(o?r[s]?.[o]:void 0)||s,l=t.find(e=>e.id===c);if(!l)return null;let u=o?l.settings.find(e=>e.id===o||e.legacyIds?.some(e=>e.settingId===o&&e.sectionId===s)):null;return o&&!u?null:{sectionId:c,settingId:u?.id||null,hash:`#settings/${c}${u?`/${u.id}`:``}`}}function ade(e){let t=new Map,n=new Map;for(let r of[...l6(e.sections),...e.fileOnly])t.set(r.id,r),n.set(r.path,r);return{byId:t,byPath:n}}ade(a6);function w6(e,t=a6){let n=t.sections.find(t=>t.id===e);return n?{title:n.title,description:n.description}:Uue[e]??null}function ode({checked:e=[],stored:t=[],rendered:n=[]}={}){let r=new Set(n),i=[...e];for(let e of t)typeof e==`string`&&e.trim()&&(r.has(e)||i.includes(e)||i.push(e));return i}function T6(e,t){let n=new Set(e.map(e=>e.id)),r=[...new Set(t)].filter(e=>!n.has(e));return[...e,...r.map(e=>({id:e,name:`Unavailable project (${e})`}))]}var E6=new WeakMap,sde=`Configured`,D6=`•`.repeat(12),cde=`Each line must be a positive whole-number PostHog project id, or the one word none.`,lde=3,ude=200,dde=new Set([`customAgents`]),fde=1e-9,pde=Object.freeze({now:`Applies now`,"new-sessions":`New sessions`,restart:`After restart`}),mde=Object.freeze({browser:`This browser`,machine:`This machine`});function O6(e,t){let n=t.secretSources;if(!n||typeof n!=`object`)return null;let r=n[e.path];return typeof r==`string`?r:null}function hde(e){let t=e.rtkInstall;return t?.status===`installing`?`No rtk binary found. Glimmervoid is installing it into ~/.glimmervoid/bin now.`:e.rtkInstallSupported===!1?`No rtk binary found. Automatic installation is unavailable on this server platform; install a compatible binary manually.`:t?.status===`failed`?`No rtk binary found. The last install attempt failed: ${t.reason||`unknown reason`}. A save can retry after the ten-minute failure cooldown; saves during the cooldown skip installation.`:`No rtk binary found. Saving requests installation into ~/.glimmervoid/bin on supported server platforms, subject to installer eligibility.`}function k6(e){return e.control===`password`}function A6(e){return`${e.path}${sde}`}function j6(e,t){if(Object.is(e,t))return!0;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length&&e.every((e,n)=>j6(e,t[n]));if(!e||!t||typeof e!=`object`||typeof t!=`object`)return!1;let n=Object.keys(e),r=Object.keys(t);return n.length===r.length&&n.every(n=>Object.hasOwn(t,n)&&j6(e[n],t[n]))}function M6(e){return E6.get(e)||null}function N6(e){return Array.isArray(e)?e.map(e=>String(e)):[]}function gde(e){return e.split(`
|
|
257
|
-
`).map(e=>e.trim()).filter(e=>e!==``)}function P6(e){let t=e.range;if(!t)return null;let n={min:Number(d6(e,t.min))};return t.max!=null&&(n.max=Number(d6(e,t.max))),t.exclusiveMin&&(n.exclusiveMin=!0),n}function _de(e){let t=`Default ${m6(e,e.defaultValue)}`;return f6(e)?`${t}, stored as ${JSON.stringify(e.defaultValue)} ${e.unit?.storedLabel??``}`.trimEnd():t}function vde(e,t){let n=_de(e),r=dde.has(e.path)?void 0:s6(t,e.path);if(r===void 0)return{currentText:null,defaultText:n,jsonFragment:null};let i={};return c6(i,e.path,r),{currentText:`Current ${m6(e,r)}`,defaultText:n,jsonFragment:JSON.stringify(i,null,2)}}function yde(e,t,n){let r=t??e.find(e=>e.id===n.group);if(!r)return w6(n.group??``)?.title??`config.json`;let i=e.find(e=>e.id===r.parent);return i?`${i.title} / ${r.title}`:r.title}function F6(e){let t=/^#settings(?:\?(.*))?$/.exec(String(e??``));if(!t)return null;let n=new URLSearchParams(t[1]??``).get(`q`)??``;return{query:Array.from(n.trim()).slice(0,ude).join(``).trim()}}function bde(e,t){return e.filter(e=>e.parent===t)}function I6(e,t){let n=e.find(e=>e.id===t);return n?n.parent?e.find(e=>e.id===n.parent)??n:n:null}function xde(e){return e.filter(e=>!e.parent)}function Sde(e,t,n,r){return r?`hidden`:n.trim()?`search`:t&&I6(e,t)?`section`:`list`}function Cde(e,t={}){let n={};for(let r of l6(e)){if(u6(r))continue;if(r.path.startsWith(`pref:`)){let e=r.path.slice(5),i=t.prefs?.[e]??t[r.path];n[r.path]=d6(r,i??r.defaultValue);continue}if(k6(r)){let e=s6(t,A6(r))===!0;n[r.path]=e?D6:``;continue}let e=s6(t,r.path);n[r.path]=d6(r,e??r.defaultValue)}return E6.set(n,o6(t)),n}function wde(e,t,n){let r=l6(e).filter(e=>u6(e)||e.path.startsWith(`pref:`)||O6(e,M6(t)||{})||k6(e)&&n[e.path]===D6?!1:!j6(t[e.path],n[e.path]));if(r.length===0)return{};let i=M6(t)||{},a=(Array.isArray(i.projectChoices)?i.projectChoices:[]).map(e=>e.id).filter(e=>typeof e==`string`),o={},s=new Set;for(let e of r){let[r]=e.path.split(`.`);if(!e.path.includes(`.`)){o[r]=h6(e,n[e.path]);continue}if(!s.has(r)){let e=i[r];o[r]=e&&typeof e==`object`&&!Array.isArray(e)?o6(e):{},s.add(r)}let c=h6(e,n[e.path]);if(e.control===`projects`){let n=t[e.path];c=ode({checked:Array.isArray(c)?c:[],stored:Array.isArray(n)?n:[],rendered:T6(a.map(e=>({id:e,name:e})),Array.isArray(n)?n:[]).map(e=>e.id)})}c6(o,e.path,c)}for(let t of l6(e))k6(t)&&que(o,A6(t));return delete o.secretSources,o}function Tde(e,t,n,r){return qde(wde(e,t,{...t,[n.path]:r}))}function Ede(e){let t=e.unit?.label;return t?` of ${t}`:``}function L6(e){let t=P6(e);if(!t)return`Allowed range is unavailable.`;let n=`${e.integer!==!1&&!f6(e)?`whole number`:`number`}${Ede(e)}`;return t.exclusiveMin&&t.min===0?`Must be a positive ${n}.`:t.max==null?`Must be a ${n} ${t.exclusiveMin?`above`:`of at least`} ${p6(t.min)}.`:`Must be a ${n} between ${p6(t.min)} and ${p6(t.max)}.`}function Dde(e){return`Must be a multiple of ${m6(e,1)}.`}function Ode(e){return Math.abs(e-Math.round(e))<fde&&Number.isSafeInteger(Math.round(e))}function kde(e,t){return Number(h6({...e,integer:!1,nullable:!1,zeroIsNull:!1},t))}function R6(e,t){if(e.nullable&&(t==null||String(t).trim()===``))return null;let n=e.range;if(!n)return`Allowed range is unavailable.`;if(t==null||String(t).trim()===``)return L6(e);let r=Number(t);if(!Number.isFinite(r))return L6(e);if(e.zeroIsNull&&r<=0)return null;let i=kde(e,r);if(e.integer!==!1&&!Ode(i))return f6(e)?Dde(e):L6(e);let a=Number(h6(e,r));return n.exclusiveMin&&a<=n.min||!n.exclusiveMin&&a<n.min||n.max!=null&&a>n.max?L6(e):null}function Ade(e,t,n=!1){return n?L6(e):R6(e,t.trim())}function jde(e,t){let n=t.trim();if(e.nullable&&n===``)return null;let r=Number(n);return e.zeroIsNull&&r<=0?null:r}function z6(e){if(e==null||e===``)return``;let t=Number(e);return Number.isFinite(t)?p6(t):String(e)}function Mde(e,t){return Array.isArray(t)?e.valueKind===`posthog-projects`&&h6(e,t)===null?cde:null:`Must be a list.`}function Nde(e,t){let n={};for(let r of l6(e)){if(u6(r))continue;let e=null;r.control===`number`&&(e=R6(r,t[r.path])),r.control===`list`&&(e=Mde(r,t[r.path])),r.control===`select`&&r.options&&!r.options.some(e=>e.value===t[r.path])&&(e=`Choose one of the available options.`),e&&(n[r.id]=e)}return Pde(l6(e),t,n),n}function Pde(e,t,n){for(let r of e){let i=e.find(e=>e.id===r.maximumSettingId);if(!i||n[r.id]||n[i.id])continue;let a=t[r.path],o=t[i.path];Number(h6(r,a))>Number(h6(i,o))&&(n[r.id]=`Minimum must not exceed the maximum (${z6(o)}).`,n[i.id]=`Maximum must not be below the minimum (${z6(a)}).`)}}function Fde(e,t){return l6(e).find(e=>e.id===t.maximumSettingId||e.maximumSettingId===t.id)}function Ide(e,t,n){let r=Fde(e,t);return Nde([{id:`scoped`,level:`machine`,title:``,description:``,settings:r?[t,r]:[t]}],n)[t.id]??null}function Lde(e,t){return e.control===`number`?jde(e,t):e.control===`list`?gde(t):t}function Rde(e,t){return h6(e,e.control===`list`?N6(t):t)}function B6(e){return e?.isDirty===!0}function zde(e,t,n,r,i,a=!1){if(!B6(n))return{kind:`unchanged`};let o=t.control===`number`?Ade(t,r,a):null;if(o)return{kind:`invalid`,error:o};let s=Lde(t,r);if(j6(h6(t,s),Rde(t,n.base)))return{kind:`unchanged`};let c=Ide(e,t,{...i,[t.path]:s});return c?{kind:`invalid`,error:c}:{kind:`changed`,value:s}}function V6(e){return k6(e)?``:d6(e,e.defaultValue)}function Bde(e,t){return j6(t,V6(e))}function Vde(e){return e.presentation?e.presentation:(e.options?.length??0)<=lde?`segmented`:`select`}function Hde(e){return Array.isArray(e)?e.length>0:typeof e==`string`?e.trim()!==``:e===!0}function H6(e,t){return e.danger===!0&&!!e.warning&&Hde(t)}function U6(e,t){return H6(e,t)}function Ude(e){return e.title.charAt(0).toLowerCase()+e.title.slice(1)}function Wde(e){return k6(e)?`Reset removes the stored ${Ude(e)}. Anything that relies on it stops until a new one is saved.`:U6(e,V6(e))?e.warning??``:null}function W6(e){return[e.repos.join(`, `),e.trigger,e.actions.map(e=>e.type).join(`, `)].join(` `)}function Gde(e){if(e==null)return[`No rules. Add workflows.rules to config.json.`];let t=v3.safeParse(e);return t.success?t.data.rules.length===0?[`No rules. Add workflows.rules to config.json.`]:t.data.rules.map(e=>[e.name,e.enabled?`enabled`:`disabled`,W6(e)].join(` `)):[`The workflows block is invalid, so no rule runs: ${t.error.issues[0]?.message??`unknown problem`}`]}function Kde(e){let t=v3.safeParse(e??{});return t.success?t.data.rules.map(e=>({id:e.id,name:e.name,isEnabled:e.enabled,summary:W6(e)})):[]}function qde(e){let t=e.workflows;return typeof t!=`object`||!t||Array.isArray(t)?e:{...e,workflows:Object.fromEntries(Object.entries(t).filter(([e])=>e!==`rules`))}}var G6={ready:{label:`Ready`,meaning:`Ready to merge, or nothing left for you to do.`},passed:{label:`Passed`,meaning:`Checks passing, approved, or nothing open.`},failed:{label:`Failed`,meaning:`Checks failing, an automated review failed, or an auto-rebase failed.`},conflict:{label:`Conflict`,meaning:`Merge conflicts with the base branch.`},"your-turn":{label:`Your turn`,meaning:`Waiting on you: a review to give or a thread to answer.`},"changes-requested":{label:`Changes`,meaning:`A reviewer requested changes.`},thread:{label:`Threads`,meaning:`Unresolved review threads or comments.`},behind:{label:`Behind`,meaning:`The branch is behind its base.`},stale:{label:`Out of date`,meaning:`New commits landed since the automated review.`},fork:{label:`Fork`,meaning:`Opened from a fork, so it is reviewed by hand.`},running:{label:`Running`,meaning:`Checks or an automated review in progress.`},reviewer:{label:`Reviewer`,meaning:`Waiting on a reviewer.`},queued:{label:`Queued`,meaning:`Waiting for an automated review slot.`},draft:{label:`Draft`,meaning:`Still a draft.`},merged:{label:`Merged`,meaning:`Merged.`},discarded:{label:`Discarded`,meaning:`Review discarded or dismissed.`},unknown:{label:`Unknown`,meaning:`GitHub has not computed this yet.`},none:{label:`None`,meaning:`Nothing applies, such as no checks or no review requested.`}},K6=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:o[e],meaning:t}),Jde=Object.freeze([K6(a.DORMANT,`Not started yet.`),K6(a.INITIALIZING,`Setting up the worktree and launching the agent.`),K6(a.STARTING,`The agent is booting.`),K6(a.RUNNING,`The agent is mid-turn.`),K6(a.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),K6(a.WAITING,`Waiting on a permission prompt or your answer.`),K6(a.IDLE,`Ready for the next prompt.`),K6(a.COMPLETE,`Finished a turn you have not looked at yet.`),K6(a.DONE,`The agent process ended.`),K6(a.FAILED,`The agent failed to start or crashed.`)]);function q6(e,t){let n=p(`section`,`status-legend`),r=p(`dl`,`status-legend-rows`);return r.append(...t),n.append(p(`h2`,`status-legend-title`,e),r),n}function J6(e,t){let n=p(`div`,`status-legend-row`);return n.append(e,p(`dd`,`status-legend-meaning`,t)),n}function Yde(){return q6(`Status colors`,Jde.map(e=>{let t=p(`dt`,`status-legend-badge`),n=p(`span`,`status-legend-glyph`),r=p(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=J6(t,e.meaning);return _B(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function Xde(){return q6(`Pull request icons`,Object.keys(G6).map(e=>{let t=G6[e],n=p(`dt`,`status-legend-badge`);return n.append(vq(e),p(`span`,`status-legend-name`,t.label)),J6(n,t.meaning)}))}var Zde=2e4,$=null,Y6=null,X6=null,Z6=null,Q6=null,$6=null,e8=null,t8=`all`,n8=!1,r8=null,i8=cR,a8=sR,o8=oR,s8=!1,c8=null,l8=`day`,u8=new Set,d8=wh({getAck:hp,setAck:gp,signature:()=>FL($,X6),isLooking:()=>!w(Z6)}),f8=null,p8=null,m8=null,h8=null,g8=null,_8=null,v8=null,y8=null,b8=xh(()=>Z6),x8=(e,t)=>S(`usage`,e,t);function S8(e,t,n,r){let i=p(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=p(`span`,`usage-tile-value`,t);i.append(a,p(`span`,`usage-tile-label`,e));let o=n?p(`span`,`usage-tile-sub`,n):null;return o&&i.append(o),{tile:i,valueEl:a,subEl:o}}function C8(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function w8(e,t,n){let r=p(`div`,`usage-meter`);r.dataset.tone=String(t),r.setAttribute(`role`,`progressbar`),r.setAttribute(`aria-valuemin`,`0`),r.setAttribute(`aria-valuemax`,`100`),r.setAttribute(`aria-label`,n);let i=p(`span`,`usage-meter-fill`);return r.append(i),T8(r,e),r}function T8(e,t){if(!e)return;let n=C8(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function E8(e,t,n,r){let i=p(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=p(`table`,`usage-table`),o=p(`thead`),s=p(`tr`);for(let i of e){let e=p(`th`,i.numeric?`usage-num`:null);if(e.scope=`col`,!i.key){e.textContent=i.label,s.append(e);continue}let a=i.key;e.setAttribute(`aria-sort`,aR(t,a));let o=p(`button`,`usage-sort`,i.label);o.type=`button`,o.dataset.sortKey=a,o.addEventListener(`click`,()=>{c8={kind:`sort`,table:r,key:a},n(a)}),e.append(o),s.append(e)}o.append(s);let c=p(`tbody`);return a.append(o,c),i.append(a),{wrap:i,body:c}}function D8(e,t){for(let n of t){let t=p(`td`,n.numeric?`usage-num`:n.className||null,n.node?null:n.text);n.node&&t.append(n.node),n.title&&(t.title=n.title),n.span&&(t.colSpan=n.span),e.append(t)}}function O8(e){let t=p(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(p(`span`,`usage-share-text`,tI(e))),t;let n=p(`span`,`usage-share-bar`),r=p(`span`,`usage-share-fill`);return r.style.width=`${C8(e)}%`,n.append(r),t.append(n,p(`span`,`usage-share-text`,tI(e))),t}function k8(){if(!f8?.isConnected)return;let e=Number($?.ts);f8.textContent=Number.isFinite(e)&&e>0?`Report ${bh(e)}`:``}function A8(){if(!p8?.isConnected)return;let e=Number(Y6?.ts);p8.textContent=Number.isFinite(e)&&e>0?`Sessions ${bh(e)}`:``}function Qde(){let e=hI($?.activeBlock);e&&(h8?.isConnected&&(h8.textContent=`${e.pct}%`),g8?.isConnected&&(g8.textContent=`${dI(e.remainingMinutes)} left`),_8?.isConnected&&T8(_8,e.pct))}function $de(e){let t=GF.find(t=>t.value===e);return t?t.days:null}function efe(){let e=p(`div`,`usage-controls`),t=p(`label`,`usage-control`);t.append(p(`span`,`usage-control-label`,`Range`));let n=p(`select`,`usage-select`);for(let e of GF){let t=p(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=t8,n.addEventListener(`change`,()=>{t8=n.value,R8()}),t.append(n);let r=p(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>R8({force:!0}));let i=p(`span`,`usage-refresh-status`,``);return v8=r,y8=i,I8(),e.append(t,r,i),e}function tfe(){let e=x8(`Usage`,oI($?.daily||[]));e.append(efe()),f8=p(`p`,`usage-meta`,``),e.append(f8),k8(),b8.onTick(k8);let t=qL($);t&&e.append(p(`p`,`usage-warning`,t));let n=UL($?.pricing?.missing);return n&&e.append(p(`p`,`usage-warning`,n)),e}function nfe(){if(!jL(X6))return null;let e=DL($?.totals),t=x8(`Plan limits`,e?`${NL(`official`)}, ${e}`:NL(`official`)),n=BL(X6?.ts);if(n){let e=p(`p`,`usage-meta`,n);e.dataset.tone=`warn`,t.append(e)}let r=p(`div`,`usage-plan`);for(let e of kL){let t=AL(X6,e.key);t&&r.append(rfe(e,t))}return t.append(r),m8=p(`p`,`usage-meta`,``),t.append(m8),j8(),b8.onTick(j8),t}function rfe(e,t){let n=p(`div`,`usage-plan-window`),r=p(`div`,`usage-plan-head`);r.append(p(`span`,`usage-plan-label`,e.label)),r.append(p(`span`,`usage-plan-used`,IL(t)));let i=p(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(w8(t.pct,gI(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=LL(t.resetsAtMs))};return a(),b8.onTick(a),n}function j8(){if(!m8?.isConnected)return;let e=RL(X6?.ts);m8.textContent=e?`Plan ${e}`:``}function ife(){let e=PI($,X6),t=afe();if(e.length===0&&!t)return null;let n=x8(`Glimmervoid overhead`,e.length>0?EI:null);if(e.length>0){let t=p(`div`,`usage-tiles`);for(let n of e){let e=[FI(n),$F(n.costUSD)].filter(Boolean).join(`, `);t.append(S8(`${n.label}, share of Claude use`,tI(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=II(t);e&&n.append(p(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(p(`p`,`usage-meta`,`Selected range by lane. ${TI}`)),n.append(t)),n}function afe(){if(!AI($))return null;let e=OI($),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=E8([{label:`Lane`},{label:`Cost`,numeric:!0},{label:`Tokens`,numeric:!0},{label:`Sessions`,numeric:!0},{label:`Share`,numeric:!0}],null,()=>{},`lane`);for(let n of e){let e=p(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),D8(e,[{text:DI(n.lane),className:`usage-lane-cell`},{text:$F(n.costUSD),numeric:!0},{text:eI(n.tokens),numeric:!0},{text:zI(n.sessions),numeric:!0},{node:O8(iI(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function ofe(){let e=$?.activeBlock,t=$?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=DL($?.totals),i=x8(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(p(`p`,`usage-empty`,`No active block.`));let e=M8();return e&&i.append(e),i}let a=PL($,X6),o=p(`div`,`usage-tiles`);o.append(S8(`block tokens`,eI(e.tokens??0),$F(e.costUSD??0),a).tile);for(let t of pI(e.burn))o.append(S8(t.label,t.value,t.sub,a).tile);let s=hI(e);if(s){let e=S8(`elapsed`,`${s.pct}%`,`${dI(s.remainingMinutes)} left`);h8=e.valueEl,g8=e.subEl,o.append(e.tile)}i.append(o),s&&(_8=w8(s.pct,`ok`,`Elapsed share of the current block window`),i.append(_8),b8.onTick(Qde));let c=mI(e.projection);if(c){let e=p(`p`,`usage-projection`,c);e.dataset.tone=a,i.append(e)}let l=M8();l&&i.append(l);let u=bI($?.tokenLimit);if(!u)return i;let d=vI($?.tokenLimit),f=PL($);i.append(w8(d,f,`Share of the largest completed block seen, estimated`));let m=p(`p`,`usage-meta`,u);m.dataset.tone=f,i.append(m),i.append(p(`p`,`usage-provenance`,NL(`estimated`)));let h=xI(e.projection,$?.tokenLimit);if(h){let e=p(`p`,`usage-meta`,h);e.dataset.tone=f,i.append(e)}return i}function M8(){let e=$?.anomaly;if(!yL(e))return null;let t=p(`p`,`usage-meta`,_L(e));return t.dataset.tone=vL(e),t}function sfe(){let e=hR($?.blocks);if(e.length===0)return null;let t=DL($?.totals),n=x8(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=p(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=p(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(p(`span`,`usage-block-label`,fI(t.startTs)));let n=p(`span`,`usage-block-bar`),a=p(`span`,`usage-block-fill`);a.style.width=`${C8(iI(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(p(`span`,`usage-block-value`,`${eI(t.tokens)} ${$F(t.costUSD)}`)),r.append(e)}return n.append(r),n}function cfe(){let e=$?.totals||{},t=mR($?.daily,cI($)),n=x8(`Totals`,[UF,$?.tz?`TZ ${$.tz}`:``].filter(Boolean).join(` `)),r=PL($,X6),i=p(`div`,`usage-tiles`);i.append(S8(`today`,eI(t?.tokens??0),$F(t?.costUSD??0),r).tile),i.append(S8(`range total`,eI(e.tokens??0),$F(e.costUSD??0)).tile);let a=RI($);a&&i.append(S8(a.label,a.value,a.sub).tile),n.append(i);let o=lfe(e);o&&n.append(o);let s=TL(e)?wL(e):[];if(s.length>0){let e=p(`div`,`usage-tiles usage-vendor-tiles`);for(let t of s)e.append(S8(t.label,eI(t.tokens),$F(t.costUSD)).tile);n.append(e)}return p8=p(`p`,`usage-meta`,``),n.append(p8),A8(),b8.onTick(A8),n}function lfe(e){let t=CI(e);if(t.length===0)return null;let n=p(`div`,`usage-compo`),r=p(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=p(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=p(`div`,`usage-compo-legend`);for(let e of t){let t=p(`span`,`usage-compo-item`),n=p(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,p(`span`,`usage-compo-label`,e.label),p(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function ufe(){let e=$?.savings;if(!HI(e))return null;let t=x8(`Savings`,``),n=p(`div`,`usage-tiles`),r=UI(e);r&&n.append(S8(`rtk compression`,r.value,r.sub).tile);let i=WI(e);return i&&n.append(S8(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function dfe(){let e=GI($);if(e.length===0)return null;let t=x8(`Budgets`,`your own ceilings`),n=p(`div`,`usage-budgets`),r=CV(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=p(`div`,`usage-budget`),r=p(`div`,`usage-budget-head`);r.append(p(`span`,`usage-budget-label`,KI(t.scope))),r.append(p(`span`,`usage-budget-value`,qI(t))),r.append(p(`span`,`usage-budget-pct`,tI(JI(t)))),e.append(r),e.append(w8(JI(t),t.tone,YI(t))),n.append(e)}return t.append(n),t}function ffe(){let e=$?.daily||[],t=l8,n=pR(oL(e,t),i8),r=XI.find(e=>e.value===t)?.label||`Day`,i=x8(`Over time`,[lL(e)].filter(Boolean).join(`, `));if(i.append(pfe()),n.length===0)return i.append(p(`p`,`usage-empty`,`No usage.`)),i;let a=hfe(e);a&&i.append(a);let{wrap:o,body:s}=E8([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],i8,e=>{i8=iR(i8,e),N8()},`day`);for(let e of n){let n=String(e.day??``),r=p(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=fR(e.models),a=`${t}:${n}`,o=gfe(a,i.length);D8(r,[{node:mfe(e,t),title:n},{text:eI(e.tokens),numeric:!0},{text:$F(e.costUSD),numeric:!0},{node:o,className:`usage-toggle-cell`}]),s.append(r),i.length!==0&&u8.has(a)&&s.append(_fe(i))}return i.append(o),i}function pfe(){let e=p(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of XI){let n=p(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===l8?`true`:`false`),n.addEventListener(`click`,()=>{l8!==t.value&&(l8=t.value,c8={kind:`period`,view:t.value},N8())}),e.append(n)}return e}function mfe(e,t){let n=p(`span`,`usage-period-cell`);return n.append(p(`span`,null,cL(e.day,t))),e.source===`history`&&n.append(p(`span`,`usage-history-tag`,`history`)),n}function hfe(e){let{cells:t,max:n}=pL(e,{today:cI($)});if(t.length===0||n<=0)return null;let r=p(`div`,`usage-heatmap-scroll`),i=p(`div`,`usage-heatmap`);i.setAttribute(`role`,`img`),i.setAttribute(`aria-label`,`Daily usage for the trailing ${Math.max(...t.map(e=>e.week))+1} weeks`);let a=p(`div`,`usage-heatmap-days`);for(let e of dL)a.append(p(`span`,`usage-heatmap-day`,e));for(let e of t){let t=p(`span`,`usage-heatmap-cell`);t.dataset.tone=String(e.tone),e.noData&&(t.dataset.noData=`true`),e.source===`history`&&(t.dataset.source=`history`),t.style.gridColumn=String(e.week+1),t.style.gridRow=String(e.weekday+1),t.title=mL(e),i.append(t)}return r.append(a,i),r}function gfe(e,t){if(t===0)return null;let n=p(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,u8.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{c8={kind:`day`,day:e},u8.has(e)?(u8.delete(e),N8()):(u8.add(e),N8())}),n}function _fe(e){let t=p(`tr`,`usage-row-breakdown`),n=p(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=p(`span`,`usage-model-chip`);e.append(p(`span`,`usage-model-name`,$L(t)),p(`span`,`usage-model-value`,`${eI(t.tokens)} ${$F(t.costUSD)}`)),n.append(e)}return t.append(n),t}function vfe(e,t){let n=p(`span`,`usage-model-name-wrap`),r=CL(e,t);return r&&n.append(p(`span`,`usage-vendor-tag`,r)),n.append(p(`span`,null,$L(e))),n}function yfe(){let e=fR($?.models,a8),t=$?.totals||{},n=nI(t),r=x8(`By model`,rI(n));if(e.length===0)return r.append(p(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=E8([{label:`Model`,key:`model`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Input`,numeric:!0,key:`input`},{label:`Output`,numeric:!0,key:`output`},{label:`Cache write`,numeric:!0,key:`cacheCreate`},{label:`Cache read`,numeric:!0,key:`cacheRead`}],a8,e=>{a8=iR(a8,e),N8()},`model`);for(let r of e){let e=p(`tr`,`usage-row`);D8(e,[{node:vfe(r,t),className:`usage-model-cell`,title:$L(r)},{text:eI(r.tokens),numeric:!0},{text:$F(r.costUSD),numeric:!0},{node:O8(iI(r[n],t[n])),className:`usage-share-cell`},{text:eI(r.input),numeric:!0},{text:eI(r.output),numeric:!0},{text:eI(r.cacheCreate),numeric:!0},{text:eI(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function bfe(){let e=lR($?.sessions,o8),t=uR(e,s8),n=$?.totals||{},r=nI(n),i=x8(`By session`,rI(r));if(e.length===0)return i.append(p(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:o}=E8([{label:`Session`,key:`label`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Share`,numeric:!0},{label:`Last activity`,numeric:!0,key:`lastTs`}],o8,e=>{o8=iR(o8,e),N8()},`session`);for(let e of t.rows){let t=p(`tr`,`usage-row`);ZL(e)&&(t.dataset.managed=`true`);let i=QL(e),a=p(`span`,`usage-ago`,``);D8(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:eI(e.tokens),numeric:!0},{text:$F(e.costUSD),numeric:!0},{node:O8(iI(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),b8.track(a,Number(e.lastTs),bh),o.append(t)}return i.append(a),e.length>10&&i.append(xfe(t.hiddenCount)),i}function xfe(e){let t=p(`div`,`usage-overflow`),n=dR(e);n&&t.append(p(`p`,`usage-meta`,n));let r=p(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,s8?`true`:`false`),r.addEventListener(`click`,()=>{c8={kind:`sessions-toggle`},s8=!s8,N8()}),t.append(r),t}function Sfe(){let e=x8(`Not available`,``);return e.append(p(`p`,`usage-empty`,KL($))),e.append(p(`p`,`usage-empty`,WF)),e}function Cfe(){f8=null,p8=null,m8=null,h8=null,g8=null,_8=null,v8=null,y8=null}function N8({force:e=!1}={}){if(!Z6||!e&&w(Z6))return;let t=Z6.parentElement,n=t?t.scrollTop:0;b8.reset(),Cfe(),Z6.textContent=``,Efe(),t&&(t.scrollTop=n),wfe()}function wfe(){let e=c8;if(c8=null,!e)return;let t=Tfe(e);if(!t||!Z6)return;let n=Z6.querySelector(t);n instanceof HTMLElement&&n.focus()}function Tfe(e){return e.kind===`day`?`.usage-toggle[data-usage-day="${CSS.escape(e.day)}"]`:e.kind===`period`?`.usage-period-button[data-period-view="${CSS.escape(e.view)}"]`:e.kind===`sessions-toggle`?`.usage-toggle[data-usage-sessions-toggle="true"]`:e.kind===`sort`?`[data-usage-table="${CSS.escape(e.table)}"] .usage-sort[data-sort-key="${CSS.escape(e.key)}"]`:null}function Efe(){if(!Z6)return;Z6.append(tfe());let e=nfe();if(JL($)){e&&Z6.append(e),Z6.append(Sfe());return}if(!$){e&&Z6.append(e),Z6.append(p(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,dfe()].filter(e=>e!==null);Z6.append(P8(`usage-band-now`,ofe(),t,{sideFirst:!0}));let n=[ufe()].filter(e=>e!==null);Z6.append(P8(`usage-band-spend`,cfe(),n));let r=[sfe()].filter(e=>e!==null);Z6.append(P8(`usage-band-trend`,ffe(),r));let i=ife();i&&Z6.append(i),Z6.append(yfe(),bfe())}function P8(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=p(`div`,`usage-band ${e}`),a=p(`div`,`usage-band-col`);for(let e of n)a.append(e);return r?(i.append(a,t),i):(i.append(t,a),i)}function F8(){Q6&&Q6(d8.refresh())}function Dfe(){d8.acknowledge(),F8()}function I8(){v8&&(v8.disabled=n8),y8&&(y8.textContent=n8?`Refreshing`:``)}function L8(e){n8=e,I8(),r8&&=(clearTimeout(r8),null),e&&(r8=setTimeout(()=>{r8=null,n8=!1,I8()},Zde))}function Ofe(e){Q6=e,F8()}function kfe(e){$6=e}function R8({force:e=!1}={}){if(!$6)return;e8=mm(`usage`);let t={type:`request-usage-report`,requestId:e8};e&&(t.force=!0);let n=$de(t8);n!==null&&(t.days=n),L8(!0),$6(t)}function Afe(e){if(Z6)return Z6;let t=p(`div`,`usage-content`);return e.appendChild(t),Z6=t,b8.ensure(),N8({force:!0}),t}function jfe(){N8({force:!0})}function Mfe(e){Y6=e,$&&!JL($)&&p8?.isConnected?A8():N8()}function Nfe(e){X6=e,N8(),F8()}function Pfe(e){YL(e,e8)&&(L8(!1),$=e,N8(),F8())}function Ffe(){let e=$?.pricing||(Y6?{source:Y6.pricingSource}:null),t=HL(e?.fetchedAt),n=[VL(e,t!==null&&t>0?bh(t):``)],r=KL($);r&&n.push(r);let i=GL($?.scan);return i&&n.push(i),n}var Ife=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),Lfe=Object.freeze({"branch-count-unavailable":`The last check could not compare the checked-out branch with its upstream.`,"branch-diverged":`The checked-out branch has diverged from its upstream.`,"fetch-failed":`The last update check could not fetch the upstream branch.`,"main-channel-requires-clone":`The main channel requires a clone install.`,"no-branch":`The last update check found no checked-out branch.`,"no-upstream":`The checked-out branch has no upstream.`,"release-already-checked-out":`The checkout already contains the latest release. Restart to run it.`,"release-check-failed":`The last release check failed.`,"remote-tip-unavailable":`The last update check could not resolve the upstream branch tip.`,"update-check-failed":`The last update check failed.`}),Rfe=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),z8=`Not connected to the server. Reconnecting.`,B8=Object.freeze({requested:!1,failure:null});function V8(e,t){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:z8}:t===`progress-frame`?B8:t===`error-frame`?e.requested?B8:e:e.failure===null?e:{requested:e.requested,failure:null}}function H8(e,t){return t?.state?t.state:e?.journalSummary?.state}function U8(e){return{enabled:!1,reason:e}}function W8(){return{enabled:!0,reason:null}}function zfe({status:e,journal:t,request:n=B8}){let r=H8(e,t)===`running`||n.requested,i=r?U8(`Wait for update staging to finish.`):W8();if(n.failure)return{update:U8(n.failure),restart:i};if(r)return{update:U8(`Wait for the current update to finish.`),restart:i};if(!e)return{update:U8(`Update status unavailable. Check for updates.`),restart:i};let a=e.applyRefusal;return a?{update:U8(a.message),restart:i}:{update:W8(),restart:i}}function Bfe(e){let t=e?.applyRefusal;return t===void 0?`command`:t===null?`link`:Rfe.includes(t.reason)?`command`:`link`}function G8(e){let t=Sh(e,``);return t?`: ${t}`:``}function Vfe(e){return e.state===`staged`?`Update staged. Restart to hand it off${G8(e.reason)}.`:e.state===`succeeded`?`Update succeeded at restart${G8(e.reason)}.`:e.state===`failed`?`Update failed${G8(e.reason)}.`:e.state===`discarded`?`Update discarded${G8(e.reason)}.`:e.state===`interrupted`?`Update interrupted${G8(e.reason)}.`:null}function K8(e){return Ife[e]??e}function Hfe(e){let t=e.steps.find(t=>t.id===e.activeStep);if(t&&t.outputTail.length>0)return{stepId:t.id,lines:t.outputTail};let n=e.steps.findLast(e=>e.outputTail.length>0);return n?{stepId:n.id,lines:n.outputTail}:{stepId:null,lines:[]}}function Ufe(e){if(!e||e.state===`idle`)return null;let t=Hfe(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:Vfe(e),steps:e.steps.map(e=>({id:e.id,label:K8(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:K8(n)}}var q8=6e5;function J8(e){return e.channel!==`main`||!Number.isInteger(e.behindCount)?``:`${e.behindCount} ${e.behindCount===1?`commit`:`commits`} behind`}function Wfe(e,t){let n=H8(e,t),r=Ih(t?.toVersion,t?.toSha)||Ih(e?.latest,e?.latestSha)||`the update`;if(n===`running`)return{tone:`running`,headline:`Updating to ${r}. Glimmervoid keeps running until the restart.`};if(n===`staged`)return{tone:`staged`,headline:`${r} is staged. Restart to finish updating.`};if(!e)return{tone:`unknown`,headline:`No update check has run yet.`};let i=Ih(e.current,e.currentSha)||`an unknown version`;if(e.updateAvailable){let t=Ih(e.latest,e.latestSha)||`a newer build`,n=J8(e);return{tone:`available`,headline:`Update available: ${i} to ${t}${n?` (${n})`:``}.`}}return Sh(e.reason,``)?{tone:`unknown`,headline:`Running ${i}. The last check did not finish.`}:{tone:`current`,headline:`Up to date. Running ${i}.`}}function Gfe(e){if(!e)return`Update status unavailable.`;let t=Ih(e.current,null)||`Unknown version`,n=Fs(e.currentSha,{validate:!0}),r=Sh(e.installedBranch,``);return[t,[n?`commit ${n}`:``,r?`on ${r}`:``].filter(Boolean).join(` `),e.isTreeClean===!0?`clean checkout`:e.isTreeClean===!1?`uncommitted local changes`:``].filter(Boolean).join(`, `)}function Kfe(e){return e?{label:Ih(e.latest,e.latestSha)||`Latest target unknown`,behind:J8(e),releaseUrl:Sh(e.releaseUrl,``)}:{label:`Update status unavailable.`,behind:``,releaseUrl:``}}function qfe({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<q8)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=q8}function Jfe({status:e,checkForUpdates:t,relativeTime:n}){if(t===!1)return`Update checks are off.`;if(!e)return`No update check has run.`;let r=Sh(e.reason,``);return r?Lfe[r]??`The last update check failed: ${r}.`:e.flavor===`unknown`?`The install flavor is unknown.`:n}var Yfe=Object.freeze({sounds:()=>Zw(),themes:yT}),Xfe=2200,Zfe=1600,Y8=`browser-appearance`,Qfe=`browser-shortcuts`,$fe=`flying-animals`,epe=Object.freeze({ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1});function tpe(e){if(!e.optionsFrom)return e;let t=Yfe[e.optionsFrom]?.()??[];return{...e,options:t.map(e=>({value:e.id,label:e.label}))}}function X8(){return Object.freeze(a6.sections.map(e=>({...e,settings:e.settings.map(tpe)})))}var Z8=X8(),Q8=!1,$8=null,e5=null,t5=null,n5=null,r5=null,i5=null,a5=null,o5=null,s5=Z8[0],c5={},l5={},u5=new Map,d5=new Map,f5=new Map,p5=new WeakMap,m5=Promise.resolve(),h5=new Map,g5=``,_5=null,v5=null,y5=B8,b5=()=>{},x5=e=>{e([])},S5=null,C5=!1,w5=!1,T5=null,E5=new Set,D5=new Map;function npe(){return{themeId:zf(),flyingAnimalsEnabled:Vf(),...jp(),soundEnabled:kf(),soundId:Qw(jf()),notificationsEnabled:Nf(),compactStatusLabels:Ff(),sessionUsageChips:Lf()}}function O5(e){l5=Cde(Z8,{...e,prefs:npe()})}function k5(e){return f5.has(e.id)?f5.get(e.id):l5[e.path]}function A5(e){return[e,...bde(Z8,e.id)]}function j5(e){return A5(e).flatMap(e=>e.settings)}function rpe(e){return Z8.find(t=>t.settings.some(t=>t.id===e.id))??s5}function M5(e,t=null){history.replaceState(history.state,``,bV(e,t))}function ipe(e){requestAnimationFrame(()=>{let t=document.getElementById(e),n=t?.closest(`.settings-view-advanced-panel`);n&&(Q8=!0,n.hidden=!1,o5?.querySelector(`.settings-view-advanced-toggle`)?.setAttribute(`aria-expanded`,`true`));let r=t?.closest(`.settings-view-setting`);r&&(r.scrollIntoView({block:`center`}),r.classList.remove(`settings-view-setting-flash`),requestAnimationFrame(()=>r.classList.add(`settings-view-setting-flash`)))})}function ape(e){for(let t of Rw(zw)){let n=p(`div`,`shortcut-group`);n.appendChild(p(`div`,`shortcut-group-title`,t.title));let r=p(`dl`,`shortcut-rows`);for(let e of t.items){let t=p(`dt`,`shortcut-keys`);e.combos.forEach((e,n)=>{n>0&&t.appendChild(p(`span`,`shortcut-sep`,`/`)),Bw(t,e)}),r.append(t,p(`dd`,`shortcut-label`,e.label))}n.appendChild(r),e.appendChild(n)}}function ope(e){let t=p(`div`,`settings-about`),n=p(`span`,`settings-about-version`,`GLIMMERVOID `);n.appendChild(p(`span`,`settings-about-v`,`v0.36.0`));let r=p(`span`,`settings-about-links`),i=p(`a`,`settings-about-link`,`GitHub`);i.href=`https://github.com/${r3}`,i.target=`_blank`,i.rel=`noopener`;let a=p(`a`,`settings-about-link`,`Changelog`);a.href=`https://github.com/${r3}/blob/main/CHANGELOG.md`,a.target=`_blank`,a.rel=`noopener`,r.append(i,a),t.append(n,r),e.appendChild(t)}function N5(e){return Z8.flatMap(e=>e.settings).find(t=>t.id===e)??null}function spe(e){if(l5[`pref:soundEnabled`]===e)return;l5[`pref:soundEnabled`]=e;let t=N5(`alert-sounds-enabled`);t&&c7(t)}var cpe={"pref:flyingAnimalsMinGapSeconds":e=>Cp(Number(e)),"pref:flyingAnimalsMaxGapSeconds":e=>wp(Number(e)),"pref:flyingAnimalsMinDurationSeconds":e=>Tp(Number(e)),"pref:flyingAnimalsMaxDurationSeconds":e=>Ep(Number(e)),"pref:flyingAnimalsScale":e=>Dp(Number(e)),"pref:flyingAnimalsOnPhone":e=>Op(e===!0)};function lpe(e,t){if(e.path===`pref:compactStatusLabels`){If(t===!0),gT(t===!0);return}if(e.path===`pref:sessionUsageChips`){Rf(t===!0),_T(t===!0);return}if(e.path===`pref:themeId`){Bf(String(t)),hT(String(t));return}if(e.path===`pref:flyingAnimalsEnabled`){Hf(t===!0),n3(t===!0);return}let n=cpe[e.path];n?(n(t),n3(Vf())):e.path===`pref:soundEnabled`?G0(t===!0):e.path===`pref:soundId`?(Mf(String(t)),lT(String(t))):e.path===`pref:notificationsEnabled`&&(Pf(t===!0),t===!0&&zG().then(()=>c7(e,{force:!0})))}function P5(e,t){let n=d5.get(e.id);n!==void 0&&clearTimeout(n),d5.delete(e.id),t&&u5.set(e.id,t),t||u5.delete(e.id),l7(e)}function F5(e){P5(e,{tone:`saved`,text:`Saved`}),d5.set(e.id,window.setTimeout(()=>P5(e,null),Xfe))}function I5(e,t){h5.delete(e.id),e.path.startsWith(`pref:`)?(l5[e.path]=t,lpe(e,t),c7(e),F5(e)):f5.has(e.id)&&JSON.stringify(f5.get(e.id))===JSON.stringify(t)||(f5.set(e.id,t),P5(e,{tone:`saving`,text:`Saving`}),m5=m5.then(()=>upe(e,t)))}async function upe(e,t){let n=Tde(Z8,l5,e,t);if(Object.keys(n).length===0)f5.delete(e.id),P5(e,null),c7(e);else{P5(e,{tone:`saving`,text:`Saving`});try{let r=await hm(`update-settings`,{settings:n});if(f5.get(e.id)===t&&f5.delete(e.id),r.type===`settings-error`){P5(e,{tone:`error`,text:String(r.message)}),c7(e,{force:!0});return}if(r.type!==`settings-updated`){P5(e,{tone:`error`,text:`The server did not confirm the save.`}),c7(e,{force:!0});return}A7(r.settings),F5(e)}catch(n){f5.get(e.id)===t&&f5.delete(e.id),P5(e,{tone:`error`,text:n?.message||`Failed to save the setting.`}),c7(e,{force:!0})}}}function L5(e,t){t&&h5.set(e.id,t),t||h5.delete(e.id),l7(e)}function dpe(e,t){if(!t.exclusiveMin)return t.min;if(e.integer!==!1)return t.min+1}function R5(e){return e?`On`:`Off`}function fpe(e){let t=p(`div`,`settings-view-toggle-wrap`),n=p(`label`,`settings-view-toggle`),r=p(`input`,`settings-view-checkbox`);r.type=`checkbox`,r.checked=k5(e)===!0,e.id===`desktop-notifications`&&!LG()&&(r.checked=!1,r.disabled=!0),r.setAttribute(`aria-labelledby`,e.id);let i=p(`span`,`settings-view-toggle-state`,R5(r.checked));return r.addEventListener(`change`,()=>{let t=r.checked;U6(e,t)?(r.checked=!1,i.textContent=R5(!1),Tm({title:e.title,message:e.warning??``,confirmLabel:`Turn on`,danger:!0,onConfirm:()=>I5(e,!0)})):(i.textContent=R5(t),I5(e,t))}),n.append(r,i),t.appendChild(n),t}function z5(e,t,n){e.addEventListener(`blur`,t),e.addEventListener(`keydown`,e=>{e.key===`Enter`?(e.preventDefault(),t()):e.key===`Escape`&&(e.preventDefault(),n())})}function B5(e){return e instanceof HTMLTextAreaElement||e instanceof HTMLInputElement&&[`text`,`number`,`password`].includes(e.type)}function V5(e,t){p5.set(t,{base:k5(e),isDirty:!1}),t.addEventListener(`input`,()=>{let e=p5.get(t);e&&(e.isDirty=!0)})}function H5(e,t,n){t.value!==n&&(t.value=n),p5.set(t,{base:k5(e),isDirty:!1}),L5(e,null)}function U5(e,t,n,r=!1){let i=p5.get(t);if(!i)return;let a=zde(Z8,e,i,t.value,l5,r);a.kind===`invalid`?L5(e,a.error):a.kind===`unchanged`?H5(e,t,n):U6(e,a.value)?(H5(e,t,n),Tm({title:e.title,message:e.warning??``,confirmLabel:`Save`,danger:!0,onConfirm:()=>I5(e,a.value)})):(p5.set(t,{base:a.value,isDirty:!1}),I5(e,a.value))}function ppe(e){let t=p(`input`,`settings-view-input`);t.type=e.control===`password`?`password`:`text`;let n=()=>String(k5(e)??``);t.value=n(),e.control===`password`&&(t.value=``,t.placeholder=n()?`Configured`:`Not configured`);let r=O6(e,c5);return r&&(t.disabled=!0,t.setAttribute(`aria-description`,`Supplied by ${r}`)),t.autocomplete=`off`,t.spellcheck=!1,t.setAttribute(`aria-labelledby`,e.id),V5(e,t),z5(t,()=>{if(e.control===`password`){let n=t.value;if(n===``)return;H5(e,t,``),I5(e,n)}else U5(e,t,n())},()=>H5(e,t,e.control===`password`?``:n())),t}function mpe(e){let t=p(`input`,`settings-view-input`),n=P6(e);t.type=`number`;let r=()=>z6(k5(e));t.value=r(),t.step=e.integer===!1?String(e.step??`any`):`1`;let i=n?dpe(e,n):void 0;i!=null&&(t.min=String(i)),n?.max!=null&&(t.max=String(n.max)),t.autocomplete=`off`,t.setAttribute(`aria-labelledby`,e.id),V5(e,t),z5(t,()=>U5(e,t,r(),t.validity.badInput),()=>H5(e,t,r()));let a=e.unit?.label;if(!a)return t;let o=p(`div`,`settings-view-number`),s=p(`span`,`settings-view-unit`,a);return s.setAttribute(`aria-hidden`,`true`),t.setAttribute(`aria-description`,a),o.append(t,s),o}function W5(e,t){let n=[...e.querySelectorAll(`[role="radio"]`)],r=n.some(e=>e.dataset.value===t);for(let[e,i]of n.entries()){let n=i.dataset.value===t;i.setAttribute(`aria-checked`,String(n)),i.tabIndex=n||!r&&e===0?0:-1}}function G5(e,t,n){n!==String(k5(e))&&(W5(t,n),I5(e,n),W5(t,String(k5(e))))}function hpe(e){let t=p(`div`,`settings-view-segmented`);t.setAttribute(`role`,`radiogroup`),t.setAttribute(`aria-labelledby`,e.id);let n=e.options??[];for(let r of n){let n=p(`button`,`settings-view-segment`,r.label);n.type=`button`,n.dataset.value=r.value,n.setAttribute(`role`,`radio`),n.addEventListener(`click`,()=>G5(e,t,r.value)),t.appendChild(n)}return t.addEventListener(`keydown`,r=>{let i=epe[r.key];if(!i||n.length===0)return;r.preventDefault();let a=Math.max(0,n.findIndex(t=>t.value===String(k5(e)))),o=n[(a+i+n.length)%n.length];G5(e,t,o.value),t.querySelector(`[data-value="${CSS.escape(o.value)}"]`)?.focus()}),W5(t,String(k5(e))),t}function gpe(e){let t=p(`select`,`settings-view-input`);t.setAttribute(`aria-labelledby`,e.id);for(let n of e.options??[]){let e=p(`option`,null,n.label);e.value=n.value,t.appendChild(e)}return t.value=String(k5(e)),t.addEventListener(`change`,()=>I5(e,t.value)),t}function _pe(e,t){let n=e.valueKind===`posthog-projects`?`One project id per line, or none for no project. Shift+Enter adds a line.`:`One entry per line. Shift+Enter adds a line.`;return t.length>0||!e.listEmptyText?n:`${e.listEmptyText} ${n}`}function vpe(e){let t=p(`textarea`,`settings-view-input settings-view-list-input`),n=()=>N6(k5(e)),r=()=>n().join(`
|
|
258
|
-
`);t.rows=3,t.value=r(),t.autocomplete=`off`,t.spellcheck=!1,t.placeholder=e.listPlaceholder??``,t.setAttribute(`aria-labelledby`,e.id),V5(e,t),t.addEventListener(`blur`,()=>U5(e,t,r())),t.addEventListener(`keydown`,n=>{n.key===`Escape`?(n.preventDefault(),H5(e,t,r())):n.key!==`Enter`||n.shiftKey||(n.preventDefault(),U5(e,t,r()))});let i=p(`div`,`settings-view-list`);return i.append(t,p(`span`,`settings-view-list-hint`,_pe(e,n()))),i}function ype(e){let t=p(`div`,`settings-view-projects`),n=k5(e),r=new Set(Array.isArray(n)?n:[]),i=Array.isArray(c5.projectChoices)?c5.projectChoices:[];i.length===0&&t.appendChild(p(`div`,`settings-empty`,`No configured projects are available.`));for(let n of T6(i,[...r])){let i=p(`label`,`settings-view-project-choice`),a=p(`input`,`settings-view-checkbox`);a.type=`checkbox`,a.checked=r.has(n.id),a.addEventListener(`change`,()=>{let t=k5(e),r=new Set(Array.isArray(t)?t:[]);a.checked&&r.add(n.id),a.checked||r.delete(n.id),I5(e,[...r])}),i.append(a,document.createTextNode(n.name)),t.appendChild(i)}return t}function K5(e,t,{decision:n={enabled:!0,reason:null},isPrimary:r=!1}={}){let i=p(`button`,`btn-dialog ${r?`btn-dialog-confirm`:`btn-dialog-cancel`} settings-update-button`,e);return i.type=`button`,i.disabled=!n.enabled,i.addEventListener(`click`,t),i}function q5(e){let t=p(`span`,`settings-update-action-status`,e??``);return t.setAttribute(`role`,`status`),t}function J5(e){let t=V8(y5,e);t!==y5&&(y5=t,M7())}function Y5({restartWhenStaged:e,confirmedSessionIds:t}){J5(U({type:`update-apply`,restartWhenStaged:e,confirmedSessionIds:t})?`request-sent`:`request-unsent`)}function X5(){S5=Date.now();let e=U({type:`update-check`});w5=e,T5=e?null:z8,M7()}function bpe(){return w5?`Checking for updates.`:T5}function Z5(){_5?(C5=!1,qfe({status:_5,checkForUpdates:c5.checkForUpdates,now:Date.now(),lastAutoCheckAt:S5})&&X5()):C5=!0}function xpe(){let e=zfe({status:_5,journal:v5,request:y5}),t=p(`div`,`settings-update-actions`),n=p(`div`,`settings-update-buttons`);n.append(K5(`Update and restart`,()=>x5(e=>Y5({restartWhenStaged:!0,confirmedSessionIds:e})),{decision:e.update,isPrimary:!0}),K5(`Update without restart`,()=>Y5({restartWhenStaged:!1}),{decision:e.update}),K5(`Check for updates`,X5,{decision:{enabled:!w5,reason:null}}),K5(`Restart`,b5,{decision:e.restart})),t.append(n,q5(e.update.reason));let r=bpe();return r&&t.append(q5(r)),t}function Q5(e,...t){let n=p(`div`,`settings-update-fact`);return n.append(p(`span`,`settings-update-fact-label`,e),...t),n}function Spe(){let e=Ufe(v5);if(!e)return null;let t=p(`div`,`settings-update-progress`);t.dataset.state=e.state,t.setAttribute(`role`,`status`),e.terminalLine&&t.appendChild(p(`div`,`settings-update-terminal`,e.terminalLine));let n=p(`ol`,`settings-update-steps`);for(let t of e.steps){let e=p(`li`,`settings-update-step`);e.dataset.status=t.status,e.append(p(`span`,`settings-update-step-state`,t.status),p(`span`,`settings-update-step-label`,t.label)),n.appendChild(e)}if(t.appendChild(n),e.outputTail.length===0)return t;let r=p(`pre`,`settings-update-output`,e.outputTail.join(`
|
|
259
|
-
`));if(e.outputStepId&&(r.dataset.step=e.outputStepId),!e.outputStepLabel)return t.appendChild(r),t;let i=`Output from ${e.outputStepLabel}`;return r.setAttribute(`aria-label`,i),t.append(p(`div`,`settings-update-output-label`,i),r),t}function Cpe(){let e=p(`div`,`settings-view-status-block settings-update-status`),t=Wfe(_5,v5),n=p(`div`,`settings-update-summary`,t.headline);n.dataset.tone=t.tone,e.appendChild(n),e.appendChild(Q5(`Running`,Gfe(_5)));let r=Kfe(_5),i=[r.label];if(r.behind&&i.push(p(`span`,`settings-update-behind`,r.behind)),r.releaseUrl){let e=p(`a`,`settings-link`,`View release`);e.href=r.releaseUrl,e.target=`_blank`,e.rel=`noopener noreferrer`,i.push(e)}e.appendChild(Q5(`Latest`,...i));let a=typeof _5?.lastCheckAt==`number`?_5.lastCheckAt:null,o=Q5(`Last checked`,Jfe({status:_5,checkForUpdates:c5.checkForUpdates,relativeTime:bh(a)}));a&&(o.title=new Date(a).toLocaleString()),e.appendChild(o),e.appendChild(xpe());let s=Spe();return s&&e.appendChild(s),e}function wpe(e){return e===null?`not probed yet`:e?`resolved`:`not found on PATH`}function Tpe(){let e=Array.isArray(c5.customAgents)?c5.customAgents:[];return e.length===0?[`None declared. Add customAgents to config.json.`]:e.map(e=>{let t=e.args.length>0?`${e.command} ${e.args.join(` `)}`:e.command;return`${e.id} ${e.label} ${t} ${wpe(e.resolvable)}`})}function Epe(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Declared agents`));for(let t of Tpe())e.appendChild(p(`div`,`settings-readonly`,t));return e}async function Dpe(e,t){E5.add(e.id),D5.delete(e.id),j7();try{let n=await hm(`update-settings`,{settings:{workflows:{rules:[{id:e.id,enabled:t}]}}});if(n.type===`settings-error`&&D5.set(e.id,String(n.message)),E5.delete(e.id),n.type===`settings-updated`){A7(n.settings);return}}catch(t){D5.set(e.id,t?.message||`Failed to save the rule.`)}E5.delete(e.id),j7()}function Ope(e){return E5.has(e.id)?`Saving`:D5.get(e.id)??``}function kpe(e){let t=p(`div`,`settings-view-toggle-wrap`),n=p(`label`,`settings-view-toggle`),r=p(`input`,`settings-view-checkbox`);r.type=`checkbox`,r.checked=e.isEnabled,r.disabled=E5.has(e.id),r.setAttribute(`aria-label`,`Run rule ${e.name}`),r.addEventListener(`change`,()=>{Dpe(e,r.checked)}),n.append(r,p(`span`,`settings-view-toggle-state`,R5(e.isEnabled)),p(`span`,`settings-readonly`,`${e.name} ${e.summary}`));let i=p(`span`,`settings-view-copy-status`,Ope(e));return i.setAttribute(`role`,`status`),t.append(n,i),t}function Ape(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Rules`));let t=Kde(c5.workflows);if(t.length>0){for(let n of t)e.appendChild(kpe(n));return e}for(let t of Gde(c5.workflows))e.appendChild(p(`div`,`settings-readonly`,t));return e}function jpe(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Last report`));for(let t of Ffe())e.appendChild(p(`div`,`settings-readonly`,t));return e}function $5(e){return e.status===`update-actions`?Cpe():e.status===`custom-agents`?Epe():e.status===`workflows`?Ape():p(`div`,`settings-readonly`,`Not available`)}function Mpe(e){return e.control===`readonly`?$5(e):e.control===`toggle`?fpe(e):e.control===`number`?mpe(e):e.control===`select`?Vde(e)===`segmented`?hpe(e):gpe(e):e.control===`list`?vpe(e):e.control===`projects`?ype(e):ppe(e)}function Npe(e){let t=O6(e,c5);return t?`Supplied by ${t}. Change the server environment and restart to replace this credential.`:e.id===`desktop-notifications`&&!LG()?`Desktop notifications are unavailable for this page.`:e.id===`desktop-notifications`&&k5(e)===!0&&RG()===`denied`?`Blocked by the browser. Allow notifications for this site to enable them.`:e.status!==`rtk-install`||k5(e)!==!0||c5.rtkAvailable?``:hde(c5)}function e7(e){if(e.control===`readonly`)return null;if(e.status===`usage-last-report`){let e=jpe();return e.classList.add(`settings-view-status-slot`),e}let t=Npe(e);return t?p(`div`,`settings-view-warning settings-view-status-slot`,t):null}function t7(e,t){let n=p(`span`,`settings-view-chip`,t);return n.dataset.chip=e,n}function Ppe(e,t){let n=ie(e);return n?n.then(()=>t,()=>`Copy failed`):Promise.resolve(`Copy failed`)}function n7(e,t,{copiedText:n,textToCopy:r}){let i=p(`span`,`settings-view-copy-status`);i.setAttribute(`role`,`status`),t.type=`button`,t.addEventListener(`click`,async()=>{i.textContent=await Ppe(r(),n),setTimeout(()=>{i.textContent=``},Zfe)}),e.append(t,i)}function Fpe(e){let t=p(`div`,`settings-view-setting-heading`),n=rpe(e),r=p(`h2`,`settings-view-setting-title`,e.title);r.id=e.id,r.addEventListener(`click`,()=>M5(n.id,e.id));let i=p(`button`,`settings-view-copy-link`,`#`);return i.setAttribute(`aria-label`,`Copy link`),t.appendChild(r),n7(t,i,{copiedText:`Link copied`,textToCopy:()=>new URL(bV(n.id,e.id),location.href).href}),t}function r7(e){let t=p(`div`,`settings-view-chips`);return t.append(t7(`scope`,mde[e.scope]),t7(`effect`,pde[e.takesEffect])),t}function Ipe(e){return e.control===`readonly`||O6(e,c5)?!1:!Bde(e,k5(e))}function Lpe(e){let t=p(`div`,`settings-view-control-foot`),n=p(`span`,`settings-view-save-status`);n.setAttribute(`role`,`status`);let r=p(`button`,`settings-view-reset`,`Reset`);return r.type=`button`,r.title=`Reset to the default value`,r.addEventListener(`click`,()=>{let t=V6(e),n=Wde(e);n===null?I5(e,t):Tm({title:e.title,message:n,confirmLabel:`Reset`,danger:!0,onConfirm:()=>I5(e,t)})}),t.append(n,r),t}function i7(e,t){let n=e.querySelector(`.settings-view-save-status`),r=u5.get(t.id);n&&(n.textContent=r?.text??``,r&&(n.dataset.tone=r.tone),r||delete n.dataset.tone);let i=e.querySelector(`.settings-view-reset`);i&&(i.disabled=!Ipe(t));let a=e.querySelector(`.settings-view-field-error`),o=h5.get(t.id);a&&!o&&a.remove(),a&&o&&(a.textContent=o),!a&&o&&e.querySelector(`.settings-view-setting-control`)?.appendChild(p(`div`,`settings-view-field-error`,o))}function a7(e){let t=p(`article`,`settings-view-setting`);t.dataset.settingId=e.id,e.control===`readonly`&&(t.dataset.readout=`true`);let n=p(`div`,`settings-view-setting-text`);n.append(Fpe(e),p(`p`,`settings-view-setting-description`,e.description),r7(e));let r=p(`div`,`settings-view-setting-control`);r.appendChild(Mpe(e)),e.control!==`readonly`&&r.appendChild(Lpe(e)),t.append(n,r),e.id===`compact-status`&&t.appendChild(mue()),H6(e,k5(e))&&t.appendChild(p(`div`,`settings-view-warning settings-warning`,e.warning));let i=e7(e);return i&&t.appendChild(i),i7(t,e),t}function o7(e){return o5?.querySelector(`[data-setting-id="${e.id}"]`)??null}function Rpe(e){let t=e.querySelector(`.settings-view-setting-control`);t&&(t.querySelector(`[role="radio"][aria-checked="true"]`)??t.querySelector(`input:not([disabled]), textarea:not([disabled]), select:not([disabled]), button:not([disabled])`))?.focus()}function zpe(e,t){if(!B5(e)||!B5(t))return;e.disabled=t.disabled,e.placeholder=t.placeholder;let n=p5.get(t);n&&!B6(p5.get(e))&&(p5.set(e,{base:n.base,isDirty:!1}),e.value!==t.value&&(e.value=t.value))}function s7(e,t,n){if(e===n){zpe(e,t);return}let r=[...e.children],i=[...t.children];for(let[t,a]of i.entries()){let i=r[t];i?i.contains(n)?s7(i,a,n):i.replaceWith(a):e.appendChild(a)}for(let e of r.slice(i.length))e.remove()}function c7(e,{force:t=!1}={}){let n=o7(e);if(!n)return;let r=document.activeElement,i=n.contains(r),a=i&&!t&&B5(r)?r:null;(!a||!B6(p5.get(a)))&&h5.delete(e.id);let o=a7(e);a?s7(n,o,a):(n.replaceWith(o),i&&Rpe(o))}function l7(e){let t=o7(e);t&&i7(t,e)}function u7(e){o7(e)?.querySelector(`.settings-view-setting-control`)?.replaceChildren($5(e))}function Bpe(){for(let e of j5(s5))e.control===`readonly`?u7(e):c7(e)}function Vpe(){let e=p(`button`,`btn-dialog btn-dialog-cancel`,`Reset all to defaults`);return e.type=`button`,e.addEventListener(`click`,()=>{Mp(),O5(c5),n3(Vf()),f7()}),e}function Hpe(e){let t=p(`div`,`settings-view-advanced`),n=p(`button`,`dialog-advanced-toggle settings-view-advanced-toggle`,`Advanced`);n.type=`button`,n.setAttribute(`aria-expanded`,String(Q8)),n.setAttribute(`aria-controls`,`settings-view-advanced-panel`);let r=p(`div`,`dialog-advanced-panel settings-view-advanced-panel`);r.id=`settings-view-advanced-panel`,r.hidden=!Q8,n.addEventListener(`click`,()=>{Q8=!Q8,r.hidden=!Q8,n.setAttribute(`aria-expanded`,String(Q8))});for(let t of e)r.append(a7(t));return s5.id===Y8&&r.append(Vpe()),t.append(n,r),t}function d7(e){let t=p(`div`,`settings-view-streamer-placeholder`),n=p(`button`,`btn-dialog btn-dialog-confirm`,`Turn off streamer mode`);n.type=`button`;let r=p(`span`,`settings-view-copy-status`,``);r.setAttribute(`role`,`status`),n.addEventListener(`click`,async()=>{n.disabled=!0,r.textContent=``;let e=await gg(!1);n.disabled=!1,r.textContent=e}),t.append(p(`p`,`settings-view-section-description`,`Settings are hidden in streamer mode.`),n,r),e.appendChild(t)}hg(()=>f7());function Upe(e){let t=p(`header`,`settings-view-subsection`),n=p(`h2`,`settings-view-subsection-title`,e.title);return n.addEventListener(`click`,()=>M5(e.id)),t.append(n,p(`p`,`settings-view-section-description`,e.description)),t}function Wpe(e,t){for(let n of t.settings.filter(e=>e.access!==`advanced`))e.appendChild(a7(n)),n.id===$fe&&e.appendChild(gue());let n=t.settings.filter(e=>e.access===`advanced`);n.length>0&&e.append(Hpe(n))}function f7(){if(b7(),g5){v7();return}if(!o5)return;if(o5.textContent=``,pg()){d7(o5);return}let e=p(`header`,`settings-view-section-header`),t=p(`h1`,`settings-view-section-title`,s5.title);if(t.tabIndex=-1,t.addEventListener(`click`,()=>M5(s5.id)),e.append(t,p(`p`,`settings-view-section-description`,s5.description)),o5.appendChild(e),s5.id===Qfe){let e=p(`div`,`shortcut-groups settings-view-shortcuts`);ape(e),o5.appendChild(e),o5.appendChild(Yde()),o5.appendChild(Xde()),ope(o5);return}let n=p(`div`,`settings-view-stack`);for(let e of A5(s5))e.id!==s5.id&&n.appendChild(Upe(e)),Wpe(n,e);o5.appendChild(n)}function p7(e,{focusContent:t=!1,settingId:n=null,updateHash:r=!0,openPhoneSection:i=!0}={}){r&&g5&&(g5=``,r5&&(r5.value=``));let a=I6(Z8,e)??s5;s5.id!==a.id&&(Q8=!1),s5=a;let o=Z8.find(t=>t.id===e)??a;Gpe(n5),i&&vw()&&(i5=o.id),f7(),D7(s5)&&E7(),s5.id===`machine-updates`&&Z5(),r&&M5(o.id,n),n&&ipe(n),t&&o5?.querySelector(`h1`)?.focus()}function Gpe(e){for(let t of e?.querySelectorAll(`[data-settings-section]`)||[]){let e=t.dataset.settingsSection===s5.id;t.setAttribute(`aria-current`,e?`page`:`false`)}}function m7(e){return e.section!==null}function h7(e){r5&&(r5.value=``,g5=``,C7(),p7(e.section.id,{settingId:e.setting.id}))}function g7(e){return rde(a6.sections,e,a6.fileOnly)}function _7(e,t,n,r,i){let a=p(e,t),o=r.matches.find(e=>e.field===i),s=o?n.indexOf(o.text):-1;if(!o||s<0)return a.textContent=n,a;let c=0;for(let e of o.spans)a.append(n.slice(c,s+e.start),p(`mark`,`settings-view-search-highlight`,n.slice(s+e.start,s+e.end))),c=s+e.end;return a.append(n.slice(c)),a}function Kpe(e,t){let{currentText:n,defaultText:r,jsonFragment:i}=vde(t.setting,c5);if(n!==null&&e.appendChild(p(`span`,`settings-view-search-current`,n)),e.append(p(`span`,`settings-view-search-default`,r),r7(t.setting),p(`p`,`settings-view-list-hint`,`Edit in config.json or with glimmervoid settings set.`)),i===null)return;let a=p(`div`,`settings-view-control-foot`);n7(a,p(`button`,`settings-view-copy-json`,`Copy as JSON`),{copiedText:`JSON copied`,textToCopy:()=>i}),e.appendChild(a)}function v7(){if(!o5)return;if(o5.textContent=``,pg()){d7(o5);return}let e=g7(g5),t=p(`div`,`settings-view-section-header`);if(t.append(p(`h1`,`settings-view-section-title`,`Settings search`),p(`p`,`settings-view-section-description`,`${e.length} ${e.length===1?`result`:`results`} for "${g5}"`)),o5.appendChild(t),e.length===0){o5.appendChild(p(`p`,`settings-empty settings-view-search-empty`,`No settings found.`));return}let n=p(`ol`,`settings-view-search-results`);n.setAttribute(`aria-label`,`Settings search results`);for(let t of e){let e=p(`li`,`settings-view-search-result`);e.tabIndex=-1;let r=yde(Z8,t.section,t.setting);e.appendChild(_7(`p`,`settings-view-search-breadcrumb`,r,t,`section`));let i=_7(`span`,`settings-view-setting-title`,t.setting.title,t,`title`);if(m7(t)){let n=p(`button`,`settings-view-search-open`);n.type=`button`,n.appendChild(i),n.addEventListener(`click`,()=>h7(t)),e.appendChild(n)}m7(t)||(e.classList.add(`settings-view-search-file-only`),e.appendChild(i)),e.append(_7(`p`,`settings-view-setting-description`,t.setting.description,t,`description`),_7(`code`,`settings-view-key-path`,t.setting.path,t,`path`));let a=new Set([`title`,`description`,`path`,`section`]);if(!t.matches.some(e=>a.has(e.field))){let n=t.matches.find(e=>e.field===`options`)??t.matches.find(e=>e.field===`keywords`);n&&e.appendChild(_7(`p`,`settings-view-list-hint`,n.text,t,n.field))}m7(t)||Kpe(e,t),n.appendChild(e)}o5.appendChild(n)}function y7(){return Sde(Z8,i5,g5,pg())}function b7(){if(!t5)return;let e=y7();t5.dataset.settingsScreen=e,a5&&(a5.hidden=e!==`section`)}function x7(){return vw()&&y7()===`section`}function S7(){if(!x7())return;let e=s5.id;w7(``),n5?.querySelector(`[data-settings-section="${e}"]`)?.focus()}function C7(){if(!n5||!t5)return;let e=xde(Z8);n5.textContent=``;let t=p(`div`,`settings-view-nav-group`);for(let n of e){let e=p(`button`,`settings-view-nav-item`,n.title);e.type=`button`,e.dataset.settingsSection=n.id,e.addEventListener(`click`,()=>p7(n.id,{focusContent:vw()})),t.appendChild(e)}n5.appendChild(t),g5?(b7(),v7()):p7(s5.id,{updateHash:!1,openPhoneSection:!1})}function w7(e,{updateHash:t=!0}={}){g5=e.trim(),r5&&(r5.value=e),i5=null,t&&history.replaceState(history.state,``,SV(g5)),C7()}function T7(e){if(g5&&e.key===`Enter`&&e.target===r5){let t=g7(g5).find(m7);if(!t)return;e.preventDefault(),h7(t);return}if(e.key===`Escape`&&g5){if(!r5)return;e.preventDefault(),w7(``),r5.focus();return}if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`||!n5)return;let t=[...n5.querySelectorAll(`[data-settings-section]`)].filter(e=>e instanceof HTMLElement),n=document.activeElement;if(!(n instanceof HTMLElement))return;let r=t.indexOf(n);r<0||(e.preventDefault(),t[(r+(e.key===`ArrowDown`?1:-1)+t.length)%t.length].focus())}function qpe(e,{onRestart:t=()=>{},onConfirmUpdateAndRestart:n=e=>{e([])}}={}){b5=t,x5=n,Mce(spe),$8=e,$8.textContent=``,t5=p(`div`,`settings-view-shell`);let r=p(`div`,`settings-view-sidebar`);r5=p(`input`,`settings-view-search`),r5.type=`search`,r5.placeholder=`Search settings`,r5.setAttribute(`aria-label`,`Search settings`),n5=p(`nav`,`settings-view-nav`),n5.setAttribute(`role`,`navigation`),n5.setAttribute(`aria-label`,`Settings sections`),a5=p(`button`,`settings-view-back`,`Back`),a5.type=`button`,a5.hidden=!0,a5.setAttribute(`aria-label`,`Back to settings sections`),a5.addEventListener(`click`,S7),o5=p(`div`,`settings-view-content`),o5.setAttribute(`aria-live`,`polite`),r5.addEventListener(`input`,()=>{let e=r5;e&&w7(e.value)}),r5.addEventListener(`keydown`,T7),n5.addEventListener(`keydown`,T7),r.append(r5,a5,n5),t5.append(r,o5),$8.appendChild(t5),O5(c5),C7(),E7(),e5?.disconnect(),e5=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&E7()}),e5.observe($8)}function E7(){$w().then(Jpe)}function D7(e){return j5(e).some(e=>e.path===`pref:soundId`)}function Jpe(){if(Z8=X8(),s5=I6(Z8,s5.id)??Z8[0],l5[`pref:soundId`]=Qw(jf()),g5){v7();return}let e=N5(`alert-sound`);e&&D7(s5)&&c7(e)}function O7(e=null,t=null){let n=F6(e??location.hash);n?w7(n.query):(w7(``,{updateHash:!1}),vw()&&!e?history.replaceState(history.state,``,SV(``)):p7(e||s5.id,{settingId:t}))}function k7(e){let t=F6(e);if(t){let e=SV(t.query);return{sectionId:e,settingId:null,hash:e}}return ide(e,Z8,Gue,Kue)}function A7(e){e&&(c5=e,O5(c5),g5?v7():Bpe())}function Ype(e){j7()}function Xpe(e,t){let n=t.querySelector(`.settings-view-status-slot`),r=e7(e);n&&r&&n.replaceWith(r),n&&!r&&n.remove(),!n&&r&&t.appendChild(r)}function j7(){for(let e of j5(s5)){if(!e.status)continue;let t=o7(e);t&&(e.control===`readonly`?u7(e):Xpe(e,t))}}function M7(){if(s5.id!==`machine-updates`)return;let e=N5(`update-actions`);e&&u7(e)}function Zpe(e){_5=e,w5=!1,T5=null,y5=V8(y5,`status-frame`),M7(),C5&&s5.id===`machine-updates`&&Z5()}function Qpe(e){v5=e,y5=V8(y5,`progress-frame`),M7()}function $pe(){J5(`error-frame`),w5&&(w5=!1,M7())}function N7(){s5.id===Y8&&f7()}window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,N7),yw(()=>{i5=null,b7(),N7()});function eme(e,t){return typeof t!=`string`||t===``?{knownBuild:e,reload:!1}:e==null?{knownBuild:t,reload:!1}:e===t?{knownBuild:e,reload:!1}:{knownBuild:t,reload:!0}}var tme=`•`.repeat(8),P7=`[^/\\\\\\s"'\`<>:]+`,nme=RegExp(`(?<![\\w./\\\\-])(?:/home/${P7}|/Users/${P7}|[A-Za-z]:[\\\\/]Users[\\\\/]${P7}|/root(?![\\w.-]))`,`g`);function rme(e){let t=bE(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+tme,r=i.end;return n+e.slice(r)}function ime(e){return e.replace(nme,`~`)}function ame(e){return ime(rme(e))}var F7=`.xterm, input, textarea, script, style, [contenteditable]:not([contenteditable="false"])`,I7=[`title`,`label`],L7=new WeakMap,R7=new WeakMap,z7=null;function B7(e){let t=e instanceof Element?e:e.parentElement;return!t||t.closest(F7)!==null}function ome(e){let t=e.parentElement?.closest(`option`);return t!=null&&!t.hasAttribute(`value`)}function V7(e,t){if(t&&e===t.masked)return t;let n=ame(e);return n===e?null:{original:e,masked:n}}function H7(e){let t=ome(e)?null:V7(e.data,L7.get(e));t?(L7.set(e,t),e.data!==t.masked&&(e.data=t.masked)):L7.delete(e)}function sme(e,t){let n=e.getAttribute(t),r=R7.get(e),i=n===null?null:V7(n,r?.get(t));if(!i){r?.delete(t);return}let a=r??new Map;a.set(t,i),R7.set(e,a),n!==i.masked&&e.setAttribute(t,i.masked)}function U7(e){for(let t of I7)sme(e,t)}function cme(e){return e instanceof Element&&e.matches(F7)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}function W7(e){U7(e);let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT,cme);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&H7(e),e instanceof Element&&U7(e)}function lme(e){B7(e)||(e instanceof Text&&H7(e),e instanceof Element&&W7(e))}function ume(e){e instanceof Element&&!B7(e)&&U7(e)}function dme(e){let t=new Set,n=new Set;for(let r of e){if(r.type===`childList`)for(let e of r.addedNodes)t.add(e);r.type===`characterData`&&t.add(r.target),r.type===`attributes`&&n.add(r.target)}for(let e of t)e.isConnected&&lme(e);for(let e of n)e.isConnected&&ume(e)}function fme(e){let t=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT);G7(e);for(let e=t.nextNode();e;e=t.nextNode())G7(e)}function G7(e){if(e instanceof Text){let t=L7.get(e);t&&e.data===t.masked&&(e.data=t.original);return}if(!(e instanceof Element))return;let t=R7.get(e);if(t)for(let[n,r]of t)e.getAttribute(n)===r.masked&&e.setAttribute(n,r.original)}function pme(){if(z7)return;let e=new MutationObserver(t=>{dme(t),e.takeRecords()});W7(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:I7}),z7=e}function mme(){z7&&(z7.disconnect(),z7=null,fme(document.body),L7=new WeakMap,R7=new WeakMap)}function K7(e){e?pme():mme()}function hme(){K7(pg()),hg(K7)}function gme(e){if(typeof e!=`object`||!e||!(`telemetry`in e))return!1;let{telemetry:t}=e;return typeof t!=`object`||!t||!(`enabled`in t)?!1:t.enabled===!0}function _me(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function vme(e,t){return t||_me(e)?!1:gme(e)}var yme=2500;function bme({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}var q7={teamReview:e=>e?.teamReview?.enabled===!0,posthog:e=>e?.posthog?.enabled===!0,visions:e=>e?.visions?.enabled===!0,usage:e=>e?.usage?.enabled!==!1,benchmarks:e=>e?.benchmarks?.enabled===!0,factory:e=>e?.factory?.enabled===!0};function J7(e,t){let n=document.createElement(`div`);n.className=`pr-scope-tabs`,n.setAttribute(`role`,`tablist`),n.setAttribute(`aria-label`,`Reviews scope`);let r=[`team`,`mine`];for(let i of r){let a=document.createElement(`button`);a.className=`pr-scope-tab`,a.type=`button`,a.setAttribute(`role`,`tab`),a.setAttribute(`aria-selected`,String(i===e)),a.tabIndex=i===e?0:-1,a.textContent=i===`team`?`Team`:`Mine`,a.addEventListener(`click`,()=>t(i,!1)),a.addEventListener(`keydown`,e=>{e.key===`ArrowLeft`?(e.preventDefault(),t(r[(r.indexOf(i)+r.length-1)%r.length],!0)):e.key===`ArrowRight`&&(e.preventDefault(),t(r[(r.indexOf(i)+1)%r.length],!0))}),n.append(a)}return n}function Y7(){tp()===`team`&&s0()}function xme(e,t){let n=(e,t)=>{if(s(e),Y7(),!t)return;let n=(e===`team`?r:i).querySelector(`[aria-selected="true"]`);n&&n.getClientRects().length>0?n.focus():(e===`team`?a:o).querySelector(`.pr-queue-toggle`)?.focus()},r=J7(`team`,n),i=J7(`mine`,n),a=document.createElement(`div`);a.className=`pr-mode-root`;let o=document.createElement(`div`);o.className=`pr-mode-root`,e.append(a,o),l0(a,r,t),mZ(o,i,t);function s(e){pq(),a.hidden=e!==`team`,o.hidden=e!==`mine`,np(e)}s(tp())}function Sme(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function Cme(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function wme(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function X7(e,t){e?.refreshOn?.includes(t)&&e.refresh?.(t)}function Tme(e,t,n){for(let r of e)Sme(r.view,t)&&X7(r,n)}function Eme(e){let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,mount:()=>WB({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:_V,deactivate:yV},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:q7.teamReview},mount:t=>xme(t,{openTerminal:e.openTerminal}),attention:{subscribe:c0,acknowledge:Y7}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,mount:kle,refreshOn:[`shown`],refresh:Ale,onConnectionChange:jle},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:q7.usage},mount:Afe,attention:{subscribe:Ofe,acknowledge:Dfe},refreshOn:[`shown`,`connected`,`usage-sessions`],refresh:e=>{e===`shown`&&jfe(),R8()}},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:q7.posthog},mount:cue,attention:{subscribe:oue,acknowledge:aue}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:q7.visions},mount:SU,attention:{subscribe:xU,acknowledge:()=>{wU(),CU()}}},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,mount:DG,refreshOn:[`shown`,`connected`,`hooks-updated`],refresh:e=>{e===`shown`&&OG(),EG()}},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:CR},mount:NF,refreshOn:[`shown`],refresh:RF,onAvailabilityChange:e=>sue(e?IF:null),onConnectionChange:HF},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:q7.benchmarks},mount:fle,onConnectionChange:ple},{view:`factory`,label:`Factory`,panelClass:`factory-floor`,gate:{fromSettings:q7.factory},mount:t=>Qce(t,{openTerminal:e.openTerminal}),onConnectionChange:ele},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,mount:t=>qpe(t,{onRestart:e.onRestart,onConfirmUpdateAndRestart:e.onConfirmUpdateAndRestart})}],n=v(document,`#app-main`,`main`),r=t.map(t=>{let r=p(`button`,`header-tab`,t.label);r.id=`tab-${t.view}`,r.type=`button`;let i=`view-${t.view}`;r.setAttribute(`role`,`tab`),r.setAttribute(`aria-controls`,i);let a=t.view===`focus`;r.setAttribute(`aria-selected`,String(a)),r.tabIndex=a?0:-1,t.glyph&&(r.dataset.phoneGlyph=t.glyph);let o=document.getElementById(i)??p(`section`);if(o.classList.add(t.panelClass),o.id=i,o.setAttribute(`role`,`tabpanel`),o.setAttribute(`aria-labelledby`,r.id),o.hidden=!0,o.parentElement||n.append(o),r.hidden=t.gate!==void 0,o.classList.toggle(`view-panel`,t.hasPanelChrome!==!1),t.attention){let n=p(`span`,`tab-activity`);n.id=`tab-${t.view}-activity`,n.setAttribute(`aria-hidden`,`true`),r.append(n),t.attention.subscribe(r=>{let{isActive:i,level:a}=wme(r);n.classList.toggle(`active`,i),a===null&&n.removeAttribute(`data-attention`),a!==null&&n.setAttribute(`data-attention`,a),e.setPhoneAttention(t.view,r)})}return{...t,tab:r,el:o}});return v(document,`#header-tabs`,`div`).replaceChildren(...r.map(e=>e.tab)),r}hT(zf()),gT(Ff()),_T(Lf()),n3(Vf()),_w(),fie(document);var Z7=v(document,`#connection-status`,`span`),Q7=v(Z7,`.connection-label`,`span`),$7=v(document,`#loading-screen`,`div`),e9=v(document,`#loading-status`,`div`),t9=v(document,`#shutdown-screen`,`div`),n9=v(document,`#shutdown-status`,`div`),r9=!1,i9=null,a9=!1;function Dme(){let e=Fp(),t=$7.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Pp(e,`loading-animal`))}Dme();function o9(){r9||i9===null||bme({hasSnapshot:a9,connectingTerminalCount:Sse(),msSinceConnected:performance.now()-i9})===`reveal`&&s9()}xse(o9);function s9(){if(r9)return;r9=!0,$7.classList.add(`fade-out`);let e=()=>$7.remove();$7.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function c9(e,t){Z7.dataset.state=`shutdown`,Q7.textContent=e,Z7.title=e,T9.disabled=!0,n9.textContent=t,t9.classList.add(`active`)}var Ome=new Set([`disconnected`,`connecting`]);function l9(e,t,n){Z7.dataset.state=e,Z7.toggleAttribute(`data-reconnected`,n),Q7.textContent=t,Z7.title=t}function kme(e,t){l9(e,t,e===`connected`&&Ome.has(Z7.dataset.state??``))}function Ame(e,t){Z7.dataset.state!==`shutdown`&&l9(e===`verified`?`connected`:e,t,!1)}fm((e,t)=>{if(e===`connecting`||e===`verified`)Ame(e,t);else{kme(e,t),Hz(e===`connected`);for(let t of j9)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(t9.classList.contains(`active`)){location.reload();return}document.body.classList.add(`app-ready`),!r9&&i9===null&&(i9=performance.now(),e9.textContent=`Connecting to sessions...`,setTimeout(s9,yme)),o9(),J9(),_9(`connected`),hm(`get-settings`,{}).then(e=>{e.settings&&(B9(e.settings),me()===`settings`&&O9(location.hash))}).catch(()=>{})}else e===`disconnected`&&t9.classList.contains(`active`)?n9.textContent=`Waiting for server...`:r9||(e9.textContent=`Reconnecting to server...`)}});function u9(){l4(),$K()}function d9(){tV(),u9()}var f9=null;function jme(e){let t=eme(f9,e);f9=t.knownBuild,t.reload&&location.reload()}function Mme(e){sU(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),Ype(e.filter(e=>!e.ephemeral).map(e=>({id:e.id,name:e.name,agent:e.agent,permissionMode:e.dangerouslySkipPermissions?`Skip permissions`:`Default`})));for(let t of e){t.ephemeral||Qg(t.path),V0(t.id,t.linkedPrs);let e=Dz(t.id);e&&lB(t.id,t.state,t.stateSince),e&&jR(t.id,!!t.saneYolo),e||Nz(t.id,t.name,t.state,V4(t)),Ez(t.id,t.taskTitle,t.taskTitleIsCustom),Wz(t.id,t.agent),nB(t.id,t.mergeStatus,t.mergeReason),Uz(t.id,t.effectiveBase),Jz(t.id,t.activeAgents,t.awaitingBackgroundTasks),Qz(t.id,t.pendingWakeup),Xz(t.id,t.pendingPromptKind,t.isCompacting),yz(t.id,t),Lz(t.id,t.hasPlan),g9(t.id)}Mz(),Jg(T),tV(),vV(),u9(),p9(),k9(location.hash),a9=!0,o9()}function p9(){LF([...T].map(([e,t])=>({id:e,name:E(t)||e})))}function m9(e,t){Lz(e,t?.hasPlan===!0),g9(e)}function Nme(e){if(!Dz(e.id))Nz(e.id,e.session,e.to,V4({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),Jg(T),l4();else if(e.to===a.DORMANT&&e.from!==a.DORMANT){let t=T.get(String(e.id)),n=document.querySelector(`.session-card[data-id="${CSS.escape(String(e.id))}"]`),r=n instanceof HTMLElement?n:null,i=r?r.dataset.skipPerms!==void 0:!1,o=e.saneYolo??(r?r.dataset.saneYolo!==void 0:!1),s=r?r.dataset.path:void 0;aB(e.id),Nz(e.id,e.session,a.DORMANT,V4({skipPerms:i,saneYolo:o,worktree:r?.dataset.worktree!==void 0,workspace:r?.dataset.workspace!==void 0,path:s,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom})),Wz(e.id,t?.agent),m9(e.id,t),d9(),JM(e.id),Jg(T)}else lB(e.id,e.to,e.timestamp,e.event),e.saneYolo!==void 0&&jR(e.id,e.saneYolo),Jg(T),JM(e.id),d9(),ZR(e.id),e.to===a.INITIALIZING&&(e.from===a.DONE||e.from===a.FAILED)&&BA(e.id)}var h9=new Map;function Pme(e){let t=new Set;for(let n of e){if(!n?.id)continue;t.add(n.id);let e={tokens:n.tokens,costUSD:n.costUSD,officialCostUSD:n.officialCostUSD};h9.set(n.id,e),Yz(n.id,e)}for(let e of[...h9.keys()])t.has(e)||(h9.delete(e),Yz(e,null))}function g9(e){let t=h9.get(e);t&&Yz(e,t)}kfe(U),TG(U),PF(U),Ole(U),dle(U),tle(U),ER(z0),hB(z0);function _9(e){Tme(j9,{isPhoneShellActive:ZK(),activeView:me(),phoneScreen:pe.snapshot().phoneScreen},e)}hg(()=>_9(`settings-updated`));var Fme={snapshot:e=>{jme(e.serverBuild),Mme(e.sessions)},"hooks-report":e=>kG(e),"save-hook-result":e=>AG(e),"delete-hook-result":e=>jG(e),"state-change":e=>Nme(e),"session-added":e=>{e.ephemeral||Qg(e.path),V0(e.id,e.linkedPrs),Dz(e.id)||(Nz(e.id,e.session,e.state,V4(e)),Wz(e.id,e.agent),g9(e.id)),Jg(T),d9(),p9()},"session-removed":e=>{aB(e.id),XM(e.id),Ace(e.id),Jg(T),d9(),p9()},"session-title":e=>{Ez(e.id,e.taskTitle,e.isCustom),d9()},"session-prs":e=>V0(e.id,e.linkedPrs),"session-renamed":e=>{iB(e.id,e.newName),u9(),p9()},"session-modified":e=>{e.ephemeral||Qg(e.path);let t=T.get(String(e.id));aB(e.id),XM(e.id),V0(e.id,e.linkedPrs),Nz(e.id,e.session,e.state,V4(e)),Wz(e.id,e.agent),m9(e.id,t),Jg(T),d9(),p9()},"session-git":e=>Gz(e.id,!!e.worktree),"session-agents":e=>{Jz(e.id,e.activeAgents,e.awaitingBackgroundTasks),d9(),ZR(e.id)},"session-wakeup":e=>Qz(e.id,e.pendingWakeup),"session-prompt":e=>{Xz(e.id,e.pendingPromptKind,e.isCompacting===!0),u9()},"session-merge-status":e=>{tB(e.id,e.mergeStatus,e.reason),fV(e.id,e.mergeStatus),u9()},"session-worktree-blocked":e=>{sg(`${e.session}: ${e.notice||`integration branch not found`}`,{persist:!0})},"session-worktree-warning":e=>{sg(`${e.session}: ${e.notice||`base branch warning`}`)},"session-worktree-ready":e=>{Uz(e.id,e.base)},"session-diff":e=>{rB(e.id,{committed:e.committed,uncommitted:e.uncommitted,hasCommits:e.hasCommits})},"session-diff-error":e=>{VM(e.id,e.message)},"change-map":e=>HM(e.id,e.map),"branch-sync-status":e=>GM(e.id,e),"session-changed":e=>qM(e.id),"post-turn-result":e=>$z(e.id,e),"debug-state-response":e=>XR(e),"session-trace-response":e=>{bz(e)||zF(e)},"session-trace-changed":e=>{Sz(e.id),BF(e)},"session-conversation":e=>{yz(e.id,e),u9()},"session-plan-changed":e=>{Rz(e),u9()},"session-plan-draft":e=>{zz(e)},"session-plan-response":e=>{Bz(e)},"session-docs-changed":e=>rie(e),"session-docs-snapshot":e=>iie(e),notify:e=>{VG(e),ZR(e.session)},"update-status":e=>{zme(e),Zpe(e)},"update-progress":e=>Qpe(e.journal),error:e=>{$pe(),VF(e),xz(e),Vz(e),sg(e.message,{persist:!0})},"session-error":e=>{Vz(e),sg(`${e.session}: ${e.message}`,{persist:!0})},"settings-updated":e=>{e.settings&&B9(e.settings)},"health-snapshot":e=>{e.stats&&zse(e.stats)},"radar-status":e=>lue(e),"radar-investigation-activity":e=>uue(e),"radar-investigation-finished":e=>fue(e),"team-review-status":e=>u0(e),"my-prs-status":e=>{gZ(e),jce()},"factory-state":e=>$ce(e),"factory-queue-intent-result":e=>nle(e),"factory-control-result":e=>rle(e),"benchmark-status":e=>mle(e),"benchmark-action-result":e=>hle(e),"my-pr-merge-result":e=>vZ(e),"team-review-action-result":e=>p0(e),"open-team-review-session-result":e=>f0(e),"issues-status":e=>Mle(e),"issue-detail-result":e=>Nle(e),"open-issue-session-result":e=>Ple(e),"usage-sessions":e=>{Pme(e.sessions),Mfe(e)},"usage-report":e=>{Pfe(e),j7()},"plan-limits":e=>Nfe(e),"usage-budget-alert":e=>VG({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>EU(e),"visions-comments":e=>DU(e),"visions-hand":e=>OU(e),"visions-intent":e=>kU(e),"visions-fix":e=>TU(e),"visions-snapshot":e=>MU(e),"ingest-activity":e=>AU(e),"ingest-snapshot":e=>jU(e),"client-trust":e=>qme(e.trust),"shutting-down":()=>c9(`Shutting down...`,`Shutting down sessions...`),restarting:()=>c9(`Restarting...`,`Restarting server...`)};function Ime(e){let t=Fme[e.type];t&&t(e)}pm(e=>{Ime(e),_9(e.type)});var v9=!1,Lme=CV(Gne,Kne,`Update`).href;function Rme(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function zme(e){let t=v(document,`#update-banner`,`div`);if(!e.updateAvailable){t.hidden=!0;return}if(v9)return;let n=Rme(e);if(n&&sp()===n)return;let r=String(e.command??``);v(document,`#update-banner-text`,`span`).textContent=Cre(e),v(document,`#update-banner-cmd`,`code`).textContent=r;let i=Bfe(e),a=v(document,`#update-banner-update`,`a`);a.href=Lme,a.hidden=i!==`link`;let o=v(document,`#update-banner-cmd`,`code`);o.hidden=i!==`command`;let s=v(document,`#update-banner-copy`,`button`);s.hidden=i!==`command`;let c=v(document,`#update-banner-copy-status`,`span`);c.hidden=i!==`command`,c.textContent=``;let l=v(document,`#update-banner-link`,`a`);l.hidden=!e.releaseUrl,l.href=typeof e.releaseUrl==`string`?e.releaseUrl:``,t.hidden=!1,s.onclick=()=>{let e=ie(r);e?e.then(()=>{c.textContent=`Copied`}).catch(()=>{c.textContent=`Copy failed`}):c.textContent=`Copy failed`},v(document,`#update-banner-dismiss`,`button`).onclick=()=>{v9=!0,cp(n),t.hidden=!0}}var y9=v(document,`#telemetry-banner`,`div`);function b9(){up(!0),y9.hidden=!0}function Bme(e){y9.hidden=!vme(e,lp())}var x9=v(document,`#telemetry-banner-settings`,`a`);x9.href=CV(`privacy`,`telemetry-enabled`,`Open settings`).href,x9.addEventListener(`click`,b9),v(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,b9),v(document,`#btn-add-session-header`,`button`).addEventListener(`click`,Ore);var S9=v(document,`#btn-mute`,`button`);Nce(S9);var C9=v(document,`#btn-streamer`,`button`);eie(C9),hme();var w9=v(document,`#power-menu`,`div`),T9=v(document,`#btn-power`,`button`);function E9(){T9.setAttribute(`aria-expanded`,w9.classList.contains(`open`)?`true`:`false`)}T9.addEventListener(`click`,e=>{e.stopPropagation(),w9.classList.toggle(`open`),E9()}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(w9.contains(e.target)||(w9.classList.remove(`open`),E9()))}),ne(document.querySelector(`.header`));function Vme(e){e&&O7(e),!tq(`settings`)&&R9(`settings`,{section:e})}function D9(){xV(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function Hme(e){return e?(O7(e.sectionId,e.settingId),tq(`settings`)||R9(`settings`,{section:e.sectionId,setting:e.settingId,persist:!1}),!0):!1}function O9(e){return Hme(k7(e))}function k9(e){let t=Dj(e);return t?!Dz(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),ZK()?(XK(t)||sg(`No plan is stored for this session yet`),!0):(R9(`focus`,{persist:!1}),mV(t)||sg(`No plan is stored for this session yet`),!0)):!1}function A9(e){return k9(e)?!0:O9(e)}function Ume(e){e.newURL===location.href&&A9(location.hash)}document.addEventListener(`click`,e=>{if(!ZK()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&A9(t.hash)&&e.preventDefault()}),jY(v(document,`#celebration-tray`,`div`),v(document,`#btn-celebrations`,`button`),v(document,`#celebration-tray-count`,`span`)),v(document,`#btn-help`,`button`).addEventListener(`click`,()=>{Vme(`browser-shortcuts`)});var j9=Eme({onRestart:q9,onConfirmUpdateAndRestart:Kme,openTerminal:e=>{eq(e)||(R9(`focus`),pV(e))},openPlan:e=>{R9(`focus`),mV(e)},setPhoneAttention:rq});FM({panel:document.getElementById(`review-sidebar`)});for(let e of j9)e.mount(e.el);function M9(e){return j9.find(t=>t.view===e)}function N9(e){return j9.some(t=>t.view===e&&!t.tab.hidden)}var P9=!0,F9=null;function I9(e){M9(e)?.attention?.acknowledge()}function L9(e){X7(M9(e),`shown`)}function R9(e,{section:t,setting:n,persist:r=!0}={}){if(!N9(e))return;let i=me();pe.dispatch(`setActiveView`,e),P9=r,r&&(F9=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(M9(e)?.hasReviewSidebar!==!0),r&&Wf(e);for(let t of j9){let n=t.view===e;t.el&&(t.el.hidden=!n),t.tab.setAttribute(`aria-selected`,String(n)),t.tab.tabIndex=n?0:-1}i!==e&&M9(i)?.deactivate?.(),M9(e)?.activate?.(),L9(e),i===`settings`&&e!==`settings`&&D9(),e===`settings`&&t&&O7(t,n??null),I9(e)}function z9(e,t){let{view:n}=e;e.tab.hidden=!t,nq(n,t),e.onAvailabilityChange?.(t),!ZK()&&(!t&&me()===n&&R9(`focus`),t&&F9===n&&R9(n))}function Wme(e){for(let{view:t,isAvailable:n}of Cme(j9,e))z9(t,n)}function B9(e){Az(e),A7(e),pU(e),Wme(e),Bme(e),mg(e.streamerMode===!0),_z(e.conversationView===!0)}for(let e of j9)e.gate&&(z9(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>z9(e,t)));FF(()=>{N9(`trace`)&&(tq(`trace`)||R9(`trace`))});function V9(e,t){let n=j9.filter(e=>!e.tab.hidden),r=n[(n.findIndex(t=>t.view===e)+t+n.length)%n.length];return R9(r.view),r.tab}function Gme(e){j9.some(e=>e.tab===document.activeElement)&&e.focus()}for(let e=0;e<j9.length;e++){let{view:t,tab:n}=j9[e];n.addEventListener(`click`,()=>R9(t)),n.addEventListener(`keydown`,e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),V9(me(),e.key===`ArrowRight`?1:-1).focus()))})}var H9=Uf(),U9=k7(location.hash),W9=Dj(location.hash);if(U9&&R9(`settings`,{section:U9.sectionId,setting:U9.settingId,persist:!1}),W9&&R9(`focus`,{persist:!1}),!U9&&!W9){let e=N9(H9);e||(F9=H9),R9(e?H9:`focus`,{persist:e})}qK({panels:HG(j9),onScreenShown:e=>{L9(e),e!==`settings`&&D9(),e===`settings`&&!xV(location.hash)&&O7(),I9(e)},canGoBack:e=>e===`settings`&&x7(),onBack:e=>{e===`settings`&&S7()},headerControls:[v(document,`.header-title`,`h1`),v(document,`#status-indicator`,`div`),v(document,`#celebration-tray`,`div`),v(document,`#btn-add-session-header`,`button`),v(document,`#btn-help`,`button`),S9,v(document,`#streamer-badge`,`span`),C9,w9]});function G9(e){if(e===`phone`){let e=UB();for(let e of j9)e.deactivate?.();let t=k7(location.hash);JK({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}),t&&O7(t.sectionId,t.settingId);return}let t=QK();YK();let n=me();R9(N9(n)?n:`focus`,{persist:P9}),t&&pV(t)}vw()&&G9(`phone`),yw(G9),window.addEventListener(`hashchange`,Ume);function K9({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){w9.classList.remove(`open`),E9();let o=Oz();Tm({title:t,message:o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i,confirmLabel:n,danger:r,onConfirm:()=>U({type:e})})}function q9(){K9({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}function Kme(e){let t=kz(),n=t.length;n===0?e(t):Tm({title:`Update and restart`,message:`Glimmervoid restarts once the update is staged, which kills ${n} running session${n>1?`s`:``}. Continue?`,confirmLabel:`Update and restart`,danger:!1,onConfirm:()=>e(t)})}v(document,`#btn-restart`,`button`).addEventListener(`click`,q9);function qme(e){let n=t(`shutdown`,e);v(document,`#btn-shutdown`,`button`).hidden=!n,v(document,`#menu-divider-shutdown`,`div`).hidden=!n}v(document,`#btn-shutdown`,`button`).addEventListener(`click`,()=>{K9({type:`shutdown`,title:`Shut Down Server`,confirmLabel:`Shut Down`,danger:!0,idleMessage:`Shut down the server?`,actionAfterKillingSessions:`shut down the server`})});function Jme(){let e=document.activeElement;return e instanceof HTMLElement?e.isContentEditable?!0:(e.tagName===`INPUT`||e.tagName===`TEXTAREA`)&&!e.classList.contains(`xterm-helper-textarea`):!1}function Yme({action:e,step:t}){switch(e){case`merge`:return ZM(),!0;case`resolve-or-resync`:return QM()||$M(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`next-attention`:return HB()?(aV(),!0):!1;case`rail-step`:return HB()?(gV(t),!0):!1;case`view-step`:return!vw()&&(Gme(V9(me(),t)),!0);case`session-nth`:return HB()?(hV(t),!0):!1;case`streamer-mode`:return _g(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||Jme())return;let t=Mw(e,zw);t&&Yme(t)&&e.preventDefault()});var Xme=i({mode:`trailing`,delayMs:150,run:()=>{U({type:`focus-change`,focused:document.hasFocus()})}});function J9(){Xme.schedule()}function Y9(){J9(),KA(O(he()))}window.addEventListener(`focus`,Y9),window.addEventListener(`blur`,Y9),document.addEventListener(`visibilitychange`,Y9);var X9=!1,Z9=null;function Zme(){if(document.visibilityState!==`visible`)return 0;let e=Z9;return Z9=null,e===null?0:Date.now()-e}async function Q9(){let e=Zme();if(!X9){X9=!0,Cse();try{if(await ym(e)===`ok`)return;for(let e of T.keys())BA(e)}finally{wse(),X9=!1}}}document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`?(TA(),Q9()):Z9??=Date.now()}),window.addEventListener(`online`,Q9);var $9=Qu(U);window.addEventListener(`error`,e=>$9(e.error)),window.addEventListener(`unhandledrejection`,e=>$9(e.reason)),window.addEventListener(`pageshow`,e=>{e.persisted&&(TA(),Q9())}),Rse(v(document,`#health-footer-mount`,`div`)),BG(),lw(jz),vm();
|