glimmervoid 0.35.1 → 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.
Files changed (50) hide show
  1. package/README.md +86 -82
  2. package/dist/bin/glimmervoid.js +58 -114
  3. package/dist/chunks/{adapters-CADejSpq.js → adapters-BmfVPxlH.js} +29 -61
  4. package/dist/chunks/adapters-CqFFmM2R.js +1 -0
  5. package/dist/chunks/{agent-api-cli-CRj_FYbz.js → agent-api-cli-BTHEyJKS.js} +1 -1
  6. package/dist/chunks/{agent-api-cli-vGwstJ1j.js → agent-api-cli-CBgOKXoO.js} +41 -12
  7. package/dist/chunks/{agent-api-core-D1233u1U.js → agent-api-core-DzKhakCv.js} +94 -3
  8. package/dist/chunks/{agent-setup-cli-BTAFcckd.js → agent-setup-cli-C8DGxlA-.js} +1 -1
  9. package/dist/chunks/{config-rPbbL4nW.js → config-BYc2z1Oc.js} +60 -779
  10. package/dist/chunks/config-store-B7MpiYxG.js +4181 -0
  11. package/dist/chunks/config-store-CsUoy88Q.js +1 -0
  12. package/dist/chunks/{contracts-DjIgIuDk.js → contracts-C6ipN_zw.js} +100 -12
  13. package/dist/chunks/git-version-6QFnKbWa.js +139 -0
  14. package/dist/chunks/{grok-KKgdSe-7.js → grok-CZ6kP_vD.js} +7 -3
  15. package/dist/chunks/guardrails-deps-Cb-ki4EU.js +70 -0
  16. package/dist/chunks/{sandbox-proxy-core-hnQgKR0T.js → guardrails-proxy-core-BI3rdY-m.js} +4 -4
  17. package/dist/chunks/{hook-command-core-DclEoE9e.js → hook-command-core-qTNK-xMF.js} +4 -1
  18. package/dist/chunks/{hook-tools-UX2fmt81.js → hook-tools-BkxllUHE.js} +9 -16
  19. package/dist/chunks/{knowledge-graph-cli-Rj5nj87L.js → knowledge-graph-cli-DApeMzA8.js} +1 -1
  20. package/dist/chunks/{loopback-post-DepQfdcM.js → loopback-post-DJ6iYWuL.js} +9 -9
  21. package/dist/chunks/{main-C-T2Uk20.js → main-BUfjroXE.js} +16282 -12595
  22. package/dist/chunks/{pair-cli-Dcyzv3In.js → pair-cli-GZ9t1mIO.js} +2 -2
  23. package/dist/chunks/{remote-config-Dd1T-VJA.js → remote-config-D2Is89Kj.js} +1 -1
  24. package/dist/chunks/{rtk-hook-core-BmEz2aq9.js → rtk-hook-core-VrUafGAp.js} +15 -5
  25. package/dist/chunks/rtk-resolver-B8BPgN9L.js +1 -0
  26. package/dist/chunks/{rtk-resolver-B9pzjLsM.js → rtk-resolver-C_micGrL.js} +1 -1
  27. package/dist/chunks/session-BZbariv5.js +1032 -0
  28. package/dist/chunks/{session-routes-BYy3am9m.js → session-routes-C4t8O8yg.js} +9 -9
  29. package/dist/chunks/settings-cli-DQOjmjev.js +484 -0
  30. package/dist/chunks/{ssh-sign-cli-DPHpT22B.js → ssh-sign-cli-LIBP8ppO.js} +2 -2
  31. package/dist/client/assets/index-B_Qt7fbZ.css +1 -0
  32. package/dist/client/assets/index-D-upBor0.js +265 -0
  33. package/dist/client/index.html +5 -3
  34. package/dist/scripts/postinstall-path-check.js +4 -4
  35. package/dist/server/index.js +1 -1
  36. package/dist/session/command-hook-relay.js +1 -1
  37. package/dist/session/{sandbox-open-launcher.js → guardrails-open-launcher.js} +10 -10
  38. package/dist/session/hook-relay.js +1 -1
  39. package/dist/session/hook-tool-relay.js +3 -3
  40. package/dist/session/statusline-relay.js +1 -1
  41. package/package.json +6 -5
  42. package/dist/chunks/adapters-B37wqNti.js +0 -1
  43. package/dist/chunks/config-store-BeIxAZNn.js +0 -1
  44. package/dist/chunks/config-store-BtsYbNC3.js +0 -1713
  45. package/dist/chunks/git-version-CUcDtF5k.js +0 -58
  46. package/dist/chunks/rtk-resolver-SWU5VVM7.js +0 -1
  47. package/dist/chunks/sandbox-deps-CWiH1d1w.js +0 -70
  48. package/dist/chunks/session-D6xXN0UU.js +0 -232
  49. package/dist/client/assets/index-CUxRHbCS.js +0 -254
  50. package/dist/client/assets/index-DE2GUmqs.css +0 -1
@@ -0,0 +1,265 @@
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 x={parked:`PARKED`,merging:`MERGING`};function S(e,t){return e===a.RUNNING&&t===!0}function ee(e,t=!1){let n=e,r=S(e,t),i=r?`Monitoring`:o[n]||e;return{glyph:s[n]||``,label:i.toUpperCase(),isMonitoring:r}}function te(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 ne(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 T(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function ie(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function ae(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 E=new Map;function D(e){return e.card?.dataset.session||e.nameEl?.textContent||``}function O(e){return typeof e==`string`?e:String(e)}function k(e){return typeof e==`string`?E.get(e):void 0}var oe=document.getElementById(`sessions-container`),se=document.getElementById(`aggregate-status`),ce=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),le=e=>e||null,ue=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:le(e)}),focusSession:e=>({focusedSessionId:le(e)}),selectSession:e=>({selectedSessionId:le(e)}),borrowCard:e=>({borrowedCardId:le(e)})});function de(e){let t=Object.freeze({...ce,...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 ce))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=ue[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 fe=de(),pe=()=>fe.snapshot().activeView;function me(){return fe.snapshot().borrowedCardId}function he(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=me();i&&i!==t&&ge();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),ie(a,n),fe.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function ge(){let e=me();if(fe.dispatch(`borrowCard`,null),!e)return null;let t=E.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,ae(n,oe)),e}function _e(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 ve(e,t=`|`){return e.map(e=>We(e)).join(t)}function ye(e,t){return typeof t==`bigint`?t.toString():t}var be=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 xe(e){return new be(e)}function Se(e){return e==null}function Ce(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function we(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 Te(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ee(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function De(e){return Ee(e._zod.def)??e._zod.def.shape}function Oe(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return Te(this,t,e),e},enumerable:!0,configurable:!0})}function ke(e,t,n){t in e?Te(e,t,n):e[t]=n}function Ae(e,t,n,r){let i=De(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?Oe(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):ke(e,a,r?r(n.value,a):n.value))}}function je(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Oe(e,n,()=>t[n]):ke(e,n,r.value))}}function Me(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Ne(e){return JSON.stringify(e)}function Pe(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var Fe=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Ie(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var Le=xe(()=>{if(Pt.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Re(e){if(Ie(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Ie(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ze(e){return Re(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var Be=new Set([`string`,`number`,`symbol`]),Ve=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function He(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Ue(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function A(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 We(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Ge(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var Ke={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},qe={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Je(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 Ae(i,e,Ye(e,t)),Ue(e,Me(n,{shape:i,checks:[]}))}function Ye(e,t){let n=De(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 Xe(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(Ye(e,t)),a={};return Ae(a,e,Reflect.ownKeys(De(e)).filter(e=>!i.has(e))),Ue(e,Me(n,{shape:a,checks:[]}))}function Ze(e,t){if(!Re(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=De(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 Ue(e,Me(e._zod.def,{shape:Qe(e,t)}))}function Qe(e,t){let n={};return Ae(n,e,Reflect.ownKeys(De(e))),je(n,t),n}function $e(e,t){if(!Re(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Ue(e,Me(e._zod.def,{shape:Qe(e,t)}))}function et(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 Ae(n,e,Reflect.ownKeys(De(e))),Ae(n,t,Reflect.ownKeys(De(t))),Ue(e,Me(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function tt(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(Ye(t,n)):void 0,o={};return Ae(o,t,Reflect.ownKeys(De(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),Ue(t,Me(t._zod.def,{shape:o,checks:[]}))}function nt(e,t,n){let r=n?new Set(Ye(t,n)):void 0,i={};return Ae(i,t,Reflect.ownKeys(De(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),Ue(t,Me(t._zod.def,{shape:i}))}function rt(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 it(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 at(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function ot(e){return typeof e==`string`?e:e?.message}function st(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 ct(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function lt(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:ot(e.inst?._zod.def?.error?.(e))??ot(a?.(e))??ot(t?.error?.(e))??ot(n.customError?.(e))??ot(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 ut=/[\uD800-\uDBFF]/;function dt(e){let t=e.length;if(!ut.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 ft(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function pt(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 mt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function ht(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):yt(e,n,r.value)}}function gt(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function _t(e,t,n){return gt(e,t,n,!1)}function vt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return gt(this,n,r(this))},set(e){gt(this,n,e)}})}return t}function yt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:gt(this,t,n.bind(this))},set(e){gt(this,t,e)}})}function bt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var xt,St=!1,Ct={configurable:!0,get(){St=!0}};function wt(e,t,n){let r=Object.getPrototypeOf(e._zod);t in r&&xt!==e._zod?xt=void 0:(xt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,Ct);let e=St;St=!1;try{let r=n(this);return St?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),St||=e,r}catch(n){throw delete this[t],St||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}}))}function Tt(e,t,n,r){let i=bt(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 Et=`~constantCatch`;function Dt(e){let t=()=>e;return t[Et]=!0,t}var Ot,kt={value:void 0,enumerable:!1},At=`captureStackTrace`in Error?Error:null;function jt(e){let t=At;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return At=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function j(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){kt.value=new a(r);try{Object.defineProperty(n,"_zod",kt)}finally{kt.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),ht(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?jt(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 Mt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Nt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Ot=globalThis).__zod_globalConfig??(Ot.__zod_globalConfig={});var Pt=globalThis.__zod_globalConfig;function Ft(e){return e&&Object.assign(Pt,e),Pt}function It(){let e=this._zod;return e.message??=JSON.stringify(e.def,ye,2),e.message}function Lt(e){this._zod.message=e}var eee={get:It,set:Lt,enumerable:!0,configurable:!0},Rt={value:void 0,enumerable:!1},zt=new WeakSet([Object.prototype,Error.prototype]),Bt=(e,t)=>{e.name=`$ZodError`,Rt.value=t,Object.defineProperty(e,"issues",Rt),Rt.value=void 0,Object.defineProperty(e,"message",eee);let n=Object.getPrototypeOf(e);zt.has(n)||(zt.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})}}))},Vt=j(`$ZodError`,Bt);j(`$ZodError`,Bt,void 0,{Parent:Error});function Ht(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 Ut(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Ht(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Wt(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 Gt(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Kt=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 Mt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>lt(e,o,Ft())));throw Fe(n,a?.callee??t),n}return s.value};return t},qt=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=>lt(e,o,Ft())));throw Fe(n,a?.callee??t),n}return s.value};return t},Jt=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 Mt;return a.issues.length?Yt(e,a.issues,i):{success:!0,data:a.value}};function Yt(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>lt(e,n,Ft()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var Xt=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?Yt(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 Mt;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=Kt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Gt(n,a))};return n},see=e=>{let t=Kt(e),n=(e,r,i,a)=>t(e,r,i,Gt(n,a));return n},cee=e=>{let t=qt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Gt(n,a))};return n},Zt=e=>{let t=qt(e),n=async(e,r,i,a)=>await t(e,r,i,Gt(n,a));return n},lee=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Jt(e)(t,n,i)},Qt=e=>(t,n,r)=>Jt(e)(t,n,r),$t=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Xt(e)(t,n,i)},en=e=>async(t,n,r)=>Xt(e)(t,n,r),tn=/^[cC][0-9a-z]{6,}$/,nn=/^[0-9a-z]+$/,uee=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,rn=/^[0-9a-vA-V]{20}$/,an=/^[A-Za-z0-9]{27}$/,on=/^[a-zA-Z0-9_-]{21}$/;function sn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var cn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ln=/^([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})$/,un=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)$/,dee=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,fee=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function pee(){return new RegExp(fee,`u`)}var mee=/^(?:(?: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])$/,hee=/^(([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}|:))$/,gee=/^((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])$/,_ee=/^(([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])$/,vee=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,dn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,fn=/^https?$/,pn=/^\+[1-9]\d{6,14}$/,mn=`(?:(?:\\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 hn(e){return RegExp(`^${e}$`)}var gn=hn(mn);function _n(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 vn(e){return RegExp(`^${_n(e)}$`)}function yn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${_n({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${_n({precision:e.precision})}`:n;return RegExp(`^${mn}T(?:${r})$`)}var bn=/^[\s\S]{0,}$/,xn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},Sn=/^-?\d+$/,Cn=/^-?\d+(?:\.\d+)?$/,wn=/^(?:true|false)$/i,Tn=/^null$/i,En=/^[^A-Z]*$/,Dn=/^[^a-z]*$/,On=j(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),kn=e=>{let t=e.value;return!Se(t)&&t.length!==void 0},An={number:`number`,bigint:`bigint`,object:`date`},jn=j(`$ZodCheckLessThan`,(e,t)=>{On.init(e,t);let n=An[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:An[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})}}),Mn=j(`$ZodCheckGreaterThan`,(e,t)=>{On.init(e,t);let n=An[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:An[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})}}),Nn=j(`$ZodCheckMultipleOf`,(e,t)=>{On.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):we(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})}}),Pn=j(`$ZodCheckNumberFormat`,(e,t)=>{On.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ke[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})}}),Fn=j(`$ZodCheckMaxLength`,(e,t)=>{var n;On.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?dt(r):i)<=t.maximum)return;let a=ft(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),In=j(`$ZodCheckMinLength`,(e,t)=>{var n;On.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?dt(r):i)>=t.minimum)return;let a=ft(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Ln=j(`$ZodCheckLengthEquals`,(e,t)=>{var n;On.init(e,t),(n=e._zod.def).when??(n.when=kn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?dt(r):i;if(a===t.length)return;let o=ft(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})}}),Rn=j(`$ZodCheckStringFormat`,(e,t)=>{var n,r;On.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=()=>{})}),yee=j(`$ZodCheckRegex`,(e,t)=>{Rn.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})}}),bee=j(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=En,Rn.init(e,t)}),xee=j(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Dn,Rn.init(e,t)}),See=j(`$ZodCheckIncludes`,(e,t)=>{On.init(e,t);let n=He(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})}}),Cee=j(`$ZodCheckStartsWith`,(e,t)=>{On.init(e,t);let n=RegExp(`^${He(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})}}),wee=j(`$ZodCheckEndsWith`,(e,t)=>{On.init(e,t);let n=RegExp(`.*${He(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})}}),Tee=j(`$ZodCheckOverwrite`,(e,t)=>{On.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),Eee=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))}},Dee={major:4,minor:6,patch:7},zn=j(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dee;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=rt(t),a;for(let o of n){if(o._zod.def.when){if(it(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 Mt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(ct(t.issues,n,e),i||=rt(t,n))});else{if(t.issues.length===n)continue;ct(t.issues,n,e),i||=rt(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(rt(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Mt;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 Mt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return _t(this,`~standard`,Vn(this))},set"~standard"(e){gt(this,`~standard`,e)}}),Bn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>lt(e,t,Ft()))}:{value:e.value};async function Oee(e,t){let n={async:!0};return Bn(await e._zod.run({value:t,issues:[]},n),n)}function Vn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return Bn(r,n)}catch{}return Oee(e,t)},vendor:`zod`,version:1}}var Hn=j(`$ZodString`,(e,t)=>{zn.init(e,t),e._zod.pattern=t.pattern??bn,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}}),Un=j(`$ZodStringFormat`,(e,t)=>{Rn.init(e,t),Hn.init(e,t)}),kee=j(`$ZodGUID`,(e,t)=>{t.pattern??=ln,Un.init(e,t)}),Aee=j(`$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??=un(e)}else t.pattern??=un();Un.init(e,t)}),jee=j(`$ZodEmail`,(e,t)=>{t.pattern??=dee,Un.init(e,t)});function Wn(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Mee(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Wn(e)||2:Nee(e,t)}function Nee(e,t){if(!t.normalize&&t.protocol?.source===fn.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 Pee=/[\t\n\r]/g;function Gn(e){return e.replace(Pee,``)}function Fee(e,t){return t.lastIndex=0,t.test(e.hostname)}function Iee(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Kn=j(`$ZodURL`,(e,t)=>{Un.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=Mee(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=Gn(r);return}t.hostname&&!Fee(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&&!Iee(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:Gn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),qn=j(`$ZodEmoji`,(e,t)=>{t.pattern??=pee(),Un.init(e,t)}),Jn=j(`$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?on:sn(t.length),Un.init(e,t)}),Yn=j(`$ZodCUID`,(e,t)=>{t.pattern??=tn,Un.init(e,t)}),Xn=j(`$ZodCUID2`,(e,t)=>{t.pattern??=nn,Un.init(e,t)}),Zn=j(`$ZodULID`,(e,t)=>{t.pattern??=uee,Un.init(e,t)}),Qn=j(`$ZodXID`,(e,t)=>{t.pattern??=rn,Un.init(e,t)}),$n=j(`$ZodKSUID`,(e,t)=>{t.pattern??=an,Un.init(e,t)}),er=j(`$ZodISODateTime`,(e,t)=>{t.pattern??=yn(t),Un.init(e,t)}),tr=j(`$ZodISODate`,(e,t)=>{t.pattern??=gn,Un.init(e,t)}),nr=j(`$ZodISOTime`,(e,t)=>{t.pattern??=vn(t),Un.init(e,t)}),rr=j(`$ZodISODuration`,(e,t)=>{t.pattern??=cn,Un.init(e,t)}),ir=j(`$ZodIPv4`,(e,t)=>{t.pattern??=mee,Un.init(e,t)}),ar=/^[0-9a-fA-F:.]+$/;function or(e){return ar.test(e)?Wn(`http://[${e}]`):!1}var sr=j(`$ZodIPv6`,(e,t)=>{t.pattern??=hee,Un.init(e,t),e._zod.check=n=>{or(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),cr=j(`$ZodCIDRv4`,(e,t)=>{t.pattern??=gee,Un.init(e,t)});function lr(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:or(n)}var ur=j(`$ZodCIDRv6`,(e,t)=>{t.pattern??=_ee,Un.init(e,t),e._zod.check=n=>{lr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function dr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var fr=/^[0-9a-zA-Z+/]*={0,2}$/,pr=j(`$ZodBase64`,(e,t)=>{t.pattern??=fr,Un.init(e,t),e._zod.check=n=>{dr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),mr=/^[A-Za-z0-9_-]*$/;function hr(e){if(!mr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return dr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var gr=j(`$ZodBase64URL`,(e,t)=>{t.pattern??=mr,Un.init(e,t),e._zod.check=n=>{hr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),_r=j(`$ZodE164`,(e,t)=>{t.pattern??=pn,Un.init(e,t)});function vr(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 yr=j(`$ZodJWT`,(e,t)=>{Un.init(e,t),e._zod.check=n=>{vr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),br=j(`$ZodNumber`,(e,t)=>{zn.init(e,t),e._zod.pattern=Cn,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}}),xr=j(`$ZodNumberFormat`,(e,t)=>{Pn.init(e,t),br.init(e,t)}),Sr=j(`$ZodBoolean`,(e,t)=>{zn.init(e,t),e._zod.pattern=wn,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}}),Cr=j(`$ZodNull`,(e,t)=>{zn.init(e,t),e._zod.pattern=Tn,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}}),wr=j(`$ZodUnknown`,(e,t)=>{zn.init(e,t),e._zod.parse=e=>e}),Tr=j(`$ZodNever`,(e,t)=>{zn.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function Er(e,t){let n=st(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 st(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,ct(n.issues,t,e),n}}return i(n,a)}}var Dr=e=>Array.isArray(e)?e.length:-1;function Or(e,t,n){e.issues.length&&t.issues.push(...at(n,e.issues)),t.value[n]=e.value}var kr=j(`$ZodArray`,(e,t)=>{zn.init(e,t);let n=Pt.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=>Or(t,r,e)));else if(Or(c,r,e),s&&c.issues.length!==0&&rt(c))break}return o.length?Promise.all(o).then(()=>r):r},Er(e,Dr)});function Ar(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(...at(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 jr=[];function Mr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:jr,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=Ge(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Nr(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(rt(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=>Ar(e,n,i,t,d,f))):Ar(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 Pr=j(`$ZodObject`,(e,t)=>{zn.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=xe(()=>Mr(t));wt(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)||Te(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=Ie,o=t.catchall,s,c=Pt.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(rt(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=>Ar(n,t,e,r,a,o))):Ar(s,t,e,r,a,o)}return o?Nr(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),Fr=j(`$ZodObjectJIT`,(e,t)=>{Pr.init(e,t);let n=e._zod.parse,r=xe(()=>Mr(t)),i=Pt.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Eee([`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)}]`:Ne(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=Ie,c=!Pt.jitless,l=c&&Le.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?Nr([],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 Ir(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=>!rt(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=>lt(e,r,Ft())))}),t)}var Lr=j(`$ZodUnion`,(e,t)=>{zn.init(e,t),wt(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),wt(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),wt(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)))}),wt(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=>Ce(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=>Ir(t,r,e,i)):Ir(o,r,e,i)}});function Rr(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 zr=j(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Lr.init(e,t);let n=e._zod.parse;wt(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)||Te(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=Ee(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=xe(()=>Rr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!Ie(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)}}),Br=j(`$ZodIntersection`,(e,t)=>{zn.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])=>Hr(e,t,n)):Hr(e,i,a)}});function Vr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Re(e)&&Re(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=Vr(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=Vr(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 Hr(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=Vr(t.value,n.value);if(!c.valid){if(rt(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var Ur=j(`$ZodRecord`,(e,t)=>{zn.init(e,t);let n=Pt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Re(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=>lt(e,i,Ft())),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(...at(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...at(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`&&Cn.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=>lt(e,i,Ft())),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(...at(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...at(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}}),Wr=j(`$ZodEnum`,(e,t)=>{zn.init(e,t);let n=_e(t.entries),r=new Set(n);e._zod.values=r,wt(e,`pattern`,e=>{let t=_e(e.def.entries).filter(e=>Be.has(typeof e));return RegExp(t.length?`^(${t.map(e=>He(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}}),Gr=j(`$ZodLiteral`,(e,t)=>{zn.init(e,t);let n=new Set(t.values);e._zod.values=n,wt(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?He(e):e?He(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}}),Kr=j(`$ZodTransform`,(e,t)=>{zn.init(e,t),e._zod.optin=`optional`,Pt.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Nt(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 Mt;return n.value=i,n}});function qr(e,t){return e.value=t.issues.length?void 0:t.value,e}var Jr=j(`$ZodOptional`,(e,t)=>{zn.init(e,t),wt(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,wt(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),wt(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ce(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=>qr(e,t)):qr(e,r)}return t.innerType._zod.run(e,n)}}),Yr=j(`$ZodExactOptional`,(e,t)=>{Jr.init(e,t),wt(e,`values`,e=>e.def.innerType._zod.values),wt(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Xr=j(`$ZodNullable`,(e,t)=>{zn.init(e,t),wt(e,`optin`,e=>e.def.innerType._zod.optin),wt(e,`optout`,e=>e.def.innerType._zod.optout),wt(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ce(t.source)}|null)$`):void 0}),wt(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)}),Zr=j(`$ZodDefault`,(e,t)=>{zn.init(e,t),e._zod.optin=`defaulted`,wt(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=>Qr(e,t)):Qr(r,t)}});function Qr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var $r=j(`$ZodPrefault`,(e,t)=>{zn.init(e,t),e._zod.optin=`defaulted`,wt(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))}),ei=j(`$ZodNonOptional`,(e,t)=>{zn.init(e,t),wt(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=>ti(t,e)):ti(i,e)}});function ti(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 ni(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>lt(e,r,Ft()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var ri=j(`$ZodCatch`,(e,t)=>{zn.init(e,t),wt(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),wt(e,`optout`,e=>e.def.innerType._zod.optout),wt(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=>ni(e,r,t,n)):ni(e,r,t,n)}}),ii=j(`$ZodPipe`,(e,t)=>{zn.init(e,t),wt(e,`values`,e=>e.def.in._zod.values),wt(e,`optin`,e=>e.def.in._zod.optin),wt(e,`optout`,e=>e.def.out._zod.optout),wt(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=>ai(e,t.in,n)):ai(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ai(e,t.out,n)):ai(r,t.out,n)}});function ai(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 oi=j(`$ZodPreprocess`,(e,t)=>{ii.init(e,t)}),si=j(`$ZodReadonly`,(e,t)=>{zn.init(e,t),wt(e,`propValues`,e=>e.def.innerType._zod.propValues),wt(e,`values`,e=>e.def.innerType._zod.values),wt(e,`optin`,e=>e.def.innerType?._zod?.optin),wt(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(ci):ci(r)}});function ci(e){return e.memo||(e.value=Object.freeze(e.value)),e}function li(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 xn({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===Cn?Sn:o)?.source}function ui(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=ui(r);return n&&e&&t&&t!==e?n.replace(Ce(e),()=>Ce(t)):n}if(t.options){let e=t.options.map(ui);if(e.every(Boolean))return`^(${e.map(e=>Ce(e)).join(`|`)})$`}return li(e)}var di=j(`$ZodTemplateLiteral`,(e,t)=>{zn.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=ui(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(Ce(t))}else if(e===null||Ve.has(typeof e))n.push(He(`${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)}),fi=j(`$ZodCustom`,(e,t)=>{On.init(e,t),zn.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=>pi(t,n,r,e));pi(i,n,r,e)}});function pi(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(mt(e))}}var mi=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},hi=`~memo`,gi=[];function _i(e){return typeof e==`object`&&!!e}function vi(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var yi=new WeakMap,bi=0,xi=1,Si=2;function Ci(e,t,n){let r=yi.get(e);if(r!==void 0)return r?Si:bi;if(t.has(e))return Si;t.add(e);let i=bi,a=e=>{if(i!==Si&&e?._zod){let r=Ci(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=bi;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?xi:o.value?._zod?Ci(o.value,t,n):bi;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=Ee(c);s(e?o(e,!0):xi),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?Ci(r,t,!1):xi);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),Lee(e,i)}function Lee(e,t){return t!==xi&&yi.set(e,t===Si),t}function Ree(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var wi,Ti=[],zee={alloc(e,t,n){let r=wi;if(!r)return n;wi=void 0;let i={value:n,issues:null};return r.set(t.value,i),Ti.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`&&Vee(n,e.value))throw new mi;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=Ci(e,new Set,!1);if(i===bi)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===Si||r?n=!0:r=!0}let l=s.value;if(!_i(l))return t(s,c);let u=c[hi];u||(u={buckets:new WeakMap,backEdges:void 0},c[hi]=u);let d;i===c?d=a:(d=Ree(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(...vi(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;wi=d;let p=Ti.length,m=t(s,c);wi=void 0;let h=Ti.length>p?Ti.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?vi(e.issues):gi),e)):(h&&(h.issues=m.issues.length?vi(m.issues):gi),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function Bee(){return zee}function Vee(e,t){let n=e[hi]?.backEdges;return n!==void 0&&_i(t)&&n.has(t)}var Hee=()=>{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(pt(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${We(e.values[0])}`:`Invalid option: expected one of ${ve(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`:``}: ${ve(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 Uee(){return{localeError:Hee()}}var Ei,Wee=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 Gee(){return new Wee}(Ei=globalThis).__zod_globalRegistry??(Ei.__zod_globalRegistry=Gee());var Di=globalThis.__zod_globalRegistry;function Oi(e){return e.checks&&=[...e.checks],e}function Kee(e,t){return new e(Oi({type:`string`,...A(t)}))}function qee(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...A(t)})}function Jee(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...A(t)})}function Yee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...A(t)})}function Xee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...A(t)})}function Zee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...A(t)})}function Qee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...A(t)})}function ki(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...A(t)})}function $ee(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...A(t)})}function ete(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...A(t)})}function tte(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...A(t)})}function nte(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...A(t)})}function rte(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...A(t)})}function ite(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...A(t)})}function ate(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...A(t)})}function ote(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...A(t)})}function ste(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...A(t)})}function cte(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...A(t)})}function lte(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...A(t)})}function Ai(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...A(t)})}function ute(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...A(t)})}function dte(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...A(t)})}function fte(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...A(t)})}function ji(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...A(t)})}function pte(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...A(t)})}function mte(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...A(t)})}function hte(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...A(t)})}function gte(e,t){return new e(Oi({type:`number`,checks:[],...A(t)}))}function _te(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...A(t)})}function vte(e,t){return new e({type:`boolean`,...A(t)})}function yte(e,t){return new e({type:`null`,...A(t)})}function bte(e){return new e({type:`unknown`})}function xte(e,t){return new e({type:`never`,...A(t)})}function Mi(e,t){return new jn({check:`less_than`,...A(t),value:e,inclusive:!1})}function Ni(e,t){return new jn({check:`less_than`,...A(t),value:e,inclusive:!0})}function Pi(e,t){return new Mn({check:`greater_than`,...A(t),value:e,inclusive:!1})}function Fi(e,t){return new Mn({check:`greater_than`,...A(t),value:e,inclusive:!0})}function Ii(e,t){return new Nn({check:`multiple_of`,...A(t),value:e})}function Li(e,t){return new Fn({check:`max_length`,...A(t),maximum:e})}function Ri(e,t){return new In({check:`min_length`,...A(t),minimum:e})}function zi(e,t){return new Ln({check:`length_equals`,...A(t),length:e})}function Ste(e,t){return new yee({check:`string_format`,format:`regex`,...A(t),pattern:e})}function Cte(e){return new bee({check:`string_format`,format:`lowercase`,...A(e)})}function wte(e){return new xee({check:`string_format`,format:`uppercase`,...A(e)})}function Tte(e,t){return new See({check:`string_format`,format:`includes`,...A(t),includes:e})}function Ete(e,t){return new Cee({check:`string_format`,format:`starts_with`,...A(t),prefix:e})}function Dte(e,t){return new wee({check:`string_format`,format:`ends_with`,...A(t),suffix:e})}function Bi(e){return new Tee({check:`overwrite`,tx:e})}function Ote(e){return Bi(t=>t.normalize(e))}function kte(){return Bi(e=>e.trim())}function Ate(){return Bi(e=>e.toLowerCase())}function jte(){return Bi(e=>e.toUpperCase())}function Mte(){return Bi(e=>Pe(e))}function Nte(e,t,n){return new e({type:`array`,element:t,...A(n)})}function Pte(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...A(n)})}function Fte(e,t){let n=Ite(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(mt(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(mt(r))}},e(t.value,t)),t);return n}function Ite(e,t){let n=new On({check:`custom`,...A(t)});return n._zod.check=e,n}function Vi(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Te(e,t,n[t]);return e}function Hi(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??Di,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 Ui(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 Wi(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,Wi(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Vi(o.schema,c),t.io===`input`&&ea(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 Gi(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Ki(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}/${Gi(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+Gi(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 qi(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;qi(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 Ji=new Set([`type`,`properties`,`required`,`additionalProperties`]),Yi=[`oneOf`,`anyOf`];function Xi(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Zi(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Ji.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]??Xi(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Te(n,r,e.length===1?e[0]:Zi(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=Xi(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 Qi(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Ji)if(t in e)return;let n=t.filter(e=>Yi.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Zi(t);else{let e=n[0],i=Yi.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=>Zi([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Vi(e,r))}function $i(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)):Vi(i,s),Vi(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())qi(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)??[])Qi(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)}Vi(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,Te(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:na(t,`input`,e.processors),output:na(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function ea(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 ea(r.element,n);if(r.type===`set`)return ea(r.valueType,n);if(r.type===`lazy`)return ea(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 ea(r.innerType,n);if(r.type===`intersection`)return ea(r.left,n)||ea(r.right,n);if(r.type===`record`||r.type===`map`)return ea(r.keyType,n)||ea(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:ea(r.in,n)||ea(r.out,n);if(r.type===`object`){for(let e in r.shape)if(ea(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(ea(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(ea(e,n))return!0;return!!(r.rest&&ea(r.rest,n))}return!1}var ta=(e,t={})=>n=>{let r=Hi({...n,processors:t});return Wi(e,r),Ki(r,e),$i(r,e)},na=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=Hi({...i??{},target:a,io:t,processors:n});return Wi(e,o),Ki(o,e),$i(o,e)},ra=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},ia=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},aa=(e,t)=>{ra(e,`minimum`,t),ia(e,`maximum`,t)},oa=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},sa=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},ca=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},la=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},ua=(e,t)=>ra(e,`minimum`,t.minimum),da=(e,t)=>ia(e,`maximum`,t.maximum),fa=e=>(t,n)=>{la(t,n.format);let[r,i]=e[n.format];ra(t,`minimum`,r),ia(t,`maximum`,i)},Lte={greater_than:(e,t)=>ra(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>ia(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>oa(e,t.value),number_format:fa(Ke),bigint_format:fa(qe),min_length:ua,max_length:da,length_equals:(e,t)=>aa(e,t.length),min_size:ua,max_size:da,size_equals:(e,t)=>aa(e,t.size),string_format:(e,t)=>{la(e,t.format),t.pattern&&sa(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)=>ca(e,t.mime)};function pa(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Lte[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&ra(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&ra(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&ia(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&ia(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&oa(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&ca(t,i.mime);for(let e of i.patterns??[])sa(t,e);return t}var Rte={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},zte=new Map([[fr,vee],[mr,dn]]),ma=e=>zte.get(e)??e,ha=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=pa(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Rte[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(ma);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}))])}},ga=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=pa(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)):Ui(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}))])}},_a=(e,t,n,r)=>{n.type=`boolean`},va=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},ya=(e,t,n,r)=>{n.not={}},ba=(e,t,n,r)=>{let i=e._zod.def,a=_e(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)},xa=(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(Ui(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Ui(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}},Sa=(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},Ca=(e,t,n,r)=>{Ui(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},wa=(e,t,n,r)=>{Ui(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Ta=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=pa(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=Wi(a.element,t,{...r,path:[...r.path,`items`]})};function Ea(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?Ea(t.out):t.type===`catch`?Ea(t.innerType):e._zod.optin}var Da=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Ui(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Te(i.properties,e,Wi(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`?Ea(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=Wi(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Oa=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>Wi(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},ka=(e,t,n,r)=>{let i=e._zod.def,a=Wi(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=Wi(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 Aa(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=Aa(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=>Aa(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`)?Cn:Sn).source)),p}var ja=new WeakMap;function Ma(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 ja.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Aa(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 Na=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=pa(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=Wi(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Te(i.patternProperties,ma(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=Wi(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=ja.get(t);n||(n=[],ja.set(t,n),t.deferred.push(()=>Ma(t))),n.push(e)}i.additionalProperties=Wi(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&Ea(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))}},Pa=(e,t,n,r)=>{let i=e._zod.def,a=Wi(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`}]},Fa=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ia=Symbol();function La(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Ui(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Ia):JSON.parse(o)}var Ra=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=La(i.defaultValue,e,t,n,r);o!==Ia&&(n.default=o)},za=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=La(i.defaultValue,e,t,n,r);o!==Ia&&(n._prefault=o)},Ba=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Ui(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Va=(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;Wi(o,t,r);let s=t.seen.get(e);s.ref=o},Ha=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Ua=(e,t,n,r)=>{let i=e._zod.def;Wi(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wa=new WeakSet([Object.prototype,Error.prototype]);function Ga(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 Ka=j(`ZodError`,(e,t)=>{Vt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Wa.has(n)||(Wa.add(n),Ga(n,`format`,e=>t=>Wt(e,t)),Ga(n,`flatten`,e=>t=>Ut(e,t)),Ga(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ye,2)}),Ga(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ye,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),qa=Kt(Ka),Ja=qt(Ka),Ya=Jt(Ka),Xa=Xt(Ka),Za=oee(Ka),Qa=see(Ka),$a=cee(Ka),eo=Zt(Ka),to=lee(Ka),no=Qt(Ka),ro=$t(Ka),io=en(Ka);function ao(){Pt.localeError||Ft(Uee())}function oo(){Pt.memoizer||Ft({memoizer:Bee()})}var so=j(`ZodType`,(e,t)=>(ao(),zn.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Me(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 Ue(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(rs(e,t))},superRefine(e,t){return this.check(is(e,t))},overwrite(e){return this.check(Bi(e))},optional(){return Io(this)},exactOptional(){return Ro(this)},nullable(){return Bo(this)},nullish(){return Io(Bo(this))},nonoptional(e){return Ko(this,e)},array(){return F(this)},or(e){return wo([this,e])},and(e){return Oo(this,e)},transform(e){return Xo(this,Po(e))},default(e){return Ho(this,e)},prefault(e){return Wo(this,e)},catch(e){return Jo(this,e)},pipe(e){return Xo(this,e)},readonly(){return $o(this)},describe(e){let t=this.clone();return Di.add(t,{description:e}),t},meta(...e){if(e.length===0)return Di.get(this);let t=this.clone();return Di.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 _t(this,`~standard`,{...Vn(this),jsonSchema:{input:na(this,`input`),output:na(this,`output`)}})},set"~standard"(e){gt(this,`~standard`,e)},parse:function e(t,n){return qa(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ja(this,t,n,{callee:e})},safeParse(e,t){return Ya(this,e,t)},async safeParseAsync(e,t){return Xa(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){gt(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 Za(this,t,n,{callee:e})},decode:function e(t,n){return Qa(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await $a(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await eo(this,t,n,{callee:e})},safeEncode(e,t){return to(this,e,t)},safeDecode(e,t){return no(this,e,t)},async safeEncodeAsync(e,t){return ro(this,e,t)},async safeDecodeAsync(e,t){return io(this,e,t)},toJSONSchema(e){return ta(this,{})(e)},get description(){return Di.get(this)?.description},get _def(){return this._zod.def}}),co=j(`_ZodString`,(e,t)=>{Hn.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ha(e,t,n,r)},vt({format:e=>pa(e).format??null,minLength:e=>pa(e).minimum??null,maxLength:e=>pa(e).maximum??null},{regex(...e){return this.check(Ste(...e))},includes(...e){return this.check(Tte(...e))},startsWith(...e){return this.check(Ete(...e))},endsWith(...e){return this.check(Dte(...e))},min(...e){return this.check(Ri(...e))},max(...e){return this.check(Li(...e))},length(...e){return this.check(zi(...e))},nonempty(...e){return this.check(Ri(1,...e))},lowercase(e){return this.check(Cte(e))},uppercase(e){return this.check(wte(e))},trim(){return this.check(kte())},normalize(...e){return this.check(Ote(...e))},toLowerCase(){return this.check(Ate())},toUpperCase(){return this.check(jte())},slugify(){return this.check(Mte())}})),Bte=j(`ZodString`,(e,t)=>{Hn.init(e,t),co.init(e,t)},{email(e){return this.check(qee(Wte,e))},url(e){return this.check(ki(po,e))},jwt(e){return this.check(fte(one,e))},emoji(e){return this.check($ee(Kte,e))},guid(e){return this.check(Jee(Gte,e))},uuid(e){return this.check(Yee(fo,e))},uuidv4(e){return this.check(Xee(fo,e))},uuidv6(e){return this.check(Zee(fo,e))},uuidv7(e){return this.check(Qee(fo,e))},nanoid(e){return this.check(ete(qte,e))},cuid(e){return this.check(tte(Jte,e))},cuid2(e){return this.check(nte(Yte,e))},ulid(e){return this.check(rte(Xte,e))},base64(e){return this.check(Ai(ho,e))},base64url(e){return this.check(ute(ine,e))},xid(e){return this.check(ite(Zte,e))},ksuid(e){return this.check(ate(Qte,e))},ipv4(e){return this.check(ote($te,e))},ipv6(e){return this.check(ste(ene,e))},cidrv4(e){return this.check(cte(tne,e))},cidrv6(e){return this.check(lte(nne,e))},e164(e){return this.check(dte(ane,e))},datetime(e){return this.check(ji(uo,e))},date(e){return this.check(pte(Vte,e))},time(e){return this.check(mte(Hte,e))},duration(e){return this.check(hte(Ute,e))}});function M(e){return Kee(Bte,e)}var lo=j(`ZodStringFormat`,(e,t)=>{Un.init(e,t),co.init(e,t)}),uo=j(`ZodISODateTime`,(e,t)=>{er.init(e,t),lo.init(e,t)}),Vte=j(`ZodISODate`,(e,t)=>{tr.init(e,t),lo.init(e,t)}),Hte=j(`ZodISOTime`,(e,t)=>{nr.init(e,t),lo.init(e,t)}),Ute=j(`ZodISODuration`,(e,t)=>{rr.init(e,t),lo.init(e,t)}),Wte=j(`ZodEmail`,(e,t)=>{jee.init(e,t),lo.init(e,t)}),Gte=j(`ZodGUID`,(e,t)=>{kee.init(e,t),lo.init(e,t)}),fo=j(`ZodUUID`,(e,t)=>{Aee.init(e,t),lo.init(e,t)}),po=j(`ZodURL`,(e,t)=>{Kn.init(e,t),lo.init(e,t)});function mo(e){return ki(po,e)}var Kte=j(`ZodEmoji`,(e,t)=>{qn.init(e,t),lo.init(e,t)}),qte=j(`ZodNanoID`,(e,t)=>{Jn.init(e,t),lo.init(e,t)}),Jte=j(`ZodCUID`,(e,t)=>{Yn.init(e,t),lo.init(e,t)}),Yte=j(`ZodCUID2`,(e,t)=>{Xn.init(e,t),lo.init(e,t)}),Xte=j(`ZodULID`,(e,t)=>{Zn.init(e,t),lo.init(e,t)}),Zte=j(`ZodXID`,(e,t)=>{Qn.init(e,t),lo.init(e,t)}),Qte=j(`ZodKSUID`,(e,t)=>{$n.init(e,t),lo.init(e,t)}),$te=j(`ZodIPv4`,(e,t)=>{ir.init(e,t),lo.init(e,t)}),ene=j(`ZodIPv6`,(e,t)=>{sr.init(e,t),lo.init(e,t)}),tne=j(`ZodCIDRv4`,(e,t)=>{cr.init(e,t),lo.init(e,t)}),nne=j(`ZodCIDRv6`,(e,t)=>{ur.init(e,t),lo.init(e,t)}),ho=j(`ZodBase64`,(e,t)=>{pr.init(e,t),lo.init(e,t)});function rne(e){return Ai(ho,e)}var ine=j(`ZodBase64URL`,(e,t)=>{gr.init(e,t),lo.init(e,t)}),ane=j(`ZodE164`,(e,t)=>{_r.init(e,t),lo.init(e,t)}),one=j(`ZodJWT`,(e,t)=>{yr.init(e,t),lo.init(e,t)}),go=j(`ZodNumber`,(e,t)=>{br.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ga(e,t,n,r),e.isFinite=!0},vt({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=pa(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=pa(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=pa(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>pa(e).format??null},{gt(e,t){return this.check(Pi(e,t))},gte(e,t){return this.check(Fi(e,t))},min(e,t){return this.check(Fi(e,t))},lt(e,t){return this.check(Mi(e,t))},lte(e,t){return this.check(Ni(e,t))},max(e,t){return this.check(Ni(e,t))},int(e){return this.check(_o(e))},safe(e){return this.check(_o(e))},positive(e){return this.check(Pi(0,e))},nonnegative(e){return this.check(Fi(0,e))},negative(e){return this.check(Mi(0,e))},nonpositive(e){return this.check(Ni(0,e))},multipleOf(e,t){return this.check(Ii(e,t))},step(e,t){return this.check(Ii(e,t))},finite(){return this}}));function N(e){return gte(go,e)}var sne=j(`ZodNumberFormat`,(e,t)=>{xr.init(e,t),go.init(e,t)});function _o(e){return _te(sne,e)}var cne=j(`ZodBoolean`,(e,t)=>{Sr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_a(e,t,n,r)});function P(e){return vte(cne,e)}var lne=j(`ZodNull`,(e,t)=>{Cr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>va(e,t,n,r)});function une(e){return yte(lne,e)}var dne=j(`ZodUnknown`,(e,t)=>{wr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function vo(){return bte(dne)}var fne=j(`ZodNever`,(e,t)=>{Tr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ya(e,t,n,r)});function yo(e){return xte(fne,e)}var bo=j(`ZodArray`,(e,t)=>{oo(),kr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ta(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Ri(e,t))},nonempty(e){return this.check(Ri(1,e))},max(e,t){return this.check(Li(e,t))},length(e,t){return this.check(zi(e,t))},unwrap(){return this.element}});function F(e,t){return Nte(bo,e,t)}var xo=j(`ZodObject`,(e,t)=>{oo(),Fr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Da(e,t,n,r),Tt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return R(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(Me(this._zod.def,{catchall:e}))},passthrough(){return this.clone(Me(this._zod.def,{catchall:vo()}))},loose(){return this.clone(Me(this._zod.def,{catchall:vo()}))},strict(){return this.clone(Me(this._zod.def,{catchall:yo()}))},strip(){return this.clone(Me(this._zod.def,{catchall:void 0}))},extend(e){return Ze(this,e)},safeExtend(e){return $e(this,e)},merge(e){return et(this,e)},pick(e){return Je(this,e)},omit(e){return Xe(this,e)},partial(...e){return tt(Fo,this,e[0])},exactPartial(...e){return tt(Lo,this,e[0],`exactPartial`)},required(...e){return nt(Go,this,e[0])}});function I(e,t){return new xo({type:`object`,shape:e??{},...A(t)})}function L(e,t){return new xo({type:`object`,shape:e,catchall:yo(),...A(t)})}function So(e,t){return new xo({type:`object`,shape:e,catchall:vo(),...A(t)})}var Co=j(`ZodUnion`,(e,t)=>{Lr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oa(e,t,n,r),e.options=t.options});function wo(e,t){return new Co({type:`union`,options:e,...A(t)})}var To=j(`ZodDiscriminatedUnion`,(e,t)=>{Co.init(e,t),zr.init(e,t)});function Eo(e,t,n){return new To({type:`union`,options:t,discriminator:e,...A(n)})}var Do=j(`ZodIntersection`,(e,t)=>{Br.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ka(e,t,n,r)});function Oo(e,t){return new Do({type:`intersection`,left:e,right:t})}var ko=j(`ZodRecord`,(e,t)=>{oo(),Ur.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Na(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Ao(e,t,n){return!t||!t._zod?new ko({type:`record`,keyType:M(),valueType:e,...A(t)}):new ko({type:`record`,keyType:e,valueType:t,...A(n)})}var jo=j(`ZodEnum`,(e,t)=>{Wr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ba(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 jo({...t,checks:[],...A(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 jo({...t,checks:[],...A(r),entries:i})}});function R(e,t){return new jo({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...A(t)})}var Mo=j(`ZodLiteral`,(e,t)=>{Gr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xa(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 z(e,t){return new Mo({type:`literal`,values:Array.isArray(e)?e:[e],...A(t)})}var No=j(`ZodTransform`,(e,t)=>{oo(),Kr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wa(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Nt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(mt(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(mt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Po(e){return new No({type:`transform`,transform:e})}var Fo=j(`ZodOptional`,(e,t)=>{Jr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Io(e){return new Fo({type:`optional`,innerType:e})}var Lo=j(`ZodExactOptional`,(e,t)=>{Yr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ua(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ro(e){return new Lo({type:`optional`,innerType:e})}var zo=j(`ZodNullable`,(e,t)=>{Xr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Pa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Bo(e){return new zo({type:`nullable`,innerType:e})}var Vo=j(`ZodDefault`,(e,t)=>{Zr.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ra(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function Ho(e,t){return new Vo({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Uo=j(`ZodPrefault`,(e,t)=>{$r.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>za(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Wo(e,t){return new Uo({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}var Go=j(`ZodNonOptional`,(e,t)=>{ei.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fa(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ko(e,t){return new Go({type:`nonoptional`,innerType:e,...A(t)})}var qo=j(`ZodCatch`,(e,t)=>{ri.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ba(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Jo(e,t){return new qo({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Dt(t)})}var Yo=j(`ZodPipe`,(e,t)=>{ii.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Va(e,t,n,r),e.in=t.in,e.out=t.out});function Xo(e,t){return new Yo({type:`pipe`,in:e,out:t})}var Zo=j(`ZodPreprocess`,(e,t)=>{Yo.init(e,t),oi.init(e,t)}),Qo=j(`ZodReadonly`,(e,t)=>{si.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ha(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $o(e){return new Qo({type:`readonly`,innerType:e})}var es=j(`ZodTemplateLiteral`,(e,t)=>{di.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Sa(e,t,n,r)});function ts(e,t){return new es({type:`template_literal`,parts:e,...A(t)})}var ns=j(`ZodCustom`,(e,t)=>{fi.init(e,t),so.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ca(e,t,n,r)});function rs(e,t={}){return Pte(ns,e,t)}function is(e,t){return Fte(e,t)}function as(e,t){return new Zo({type:`pipe`,in:Po(e),out:t})}function os(e){return ji(uo,e)}var ss=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,cs=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,ls=/^[A-Za-z0-9_=-]+$/;function us(e){let t=e.split(`/`);return t.length!==2||!t.every(e=>ss.test(e))?null:[t[0],t[1]]}var ds=I({attempt:N().int().positive(),limit:N().int().positive()}).refine(e=>e.attempt<=e.limit),fs={error:M().nullable().optional(),nextAttemptAt:N().finite().nonnegative().nullable().optional(),retry:ds.nullable().optional(),isRefreshing:P().optional(),refreshNotice:M().nullable().optional()},ps=I({lane:R([`my-prs`,`team-review`,`issues`])}),ms=I({ok:P(),error:M().optional()}),hs=M().regex(cs),gs=M().regex(RegExp(`${cs.source.slice(0,-1)}#[1-9][0-9]*$`)),_s=I({number:N().int().positive(),url:M().url(),title:M(),state:R([`open`,`draft`,`merged`,`closed`])});I({issue:I({closedByPullRequestsReferences:I({nodes:F(I({number:_s.shape.number,url:_s.shape.url,title:_s.shape.title,state:R([`OPEN`,`MERGED`,`CLOSED`]),isDraft:P()}).nullable()).max(5)})}).nullable()});var vs={key:M(),repo:hs,number:N().int().positive(),title:M(),url:M().url(),labels:F(M()),assignees:F(M()),author:M(),comments:N().int().nonnegative(),createdAt:os(),updatedAt:os()},ys=R([`project`,`me`,`team`]),bs={...vs,sources:F(ys).nonempty().refine(e=>new Set(e).size===e.length),teams:F(hs),projectId:M().nullable(),pullRequests:F(_s).max(5).default([])},xs=I(bs).refine(e=>e.key===`${e.repo}#${e.number}`),Ss=I({...bs,sessionId:M().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),Cs=I({...vs,state:R([`open`,`closed`])});I({number:vs.number,title:vs.title,html_url:vs.url,state:R([`open`,`closed`]),labels:F(wo([M(),I({name:M()})])),assignees:F(I({login:M()})),user:I({login:M()}).nullable(),comments:vs.comments,created_at:vs.createdAt,updated_at:vs.updatedAt,repository_url:M().url().optional(),pull_request:vo().optional()}),I({items:F(vo()),total_count:N().int().nonnegative(),incomplete_results:P()}),I({ok:P(),items:F(Cs),isComplete:P(),error:M()}),I({issues:F(xs),lastSyncAt:N().finite().nonnegative().nullable(),perRepoSync:Ao(hs,I({lastSyncAt:N().finite().nonnegative().nullable(),ticks:N().int().nonnegative(),needsFullReconcile:P()})),sessionLinks:Ao(gs,M()).default({}),pullRequestsFetchedAt:Ao(gs,os()).default({})});var ws=I({type:z(`issues-status`),ts:N().finite(),configured:P(),reason:M().nullable(),lastSyncAt:N().finite().nonnegative().nullable(),issues:F(Ss),...fs}).passthrough(),Ts=/^[0-9a-f]{7,40}$/i,Es=/^[0-9a-f]{40}$/;function Ds(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 Ts.test(r)?r.slice(0,t).toLowerCase():``}var B=M().regex(Es),Os=M().regex(/^[^/]+\/[^/]+$/);I({number:N().int().positive(),title:M(),html_url:M(),draft:P().optional(),created_at:M().optional(),updated_at:M().optional(),repository_url:M(),user:I({login:M(),type:R([`User`,`Bot`])}).passthrough(),pull_request:I({}).passthrough()}).passthrough(),I({number:N().int().positive(),title:M(),body:M(),url:M(),author:I({login:M(),is_bot:P().optional()}).passthrough(),isDraft:P(),isCrossRepository:P(),baseRefName:M(),baseRefOid:B,headRefName:M().optional(),headRefOid:B,additions:N().int().nonnegative(),deletions:N().int().nonnegative(),files:F(I({path:M(),additions:N().int().nonnegative(),deletions:N().int().nonnegative()}).passthrough())}).passthrough();var ks=I({path:M(),line:N().int().positive(),side:R([`RIGHT`,`LEFT`]).default(`RIGHT`),body:M()}),As=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),js=R([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),Ms=as(e=>typeof e==`string`&&Object.hasOwn(As,e)?As[e]:e,js),Ns=R([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Ps=ks.extend({severity:Ns.optional()}),Fs=I({path:M().min(1),line:N().int().positive().nullable(),side:R([`RIGHT`,`LEFT`]),severity:Ns,reviewer:M().min(1),disposition:R([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:M().min(1)}),Is=I({goal:M().default(``),change:M(),checked:F(M()),gaps:F(M())});I({verdict:js,head:B,summary:M(),assessment:Is.nullable(),findings:F(Fs)}),I({body:M(),commit_id:B,comments:F(I({path:M().min(1),line:N().int().positive(),side:R([`RIGHT`,`LEFT`]).default(`RIGHT`),body:M().min(1)}))});var Ls=R([`APPROVE`,`COMMENT`]),Rs=R([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),zs=new Set([`APPROVED`,`CHANGES_REQUESTED`]),Bs=R([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Vs=R([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),Hs={requestSource:R([`direct`,`team`]).default(`team`),isDraft:P().optional(),checksState:Vs.nullable().optional()},Us=I({login:M().min(1),state:Rs,commit:B.nullable(),isViewer:P(),submittedAt:M().nullable().optional()});function Ws(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 Gs=I({head:B,base:B.optional(),verdict:js,summary:M(),body:M(),comments:F(ks),wasPosted:P()}),Ks=M().min(1).max(256).regex(ls),qs=I({addressed:P(),reason:M().trim().min(1).max(4e3)}).strict(),Js=I({id:Ks,path:M(),line:N().int().positive().nullable(),isResolved:P(),viewerCanResolve:P(),comments:I({pageInfo:I({hasNextPage:P(),endCursor:M().nullable().optional()}),nodes:F(I({body:M(),author:I({login:M()}).nullable(),viewerDidAuthor:P(),createdAt:M().datetime(),url:M().url(),originalCommit:I({oid:B}).nullable()}))})});I({data:I({node:I({comments:Js.shape.comments}).nullable()}).nullable()}),I({pullRequest:I({reviewThreads:I({pageInfo:I({hasNextPage:P(),endCursor:M().nullable().optional()}),nodes:F(Js)})}).nullable()}),I({data:I({resolveReviewThread:I({thread:I({id:Ks,isResolved:z(!0)})})}).nullable(),errors:F(vo()).optional()});var Ys=I({id:Ks,path:M(),line:N().int().positive().nullable(),isResolved:P(),viewerCanResolve:P(),isNit:P(),url:M().url(),viewerComment:M().max(1500).optional(),lastReplyBody:M().max(1500).optional(),viewerCommentTruncated:P().optional(),lastReplyTruncated:P().optional(),lastReplyAuthor:M(),lastReplyAt:M().datetime(),judgement:qs.extend({head:B,judgedAt:N().finite(),lastReplyAt:M().datetime()}).optional(),resolveError:M().optional(),resolveAttemptReplyAt:M().optional(),judgeAttempt:I({head:B,lastReplyAt:M(),retryAt:N().finite()}).optional(),unjudgeable:I({head:B,lastReplyAt:M(),reason:M().min(1)}).optional()});I({merge_base_commit:I({sha:B}),files:F(I({filename:M(),previous_filename:M().optional(),patch:M().optional()})).max(300)});var Xs=I({total:N().int().nonnegative(),resolved:N().int().nonnegative()}),Zs=I({...Hs,key:M(),repo:Os,number:N().int().positive(),title:M(),url:M(),author:M(),tier:R([`stamp`,`full`]),reasons:F(M()),reviewedHead:B,reviewedBase:B.optional(),verdict:Ms,summary:M(),assessment:Is.optional(),body:M(),comments:F(Ps),status:R([`ready`,`stale`,`posted`,`discarded`,`error`]),error:M().optional(),threads:F(Ys).optional(),viewerThreads:Xs.optional(),githubReviews:F(Us).optional(),reviewDecision:Bs.nullable().optional(),liveHead:B.optional(),prCreatedAt:M().optional(),reviewedAt:N().finite().optional(),postedAt:N().finite().optional(),postedEvent:Ls.optional(),priorReviewedHead:B.optional(),requeuedHead:B.optional()});function Qs(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var $s=R([`approve`,`approve-only`,`comment`,`discard`,`requeue`,`resolve-thread`]);function ec(e){return e.action===`discard`||e.head!==void 0}var tc=I({key:M().min(1),head:B.optional(),action:$s,threadId:Ks.optional(),body:M(),comments:F(ks)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}).refine(ec,{message:`only discard may omit head`,path:[`head`]}),nc=I({key:M(),ok:P(),error:M().optional(),warning:M().optional()}),pne=I({sessionId:M().min(1),workDir:M().min(1),worktreePath:M().min(1),head:B,deadlineAt:N(),remainingAwakeMs:N().nonnegative().optional(),savedAt:N()}),rc=I({...Hs,reviewDecision:Bs.nullable().optional(),key:M(),repo:Os,number:N().int().positive(),title:M(),url:M(),author:M(),prCreatedAt:M().optional()}),mne=I({draft:Zs.nullable(),reviewedHead:B.nullable(),inFlight:P(),skipReason:M().nullable(),handReview:rc.optional(),reviewAttempts:N().int().nonnegative().default(0),resumable:pne.nullable().optional(),reviewedAt:N().optional(),threads:F(Ys).optional(),viewerThreads:Xs.optional(),autoResolvedThreadIds:F(Ks).optional(),githubReviews:F(Us).optional(),reviewDecision:Bs.nullable().optional(),liveHead:B.optional(),requeuedHead:B.optional(),priorReview:Gs.optional(),discardedReviewHead:B.optional(),updatedAt:N().finite()});Ao(M(),mne);var hne=R([`preparing`,`checkout`,`reviewing`]),gne=I({at:N().finite(),tool:M(),detail:M()}),_ne=I({...Hs,reviewDecision:Bs.nullable().optional(),key:M(),repo:Os,number:N().int().positive(),title:M(),url:M(),author:M(),tier:R([`stamp`,`full`]),reasons:F(M()),head:B,phase:hne,startedAt:N().finite(),deadlineAt:N().finite().nullable(),toolCalls:N().int().nonnegative(),recentSteps:F(gne),prCreatedAt:M().optional(),priorReviewedHead:B.optional()}),ic=I({...fs,type:z(`team-review-status`),ts:N().finite(),configured:P(),reason:M().nullable().optional(),drafts:F(Zs),inFlight:F(_ne),queued:F(rc).default([]),handReview:F(rc).default([]),team:I({org:M(),slug:M(),name:M(),avatarUrl:M()}).nullable().optional()}).passthrough(),vne=R([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),ac=N().int().nonnegative(),oc=M().regex(cs),sc=ts([oc,`#`,M().regex(/^[1-9][0-9]*$/)]),yne=ts([sc,`@`,B]),cc=M().refine(e=>sc.safeParse(e).success),lc=M().refine(e=>yne.safeParse(e).success);Eo(`outcome`,[L({outcome:z(`pushed`)}),L({outcome:R([`no-change`,`failed`,`stopped`,`timed-out`]),reason:M().min(1)})]);var uc=L({outcome:R([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:M().min(1).optional(),at:N().finite()}),bne=uc.extend({key:cc,headRefOid:B,baseRefOid:B,consecutiveAttempts:N().int().min(1).optional()});L({keepMergeableKeys:F(cc),keepMergeableAttemptKeys:F(lc),keepMergeableAttempts:F(bne).default([]),mergeQueueKeys:F(cc).default([]),keepMergeablePushedHeadKeys:F(lc).default([])});var dc=L({repo:oc,number:N().int().positive(),url:mo(),source:R([`hook`,`sha`,`manual`]),linkedAt:N().finite()}),fc=L({links:F(dc).max(20),unlinkedKeys:F(cc).default([])}),xne=I({repo:oc,number:N().int().positive(),keepMergeable:P()}),pc=I({key:M(),ok:P(),error:M().optional()}),Sne=pc,Cne=I({repo:oc,number:N().int().positive(),mergeWhenReady:P()}),wne=pc,mc=R([`MERGE`,`SQUASH`,`REBASE`]),Tne=I({path:M(),line:N().int().positive().nullable(),isOutdated:P(),url:mo(),author:M().nullable(),excerpt:M(),commentCount:N().int().positive(),lastAuthor:M().nullable(),lastActivityAt:M()}),Ene=I({reviewer:M().nullable(),state:M(),submittedAt:M().nullable()}),Dne=I({outcome:R([`rebased`,`failed`]),at:N().finite(),message:M()}),One=I({at:N().finite(),message:M()}),kne=I({key:M(),repo:oc,number:N().int().positive(),title:M(),url:mo(),isDraft:P(),state:R([`OPEN`,`MERGED`,`CLOSED`]),createdAt:M(),mergedAt:M().nullable(),updatedAt:M(),baseRefName:M(),baseRefOid:B,headRefName:M().min(1),isCrossRepository:P(),headRefOid:B,isInMergeQueue:P(),mergeMethod:mc,mergeable:R([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:M(),reviewDecision:R([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:I({state:R([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:F(M()),pendingCount:ac}),unresolvedThreads:ac,threads:F(Tne),behindBy:ac.nullable(),reviewRequests:F(I({name:M(),isTeam:P(),avatarUrl:M().nullable()})),approvals:ac,reviews:F(Ene),stage:vne,autoRebase:Dne.optional(),keepMergeable:P().optional(),keepMergeableAttempt:uc.optional(),isKeepMergeableFixInFlight:P().optional(),mergeQueuePosition:N().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:P().optional(),mergeQueueFailure:One.optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),hc=I({...fs,type:z(`my-prs-status`),ts:N().finite(),configured:P(),reason:M().nullable().optional(),viewer:M().nullable(),prs:F(kne),truncatedNote:M().nullable().optional(),isKeepMergeableEnabled:P().optional(),isMergeQueueEnabled:P().optional()}).passthrough(),Ane=I({repo:oc,number:N().int().positive(),headRefOid:B}),jne=R([`merged`,`queued`,`auto-merge`,`unconfirmed`]),gc=I({key:M(),ok:P(),kind:jne.optional(),error:M().optional()}),Mne=wo([I({__typename:z(`CheckRun`),name:M(),conclusion:M().nullable(),status:M(),startedAt:M().nullish(),checkSuite:I({app:I({databaseId:N().int().nullish()}).nullish(),workflowRun:I({workflow:I({databaseId:N().int().nullish()})}).nullish()}).nullish()}),I({__typename:z(`StatusContext`),context:M(),state:M()})]),_c=I({hasNextPage:P(),endCursor:M().nullable()}),Nne=I({__typename:z(`PullRequest`),id:M().regex(ls),number:N().int().positive(),title:M(),url:mo(),isDraft:P(),state:R([`OPEN`,`MERGED`,`CLOSED`]),createdAt:M(),mergedAt:M().nullable(),updatedAt:M(),baseRefName:M(),baseRefOid:B,headRefName:M().min(1),isCrossRepository:P(),headRefOid:B,isInMergeQueue:P(),mergeable:R([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:M(),reviewDecision:R([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:I({nameWithOwner:oc,viewerDefaultMergeMethod:mc}),commits:I({nodes:F(I({commit:I({statusCheckRollup:I({id:M().regex(ls).optional(),state:R([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:I({pageInfo:_c.optional(),nodes:F(Mne)})}).nullable()})}))}),reviewThreads:I({pageInfo:I({hasNextPage:P()}),nodes:F(I({isResolved:P()}))}),reviewRequests:I({nodes:F(I({requestedReviewer:Eo(`__typename`,[I({__typename:z(`User`),login:M()}),I({__typename:z(`Team`),slug:M(),avatarUrl:M().nullable(),organization:I({login:M()})}),I({__typename:R([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:I({nodes:F(I({state:M()}))}),latestReviews:I({nodes:F(I({state:M(),submittedAt:M().nullable(),author:I({login:M()}).nullable()}))})}),vc=I({login:M()}).nullable();I({isResolved:P(),isOutdated:P(),path:M(),line:N().int().positive().nullable(),firstComment:I({totalCount:ac,nodes:F(I({author:vc,bodyText:M(),url:mo(),createdAt:M()}))}),lastComment:I({nodes:F(I({author:vc,createdAt:M()}))})}),I({data:I({repository:I({pullRequest:I({reviewThreads:I({pageInfo:I({hasNextPage:P(),endCursor:M().nullable()}),nodes:F(vo())})}).nullable()}).nullable()}),errors:F(vo()).optional()}),I({data:I({node:I({contexts:I({pageInfo:_c,nodes:F(vo())}).nullable()}).nullable()}).nullable(),errors:F(vo()).optional()}),I({data:I({repository:I({pullRequest:I({state:M(),isInMergeQueue:P(),autoMergeRequest:I({enabledAt:M().nullable()}).nullable()}).nullable()}).nullable()}),errors:F(vo()).optional()}),I({data:I({open:I({issueCount:ac,nodes:F(vo())}),merged:I({issueCount:ac,nodes:F(vo())})}),errors:F(vo()).optional()});var Pne=/[\x00-\x1f\x7f-\x9f]/,yc=M().refine(e=>!Pne.test(e)).trim().max(120);I({title:M().nullable()}).strict();var bc=R(a),xc=I({at:N().finite().nullable(),kind:M(),reason:M().nullable()}).passthrough(),Sc=4e3,Cc=1e3,Fne=2e3,Ine=I({question:M().min(1).max(Cc),header:M().max(100).default(``),options:F(I({label:M().min(1).max(200),description:M().max(Cc).default(``)})).min(1).max(8),multiSelect:P().default(!1)}),wc=I({requestId:wo([M().min(1).max(128),N().int()]),kind:R([`command`,`fileChange`,`permissions`,`tool`,`question`]),summary:M().max(Sc),isSummaryTruncated:P(),toolName:M().max(200).optional(),questions:F(Ine).min(1).max(4).optional(),alwaysAllowSummary:M().max(Sc).optional()}),Lne=Ao(M().max(Cc),M().max(Fne)),Rne=R([`accept`,`acceptForSession`,`decline`]),Tc=I({id:M(),name:M(),taskTitle:yc.nullable().default(null),taskTitleIsCustom:P().default(!1),path:M(),agent:M(),state:bc,stateSince:N(),sleeping:P(),dangerouslySkipPermissions:P(),saneYolo:P().default(!1),ephemeral:P(),isWorktree:P(),isWorkspace:P().default(!1),isGuarded:P().default(!1),resumeSessionId:M().nullable(),activeAgents:N().int().nonnegative(),awaitingBackgroundTasks:P(),isCompacting:P().default(!1),pendingWakeup:xc.nullable(),pendingPromptKind:M().nullable(),conversationApproval:wc.nullable().default(null),hasConversationBridge:P().default(!1),isConversationViewOn:P().default(!1),hasPlan:P().default(!1),mergeStatus:M().nullable(),mergeReason:M().nullable(),worktreeNotice:M().nullable(),effectiveBase:M().nullable(),linkedPrs:F(dc).default([]),auditLog:F(vo())}).passthrough();I({namespace:z(`git`,{error:`namespace must be git`}),publicKey:M({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:rne({error:`payload must be base64`})}).strict(),wo([I({ok:z(!0),signature:M()}).strict(),I({ok:z(!1),error:M()}).strict()]),I({projectId:M().trim().min(1).max(128).optional()}).strict(),I({intentId:M().trim().min(1).max(128)}).strict(),I({prompt:M({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:M({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:M({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(),I({note:M({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(),wo([I({ok:z(!0),pending:P()}).strict(),I({ok:z(!1),error:M()}).strict()]),I({id:Tc.shape.id,name:Tc.shape.name,agent:Tc.shape.agent,state:Tc.shape.state,ephemeral:Tc.shape.ephemeral}).strict();var Ec=4096;I({path:M({error:`path must be a string`}).min(1,{error:`path must not be empty`}).max(Ec,{error:`path must be at most ${Ec} characters`})}).strict();var Dc=I({path:M(),name:M(),surfacedAt:N().finite()}).strict();I({commands:F(I({name:R([`push`,`spawn`,`attention`,`board`,`edit`]),answers:P(),reason:M().optional()}).strict()),guarded:P(),deadEnds:F(I({blocked:M(),route:M()}).strict())}).strict().extend({ok:z(!0)}).strict(),I({workId:M().regex(/^wrk-[0-9a-f]{16}$/).optional(),readyIntent:M().regex(/^wrk-[0-9a-f]{16}$/).optional()}).strict().refine(e=>!!e.workId!=!!e.readyIntent,`Expected exactly one work id or ready intent`),I({workId:M({error:`workId must be a string`}).regex(/^wrk-[0-9a-f]{16}$/,{error:`workId must match wrk-[0-9a-f]{16}`})}).strict(),Eo(`ok`,[I({ok:z(!0),workId:M(),state:R([`open`,`cancelled`])}),I({ok:z(!1),reason:M()})]);var Oc=R([`low`,`medium`,`high`,`critical`]),kc=R([`open`,`active`,`blocked`,`completed`,`cancelled`]),Ac=R([`ready`,`waiting`,`active`,`blocked`,`done`]),zne=So({total:N().int().nonnegative(),roots:N().int().nonnegative(),dependencies:N().int().nonnegative(),states:So({open:N().int().nonnegative(),active:N().int().nonnegative(),blocked:N().int().nonnegative(),completed:N().int().nonnegative(),cancelled:N().int().nonnegative()}),readiness:So({ready:N().int().nonnegative(),waiting:N().int().nonnegative(),active:N().int().nonnegative(),blocked:N().int().nonnegative(),done:N().int().nonnegative()}),risks:So({low:N().int().nonnegative(),medium:N().int().nonnegative(),high:N().int().nonnegative(),critical:N().int().nonnegative()}),graphProblems:N().int().nonnegative(),scopeOverlaps:N().int().nonnegative(),scopeConflicts:N().int().nonnegative(),orphans:N().int().nonnegative(),unsynthesizedChildren:N().int().nonnegative()}),Bne=So({action:R([`steady`,`dispatch`,`continue`,`verify`,`synthesize`,`unblock`,`resolve-conflict`,`repair-navigation`,`refuse`]),reasons:F(M()),sources:F(So({name:M(),ok:P(),detail:M()})),work:So({stats:zne,ready:F(M()),active:F(M()),blocked:F(M()),completed:F(M()),conflicts:F(So({left:M(),right:M(),scope:M()})),unsynthesized:F(vo())}).nullable(),consequences:So({unverifiedCompletedWork:F(M())}).nullable(),verification:So({state:M()}).nullable()});So({work:F(So({work:M(),state:kc,readiness:Ac,owner:So({session:M(),agent:M()}),last:So({event:M(),at:M(),session:M(),reason:M().optional()}).nullable(),opened:So({at:os(),objective:M(),authority:So({boundary:M()}),criteria:F(M()),risk:Oc,parent:M().nullable(),dependsOn:F(M()),readScopes:F(M()),writeScopes:F(M())})})),scopeConflicts:F(So({left:M(),right:M(),leftScope:M(),rightScope:M(),status:M()}))}),So({version:z(1),event:z(`opened`),at:os(),session:z(`glimmervoid-factory`),work:M().regex(/^wrk-[a-f0-9]{16}$/),id:M().regex(/^wev-[a-f0-9]{16}$/),parent:une(),objective:M(),criteria:F(M()),risk:Oc,state:z(`open`),authority:I({kind:z(`user-directed`),grantedBy:z(`operator`),boundary:M()}),writeScopes:F(M())}).extend({parent:M().regex(/^wrk-[a-f0-9]{16}$/)});function jc(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function V(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}var Mc=Object.freeze({min:1}),Nc=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),Pc=Object.freeze({min:0,label:`zero or more`}),Fc=Object.freeze({min:0,max:300}),Ic=Object.freeze({min:1,max:60}),Lc=Object.freeze({min:.5,max:2}),Rc=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0}),zc=Object.freeze({min:64,max:16384}),Bc=Object.freeze({min:0,max:65535}),Vc=Object.freeze({min:0,exclusiveMin:!0,max:2147483647/1e3}),Vne=Nc,Hne=Nc,Hc=Nc,Uc=Nc,Wc=Nc,Gc=Pc,Kc=Nc,qc=Nc,Jc=Nc,Yc=Nc,Xc=Nc,Zc=Nc,Qc=Nc,Une=Nc,Wne=Nc,$c=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),el=Object.freeze({min:1,label:`at least 1`}),tl=Object.freeze({min:1,label:`at least 1`}),nl=Pc,rl=Object.freeze({min:1,max:30,label:`between 1 and 30`}),il=Object.freeze({min:1,max:1440}),al=Object.freeze({min:1,max:3650}),ol=Object.freeze({min:30,max:3650}),sl=Object.freeze({min:1,max:24}),cl=Nc,ll=Object.freeze({scanIntervalMinutes:il,retainDays:al,warehouseRetainDays:ol,sessionBlockHours:sl}),ul=Object.freeze({min:15,max:600}),dl=Object.freeze({min:5,max:120}),fl=Object.freeze({min:1,max:5}),pl=Object.freeze({min:1,max:50});Object.freeze({NON_NEGATIVE_NUMBER_RANGE:Pc,FACTORY_MAX_LIVE_WORKERS_RANGE:Mc,FLYING_ANIMALS_GAP_RANGE:Fc,FLYING_ANIMALS_DURATION_RANGE:Ic,FLYING_ANIMALS_SCALE_RANGE:Lc,CHANGE_MAP_NARRATOR_TIMEOUT_RANGE:ul,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:dl,PORT_RANGE:Bc,POSTHOG_ESCALATION_RANGE:Qc,POSTHOG_FIX_TIMEOUT_RANGE:$c,POSTHOG_INTERVAL_RANGE:Jc,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:Xc,POSTHOG_MAX_CONCURRENT_RANGE:Yc,POSTHOG_MIN_USERS_RANGE:Zc,POSTHOG_TRAFFIC_BASELINE_RANGE:rl,POSTHOG_TRAFFIC_COOLDOWN_RANGE:nl,POSTHOG_TRAFFIC_MIN_USERS_RANGE:tl,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:el,REPLAY_BUFFER_KB_RANGE:zc,TASK_TITLE_TIMEOUT_RANGE:Vc,USAGE_BUDGET_RANGE:cl,USAGE_RETAIN_DAYS_RANGE:al,USAGE_SCAN_INTERVAL_RANGE:il,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:Gc,VISIONS_COOLDOWN_MS_RANGE:Uc,VISIONS_DISPATCH_TIMEOUT_RANGE:Kc,VISIONS_INTENT_THREAD_TTL_MS_RANGE:qc,VISIONS_MAX_PER_HOUR_RANGE:Wc,VISIONS_QUIET_MS_RANGE:Hc,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:pl,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:fl});var ml={maxConcurrentInvestigations:Math.ceil,minUsersToInvestigate:Math.ceil,userEscalationThreshold:Math.ceil,trafficSpikeMinUsers:Math.ceil,trafficSpikeBaselineDays:Math.floor};[...Object.entries(ml).map(([e,t])=>({path:[`posthog`,e],min:1,round:t}))];var hl=Object.freeze([`auto`,`calculate`,`display`]),gl=Object.freeze([`codex`,`grok`]),_l=Object.freeze([`dailyUsd`,`monthlyUsd`]),vl=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),yl=Object.freeze([`notify`,`spawn`,`label`,`comment`]),bl=2e4,xl=65536,Sl=50,Cl=/^[a-z0-9][a-z0-9-]{0,63}$/,wl=/[\x00-\x1f\x7f,]|^-/,Tl=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return N({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},El=P({error:`workflows.enabled must be a boolean`}),Dl=Tl(`workflows.maxConcurrentSessions`,fl),Ol=Tl(`workflows.maxActionsPerPoll`,pl),kl=(e,t)=>F(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),Al=M({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(Sl,{error:`a workflow label name must be at most ${Sl} characters`}).refine(e=>!wl.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),jl=M({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(xl,{error:`a workflow comment body must be at most ${xl} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),Ml=R(vl,{error:`workflows.rules[].trigger must be one of ${vl.join(`, `)}`}),Nl=Eo(`type`,[L({type:z(`notify`)}),L({type:z(`spawn`),promptTemplate:M({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(bl,{error:`a spawn action promptTemplate must be at most ${bl} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),L({type:z(`label`),name:Al}),L({type:z(`comment`),body:jl})],{error:`workflows.rules[].actions[].type must be one of ${yl.join(`, `)}`}),Pl=L({mine:P({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:P({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:kl(`workflows.rules[].filters.authors`,M({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(ss,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:kl(`workflows.rules[].filters.labels`,Al).optional(),baseBranches:kl(`workflows.rules[].filters.baseBranches`,M({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`}),Fl=M({error:`workflows.rules[].id must be a string`}).regex(Cl,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),Il=P({error:`workflows.rules[].enabled must be a boolean`}),Ll=L({id:Fl,name:M({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:Il.default(!1),repos:kl(`workflows.rules[].repos`,oc),filters:Pl.default({}),trigger:Ml,actions:kl(`workflows.rules[].actions`,Nl)},{error:`workflows.rules[] must be an object`}),Rl=L({enabled:El.default(!0),maxConcurrentSessions:Dl.default(2),maxActionsPerPoll:Ol.default(20),rules:F(Ll,{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)}),zl=L({id:Fl,enabled:Il},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});L({enabled:El.optional(),maxConcurrentSessions:Dl.optional(),maxActionsPerPoll:Ol.optional(),rules:F(zl,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var Bl=N().int().nonnegative(),Vl=R([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable();Nne.extend({author:I({login:M()}).nullable(),labels:I({nodes:F(I({name:M()}))}),comments:I({totalCount:Bl})});var Hl=L({polledAtMs:Bl,prs:F(L({repo:oc,number:N().int().positive(),title:M(),url:mo(),author:M().nullable(),state:R([`OPEN`,`MERGED`,`CLOSED`]),createdAt:M(),mergedAt:M().nullable(),isDraft:P(),isCrossRepository:P(),baseRefName:M(),headRefName:M().min(1),headRefOid:B,labels:F(M()),commentCount:Bl,reviewRequests:F(M()),checksState:Vl,reviewDecision:R([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}))});L({repos:Ao(M().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),Hl)});var Ul=e=>P({error:`${e} must be a boolean`}).optional(),Wl=(e,t=!1)=>{let n=M({error:`${e} must be a string`});return(t?n.transform(e=>e.trim()):n).optional()},Gl=e=>e.label?e.label:e.max==null?e.exclusiveMin?`greater than ${e.min}`:`at least ${e.min}`:`between ${e.min} and ${e.max}`,Kl=(e,t=Nc)=>N({error:`${e} must be ${Gl(t)}`}).finite().refine(e=>!t.exclusiveMin||e>t.min,{message:`${e} must be ${Gl(t)}`}).refine(e=>t.exclusiveMin||e>=t.min,{message:`${e} must be ${Gl(t)}`}).refine(e=>t.max==null||e<=t.max,{message:`${e} must be ${Gl(t)}`}).optional(),ql=(e,t)=>Kl(e,t).unwrap().int({error:`${e} must be a whole number ${Gl(t)}`}).optional(),Jl=(e,t)=>N({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(),Yl=(e,t)=>I(t,{error:`${e} must be an object`}).nullable().optional(),Xl=Object.freeze([`claude`,`codex`]),Zl=Object.freeze([`release`,`main`]),Ql=Object.freeze([`report`,`fix`]);Yl(`changeMap`,{narrator:Yl(`changeMap.narrator`,{enabled:Ul(`changeMap.narrator.enabled`),engine:R(Xl,{error:`changeMap.narrator.engine must be one of ${Xl.join(`, `)}`}).optional(),model:Wl(`changeMap.narrator.model`,!0),timeoutSeconds:Jl(`changeMap.narrator.timeoutSeconds`,ul)})}),I({refiner:I({enabled:Ul(`taskTitle.refiner.enabled`),model:Wl(`taskTitle.refiner.model`,!0),minIntervalSeconds:Kl(`taskTitle.refiner.minIntervalSeconds`,{min:0}),timeoutSeconds:Kl(`taskTitle.refiner.timeoutSeconds`,Vc)},{error:`taskTitle.refiner must be an object`}).nullable().optional()},{error:`taskTitle must be an object`}).nullable().optional();var $l={enabled:Ul(`branchGc.enabled`),worktrees:Ul(`branchGc.worktrees`),prefixes:F(M({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:Ul(`branchGc.dryRun`),staleDays:Kl(`branchGc.staleDays`,Vne),deleteUnmerged:Ul(`branchGc.deleteUnmerged`),intervalMs:Kl(`branchGc.intervalMs`,Hne)},eu=I($l,{error:`branchGc must be an object`});Yl(`branchGc`,$l),eu.omit({prefixes:!0,dryRun:!0,worktrees:!0}).nullable().optional(),Object.freeze([`enabled`,`deleteUnmerged`]),Object.freeze([`staleDays`,`intervalMs`]),Yl(`postTurnChecks`,{mode:R(Ql,{error:`postTurnChecks.mode must be one of report, fix`}).optional()}),Yl(`visions`,{enabled:Ul(`visions.enabled`),autoFix:Ul(`visions.autoFix`),projects:F(M({error:`visions.projects must be an array of strings`}),{error:`visions.projects must be an array of strings`}).optional(),dispatch:Yl(`visions.dispatch`,{enabled:Ul(`visions.dispatch.enabled`),model:Wl(`visions.dispatch.model`,!0),quietMs:ql(`visions.dispatch.quietMs`,Hc),cooldownMs:ql(`visions.dispatch.cooldownMs`,Uc),maxPerHour:ql(`visions.dispatch.maxPerHour`,Wc),activityMaxPerHour:ql(`visions.dispatch.activityMaxPerHour`,Gc),dispatchTimeoutSeconds:ql(`visions.dispatch.dispatchTimeoutSeconds`,Kc)}),intent:Yl(`visions.intent`,{threadTtlMs:ql(`visions.intent.threadTtlMs`,qc)})}),I({teams:F(M({error:`github.teams must be an array of org/slug strings`}).refine(e=>us(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(),Yl(`teamReview`,{enabled:Ul(`teamReview.enabled`),autoRebaseMyPrs:Ul(`teamReview.autoRebaseMyPrs`),keepMergeableEnabled:Ul(`teamReview.keepMergeableEnabled`),mergeQueueEnabled:Ul(`teamReview.mergeQueueEnabled`),keepMergeableTimeoutMinutes:Jl(`teamReview.keepMergeableTimeoutMinutes`,dl),org:Wl(`teamReview.org`,!0),team:Wl(`teamReview.team`,!0),skill:Wl(`teamReview.skill`,!0),reReviewAfterHours:Kl(`teamReview.reReviewAfterHours`),skipIdleAfterDays:Kl(`teamReview.skipIdleAfterDays`)}),Yl(`benchmarks`,{enabled:Ul(`benchmarks.enabled`)});var tu=I({enabled:Ul(`factory.enabled`),maxRisk:Oc.optional(),maxLiveWorkers:N().int().min(Mc.min).optional(),checks:F(M().trim().min(1)).optional(),protectedPaths:F(M().trim().min(1)).optional(),reviewerModel:M().trim().min(1).nullable().optional(),dailyBudgetUsd:N().finite().nonnegative().nullable().optional(),verifierModel:M().trim().min(1).nullable().optional(),mirrorHarnessRuns:Ul(`factory.mirrorHarnessRuns`)}).nullable().optional();Yl(`knowledgeGraph`,{enabled:Ul(`knowledgeGraph.enabled`)});var nu={intervalMinutes:Jc,maxConcurrentInvestigations:Yc,investigationTimeoutSeconds:Xc,fixTimeoutSeconds:$c,minUsersToInvestigate:Zc,userEscalationThreshold:Qc,recurrenceWindowDays:Une,transientRecurrenceLimit:Wne,trafficSpikeMultiplier:el,trafficSpikeMinUsers:tl,trafficSpikeCooldownMinutes:nl,trafficSpikeBaselineDays:rl};Yl(`posthog`,{enabled:Ul(`posthog.enabled`),recurrenceDedupe:Ul(`posthog.recurrenceDedupe`),trafficSpikeEnabled:Ul(`posthog.trafficSpikeEnabled`),autoFix:Ul(`posthog.autoFix`),host:Wl(`posthog.host`,!0).refine(e=>e==null||!e||/^https?:\/\//i.test(e),{message:`posthog.host must be an http(s) URL`}),apiKey:Wl(`posthog.apiKey`,!0),repoPath:Wl(`posthog.repoPath`,!0),projects:wo([z(`all`),F(N({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:Ao(M(),vo(),{error:`posthog.projectMap must be an object`}).optional(),...Object.fromEntries(Object.entries(nu).map(([e,t])=>[e,Object.hasOwn(ml,e)?ql(`posthog.${e}`,t):Kl(`posthog.${e}`,t)]))}),`${hl.join(`, `)}`,Object.fromEntries(gl.map(e=>[e,Ul(`usage.vendors.${e}`)])),Object.fromEntries(_l.map(e=>[e,N({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()])),Yl(`telegram`,{botToken:Wl(`telegram.botToken`,!0),chatId:Wl(`telegram.chatId`,!0)}),I({enabled:Ul(`ingest.enabled`)},{error:`ingest must be an object`}).passthrough().optional(),I({enabled:Ul(`trace.enabled`)},{error:`trace must be an object`}).optional(),I({enabled:Ul(`planReview.enabled`)},{error:`planReview must be an object`}).optional();var ru=e=>F(M({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();I({unguardedRepos:ru(`guardrails.unguardedRepos`),blockedPaths:ru(`guardrails.blockedPaths`),unreadablePaths:ru(`guardrails.unreadablePaths`)},{error:`guardrails must be an object`}).passthrough().optional();var iu={enabled:Ul(`telemetry.enabled`)};I(iu,{error:`telemetry must be an object`}).strict().optional(),I(iu,{error:`telemetry must be an object`}).passthrough().optional(),So({records:F(So({from:I({kind:M(),id:M()}),relation:M(),to:I({kind:M(),id:M()}),session:M().optional(),evidence:M().optional()}))});var au=F(M().min(1)).max(256),ou=I({projectId:M(),projectName:M(),headSha:M().nullable(),paused:P(),orchestrator:I({sessionId:M(),intentId:M(),state:bc}).nullable(),liveWorkers:F(I({workId:M(),sessionId:M()})).optional(),reviewing:F(M()).optional(),note:M().nullable().optional(),spentTodayUsd:N().finite().nonnegative().optional(),dailyBudgetUsd:N().finite().nonnegative().nullable().optional(),verifierIntentIds:F(M()).optional(),confirmedFlakesByIntent:Ao(M().min(1),au).optional(),partialIntentIds:F(M()).optional(),factoryProfile:tu.unwrap().unwrap().pick({checks:!0}).extend({focusedTestCommand:M().trim().min(1).optional(),widenableScopes:F(M().trim().min(1)).optional()}).optional(),error:M().nullable(),heading:I({action:Bne.shape.action,reasons:F(M())}),orders:F(I({id:M(),objective:M(),openedAt:os(),criteria:F(M()),boundary:M(),risk:Oc,state:kc,readiness:Ac,parent:M().nullable(),dependsOn:F(M()),writeScopes:F(M()),owner:M().nullable(),blockReason:M().nullable().optional(),parked:P().optional(),blockCount:N().int().nonnegative().optional(),lastEvent:I({event:M(),at:M(),session:M()}).nullable()})),conflicts:F(I({left:M(),right:M(),scope:M()})),unverifiedCompletedWork:F(M()),observedRun:I({recordDirectory:M(),outcome:M().nullable()}).optional()}),su=I({type:z(`factory-state`),ts:N().finite(),projects:F(ou)});I({arrivedAt:M(),state:su}),So({outcome:R([`pass`,`partial`,`fail`]),failureClass:M().nullable().optional()});var cu=16384;function lu(e){return e!==`.`&&e!==`..`&&!/[/\\]/.test(e)}var uu=M().trim().min(1).max(128).refine(lu,`Invalid factory project id`),du=M().trim().min(1).max(4096),fu=M().trim().min(1).max(1024),pu=32,mu=M().trim().min(1).max(64),hu=[`**/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.*`],gu=F(R(hu)).max(hu.length),_u=I({id:mu,objective:du,criteria:F(du).min(1).max(12),dependsOn:F(mu).max(pu),writeScopes:F(fu).min(1).max(32)}),vu=I({projectId:uu,objective:du,criteria:F(du).min(1).max(12),risk:Oc,boundary:du,writeScopes:F(fu).max(32),tickets:F(_u).min(1).max(pu).optional(),floorAllowances:gu.optional()}),yu=I({projectId:M().max(128),ok:P(),workId:M().min(1).max(128).optional(),error:M().max(cu).optional()}),bu=I({projectId:uu,action:R([`pause`,`resume`,`retry-parked`,`rerun-setup`]),intentId:M().trim().min(1).max(128).optional()}).refine(e=>e.action!==`retry-parked`||e.intentId!==void 0,{message:`Retry parked requires an intentId`,path:[`intentId`]}),xu=I({projectId:M().max(128),action:bu.shape.action,ok:P(),reopenedWorkIds:F(M().min(1)).optional(),error:M().max(cu).optional()}),Su=I({pass:P(),findings:F(M())}).strict();I({type:z(`result`),subtype:z(`success`),is_error:z(!1),structured_output:Su});var Cu=I({id:M().min(1).max(1024),path:M().min(1).max(4096),line:M().min(1).regex(/^[^\n]*$/)});I({ledgerPath:M().min(1).max(4096).nullable(),ledgerBranch:M().min(1).max(1024).nullable(),paused:P(),trustedVerifications:F(I({id:M().min(1),sha:M().regex(/^[a-f0-9]{40,64}$/)})).optional(),trustedIntentCloses:F(M().min(1)).optional(),pendingVerifierTrusts:F(I({intentId:M().min(1),sha:M().regex(/^[a-f0-9]{40,64}$/),records:F(Cu).min(1)})).optional(),trustedIntentIds:F(M().min(1)).optional(),intentWriteScopes:Ao(M().min(1),F(M().min(1))).optional(),intentFloorAllowances:Ao(M().min(1),gu).optional(),intentConfirmedFlakes:Ao(M().min(1),au).optional(),intentScopeNeeds:Ao(M().min(1),F(M().min(1)).max(256)).optional(),ticketedIntentIds:F(M().min(1)).optional(),pendingIntentTickets:Ao(M().min(1),I({risk:Oc,boundary:du,tickets:F(_u).min(1).max(pu)})).optional(),intentBaseShas:Ao(M().min(1),M().regex(/^[a-f0-9]{40,64}$/)).optional(),factoryLandedShas:F(M().regex(/^[a-f0-9]{40,64}$/)).optional(),unlandedFactoryRecords:F(Cu).optional(),ticketBlockCounts:Ao(M().min(1),N().int().nonnegative()).optional(),notifiedIntentOutcomes:F(M().min(1)).optional()}),I({workId:M().min(1),event:M().min(1),sessionId:M().optional(),detail:M().optional()}),Eo(`ok`,[I({ok:z(!0),sessionId:M()}),I({ok:z(!1),reason:M()})]);var wu=2e4,Tu=4e3,Eu=524288,Du=1e4,Ou=`ExitPlanMode`,ku=4096,Au=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function ju(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 Mu(e,{overlongLine:t}){if(t===`reject`&&e.length>4096)return null;let n=Au.exec(e.slice(0,ku));return n?{level:n[1].length,text:ju(n[2])}:null}var Nu=I({plan:M().min(1),planFilePath:M().min(1),agent_id:M().min(1).optional(),agent_type:M().min(1).optional()}).passthrough();I({tool_name:z(Ou),tool_input:Nu,agent_id:M().min(1).optional(),agent_type:M().min(1).optional()}).passthrough(),I({plan:M(),planFilePath:M(),agentId:M().nullable(),agentType:M().nullable()}).extend({sessionId:M().min(1),revision:N().int().positive(),receivedAt:N().finite()});var Pu=R(Object.freeze([`open`,`released`,`decided`,`closed`])),Fu=R(Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`])),Iu=I({heading:M().max(Tu).nullable(),comment:M().min(1).max(Tu)}),Lu=I({id:M().min(1),agentId:M().nullable(),revision:N().int().positive(),decision:Fu,feedback:M().max(wu).optional(),comments:F(Iu).max(40).optional(),plan:M().min(1).max(Eu).optional()}),Ru=I({revision:N().int().positive(),receivedAt:N().finite(),chars:N().int().nonnegative(),title:M()}),zu=I({revision:N().int().positive(),since:N().finite()}),Bu=I({agentId:M().nullable(),agentType:M().nullable(),revisions:F(Ru),state:Pu,openRevision:zu.nullable(),approvedRevision:N().int().positive().nullable(),lastDecision:Fu.nullable()});I({reviews:F(Bu)});var Vu=I({agentId:M().nullable(),revision:N().int().nonnegative(),plan:M(),planFilePath:M(),receivedAt:N().finite()}),Hu=I({id:M(),agentId:M().nullable(),agentType:M().nullable(),revision:N().int().positive(),receivedAt:N().finite(),state:Pu,lastDecision:Fu.nullable(),approvedRevision:N().int().positive().nullable(),chars:N().int().nonnegative(),title:M(),hasPlan:P()}),Uu=I({id:M(),agentId:M().nullable(),planFilePath:M(),changedAt:N().finite()}),Wu=I({id:M(),reviews:F(Bu),body:Vu.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var Gu=M().min(1),Ku=M().min(1),qu=N().int().nonnegative(),Ju=F(Ku).max(20),Yu=R([`added`,`modified`,`deleted`,`renamed`,`untracked`]),Xu=L({factId:Gu,path:Ku,previousPath:Ku.optional(),status:Yu,isCommitted:P()}),Zu=L({factId:Gu,agentsPath:Ku,title:M(),paths:F(Ku).min(1)}),Qu=L({factId:Gu,path:Ku,partner:Ku,support:qu,confidence:N().min(0).max(1)}),$u=L({factId:Gu,path:Ku,commitCount:qu,fixCommitCount:qu}),ed=L({factId:Gu,path:Ku,directDependents:Ju,directDependentCount:qu,transitiveDependentCount:qu,dependentTests:Ju,dependentTestCount:qu}),td=L({factId:Gu,path:Ku}),nd=L({factId:Gu,path:Ku,otherSessionId:M().min(1),otherSessionName:M()}),rd=L({factId:Gu,providerRepo:M().min(1),packageName:M().min(1),packageDir:M(),consumerManifest:Ku,versionSpec:M(),isLocalLink:P(),providerChangedPathCount:qu,importers:Ju,importerCount:qu,changedImporterCount:qu}),id=L({name:M().min(1),root:M().min(1),sessionPathPrefix:M(),base:M().nullable(),files:F(Xu),subsystems:F(Zu),coChangeGaps:F(Qu),hotspots:F($u),blastRadius:F(ed),untestedFiles:F(td),collisions:F(nd),links:F(rd),error:M().nullable()}),ad=L({text:M().min(1).max(600),factIds:F(Gu).min(1)}),od=L({factsHash:M().min(1),model:M().nullable(),claims:F(ad).max(12)}),sd=R([`disabled`,`pending`,`ready`,`failed`]),cd=L({sessionId:M().min(1),sig:M().nullable(),generatedAt:N().finite(),repos:F(id),narrative:od.nullable(),narratorState:sd,error:M().min(1).optional()}),ld=4e3,ud=I({ts:N().finite(),uuid:M().nullable(),parentUuid:M().nullable(),vendorSessionId:M().min(1),agentId:M().min(1).optional(),agentType:M().min(1).optional(),transcriptOffset:N().int().nonnegative().optional(),truncated:P().optional()}),dd=Eo(`kind`,[ud.extend({kind:z(`prompt`),text:M()}),ud.extend({kind:z(`expansion`),text:M(),toolUseId:M().min(1).optional()}),ud.extend({kind:z(`thinking`),text:M()}),ud.extend({kind:z(`assistant`),text:M()}),ud.extend({kind:z(`tool_call`),toolUseId:M().min(1),name:M().min(1),input:vo()}),ud.extend({kind:z(`tool_result`),toolUseId:M().min(1),content:M(),isError:P(),truncated:P()}),ud.extend({kind:z(`session`),vendor:M().min(1),transcriptPath:M().min(1),reason:M().min(1).optional()}),ud.extend({kind:z(`notice`),text:M().max(ld)}),ud.extend({kind:z(`raw`),line:M().max(ld)})]);I({transcriptPath:M().min(1),vendorSessionId:M().min(1),offset:N().int().nonnegative(),ingestedSubagentPaths:F(M().min(1)),offsetByTranscriptPath:Ao(M().min(1),N().int().nonnegative()).default({}),subagentOffsetByPath:Ao(M().min(1),N().int().nonnegative()).default({})});var fd=R([`release`,`main`]),pd=R([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),md=R([`fetch`,`stage`,`install`,`link-deps`,`build`]),hd=I({id:md,status:R([`pending`,`running`,`succeeded`,`failed`]),startedAt:N().finite().nullable(),finishedAt:N().finite().nullable(),outputTail:F(M())}).strict(),gd=I({state:pd,fromSha:M().nullable(),toSha:M().nullable(),toVersion:M().nullable(),channel:fd,steps:F(hd),activeStep:md.nullable(),reason:M().nullable(),startedAt:N().finite().nullable(),finishedAt:N().finite().nullable(),failedAtHandOff:P().optional()}).strict(),_d=gd.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),vd=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,yd=/^[A-Za-z_][A-Za-z0-9_]*$/,bd=M().regex(/^[^/\s]+\/[^/\s]+$/),xd=N().finite(),Sd=M().min(1),Cd=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),wd=M().regex(vd);function Td(e){return new Set(e.map(e=>e.id)).size===e.length}var Ed=Eo(`kind`,[L({kind:z(`manual`)}),L({kind:z(`github-merged-prs`),repo:bd,minBodies:N().int().min(1),limit:N().int().min(1).max(500)})]),Dd=Eo(`kind`,[L({kind:z(`none`)}),L({kind:z(`pr-checkout`)})]),Od=L({promptTemplate:Sd,output:R([`review-findings`,`json`]),timeoutSeconds:N().int().min(30).max(14400)}),kd=L({id:wd,env:Ao(M().regex(yd),M()).refine(e=>Cd.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Cd.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:F(M()).optional(),setup:L({command:F(Sd).min(1)}).optional()}),Ad=Eo(`kind`,[L({kind:z(`llm-judge-match`),model:Sd})]);L({id:wd,title:Sd,caseSource:Ed,workspace:Dd,subject:Od,arms:F(kd).min(2).refine(Td,{message:`arm ids must be unique`}),baselineArm:wd,trials:N().int().min(1).max(20),scorer:Ad}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var jd=L({id:wd,text:Sd,tags:F(wd),path:Sd.optional(),line:N().int().positive().optional()}),Md=Eo(`kind`,[L({kind:z(`manual`)}),L({kind:z(`github-pr`),repo:bd,number:N().int().positive(),url:Sd,minedAt:xd})]);L({id:wd,input:Ao(M(),vo()),references:F(jd).min(1).refine(Td,{message:`reference ids must be unique`}),source:Md}),I({repo:bd,number:N().int().positive(),reviewedSha:B,baseSha:B,changedFiles:F(Sd)});var Nd=L({referenceId:wd,verdict:R([`found`,`partial`,`missed`]),findingIndexes:F(N().int().nonnegative())}),Pd=R([`scored`,`invalid`,`error`]),Fd=L({caseId:wd,armId:wd,trial:N().int().min(1),status:Pd,startedAt:xd,finishedAt:xd,degradedReasons:F(Sd),findingCount:N().int().nonnegative(),judgements:F(Nd),costUsd:N().finite().nonnegative().nullable(),error:Sd.nullable()}),Id=R([`running`,`completed`,`interrupted`,`failed`]);L({id:wd,suiteId:wd,status:Id,startedAt:xd,finishedAt:xd.nullable(),error:Sd.nullable(),cells:F(Fd)});var Ld=N().min(0).max(1).nullable(),Rd=L({trials:N().int().nonnegative(),recall:Ld,recallByTag:Ao(wd,Ld),degraded:N().int().nonnegative(),invalid:N().int().nonnegative(),costUsd:N().finite().nonnegative().nullable()}),zd=L({caseId:wd,arms:Ao(wd,Rd),deltaVsBaseline:Ao(wd,N().min(-1).max(1).nullable())}),Bd=L({runId:wd,suiteId:wd,status:Id,baselineArm:wd,armIds:F(wd),rows:F(zd),totals:Ao(wd,Rd)}),Vd=R([`mine`,`run`,`cancel`]),Hd=I({suiteId:wd,action:Vd}),Ud=I({suiteId:wd,action:Vd,ok:P(),error:M().optional(),runId:wd.optional()}),Wd=R([`setup`,`preflight`,`workspace`,`subject`,`judge`]),Gd=I({suiteId:wd,runId:wd,caseId:wd.nullable(),armId:wd,trial:N().int().min(1),phase:Wd,cellIndex:N().int().nonnegative(),cellCount:N().int().positive(),startedAt:xd}),Kd=I({id:wd,title:M(),error:M().nullable(),caseCount:N().int().nonnegative(),candidateCount:N().int().nonnegative(),armIds:F(wd),baselineArm:wd.nullable(),latestReport:Bd.nullable()}),qd=I({type:z(`benchmark-status`),ts:xd,configured:P(),reason:M().nullable(),suites:F(Kd),inFlight:Gd.nullable()}).passthrough(),Jd=I({__typename:M(),login:M()}).nullable();I({number:N().int().positive(),title:M(),url:Sd,mergedAt:M().nullable(),reviewThreads:I({totalCount:N().int().nonnegative()}),reviews:I({totalCount:N().int().nonnegative()})});var Yd=I({path:M(),line:N().int().positive().nullable(),originalLine:N().int().positive().nullable(),comments:I({nodes:F(I({databaseId:N().int().positive(),author:Jd,body:M(),createdAt:M(),originalCommit:I({oid:B}).nullable()}))})}),Xd=I({databaseId:N().int().positive(),author:Jd,body:M(),submittedAt:M().nullable(),commit:I({oid:B}).nullable()}),Zd=Eo(`__typename`,[I({__typename:z(`BaseRefChangedEvent`),createdAt:M()}),I({__typename:z(`BaseRefForcePushedEvent`),createdAt:M(),beforeCommit:I({oid:B}).nullable()})]);I({author:Jd,baseRefOid:B,reviewThreads:I({pageInfo:I({hasNextPage:P()}),nodes:F(Yd)}),reviews:I({pageInfo:I({hasNextPage:P()}),nodes:F(Xd)}),timelineItems:I({pageInfo:I({hasNextPage:P()}),nodes:F(Zd)})}),I({mergeBaseSha:B,changedFiles:F(Sd),isFileListComplete:P()});var H=M().nullable().optional(),U=M(),Qd=fc.shape.unlinkedKeys.unwrap().element,$d=/^https:\/\/github\.com\/([^/\s]+\/[^/\s]+)\/pull\/([0-9]+)(?:[/?#].*)?$/i;function ef(e){let t=e.trim(),n=$d.exec(t),r=n?`${n[1]}#${n[2]}`:t,i=Qd.safeParse(r);return i.success?i.data:null}function W(e,t){return So({type:z(e),...t})}function tf(e={}){return So(e)}var nf=M().nullable(),rf=N().finite(),af=rf.optional(),of=nf.optional(),sf=tf(),cf=F(vo()),lf=N().int().positive(),uf=M().min(1).max(Ec),df=F(tf({at:rf,tool:M(),detail:M()}));I({id:M(),label:M(),command:M(),args:F(M()),resolvable:P().nullable()}).strict();var ff=I({id:U,session:M(),taskTitle:yc.nullable().optional(),taskTitleIsCustom:P().optional(),path:M(),agent:M(),state:bc,stateSince:rf,skipPerms:P(),saneYolo:P(),worktree:P(),workspace:P().optional(),guarded:P().optional(),resumeSessionId:nf,ephemeral:P().optional(),linkedPrs:F(dc).optional()}),pf=1e3,mf=RegExp(`^[^\0--Ÿ]+$`),hf=L({section:R([`committed`,`uncommitted`]),path:M().min(1).max(400).regex(mf),line:N().int().positive(),side:R([`old`,`new`]),note:M().min(1).max(pf)}),gf=4096,_f=gf+2*(Eu+wu+80*Tu),vf=I({reason:M(),message:M()}),yf=R([`npm-global`,`npx`,`clone`,`unknown`]),bf={updateAvailable:P(),current:nf,latest:nf,currentSha:nf,latestSha:nf,releaseUrl:nf,command:M(),flavor:yf,platform:M(),installedBranch:nf,upstream:nf,isTreeClean:P().nullable(),lastCheckAt:rf,channel:fd,behindCount:N().int().nonnegative().nullable(),reason:nf,journalSummary:_d.nullable(),applyRefusal:vf.nullable()};I(bf);var xf=8192,Sf=I({name:M().max(128),stack:M().max(xf)}).strict(),Cf=[`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 wf(e){return W(e,{id:U,force:vo().optional()})}var Tf=Cf.map(wf);Eo(`type`,[W(`add-session`,{name:M(),path:M(),repos:F(M()).optional(),agent:M().optional(),dangerouslySkipPermissions:P().optional(),unguarded:P().optional()}),W(`list-conversations`,{id:U,requestId:H}),W(`resume-conversation`,{id:U,conversationId:M()}),W(`rename-session`,{id:U,newName:M()}),W(`get-workspace-repos`,{id:U,requestId:H}),W(`set-workspace-repos`,{id:U,repos:F(M()),requestId:H}),W(`set-session-title`,{id:U,title:yc}),W(`link-session-pr`,{id:U,key:Qd}),W(`unlink-session-pr`,{id:U,key:Qd}),W(`reorder-sessions`,{order:F(U)}),W(`ping`,{requestId:H}),W(`get-settings`,{requestId:H}),W(`update-settings`,{settings:Ao(M(),vo()),requestId:H}),W(`scan-repo-roots`,{requestId:H,includeSuggestions:P().optional()}),W(`list-agents`,{requestId:H,rescan:P().optional()}),W(`get-radar-report`,{issueId:wo([M(),N()]),requestId:H}),W(`radar-open-session`,{projectId:wo([M(),N()]),issueId:wo([M(),N()]),requestId:H}),W(`issue-detail`,{requestId:M().min(1),repo:hs,issueNumber:N().int().positive()}),W(`open-issue-session`,{requestId:H,projectId:M(),repo:hs,issueNumber:N().int().positive()}),W(`radar-issue-action`,{projectId:wo([M(),N()]),issueId:wo([M(),N()]),action:M(),requestId:H}),W(`open-team-review-session`,{requestId:H,key:Qd}),W(`team-review-action`,{...tc.shape,requestId:H}).refine(ec,{message:`only discard may omit head`,path:[`head`]}),W(`factory-queue-intent`,{...vu.shape,requestId:H}),W(`factory-control`,{...bu.shape,requestId:H}),W(`benchmark-action`,{...Hd.shape,requestId:H}),W(`my-pr-merge`,{...Ane.shape,requestId:H}),W(`my-pr-keep-mergeable`,{...xne.shape,requestId:H}),W(`my-pr-merge-when-ready`,{...Cne.shape,requestId:H}),W(`github-polling-refresh`,{...ps.shape,requestId:H}),W(`radar-archive-investigation`,{id:vo().optional(),requestId:H}),W(`request-usage-report`,{requestId:H,days:vo().optional(),force:vo().optional()}),W(`request-hooks-report`,{requestId:H}),W(`send-diff-annotations`,{id:U,annotations:F(hf).min(1).max(50),requestId:H}),W(`save-hook`,{hook:Ao(M(),vo()),requestId:H}),W(`delete-hook`,{id:M(),requestId:H}),W(`shutdown`),W(`restart-server`),W(`focus-change`,{focused:P()}),W(`request-health-snapshot`),W(`update-check`),W(`update-apply`,{restartWhenStaged:P().optional(),confirmedSessionIds:F(M().min(1)).max(1e3).optional()}),W(`session-trace`,{id:U,requestId:H,after:N().int().nonnegative().default(0),endingAt:wo([N().int().nonnegative(),z(`tail`)]).optional()}),W(`session-plan`,{id:U,agentId:nf,revision:lf.optional(),draft:P().optional()}),W(`plan-decision`,Lu.shape),W(`set-session-conversation-view`,{id:U,isOn:P()}),W(`conversation-approval`,{id:U,requestId:wc.shape.requestId,decision:Rne,answers:Lne.optional()}),W(`session-doc-read`,{id:U,path:uf,requestId:H}),W(`session-doc-save`,{id:U,path:uf,text:M(),baseHash:M().min(1),requestId:H}),W(`client-error`,Sf.shape),W(`dismiss`,{id:U,force:vo().optional(),expectedState:bc.optional()}),...Tf]),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 Ef=Eo(`type`,[W(`snapshot`,{sessions:F(Tc),serverBuild:nf}),W(`hooks-report`,{requestId:H,ts:af,hooks:F(sf).optional(),builtin:F(sf).optional(),events:F(tf({name:M(),matcher:nf,description:M(),http:P().optional()})).optional(),projects:F(tf({id:M(),name:M(),agent:M()})).optional(),limits:tf({maxTimeoutSec:N().int().positive()}).optional(),error:of}),W(`save-hook-result`,{requestId:H,ok:P(),error:of,hook:sf.optional()}),W(`delete-hook-result`,{requestId:H,ok:P(),error:of,id:M().optional()}),W(`workspace-repos`,{requestId:H,id:U,ok:P(),repos:F(M()),error:of}),W(`set-workspace-repos-result`,{requestId:H,id:U,ok:P(),error:of}),W(`hooks-updated`,{count:N().int().nonnegative()}),W(`state-change`,{id:U,session:M(),from:bc,to:bc,event:M(),timestamp:rf,skipPerms:P().optional(),saneYolo:P().optional()}),W(`session-added`,ff.shape),W(`session-modified`,ff.shape),W(`session-removed`,{id:U,session:M()}),W(`session-renamed`,{id:U,oldName:M(),newName:M()}),W(`session-title`,{id:U,taskTitle:yc.nullable(),isCustom:P()}),W(`session-prs`,{id:U,linkedPrs:F(dc)}),W(`session-git`,{id:U,worktree:P()}),W(`session-agents`,{id:U,activeAgents:N().int().nonnegative(),awaitingBackgroundTasks:P(),timestamp:rf}),W(`session-wakeup`,{id:U,pendingWakeup:xc.nullable(),timestamp:rf}),W(`session-prompt`,{isCompacting:P().optional(),id:U,pendingPromptKind:nf,timestamp:rf}),W(`session-conversation`,{id:U,hasConversationBridge:P(),isConversationViewOn:P(),conversationApproval:wc.nullable()}),W(`session-sleep`),W(`session-wake`),W(`session-merge-status`,{id:U,mergeStatus:M(),reason:nf,parked:P(),timestamp:rf}),W(`session-worktree-blocked`,{id:U,session:M(),branch:nf,notice:nf,timestamp:rf}),W(`session-worktree-warning`,{id:U,session:M(),branch:nf,notice:nf,timestamp:rf}),W(`session-worktree-ready`,{id:U,session:M(),branch:nf,base:nf,timestamp:rf}),W(`session-diff`,{id:U,committed:tf({stat:M(),diff:M()}),uncommitted:tf({stat:M(),diff:M()}),hasCommits:P()}),W(`session-diff-error`,{id:U,message:M()}),W(`change-map`,{id:U,map:cd}),W(`send-diff-annotations-result`,{requestId:H,ok:P(),error:of,pending:P().optional()}),W(`branch-sync-status`,{id:U,branch:nf,upstream:nf,state:M(),ahead:N().int().nonnegative(),behind:N().int().nonnegative(),fetched:P().nullable(),action:M().optional(),error:of}),W(`session-changed`,{id:U}),W(`post-turn-result`,{id:U,mode:M(),skipped:nf,filesFixed:N().int().nonnegative(),findings:F(tf({file:M(),rule:M(),count:N().int().nonnegative()})),timestamp:rf}),W(`debug-state-response`,{id:U,payload:sf}),W(`session-trace-response`,{id:U,requestId:H,records:F(dd),start:N().int().nonnegative(),next:N().int().nonnegative(),reset:P(),path:M()}),W(`session-trace-changed`,{id:U}),W(`session-plan-changed`,Hu.shape),W(`session-plan-draft`,Uu.shape),W(`session-plan-response`,Wu.shape),W(`session-docs-changed`,{id:U,docs:F(Dc)}),W(`session-docs-snapshot`,{sessions:Ao(M(),F(Dc))}),W(`session-doc-response`,{requestId:H,id:U,path:M(),ok:P(),text:M().optional(),hash:M().optional(),error:of}),W(`session-doc-save-result`,{requestId:H,id:U,path:M(),ok:P(),hash:M().optional(),conflict:P().optional(),error:of}),W(`notify`,{session:M(),category:M(),message:M(),escalationCount:N().int().nonnegative(),kind:z(`plan`).optional()}),W(`update-status`,bf),W(`update-progress`,{journal:gd}),W(`error`,{id:U.optional(),message:M(),requestId:H,scope:M().optional()}),W(`session-error`,{id:U.optional(),session:M(),message:M(),scope:M().optional()}),W(`settings`,{settings:sf,requestId:H}),W(`settings-error`,{message:M(),requestId:H}),W(`settings-updated`,{settings:sf,requestId:H}),W(`pong`,{requestId:H}),W(`agents-listed`,{requestId:H,agents:F(tf({id:M(),label:M(),resolvable:P()}))}),W(`repo-roots-scanned`,{requestId:H,directories:F(tf({root:M(),projects:F(tf({name:M(),path:M()}))})),suggestions:F(tf({path:M(),label:M(),gitRepoCount:N().int().nonnegative()})).optional(),error:M().optional()}),W(`conversations`,{requestId:H,id:nf,current:nf.optional(),conversations:F(tf({id:M(),title:M(),cwd:M(),worktreePath:M(),worktreeName:M(),gitBranch:nf,mtime:rf})),error:M().optional()}),W(`resume-conversation-ack`,{id:U.optional(),resumeSessionId:nf.optional(),ok:P(),error:M().optional(),requestId:H}),W(`health-snapshot`,{stats:sf}),W(`radar-status`,{ts:rf,intervalMinutes:N(),projects:F(sf),investigations:F(sf)}),W(`radar-investigation-activity`,{projectId:wo([M(),N()]),issueId:M(),inFlight:z(!0),startedAt:rf.nullable(),trail:df}),W(`radar-investigation-finished`,{projectId:wo([M(),N()]),issueId:M(),verdict:M(),summaryLine:nf,startedAt:rf.nullable(),trail:df}),W(`radar-report`,{requestId:H,ok:P(),found:P(),issueId:nf,format:M().optional(),content:M().optional(),message:M().optional(),error:M().optional()}),W(`radar-open-session-result`,{requestId:H,ok:P(),error:of,sessionId:M().optional(),sessionName:M().optional(),pending:P().optional()}),W(`issue-detail-result`,{requestId:M().min(1),ok:P(),body:M().nullable(),error:M().nullable()}),W(`open-issue-session-result`,{requestId:H,ok:P(),error:of,sessionId:M().optional(),sessionName:M().optional(),pending:P().optional(),existing:P().optional()}),W(`open-team-review-session-result`,{requestId:H,ok:P(),error:of,key:Qd.optional(),sessionId:M().optional(),sessionName:M().optional(),pending:P().optional(),existing:P().optional()}),W(`radar-issue-action-result`,{requestId:H,ok:P(),error:of,status:nf.optional()}),W(`team-review-action-result`,{...nc.shape,requestId:H}),W(`factory-queue-intent-result`,{...yu.shape,requestId:H}),W(`factory-control-result`,{...xu.shape,requestId:H}),W(`benchmark-action-result`,{...Ud.shape,requestId:H}),W(`my-pr-merge-result`,{...gc.shape,requestId:H}),W(`my-pr-keep-mergeable-result`,{...Sne.shape,requestId:H}),W(`my-pr-merge-when-ready-result`,{...wne.shape,requestId:H}),W(`github-polling-refresh-result`,{...ms.shape,requestId:H}),W(`radar-archive-investigation-result`,{requestId:H,ok:P(),error:of}),ic,qd,W(`factory-state`,su.shape),hc,ws,W(`branch-gc-status`),W(`usage-sessions`,{ts:rf,pricingSource:nf,sessions:F(tf({id:U,tokens:N(),costUSD:N(),officialCostUSD:N().nullable().optional()}))}),W(`usage-report`,{requestId:H,ts:af,tz:M().optional(),blockHours:N().optional(),totals:sf.optional(),daily:cf.optional(),models:cf.optional(),sessions:cf.optional(),blocks:cf.optional(),activeBlock:vo().nullable().optional(),anomaly:vo().nullable().optional(),byLane:vo().optional(),planWindowLanes:vo().nullable().optional(),budget:vo().optional(),savings:vo().optional(),tokenLimit:vo().nullable().optional(),pricing:sf.optional(),scan:sf.optional(),warning:of,error:of}),W(`plan-limits`,{ts:rf,fiveHour:vo().nullable(),sevenDay:vo().nullable(),source:M()}),W(`usage-budget-alert`,{scope:M(),periodKey:M(),threshold:N(),text:M(),ts:rf}),W(`visions-findings`,{uri:M(),diagnostics:cf,ts:rf}),W(`visions-comments`,{uri:M(),comments:cf,ts:rf}),W(`visions-hand`,{uri:M(),hand:nf,ts:rf}),W(`visions-intent`,{projectId:nf,intent:sf,ts:rf}),W(`visions-fix`,{uri:M(),fix:sf,ts:rf}),W(`visions-snapshot`,{documents:F(sf),intent:sf,fixes:F(sf),ts:rf}),W(`ingest-activity`,{events:F(sf),overflow:N().int().nonnegative(),ts:rf}),W(`ingest-snapshot`,{events:F(sf),sources:vo(),ts:rf}),W(`client-trust`,{trust:R([`local`,`remote`])}),W(`sessions-reordered`,{order:F(U)}),W(`shutting-down`),W(`restarting`)]),Df=/^\s*at .+:\d+:\d+\)?$|^[^@\s]*@.+:\d+:\d+$/;function Of(e){let t=e.stack??``,n=String(e);return(t.startsWith(n)?t.slice(n.length):t).split(`
56
+ `).filter(e=>Df.test(e)).join(`
57
+ `)}function kf(e){return e==null?null:e instanceof Error?{name:(e.name||`Error`).slice(0,128),stack:Of(e).slice(0,xf)}:{name:`NonError`,stack:``}}function Af(e){let t=new Set;return n=>{let r=kf(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 jf=[{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 Mf(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function Nf(e){if(!Array.isArray(e))return[];let t=new Set(jf.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function Pf(e={}){let t=Rc,n=Fc,r=Ic,i=Mf(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=Mf(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=Mf(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=Mf(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:Mf(e.flyingAnimalsScale,t.flyingAnimalsScale,Lc),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:Nf(e.flyingAnimalsExcludedSprites)}}function Ff(e){return jf.some(t=>!e.includes(t.sprite))}function If(e,t=-1,n=Math.random){let r=jf.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 Lf(e,t,n=Math.random,r){let i=r===void 0?If(e.flyingAnimalsExcludedSprites,t,n):jf.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 Rf({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 zf=61.2,Bf=37.8,Vf=768,Hf=.68,Uf=64,Wf=5;function Gf(e,t,n){return Math.min(Math.max(e,t),n)}function Kf({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n}){let r=Gf(e/Vf,Hf,1),i=(Wf+70*n*n)*t/100;return{scale:r,spriteWidthPx:zf,spriteHeightPx:Bf,topPx:Math.max(i,Uf),startXpx:-.45*e,endXpx:1.45*e}}function qf(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 Jf=`chime`,Yf=`custom:`,Xf=`/custom-sounds`,Zf=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`}]}}),Qf=Object.freeze(Object.entries(Zf).map(([e,t])=>({id:e,label:t.label})));function $f(e){return`${Yf}${e}`}function ep(e){return`${Xf}/${encodeURIComponent(e)}`}function tp(e){return e.startsWith(Yf)&&e.slice(7)||null}function np(e){let t=(e??[]).map(e=>({id:$f(e),label:e}));return[...Qf,...t]}function rp(e,t){if(typeof e!=`string`)return Jf;if(Object.hasOwn(Zf,e))return e;let n=tp(e);return n&&(t===null||t.includes(n))?e:Jf}function ip(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}function ap(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function op(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var sp=`glimmervoid-ui-prefs`,cp=`glimmervoid:sidebar-width`,lp=e=>t=>typeof t==`boolean`?t:e,up=e=>t=>typeof t==`string`?t:e,dp=e=>typeof e==`string`&&e?e:null,fp=e=>typeof e==`number`&&Number.isFinite(e)?e:null,pp=e=>t=>fp(t)??e,mp=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],hp={soundEnabled:lp(!0),soundId:up(Jf),themeId:up(`phyrexian`),flyingAnimalsEnabled:lp(!1),flyingAnimalsMinGapSeconds:pp(Rc.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:pp(Rc.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:pp(Rc.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:pp(Rc.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:pp(Rc.flyingAnimalsScale),flyingAnimalsOnPhone:lp(Rc.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:Nf,notificationsEnabled:lp(!0),compactStatusLabels:lp(!1),sessionUsageChips:lp(!1),activeView:up(`focus`),lastFocusedSessionId:dp,railWidth:fp,reviewSidebarExpanded:lp(!1),reviewSidebarView:e=>e===`map`||e===`notes`?e:`diff`,prsQueueWidth:fp,prsQueueCollapsed:lp(!1),prsMode:e=>e===`mine`?`mine`:`team`,keptProjects:mp,traceHiddenKinds:mp,dismissedUpdate:dp,telemetryNoticeDismissed:lp(!1),radarAttentionAck:up(``),prsAttentionAck:up(``),usageAttentionAck:up(``),visionsAttentionAck:up(``)};function gp(e,t,n){e[t]=hp[t](n)}function _p(){let e=ap(sp,{}),t={};for(let n of Object.keys(hp))gp(t,n,e?.[n]);return t}function vp(e){return _p()[e]}function yp(e,t){let n=_p();gp(n,e,t),op(sp,n)}var bp=()=>vp(`soundEnabled`),xp=e=>yp(`soundEnabled`,e),Sp=()=>vp(`soundId`),Cp=e=>yp(`soundId`,e),wp=()=>vp(`notificationsEnabled`),Tp=e=>yp(`notificationsEnabled`,e),Ep=()=>vp(`compactStatusLabels`),Dp=e=>yp(`compactStatusLabels`,e),Op=()=>vp(`sessionUsageChips`),kp=e=>yp(`sessionUsageChips`,e),Ap=()=>vp(`themeId`),jp=e=>yp(`themeId`,e),Mp=()=>vp(`flyingAnimalsEnabled`),Np=e=>yp(`flyingAnimalsEnabled`,e),Pp=()=>vp(`activeView`),Fp=e=>yp(`activeView`,e),Ip=()=>vp(`railWidth`),Lp=e=>yp(`railWidth`,e),Rp=()=>vp(`reviewSidebarExpanded`),zp=e=>yp(`reviewSidebarExpanded`,e),Bp=()=>vp(`reviewSidebarView`),Vp=e=>yp(`reviewSidebarView`,e),Hp=()=>vp(`prsQueueWidth`),Up=e=>yp(`prsQueueWidth`,e),Wp=()=>vp(`prsQueueCollapsed`),Gp=e=>yp(`prsQueueCollapsed`,e),Kp=()=>vp(`prsMode`),qp=e=>yp(`prsMode`,e),Jp=()=>vp(`keptProjects`),Yp=e=>yp(`keptProjects`,e),Xp=()=>vp(`traceHiddenKinds`),Zp=e=>yp(`traceHiddenKinds`,e),Qp=()=>vp(`dismissedUpdate`),$p=e=>yp(`dismissedUpdate`,e),em=()=>vp(`telemetryNoticeDismissed`),tm=e=>yp(`telemetryNoticeDismissed`,e),nm=()=>vp(`radarAttentionAck`),rm=e=>yp(`radarAttentionAck`,e),im=()=>vp(`prsAttentionAck`),am=e=>yp(`prsAttentionAck`,e),om=()=>vp(`usageAttentionAck`),sm=e=>yp(`usageAttentionAck`,e),cm=()=>vp(`visionsAttentionAck`),lm=e=>yp(`visionsAttentionAck`,e),um=()=>vp(`lastFocusedSessionId`),dm=e=>yp(`lastFocusedSessionId`,e),fm=()=>fp(ap(cp,null)),pm=e=>op(cp,fp(e)),mm=e=>yp(`flyingAnimalsMinGapSeconds`,e),hm=e=>yp(`flyingAnimalsMaxGapSeconds`,e),gm=e=>yp(`flyingAnimalsMinDurationSeconds`,e),_m=e=>yp(`flyingAnimalsMaxDurationSeconds`,e),vm=e=>yp(`flyingAnimalsScale`,e),ym=e=>yp(`flyingAnimalsOnPhone`,e),bm=e=>yp(`flyingAnimalsExcludedSprites`,e),xm=()=>Pf(_p()),Sm=()=>{let e=_p();return Object.fromEntries(Object.keys(Rc).map(t=>[t,e[t]]))},Cm=()=>op(sp,{..._p(),...Rc}),wm=Kf({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Tm(e,t=``){let n=p(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${wm.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${wm.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 Em(){let e=If(xm().flyingAnimalsExcludedSprites);return e===null?null:jf[e]??null}var Dm=6e4,Om=18e5,km=20;function Am({attempt:e=1,baseMs:t=Dm,maxMs:n=Om,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,km)-1),s=Math.min(n,t*2**o);return a===`none`?s:Math.round(a===`half`?s*(.5+.5*i()):i()*s)}var jm=3e4;function Mm(e,t=Math.random){return Am({attempt:(typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0)+1,baseMs:500,maxMs:jm,random:t,jitter:`half`})}var Nm=0,Pm=1,Fm=1e4;function Im(e){return typeof e!=`number`||!Number.isFinite(e)?!1:e>=Fm}function Lm({hasSocket:e,readyState:t,retryPending:n,connectingAgeMs:r=0,hiddenForMs:i}){return n?`retry-now`:!e||Im(i)?`connect`:t===Nm?r>1e4?`connect`:`wait`:t===Pm?`probe`:`connect`}function Rm(e){return e===`https:`?`wss:`:`ws:`}function zm(e,t){return`${Rm(e?.protocol)}//${e.host}${t}`}var Bm=``,Vm=null;function Hm(){return Bm}function Um(){return Bm?Promise.resolve(Bm):Vm||(Vm=fetch(`/control-token`,{credentials:`same-origin`,cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{let t=e?.token;return Bm=typeof t==`string`?t:``,Bm}).catch(()=>``).finally(()=>{Vm=null}),Vm)}function Wm(){Bm=``}function Gm(e){return Bm?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(Bm)}`:e}var Km=null,qm=null,Jm=0,Ym=new Map,Xm=null,Zm=0,Qm=!1,$m=0,eh=0,th=null,nh=null;function rh(e){nh=e}function ih(e){th=e}function G(e){return Km?.readyState===WebSocket.OPEN&&(Km.send(JSON.stringify(e)),!0)}function ah(e){return eh+=1,`${e}-${eh}`}function oh(e,t){let n=ah(e);return new Promise((r,i)=>{let a=setTimeout(()=>{Ym.delete(n),i(Error(`Request timed out`))},5e3);Ym.set(n,{resolve:r,reject:i,timer:a}),Km?.readyState===WebSocket.OPEN?Km.send(JSON.stringify({type:e,requestId:n,...t})):(clearTimeout(a),Ym.delete(n),i(Error(`Not connected`)))})}function sh(e){for(let t of Ym.values())clearTimeout(t.timer),t.reject(Error(e));Ym.clear()}function ch(){let e=Km;Km=null,sh(`Connection replaced`),e?.close(),Jm=0,lh()}function lh(){if(qm!==null&&(qm!==null&&clearTimeout(qm),qm=null),!Hm()&&!Qm){Qm=!0,Um().finally(()=>{Qm=!1,lh()});return}if(Qm)return;let e=$m>0?`?since=${$m}`:``,t=zm(location,Gm(`/control${e}`)),n=new WebSocket(t);Km=n,Zm=Date.now();let r=!1;n.addEventListener(`open`,()=>{r=!0,Jm=0,nh&&nh(`connected`,`Connected`)}),n.addEventListener(`message`,e=>{if(Km!==n)return;let t;try{t=JSON.parse(e.data)}catch{console.warn(`[control] Dropped malformed server JSON message`);return}let r=Ef.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`&&($m=0),typeof i.seq==`number`){if(i.seq<=$m)return;$m=i.seq}let a=typeof i.requestId==`string`?i.requestId:``,o=a?Ym.get(a):void 0;o?(clearTimeout(o.timer),Ym.delete(a),o.resolve(i)):th&&th(i)}),n.addEventListener(`close`,()=>{if(Km!==n)return;Km=null,sh(`Connection closed`),r||Wm(),nh&&nh(`disconnected`,`Reconnecting`);let e=Mm(Jm);Jm+=1,qm=setTimeout(lh,e)})}async function Gne(e){if(nh&&nh(`connecting`,`Connecting`),Xm)return Xm;let t=Lm({hasSocket:!!Km,readyState:Km?.readyState??null,retryPending:qm!==null,connectingAgeMs:Date.now()-Zm,hiddenForMs:e});if(t===`retry-now`)return qm!==null&&clearTimeout(qm),qm=null,Jm=0,lh(),`reconnecting`;if(t===`connect`)return ch(),`reconnecting`;if(t===`wait`)return`reconnecting`;let n=Km;return Xm=oh(`ping`,{}).then(()=>(nh&&nh(`verified`,`Connected`),`ok`)).catch(()=>(Km===n&&n&&ch(),`dead`)).finally(()=>{Xm=null}),Xm}var Kne=`<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
+ <div class="dialog-repo-roots" id="add-session-repo-roots" hidden>
70
+ <p class="dialog-repo-roots-title" id="add-session-repo-roots-title">No repository roots yet</p>
71
+ <p class="dialog-repo-roots-desc">Add the folder that holds your git checkouts. Its repos show up right here.</p>
72
+ </div>
73
+ <label class="dialog-label" id="add-session-agent-label" hidden>
74
+ Agent
75
+ <select class="dialog-input" id="add-session-agent"></select>
76
+ </label>
77
+ <button type="button" class="dialog-advanced-toggle" id="add-session-advanced-toggle" aria-controls="add-session-advanced">Run in a folder outside your repository roots</button>
78
+ <div class="dialog-advanced-panel" id="add-session-advanced" hidden>
79
+ <label class="dialog-label">
80
+ Name
81
+ <input type="text" class="dialog-input" id="add-session-name" placeholder="my-project" autocomplete="off" spellcheck="false">
82
+ </label>
83
+ <label class="dialog-label" id="add-session-path-label">
84
+ Path
85
+ <input type="text" class="dialog-input" id="add-session-path" placeholder="C:\\Users\\...\\my-project" autocomplete="off" spellcheck="false">
86
+ </label>
87
+ </div>
88
+ <label class="dialog-label dialog-checkbox-label" id="add-session-skip-perms-label">
89
+ <input type="checkbox" class="dialog-checkbox" id="add-session-skip-perms">
90
+ <span>Skip permission prompts</span>
91
+ <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>
92
+ </label>
93
+ <label class="dialog-label dialog-checkbox-label" id="add-session-unguarded-label">
94
+ <input type="checkbox" class="dialog-checkbox" id="add-session-unguarded">
95
+ <span>Run without guardrails</span>
96
+ <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>
97
+ </label>
98
+ <div class="dialog-error" id="add-session-error"></div>
99
+ <div class="dialog-actions">
100
+ <button type="button" class="btn-dialog btn-dialog-cancel" id="add-session-cancel">Cancel</button>
101
+ <button type="button" class="btn-dialog btn-dialog-confirm" id="add-session-confirm">Add</button>
102
+ </div>
103
+ `,uh=`claude-code`,qne=Object.freeze({"claude-code":``,codex:`Codex`,grok:`Grok`});function Jne(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t===`claude-code`?``:qne[t]||t}function dh(e,{defaultId:t=uh}={}){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 Yne=`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 fh(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||dh(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:Yne}}var Xne={agent:`upcoming`,repoRoots:`upcoming`,firstSession:`upcoming`};function ph(e,t){return e<t?`done`:e===t?`current`:`upcoming`}function Zne({agentListing:e,repoRoots:t}){let n=fh(e).canSpawn?t.length===0?2:3:1;return{agent:ph(1,n),repoRoots:ph(2,n),firstSession:ph(3,n)}}function Qne(e){return dh(typeof e==`object`&&e?e.agents:[]).options.map(e=>e.label).join(`, `)}function $ne(e){return e===1?`1 git repo`:`${e} git repos`}function ere(e,t){let n=t.trim();return!n||e.includes(n)?null:[...e,n]}var mh=0,hh=`Could not read the current repository roots.`;function tre(e){return Array.isArray(e)&&e.every(e=>typeof e==`string`)}async function nre(e){let t=await oh(`get-settings`,{});if(t.type!==`settings`)return hh;let n=t.settings.repoRoots;if(!tre(n))return hh;let r=ere(n,e);if(!r)return null;let i=await oh(`update-settings`,{settings:{repoRoots:r}});return i.type===`settings-error`?i.message:null}function gh({onAdded:e}){mh+=1;let t=`repo-roots-adder-path-${mh}`,n=p(`div`,`repo-roots-adder`),r=p(`div`,`repo-roots-adder-found`),i=p(`span`,`repo-roots-adder-label`,`FOUND ON THIS MACHINE`),a=p(`ul`,`repo-roots-adder-list`);r.append(i,a),r.hidden=!0;let o=p(`label`,`repo-roots-adder-label`,`TYPE A PATH`);o.htmlFor=t;let s=p(`div`,`repo-roots-adder-row`),c=p(`input`,`dialog-input repo-roots-adder-input`);c.id=t,c.type=`text`,c.placeholder=`~/src`,c.autocomplete=`off`,c.spellcheck=!1;let l=p(`button`,`btn-dialog btn-dialog-cancel`,`Add`);l.type=`button`,l.disabled=!0,s.append(c,l);let u=p(`p`,`repo-roots-adder-error`);u.setAttribute(`role`,`alert`),n.append(r,o,s,u);let d=!1;function f(e){d=e;for(let t of n.querySelectorAll(`button`))t.disabled=e;e||(l.disabled=c.value.trim()===``)}async function m(t){if(!d){f(!0),u.textContent=``;try{let n=await nre(t);if(n){u.textContent=n;return}c.value=``,e()}catch(e){u.textContent=`Could not save the folder: ${e instanceof Error?e.message:String(e)}`}finally{f(!1)}}}c.addEventListener(`input`,()=>{l.disabled=d||c.value.trim()===``}),c.addEventListener(`keydown`,e=>{e.key===`Enter`&&c.value.trim()!==``&&(e.preventDefault(),m(c.value.trim()))}),l.addEventListener(`click`,()=>{m(c.value.trim())});function h(e){a.textContent=``;for(let t of e){let e=p(`li`,`repo-roots-adder-suggestion`),n=p(`button`,`btn-dialog btn-dialog-cancel`,`Add`);n.type=`button`,n.setAttribute(`aria-label`,`Add ${t.label}`),n.addEventListener(`click`,()=>{m(t.path)}),e.append(p(`span`,`repo-roots-adder-path`,t.label),p(`span`,`repo-roots-adder-count`,$ne(t.gitRepoCount)),n),a.append(e)}r.hidden=e.length===0,o.textContent=e.length>0?`OR TYPE A PATH`:`TYPE A PATH`}return{element:n,setSuggestions:h}}function rre(e){return[...document.querySelectorAll(`.dialog-overlay`)].at(-1)===e}function _h({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?rre(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 vh(e,t){e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.setAttribute(`aria-labelledby`,t),ire(e)}function yh({title:e,dialogClass:t=`dialog`,cancelLabel:n=`Cancel`}){let{overlay:r,dialog:i,close:a}=_h({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),vh(i,o),{overlay:r,dialog:i,close:a,titleEl:s,actions:c,btnCancel:l}}function bh({title:e,message:t,confirmLabel:n=`Confirm`,danger:r=!1,onConfirm:i}){let{dialog:a,close:o,actions:s,btnCancel:c}=yh({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 ire(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 xh(e){return e instanceof Error?e.message:String(e)}function Sh(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 are(e){return e.split(/[\\/]/).filter(Boolean).at(-1)??e}async function ore(e){let[t,n]=await Promise.all([oh(`get-workspace-repos`,{id:e}),oh(`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:are(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 sre(e){let{overlay:t,dialog:n,close:r,actions:i,btnCancel:a}=yh({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()),ore(e).then(e=>{if(t.isConnected){s.textContent=``;for(let t of e)s.append(Sh(t.name,t.path,t.isMember));u.disabled=!1}}).catch(e=>{t.isConnected&&(s.textContent=``,l.textContent=`Could not load repositories: ${xh(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`,oh(`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: ${xh(e)}`)}).finally(()=>{c.textContent=``,u.disabled=!1}))})}function cre(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 lre(e,t){let n=0;for(let r of t)cre(r,e)&&n++;return n}function ure(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 Ch(){let e=[];for(let[,t]of E)e.push(t.card.dataset.session??``);return e}function dre(e){return lre(e,Ch())}function wh(e){return ure(e??``,Ch())}var Th=60,Eh=3600,Dh=24,Oh=1024,kh=Oh*1024,Ah=kh*1024,fre={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`}`}},pre={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function jh(e){return String(e).padStart(2,`0`)}function Mh(e,t){return Math.max(0,Math[t](e/1e3))}function mre(e,t){let n=fre[t];if(e<Th)return n.second(e);let r=Math.floor(e/Th);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<Dh?n.hour(i):n.day(Math.floor(i/Dh))}function Nh(e,t){let n=Mh(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${mre(n,t.wording)}${t.suffix}`}function Ph(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<Th)return`${e}s`;if(t===`s`&&e<Eh)return r(`${Math.floor(e/Th)}m`,e%Th,`s`);let i=Math.floor(e/Th);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function Fh(e,{rounding:t,showsHours:n}){let r=Mh(e,t),i=jh(r%Th),a=Math.floor(r/Th),o=Math.floor(r/Eh);return!n||o===0?`${a}:${i}`:`${o}:${jh(a%60)}:${i}`}function Ih(e,t){return e<Oh?`${e} B`:t===`KB`||e<kh?`${(e/Oh).toFixed(1)} KB`:e<Ah?`${(e/kh).toFixed(1)} MB`:`${(e/Ah).toFixed(2)} GB`}function Lh(e){let t=new Date(e);return`${t.getFullYear()}-${jh(t.getMonth()+1)}-${jh(t.getDate())}`}function Rh(e){return`${jh(e.getHours())}:${jh(e.getMinutes())}`}function zh(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}var hre=320,gre=8e3,Bh=null;function _re(e){Bh=e}function vre(e){if(!e||e.currentState!==a.RUNNING)return;let t=performance.now();e._lastOutputAt=t,!(t-(e._activityGate||0)<hre)&&(e._activityGate=t,e._activity===`quiet`&&(e._activity=`active`,Bh?.(e,`flag`)),Bh?.(e,`beat`))}function yre(e){if(!e||e.currentState!==a.RUNNING)return;let t=performance.now()-(e._lastOutputAt||0)>=gre?`quiet`:`active`;e._activity!==t&&(e._activity=t,Bh?.(e,`flag`))}function Vh(e,t){e&&(t&&(e._lastOutputAt=performance.now(),e._activityGate=0,e._activity=`active`),t||(e._activity=void 0),Bh?.(e,`flag`))}var bre=new Set([a.RUNNING,a.WAITING,a.STARTING,a.INITIALIZING]),xre=e=>bre.has(e);function Hh(e){return xre(e.currentState)?Fh(Date.now()-(e.stateSince||Date.now()),{rounding:`floor`,showsHours:!0}):``}function Uh(e){e.elapsedEl&&(e.elapsedEl.textContent=Hh(e))}var Wh=new Set;function Gh(e){return Wh.add(e),()=>Wh.delete(e)}function Kh(){for(let[,e]of E)Uh(e),yre(e);for(let e of Wh)try{e()}catch{}}setInterval(()=>{document.hidden||Kh()},1e3),document.addEventListener(`visibilitychange`,()=>{document.hidden||Kh()});function qh(e){return Nh(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function Jh(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${qh(Date.now()-e)} ago`}var Sre=e=>`polled ${Jh(e)}`;function Yh(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=Sre){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Gh(a)}}}function Xh(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function Cre(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function Zh({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=Cre(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function wre(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 Tre=`machine-updates`,Ere=`update-actions`,Dre={spiking:0,regressed:1,worsened:2,new:3,quiet:4},Ore={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},kre=99,Are={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function Qh(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=jc(t?.tool,``);return n?[{at:V(t?.at,0),tool:n,detail:jc(t?.detail,``)}]:[]}):[]}function jre(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function Mre(e){let t=Qh(e?.trail).at(-1);return t?jre(t):``}function $h(e){let t=jc(e?.summaryLine,``);return e?.inFlight===!0&&Mre(e)||t}function eg(e){return{inFlight:e?.inFlight===!0,startedAt:V(e?.startedAt,null),steps:Qh(e?.trail),verdict:jc(e?.verdict,``),summaryLine:jc(e?.summaryLine,``)}}function tg(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 Nre(e,t){let n=tg(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=V(t?.startedAt,null),n.trail=Qh(t?.trail),!0):!1}function ng(e){return{inFlight:!1,startedAt:V(e?.startedAt,null),steps:Qh(e?.trail),verdict:jc(e?.verdict,``),summaryLine:jc(e?.summaryLine,``)}}function Pre(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function Fre(e,t){let n=tg(e,t?.projectId,t?.issueId);if(!n)return!1;let r=ng(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function rg(e){return Are[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function ig(e){return Fh(e,{rounding:`round`,showsHours:!1})}function ag(e,t){return e==null?``:`+${ig(t-e)}`}function Ire(e){let t=e.steps.at(-1);return[e.steps.length,t?.at??0,t?.tool??``].join(`::`)}function Lre(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: ${rg(e.verdict)}`:`finished`}function Rre(e){return wre(e,{label:`PostHog monitoring`,tab:`PostHog`})}function zre(e){return V(e.intervalMinutes,null)!==null}function Bre(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:zre(e)?`placeholder`:`pending`}function Vre(e){return Ore[e??``]||`dim`}function Hre(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function Ure(e){let t=jc(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function Wre(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function Gre(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function Kre(e,t=64,n=16){let r=Wre(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 qre(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 Jre(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function og(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 Yre=3e5;function Xre(e){let t=Number(e);return!Number.isFinite(t)||t<=0?Yre:t*2}function Zre(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function sg(e){let t=Zre(jc(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function cg(e){let t=jc(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function Qre(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=cg(e?.host);n&&t.add(n)}return t.size>1}function $re(e,t,n={}){let r=og(e?.issues),i=jc(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>Xre(n.intervalMs)?s:0;return{loud:r.active>0||r.spiking>0||!!i||c>0,counts:r,error:i,staleMs:c}}function eie(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=$re(e,t,n),o={project:e,...a};a.loud?r.push(o):i.push(o)}return{loud:r,quiet:i}}function tie(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:jc(e.issueId,``),projectId:e.projectId??null,projectLabel:jc(e.projectName,``),title:jc(e.title,`Untitled issue`),summaryLine:jc(e.summaryLine,``),url:jc(e.url,``),verdict:jc(e.verdict,`ERROR`).toUpperCase(),mode:jc(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(jc(e.prUrl,``))?jc(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function nie(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 lg(e,t){let n=jc(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=Ds(t,{validate:!0});return r?`commit ${r}`:``}function rie(e){return`Update available: ${lg(e?.current,e?.currentSha)} to ${lg(e?.latest,e?.latestSha)}`}function iie({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=jc(e?.projectId,jc(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=jc(i?.issueId,jc(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 aie(e={}){return Xh(iie(e))}function ug(e){return Dre[e??``]??kre}function oie(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=ug(e.issue?.change)-ug(t.issue?.change);if(n!==0)return n;let r=V(t.issue?.users,0)-V(e.issue?.users,0);if(r!==0)return r;let i=V(t.issue?.occurrences,0)-V(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}function dg(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 sie(e){return typeof e!=`object`||!e?!1:`skipPermissionsByDefault`in e&&e.skipPermissionsByDefault===!0}function fg(){let{dialog:e,close:t}=_h();e.innerHTML=Kne,vh(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=y(e,`#add-session-repo-roots`),u=y(e,`#add-session-repo-roots-title`),d=v(e,`#add-session-advanced-toggle`,`button`),f=y(e,`#add-session-advanced`),m=v(e,`#add-session-name`,`input`),h=v(e,`#add-session-path`,`input`),g=y(e,`#add-session-path-label`),_=v(e,`#add-session-skip-perms`,`input`),b=v(e,`#add-session-unguarded`,`input`),x=y(e,`#add-session-error`),S=v(e,`#add-session-cancel`,`button`),ee=v(e,`#add-session-confirm`,`button`),te=!1;function ne(e){te=e,a.setAttribute(`aria-pressed`,String(!e)),o.setAttribute(`aria-pressed`,String(e)),r.hidden=e,i.hidden=!e,d.hidden=e,d.setAttribute(`aria-expanded`,String(e)),f.hidden=!e,g.hidden=e,e&&requestAnimationFrame(()=>m.focus())}a.addEventListener(`click`,()=>ne(!1)),o.addEventListener(`click`,()=>ne(!0)),d.setAttribute(`aria-expanded`,`false`),d.addEventListener(`click`,()=>{let e=f.hidden;f.hidden=!e,d.setAttribute(`aria-expanded`,String(e)),e&&requestAnimationFrame(()=>m.focus())});let re=gh({onAdded:w});l.append(re.element);function C(e){let t=e.type===`repo-roots-scanned`;u.textContent=t&&e.directories.length>0?`No projects in your repository roots yet`:`No repository roots yet`,re.setSuggestions(t?e.suggestions??[]:[]),l.hidden=!1}function w(){return oh(`scan-repo-roots`,{includeSuggestions:!0}).then(e=>{n.textContent=``,i.textContent=``,l.hidden=!0,n.appendChild(dg(`-- 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=dre(n.name),a=e>0?`${n.name} (${e} open)`:n.name;r.appendChild(dg(a,{value:JSON.stringify({name:n.name,path:n.path})})),i.appendChild(Sh(n.name,n.path)),t=!0}n.appendChild(r)}t||(n.textContent=``,n.appendChild(dg(`No projects yet`,{disabled:!0,selected:!0})),i.textContent=`No projects yet.`,C(e))}).catch(()=>{n.textContent=``,n.appendChild(dg(`Scan failed`,{disabled:!0,selected:!0})),i.textContent=`Repository scan failed.`})}w(),n.addEventListener(`change`,()=>{try{let e=JSON.parse(n.value);m.value=wh(e.name),h.value=e.path}catch{}});let T=uh,ie=!1;function ae(e){ie=!0,ee.disabled=!0;let t=p(`p`,`dialog-hint dialog-hint-warning`,e);t.id=`add-session-agent-guidance`,t.setAttribute(`role`,`status`),x.before(t)}oh(`list-agents`,{}).then(e=>{let t=fh(e);t.canSpawn||ae(t.guidance);let n=dh(e.type===`agents-listed`?e.agents:[]);if(T=n.selectedId,n.show){c.textContent=``;for(let e of n.options)c.appendChild(dg(e.label,{value:e.id,selected:e.id===n.selectedId}));s.hidden=!1}}).catch(()=>{}),c.addEventListener(`change`,()=>{T=c.value});let E=!1;_.addEventListener(`change`,()=>{E=!0}),oh(`get-settings`,{}).then(e=>{E||(_.checked=sie(e.settings))}).catch(()=>{}),m.addEventListener(`input`,()=>{n.selectedIndex=0}),h.addEventListener(`input`,()=>{n.selectedIndex=0});function D(){if(ie)return;let e=m.value.trim(),n=h.value.trim();if(te){let n=[...i.querySelectorAll(`input:checked`)].map(e=>e.value);if(!e||n.length<2){x.textContent=`Enter a name and select at least two repositories.`;return}let r={type:`add-session`,name:wh(e),path:n[0],repos:n,dangerouslySkipPermissions:_.checked,unguarded:b.checked};T&&T!==`claude-code`&&(r.agent=T),G(r),t();return}if(!e||!n){x.textContent=`Both fields are required. Select a project or use Advanced options.`;return}let r={type:`add-session`,name:wh(e),path:n,dangerouslySkipPermissions:_.checked,unguarded:b.checked};T&&T!==`claude-code`&&(r.agent=T),G(r),t()}S.addEventListener(`click`,t),ee.addEventListener(`click`,D),m.addEventListener(`keydown`,e=>{e.key===`Enter`&&(te&&D(),te||h.focus())}),h.addEventListener(`keydown`,e=>{e.key===`Enter`&&D()}),requestAnimationFrame(()=>n.focus())}function pg({issueId:e,issueTitle:t,format:n,content:r,message:i,error:a}){let{dialog:o,close:s,actions:c,btnCancel:l}=yh({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 cie({issueTitle:e,projectLabel:t,onOpenReport:n}){let{dialog:r,close:i,actions:a,btnCancel:o}=yh({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=Ire(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`,ag(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=Lre(e,Jh(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=Gh(()=>{r.isConnected?m?.inFlight&&_(m):y()});return{update(e){m=e,v()},isOpen:()=>r.isConnected,close:()=>{y(),i()}}}function mg(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function hg(e){return/^#settings(?:[/?]|$)/.test(e)}function gg(e){let t=e.trim();return t?`#settings?q=${encodeURIComponent(t)}`:`#settings`}function _g(e,t,n){let r=p(`a`,`settings-link`,n);return r.href=mg(e,t),r}var lie=`npm install -g @anthropic-ai/claude-code`,uie={done:`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="Done"><circle cx="12" cy="12" r="10"></circle><path d="M7.5 12.5l3 3 6-6.5"></path></svg>`,current:`<svg width="18" height="18" viewBox="0 0 24 24" role="img" aria-label="Needed"><path d="M12 3l9 9-9 9-9-9z" fill="currentColor"></path></svg>`,upcoming:`<svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" role="img" aria-label="Not started"><circle cx="12" cy="12" r="10"></circle></svg>`},vg=null,yg=null,bg=null,xg=null,Sg={steps:Xne,agentSummary:``,repoRoots:[]},Cg=0;function wg({title:e,state:t,summary:n,badge:r,body:i}){let a=p(`li`,`first-run-step`);a.dataset.state=t,t===`current`&&a.setAttribute(`aria-current`,`step`);let o=p(`div`,`first-run-step-head`),s=p(`span`,`first-run-step-icon`);if(s.innerHTML=uie[t],o.append(s,p(`span`,`first-run-step-title`,e)),t===`done`&&n&&o.append(p(`span`,`first-run-step-summary`,n)),t===`current`&&r&&o.append(p(`span`,`first-run-step-badge`,r)),a.append(o),t!==`current`)return a;let c=p(`div`,`first-run-step-body`);return c.append(...i()),a.append(c),a}function die(){let e=p(`div`,`first-run-step-actions`);return bg=p(`button`,`btn-dialog btn-dialog-cancel`,`Rescan`),bg.type=`button`,bg.addEventListener(`click`,()=>{Eg({rescanAgents:!0})}),e.append(bg,p(`span`,`first-run-step-hint`,`Any other terminal agent can be added under customAgents.`)),[p(`p`,`first-run-step-text`,`No supported agent is on PATH. Install Claude Code, Codex or Grok, then rescan.`),p(`code`,`first-run-command`,lie),e]}function fie(){let e=xg??gh({onAdded:()=>{Eg({rescanAgents:!1})}});return xg=e,[p(`p`,`first-run-step-text`,`The folder that holds your git checkouts. Each subfolder becomes a project you can start a session in.`),e.element]}function pie(){let e=p(`div`,`first-run-step-actions`),t=p(`button`,`btn-dialog btn-dialog-confirm`,`+ Session`);t.type=`button`,t.addEventListener(`click`,fg);let n=p(`span`,`first-run-step-hint`,`Folders and agents can change later in `);return n.append(_g(`machine-sessions`,`repository-roots`,`Settings > Sessions`),`.`),e.append(t,n),[p(`p`,`first-run-step-text`,`Pick a project and an agent. The session runs in its own git worktree, so your checkout is never touched.`),e]}function Tg(){if(!yg)return;let{steps:e,agentSummary:t,repoRoots:n}=Sg;yg.replaceChildren(wg({title:`1. Agent CLI`,state:e.agent,summary:t,badge:`MISSING`,body:die}),wg({title:`2. Repository roots`,state:e.repoRoots,summary:n.join(`, `),badge:`NEEDED`,body:fie}),wg({title:`3. First session`,state:e.firstSession,summary:``,badge:``,body:pie}))}async function Eg({rescanAgents:e}){Cg+=1;let t=Cg;bg&&(bg.disabled=!0);try{let[n,r]=await Promise.all([oh(`list-agents`,e?{rescan:!0}:{}),oh(`scan-repo-roots`,{includeSuggestions:!0})]);if(t!==Cg)return;let i=r.type===`repo-roots-scanned`,a=i?r.directories.map(e=>e.root):[];Sg={steps:Zne({agentListing:n,repoRoots:a}),agentSummary:Qne(n),repoRoots:a},Tg(),xg?.setSuggestions(i?r.suggestions??[]:[])}catch{bg&&(bg.disabled=!1)}}function mie(){if(vg)return vg;let e=p(`section`,`first-run-checklist`);e.setAttribute(`aria-labelledby`,`first-run-title`);let t=p(`h2`,`first-run-title`,`Get to your first session`);t.id=`first-run-title`,yg=p(`ol`,`first-run-steps`);let n=p(`p`,`first-run-footer`,`This list goes away once a session exists. Something off? Run `);return n.append(p(`code`,null,`glimmervoid doctor`),` in a terminal.`),e.append(p(`span`,`first-run-eyebrow`,`FIRST RUN`),t,p(`p`,`first-run-intro`,`Glimmervoid runs the agent CLIs you already have, inside the repositories you point it at. Two checks, then start.`),yg,n),vg=e,Tg(),e}function Dg(e,t){if(!t){vg?.parentElement===e&&(vg.hidden=!0);return}let n=mie(),r=!n.hidden&&n.parentElement===e;n.parentElement!==e&&e.append(n),n.hidden=!1,r||Eg({rescanAgents:!1})}function Og(){vg&&!vg.hidden&&vg.isConnected&&Eg({rescanAgents:!1})}var hie=new Set([`http:`,`https:`]);function kg(e){let t;try{t=new URL(e)}catch{return null}return hie.has(t.protocol)?t.href:null}var gie=2,Ag=8,jg=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,_ie=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,Mg=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,vie=/^:?-{3,}:?$/,yie=/^[A-Za-z0-9_+#.-]{1,32}$/;function Ng(e){return Mu(e,{overlongLine:`reject`})}function bie(e){let t=e.trim().split(/\s+/)[0]??``;return yie.test(t)?t:``}function Pg(e,t){if(!t)return;let n=e.at(-1);n?.type===`text`?n.text+=t:e.push({type:`text`,text:t})}function xie(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function Sie(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function Fg(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function Cie(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function wie(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>gie)return-1}return-1}function Tie(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=wie(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function Ig(e){let t=[],n=Cie(e,`]`),r=0;for(;r<e.length;){let i=Tie(e,r,n);if(i){let e=kg(i.target.trim());e&&t.push({type:`link`,href:e,children:Ig(i.label)}),e||Pg(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=Fg(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=xie(e,r);if(a){let n=Fg(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:Ig(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=Sie(e,r);if(o){let n=Fg(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:Ig(e.slice(r+1,n))}),r=n+1;continue}}Pg(t,e[r]),r++}return t}function Lg(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:Lg(e.children)).join(``)}var Eie=`plan-h-`;function Die(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),`${Eie}${r===1?n:`${n}-${r}`}`}function Rg(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=zg(e);return t.length<2?!1:t.every(e=>vie.test(e))}function zg(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 Bg(e){let t=_ie.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function Vg(e,t,n,r){let i=Bg(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=Bg(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=Ag)break;let t=Vg(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:Ig(t.content)}]}),c++}}return{block:{type:`list`,ordered:o,items:a},next:c}}function Oie(e,t){let n=e[t]??``;return n.trim()===``||Ng(n)||jg.test(n)||Mg.test(n)||Bg(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&Rg(e[t+1])}function Hg(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=jg.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:bie(o[2]),text:t.join(`
104
+ `)});continue}let s=Ng(a);if(s){let e=Ig(s.text);r.push({type:`heading`,level:s.level,id:Die(Lg(e),t),children:e}),i++;continue}if(Mg.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&Rg(e[i+1])){let t=zg(a).map(Ig),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(zg(e[i]).map(Ig)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=Vg(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<Ag&&/^ {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:Hg(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!Oie(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:Ig(l.join(` `))})}return r}function Ug(e){return Hg(e.replace(/\r\n?/g,`
105
+ `).split(`
106
+ `),{slugCounts:new Map},0)}function kie(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:Lg(t.children),id:t.id,level:t.level,blocks:[t]}):n.blocks.push(t);return r(),t}function Wg(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`);Wg(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=p(`strong`);Wg(t,n.children),e.append(t);continue}let t=p(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,Wg(t,n.children),e.append(t)}}function Aie(e){let t=p(`li`);return Gg(t,e.children),t}function Gg(e,t){for(let n of t)if(n.type===`heading`){let t=p(`h${n.level}`,`plan-heading`);t.id=n.id,Wg(t,n.children),e.append(t)}else if(n.type===`paragraph`){let t=p(`p`,`plan-paragraph`);Wg(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(Aie)),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`);Wg(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`);Wg(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`);Gg(t,n.blocks),e.append(t)}else e.append(p(`hr`,`plan-rule`))}function Kg(e){let t=p(`div`,`plan-document`);return Gg(t,e),t}function jie(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&&Gg(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`);Gg(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 Mie={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function Nie(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`,Mie[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,p(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var qg=6e3,Pie=`Something went wrong. Details are hidden in streamer mode.`,Fie=400,Iie=`×`,Jg=new WeakMap;function Lie(){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 Yg(e){let t=Jg.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(),Fie))}function Xg(e,t={}){let n=document.documentElement.hasAttribute(`data-streamer`)?Pie:String(e),r=t.persist===!0,i=Lie(),a=i.firstElementChild,o=a?Jg.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(()=>Yg(a),qg)),a}let s=p(`div`,r?`notice is-persistent`:`notice`),c={message:n,count:1,timer:null,dismissed:!1};Jg.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`,Iie);return f.type=`button`,f.setAttribute(`aria-label`,`Dismiss notification`),f.addEventListener(`click`,()=>Yg(s)),s.append(l,u,d,f),i.prepend(s),requestAnimationFrame(()=>s.classList.add(`is-visible`)),r||(c.timer=setTimeout(()=>Yg(s),qg)),s}var Zg=`glimmervoid-streamer-mode`,Qg=new Set,$g=ap(Zg,!1)===!0,e_=null;function t_(e){document.documentElement.toggleAttribute(`data-streamer`,e),e_?.setAttribute(`aria-pressed`,String(e))}t_($g);function n_(){return $g}function r_(e){if(op(Zg,e),e!==n_()){$g=e,t_(e);for(let t of Qg)t(e)}}function i_(e){return Qg.add(e),()=>Qg.delete(e)}async function a_(e){try{let t=await oh(`update-settings`,{settings:{streamerMode:e}});return t.type===`settings-error`?String(t.message):(r_(e),``)}catch(e){return e?.message||`Failed to save streamer mode.`}}async function Rie(){let e=!n_();e&&r_(!0);let t=await a_(e);t&&Xg(t)}function o_(){Rie()}function zie(e){e_=e,t_(n_()),e.addEventListener(`click`,o_)}var s_=new Map,c_=null;function l_(e){return s_.get(e)??[]}function u_(e){return l_(e).length>0}function d_(e){k(e)?.btnDocs.classList.toggle(`visible`,u_(e))}function f_(e){let t=l_(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 p_(e){let t=l_(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 m_(e,t,n=`quiet`){e.status.textContent=t,e.status.dataset.tone=n}function h_(e){e.preview.replaceChildren(Kg(Ug(e.textarea.value)))}function Bie(e,t){bh({title:e,message:`Your unsaved edits will be lost.`,confirmLabel:`Discard`,danger:!0,onConfirm:t})}function g_(e,t,n){e.hasUnsavedChanges?Bie(t,n):n()}async function __(e,t){e.docPath=t,e.isBusy=!0,e.baseHash=null,e.textarea.readOnly=!0,f_(e),m_(e,`Loading`),p_(e);let n=await oh(`session-doc-read`,{id:e.sessionId,path:t}).catch(()=>null);if(c_!==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?(m_(e,r?.error||`Could not open this doc`,`warn`),p_(e)):(e.textarea.value=r.text,e.baseHash=r.hash,e.hasUnsavedChanges=!1,e.mode===`preview`&&h_(e),m_(e,``),p_(e))}async function v_(e){if(e.btnSave.disabled||e.baseHash===null)return;e.isBusy=!0,m_(e,`Saving`),p_(e);let t=e.docPath,n=e.textarea.value,r=await oh(`session-doc-save`,{id:e.sessionId,path:t,text:n,baseHash:e.baseHash}).catch(()=>null);if(c_!==e||e.docPath!==t)return;e.isBusy=!1;let i=r?.type===`session-doc-save-result`?r:null;!i?.ok||i.hash===void 0?(m_(e,i?.conflict?`The agent changed this file since you opened it. Reload to see its version.`:i?.error||`Save failed`,`warn`),p_(e)):(e.baseHash=i.hash,e.hasUnsavedChanges=e.textarea.value!==n,m_(e,e.hasUnsavedChanges?`Unsaved changes`:`Saved`),p_(e))}function y_(e,t){e.mode=t,t===`preview`&&h_(e),p_(e),t===`edit`&&e.textarea.focus()}function b_(e,t){let n=p(`button`,`plan-control ${t}`,e);return n.type=`button`,n}function Vie(e){let t=l_(e)[0];if(!t||c_)return;let n=()=>g_(b,`Close this doc?`,()=>b.close()),r=_h({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=b_(`Edit`,`doc-editor-mode`),l=b_(`Preview`,`doc-editor-mode`),u=b_(`Reload`,`doc-editor-reload`),d=b_(`Save`,`doc-editor-save`),f=b_(`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),vh(r.dialog,i);let b={sessionId:e,docPath:t.path,baseHash:null,hasUnsavedChanges:!1,isBusy:!1,mode:n_()?`preview`:`edit`,title:a,select:o,textarea:_,preview:v,status:s,btnEdit:c,btnPreview:l,btnReload:u,btnSave:d,close:()=>{c_=null,r.close()}};c_=b,_.addEventListener(`input`,()=>{b.hasUnsavedChanges||(b.hasUnsavedChanges=!0,m_(b,`Unsaved changes`),p_(b))}),_.addEventListener(`keydown`,e=>{(e.ctrlKey||e.metaKey)&&e.key.toLowerCase()===`s`&&(e.preventDefault(),v_(b))}),o.addEventListener(`change`,()=>{let e=o.value;o.value=b.docPath,g_(b,`Open another doc?`,()=>{__(b,e)})}),c.addEventListener(`click`,()=>y_(b,`edit`)),l.addEventListener(`click`,()=>y_(b,`preview`)),u.addEventListener(`click`,()=>{g_(b,`Reload this doc?`,()=>{__(b,b.docPath)})}),d.addEventListener(`click`,()=>{v_(b)}),f.addEventListener(`click`,n),__(b,t.path),b.mode===`edit`&&_.focus()}function x_(e){c_&&c_.sessionId===e&&(f_(c_),p_(c_),!l_(e).some(e=>e.path===c_?.docPath)&&m_(c_,`This doc is no longer surfaced, so it cannot be saved.`,`warn`))}function Hie(e){s_.set(e.id,e.docs),e.docs.length===0&&s_.delete(e.id),d_(e.id),x_(e.id)}function Uie(e){let t=[...s_.keys()];s_.clear();for(let[t,n]of Object.entries(e.sessions))s_.set(t,n);for(let e of new Set([...t,...s_.keys()]))d_(e),x_(e)}var Wie=/\bElectron\/\d/,Gie=new Set([`localhost`,`127.0.0.1`]);function Kie(e){return Wie.test(e)}function qie({userAgent:e,pageHostname:t}){return Kie(e)&&Gie.has(t)}function S_(e){return kg(e)!==null}var Jie=new Set([0,1]);function Yie({button:e,opensInNewTab:t}){return t&&Jie.has(e)}function C_(){return qie({userAgent:navigator.userAgent,pageHostname:location.hostname})}function w_(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function Xie(e){try{let t=await Um();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 T_(e){!C_()||!S_(e)?w_(e):Xie(e).then(t=>{t||w_(e)})}function E_(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&Yie({button:e.button,opensInNewTab:t.target===`_blank`})&&S_(t.href)&&(e.preventDefault(),T_(t.href))}function Zie(e){C_()&&(e.addEventListener(`click`,E_,!0),e.addEventListener(`auxclick`,E_,!0))}var D_=Object.freeze({now:0,next:1,later:2,ready:3,working:4,resting:5}),Qie=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 O_(e,t){let n=typeof e.state==`string`?Qie.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 k_(e,t){return D_[O_(e,t)]}function $ie(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 A_(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 eae(e,t){return e.length?e[((t==null?-1:e.indexOf(t))+1)%e.length]:null}function j_(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 M_({state:e,unseen:t}={}){return k_({state:e,unseen:t},`needs-you`)<D_.ready}function N_(e){let t=0;for(let n of e||[])M_(n||{})&&t++;return t}function P_(e){return e<=0?`ALL CLEAR`:e===1?`1 NEEDS YOU`:`${e} NEED YOU`}var tae=new Map([[`hand`,2]]),nae=1;function rae(e){return e?typeof e==`string`&&tae.get(e)||nae:0}function iae(e){let t=!1,n=0;for(let r of e||[]){let e=rae(r);e<=n||(t=typeof r!=`string`||r,n=e)}return t}var F_=Object.freeze({idle:`#c084fc`,complete:`#4ade80`,waiting:`#fbbf24`});function aae(e){let t=Array.isArray(e)?e:[],n=!1;for(let e of t){let t=O_(e||{},`favicon`);if(t===`now`)return`waiting`;t===`later`&&(n=!0)}return n?`complete`:`idle`}function oae(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="${F_[e]||F_.idle}"/>${e===`complete`?`<circle cx="25" cy="7" r="3" fill="#4ade80"/>`:``}</svg>`}function sae(){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 cae=sae(),I_=`idle`;function L_(e){let t=aae([...e.values()].map(({currentState:e})=>({state:e})));t!==I_&&(I_=t,cae.href=`data:image/svg+xml,${encodeURIComponent(oae(t))}`)}function lae(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function uae(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function R_({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=lae(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=uae(e.key,a);if(n===null)return;e.preventDefault();let r=c(t.getBoundingClientRect().width+n);r!==null&&s(r)})}var z_=new Set(Jp());function B_(){Yp([...z_])}function V_(e){if(!e)return;let t=String(e);z_.has(t)||(z_.add(t),B_())}function H_(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),V_(i)}return[...z_].filter(e=>!n.has(e))}function U_(e){return!e||!z_.delete(String(e))?!1:(B_(),!0)}function dae(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 fae({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 pae(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||a.DORMANT)===a.DORMANT?null:e}function W_(){return fe.snapshot().selectedSessionId}function G_(e){fe.dispatch(`selectSession`,e)}function mae(e){return fe.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function K_(e,t=`explicit-state`){let n=E.get(e);if(!n)return null;let r=dae(n.currentState,t);return r&&G({type:r,id:e}),n}function q_(e,{rememberFocus:t=!0}={}){G_(e),t&&dm(e)}function J_(){return pae(um(),E)}function Y_(e=D){return $ie(E,e)}function X_(e,t){e&&G({type:`add-session`,name:wh(t),path:e})}function Z_(e,t){let n=E.get(e);if(!n)return;let r=t||n.card?.dataset.merge||`none`;r!==`pending-review`&&r!==`parked`?G({type:`remove-session`,id:e}):bh({title:`Remove Session`,message:`"${D(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:()=>G({type:`remove-session`,id:e})})}var hae=Object.freeze({[a.IDLE]:`compaction_restore_idle`,[a.COMPLETE]:`compaction_restore_complete`,[a.WAITING]:`compaction_restore_waiting`});function gae(e){return Object.values(hae).some(t=>t===e)}var Q_=new Set([`claude-code`,`codex`]),$_=`\x1B`,ev=`${$_}[200~`,_ae=`${$_}[201~`,vae=400,tv=4e3;function nv(e){return typeof e==`string`&&Q_.has(e)}function yae(e,t){if(!nv(e))return null;let n=t.replace(/\r\n?/g,`
107
+ `).trim();return n?[{data:n.includes(`
108
+ `)?`${ev}${n}${_ae}`:n,delayBeforeMs:0},{data:`\r`,delayBeforeMs:vae}]:null}function bae(e){return nv(e)?[{data:$_,delayBeforeMs:0}]:null}function rv(e,t){return e===a.WAITING&&typeof t==`string`&&t!==``}function iv(e,t){return e.uuid??`${e.kind}-${e.ts}-${t}`}function av(e){return typeof e.agentId==`string`}function ov(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 sv(e,t){let n=e.get(t.toolUseId);return n?(n.isRunning=!1,!0):!1}function cv(e){let t=[],n=new Map,r=new Map;return e.forEach((e,i)=>{let a=iv(e,i);if(e.kind===`prompt`&&!av(e))t.push({kind:`user`,key:a,text:e.text,at:e.ts});else if(e.kind===`assistant`&&!av(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=ov(t,a,e.ts);n.thinkingCount+=1,n.endedAt=e.ts}else if(e.kind===`tool_call`){let i=ov(t,a,e.ts),o={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(!sv(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 lv(e){let t=Math.max(1,Math.round(e/1e3)),n=Math.floor(t/60),r=t%60;return n===0?`${r}s`:r===0?`${n}m`:`${n}m ${r}s`}function uv(e){let t=e.steps.length,n=`${t} ${t===1?`step`:`steps`}`;if(dv(e))return t>0?`Working, ${n}`:`Working`;let r=lv(e.endedAt-e.startedAt);return t===0?`Thought for ${r}`:`Worked ${r}, ${n}${e.errorCount>0?`, ${e.errorCount} failed`:``}`}function dv(e){return e.steps.some(e=>e.isRunning)}function fv(e){return e.length<=tv?e:e.slice(e.length-tv)}var xae=2,Sae=1,Cae=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(xae,Math.floor(u/e.css.cell.width)),rows:Math.max(Sae,Math.floor(l/e.css.cell.height))}}},pv=Object.defineProperty,wae=Object.getOwnPropertyDescriptor,Tae=(e,t)=>{for(var n in t)pv(e,n,{get:t[n],enumerable:!0})},mv=(e,t,n,r)=>{for(var i=r>1?void 0:r?wae(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&&pv(t,n,i),i},K=(e,t)=>(n,r)=>t(n,r,e),hv=`Terminal input`,gv={get:()=>hv,set:e=>hv=e},_v=`Too much output to announce, navigate to rows manually to read`,vv={get:()=>_v,set:e=>_v=e};function yv(e){return e.replace(/\r?\n/g,`\r`)}function bv(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function xv(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Sv(e,t,n,r){e.stopPropagation(),e.clipboardData&&Cv(e.clipboardData.getData(`text/plain`),t,n,r)}function Cv(e,t,n,r){e=yv(e),e=bv(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function wv(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 Tv(e,t,n,r,i){wv(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function Ev(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Dv(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 Ov=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}},kv=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}},Av=``,jv=` `,Mv=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Nv}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}},Nv=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}},Pv=class e extends Mv{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Nv,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?Ev(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()]}},Fv=`di$target`,Iv=`di$dependencies`,Lv=new Map;function Rv(e){return e[Iv]||[]}function zv(e){if(Lv.has(e))return Lv.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);Bv(t,e,r)};return t._id=e,Lv.set(e,t),t}function Bv(e,t,n){t[Fv]===t?t[Iv].push({id:e,index:n}):(t[Iv]=[{id:e,index:n}],t[Fv]=t)}var Vv=zv(`BufferService`),Hv=zv(`CoreMouseService`),Uv=zv(`CoreService`),Eae=zv(`CharsetService`),Wv=zv(`InstantiationService`),Gv=zv(`LogService`),Kv=zv(`OptionsService`),qv=zv(`OscLinkService`),Dae=zv(`UnicodeService`),Jv=zv(`DecorationService`),Yv=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 Pv,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):Oae(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)}};Yv=mv([K(0,Vv),K(1,Kv),K(2,qv)],Yv);function Oae(e,t){if(confirm(`Do you want to navigate to ${t}?
109
+
110
+ 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 Xv=zv(`CharSizeService`),Zv=zv(`CoreBrowserService`),Qv=zv(`MouseService`),$v=zv(`RenderService`),kae=zv(`SelectionService`),ey=zv(`CharacterJoinerService`),ty=zv(`ThemeService`),ny=zv(`LinkProviderService`),Aae=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?ay.isErrorNoTelemetry(e)?new ay(e.message+`
111
+
112
+ `+e.stack):Error(e.message+`
113
+
114
+ `+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 ry(e){jae(e)||Aae.onUnexpectedError(e)}var iy=`Canceled`;function jae(e){return e instanceof Mae||e instanceof Error&&e.name===iy&&e.message===iy}var Mae=class extends Error{constructor(){super(iy),this.name=this.message}};function Nae(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var ay=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`}},oy=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function sy(e,t=0){return e[e.length-(1+t)]}var cy;(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})(cy||={});var ly=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||cy.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};ly.empty=new ly(e=>{});function uy(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 dy;(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})(dy||={});var fy=null;function py(e){return fy?.trackDisposable(e),e}function my(e){fy?.markAsDisposed(e)}function hy(e,t){fy?.setParent(e,t)}function gy(e){return fy?.markAsSingleton(e),e}function _y(e){if(dy.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 vy(...e){return yy(()=>_y(e))}function yy(e){let t=py({dispose:uy(()=>{my(t),e()})});return t}var by=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,py(this)}dispose(){this._isDisposed||(my(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{_y(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return hy(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),hy(e,null))}};by.DISABLE_DISPOSED_WARNING=!1;var xy=by,Sy=class{constructor(){this._store=new xy,py(this),hy(this._store,this)}dispose(){my(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};Sy.None=Object.freeze({dispose(){}});var Cy=class{constructor(){this._isDisposed=!1,py(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&hy(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,my(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&hy(e,null),e}},wy=typeof window==`object`?window:globalThis,Ty=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};Ty.Undefined=new Ty(void 0);var Ey=Ty,Dy=class{constructor(){this._first=Ey.Undefined,this._last=Ey.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ey.Undefined}clear(){let e=this._first;for(;e!==Ey.Undefined;){let t=e.next;e.prev=Ey.Undefined,e.next=Ey.Undefined,e=t}this._first=Ey.Undefined,this._last=Ey.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new Ey(e);if(this._first===Ey.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!==Ey.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Ey.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Ey.Undefined&&e.next!==Ey.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Ey.Undefined&&e.next===Ey.Undefined?(this._first=Ey.Undefined,this._last=Ey.Undefined):e.next===Ey.Undefined?(this._last=this._last.prev,this._last.next=Ey.Undefined):e.prev===Ey.Undefined&&(this._first=this._first.next,this._first.prev=Ey.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==Ey.Undefined;)yield e.element,e=e.next}},Oy=globalThis.performance&&typeof globalThis.performance.now==`function`,ky=class e{static create(t){return new e(t)}constructor(e){this._now=Oy&&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}},Ay;(e=>{e.None=()=>Sy.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(vy(...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 q({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 q({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 q({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 q({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 q({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function S(e){let t=new q;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=S;function ee(e,t){return e(e=>t.fire(e))}e.forward=ee;function te(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=te;class ne{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 q(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 ne(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 xy?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=C})(Ay||={});var jy=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 ky,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}}};jy.all=new Set,jy._idPool=0;var My=jy,Ny=-1,Py=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 Ly(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}};Py._idPool=1;var Fy=Py,Iy=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
115
+ `).slice(2).join(`
116
+ `))}},Ly=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},Ry=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},zy=0,By=class{constructor(e){this.value=e,this.id=zy++}},Vy=2,q=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Ny>0||this._options?.leakWarningThreshold?new Fy(e?.onListenerError??ry,this._options?.leakWarningThreshold??Ny):void 0,this._perfMon=this._options?._profName?new My(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 Ry(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||ry)(n),Sy.None}if(this._disposed)return Sy.None;t&&(e=e.bind(t));let r=new By(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Iy.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof By?(this._deliveryQueue??=new Hy,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=yy(()=>{i?.(),this._removeListener(r)});return n instanceof xy?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*Vy<=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||ry;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 By)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}},Hy=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}},Uy=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new q,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new q,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}};Uy.INSTANCE=new Uy;var Wy=Uy;function Gy(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Wy.INSTANCE.onDidChangeZoomLevel;function Ky(e){return Wy.INSTANCE.getZoomFactor(e)}Wy.INSTANCE.onDidChangeFullscreen;var qy=typeof navigator==`object`?navigator.userAgent:``,Jy=qy.indexOf(`Firefox`)>=0,Yy=qy.indexOf(`AppleWebKit`)>=0,Xy=qy.indexOf(`Chrome`)>=0,Zy=!Xy&&qy.indexOf(`Safari`)>=0;qy.indexOf(`Electron/`),qy.indexOf(`Android`);var Qy=!1;if(typeof wy.matchMedia==`function`){let e=wy.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=wy.matchMedia(`(display-mode: fullscreen)`);Qy=e.matches,Gy(wy,e,({matches:e})=>{Qy&&t.matches||(Qy=e)})}function $y(){return Qy}var eb=`en`,tb=!1,nb=!1,rb=!1,ib=!1,ab=!1,ob=eb,sb,cb=globalThis,lb;typeof cb.vscode<`u`&&typeof cb.vscode.process<`u`?lb=cb.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(lb=process);var ub=typeof lb?.versions?.electron==`string`&&lb?.type===`renderer`;if(typeof lb==`object`){tb=lb.platform===`win32`,nb=lb.platform===`darwin`,rb=lb.platform===`linux`,rb&&lb.env.SNAP&&lb.env.SNAP_REVISION,lb.env.CI||lb.env.BUILD_ARTIFACTSTAGINGDIRECTORY,ob=eb;let e=lb.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,ob=t.resolvedLanguage||eb,t.languagePack?.translationsConfigFile}catch{}ib=!0}else typeof navigator==`object`&&!ub?(sb=navigator.userAgent,tb=sb.indexOf(`Windows`)>=0,nb=sb.indexOf(`Macintosh`)>=0,(sb.indexOf(`Macintosh`)>=0||sb.indexOf(`iPad`)>=0||sb.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,rb=sb.indexOf(`Linux`)>=0,sb?.indexOf(`Mobi`),ab=!0,ob=globalThis._VSCODE_NLS_LANGUAGE||eb,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var db=tb,fb=nb,pb=rb,mb=ib;ab&&typeof cb.importScripts==`function`&&cb.origin;var hb=sb,gb=ob,_b;(e=>{function t(){return gb}e.value=t;function n(){return gb.length===2?gb===`en`:gb.length>=3&&gb[0]===`e`&&gb[1]===`n`&&gb[2]===`-`}e.isDefaultVariant=n;function r(){return gb===`en`}e.isDefault=r})(_b||={});var vb=typeof cb.postMessage==`function`&&!cb.importScripts;(()=>{if(vb){let e=[];cb.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}),cb.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var yb=!!(hb&&hb.indexOf(`Chrome`)>=0);hb&&hb.indexOf(`Firefox`),!yb&&hb&&hb.indexOf(`Safari`),hb&&hb.indexOf(`Edg/`),hb&&hb.indexOf(`Android`);var bb=typeof navigator==`object`?navigator:{};mb||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||bb&&bb.clipboard&&bb.clipboard.writeText,mb||bb&&bb.clipboard&&bb.clipboard.readText,mb||$y()||bb.keyboard,`ontouchstart`in wy||bb.maxTouchPoints,wy.PointerEvent&&(`ontouchstart`in wy||navigator.maxTouchPoints);var xb=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}},Sb=new xb,Cb=new xb,wb=new xb,Tb=Array(230),Eb;(e=>{function t(e){return Sb.keyCodeToStr(e)}e.toString=t;function n(e){return Sb.strToKeyCode(e)}e.fromString=n;function r(e){return Cb.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return wb.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return Cb.strToKeyCode(e)||wb.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 Sb.keyCodeToStr(e)}e.toElectronAccelerator=o})(Eb||={});var Db=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 Ob([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},Ob=class{constructor(e){if(e.length===0)throw Nae(`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 kb(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return Eb.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(Jy)switch(t){case 59:return 85;case 60:if(pb)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(fb)return 57}else if(Yy&&(fb&&t===93||!fb&&t===92))return 57;return Tb[t]||0}var Ab=fb?256:2048,jb=512,Mb=1024,Nb=fb?2048:256,Pb=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=kb(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|=Ab),this.altKey&&(t|=jb),this.shiftKey&&(t|=Mb),this.metaKey&&(t|=Nb),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new Db(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},Fb=new WeakMap;function Ib(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 Lb=class{static getSameOriginWindowChain(e){let t=Fb.get(e);if(!t){t=[],Fb.set(e,t);let n=e,r;do r=Ib(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}}},Rb=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=Lb.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},zb=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(Xy){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?Jy&&!fb?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=Zy&&db?-(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?Jy&&!fb?-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()}},Bb=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Vb;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Hb?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Ay.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Bb})})(Vb||={});var Hb=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?Bb:(this._emitter||=new q,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},Ub=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 oy(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new oy(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Wb=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 oy(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=yy(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Gb;(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})(Gb||={});var Kb=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 q,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 Ay.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())}};Kb.EMPTY=Kb.fromArray([]);function qb(e){return Jb(e,0)}function Jb(e,t){switch(typeof e){case`object`:return e===null?Yb(349,t):Array.isArray(e)?Qb(e,t):$b(e,t);case`string`:return Zb(e,t);case`boolean`:return Xb(e,t);case`number`:return Yb(e,t);case`undefined`:return Yb(937,t);default:return Yb(617,t)}}function Yb(e,t){return(t<<5)-t+e|0}function Xb(e,t){return Yb(e?433:863,t)}function Zb(e,t){t=Yb(149417,t);for(let n=0,r=e.length;n<r;n++)t=Yb(e.charCodeAt(n),t);return t}function Qb(e,t){return t=Yb(104579,t),e.reduce((e,t)=>Jb(t,e),t)}function $b(e,t){return t=Yb(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=Zb(n,t),Jb(e[n],t)),t)}var{registerWindow:Pae,getWindow:ex,getDocument:Fae,getWindows:Iae,getWindowsCount:Lae,getWindowId:tx,getWindowById:Rae,hasWindow:zae,onDidRegisterWindow:nx,onWillUnregisterWindow:Bae,onDidUnregisterWindow:Vae}=function(){let e=new Map,t={window:wy,disposables:new xy};e.set(wy.vscodeWindowId,t);let n=new q,r=new q,i=new q;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 Sy.None;let a=new xy,o={window:t,disposables:a.add(new xy)};return e.set(t.vscodeWindowId,o),a.add(yy(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(J(t,sx.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:wy},getDocument(e){return ex(e).document}}}(),Hae=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 J(e,t,n,r){return new Hae(e,t,n,r)}function Uae(e,t){return function(n){return t(new Rb(e,n))}}function Wae(e){return function(t){return e(new Pb(t))}}var rx=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=Uae(ex(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=Wae(n)),J(e,t,i,r)},ix,Gae=class extends Wb{constructor(e){super(),this.defaultTarget=e&&ex(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},ax=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){ry(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(ax.sort),a.shift().execute();r.set(i,!1)};ix=(t,r,a=0)=>{let o=tx(t),s=new ax(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 ox=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}};ox.None=new ox(0,0);function Kae(e){let t=e.getBoundingClientRect(),n=ex(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=qb(n),a=r.get(i);if(a)a.users+=1;else{let o=new q,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(yy(()=>{--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 sx={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:Yy?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Yy?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Yy?`webkitAnimationIteration`:`animationiteration`},qae=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=cx(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=cx(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=cx(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=cx(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=cx(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=cx(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=cx(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=cx(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=cx(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=cx(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=cx(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=cx(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=cx(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=cx(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 cx(e){return typeof e==`number`?`${e}px`:e}function lx(e){return new qae(e)}var ux=class{constructor(){this._hooks=new xy,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(yy(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=ex(e)}this._hooks.add(J(a,sx.POINTER_MOVE,e=>{e.buttons===n?(e.preventDefault(),this._pointerMoveCallback(e)):this.stopMonitoring(!0)})),this._hooks.add(J(a,sx.POINTER_UP,e=>this.stopMonitoring(!0)))}};function Jae(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 dx;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(dx||={});var fx=class e extends Sy{constructor(){super(),this.dispatched=!1,this.targets=new Dy,this.ignoreTargets=new Dy,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Ay.runAndSubscribe(nx,({window:e,disposables:t})=>{t.add(J(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(J(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(J(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:wy,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=gy(new e),yy(e.INSTANCE.targets.push(t))):Sy.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=gy(new e),yy(e.INSTANCE.ignoreTargets.push(t))):Sy.None}static isTouchDevice(){return`ontouchstart`in wy||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(dx.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-sy(s.rollingPageX))<30&&Math.abs(s.initialPageY-sy(s.rollingPageY))<30){let e=this.newGestureEvent(dx.Tap,s.initialTarget);e.pageX=sy(s.rollingPageX),e.pageY=sy(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-sy(s.rollingPageX))<30&&Math.abs(s.initialPageY-sy(s.rollingPageY))<30){let e=this.newGestureEvent(dx.Contextmenu,s.initialTarget);e.pageX=sy(s.rollingPageX),e.pageY=sy(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=sy(s.rollingPageX),n=sy(s.rollingPageY),i=sy(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(dx.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===dx.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===dx.Change||t.type===dx.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=ix(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(dx.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(dx.Change,i.initialTarget);a.translationX=r.pageX-sy(i.rollingPageX),a.translationY=r.pageY-sy(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)}};fx.SCROLL_FRICTION=-.005,fx.HOLD_DELAY=700,fx.CLEAR_TAP_COUNT_TIME=400,mv([Jae],fx,`isTouchDevice`,1);var Yae=fx,px=class extends Sy{onclick(e,t){this._register(J(e,sx.CLICK,n=>t(new Rb(ex(e),n))))}onmousedown(e,t){this._register(J(e,sx.MOUSE_DOWN,n=>t(new Rb(ex(e),n))))}onmouseover(e,t){this._register(J(e,sx.MOUSE_OVER,n=>t(new Rb(ex(e),n))))}onmouseleave(e,t){this._register(J(e,sx.MOUSE_LEAVE,n=>t(new Rb(ex(e),n))))}onkeydown(e,t){this._register(J(e,sx.KEY_DOWN,e=>t(new Pb(e))))}onkeyup(e,t){this._register(J(e,sx.KEY_UP,e=>t(new Pb(e))))}oninput(e,t){this._register(J(e,sx.INPUT,t))}onblur(e,t){this._register(J(e,sx.BLUR,t))}onfocus(e,t){this._register(J(e,sx.FOCUS,t))}onchange(e,t){this._register(J(e,sx.CHANGE,t))}ignoreGesture(e){return Yae.ignoreTarget(e)}},mx=11,Xae=class extends px{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=mx+`px`,this.domNode.style.height=mx+`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 ux),this._register(rx(this.bgDomNode,sx.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(rx(this.domNode,sx.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new Gae),this._pointerdownScheduleRepeatTimer=this._register(new Ub)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,ex(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},Zae=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}}},Qae=class extends Sy{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new q),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Zae(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 _x(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=_x.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)))}},hx=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function gx(e,t){let n=t-e;return function(t){return e+n*toe(t)}}function $ae(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var _x=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),$ae(gx(e,r),gx(i,t),.33)}return gx(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 hx(this.scrollLeft(t),this.scrollTop(t),!1):new hx(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 eoe(e){return e**3}function toe(e){return 1-eoe(1-e)}var noe=class extends Sy{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 Ub)}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`:``)))}},roe=140,vx=class extends px{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 noe(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new ux),this._shouldRender=!0,this.domNode=lx(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(J(this.domNode.domNode,sx.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new Xae(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=lx(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(J(this.slider.domNode,sx.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=Kae(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(db&&a>roe){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()}},yx=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)}},ioe=class extends vx{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new yx(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}},aoe=class extends vx{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new yx(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}},ooe=500,bx=50,xx=!0,soe=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Sx=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(Xy){let t=Ky(ex(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 soe(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}};Sx.INSTANCE=new Sx;var coe=Sx,loe=class extends px{constructor(e,t,n){super(),this._onScroll=this._register(new q),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new q),this.onWillScroll=this._onWillScroll.event,this._options=doe(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 aoe(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new ioe(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=lx(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=lx(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=lx(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 Ub),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=_y(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,fb&&(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 zb(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=_y(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(J(this._listenOnDomNode,sx.MOUSE_WHEEL,e=>{this._onMouseWheel(new zb(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=coe.INSTANCE;xx&&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=!fb&&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=bx*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=bx*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)&&(xx&&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(),ooe)}},uoe=class extends loe{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 doe(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,fb&&(t.className+=` mac`),t}var Cx=class extends Sy{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new q),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new Qae({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>ix(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new uoe(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(Ay.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(yy(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(yy(()=>this._styleElement.remove())),this._register(Ay.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(`
117
+ `)})),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}};Cx=mv([K(2,Vv),K(3,Zv),K(4,Hv),K(5,ty),K(6,Kv),K(7,$v)],Cx);var wx=class extends Sy{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(yy(()=>{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()}};wx=mv([K(1,Vv),K(2,Zv),K(3,Jv),K(4,$v)],wx);var foe=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)}},Tx={full:0,left:0,center:0,right:0},Ex={full:0,left:0,center:0,right:0},Dx={full:0,left:0,center:0,right:0},Ox=class extends Sy{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 foe,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(yy(()=>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);Ex.full=this._canvas.width,Ex.left=e,Ex.center=t,Ex.right=e,this._refreshDrawHeightConstants(),Dx.full=1,Dx.left=1,Dx.center=1+Ex.left,Dx.right=1+Ex.left+Ex.center}_refreshDrawHeightConstants(){Tx.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);Tx.left=t,Tx.center=t,Tx.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Tx.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Tx.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Tx.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Tx.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(Dx[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Tx[e.position||`full`]/2),Ex[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Tx[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}))}};Ox=mv([K(2,Vv),K(3,Jv),K(4,$v),K(5,Kv),K(6,ty),K(7,Zv)],Ox);var Y;(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=`
118
+ `,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=``))(Y||={});var kx;(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=`Ÿ`))(kx||={});var Ax;(e=>e.ST=`${Y.ESC}\\`)(Ax||={});var jx=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(`${Y.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)}}};jx=mv([K(2,Vv),K(3,Kv),K(4,Uv),K(5,$v)],jx);var Mx=0,Nx=0,Px=0,Fx=0,Ix={css:`#00000000`,rgba:0},Lx;(e=>{function t(e,t,n,r){return r===void 0?`#${Hx(e)}${Hx(t)}${Hx(n)}`:`#${Hx(e)}${Hx(t)}${Hx(n)}${Hx(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})(Lx||={});var Rx;(e=>{function t(e,t){if(Fx=(t.rgba&255)/255,Fx===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 Mx=a+Math.round((n-a)*Fx),Nx=o+Math.round((r-o)*Fx),Px=s+Math.round((i-s)*Fx),{css:Lx.toCss(Mx,Nx,Px),rgba:Lx.toRgba(Mx,Nx,Px)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=Vx.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return Lx.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[Mx,Nx,Px]=Vx.toChannels(t),{css:Lx.toCss(Mx,Nx,Px),rgba:t}}e.opaque=i;function a(e,t){return Fx=Math.round(t*255),[Mx,Nx,Px]=Vx.toChannels(e.rgba),{css:Lx.toCss(Mx,Nx,Px,Fx),rgba:Lx.toRgba(Mx,Nx,Px,Fx)}}e.opacity=a;function o(e,t){return Fx=e.rgba&255,a(e,Fx*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(Rx||={});var zx;(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 Mx=parseInt(e.slice(1,2).repeat(2),16),Nx=parseInt(e.slice(2,3).repeat(2),16),Px=parseInt(e.slice(3,4).repeat(2),16),Lx.toColor(Mx,Nx,Px);case 5:return Mx=parseInt(e.slice(1,2).repeat(2),16),Nx=parseInt(e.slice(2,3).repeat(2),16),Px=parseInt(e.slice(3,4).repeat(2),16),Fx=parseInt(e.slice(4,5).repeat(2),16),Lx.toColor(Mx,Nx,Px,Fx);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 Mx=parseInt(r[1]),Nx=parseInt(r[2]),Px=parseInt(r[3]),Fx=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),Lx.toColor(Mx,Nx,Px,Fx);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[Mx,Nx,Px,Fx]=t.getImageData(0,0,1,1).data,Fx!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:Lx.toRgba(Mx,Nx,Px,Fx),css:e}}e.toColor=r})(zx||={});var Bx;(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})(Bx||={});var Vx;(e=>{function t(e,t){if(Fx=(t&255)/255,Fx===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 Mx=a+Math.round((n-a)*Fx),Nx=o+Math.round((r-o)*Fx),Px=s+Math.round((i-s)*Fx),Lx.toRgba(Mx,Nx,Px)}e.blend=t;function n(e,t,n){let a=Bx.relativeLuminance(e>>8),o=Bx.relativeLuminance(t>>8);if(Ux(a,o)<n){if(o<a){let o=r(e,t,n),s=Ux(a,Bx.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>Ux(a,Bx.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=Ux(a,Bx.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>Ux(a,Bx.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(Bx.relativeLuminance2(o,s,c),Bx.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(Bx.relativeLuminance2(o,s,c),Bx.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(Bx.relativeLuminance2(o,s,c),Bx.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(Bx.relativeLuminance2(o,s,c),Bx.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})(Vx||={});function Hx(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 poe=class extends Mv{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()]}},Wx=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new Pv}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||jv.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++)Wx._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||jv.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}};Wx=mv([K(0,Vv)],Wx);function moe(e){return 57508<=e&&e<=57558}function hoe(e){return 9472<=e&&e<=9631}function goe(e){return moe(e)||hoe(e)}function _oe(){return{css:{canvas:Gx(),cell:Gx()},device:{canvas:Gx(),cell:Gx(),char:{width:0,height:0,left:0,top:0}}}}function Gx(){return{width:0,height:0}}var Kx=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 Pv,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,x=0,S=!1,ee=0,te=!1,ne=0,re=0,C=[],w=l!==-1&&u!==-1;for(let T=0;T<m;T++){e.loadCell(T,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ie=!1,ae=T>=re,E=T,D=this._workCell;if(f.length>0&&T===f[0][0]&&ae){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)ae&&=i===this._isCellInSelection(v,t);ae&&=!n||a<r[0]||a>=r[1],ae?(ie=!0,D=new poe(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),E=r[1]-1,m=D.getWidth()):re=r[1]}let O=this._isCellInSelection(T,t),k=n&&T===a,oe=w&&T>=l&&T<=u,se=!1;this._decorationService.forEachDecorationAtCell(T,t,void 0,e=>{se=!0});let ce=D.getChars()||jv;if(ce===` `&&(D.isUnderline()||D.isOverline())&&(ce=`\xA0`),ne=m*s-c.get(ce,D.isBold(),D.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(O&&te||!O&&!te&&D.bg===y)&&(O&&te&&p.selectionForeground||D.fg===b)&&D.extended.ext===x&&oe===S&&ne===ee&&!k&&!ie&&!se&&ae){D.isInvisible()?_+=jv:_+=ce,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=D.bg,b=D.fg,x=D.extended.ext,S=oe,ee=ne,te=O,ie&&a>=T&&a<=E&&(a=T),!this._coreService.isCursorHidden&&k&&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(D.isBold()&&C.push(`xterm-bold`),D.isItalic()&&C.push(`xterm-italic`),D.isDim()&&C.push(`xterm-dim`),_=D.isInvisible()?jv:D.getChars()||jv,D.isUnderline()&&(C.push(`xterm-underline-${D.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!D.isUnderlineColorDefault())){if(D.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${Mv.toColorRGB(D.getUnderlineColor()).join(`,`)})`;else{let e=D.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&D.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}D.isOverline()&&(C.push(`xterm-overline`),_===` `&&(_=`\xA0`)),D.isStrikethrough()&&C.push(`xterm-strikethrough`),oe&&(h.style.textDecoration=`underline`);let le=D.getFgColor(),ue=D.getFgColorMode(),de=D.getBgColor(),fe=D.getBgColorMode(),pe=!!D.isInverse();if(pe){let e=le;le=de,de=e;let t=ue;ue=fe,fe=t}let me,he,ge=!1;this._decorationService.forEachDecorationAtCell(T,t,void 0,e=>{e.options.layer!==`top`&&ge||(e.backgroundColorRGB&&(fe=50331648,de=e.backgroundColorRGB.rgba>>8&16777215,me=e.backgroundColorRGB),e.foregroundColorRGB&&(ue=50331648,le=e.foregroundColorRGB.rgba>>8&16777215,he=e.foregroundColorRGB),ge=e.options.layer===`top`)}),!ge&&O&&(me=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,de=me.rgba>>8&16777215,fe=50331648,ge=!0,p.selectionForeground&&(ue=50331648,le=p.selectionForeground.rgba>>8&16777215,he=p.selectionForeground)),ge&&C.push(`xterm-decoration-top`);let _e;switch(fe){case 16777216:case 33554432:_e=p.ansi[de],C.push(`xterm-bg-${de}`);break;case 50331648:_e=Lx.toColor(de>>16,de>>8&255,de&255),this._addStyle(h,`background-color:#${qx((de>>>0).toString(16),`0`,6)}`);break;default:pe?(_e=p.foreground,C.push(`xterm-bg-257`)):_e=p.background}switch(me||D.isDim()&&(me=Rx.multiplyOpacity(_e,.5)),ue){case 16777216:case 33554432:D.isBold()&&le<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(le+=8),this._applyMinimumContrast(h,_e,p.ansi[le],D,me,void 0)||C.push(`xterm-fg-${le}`);break;case 50331648:let e=Lx.toColor(le>>16&255,le>>8&255,le&255);this._applyMinimumContrast(h,_e,e,D,me,he)||this._addStyle(h,`color:#${qx(le.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,_e,p.foreground,D,me,he)||pe&&C.push(`xterm-fg-257`)}C.length&&=(h.className=C.join(` `),0),!k&&!ie&&!se&&ae?g++:h.textContent=_,ne!==this.defaultSpacing&&(h.style.letterSpacing=`${ne}px`),d.push(h),T=E}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||goe(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=Rx.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]}};Kx=mv([K(1,ey),K(2,Kv),K(3,Zv),K(4,Uv),K(5,Jv),K(6,ty)],Kx);function qx(e,t,n){for(;e.length<n;)e=t+e;return e}var voe=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}},yoe=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 boe(){return new yoe}var Jx=`xterm-dom-renderer-owner-`,Yx=`xterm-rows`,Xx=`xterm-fg-`,Zx=`xterm-bg-`,Qx=`xterm-focus`,$x=`xterm-selection`,xoe=1,eS=class extends Sy{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=xoe++,this._rowElements=[],this._selectionRenderModel=boe(),this.onRequestRedraw=this._register(new q).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(Yx),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($x),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=_oe(),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(Kx,document),this._element.classList.add(Jx+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(yy(()=>{this._element.classList.remove(Jx+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new voe(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} .${Yx} 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} .${Yx} { 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} .${Yx} .xterm-dim { color: ${Rx.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} .${Yx}.${Qx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${Yx}.${Qx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Yx}.${Qx} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Yx} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Yx} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Yx} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Yx} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Yx} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${$x} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${$x} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${$x} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${Xx}${n} { color: ${r.css}; }${this._terminalSelector} .${Xx}${n}.xterm-dim { color: ${Rx.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${Zx}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${Xx}257 { color: ${Rx.opaque(e.background).css}; }${this._terminalSelector} .${Xx}257.xterm-dim { color: ${Rx.multiplyOpacity(Rx.opaque(e.background),.5).css}; }${this._terminalSelector} .${Zx}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(Qx),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(Qx),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`.${Jx}${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))}}};eS=mv([K(7,Wv),K(8,Xv),K(9,Kv),K(10,Vv),K(11,Uv),K(12,Zv),K(13,ty)],eS);var tS=class extends Sy{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new q),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Coe(this._optionsService))}catch{this._measureStrategy=this._register(new Soe(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())}};tS=mv([K(2,Kv)],tS);var nS=class extends Sy{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)}},Soe=class extends nS{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}},Coe=class extends nS{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}},woe=class extends Sy{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 Toe(this._window)),this._onDprChange=this._register(new q),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new q),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(Ay.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(J(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(J(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}},Toe=class extends Sy{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Cy),this._onDprChange=this._register(new q),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(yy(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=J(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)}},Eoe=class extends Sy{constructor(){super(),this.linkProviders=[],this._register(yy(()=>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 rS(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 Doe(e,t,n,r,i,a,o,s,c){if(!a)return;let l=rS(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 iS=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return Doe(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=rS(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])}}};iS=mv([K(0,$v),K(1,Xv)],iS);var Ooe=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=[]}},aS={};Tae(aS,{getSafariVersion:()=>fS,isChromeOS:()=>vS,isFirefox:()=>lS,isIpad:()=>mS,isIphone:()=>hS,isLegacyEdge:()=>uS,isLinux:()=>_S,isMac:()=>pS,isNode:()=>oS,isSafari:()=>dS,isWindows:()=>gS});var oS=typeof process<`u`&&`title`in process,sS=oS?`node`:navigator.userAgent,cS=oS?`node`:navigator.platform,lS=sS.includes(`Firefox`),uS=sS.includes(`Edge`),dS=/^((?!chrome|android).)*safari/i.test(sS);function fS(){if(!dS)return 0;let e=sS.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var pS=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(cS),mS=cS===`iPad`,hS=cS===`iPhone`,gS=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(cS),_S=cS.indexOf(`Linux`)>=0,vS=/\bCrOS\b/.test(sS),yS=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()}},bS=class extends yS{_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())}}},xS=class extends yS{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},SS=!oS&&`requestIdleCallback`in window?xS:bS,CS=class{constructor(){this._queue=new SS}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},wS=class extends Sy{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 Cy),this._pausedResizeTask=new CS,this._observerDisposable=this._register(new Cy),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 q),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new q),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new q),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new q),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Ooe((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new TS(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(yy(()=>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=yy(()=>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()}};wS=mv([K(2,Kv),K(3,Xv),K(4,Uv),K(5,Jv),K(6,Vv),K(7,Zv),K(8,ty)],wS);var TS=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 ES(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return kS(i,a,e,t,n,r)+AS(a,t,n,r)+jS(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,RS(Math.abs(i-e),LS(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return RS(OS(a>t?e:i,n)+(s-1)*n.cols+1+DS(a>t?i:e,n),LS(o,r))}function DS(e,t){return e-1}function OS(e,t){return t.cols-e}function kS(e,t,n,r,i,a){return AS(t,r,i,a).length===0?``:RS(IS(e,t,e,t-NS(t,i),!1,i).length,LS(`D`,a))}function AS(e,t,n,r){let i=e-NS(e,n),a=t-NS(t,n);return RS(Math.abs(i-a)-MS(e,t,n),LS(FS(e,t),r))}function jS(e,t,n,r,i,a){let o;o=AS(t,r,i,a).length>0?r-NS(r,i):t;let s=r,c=PS(e,t,n,r,i,a);return RS(IS(e,o,n,s,c===`C`,i).length,LS(c,a))}function MS(e,t,n){let r=0,i=e-NS(e,n),a=t-NS(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=FS(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function NS(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 PS(e,t,n,r,i,a){let o;return o=AS(n,r,i,a).length>0?r-NS(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function FS(e,t){return e>t?`A`:`B`}function IS(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 LS(e,t){let n=t?`O`:`[`;return Y.ESC+n+e}function RS(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var zS=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 BS(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 VS=50,HS=15,US=50,WS=500,GS=RegExp(`\xA0`,`g`),KS=class extends Sy{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 Pv,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new q),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new q),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new q),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new q),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 zS(this._bufferService),this._activeSelectionMode=0,this._register(yy(()=>{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(GS,` `)).join(gS?`\r
119
+ `:`
120
+ `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),_S&&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=BS(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=rS(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,-VS),VS),t/=VS,t/Math.abs(t)+Math.round(t*(HS-1)))}shouldForceSelection(e){return pS?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(),US)}_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&&!(pS&&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<WS&&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=ES(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=BS(n,this._bufferService.cols)}};KS=mv([K(3,Vv),K(4,Uv),K(5,Qv),K(6,Kv),K(7,$v),K(8,Zv)],KS);var qS=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={}}},JS=class{constructor(){this._color=new qS,this._css=new qS}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()}},YS=Object.freeze((()=>{let e=[zx.toColor(`#2e3436`),zx.toColor(`#cc0000`),zx.toColor(`#4e9a06`),zx.toColor(`#c4a000`),zx.toColor(`#3465a4`),zx.toColor(`#75507b`),zx.toColor(`#06989a`),zx.toColor(`#d3d7cf`),zx.toColor(`#555753`),zx.toColor(`#ef2929`),zx.toColor(`#8ae234`),zx.toColor(`#fce94f`),zx.toColor(`#729fcf`),zx.toColor(`#ad7fa8`),zx.toColor(`#34e2e2`),zx.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:Lx.toCss(r,i,a),rgba:Lx.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:Lx.toCss(n,n,n),rgba:Lx.toRgba(n,n,n)})}return e})()),XS=zx.toColor(`#ffffff`),ZS=zx.toColor(`#000000`),QS=zx.toColor(`#ffffff`),$S=ZS,eC={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},tC=XS,nC=class extends Sy{constructor(e){super(),this._optionsService=e,this._contrastCache=new JS,this._halfContrastCache=new JS,this._onChangeColors=this._register(new q),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:XS,background:ZS,cursor:QS,cursorAccent:$S,selectionForeground:void 0,selectionBackgroundTransparent:eC,selectionBackgroundOpaque:Rx.blend(ZS,eC),selectionInactiveBackgroundTransparent:eC,selectionInactiveBackgroundOpaque:Rx.blend(ZS,eC),scrollbarSliderBackground:Rx.opacity(XS,.2),scrollbarSliderHoverBackground:Rx.opacity(XS,.4),scrollbarSliderActiveBackground:Rx.opacity(XS,.5),overviewRulerBorder:XS,ansi:YS.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=rC(e.foreground,XS),t.background=rC(e.background,ZS),t.cursor=Rx.blend(t.background,rC(e.cursor,QS)),t.cursorAccent=Rx.blend(t.background,rC(e.cursorAccent,$S)),t.selectionBackgroundTransparent=rC(e.selectionBackground,eC),t.selectionBackgroundOpaque=Rx.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=rC(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=Rx.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?rC(e.selectionForeground,Ix):void 0,t.selectionForeground===Ix&&(t.selectionForeground=void 0),Rx.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=Rx.opacity(t.selectionBackgroundTransparent,.3)),Rx.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=Rx.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=rC(e.scrollbarSliderBackground,Rx.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=rC(e.scrollbarSliderHoverBackground,Rx.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=rC(e.scrollbarSliderActiveBackground,Rx.opacity(t.foreground,.5)),t.overviewRulerBorder=rC(e.overviewRulerBorder,tC),t.ansi=YS.slice(),t.ansi[0]=rC(e.black,YS[0]),t.ansi[1]=rC(e.red,YS[1]),t.ansi[2]=rC(e.green,YS[2]),t.ansi[3]=rC(e.yellow,YS[3]),t.ansi[4]=rC(e.blue,YS[4]),t.ansi[5]=rC(e.magenta,YS[5]),t.ansi[6]=rC(e.cyan,YS[6]),t.ansi[7]=rC(e.white,YS[7]),t.ansi[8]=rC(e.brightBlack,YS[8]),t.ansi[9]=rC(e.brightRed,YS[9]),t.ansi[10]=rC(e.brightGreen,YS[10]),t.ansi[11]=rC(e.brightYellow,YS[11]),t.ansi[12]=rC(e.brightBlue,YS[12]),t.ansi[13]=rC(e.brightMagenta,YS[13]),t.ansi[14]=rC(e.brightCyan,YS[14]),t.ansi[15]=rC(e.brightWhite,YS[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]=rC(e.extendedAnsi[r],YS[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()}}};nC=mv([K(0,Kv)],nC);function rC(e,t){if(e!==void 0)try{return zx.toColor(e)}catch{}return t}var iC=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)}},aC=class{constructor(){this._services=new iC,this._services.set(Wv,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=Rv(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)}},oC={trace:0,debug:1,info:2,warn:3,error:4,off:5},sC=`xterm.js: `,cC=class extends Sy{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),lC=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=oC[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?``:sC)+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)}};cC=mv([K(0,Kv)],cC);var lC,uC=class extends Sy{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new q),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new q),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new q),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}},dC=3,fC=Object.freeze(new Mv),pC=0,mC=2,hC=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*dC);let r=t||Pv.fromCharData([0,Av,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*dC+0],n=t&2097151;return[this._data[e*dC+1],t&2097152?this._combined[e]:n?Ev(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*dC+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*dC+0]=e|2097152|t[2]<<22):this._data[e*dC+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*dC+0]>>22}hasWidth(e){return this._data[e*dC+0]&12582912}getFg(e){return this._data[e*dC+1]}getBg(e){return this._data[e*dC+2]}hasContent(e){return this._data[e*dC+0]&4194303}getCodePoint(e){let t=this._data[e*dC+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*dC+0]&2097152}getString(e){let t=this._data[e*dC+0];return t&2097152?this._combined[e]:t&2097151?Ev(t&2097151):``}isProtected(e){return this._data[e*dC+2]&536870912}loadCell(e,t){return pC=e*dC,t.content=this._data[pC+0],t.fg=this._data[pC+1],t.bg=this._data[pC+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*dC+0]=t.content,this._data[e*dC+1]=t.fg,this._data[e*dC+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*dC+0]=t|n<<22,this._data[e*dC+1]=r.fg,this._data[e*dC+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*dC+0];r&2097152?this._combined[e]+=Ev(t):r&2097151?(this._combined[e]=Ev(r&2097151)+Ev(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*dC+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 Pv;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 Pv;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*mC<this._data.buffer.byteLength;let n=e*dC;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*mC<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*mC<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*dC+0]&4194303)return e+(this._data[e*dC+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*dC+0]&4194303||this._data[e*dC+2]&50331648)return e+(this._data[e*dC+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<dC;e++)this._data[(n+i)*dC+e]=a[(t+i)*dC+e];a[(t+i)*dC+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<dC;e++)this._data[(n+i)*dC+e]=a[(t+i)*dC+e];a[(t+i)*dC+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*dC+0],n=e&2097151,a=e&2097152?this._combined[t]:n?Ev(n):jv;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 gC(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=bC(u,d,t),p=1,m=0;for(;p<u.length;){let e=bC(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 _C(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 vC(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 yC(e,t,n){let r=[],i=e.map((n,r)=>bC(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=bC(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 bC(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 xC=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new q),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),_y(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};xC._nextId=1;var SC=xC,CC={},wC=CC.B;CC[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},CC.A={"#":`£`},CC.B=void 0,CC[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},CC.C=CC[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},CC.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},CC.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},CC.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},CC.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},CC.E=CC[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},CC.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},CC.H=CC[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},CC[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var TC=4294967295,EC=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=fC.clone(),this.savedCharset=wC,this.markers=[],this._nullCell=Pv.fromCharData([0,Av,1,0]),this._whitespaceCell=Pv.fromCharData([0,jv,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new SS,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new uC(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 Nv),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 Nv),this._whitespaceCell}getBlankLine(e,t){return new hC(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>TC?TC:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=fC);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 uC(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(fC),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 hC(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 hC(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=gC(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(fC),n);if(r.length>0){let n=_C(this.lines,r);vC(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(fC),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new hC(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(fC),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=yC(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(fC,!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--,_=bC(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 SC(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)}},DC=class extends Sy{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new q),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 EC(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new EC(!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)}},OC=2,kC=1,AC=class extends Sy{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new q),this.onResize=this._onResize.event,this._onScroll=this._register(new q),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,OC),this.rows=Math.max(e.rawOptions.rows||0,kC),this.buffers=this._register(new DC(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))}};AC=mv([K(0,Kv)],AC);var jC={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:pS,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},MC=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],NC=class extends Sy{constructor(e){super(),this._onOptionChange=this._register(new q),this.onOptionChange=this._onOptionChange.event;let t={...jC};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(yy(()=>{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 jC))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in jC))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||=jC[e],!PC(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=jC[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=MC.includes(t)?t:jC[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 PC(e){return e===`block`||e===`underline`||e===`bar`}function FC(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]&&FC(e[r],t-1);return n}var IC=Object.freeze({insertMode:!1}),LC=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),RC=class extends Sy{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 q),this.onData=this._onData.event,this._onUserInput=this._register(new q),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new q),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new q),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=FC(IC),this.decPrivateModes=FC(LC)}reset(){this.modes=FC(IC),this.decPrivateModes=FC(LC)}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))}};RC=mv([K(0,Vv),K(1,Gv),K(2,Kv)],RC);var zC={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 BC(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 VC=String.fromCharCode,HC={DEFAULT:e=>{let t=[BC(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${VC(t[0])}${VC(t[1])}${VC(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${BC(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${BC(e,!0)};${e.x};${e.y}${t}`}},UC=class extends Sy{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 q),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(zC))this.addProtocol(e,zC[e]);for(let e of Object.keys(HC))this.addEncoding(e,HC[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}};UC=mv([K(0,Vv),K(1,Uv),K(2,Kv)],UC);var WC=[[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]],GC=[[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]],KC;function qC(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 JC=class{constructor(){if(this.version=`6`,!KC){KC=new Uint8Array(65536),KC.fill(1),KC[0]=0,KC.fill(0,1,32),KC.fill(0,127,160),KC.fill(2,4352,4448),KC[9001]=2,KC[9002]=2,KC.fill(2,11904,42192),KC[12351]=1,KC.fill(2,44032,55204),KC.fill(2,63744,64256),KC.fill(2,65040,65050),KC.fill(2,65072,65136),KC.fill(2,65280,65377),KC.fill(2,65504,65511);for(let e=0;e<WC.length;++e)KC.fill(0,WC[e][0],WC[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?KC[e]:qC(e,GC)?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=YC.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return YC.createPropertyValue(0,n,r)}},YC=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new q,this.onChange=this._onChange.event;let e=new JC;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)}},XC=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 ZC(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 QC=2147483647,$C=256,ew=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>$C)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>QC?QC: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>QC?QC: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,QC):e}},tw=[],nw=class{constructor(){this._state=0,this._active=tw,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=tw}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=tw,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||tw,!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`,Dv(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=tw,this._id=-1,this._state=0}}},rw=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+=Dv(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}},iw=[],aw=class{constructor(){this._handlers=Object.create(null),this._active=iw,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=iw}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=iw,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||iw,!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`,Dv(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=iw,this._ident=0}},ow=new ew;ow.addParam(0);var sw=class{constructor(e){this._handler=e,this._data=``,this._params=ow,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():ow,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=Dv(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=ow,this._data=``,this._hitLimit=!1,e));return this._params=ow,this._data=``,this._hitLimit=!1,t}},cw=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}},lw=160,uw=function(){let e=new cw(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(lw,0,2,0),e.add(lw,8,5,8),e.add(lw,6,0,6),e.add(lw,11,0,11),e.add(lw,13,13,13),e}(),dw=class extends Sy{constructor(e=uw){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 ew,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(yy(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new nw),this._dcsParser=this._register(new aw),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:lw)],i>>4){case 2:for(let i=n+1;;++i)if(i>=t||(r=e[i])<32||r>126&&r<lw||++i>=t||(r=e[i])<32||r>126&&r<lw||++i>=t||(r=e[i])<32||r>126&&r<lw||++i>=t||(r=e[i])<32||r>126&&r<lw){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<lw){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<lw){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}}},fw=/^([\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})$/,pw=/^[\da-f]+$/;function mw(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=fw.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),pw.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 hw(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 gw(e,t=16){let[n,r,i]=e;return`rgb:${hw(n,t)}/${hw(r,t)}/${hw(i,t)}`}var _w={"(":0,")":1,"*":2,"+":3,"-":1,".":2},vw=131072,yw=10;function bw(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 xw=5e3,Sw=0,Cw=class extends Sy{constructor(e,t,n,r,i,a,o,s,c=new dw){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 Ov,this._utf8Decoder=new kv,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=fC.clone(),this._eraseAttrDataInternal=fC.clone(),this._onRequestBell=this._register(new q),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new q),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new q),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new q),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new q),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new q),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new q),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new q),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new q),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new q),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new q),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new q),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new q),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 ww(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(Y.BEL,()=>this.bell()),this._parser.setExecuteHandler(Y.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(Y.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(Y.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(Y.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(Y.BS,()=>this.backspace()),this._parser.setExecuteHandler(Y.HT,()=>this.tab()),this._parser.setExecuteHandler(Y.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(Y.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(kx.IND,()=>this.index()),this._parser.setExecuteHandler(kx.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(kx.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new rw(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new rw(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new rw(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new rw(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new rw(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new rw(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new rw(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new rw(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new rw(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new rw(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new rw(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new rw(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 CC)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 sw((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`),xw))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${xw} 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>vw&&(a=this._parseStack.position+vw)}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<vw&&(this._parseBuffer=new Uint32Array(Math.min(e.length,vw))),o||this._dirtyRowTracker.clearRange(),e.length>vw)for(let t=a;t<e.length;t+=vw){let a=t+vw<e.length?t+vw: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=YC.extractWidth(t);let n=YC.extractShouldJoin(t),m=n?YC.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(Ev(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 hC&&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=>!bw(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new sw(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new rw(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(fC));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=YC.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(Y.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(Y.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(Y.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(Y.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(Y.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,wC),this._charsetService.setgCharset(1,wC),this._charsetService.setgCharset(2,wC),this._charsetService.setgCharset(3,wC);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(`${Y.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|=Mv.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=fC.fg,e.bg=fC.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|=fC.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=fC.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|=fC.fg&16777215,r.bg&=-67108864,r.bg|=fC.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${Y.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Y.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(`${Y.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=fC.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(!bw(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(`${Y.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>yw&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>yw&&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(Tw(n)){if(r===`?`)t.push({type:0,index:n});else{let e=mw(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=mw(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]);Tw(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,wC),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(_w[e[0]],CC[e[1]]||wC),!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=fC.clone(),this._eraseAttrDataInternal=fC.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 Pv;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(`${Y.ESC}${e}${Y.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)}},ww=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&&(Sw=e,e=t,t=Sw),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};ww=mv([K(0,Vv)],ww);function Tw(e){return 0<=e&&e<256}var Ew=5e7,Dw=12,Ow=50,kw=class extends Sy{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 q),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>Ew)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>=Dw?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>=Dw)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Ow&&(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()}},Aw=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)))}};Aw=mv([K(0,Vv)],Aw);var jw=!1,Mw=class extends Sy{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Cy),this._onBinary=this._register(new q),this.onBinary=this._onBinary.event,this._onData=this._register(new q),this.onData=this._onData.event,this._onLineFeed=this._register(new q),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new q),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new q),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new q),this._instantiationService=new aC,this.optionsService=this._register(new NC(e)),this._instantiationService.setService(Kv,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(AC)),this._instantiationService.setService(Vv,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(cC)),this._instantiationService.setService(Gv,this._logService),this.coreService=this._register(this._instantiationService.createInstance(RC)),this._instantiationService.setService(Uv,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(UC)),this._instantiationService.setService(Hv,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(YC)),this._instantiationService.setService(Dae,this.unicodeService),this._charsetService=this._instantiationService.createInstance(XC),this._instantiationService.setService(Eae,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Aw),this._instantiationService.setService(qv,this._oscLinkService),this._inputHandler=this._register(new Cw(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(Ay.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(Ay.forward(this._bufferService.onResize,this._onResize)),this._register(Ay.forward(this.coreService.onData,this._onData)),this._register(Ay.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 kw((e,t)=>this._inputHandler.parse(e,t))),this._register(Ay.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new q),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&&!jw&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),jw=!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,OC),t=Math.max(t,kC),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(ZC.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(ZC(this._bufferService),!1))),this._windowsWrappingHeuristics.value=yy(()=>{for(let t of e)t.dispose()})}}},Nw={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 Pw(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?Y.ESC+`OA`:Y.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?Y.ESC+`OD`:Y.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?Y.ESC+`OC`:Y.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?Y.ESC+`OB`:Y.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:Y.DEL,e.altKey&&(i.key=Y.ESC+i.key);break;case 9:if(e.shiftKey){i.key=Y.ESC+`[Z`;break}i.key=Y.HT,i.cancel=!0;break;case 13:i.key=e.altKey?Y.ESC+Y.CR:Y.CR,i.cancel=!0;break;case 27:i.key=Y.ESC,e.altKey&&(i.key=Y.ESC+Y.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?Y.ESC+`[1;`+(a+1)+`D`:t?Y.ESC+`OD`:Y.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?Y.ESC+`[1;`+(a+1)+`C`:t?Y.ESC+`OC`:Y.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?Y.ESC+`[1;`+(a+1)+`A`:t?Y.ESC+`OA`:Y.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?Y.ESC+`[1;`+(a+1)+`B`:t?Y.ESC+`OB`:Y.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=Y.ESC+`[2~`);break;case 46:i.key=a?Y.ESC+`[3;`+(a+1)+`~`:Y.ESC+`[3~`;break;case 36:i.key=a?Y.ESC+`[1;`+(a+1)+`H`:t?Y.ESC+`OH`:Y.ESC+`[H`;break;case 35:i.key=a?Y.ESC+`[1;`+(a+1)+`F`:t?Y.ESC+`OF`:Y.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?Y.ESC+`[5;`+(a+1)+`~`:Y.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?Y.ESC+`[6;`+(a+1)+`~`:Y.ESC+`[6~`;break;case 112:i.key=a?Y.ESC+`[1;`+(a+1)+`P`:Y.ESC+`OP`;break;case 113:i.key=a?Y.ESC+`[1;`+(a+1)+`Q`:Y.ESC+`OQ`;break;case 114:i.key=a?Y.ESC+`[1;`+(a+1)+`R`:Y.ESC+`OR`;break;case 115:i.key=a?Y.ESC+`[1;`+(a+1)+`S`:Y.ESC+`OS`;break;case 116:i.key=a?Y.ESC+`[15;`+(a+1)+`~`:Y.ESC+`[15~`;break;case 117:i.key=a?Y.ESC+`[17;`+(a+1)+`~`:Y.ESC+`[17~`;break;case 118:i.key=a?Y.ESC+`[18;`+(a+1)+`~`:Y.ESC+`[18~`;break;case 119:i.key=a?Y.ESC+`[19;`+(a+1)+`~`:Y.ESC+`[19~`;break;case 120:i.key=a?Y.ESC+`[20;`+(a+1)+`~`:Y.ESC+`[20~`;break;case 121:i.key=a?Y.ESC+`[21;`+(a+1)+`~`:Y.ESC+`[21~`;break;case 122:i.key=a?Y.ESC+`[23;`+(a+1)+`~`:Y.ESC+`[23~`;break;case 123:i.key=a?Y.ESC+`[24;`+(a+1)+`~`:Y.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=Y.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=Y.DEL:e.keyCode===219?i.key=Y.ESC:e.keyCode===220?i.key=Y.FS:e.keyCode===221&&(i.key=Y.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=Nw[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=Y.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=Y.ESC+n}else if(e.keyCode===32)i.key=Y.ESC+(e.ctrlKey?Y.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=Y.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=Y.US),e.key===`@`&&(i.key=Y.NUL))}return i}var Fw=0,Iw=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new SS,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new SS,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||(Fw=this._search(t),Fw===-1)||this._getKey(this._array[Fw])!==t)return!1;do if(this._array[Fw]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Fw),!0;while(++Fw<this._array.length&&this._getKey(this._array[Fw])===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&&(Fw=this._search(e),!(Fw<0||Fw>=this._array.length)&&this._getKey(this._array[Fw])===e))do yield this._array[Fw];while(++Fw<this._array.length&&this._getKey(this._array[Fw])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Fw=this._search(e),!(Fw<0||Fw>=this._array.length)&&this._getKey(this._array[Fw])===e))do t(this._array[Fw]);while(++Fw<this._array.length&&this._getKey(this._array[Fw])===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}},Lw=0,Rw=0,zw=class extends Sy{constructor(){super(),this._decorations=new Iw(e=>e?.marker.line),this._onDecorationRegistered=this._register(new q),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new q),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(yy(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new Bw(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=>{Lw=t.options.x??0,Rw=Lw+(t.options.width??1),e>=Lw&&e<Rw&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},Bw=class extends xy{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new q),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new q),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?zx.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?zx.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},Vw=1e3,Hw=class{constructor(e,t=Vw){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)}},Uw=20,Ww=class extends Sy{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 Hw(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(`
121
+ `))),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(J(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(yy(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<Uw+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
122
+ `&&(this._liveRegionLineCount++,this._liveRegionLineCount===Uw+1&&(this._liveRegion.textContent+=vv.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})`}};Ww=mv([K(1,Wv),K(2,Zv),K(3,$v)],Ww);var Gw=class extends Sy{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 q),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new q),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(yy(()=>{_y(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(J(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(J(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(J(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(J(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&&Kw(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,_y(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}}};Gw=mv([K(1,Qv),K(2,$v),K(3,Vv),K(4,ny)],Gw);function Kw(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 qw=class extends Mw{constructor(e={}){super(e),this._linkifier=this._register(new Cy),this.browser=aS,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Cy),this._onCursorMove=this._register(new q),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new q),this.onKey=this._onKey.event,this._onRender=this._register(new q),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new q),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new q),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new q),this.onBell=this._onBell.event,this._onFocus=this._register(new q),this._onBlur=this._register(new q),this._onA11yCharEmitter=this._register(new q),this._onA11yTabEmitter=this._register(new q),this._onWillOpen=this._register(new q),this._setup(),this._decorationService=this._instantiationService.createInstance(zw),this._instantiationService.setService(Jv,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Eoe),this._instantiationService.setService(ny,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Yv)),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(Ay.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Ay.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Ay.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Ay.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(yy(()=>{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=Rx.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${Y.ESC}]${n};${gw(r)}${Ax.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=Lx.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=Lx.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(Ww,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Y.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(Y.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(J(this.element,`copy`,e=>{this.hasSelection()&&xv(e,this._selectionService)}));let e=e=>Sv(e,this.textarea,this.coreService,this.optionsService);this._register(J(this.textarea,`paste`,e)),this._register(J(this.element,`paste`,e)),lS?this._register(J(this.element,`mousedown`,e=>{e.button===2&&Tv(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(J(this.element,`contextmenu`,e=>{Tv(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),_S&&this._register(J(this.element,`auxclick`,e=>{e.button===1&&wv(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(J(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(J(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(J(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(J(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(J(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(J(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(J(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(J(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`,gv.get()),vS||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(woe,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Zv,this._coreBrowserService),this._register(J(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(J(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(tS,this._document,this._helperContainer),this._instantiationService.setService(Xv,this._charSizeService),this._themeService=this._instantiationService.createInstance(nC),this._instantiationService.setService(ty,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Wx),this._instantiationService.setService(ey,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(wS,this.rows,this.screenElement)),this._instantiationService.setService($v,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(jx,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(iS),this._instantiationService.setService(Qv,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Gw,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(Cx,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(KS,this.element,this.screenElement,r)),this._instantiationService.setService(kae,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(Ay.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(wx,this.screenElement)),this._register(J(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(Ww,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ox,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Ox,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(eS,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(J(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(J(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=Y.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){Cv(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=Pw(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===Y.ETX||n.key===Y.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)&&(Jw(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(fC));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(Y.ESC+`[I`):this.coreService.triggerDataEvent(Y.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(`${Y.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(`${Y.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function Jw(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var Yw=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)}},Xw=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 Pv)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},Zw=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 Xw(t)}getNullCell(){return new Pv}},Qw=class extends Sy{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new q),this.onBufferChange=this._onBufferChange.event,this._normal=new Zw(this._core.buffers.normal,`normal`),this._alternate=new Zw(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)}},$w=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)}},eT=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}},tT=[`cols`,`rows`],nT=0,rT=class extends Sy{constructor(e){super(),this._core=this._register(new qw(e)),this._addonManager=this._register(new Yw),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(tT.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 $w(this._core),this._parser}get unicode(){return this._checkProposedApi(),new eT(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 Qw(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
123
+ `,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 gv.get()},set promptLabel(e){gv.set(e)},get tooMuchOutput(){return vv.get()},set tooMuchOutput(e){vv.set(e)}}}_verifyIntegers(...e){for(nT of e)if(nT===1/0||isNaN(nT)||nT%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(nT of e)if(nT&&(nT===1/0||isNaN(nT)||nT%1!=0||nT<0))throw Error(`This API only accepts positive integers`)}},iT=`CommitMono`,aT=[400,700].map(e=>`${e} 14px ${iT}`),oT=`monospace`;function sT(e){return e.trim().replace(/^['"]|['"]$/g,``)}function cT(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>sT(e)!==iT);return r.length>0?r.join(`, `):oT}function lT(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function uT(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function dT(){return document.fonts?aT.every(e=>document.fonts.check(e)):!1}function fT(){return cT(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),dT())}function pT(e){document.fonts&&lT(document.fonts,aT,e)}var mT=`(max-width: 768px)`,hT=`(pointer: coarse)`;function gT({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var _T=window.matchMedia?.(hT),vT=window.matchMedia?.(mT);function yT(){return gT({coarse:!!_T?.matches,narrowWidth:!!vT?.matches})}function bT(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function xT(){fe.subscribe((e,t)=>{t.includes(`layout`)&&bT(e.layout)});let e=yT();bT(e),fe.dispatch(`setLayout`,e);let t=()=>fe.dispatch(`setLayout`,yT());return _T?.addEventListener?.(`change`,t),vT?.addEventListener?.(`change`,t),e}function ST(){return fe.snapshot().layout===`phone`}function CT(e){return fe.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var wT=`↑`,TT=`↓`,ET=`←`,DT=`→`,OT=`⌘`,kT=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),AT=[{action:`next-attention`,keyCaptions:[`J`],label:`Jump to the next session needing you`,stepByCode:new Map([[`KeyJ`,0]])},{action:`rail-step`,keyCaptions:[wT,TT],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]])},{action:`view-step`,keyCaptions:[ET,DT],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(kT)},{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 jT(e){return AT.filter(t=>t.unavailablePlatform!==e)}function MT(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function NT(e,t){return e.ctrlKey||e.shiftKey?!1:t===`mac`?e.metaKey&&!e.altKey:e.altKey&&!e.metaKey}var PT=new Set([`ArrowUp`,`ArrowDown`,`ArrowLeft`,`ArrowRight`,`PageUp`,`PageDown`]);function FT(e){return PT.has(e.key)?e.key:e.code}function IT(e,t){if(!NT(e,t))return null;let n=FT(e);for(let e of jT(t)){let t=e.stepByCode.get(n);if(t!==void 0)return{action:e.action,step:t}}return null}function LT(e){return e===`mac`?OT:`Alt`}function RT(e,t){let n=jT(t).find(t=>t.action===e);if(!n)throw Error(`Unknown dashboard shortcut: ${e}`);return n}function zT(e,t){return[LT(t),RT(e,t).keyCaptions.join(` `)]}function BT(e,t){let[n,r]=zT(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function VT(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function HT(e){let t=LT(e),n=e===`mac`?OT:`Ctrl`;return[{title:`Dashboard`,items:jT(e).map(e=>({combos:e.keyCaptions.map(e=>[t,e]),label:e.label}))},{title:`Navigation`,items:[{combos:[[wT],[TT]],label:`Move rail highlight (rail focused)`},{combos:[[ET],[DT]],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 UT=MT(navigator.userAgent);function WT(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(p(`span`,`shortcut-sep`,`+`)),e.appendChild(p(`kbd`,`kbd`,t))})}function GT(e){let t=p(`span`,`shortcut-keys`);return WT(t,e),t}var KT=6,qT=262144,JT=16384,YT=()=>{};function XT(e,t){if(t.length<=JT)e.push(t);else for(let n=0;n<t.length;n+=JT)e.push(t.slice(n,n+JT))}function ZT({budget:e=KT,maxChunkBytes:t=qT,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)XT(l,e),m+=e.length,a.readIdx++;else{m===0&&(XT(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,YT);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 QT=ZT(),$T=.3,eE=null;function tE(){return np(eE)}function nE(e){return rp(e,eE)}async function rE(){try{let e=await fetch(Xf,{credentials:`same-origin`,cache:`no-store`});e.ok&&(eE=ip(await e.json()))}catch{}}function iE(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function aE(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function oE(e){sE(Zf[e]??Zf.chime)}function sE(e){let t=iE(),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)}aE(t,i)}async function cE(e){try{let t=await fetch(ep(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function lE(e){let t=await cE(e);if(!t)return!1;let n=iE();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=$T,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),aE(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var uE=[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 dE(){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<uE.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=uE[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+uE.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function fE(){try{oE(Jf)}catch{}}function pE(e){try{let t=nE(e),n=tp(t);if(!n){oE(t);return}lE(n).then(e=>{e||fE()})}catch{}}var mE={"--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)`},hE={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`},gE={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`,...mE,"--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:{...hE,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`,...mE,"--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:{...hE,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`,...mE,"--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:{...hE,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`}}},_E=`phyrexian`,vE=null;function yE(e){let t=gE[e];if(!t)return;let n=vE;vE=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`&&dE()}function bE(e){document.documentElement.toggleAttribute(`data-compact-status`,e)}function xE(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function SE(){let e=gE[vE||_E];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 CE(){return Object.entries(gE).map(([e,t])=>({id:e,label:t.label}))}var wE=N().int().min(1).max(500),TE=N().int().min(1).max(200);Eo(`type`,[I({type:z(`input`),data:M()}),I({type:z(`claim`),cols:wE,rows:TE}),I({type:z(`unview`)})]);var EE=I({type:z(`pty-size`),cols:wE,rows:TE,seq:N().int().nonnegative()});function DE(e){try{return JSON.parse(e)}catch{return null}}function OE(e){let t=EE.safeParse(DE(e));return t.success?t.data:null}function kE(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function AE(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function jE(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function ME({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&kE(e,n))}function NE({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function PE({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:ME({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function FE({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function IE({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!kE(e,t),s=AE(n)?jE(n):null,c=r&&!!s&&!kE(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:ME({authoritative:e,isActiveViewer:r,lastClaim:a})}}function LE(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function RE(e){let t=LE(e);return t===null?null:OE(t)}function zE(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=RE(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 BE=``,VE=`\x1B`,HE=`\r`,UE=new Map([[`deleteContentBackward`,BE],[`deleteByComposition`,BE],[`deleteCompositionText`,BE],[`deleteWordBackward`,VE],[`deleteSoftLineBackward`,VE],[`deleteHardLineBackward`,VE]]);function WE(e){return UE.get(e)??``}var GE=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function KE(e){return typeof e!=`string`||e===``||!GE.has(e)}function qE(e){return e?e.keyCode===229||e.key===`Process`:!1}function JE(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 BE.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,HE)}var YE=/https?:\/\/[^\s<>"']+/g,XE=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),ZE={")":`(`,"]":`[`,"}":`{`};function QE(e,t){let n=0;for(let r of e)r===t&&n++;return n}function $E(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(XE.has(t)){e=e.slice(0,-1);continue}let n=ZE[t];if(n&&QE(e,n)<QE(e,t))e=e.slice(0,-1);else return e}}function eD(e){let t=[];for(let n of e.matchAll(YE)){let e=$E(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var tD=50;function nD(){return{activate(e,t){T_(t)},allowNonHttpProtocols:!1}}function rD(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<tD;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<tD;)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 iD(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=rD(r,t),o=[];for(let{start:e,end:t,url:n}of eD(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){T_(t)}})}n(o.length?o:void 0)}})}var aD=`(?:password|passwd|pwd|token|api[_-]?key|secret|credential|auth[_-]?token|access[_-]?key|secret[_-]?key|private[_-]?key|client[_-]?secret|connection[_-]?string)`,oD=`(?:"[^"\\r\\n]*"|'[^'\\r\\n]*'|[^\\s\\r\\n]+)`,sD=`[^\\S\\r\\n]`,cD=`${aD}${sD}*(?:=>|[:=])${sD}*`,lD=`[?&][A-Za-z0-9_.-]*`,uD=`[^\\r\\n;&|]{0,200}?`,dD=`(?:mysql|mysqldump|mysqladmin|mysqlshow|mariadb|mariadb-dump)`,fD=RegExp(`(${cD})${oD}`,`gi`),pD=RegExp(`(\\bBearer${sD}+)[A-Za-z0-9._~+/=-]{8,}`,`gi`),mD=[/\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],hD=[RegExp(`((?:^|\\s)--?${aD}${sD}+)${oD}`,`gi`),RegExp(`((?:^|\\s)-(?:pwd|pw)(?![a-z])${sD}*=?${sD}*)${oD}`,`g`),RegExp(`(-AsPlainText${sD}+)${oD}`,`gi`),RegExp(`((?:^|\\s)setx${sD}+[^\\s\\r\\n]*${aD}[^\\s\\r\\n]*${sD}+)${oD}`,`gi`)],gD=[RegExp(`(\\bauthorization${sD}*:${sD}*Basic${sD}+)[A-Za-z0-9+/=_-]{8,}`,`gi`),RegExp(`(\\bdocker${sD}+login\\b${uD}${sD}-p(?:${sD}+|=))${oD}`,`gi`),RegExp(`(\\bcurl\\b${uD}${sD}(?:--user|-u)(?:${sD}+|=)[^\\s:\\r\\n]+:)${oD}`,`gi`),RegExp(`(\\b${dD}\\b${uD}${sD}-p)${oD}`,`g`),/\b([a-z][a-z0-9+.-]*:\/\/[^\s:/@]+:)[^\s@/]+(?=@)/gi];[...hD,...gD];var _D=[/-----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],vD=RegExp(`(${lD}(?:${aD}|_key)=)[^&#\\s]+`,`gi`),yD=[fD,RegExp(`(\\b(?=[A-Z0-9_]*(?:SECRET|TOKEN|KEY|PASSWORD))[A-Z][A-Z0-9_]*=)${oD}`,`g`)],bD=[pD,...hD,...gD,...mD,..._D];function xD(e,t){return[...e.matchAll(t)].map(e=>({matchStart:e.index,valueStart:e.index+(e[1]??``).length,end:e.index+e[0].length}))}function SD(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 CD(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 wD(e){let t=xD(e,vD);return CD([...t,...yD.flatMap(n=>SD(xD(e,n),t)),...bD.flatMap(t=>xD(e,t))].map(e=>({start:e.valueStart,end:e.end})))}var TD=`#808080`,ED=new WeakMap;function DD(e,t,n){return`${e}:${t}:${n}`}function OD(e){return DD(e.marker.line,e.x,e.width)}function kD(e,t){let n=t;for(;n>0&&t-n<63&&e.getLine(n)?.isWrapped;)n--;return n}function AD(e,t){let n=t;for(;n-t<63&&e.getLine(n+1)?.isWrapped;)n++;return n}function jD(e,t,n){let r=``;for(let i=t;i<=n;i++)r+=e.getLine(i)?.translateToString(!1)??``;return r}function MD(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 ND(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 PD(e,t,n,r){let i=[];if(wD(jD(e,t,n)).length===0)return i;let{text:a,cellAt:o}=MD(e,t,n,r);for(let e of wD(a))ND(i,o.slice(e.start,e.end));return i}function FD(e,t){let n=e.getNullCell(),r=[],i=t;for(;i<e.length;){let t=AD(e,i);r.push(...PD(e,i,t,n)),i=t+1}return r}function ID(){return{masks:[],watermark:null,isFullRescanOwed:!0}}function LD(e){e.decoration.dispose(),e.marker.dispose()}function RD(e){for(let t of e.masks)LD(t);e.masks.length=0,e.watermark?.dispose(),e.watermark=null,e.isFullRescanOwed=!0}function zD(e,t){let n=e.watermark;return e.isFullRescanOwed||!n||n.isDisposed?0:Math.min(n.line,t.baseY)}function BD(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 VD(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(OD(r),r),r=e.masks.at(-1);return BD(e),n}function HD(e,t){let n={normal:ID(),alternate:ID()},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??TD,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(!n_())return;let t=e.buffer.active,r=n[t.type],i=kD(t,zD(r,t)),a=VD(r,i);for(let e of FD(t,i)){let n=DD(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())LD(e);r.watermark?.dispose(),r.watermark=e.registerMarker(-t.cursorY)??null,r.isFullRescanOwed=!1}function u(){RD(n.normal),RD(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=>{RD(n.alternate),s(`normal`),e.type===`alternate`&&l()})],p=i_(d);t.addEventListener(`abort`,()=>{p();for(let e of f)e.dispose();u(),ED.delete(e)},{once:!0}),ED.set(e,d)}function UD(e){ED.get(e)?.()}function WD({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}async function GD(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||Xg(await qD(r))}catch{Xg(`Upload failed`)}}async function KD(e,t){for(let n of t)await GD(e,n)}async function qD(e){try{let t=await e.json();if(t&&typeof t.error==`string`)return`Upload failed: ${t.error}`}catch{}return`Upload failed`}var JD=1.2,YD=.005;function XD(e,t){let n=Math.abs(t);return n<10?!1:n>Math.abs(e)*JD}function ZD(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 QD(e,t,n){let r=e.length>=4?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function $D(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 eO({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function tO(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)-YD*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=ZD(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function nO(e,t){return e===`alternate`||!!t&&t!==`none`}function rO(e,t){return!(e>0)||!(t>0)?0:e/t}var iO=1;function aO(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function oO(e,t){for(let n of e)if(n.identifier===t)return n;return null}function sO(e,t){if(aO(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=()=>nO(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return rO(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:iO,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}=tO(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=eO({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=oO(e.touches,r);if(!u)return;if(!s){if(!XD(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=QD([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=QD(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=ZD(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=QD(l,o,e.timeStamp);let t=$D(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}var cO=Object.defineProperty,lO=Object.getOwnPropertyDescriptor,uO=(e,t,n,r)=>{for(var i=r>1?void 0:r?lO(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&&cO(t,n,i),i},dO=(e,t)=>(n,r)=>t(n,r,e),fO=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?_O.isErrorNoTelemetry(e)?new _O(e.message+`
124
+
125
+ `+e.stack):Error(e.message+`
126
+
127
+ `+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 pO(e){hO(e)||fO.onUnexpectedError(e)}var mO=`Canceled`;function hO(e){return e instanceof gO||e instanceof Error&&e.name===mO&&e.message===mO}var gO=class extends Error{constructor(){super(mO),this.name=this.message}},_O=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`}},vO;(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})(vO||={});var yO=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||vO.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};yO.empty=new yO(e=>{});function bO(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 xO;(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})(xO||={});var SO=null;function CO(e){return SO?.trackDisposable(e),e}function wO(e){SO?.markAsDisposed(e)}function TO(e,t){SO?.setParent(e,t)}function EO(e){if(xO.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 DO(...e){return OO(()=>EO(e))}function OO(e){let t=CO({dispose:bO(()=>{wO(t),e()})});return t}var kO=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,CO(this)}dispose(){this._isDisposed||(wO(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{EO(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return TO(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),TO(e,null))}};kO.DISABLE_DISPOSED_WARNING=!1;var AO=kO,jO=class{constructor(){this._store=new AO,CO(this),TO(this._store,this)}dispose(){wO(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};jO.None=Object.freeze({dispose(){}});var MO=class{constructor(){this._isDisposed=!1,CO(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&TO(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,wO(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&TO(e,null),e}},NO=typeof process<`u`&&`title`in process,PO=NO?`node`:navigator.userAgent,FO=NO?`node`:navigator.platform,IO=PO.includes(`Firefox`),LO=PO.includes(`Edge`),RO=/^((?!chrome|android).)*safari/i.test(PO);function zO(){if(!RO)return 0;let e=PO.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(FO),[`Windows`,`Win16`,`Win32`,`WinCE`].includes(FO),FO.indexOf(`Linux`),/\bCrOS\b/.test(PO);var BO=``,VO=0,HO=0,UO=0,WO=0,GO={css:`#00000000`,rgba:0},KO;(e=>{function t(e,t,n,r){return r===void 0?`#${XO(e)}${XO(t)}${XO(n)}`:`#${XO(e)}${XO(t)}${XO(n)}${XO(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})(KO||={});var qO;(e=>{function t(e,t){if(WO=(t.rgba&255)/255,WO===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 VO=a+Math.round((n-a)*WO),HO=o+Math.round((r-o)*WO),UO=s+Math.round((i-s)*WO),{css:KO.toCss(VO,HO,UO),rgba:KO.toRgba(VO,HO,UO)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=YO.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return KO.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[VO,HO,UO]=YO.toChannels(t),{css:KO.toCss(VO,HO,UO),rgba:t}}e.opaque=i;function a(e,t){return WO=Math.round(t*255),[VO,HO,UO]=YO.toChannels(e.rgba),{css:KO.toCss(VO,HO,UO,WO),rgba:KO.toRgba(VO,HO,UO,WO)}}e.opacity=a;function o(e,t){return WO=e.rgba&255,a(e,WO*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(qO||={});var koe;(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 VO=parseInt(e.slice(1,2).repeat(2),16),HO=parseInt(e.slice(2,3).repeat(2),16),UO=parseInt(e.slice(3,4).repeat(2),16),KO.toColor(VO,HO,UO);case 5:return VO=parseInt(e.slice(1,2).repeat(2),16),HO=parseInt(e.slice(2,3).repeat(2),16),UO=parseInt(e.slice(3,4).repeat(2),16),WO=parseInt(e.slice(4,5).repeat(2),16),KO.toColor(VO,HO,UO,WO);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 VO=parseInt(r[1]),HO=parseInt(r[2]),UO=parseInt(r[3]),WO=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),KO.toColor(VO,HO,UO,WO);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[VO,HO,UO,WO]=t.getImageData(0,0,1,1).data,WO!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:KO.toRgba(VO,HO,UO,WO),css:e}}e.toColor=r})(koe||={});var JO;(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})(JO||={});var YO;(e=>{function t(e,t){if(WO=(t&255)/255,WO===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 VO=a+Math.round((n-a)*WO),HO=o+Math.round((r-o)*WO),UO=s+Math.round((i-s)*WO),KO.toRgba(VO,HO,UO)}e.blend=t;function n(e,t,n){let a=JO.relativeLuminance(e>>8),o=JO.relativeLuminance(t>>8);if(ZO(a,o)<n){if(o<a){let o=r(e,t,n),s=ZO(a,JO.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>ZO(a,JO.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=ZO(a,JO.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>ZO(a,JO.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=ZO(JO.relativeLuminance2(o,s,c),JO.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=ZO(JO.relativeLuminance2(o,s,c),JO.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=ZO(JO.relativeLuminance2(o,s,c),JO.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=ZO(JO.relativeLuminance2(o,s,c),JO.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})(YO||={});function XO(e){let t=e.toString(16);return t.length<2?`0`+t:t}function ZO(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function QO(e){if(!e)throw Error(`value must not be falsy`);return e}function $O(e){return 57508<=e&&e<=57558}function Aoe(e){return 57520<=e&&e<=57527}function joe(e){return 57344<=e&&e<=63743}function Moe(e){return 9472<=e&&e<=9631}function Noe(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 Poe(e,t,n,r){return t===1&&n>Math.ceil(r*1.5)&&e!==void 0&&e>255&&!Noe(e)&&!$O(e)&&!joe(e)}function ek(e){return $O(e)||Moe(e)}function Foe(){return{css:{canvas:tk(),cell:tk()},device:{canvas:tk(),cell:tk(),char:{width:0,height:0,left:0,top:0}}}}function tk(){return{width:0,height:0}}function Ioe(e,t,n=0){return(e-(Math.round(t)*2-n))%(Math.round(t)*2)}var nk=0,rk=0,ik=!1,ak=!1,ok=!1,sk,ck=0,Loe=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,rk=0,nk=0,ak=!1,ik=!1,ok=!1,sk=this._themeService.colors,ck=0,e.getCode()!==0&&e.extended.underlineStyle===4){let e=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));ck=t*r%(Math.round(e)*2)}if(this._decorationService.forEachDecorationAtCell(t,n,`bottom`,e=>{e.backgroundColorRGB&&(rk=e.backgroundColorRGB.rgba>>8&16777215,ak=!0),e.foregroundColorRGB&&(nk=e.foregroundColorRGB.rgba>>8&16777215,ik=!0)}),ok=this._selectionRenderModel.isCellSelected(this._terminal,t,n),ok){if(this.result.fg&67108864||this.result.bg&50331648){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:rk=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:rk=(this.result.fg&16777215)<<8|255;break;default:rk=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:rk=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:rk=(this.result.bg&16777215)<<8|255}rk=YO.blend(rk,(this._coreBrowserService.isFocused?sk.selectionBackgroundOpaque:sk.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else rk=(this._coreBrowserService.isFocused?sk.selectionBackgroundOpaque:sk.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(ak=!0,sk.selectionForeground&&(nk=sk.selectionForeground.rgba>>8&16777215,ik=!0),ek(e.getCode())){if(this.result.fg&67108864&&!(this.result.bg&50331648))nk=(this._coreBrowserService.isFocused?sk.selectionBackgroundOpaque:sk.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:nk=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:nk=(this.result.bg&16777215)<<8|255}else switch(this.result.fg&50331648){case 16777216:case 33554432:nk=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:nk=(this.result.fg&16777215)<<8|255;break;default:nk=this._themeService.colors.foreground.rgba}nk=YO.blend(nk,(this._coreBrowserService.isFocused?sk.selectionBackgroundOpaque:sk.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}ik=!0}}this._decorationService.forEachDecorationAtCell(t,n,`top`,e=>{e.backgroundColorRGB&&(rk=e.backgroundColorRGB.rgba>>8&16777215,ak=!0),e.foregroundColorRGB&&(nk=e.foregroundColorRGB.rgba>>8&16777215,ik=!0)}),ak&&(rk=ok?e.bg&-150994944|rk|50331648:e.bg&-16777216|rk|50331648),ik&&(nk=e.fg&-83886080|nk|50331648),this.result.fg&67108864&&(ak&&!ik&&(nk=this.result.bg&50331648?this.result.fg&-134217728|this.result.bg&67108863:this.result.fg&-134217728|sk.background.rgba>>8&16777215|50331648,ik=!0),!ak&&ik&&(rk=this.result.fg&50331648?this.result.bg&-67108864|this.result.fg&67108863:this.result.bg&-67108864|sk.foreground.rgba>>8&16777215|50331648,ak=!0)),sk=void 0,this.result.bg=ak?rk:this.result.bg,this.result.fg=ik?nk:this.result.fg,this.result.ext&=536870911,this.result.ext|=ck<<29&3758096384}},Roe=.5,lk=IO||LO?`bottom`:`ideographic`,zoe={"▀":[{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}]},Boe={"░":[[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]]},Voe={"─":{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`}},uk={"":{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}};uk[``]=uk[``],uk[``]=uk[``];function Hoe(e,t,n,r,i,a,o,s){let c=zoe[t];if(c)return Uoe(e,c,n,r,i,a),!0;let l=Boe[t];if(l)return Woe(e,l,n,r,i,a),!0;let u=Voe[t];if(u)return Goe(e,u,n,r,i,a,s),!0;let d=uk[t];return d?(Koe(e,d,n,r,i,a,o,s),!0):!1}function Uoe(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 dk=new Map;function Woe(e,t,n,r,i,a){let o=dk.get(t);o||(o=new Map,dk.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=QO(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=QO(e.createPattern(i,null)),o.set(s,c)}e.fillStyle=c,e.fillRect(n,r,i,a)}function Goe(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=pk[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,mk(l,i,a,n,r,!0,o))}e.stroke(),e.closePath()}}function Koe(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=pk[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,mk(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 fk(e,t,n=0){return Math.max(Math.min(e,t),n)}var pk={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 mk(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]=fk(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]=fk(Math.round(l[e]+.5)-.5,n,0)),l[e]+=i;return l}var hk=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={}}},gk=class{constructor(){this._data=new hk}set(e,t,n,r,i){this._data.get(e,t)||this._data.set(e,t,new hk),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()}},_k=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()}},qoe=class extends _k{_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())}}},Joe=class extends _k{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Yoe=!NO&&`requestIdleCallback`in window?Joe:qoe,vk=class e{constructor(){this.fg=0,this.bg=0,this.extended=new yk}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}},yk=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}},bk=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};bk.Undefined=new bk(void 0);var Xoe=globalThis.performance&&typeof globalThis.performance.now==`function`,Zoe=class e{static create(t){return new e(t)}constructor(e){this._now=Xoe&&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}},xk;(e=>{e.None=()=>jO.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(DO(...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 Ek({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 Ek({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 Ek({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 Ek({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 Ek({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function x(e){return new Promise(t=>n(e)(t))}e.toPromise=x;function S(e){let t=new Ek;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=S;function ee(e,t){return e(e=>t.fire(e))}e.forward=ee;function te(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=te;class ne{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 Ek(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 ne(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 AO?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=C})(xk||={});var Sk=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 Zoe,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}}};Sk.all=new Set,Sk._idPool=0;var Qoe=Sk,Ck=-1,wk=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 tse(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}};wk._idPool=1;var $oe=wk,ese=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
128
+ `).slice(2).join(`
129
+ `))}},tse=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},nse=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},rse=0,Tk=class{constructor(e){this.value=e,this.id=rse++}},ise=2,Ek=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Ck>0||this._options?.leakWarningThreshold?new $oe(e?.onListenerError??pO,this._options?.leakWarningThreshold??Ck):void 0,this._perfMon=this._options?._profName?new Qoe(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 nse(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||pO)(n),jO.None}if(this._disposed)return jO.None;t&&(e=e.bind(t));let r=new Tk(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=ese.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Tk?(this._deliveryQueue??=new ase,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=OO(()=>{i?.(),this._removeListener(r)});return n instanceof AO?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*ise<=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||pO;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 Tk)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}},ase=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}},Dk={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}},Ok=2,kk,Ak=class e{constructor(e,t,n){this._document=e,this._config=t,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new gk,this._cacheMapCombined=new gk,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new vk,this._textureSize=512,this._onAddTextureAtlasCanvas=new Ek,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new Ek,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=Nk(e,this._config.deviceCellWidth*4+Ok*2,this._config.deviceCellHeight+Ok*2),this._tmpCtx=QO(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 Yoe;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 jk(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 jk(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 kk=e.get(t,n,r,i),kk||(kk=this._drawToCache(t,n,r,i,a,o),e.set(t,n,r,i,kk)),kk}_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 GO;let i;switch(e){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(t);break;case 50331648:let e=vk.toColorRGB(t);i=KO.toColor(e[0],e[1],e[2]);break;default:i=n?qO.opaque(this._config.colors.foreground):this._config.colors.background}return this._config.allowTransparency||(i=qO.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=vk.toColorRGB(a);d=KO.toColor(e[0],e[1],e[2]);break;default:d=o?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(d=qO.opaque(d)),s&&(d=qO.multiplyOpacity(d,Roe)),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=YO.ensureContrastRatio(f,p,this._config.minimumContrastRatio/(c?2:1));if(!m){u.setColor(e,r,null);return}let h=KO.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)+Ok*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<c&&(this._tmpCanvas.width=c);let l=Math.min(this._config.deviceCellHeight+Ok*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 Dk;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 x=this._getBackgroundColor(b,y,d,f);this._tmpCtx.globalCompositeOperation=`copy`,this._tmpCtx.fillStyle=x.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=`source-over`;let S=u?this._config.fontWeightBold:this._config.fontWeight,ee=p?`italic`:``;this._tmpCtx.font=`${ee} ${S} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=lk;let te=s.length===1&&$O(s.charCodeAt(0)),ne=s.length===1&&Aoe(s.charCodeAt(0)),re=this._getForegroundColor(n,b,y,r,v,_,d,f,u,ek(s.charCodeAt(0)));this._tmpCtx.fillStyle=re.css;let C=ne?0:Ok*2,w=!1;this._config.customGlyphs!==!1&&(w=Hoe(this._tmpCtx,s,C,C,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let T=!te,ie;if(ie=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())T=!1,this._tmpCtx.strokeStyle=`rgb(${vk.toColorRGB(this._workAttributeData.getUnderlineColor()).join(`,`)})`;else{T=!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<ie;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=Ioe(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*ie,o-r+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=x.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*ie,C+t),this._tmpCtx.stroke()}if(w||this._tmpCtx.fillText(s,C,C+this._config.deviceCharHeight),s===`_`&&!this._config.allowTransparency){let e=Mk(this._tmpCtx.getImageData(C,C,this._config.deviceCellWidth,this._config.deviceCellHeight),x,re,T);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=x.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=Mk(this._tmpCtx.getImageData(C,C,this._config.deviceCellWidth,this._config.deviceCellHeight),x,re,T),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*ie,C+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();let ae=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),E;if(E=this._config.allowTransparency?ose(ae):Mk(ae,x,re,T),E)return Dk;let D=this._findGlyphBoundingBox(ae,this._workBoundingBox,c,ne,w,C),O,k;for(;;){if(this._activePages.length===0){let e=this._createNewPage();O=e,k=e.currentRow,k.height=D.size.y;break}O=this._activePages[this._activePages.length-1],k=O.currentRow;for(let e of this._activePages)D.size.y<=e.currentRow.height&&(O=e,k=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(let t of this._activePages[e].fixedRows)t.height<=k.height&&D.size.y<=t.height&&(O=this._activePages[e],k=t);if(D.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new jk(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),O=this._overflowSizePage,k=this._overflowSizePage.currentRow,k.x+D.size.x>=O.canvas.width&&(k.x=0,k.y+=k.height,k.height=0);break}if(k.y+D.size.y>=O.canvas.height||k.height>D.size.y+2){let t=!1;if(O.currentRow.y+O.currentRow.height+D.size.y>=O.canvas.height){let n;for(let e of this._activePages)if(e.currentRow.y+e.currentRow.height+D.size.y<e.canvas.height){n=e;break}if(n)O=n;else if(e.maxAtlasPages&&this._pages.length>=e.maxAtlasPages&&k.y+D.size.y<=O.canvas.height&&k.height>=D.size.y&&k.x+D.size.x<=O.canvas.width)t=!0;else{let e=this._createNewPage();O=e,k=e.currentRow,k.height=D.size.y,t=!0}}t||(O.currentRow.height>0&&O.fixedRows.push(O.currentRow),k={x:0,y:O.currentRow.y+O.currentRow.height,height:D.size.y},O.fixedRows.push(k),O.currentRow={x:0,y:k.y+k.height,height:0})}if(k.x+D.size.x<=O.canvas.width)break;k===O.currentRow?(k.x=0,k.y+=k.height,k.height=0):O.fixedRows.splice(O.fixedRows.indexOf(k),1)}return D.texturePage=this._pages.indexOf(O),D.texturePosition.x=k.x,D.texturePosition.y=k.y,D.texturePositionClipSpace.x=k.x/O.canvas.width,D.texturePositionClipSpace.y=k.y/O.canvas.height,D.sizeClipSpace.x/=O.canvas.width,D.sizeClipSpace.y/=O.canvas.height,k.height=Math.max(k.height,D.size.y),k.x+=D.size.x,O.ctx.putImageData(ae,D.texturePosition.x-this._workBoundingBox.left,D.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,D.size.x,D.size.y),O.addGlyph(D),O.version++,D}_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)}}}},jk=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=Nk(e,t,t),this.ctx=QO(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 Mk(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 ose(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function Nk(e,t,n){let r=e.createElement(`canvas`);return r.width=t,r.height=n,r}function sse(e,t,n,r,i,a,o,s){let c={foreground:a.foreground,background:a.background,cursor:GO,cursorAccent:GO,selectionForeground:GO,selectionBackgroundTransparent:GO,selectionBackgroundOpaque:GO,selectionInactiveBackgroundTransparent:GO,selectionInactiveBackgroundOpaque:GO,overviewRulerBorder:GO,scrollbarSliderBackground:GO,scrollbarSliderHoverBackground:GO,scrollbarSliderActiveBackground:GO,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 Pk(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 cse(e){return(e&50331648)==16777216||(e&50331648)==33554432}var Fk=[];function Ik(e,t,n,r,i,a,o,s,c){let l=sse(r,i,a,o,t,n,s,c);for(let t=0;t<Fk.length;t++){let n=Fk[t],r=n.ownedBy.indexOf(e);if(r>=0){if(Pk(n.config,l))return n.atlas;n.ownedBy.length===1?(n.atlas.dispose(),Fk.splice(t,1)):n.ownedBy.splice(r,1);break}}for(let t=0;t<Fk.length;t++){let n=Fk[t];if(Pk(n.config,l))return n.ownedBy.push(e),n.atlas}let u=e._core,d={atlas:new Ak(document,l,u.unicodeService),config:l,ownedBy:[e]};return Fk.push(d),d.atlas}function Lk(e){for(let t=0;t<Fk.length;t++){let n=Fk[t].ownedBy.indexOf(e);if(n!==-1){Fk[t].ownedBy.length===1?(Fk[t].atlas.dispose(),Fk.splice(t,1)):Fk[t].ownedBy.splice(n,1);break}}}var Rk=600,lse=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=Rk){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let e=Rk-(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=Rk-(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})},Rk)},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 zk(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 OO(()=>r?.disconnect())}function use(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var Bk=class e extends vk{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new yk,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?use(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()]}},Vk=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function Hk(e,t,n){let r=QO(e.createProgram());if(e.attachShader(r,QO(Uk(e,e.VERTEX_SHADER,t))),e.attachShader(r,QO(Uk(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 Uk(e,t,n){let r=QO(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 dse(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 fse=class{constructor(e){this.texture=e,this.version=-1}},pse=`#version 300 es
130
+ layout (location = 0) in vec2 a_unitquad;
131
+ layout (location = 1) in vec2 a_cellpos;
132
+ layout (location = 2) in vec2 a_offset;
133
+ layout (location = 3) in vec2 a_size;
134
+ layout (location = 4) in float a_texpage;
135
+ layout (location = 5) in vec2 a_texcoord;
136
+ layout (location = 6) in vec2 a_texsize;
137
+
138
+ uniform mat4 u_projection;
139
+ uniform vec2 u_resolution;
140
+
141
+ out vec2 v_texcoord;
142
+ flat out int v_texpage;
143
+
144
+ void main() {
145
+ vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
146
+ gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
147
+ v_texpage = int(a_texpage);
148
+ v_texcoord = a_texcoord + a_unitquad * a_texsize;
149
+ }`;function mse(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
150
+ precision lowp float;
151
+
152
+ in vec2 v_texcoord;
153
+ flat in int v_texpage;
154
+
155
+ uniform sampler2D u_texture[${e}];
156
+
157
+ out vec4 outColor;
158
+
159
+ void main() {
160
+ if (v_texpage == 0) {
161
+ outColor = texture(u_texture[0], v_texcoord);
162
+ } ${t}
163
+ }`}var Wk=11,Gk=Wk*Float32Array.BYTES_PER_ELEMENT,hse=2,Kk=0,qk,Jk=0,Yk=0,gse=class extends jO{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;Ak.maxAtlasPages===void 0&&(Ak.maxAtlasPages=Math.min(32,QO(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS))),Ak.maxTextureSize=QO(i.getParameter(i.MAX_TEXTURE_SIZE))),this._program=QO(Hk(i,pse,mse(Ak.maxAtlasPages))),this._register(OO(()=>i.deleteProgram(this._program))),this._projectionLocation=QO(i.getUniformLocation(this._program,`u_projection`)),this._resolutionLocation=QO(i.getUniformLocation(this._program,`u_resolution`)),this._textureLocation=QO(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(OO(()=>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(OO(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=QO(i.createBuffer()),this._register(OO(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,2,i.FLOAT,!1,Gk,0),i.vertexAttribDivisor(2,1),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,i.FLOAT,!1,Gk,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(3,1),i.enableVertexAttribArray(4),i.vertexAttribPointer(4,1,i.FLOAT,!1,Gk,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(4,1),i.enableVertexAttribArray(5),i.vertexAttribPointer(5,2,i.FLOAT,!1,Gk,5*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(5,1),i.enableVertexAttribArray(6),i.vertexAttribPointer(6,2,i.FLOAT,!1,Gk,7*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(6,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,Gk,9*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.useProgram(this._program);let l=new Int32Array(Ak.maxAtlasPages);for(let e=0;e<Ak.maxAtlasPages;e++)l[e]=e;i.uniform1iv(this._textureLocation,l),i.uniformMatrix4fv(this._projectionLocation,!1,Vk),this._atlasTextures=[];for(let e=0;e<Ak.maxAtlasPages;e++){let t=new fse(QO(i.createTexture()));this._register(OO(()=>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){Kk=(n*this._terminal.cols+t)*Wk,r===0||r===void 0?e.fill(0,Kk,Kk+Wk-1-hse):this._atlas&&(qk=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),Jk=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),i!==l&&qk.offset.x>Jk?(Yk=qk.offset.x-Jk,e[Kk]=-(qk.offset.x-Yk)+this._dimensions.device.char.left,e[Kk+1]=-qk.offset.y+this._dimensions.device.char.top,e[Kk+2]=(qk.size.x-Yk)/this._dimensions.device.canvas.width,e[Kk+3]=qk.size.y/this._dimensions.device.canvas.height,e[Kk+4]=qk.texturePage,e[Kk+5]=qk.texturePositionClipSpace.x+Yk/this._atlas.pages[qk.texturePage].canvas.width,e[Kk+6]=qk.texturePositionClipSpace.y,e[Kk+7]=qk.sizeClipSpace.x-Yk/this._atlas.pages[qk.texturePage].canvas.width,e[Kk+8]=qk.sizeClipSpace.y):(e[Kk]=-qk.offset.x+this._dimensions.device.char.left,e[Kk+1]=-qk.offset.y+this._dimensions.device.char.top,e[Kk+2]=qk.size.x/this._dimensions.device.canvas.width,e[Kk+3]=qk.size.y/this._dimensions.device.canvas.height,e[Kk+4]=qk.texturePage,e[Kk+5]=qk.texturePositionClipSpace.x,e[Kk+6]=qk.texturePositionClipSpace.y,e[Kk+7]=qk.sizeClipSpace.x,e[Kk+8]=qk.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&Poe(r,c,qk.size.x,this._dimensions.device.cell.width)&&(e[Kk+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*Wk;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+=Wk}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*Wk,a=this._vertices.attributes.subarray(i,i+e.lineLengths[t]*Wk);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/Wk)}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}},_se=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 vse(){return new _se}var Xk=4,Zk=1,Qk=2,$k=3,yse=2147483648,bse=class{constructor(){this.cells=new Uint32Array,this.lineLengths=new Uint32Array,this.selection=vse()}resize(e,t){let n=e*t*Xk;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)}},xse=`#version 300 es
164
+ layout (location = 0) in vec2 a_position;
165
+ layout (location = 1) in vec2 a_size;
166
+ layout (location = 2) in vec4 a_color;
167
+ layout (location = 3) in vec2 a_unitquad;
168
+
169
+ uniform mat4 u_projection;
170
+
171
+ out vec4 v_color;
172
+
173
+ void main() {
174
+ vec2 zeroToOne = a_position + (a_unitquad * a_size);
175
+ gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
176
+ v_color = a_color;
177
+ }`,Sse=`#version 300 es
178
+ precision lowp float;
179
+
180
+ in vec4 v_color;
181
+
182
+ out vec4 outColor;
183
+
184
+ void main() {
185
+ outColor = v_color;
186
+ }`,eA=8,tA=eA*Float32Array.BYTES_PER_ELEMENT,Cse=20*eA,nA=class{constructor(){this.attributes=new Float32Array(Cse),this.count=0}},rA=0,iA=0,aA=0,oA=0,sA=0,cA=0,lA=0,wse=class extends jO{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._themeService=r,this._vertices=new nA,this._verticesCursor=new nA;let i=this._gl;this._program=QO(Hk(i,xse,Sse)),this._register(OO(()=>i.deleteProgram(this._program))),this._projectionLocation=QO(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(OO(()=>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(OO(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=QO(i.createBuffer()),this._register(OO(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,i.FLOAT,!1,tA,0),i.vertexAttribDivisor(0,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,tA,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,4,i.FLOAT,!1,tA,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,Vk),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)*Xk,d=e.cells[u+Zk],f=e.cells[u+Qk],p=!!(f&67108864),(d!==s||f!==c&&(l||p))&&((s!==0||l&&c!==0)&&(m=r++*eA,this._updateRectangle(n,m,c,s,o,a,i)),o=a,s=d,c=f,l=p);(s!==0||l&&c!==0)&&(m=r++*eA,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++*eA,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++*eA,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++*eA,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++*eA,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:rA=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:rA=(n&16777215)<<8;break;default:rA=this._themeService.colors.foreground.rgba}else switch(r&50331648){case 16777216:case 33554432:rA=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:rA=(r&16777215)<<8;break;default:rA=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=dse(e.attributes,this._terminal.rows*this._terminal.cols*eA)),iA=i*this._dimensions.device.cell.width,aA=o*this._dimensions.device.cell.height,oA=(rA>>24&255)/255,sA=(rA>>16&255)/255,cA=(rA>>8&255)/255,lA=1,this._addRectangle(e.attributes,t,iA,aA,(a-i)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,oA,sA,cA,lA)}_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])}},Tse=class extends jO{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(OO(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=QO(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=Ik(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=lk,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}`}},Ese=class extends Tse{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&&cse(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()}},uA=typeof window==`object`?window:globalThis,dA=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new Ek,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new Ek,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}};dA.INSTANCE=new dA;var fA=dA;function Dse(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}fA.INSTANCE.onDidChangeZoomLevel,fA.INSTANCE.onDidChangeFullscreen;var pA=typeof navigator==`object`?navigator.userAgent:``;pA.indexOf(`Firefox`);var mA=pA.indexOf(`AppleWebKit`)>=0;!(pA.indexOf(`Chrome`)>=0)&&pA.indexOf(`Safari`),pA.indexOf(`Electron/`),pA.indexOf(`Android`);var hA=!1;if(typeof uA.matchMedia==`function`){let e=uA.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=uA.matchMedia(`(display-mode: fullscreen)`);hA=e.matches,Dse(uA,e,({matches:e})=>{hA&&t.matches||(hA=e)})}function Ose(){return hA}var gA=`en`,_A=!1,vA=!1,yA=!1,bA=gA,xA,SA=globalThis,CA;typeof SA.vscode<`u`&&typeof SA.vscode.process<`u`?CA=SA.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(CA=process);var kse=typeof CA?.versions?.electron==`string`&&CA?.type===`renderer`;if(typeof CA==`object`){CA.platform,CA.platform,_A=CA.platform===`linux`,_A&&CA.env.SNAP&&CA.env.SNAP_REVISION,CA.env.CI||CA.env.BUILD_ARTIFACTSTAGINGDIRECTORY,bA=gA;let e=CA.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,bA=t.resolvedLanguage||gA,t.languagePack?.translationsConfigFile}catch{}vA=!0}else typeof navigator==`object`&&!kse?(xA=navigator.userAgent,xA.indexOf(`Windows`),xA.indexOf(`Macintosh`),(xA.indexOf(`Macintosh`)>=0||xA.indexOf(`iPad`)>=0||xA.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,_A=xA.indexOf(`Linux`)>=0,xA?.indexOf(`Mobi`),yA=!0,bA=globalThis._VSCODE_NLS_LANGUAGE||gA,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var wA=vA;yA&&typeof SA.importScripts==`function`&&SA.origin;var TA=xA,EA=bA,Ase;(e=>{function t(){return EA}e.value=t;function n(){return EA.length===2?EA===`en`:EA.length>=3&&EA[0]===`e`&&EA[1]===`n`&&EA[2]===`-`}e.isDefaultVariant=n;function r(){return EA===`en`}e.isDefault=r})(Ase||={});var jse=typeof SA.postMessage==`function`&&!SA.importScripts;(()=>{if(jse){let e=[];SA.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}),SA.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var Mse=!!(TA&&TA.indexOf(`Chrome`)>=0);TA&&TA.indexOf(`Firefox`),!Mse&&TA&&TA.indexOf(`Safari`),TA&&TA.indexOf(`Edg/`),TA&&TA.indexOf(`Android`);var DA=typeof navigator==`object`?navigator:{};wA||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||DA&&DA.clipboard&&DA.clipboard.writeText,wA||DA&&DA.clipboard&&DA.clipboard.readText,wA||Ose()||DA.keyboard,`ontouchstart`in uA||DA.maxTouchPoints,uA.PointerEvent&&(`ontouchstart`in uA||navigator.maxTouchPoints);var OA=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}},kA=new OA,AA=new OA,jA=new OA;Array(230);var Nse;(e=>{function t(e){return kA.keyCodeToStr(e)}e.toString=t;function n(e){return kA.strToKeyCode(e)}e.fromString=n;function r(e){return AA.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return jA.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return AA.strToKeyCode(e)||jA.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 kA.keyCodeToStr(e)}e.toElectronAccelerator=o})(Nse||={});var MA=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Pse;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Fse?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:xk.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:MA})})(Pse||={});var Fse=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?MA:(this._emitter||=new Ek,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Ise;(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})(Ise||={});var NA=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 Ek,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 xk.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())}};NA.EMPTY=NA.fromArray([]);function Lse(e){return PA(e,0)}function PA(e,t){switch(typeof e){case`object`:return e===null?FA(349,t):Array.isArray(e)?zse(e,t):Bse(e,t);case`string`:return IA(e,t);case`boolean`:return Rse(e,t);case`number`:return FA(e,t);case`undefined`:return FA(937,t);default:return FA(617,t)}}function FA(e,t){return(t<<5)-t+e|0}function Rse(e,t){return FA(e?433:863,t)}function IA(e,t){t=FA(149417,t);for(let n=0,r=e.length;n<r;n++)t=FA(e.charCodeAt(n),t);return t}function zse(e,t){return t=FA(104579,t),e.reduce((e,t)=>PA(t,e),t)}function Bse(e,t){return t=FA(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=IA(n,t),PA(e[n],t)),t)}var{registerWindow:Vse,getWindow:Hse,getDocument:Use,getWindows:Wse,getWindowsCount:Gse,getWindowId:Kse,getWindowById:qse,hasWindow:Jse,onDidRegisterWindow:Yse,onWillUnregisterWindow:Xse,onDidUnregisterWindow:Zse}=function(){let e=new Map,t={window:uA,disposables:new AO};e.set(uA.vscodeWindowId,t);let n=new Ek,r=new Ek,i=new Ek;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 jO.None;let a=new AO,o={window:t,disposables:a.add(new AO)};return e.set(t.vscodeWindowId,o),a.add(OO(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(LA(t,$se.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:uA},getDocument(e){return Hse(e).document}}}(),Qse=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 LA(e,t,n,r){return new Qse(e,t,n,r)}var RA=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}};RA.None=new RA(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=Lse(n),a=r.get(i);if(a)a.users+=1;else{let o=new Ek,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(OO(()=>{--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 $se={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:mA?`webkitAnimationStart`:`animationstart`,ANIMATION_END:mA?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:mA?`webkitAnimationIteration`:`animationiteration`},ece=class extends jO{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 MO,this._charAtlasDisposable=this._register(new MO),this._observerDisposable=this._register(new MO),this._model=new bse,this._workCell=new Bk,this._workCell2=new Bk,this._rectangleRenderer=this._register(new MO),this._glyphRenderer=this._register(new MO),this._onChangeTextureAtlas=this._register(new Ek),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new Ek),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new Ek),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new Ek),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new Ek),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 Loe(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new Ese(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,o,this._themeService)],this.dimensions=Foe(),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(LA(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(LA(this._canvas,`webglcontextrestored`,e=>{console.warn(`webglcontextrestored event received`),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,Lk(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=zk(this._canvas,this._coreBrowserService.window,(e,t)=>this._setCanvasDevicePixelDimensions(e,t)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=zk(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(OO(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),Lk(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 wse(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new gse(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=Ik(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=DO(xk.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),xk.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 lse(()=>{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=zA(e,n.rows-1,0),t=zA(t,n.rows-1,0);let x=this._coreService.decPrivateModes.cursorStyle??n.options.cursorStyle??`block`,S=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,ee=S-n.buffer.ydisp,te=Math.min(this._terminal.buffer.active.cursorX,n.cols-1),ne=-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=S===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||te<p[0]||te>=p[1],d?(l=!0,r=new tce(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)*Xk,this._cellColorResolver.resolve(r,y,o,this.dimensions.device.cell.width),re&&o===S&&(y===te&&(this._model.cursor={x:te,y:ee,width:r.getWidth(),style:this._coreBrowserService.isFocused?x:n.options.cursorInactiveStyle,cursorWidth:n.options.cursorWidth,dpr:this._devicePixelRatio},ne=te+r.getWidth()-1),y>=te&&y<=ne&&(this._coreBrowserService.isFocused&&x===`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+Zk]!==this._cellColorResolver.result.bg||this._model.cells[v+Qk]!==this._cellColorResolver.result.fg||this._model.cells[v+$k]!==this._cellColorResolver.result.ext)&&(C=!0,h.length>1&&(g|=yse),this._model.cells[v]=g,this._model.cells[v+Zk]=this._cellColorResolver.result.bg,this._model.cells[v+Qk]=this._cellColorResolver.result.fg,this._model.cells[v+$k]=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)*Xk,this._glyphRenderer.value.updateCell(y,a,0,0,0,0,BO,0,0),this._model.cells[b]=0,this._model.cells[b+Zk]=this._cellColorResolver.result.bg,this._model.cells[b+Qk]=this._cellColorResolver.result.fg,this._model.cells[b+$k]=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})}},tce=class extends vk{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 zA(e,t,n=0){return Math.max(Math.min(e,t),n)}var BA=`di$target`,VA=`di$dependencies`,HA=new Map;function UA(e){if(HA.has(e))return HA.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);nce(t,e,r)};return t._id=e,HA.set(e,t),t}function nce(e,t,n){t[BA]===t?t[VA].push({id:e,index:n}):(t[VA]=[{id:e,index:n}],t[BA]=t)}UA(`BufferService`),UA(`CoreMouseService`),UA(`CoreService`),UA(`CharsetService`),UA(`InstantiationService`),UA(`LogService`);var rce=UA(`OptionsService`);UA(`OscLinkService`),UA(`UnicodeService`),UA(`DecorationService`);var ice={trace:0,debug:1,info:2,warn:3,error:4,off:5},ace=`xterm.js: `,WA=class extends jO{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),oce=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=ice[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?``:ace)+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)}};WA=uO([dO(0,rce)],WA);var oce,sce=class extends jO{constructor(e){if(RO&&zO()<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 Ek),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new Ek),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new Ek),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new Ek),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 ece(e,o,s,c,n,l,r,u,this._preserveDrawingBuffer)),this._register(xk.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(xk.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(xk.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(xk.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),a.setRenderer(this._renderer),this._register(OO(()=>{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 cce(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function lce(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 uce=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,GA=new Map;function KA(e){return e.clientWidth>0&&e.clientHeight>0}function qA(e){if(GA.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,e.webglAddon){try{e.webglAddon.dispose()}catch{}e.webglAddon=null}}function dce(e){let t=[e],n=fe.snapshot().borrowedCardId,r=n?E.get(n):void 0;r&&t.push(r);for(let e of lce([...GA.keys()],uce,t))qA(e),e.needsWebGLReload=!0}function JA(e){e?.term&&cce({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:KA(e.termWrap)})&&XA(e,{isForced:!0})}function YA(){for(let e of GA.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{qA(e),e.needsWebGLReload=!0}}}function XA(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){GA.delete(e),GA.set(e,!0);return}e.webglAddon&&(e.webglAddon.dispose(),e.webglAddon=null,GA.delete(e)),dce(e);let n=new sce;n.onContextLoss(()=>{n.dispose(),e.webglAddon=null,GA.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=!KA(e.termWrap),GA.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,GA.delete(e)}}var fce=1024,pce=250,mce=`(max-width: 768px)`,hce=12,gce=14,_ce=5e4,ZA=!1;function vce(e){ZA=e}var QA=!1;window.addEventListener(`blur`,()=>{QA=!0}),window.addEventListener(`focus`,()=>{QA=!1});function $A(e){let t=document.activeElement;return NE({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:QA,isPhoneLayout:ST()})}function yce(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 ej(e,t){let n=(t instanceof Error?t.message:``)||String(t);console.error(`[clipboard:${e}]`,t),Xg(`Clipboard ${e} failed: ${n}`)}function tj(e,t){return E.get(e)===t&&!t.dataWs}function nj(e){return e.querySelector(`:scope > .terminal-connecting`)}function bce(e){if(nj(e))return;let t=p(`div`,`terminal-connecting`);t.append(p(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function xce(e){let t=nj(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=Em();n&&t.prepend(Tm(n,`terminal-connecting-animal`))}var rj=new Set;function Sce(e){return rj.add(e),()=>rj.delete(e)}function Cce(){let e=0;for(let t of E.values())t.card.dataset.link===`connecting`&&e++;return e}function ij(e){let t=WD({hasTerminal:e.term!==null,isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:cj});if(t===`none`){delete e.card.dataset.link,aj();return}let n=t===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=t,n&&xce(e.termWrap),aj()}function aj(){for(let e of rj)e()}function oj(e,t,n,r){QT.unregister(e),t.dataWs=null,ij(t),t._resetGridClaim?.(),setTimeout(()=>{tj(e,t)&&Um().catch(()=>{}).then(()=>{tj(e,t)&&sj(e,t,n)})},r)}function sj(e,t,n){let r=zm(location,Gm(`/terminals/${encodeURIComponent(e)}`)),i=new WebSocket(r);i.binaryType=`arraybuffer`,t.dataWs=i,ij(t);let a=!1,o={hasSeenSize:!1,lastSeq:0};QT.register(e,(e,t)=>n.write(e,t)),i.addEventListener(`message`,r=>{if(t.dataWs!==i)return;let a=zE(r.data,o);if(a.kind===`bytes`){vre(t),QT.enqueue(e,a.data);return}if(a.kind===`attach-size`){o.hasSeenSize=!0,o.lastSeq=a.seq,n.reset(),UD(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};QT.enqueueAction(e,()=>{t.ptySize=s,t._syncGrid?.()})}),i.addEventListener(`close`,()=>{if(t.dataWs!==i)return;a||Wm();let r=Mm(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,oj(e,t,n,r)}),i.addEventListener(`open`,()=>{a=!0,t._dataWsRetryAttempt=0,ij(t),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===i&&lj(t)},50)})}var cj=!1;function lj(e){let t=e._inputQueue,n=e.dataWs;if(!cj&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0}}function wce(){cj=!0;for(let e of E.values())ij(e)}function Tce(){cj=!1;for(let e of E.values())ij(e),lj(e)}function uj(e){let t=k(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,oj(e,t,t.term,0),n?.close()}function dj(e,t,n){return!e||t==null||t===``?!1:(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!cj&&!e._inputQueue?.length&&e.dataWs?.readyState===WebSocket.OPEN?(e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0):e._inputQueue&&e._inputQueue.length<fce?(e._inputQueue.push(t),!0):!1)}function fj(e,t){let n=window.matchMedia?.(mce).matches?hce:gce,r=new rT({cursorBlink:ZA,fontSize:n,fontFamily:fT(),theme:SE(),scrollback:_ce,allowProposedApi:!0,linkHandler:nD()}),i=new Cae;r.loadAddon(i),bce(e),r.open(e),iD(r),HD(r,t.abortController.signal),t.term=r,t.fitAddon=i,qA(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||!$A(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=ME({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)},pce)}function m(){l&&o===null&&f(l)}function h({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=IE({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=PE({authoritative:t.ptySize??null,isActiveViewer:s,isDocumentEngaged:$A(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=FE({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&&JA(t),h({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{QA=!1,g()},{signal:t.abortController.signal}),XA(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=yce(n)}catch(e){return ej(`osc52 decode`,e),!0}if(!(document.hasFocus()&&navigator.userActivation?.isActive!==!1))return!0;let i=T(r);return i&&i.catch(e=>{ej(`osc52 write`,e)}),!0}),r.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`)return!0;if(document.body.dataset.activeView===`focus`&&IT(e,UT))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&r.hasSelection()){let e=r.getSelection();r.clearSelection();let t=T(e);return t&&t.catch(e=>{ej(`copy`,e)}),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(dj(t,`\x1B`),!1):!0}),Ece(e,r,t),sO(e,r)}function Ece(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,ST()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=JE(i,r.value);return i=r.value,e!==``&&(dj(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{ST()?n(e):a()},!0)};c(`keydown`,e=>{qE(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(!KE(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=WE(e.inputType);r!==``&&(dj(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}function pj(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(t=>{dj(e,t)}),Dce(e.termWrap,t,e.abortController.signal),sj(t,e,n))}function mj(e){return!!e&&Array.from(e.types).includes(`Files`)}function Dce(e,t,n){e.addEventListener(`paste`,e=>{let n=e.clipboardData;n&&n.files.length!==0&&n.getData(`text/plain`)===``&&(e.preventDefault(),e.stopPropagation(),KD(t,Array.from(n.files)))},{capture:!0,signal:n}),e.addEventListener(`dragover`,e=>{mj(e.dataTransfer)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)},{signal:n}),e.addEventListener(`drop`,e=>{mj(e.dataTransfer)&&(e.preventDefault(),e.stopPropagation(),KD(t,Array.from(e.dataTransfer.files)))},{capture:!0,signal:n})}function hj(e,t){e.term||(fj(e.termWrap,e),pj(e,t))}function gj(e){e?._syncGridOnEngagementEdge?.()}function _j(e,t){if(!e)return;hj(e,t),JA(e);let n=e.term;n&&(n.refresh(0,n.rows-1),gj(e))}function vj(e,t,n){e&&(n&&hj(e,t),e._setActiveViewer?.(n))}var Oce=`conversation:`,kce=1e4,Ace=48,jce=`, `,Mce={command:`Run command?`,fileChange:`Apply file changes?`,permissions:`Grant permissions?`},Nce=1;function Pce(e){return e.conversationApproval!==null||rv(e.currentState,e.pendingPromptKind)}function yj(e,t,n,r,i=0){let a=n[i];a?setTimeout(()=>{k(e)===t?i>0&&Pce(t)?r(`stopped-by-prompt`):dj(t,a.data)?yj(e,t,n,r,i+1):r(`unreachable`):r(`unreachable`)},a.delayBeforeMs):r(`sent`)}function Fce({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,x=!1,S=null,ee=!1;function te(){return v?k(v)??null:null}function ne(e){m.textContent=e}function re(){S&&clearTimeout(S.timeoutHandle),S=null}function C(){if(!v||r.hidden||!l.hidden)return;if(S){ee=!0;return}let e=`${Oce}${Nce++}`,n=x?b:null;t(n===null?{type:`session-trace`,id:v,requestId:e,endingAt:`tail`}:{type:`session-trace`,id:v,requestId:e,after:n})?(ee=!1,S={requestId:e,after:n,timeoutHandle:setTimeout(()=>{S=null,C()},kce)}):ne(`Conversation unavailable while disconnected.`)}function w(){return i.scrollHeight-i.scrollTop-i.clientHeight<=Ace}function T(e){let t=p(`article`,`conversation-message conversation-${e.kind}`);return e.kind===`assistant`?(t.append(Kg(Ug(e.text))),t):(t.append(p(`p`,`conversation-text`,e.text)),t)}function ie(e){let t=p(`p`,`conversation-work`,uv(e));return dv(e)&&t.classList.add(`is-running`),e.errorCount>0&&t.classList.add(`has-error`),t}function ae(){let e=w(),t=cv(y).map(e=>e.kind===`work`?ie(e):T(e));i.replaceChildren(...t.length>0?t:[o]),e&&(i.scrollTop=i.scrollHeight)}function E(e,t){let n=te();if(!n||!v||!e){ne(`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.`};yj(v,n,e,e=>ne(r[e]))}function D(e,n,r){v&&ne(t({type:`conversation-approval`,id:v,requestId:e.requestId,decision:n,...r?{answers:r}:{}})?`Answer sent.`:`Unable to send the answer while disconnected.`)}function O(e,t){let n=p(`button`,`conversation-approval-action`,e);return n.type=`button`,n.addEventListener(`click`,t),n}function oe(e){return e.kind===`tool`?`Allow ${e.toolName??`this tool`}?`:Mce[e.kind]??`Approve this request?`}function se(e){s.append(p(`p`,`conversation-approval-note`,`This request cannot be shown in full here. Read and answer it in the terminal.`));let t=p(`div`,`conversation-approval-actions`);t.append(O(`Open terminal`,()=>n()),O(`Decline`,()=>D(e,`decline`))),s.append(t)}function ce(e){if(s.append(p(`p`,`conversation-approval-title`,oe(e)),p(`pre`,`conversation-approval-summary`,e.summary)),e.isSummaryTruncated){se(e);return}let t=p(`div`,`conversation-approval-actions`);t.append(O(`Approve`,()=>D(e,`accept`))),e.kind!==`tool`&&t.append(O(`Approve for session`,()=>D(e,`acceptForSession`))),e.alwaysAllowSummary&&(s.append(p(`p`,`conversation-approval-note`,`Always allow adds, for this session only: ${e.alwaysAllowSummary}`)),t.append(O(`Always allow`,()=>D(e,`acceptForSession`)))),t.append(O(`Decline`,()=>D(e,`decline`))),s.append(t)}function le(e){let t=p(`p`,`conversation-approval-title`,e.question);return e.header&&t.prepend(p(`span`,`conversation-question-header`,e.header)),t}function ue(e,t){s.append(le(t));let n=p(`div`,`conversation-question-options`);for(let r of t.options){let i=O(r.label,()=>D(e,`accept`,{[t.question]:r.label}));r.description&&(i.title=r.description),n.append(i)}let r=p(`div`,`conversation-approval-actions`);r.append(O(`Decline`,()=>D(e,`decline`))),s.append(n,r)}function de(e,t){let n=p(`form`,`conversation-question-form`);t.forEach((e,t)=>{let r=p(`fieldset`,`conversation-question`),i=p(`legend`,`conversation-question-text`,e.question);e.header&&i.prepend(p(`span`,`conversation-question-header`,e.header)),r.append(i);for(let n of e.options){let i=p(`label`,`conversation-question-option`),a=p(`input`);a.type=e.multiSelect?`checkbox`:`radio`,a.name=`question-${t}`,a.value=n.label,i.append(a,p(`span`,``,n.label)),n.description&&(i.title=n.description),r.append(i)}n.append(r)});let r=p(`div`,`conversation-approval-actions`),i=p(`button`,`conversation-approval-action`,`Send answers`);i.type=`submit`,r.append(i,O(`Decline`,()=>D(e,`decline`))),n.append(r),n.addEventListener(`submit`,r=>{r.preventDefault();let i={};t.forEach((e,t)=>{let r=[...n.querySelectorAll(`input[name="question-${t}"]:checked`)].map(e=>e.value);r.length>0&&(i[e.question]=r.join(jce))}),Object.keys(i).length===t.length?D(e,`accept`,i):ne(`Answer every question first.`)}),s.append(n)}function fe(e){let t=e.questions??[];if(e.isSummaryTruncated||t.length===0){s.append(p(`p`,`conversation-approval-title`,`Claude Code has a question`),p(`pre`,`conversation-approval-summary`,e.summary)),se(e);return}let[n]=t;t.length===1&&!n.multiSelect?ue(e,n):de(e,t)}function pe(e){e.kind===`question`?fe(e):ce(e)}function me(){s.append(p(`p`,`conversation-approval-title`,`The agent 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(O(`Open terminal`,()=>n())),s.append(e)}function he(){let e=te();s.replaceChildren();let t=e?.conversationApproval??null,n=e?rv(e.currentState,e.pendingPromptKind):!1,r=e?.agent===`codex`&&!e.hasConversationBridge;c.hidden=!r,s.hidden=!t&&!n,_.disabled=!s.hidden||r,e&&(t?pe(t):n&&me())}function ge(){let e=te();h.disabled=e?.currentState!==a.RUNNING}u.addEventListener(`submit`,e=>{if(e.preventDefault(),_.disabled)return;let t=yae(te()?.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(bae(te()?.agent),`Interrupt sent.`),{signal:e}),g.addEventListener(`click`,()=>n(),{signal:e});function _e(e){v!==e&&(v=e,y=[],b=0,x=!1,re(),ne(``)),r.hidden=!1,l.hidden=!0,ae(),ye(),C()}function ve(){r.hidden=!0,re()}function ye(){r.hidden||(he(),ge())}function be(e){if(!S||e.requestId!==S.requestId)return!1;let t=S;if(re(),e.id!==v)return!0;let n=t.after!==null&&e.start===t.after&&!e.reset;return t.after!==null&&!n?(x=!1,y=[],C(),!0):(y=fv(t.after===null?[...e.records]:[...y,...e.records]),b=e.next,x=!0,ae(),ee&&C(),!0)}function xe(e){return!S||e.requestId!==S.requestId?!1:(re(),ee=!1,l.hidden=!1,!0)}function Se(e){e!==v||r.hidden||(l.hidden=!0,C())}return{el:r,show:_e,hide:ve,refresh:ye,applyTraceResponse:be,applyTraceError:xe,applyTraceChanged:Se}}function bj(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function xj(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function Ice(e,t){return e||xj(t)>0}var Lce={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},Sj=null,Cj=!1,wj=!1,Tj=null,Ej=null,Dj=null,Oj=`—`;function kj(e){return e==null?Oj:Ih(e,`GB`)}function Aj(e){return e==null?Oj:Ph(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function Rce(){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`,()=>{wj=!wj,e.dataset.expanded=String(wj),t.setAttribute(`aria-expanded`,String(wj)),n.hidden=!wj,wj&&(G({type:`request-health-snapshot`}),Mj())}),e.append(t,n),Tj=e,Ej=t,Dj=n,e}function jj(){if(!Ej||!Sj)return;let e=Sj,t=xj(e.anomalies);Ej.innerHTML=`
187
+ <span class="health-chev" aria-hidden="true">${wj?`▼`:`▲`}</span>
188
+ <span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${kj(e.process.heapUsed)}</span>
189
+ <span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${kj(e.process.rss)}</span>
190
+ <span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${kj(e.process.external)}</span>
191
+ <span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
192
+ <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>
193
+ <span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
194
+ <span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${Aj(e.uptimeSeconds)}</span>
195
+ ${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
196
+ `}function Mj(){if(!Dj||!Sj)return;let e=Sj,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(xj(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=`
197
+ <div class="health-section health-section-warn">
198
+ <div class="health-section-title">⚠ Anomalies</div>
199
+ ${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
200
+ </div>
201
+ `}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`
202
+ <tr>
203
+ <td>${bj(e.name)}</td>
204
+ <td class="health-mono">${Lce[e.state]||e.state}</td>
205
+ <td class="health-mono">${e.hasPty?e.ptyPid:Oj}</td>
206
+ <td class="health-mono">${kj(e.outputBufferBytes)}</td>
207
+ <td class="health-mono">${e.outputBufferEntries}</td>
208
+ <td class="health-mono">${e.dataListenerCount}</td>
209
+ <td class="health-mono health-dim">${n}</td>
210
+ <td class="health-mono health-dim">${t.join(` `)||``}</td>
211
+ </tr>
212
+ `}).join(``);Dj.innerHTML=`
213
+ ${a}
214
+ <div class="health-section">
215
+ <div class="health-section-title">Process</div>
216
+ <div class="health-grid">
217
+ <div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${kj(t.heapUsed)}</span></div>
218
+ <div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${kj(t.heapTotal)}</span></div>
219
+ <div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${kj(t.rss)}</span></div>
220
+ <div class="health-row"><span class="health-label">External</span><span class="health-mono">${kj(t.external)}</span></div>
221
+ <div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${kj(t.arrayBuffers)}</span></div>
222
+ <div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
223
+ <div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${Aj(e.uptimeSeconds)}</span></div>
224
+ </div>
225
+ </div>
226
+
227
+ <div class="health-section">
228
+ <div class="health-section-title">WebSockets</div>
229
+ <div class="health-grid">
230
+ <div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
231
+ <div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
232
+ <div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
233
+ </div>
234
+ </div>
235
+
236
+ <div class="health-section">
237
+ <div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY · ${r.sleeping} sleeping)</div>
238
+ <div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${kj(r.totalOutputBufferBytes)}</div>
239
+ <table class="health-table">
240
+ <thead>
241
+ <tr>
242
+ <th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
243
+ </tr>
244
+ </thead>
245
+ <tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
246
+ </table>
247
+ </div>
248
+ `}function Nj(){if(!Tj)return;let e=Ice(Cj,Sj?.anomalies),t=Tj.hidden;Tj.hidden=!e,e&&t&&Sj&&(jj(),wj&&Mj())}function zce(e){Cj=e,Nj()}function Bce(e){if(Tj)return Tj;let t=Rce();return e.appendChild(t),Nj(),t}function Vce(e){Sj=e,Nj(),Tj&&!Tj.hidden&&(jj(),wj&&Mj())}function Pj(e){return e.replace(/\r\n?/g,`
249
+ `).split(`
250
+ `)}function Fj(e){return{kind:`unchanged`,text:e}}function Hce(e){return{kind:`skipped`,text:`${e} unchanged lines`}}function Ij(e,t){return e.length<=7?e.map(t):[...e.slice(0,3).map(t),Hce(e.length-6),...e.slice(e.length-3).map(t)]}function Uce(e){return e}function Wce(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(...Ij(e.slice(n,r),Uce)),n=r}return t}function Gce(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return r}function Kce(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 qce(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(Fj(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 Jce(e,t){let n=Pj(e),r=Pj(t),i=Gce(n,r),a=Kce(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:Wce([...Ij(n.slice(0,i),Fj),...qce(o,s),...Ij(n.slice(n.length-a),Fj)]),isTooLarge:!1}}var Yce=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function Lj(e){return e===`approve`||e===`approve-accept-edits`}function Rj(e){return(e.state===`decided`||e.state===`closed`)&&Lj(e.lastDecision)}function zj(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&Rj(n)}function Bj(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function Vj(e){let t=Bj(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 Hj(e,t){return Bj(e,t)?.openRevision?.revision??null}function Uj(e,t,n){if(n===null)return null;let r=Bj(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function Wj(e,t){let n=t-e;return Number.isFinite(n)?Nh(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function Gj(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 Kj(e,t,n){let r=Gj(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return Yce.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function qj(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 Jj(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function Yj(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+gf}function Xj(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 ${Tu} characters, so nothing was sent`:Jj(e)>1e4?`the feedback composes more than the ${Du} characters the hook reply carries, so nothing was sent`:Yj(e)>_f?`the decision is larger than one control frame carries, so nothing was sent`:null}function Zj(e){return e?`, ${e}`:``}function Qj(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=qj(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 $j(e,t,n){let r=Qj(e,t,n);return r?`${r}${Zj(e.problem)}`:e.problem??``}function eM(e){let t=Bj(e.state,e.selectedAgentId),n=Vj(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:Uj(e.state,t?.agentId??null,n),status:$j(e,t,n),actions:Kj(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:Uj(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:Gj(e,t,n)}]}}function tM(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 nM({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 rM=12,iM=8,aM=``,oM=48,sM=new Map;function cM(e,t){return JSON.stringify([e,t])}function lM(e){return e.id??aM}function uM(e,t){let n=sM.get(e);n||(n=new Map,sM.set(e,n));let r=cM(t.agentId,t.revision);for(n.delete(r),n.set(r,t.plan);n.size>rM;){let e=n.keys().next().value;if(typeof e!=`string`)break;n.delete(e)}}function dM(e){sM.delete(e)}function fM(e,t,n){return!e||n===null?null:sM.get(e)?.get(cM(t,n))??null}function pM(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`),x=p(`span`,`plan-draft-dot`);x.setAttribute(`aria-hidden`,`true`);let S=p(`button`,`plan-control plan-draft-chip`,`Peek draft`);S.type=`button`,b.append(x,S),i.append(a,s,l,_,y,b);let ee=p(`button`,`plan-control plan-view-button`,`View`);ee.type=`button`,ee.setAttribute(`aria-haspopup`,`dialog`),ee.setAttribute(`aria-expanded`,`false`);let te=p(`button`,`plan-control plan-minimize-button`,`Minimize`);te.type=`button`,te.addEventListener(`click`,e.showTerminal),n.append(r,i,ee,te);let ne=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 T=p(`textarea`,`plan-editor`);T.setAttribute(`aria-label`,`Plan markdown`),T.spellcheck=!1;let ie=p(`footer`,`plan-action-bar`),ae=p(`span`,`plan-status`);ae.setAttribute(`role`,`status`);let E=p(`div`,`plan-decision-slot`),D=p(`label`,`plan-accept-edits`),O=p(`input`,`plan-accept-edits-checkbox`);O.type=`checkbox`,D.append(O,p(`span`,null,`Accept edits`)),E.append(D,ae),ie.append(E);let k=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||nt(e)}),k.set(e,n),ie.append(n)}t.append(n,re,ie,ne);let oe=null,se={reviews:[]},ce=null,le=null,ue=!0,de=``,pe=``,me=``,he=``,ge=!1,_e=null,ve=!1,ye=null,be=!1,xe=!1,Se=null,Ce=[],we=null,Te=null,Ee=new Map,De=new Map,Oe=new Map,ke=[],Ae=!1,je=null,Me=!1;function Ne(e,t=!0){Me=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),ne.dataset.open=String(e),ee.setAttribute(`aria-expanded`,String(e)),re.inert=e,ie.inert=e,r.inert=e,ee.inert=e,te.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&&ee.focus())}function Pe(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=Me;r[i].click(),!(a&&e!==v)&&(e===v||!Me)&&e.querySelector(`[aria-checked="true"], [aria-selected="true"]`)?.focus()})}let Fe=fe.subscribe((e,t)=>{t.includes(`layout`)&&Me&&Ne(!1,!1)});e.signal?.addEventListener(`abort`,Fe,{once:!0}),Pe(v),Pe(c),Pe(g),ee.addEventListener(`click`,()=>Ne(!Me)),o.addEventListener(`click`,()=>Ne(!1)),ne.addEventListener(`click`,()=>Ne(!1)),i.addEventListener(`keydown`,e=>{if(!Me)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Ne(!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 Ie(e){w.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})}r.addEventListener(`change`,()=>Ie(r.value));function Le(){Ae=!1;let e=ke.map(e=>w.querySelector(`#${CSS.escape(e.dataset.headingId??``)}`)).filter(e=>e!==null),t=w.getBoundingClientRect().top-w.scrollTop,n=nM({headingOffsets:e.map(e=>e.getBoundingClientRect().top-t),scrollTop:w.scrollTop,isScrolledToEnd:w.scrollTop>0&&w.scrollTop+w.clientHeight>=w.scrollHeight-2,readingLineOffset:oM}),i=n===null?null:e[n]?.id??null;for(let e of ke)e.dataset.headingId===i?e.setAttribute(`aria-current`,`location`):e.removeAttribute(`aria-current`);i!==null&&(r.value=i)}function Re(){Ae||t.hidden||ke.length===0||(Ae=!0,requestAnimationFrame(Le))}w.addEventListener(`scroll`,Re,{passive:!0});function ze(){je=null,ve=!1,be=!1,xe=!1,Se=null}function Be(t){we=t,e.reportProblem(t),Dt()}function Ve(e){le=e,we=null,ze(),Ne(!1,Me),Dt()}function He(e){let t=se.reviews.find(e=>e.agentId===ce)?.revisions??[],n=t[t.findIndex(e=>e.revision===le)+e];n&&Ve(n.revision)}d.addEventListener(`click`,()=>He(-1)),f.addEventListener(`click`,()=>He(1));function Ue(e,t){return`${oe??``}:${e??`main`}:${t??`latest`}`}function A(){return Ue(ce,le)}function We(e,t,n){return`${e??``}:${cM(t,n??0)}`}function Ge(){return We(oe,ce,le)}function Ke(){return De.get(Ge())??null}function qe(){return Ke()?.size??0}function Je(){if(je===null)return!1;let e=De.get(je.target.bucketKey)?.get(je.target.sectionSlot)??``;return je.field.value.trim()!==e}function Ye(e){let t=De.get(e);if(!t)return[];let n=[];for(let e of Ce){let r=t.get(lM(e));r&&n.push({heading:e.heading,comment:r})}return n}function Xe(e,t){let n=t.trim(),r=De.get(e.bucketKey)??new Map;De.set(e.bucketKey,r),n.length===0&&r.delete(e.sectionSlot),n.length>0&&r.set(e.sectionSlot,n),r.size===0&&De.delete(e.bucketKey),Dt()}function Ze(e){if(xe||ge)return;let t={bucketKey:Ge(),sectionSlot:lM(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=Tu,i.value=De.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};je=c,i.addEventListener(`input`,Et),o.addEventListener(`click`,()=>{je===c&&(je=null,Dt())}),s.addEventListener(`click`,()=>{je===c&&(je=null),Xe(t,i.value)}),Dt(),i.focus()}function Qe(e){let t={bucketKey:Ge(),sectionSlot:lM(e)};if(je?.target.bucketKey===t.bucketKey&&je.target.sectionSlot===t.sectionSlot)return je.element;let n=Ke()?.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`,()=>Ze(e));let o=p(`button`,`plan-control plan-comment-remove`,`Remove`);return o.type=`button`,o.disabled=ge,a.disabled=ge,o.addEventListener(`click`,()=>Xe(t,``)),i.append(p(`span`,`plan-comment-label`,`Your comment`),a,o),r.append(i,p(`p`,`plan-comment-text`,n)),r}function $e(t,n,r={}){if(!oe||n.revision===null||ge)return!1;let i=Xj(r);if(i!==null)return Be(i),!1;let a={agentId:n.agentId,revision:n.revision,decision:t,...r};return e.sendDecision(oe,a)?(we=null,ge=!0,_e=Lj(t)?n:null,Dt(),!0):!1}function et(e){if(!ve)return{};let t=T.value;return t===fM(oe,e.agentId,e.revision)?{}:{plan:t}}function tt(e){let t=We(oe,e.agentId,e.revision),n=Ye(t);n.length!==0&&$e(`revise`,e,{comments:n})&&e.revision!==null&&(Te={bucketKey:t,agentId:e.agentId,revision:e.revision},Dt())}function nt(e){let t={agentId:ce,revision:le};e===`revise`?tt(t):$e(e===`approve`&&!D.hidden&&O.checked?`approve-accept-edits`:e,t,et(t))}function rt(e){je=null,ve=e===`edit`,be=e===`changes`,ve&&ye!==Ge()&&(T.value=fM(oe,ce,le)??``,ye=Ge()),we=null,Dt()}function it(e){return`${e.kind}:${Ue(e.agentId,e.revision)}`}function at(e){for(Oe.set(it(e),e);Oe.size>iM;){let e=Oe.keys().next().value;if(typeof e!=`string`)break;Oe.delete(e)}}function ot(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 st(e){for(let[t,n]of Oe)if(ot(n,e))return Oe.delete(t),n;return null}function ct(){for(let[e,t]of Oe)if(t.kind===`draft`)return Oe.delete(e),t;return null}function lt(){if(Oe.size!==1)return null;let e=Oe.entries().next().value;return e?(Oe.delete(e[0]),e[1]):null}function ut(){if(!oe)return;let t=A();de!==t&&e.requestPlan(oe,ce,le??void 0)&&(de=t,at({kind:`selection`,agentId:ce,revision:le}))}function dt(){t.hidden||ut()}function ft(){return Uj(se,ce,le)}function pt(t){if(!oe)return;let n=Ue(ce,t);me!==n&&e.requestPlan(oe,ce,t)&&(me=n,at({kind:`diff-base`,agentId:ce,revision:t}))}function mt(){if(!oe)return;let t=`${oe}:${ce??`main`}`;he!==t&&e.requestDraft(oe,ce)&&(he=t,at({kind:`draft`,agentId:ce,revision:null}))}function ht(e,t){return`${e??``}:${t??``}`}function gt(){return se.reviews.find(e=>e.agentId===ce)?.revisions.find(e=>e.revision===le)?.receivedAt??0}function _t(){let e=Ee.get(ht(oe,ce));return e!==void 0&&e>gt()}function vt(){xe?(ze(),Dt()):(je=null,ve=!1,be=!1,mt(),Dt())}S.addEventListener(`click`,vt);function yt(e){C.replaceChildren(),r.replaceChildren(),ke=[];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(Ke()?.has(lM(t))===!0),ke.push(i),i.addEventListener(`click`,()=>Ie(e)),C.append(i);let a=p(`option`,null,n);a.value=e,r.append(a)}}function bt(e){let t=ft();if(t===null){w.append(p(`p`,`plan-loading`,`This is the first revision, so there is nothing to diff`));return}let n=fM(oe,ce,t);if(n===null){w.append(p(`p`,`plan-loading`,`Loading the previous revision`)),pt(t);return}let r=Jce(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(Kg(Ug(e)))):w.append(Nie(r))}function xt(e){if(w.replaceChildren(),ve){yt(Ce),w.append(T);return}if(e===null){if(Ce=[],yt(Ce),pe===A()){w.append(p(`p`,`plan-loading`,`This plan revision could not be loaded`));return}w.append(p(`p`,`plan-loading`,`Loading plan`)),ut();return}let t=Ug(e);if(Ce=kie(t),yt(Ce),be){bt(e);return}if(xe){w.append(Kg(t));return}let n=Ke();w.append(jie(Ce,{hasComment:e=>n?.has(lM(e))===!0,isComposing:e=>je?.target.bucketKey===Ge()&&je.target.sectionSlot===lM(e),onComment:Ze,attachmentFor:Qe}))}function St(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`,Me?`radio`:`tab`),e.setAttribute(Me?`aria-checked`:`aria-selected`,String(t.selected)),e.tabIndex=t.selected?0:-1,e.addEventListener(`click`,()=>{ce=t.agentId,le=null,we=null,de=``,pe=``,me=``,he=``,ze(),Ne(!1,Me),Dt()}),c.append(e)}}function Ct(){return xe?Se:fM(oe,ce,le)}function wt(e){return eM({state:se,selectedAgentId:ce,selectedRevision:le,body:e,isConnected:ue,isDecisionInFlight:ge,isDraft:xe,pendingCommentCount:qe(),hasUnsavedComment:Je(),problem:we})}function Tt(e){ae.textContent=e.status,ae.hidden=e.status.length===0;let t=e.actions.some(e=>e.kind===`approve`&&e.enabled);D.hidden=!t,O.disabled=!t;for(let t of e.actions){let e=k.get(t.kind);e&&(e.disabled=!t.enabled)}}function Et(){Tt(wt(Ct()))}function Dt(){let e=Me&&i.contains(document.activeElement),t=eM({state:se,selectedAgentId:ce,selectedRevision:le,body:null,isConnected:ue});(ce!==t.selectedAgentId||le!==t.selectedRevision)&&ze(),ce=t.selectedAgentId,le=t.selectedRevision,ye!==Ge()&&(ye=null);let n=Ct(),a=wt(n);St(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?Wj(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`,Wj(e.receivedAt,l))),e.isOpen&&t.append(p(`span`,`plan-revision-open`,`OPEN`)),t.addEventListener(`click`,()=>Ve(e.revision)),g.append(t)}v.replaceChildren();let _=ve?`edit`:be?`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||(rt(e.kind),v.querySelector(`[aria-checked="true"]`)?.focus())}),v.append(t)}b.hidden=!_t()&&!xe,S.hidden=b.hidden,S.setAttribute(`aria-pressed`,String(xe)),Tt(a),xt(n),r.disabled=ke.length===0,Re(),e&&!i.contains(document.activeElement)&&o.focus()}function Ot(t){_e!==null&&zj(t,_e.agentId)&&(_e=null,ye=null,e.showTerminal())}function kt(e){je=null,e!==oe&&(_e=null,ge=!1,we=null,Oe.clear()),Ne(!1,!1),oe=e,t.hidden=!1,de=``,pe=``,Dt(),dt()}function At(){je=null,Ne(!1,!1),t.hidden=!0}function jt(e,t){return t.kind!==`selection`||e.agentId!==ce?!1:t.revision===null?le===null||le===e.revision:t.revision===le}function j(e){e.kind===`draft`?(he=``,Be(`the draft could not be read, so nothing was shown`)):e.kind===`diff-base`?me=``:pe=Ue(e.agentId,e.revision)}function Mt(e){Te!==null&&Hj(e,Te.agentId)!==Te.revision&&(De.delete(Te.bucketKey),Te=null)}function Nt(e){ge=!1,Pt({reviews:e.reviews});let t=e.body;if(!t){let e=lt()??ct();e!==null&&j(e);return}let n=st(t);if(t.revision===0){if(he=``,n===null||t.agentId!==ce)return;Se=t.plan,xe=!0}else uM(e.id,t),n!==null&&jt(t,n)&&(ce=t.agentId,le=t.revision,de=``,pe=``)}function Pt(e){let t=Hj(e,ce);t!==null&&t!==Hj(se,ce)&&(le=t,ze()),Mt(e),se=e,ge=!1,Ot(e)}function Ft(e){let n=!1;e.state&&Pt(e.state),e.draft&&Ee.set(ht(e.draft.id,e.draft.agentId),e.draft.changedAt),e.decisionRefused&&(_e=null,ge=!1,Te=null),typeof e.isConnected==`boolean`&&(n=e.isConnected&&!ue,ue=e.isConnected,n&&(de=``,pe=``,me=``,he=``,ge=!1)),e.requestFailed&&(pe=de),e.response&&Nt(e.response),t.hidden||Dt(),(n||e.decisionRefused)&&dt()}return{el:t,show:kt,hide:At,update:Ft}}var mM=`#plan/`;function hM(e){return`${mM}${encodeURIComponent(e)}`}function gM(e){if(!e.startsWith(mM))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var _M=`http://www.w3.org/2000/svg`;function vM(e,t){let n=document.createElementNS(_M,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function yM(e,t){let n=document.createElementNS(_M,`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 bM(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 xM(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 SM(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:xM(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 CM(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:bM(r)});let r=e.repos.map(e=>SM(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 wM(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 TM(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: ${Ds(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=wM(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=wM(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 EM(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(TM(r,t));return n}function DM(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 OM(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=DM(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 kM(e,t,n,r){return`${e}:${r}:${n}:${t}`}function AM(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 jM(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 MM(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function NM(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 PM({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 ${LM(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 FM(e,t){return e.namesMergeTarget?null:`merges into ${LM(t)}`}function IM({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 LM(e){return e||`base`}function RM(e,t){return`Merge into ${LM(e)}, push it, and rebase this worktree, then keep working (${t})`}function zM(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function BM(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function VM({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 HM({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function UM(e){return e||`its upstream`}function WM(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=UM(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 GM(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function KM(e,t,n){let r=n?` (${t})`:``;if(!e||GM(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=UM(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function qM(e){return e?.state!==`in-sync`||e.fetched===!1}function JM({fetched:e,changedFileCount:t,view:n}){return!e||t===0?!1:n!==`diff`}function YM(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=UM(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 XM=new Set([`pending-review`,`parked`]),ZM=600,QM=BT(`merge`,UT),$M=BT(`resolve-or-resync`,UT),eN=260,tN=700,nN=new Map,rN=new Map,iN=new Map,aN=new Map,oN=new Map,sN=new Map,cN=new Set,lN=new Set,uN=new Set,dN=Bp(),fN=null,pN=null,mN=null,hN=null,gN=new Map,_N=null,vN=null,yN=null,bN=null,xN=null,SN=!1,CN=!1,wN=null,TN=null,EN=null,DN=null,ON=new Map,kN=null,AN=null,jN=null,MN=null,NN=null,PN=new Map,FN=null,IN=!1,LN=null;function RN(e,t){let n=p(`button`,`review-icon-button`);n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e);let r=yM(16,16);return r.append(vM(`path`,{d:t,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n.append(r),n}function zN(){SN=!1,mN?.querySelector(`.review-more-menu`)?.remove(),mN?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function BN({panel:e}){if(pN=e,!pN)return;let t=pN,n=p(`div`,`review-sidebar-head`),r=p(`span`,`review-sidebar-title`,`Review`),i=e=>{t.toggleAttribute(`data-collapsed`,e),zp(!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`,()=>zP(e)),gN.set(e,n),a.append(n)}_N=p(`span`,`review-notes-count`),a.append(_N);let o=RN(`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=RN(`Open review`,`M10 3L5 8L10 13`);c.classList.add(`review-sidebar-open`),c.addEventListener(`click`,()=>i(!1)),yN=p(`div`,`review-rail-status`),bN=p(`span`,`review-rail-added`),xN=p(`span`,`review-rail-removed`),yN.append(bN,xN),vN=p(`span`,`review-rail-label`,`Review`),s.append(c,vN,yN),mN=p(`div`,`review-controls`),hN=p(`div`,`review-sidebar-body`),kN=p(`div`,`review-notes-footer`),AN=p(`button`,`review-btn review-btn-primary`,`Send notes`),AN.type=`button`,AN.title=`Paste the drafted review notes into this session as one message`,AN.addEventListener(`click`,TP),jN=p(`div`,`review-notes-status`),kN.append(jN,AN),NN=p(`div`,`review-notes-list`),MN=p(`div`,`review-notes-outcome`),MN.setAttribute(`role`,`status`);let l=p(`div`,`review-resize-handle`);l.setAttribute(`aria-hidden`,`true`),t.append(s,n,mN,hN,MN,kN,l),t.toggleAttribute(`data-collapsed`,!Rp()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&SN&&(e.preventDefault(),zN(),mN?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{SN&&e.target instanceof Element&&(mN?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||zN())});let u=0,d=0,f=e=>{let n=Math.max(eN,Math.min(tN,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&&pm(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 _=fm();_!==null&&f(_),mae(e=>{SN=!1,lN.clear(),uN.clear(),fN=null,vP(),e&&lP(e),e&&!dP(e)&&fP(e),UP()}),UP()}function VN(e){pN&&(e?ie(pN,e):ae(pN))}function HN(e,t){let n=nN.get(e);nN.set(e,t),MM(n,t)&&(iN.delete(e),aN.delete(e),oN.delete(e),e===W_()&&uP(e)),e===W_()&&UP()}function UN(e,t,n=null){let r=nN.get(e)||`none`,i=t||`none`;if(rN.set(e,n),HN(e,i),XM.has(i)&&!XM.has(r)){let t=W_(),n=t?XM.has(nN.get(t)||`none`):!1;(!t||!E.has(t)||!n)&&G_(e)}}function WN(e,t,n=null){rN.set(e,n),HN(e,t||`none`)}function GN(e,t){let n=iN.get(e)??null;iN.set(e,t),aN.delete(e),e===W_()&&(YN(n,t),fN&&BP(fN,t),UP(),VP())}function KN(e,t){let n=O(e);n&&(aN.set(n,t),n===W_()&&UP())}function qN(e,t){let n=O(e);if(!n)return;let r=cd.safeParse(t);r.success&&r.data.sessionId===n&&(oN.set(n,r.data),n===W_()&&UP())}function JN(e){return{committed:e?.committed?.diff||``,uncommitted:e?.uncommitted?.diff||``}}function YN(e,t){if(PN.size===0||!e)return;let n=AM(JN(e),JN(t),PN.keys());if(n.length!==0){for(let e of n)PN.delete(e);FN!==null&&n.includes(FN)&&(FN=null),LN=`${n.length} note${n.length===1?``:`s`} dropped because the diff changed.`}}function XN(e,t){let n=O(e),r=t;sN.set(n,r),r&&r.action!==void 0&&ZN(n,r),n===W_()&&UP()}function ZN(e,t){cN.delete(e),clearTimeout(DN??void 0),DN=null;let n=YM(t);EN=n?{forId:e,text:n,isError:!!t.error}:null,EN&&!EN.isError&&(DN=setTimeout(()=>{EN&&EN.forId===e&&(EN=null),UP()},5e3))}function QN(e){let t=O(e);t&&t===W_()&&lP(t)}function $N(e){let t=O(e);if(t!==W_())return;let n=!iN.has(t)||aN.has(t),r=!oN.has(t)||eP(oN.get(t));n&&lP(t),r&&!n&&uP(t),UP()}function eP(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function tP(e){let t=O(e);nN.delete(t),rN.delete(t),iN.delete(t),aN.delete(t),oN.delete(t),sN.delete(t),cN.delete(t),EN&&EN.forId===t&&(clearTimeout(DN??void 0),EN=null),t===W_()?G_(null):UP()}function nP(){let e=W_();if(!e||dP(e))return!1;let t=E.get(e);if(!t)return!1;let n=nN.get(e)||`none`,r=!!iN.get(e)?.hasCommits,i=BM(n,rN.get(e)||null,oP(t.currentState,r));return IM({status:n,mergeReason:rN.get(e)||null,live:cP(t.currentState),isMergeRendered:i.isRendered,hasChanges:aP(e)})!==`merge`||!i.isEnabled?!1:(sP(e,t.currentState),!0)}function rP(){let e=W_();if(!e||dP(e))return!1;let t=E.get(e);if(!t)return!1;let n=nN.get(e)||`none`,r=rN.get(e)||null;return IM({status:n,mergeReason:r,live:cP(t.currentState),isMergeRendered:BM(n,r,!1).isRendered,hasChanges:aP(e)})===`resolve`&&(G({type:`resolve-session-merge`,id:e}),!0)}function iP(){let e=W_();return!e||!E.has(e)||dP(e)||mP(e)?!1:(hP(e),!0)}function aP(e){let t=iN.get(e)??null,n=[...OM(t?.committed?.diff||``),...OM(t?.uncommitted?.diff||``)];return HM({fetched:iN.has(e),changedFileCount:NM(n).files,hasCommits:!!t?.hasCommits})}function oP(e,t){return(u.includes(e)||e===a.RUNNING)&&t}function sP(e,t){t===a.RUNNING?bh({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:()=>G({type:`merge-continue-session`,id:e,force:!0})}):G({type:`merge-continue-session`,id:e})}function cP(e){return e!==a.DORMANT&&e!==a.DONE&&e!==a.FAILED}function lP(e){G({type:`request-session-diff`,id:e}),uP(e)}function uP(e){oN.has(e)||oN.set(e,null),G({type:`request-change-map`,id:e})}function dP(e){return E.get(e)?.card.dataset.workspace!==void 0}function fP(e){sN.set(e,null),G({type:`request-branch-sync`,id:e}),e===W_()&&UP()}function pP(e){cN.add(e),clearTimeout(DN??void 0),EN&&EN.forId===e&&(EN=null),G({type:`resync-branch`,id:e}),e===W_()&&UP()}function mP(e){return cN.has(e)||sN.get(e)===null}function hP(e){mP(e)||(GM(sN.get(e))===`resync`?pP(e):fP(e))}function gP(e,t){return t?{text:`Resyncing...`,loading:!0,error:!1}:EN&&EN.forId===e?{text:EN.text,loading:!1,error:EN.isError}:null}function _P(e,t){return e?.card?.dataset.session||t}function vP(){PN.clear(),FN=null,LN=null,IN=!1}function yP(e){return PN.get(e)??null}function bP(){return`${PN.size} note${PN.size===1?``:`s`} drafted`}function xP(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`,()=>RP(e)),n.append(i),n}function SP(){if(NN){NN.replaceChildren(),NN.hidden=PN.size===0;for(let[e,t]of PN)NN.append(xP(e,t))}}function CP(){if(!kN||!AN||!jN)return;let e=W_(),t=!!e&&E.has(e);kN.hidden=!t||dN===`map`||PN.size===0,AN.disabled=IN||PN.size===0,jN.textContent=bP(),_N&&(_N.hidden=PN.size===0,_N.textContent=String(PN.size),_N.setAttribute(`aria-label`,bP())),MN&&(MN.textContent=IN?`Sending notes...`:LN,MN.hidden=!t||dN===`map`||!MN.textContent),SP(),dN===`notes`&&t&&wP()}function wP(){hN&&NN&&(hN.replaceChildren(),PN.size===0?WP(`No notes yet`,`Open the Diff tab and press note on a line to draft one.`):hN.append(NN))}function TP(){let e=W_();e&&!IN&&PN.size!==0&&(IN=!0,LN=null,CP(),oh(`send-diff-annotations`,{id:e,annotations:[...PN.values()]}).then(OP,EP))}function EP(e){IN=!1;let t=e instanceof Error?e.message:``;LN=t?`Could not send the notes: ${t}.`:`Could not send the notes.`,CP()}function DP(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 OP(e){IN=!1,e.type!==`send-diff-annotations-result`||e.ok!==!0?(LN=DP(e),CP()):e.pending===!0?(LN=`Notes queued until the session wakes. They stay drafted here, and pressing Send notes again re-sends them.`,CP()):(LN=`Notes sent.`,PN.clear(),FN=null,UP())}function kP(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`,()=>RP(e)),n.append(r),n}function AP(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=pf,r.placeholder=`Note for this line`,r.addEventListener(`keydown`,t=>{t.key===`Enter`?(t.preventDefault(),LP(e,r.value)):t.key===`Escape`&&(t.preventDefault(),IP())});let i=p(`button`,`review-note-save`,`Save`);i.type=`button`,i.addEventListener(`click`,()=>LP(e,r.value));let a=p(`button`,`review-note-cancel`,`Cancel`);return a.type=`button`,a.addEventListener(`click`,IP),n.append(r,i,a),n}function jP(e){let t=[],n=yP(e);return FN===e&&t.push(AP(e,n?n.note:``)),n&&t.push(kP(e,n.note)),t}function MP(e,t){let n=jP(t);return e.after(...n),n}function NP(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 PP(e){let t=ON.get(e);if(!t)return;let n=null;for(let r of t.rows){NP(r);let t=MP(r,e);for(let e of t){let t=e.querySelector(`input`);!n&&t instanceof HTMLInputElement&&(n=t)}}n&&(n.focus(),n.select())}function FP(e){let t=FN;FN=e,t&&t!==e&&PP(t),PP(e)}function IP(){let e=FN;e&&(FN=null,PP(e))}function LP(e,t){let n=ON.get(e);if(!n)return;let r=t.trim();r&&(PN.size>=50&&!PN.has(e)?(LN=`Only 50 notes can be sent at once.`,CP()):(PN.set(e,{...n.target,section:n.section,note:r}),LN=null,FN=null,PP(e),CP()))}function RP(e){PN.delete(e),LN=null,PP(e),CP()}function zP(e){dN=e,e!==`diff`&&(fN=null),Vp(e),UP()}function BP(e,t){if(!t)return;let n=OM(t.committed?.diff),r=OM(t.uncommitted?.diff);for(let t of n)(t.path===e||t.oldPath===e)&&lN.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&lN.add(`uncommitted:${t.path}`)}function VP(){if(!hN||!fN)return;let e=hN.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===fN||t.dataset.oldPath===fN){t.scrollIntoView({block:`nearest`}),fN=null;return}}function HP(e){fN=e,BP(e,iN.get(W_()??``)),zP(`diff`),VP()}function UP(){if(!mN||!hN)return;mN.replaceChildren(),hN.replaceChildren();for(let[e,t]of gN)t.setAttribute(`aria-pressed`,String(dN===e));ON.clear(),CP(),vN&&(vN.hidden=!0),yN&&(yN.hidden=!0);let e=W_(),t=e?E.get(e):null;if(!e||!t){WP(`No session selected`,`Click a session name to review its changes here.`);return}let n=dP(e),r=nN.get(e)||`none`,i=rN.get(e)||null,a=t.currentState,o=XM.has(r),s=iN.has(e),c=s?iN.get(e):null,l=aN.get(e)??null,u=c?OM(c.committed?.diff||``):[],d=c?OM(c.uncommitted?.diff||``):[],f=!!c?.hasCommits,m=cP(a),h=BM(r,i,oP(a,f)),g=sN.get(e),_=cN.has(e),v=LM(t.effectiveBase),y=NM([...u,...d]),b=IM({status:r,mergeReason:i,live:m,hasChanges:HM({fetched:s,changedFileCount:y.files,hasCommits:f}),isMergeRendered:h.isRendered}),x=PM({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}),S=p(`div`,`review-status-headline`);if(S.append(p(`span`,`review-status-text`,x.text)),!n&&!qM(g)){let t=WM(g);if(t){S.title=t;let n=RN(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=KM(g,$M,b!==`resolve`),n.disabled=mP(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>hP(e)),S.append(p(`span`,`sr-only`,t),n)}}mN.append(S);let ee=p(`div`,`review-status-meta`);if(JM({fetched:s,changedFileCount:y.files,view:dN})&&ee.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&&qM(g)){let t=GP(e,b!==`resolve`);t&&ee.append(t)}ee.childElementCount>0&&mN.append(ee),r===`parked`&&mN.append(p(`div`,`review-status-explanation`,zM(i))),vN&&(vN.hidden=!1),yN&&(yN.hidden=!1,yN.setAttribute(`aria-label`,`${x.text}, +${y.added}, -${y.removed}`),yN.title=x.text),bN&&(bN.textContent=`+${y.added}`),xN&&(xN.textContent=`-${y.removed}`);let te=n?null:YP(e,{status:r,reviewable:o,mergeAction:h,live:m,state:a,effectiveBase:v,primaryAction:b});te&&mN.append(te);let ne=n?null:gP(e,_),re=!n&&b===`merge`&&!h.isEnabled?VM({status:r,hasCommits:f,live:m,state:a}):null;if(re){let e=p(`div`,`review-control-reason`,re);e.id=`review-merge-reason`,mN.append(e),mN.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(ne?.text){let e=p(`div`,ne.loading?`review-control-reason review-loading`:`review-control-reason`,ne.text);e.id=`review-resync-reason`,ne.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),ee.append(e),ee.isConnected||mN.insertBefore(ee,S.nextSibling),mN.querySelector(`.review-branch-sync-text, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(CN&&wN===e&&mN.append(p(`div`,`review-resolve-sent`,`Resolve prompt sent`)),dN!==`notes`){if(dN===`map`){let t=oN.get(e);if(!t){hN.append(p(`div`,`review-nochanges review-loading`,`Loading map...`));return}hN.append(EM(CM(t),HP))}else l?hN.append(p(`p`,`review-diff-error`,l)):(u.length>0&&hN.append(KP(`committed`,`Committed`,FM(x,v),u)),d.length>0&&hN.append(KP(`uncommitted`,`Uncommitted`,null,d)))}}function WP(e,t){if(!hN)return;let n=p(`div`,`review-empty`);n.append(p(`div`,`review-empty-title`,e),p(`div`,`review-empty-desc`,t)),hN.append(n)}function GP(e,t){let n=sN.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=WM(n)||`Base branch: sync state unknown`,i=RN(`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=cN.has(e),n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`),i.title=KM(n,$M,t),i.addEventListener(`click`,()=>hP(e)),i}function KP(e,t,n,r){let i=p(`div`,`review-section`);i.dataset.kind=e;let a=NM(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(qP(t,e));return i.append(l),i}function qP(e,t){let n=`${t}:${e.path}`,r=lN.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=lN.has(n);e&&lN.delete(n),e||lN.add(n),UP()}),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>=ZM&&!uN.has(n)){u=!0;break}c.append(p(`div`,`review-hunk-head`,r.header));for(let i of r.lines){if(l>=ZM&&!uN.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=jM(e,i);if(c.append(r),l++,!o)continue;let s=kM(t,o.path,o.line,o.side),d=ON.get(s)??{target:o,section:t,rows:[]};d.rows.push(r),ON.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`,()=>FP(s)),r.append(f),MP(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`,()=>{uN.add(n),UP()}),c.append(e)}return i.append(c),i}function JP({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 YP(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(JP({id:`review-merge-btn`,label:`Merge`,shortcut:QM,title:RM(o,QM),disabled:!r.isEnabled,onClick:()=>sP(e,a)})),l&&c.append(JP({label:`Resolve`,shortcut:$M,title:`Paste a resolve prompt into this session so the agent can finish the merge (${$M})`,onClick:()=>{G({type:`resolve-session-merge`,id:e}),CN=!0,wN=e,clearTimeout(TN??void 0),TN=setTimeout(()=>{CN=!1,wN=null,UP()},3e3),UP()}}));let u=p(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=RN(`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(SN)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{SN=!SN,UP(),(mN?.querySelector(SN?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??mN?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!SN)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=JP({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{SN=!1,UP(),bh({title:`Discard worktree`,message:`Throw away the worktree changes for "${_P(E.get(e),e)}"? This cannot be undone.`,confirmLabel:`Discard`,onConfirm:()=>G({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var XP=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 ZP(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=160?t:`${t.slice(0,157)}...`}function QP(e,t){let n=XP[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return``;let r=t[n];return typeof r==`string`?ZP(r):``}var $P=5e3;function eF(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function tF(e,t){if(!e.toolUseId)return eF(e.text)??`context`;let n=t.get(e.toolUseId);return n?QP(n.name,n.input)||n.name:`expansion`}function nF(e){return e.kind!==`expansion`||e.toolUseId?!1:eF(e.text)!==null}function rF(e){return e.kind===`prompt`||e.kind===`session`||nF(e)}function iF(e){return new TextEncoder().encode(e).byteLength}function aF(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(`
251
+ `)}var oF={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`},sF=[{kind:`thinking`,label:`Thinking`},{kind:`tool_result`,label:`Tool result`},{kind:`raw`,label:`Raw`}];function cF(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:ZP(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:ZP(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:ZP(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:ZP(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:ZP(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:tF(e,t)};if(e.kind===`tool_call`){let t=QP(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:`${iF(e.content)} bytes`}}function lF(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function uF(e,t){let n=cF(e,t),r=lF(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:oF[e.kind],text:`${r}${i}`,tone:o,badges:a}}function dF(e,t){return{record:e,...uF(e,t)}}function fF(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function pF(e,t){let n=fF(e);return!n||t.has(n)?null:n}function mF(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function hF(e,t){let n=(e.get(t)??0)-1;n>0?e.set(t,n):e.delete(t)}function gF(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=fF(i.record);a&&t.has(a)&&(n.rows[r]=dF(i.record,e.toolCallByUseId))}}function _F(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function vF(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 yF(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`}`}, ${Ih(i,`KB`)}, ${ig(vF(e))}`}function bF(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function xF(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=iF(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function SF(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=pF(i,e.toolCallByUseId);t&&mF(e.unresolvedToolUseCounts,t);let a=dF(i,e.toolCallByUseId);if(rF(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:bF()},xF(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:bF()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),xF(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 CF(e,t){let n=_F();SF(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)||mF(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],gF(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function wF(e){return e.rows.length+ +!!e.head}function TF(e){let t=0;for(let n of e.turns)t+=wF(n);return t}function EF(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=fF(n.record);t&&hF(e.unresolvedToolUseCounts,t)}}function DF(e,t){EF(e,t.head?[t.head,...t.rows]:t.rows)}function OF(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);EF(e,i);for(let e of i)xF(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function kF(e,t=$P){let n=TF(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=wF(t),DF(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:OF(e,n-t)}}function AF(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 jF(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 MF(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 NF(e,t=$P){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function PF(e,t=$P){return!NF(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function FF(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 IF(e){return e.hasSelectionChanged||e.isRenderedTraceStale||!e.hasRenderedOnce}function LF(e,t,n){return e!==0||t?null:n?.startedAt??null}function RF(e,t){return zF(e,t)?e.filter(e=>e!==t):[...e,t]}function zF(e,t){return e.includes(t)}function BF(e){return e?`No trace has been recorded for ${e.label}.`:`No sessions are available.`}var VF=1e4,HF=null,UF=null,WF=null,GF=null,KF=[],qF=!1,JF=Xp(),YF=null,XF=null,ZF=[],QF=null,$F=null,eI=null,tI=null,nI=!1;function rI(){return!!HF&&!w(HF)}function iI(){return ZF.find(e=>e.id===QF)??null}function aI(){tI&&=(clearTimeout(tI.timeoutHandle),null)}function oI(){tI=null,AI()}function sI(e){aI(),nI=!1,QF=e,eI=e?{sessionId:e,grouping:_F(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,qF=!0}function cI(e){let t=jF(ZF,$F,QF,e);return $F&&t===$F&&($F=null),t!==QF&&(sI(t),!0)}function lI(e){if(!YF)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};YF(t)&&(tI={request:e,timeoutHandle:setTimeout(oI,VF)})}function uI(e=!1){if(!YF)return;let t=MF({selectedSessionId:QF,isPanelVisible:e||rI(),hasPendingRequest:!!tI,hasLoadedOnce:eI?.hasLoadedOnce??!1,nextOffset:eI?.nextOffset??0});t&&lI(t)}function dI(){return{selectedSessionId:QF,hasPendingRequest:!!tI,hasLoadedOnce:eI?.hasLoadedOnce??!1,hasDroppedEarliestRows:eI?.hasDroppedEarliestRows??!1,firstOffset:eI?.firstOffset??0,residentRowCount:eI?TF(eI.grouping):0}}function fI(){if(!YF)return;let e=PF(dI());e&&lI(e)}function pI(e){ZF.some(t=>t.id===e)&&e!==QF&&($F=null,sI(e),uI(),AI())}function mI(){let e=p(`label`,`trace-session-field`),t=p(`span`,`trace-session-label`,`Session`),n=p(`select`,`trace-session-select`);n.disabled=ZF.length===0;for(let e of ZF){let t=p(`option`,null,e.label);t.value=e.id,t.selected=e.id===QF,n.append(t)}return n.addEventListener(`change`,()=>pI(n.value)),e.append(t,n),e}function hI(e){e.toggleAttribute(`data-hidden`,zF(JF,e.dataset.kind??``))}function gI(){if(WF)for(let e of WF.querySelectorAll(`.trace-row`))hI(e)}function _I(e){if(WF)for(let t of WF.querySelectorAll(`details`))t.open=e}function vI(){let e=p(`div`,`trace-filters`);for(let t of sF){let n=p(`button`,`trace-filter`,t.label);n.type=`button`;let r=()=>{n.setAttribute(`aria-pressed`,String(!zF(JF,t.kind)))};r(),n.addEventListener(`click`,()=>{JF=RF(JF,t.kind),Zp(JF),r(),gI()}),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`,()=>{_I(n)}),e.append(r)}return e}function yI(){let e=ne(`trace`,`Session trace`,`Bodies load from the local trace file only when requested.`),t=p(`div`,`trace-controls`);t.append(mI());let n=eI?.filePath??``,r=p(`code`,`trace-path`,n);r.title=n,t.append(r);let i=eI?LF(eI.firstOffset,eI.hasDroppedEarliestRows,eI.grouping.turns[0]):null;return i!==null&&t.append(p(`span`,`trace-session-start`,`Started ${new Date(i).toLocaleString()}`)),e.append(t,vI()),e}function bI(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=T(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 xI(){let e=p(`div`,`trace-earlier-wrap`),t=p(`button`,`trace-load-earlier`,`Load earlier`);return t.type=`button`,t.addEventListener(`click`,()=>{fI()}),e.append(t),e}function SI(e,t,n=``){let r=p(`details`,`trace-row${n?` ${n}`:``}`);r.dataset.kind=e.kind,r.dataset.tone=e.tone,hI(r);let i=p(`summary`,`trace-row-summary`);i.append(p(`span`,`trace-offset`,ag(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=aF(e.record);a.append(bI(t),p(`pre`,`trace-row-pre`,t))}),r}function CI(e){return p(`span`,`trace-turn-metrics`,yF(e))}function wI(e,t){e&&t&&(t.textContent=yF(e))}function TI(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=ag(t.startedAt,t.rows[e].record.ts))}}function EI(e,t,n){let r=SI(t,e.startedAt,`trace-turn-head`);return y(r,`.trace-row-summary`).append(n),r}function DI(e){let t=p(`section`,`trace-turn`),n=CI(e);if(e.head&&t.append(EI(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(SI(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 OI(e){return e?tI?.request.id===e.id&&!eI?.hasLoadedOnce?`Loading trace.`:BF(e):BF(null)}function kI(){if(!HF)return;let e=p(`div`,`trace-content`);UF=yI(),e.append(UF),WF=null,GF=null,KF=[];let t=iI(),n=eI?.grouping.turns??[];if(!t||n.length===0){e.append(p(`p`,`trace-empty`,OI(t))),HF.replaceChildren(e),qF=!1;return}NF(dI())&&(GF=xI(),e.append(GF));let r=p(`div`,`trace-turns`);for(let e of n){let t=DI(e);KF.push(t),r.append(t.section)}WF=r,gI(),e.append(r),HF.replaceChildren(e),qF=!1}function AI(){HF&&(rI()?kI():qF=!0)}function jI(){if(!UF||!rI())return;let e=yI();UF.replaceWith(e),UF=e}function MI(e){if(!WF)return;let t=eI?.grouping.turns[e.turnIndex];if(!t)return;if(e.isNewTurn){let e=DI(t);KF.push(e),WF.append(e.section);return}let n=KF[e.turnIndex];if(n){for(let r of e.rows)n.rowsElement.append(SI(r,t.startedAt));wI(t,n.metricsElement)}}function NI(e){let t=e.parentElement;t&&!t.querySelector(`.trace-trimmed`)&&t.insertBefore(p(`p`,`trace-trimmed`,`Earlier rows trimmed`),e)}function PI(){NF(dI())?!GF&&WF?.parentElement&&(GF=xI(),WF.parentElement.insertBefore(GF,WF)):(GF?.remove(),GF=null)}function FI(){if(!eI)return;let e=kF(eI.grouping);if(!(e.droppedTurnCount>0||e.droppedRowCount>0)){PI();return}let t=!eI.hasDroppedEarliestRows;if(eI.hasDroppedEarliestRows=!0,KF=KF.slice(e.droppedTurnCount),WF)for(let t=0;t<e.droppedTurnCount;t+=1)WF.firstElementChild?.remove();let n=KF[0];if(n&&e.droppedRowCount>0){for(let t=0;t<e.droppedRowCount;t+=1)n.rowsElement.firstElementChild?.remove();NI(n.rowsElement),wI(eI.grouping.turns[0],n.metricsElement)}t&&jI(),PI()}function II(e){if(!eI)return;let t=SF(eI.grouping,e);if(rI()&&!qF&&WF){for(let e of t)MI(e);FI()}else WF=null,FI(),rI()?kI():qF=!0}function LI(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 RI(){nI&&!tI&&(nI=!1,uI())}function zI(e){if(!WF)return;let t=KF[0]??null,n=t?.rowsElement.parentElement??null,r=eI?.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=CI(r),o=EI(r,e.mergedHead,a);n.insertBefore(o,i),t.metricsElement=a}e.mergedHead||wI(r,t.metricsElement);let a=document.createDocumentFragment();for(let t of e.mergedRows)a.append(SI(t,r.startedAt));i.prepend(a),TI(i,r)}let i=document.createDocumentFragment(),a=[];for(let t of e.newTurns){let e=DI(t);a.push(e),i.append(e.section)}WF.prepend(i),KF.unshift(...a)}function BI(e){if(!eI)return;let t=CF(eI.grouping,e),n=rI()&&!qF&&!!WF&&!t.needsRerender,r=HF?.parentElement??null,i=r?.scrollHeight??0,a=r?.scrollTop??0;n&&zI(t),FI(),n||AI(),n&&jI(),r&&(r.scrollTop=a+r.scrollHeight-i)}function VI(e){HF||(HF=p(`div`,`trace-panel`),e.append(HF),kI())}function HI(e){YF=e}function UI(e){XF=e}function WI(e){$F=e,XF?.()}function GI(e){ZF=AF(e);let t=cI(rI());t&&uI(),(t||!UF)&&AI(),!t&&UF&&jI()}function KI(){if(!HF)return;let e=cI(!0);uI(!0),IF({hasSelectionChanged:e,isRenderedTraceStale:qF,hasRenderedOnce:!!UF})&&kI()}function qI(e){let t=LI(e);if(!t)return;let n=FF({pendingRequest:tI?.request??null,resident:eI?{sessionId:eI.sessionId,firstOffset:eI.firstOffset,nextOffset:eI.nextOffset,hasLoadedOnce:eI.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});n===`ignore`?RI():(aI(),n===`stale`?RI():n===`reset`?(sI(t.id),eI&&(eI.filePath=t.path),uI(),AI(),RI()):eI&&(eI.filePath=t.path,n===`prepend`?(eI.firstOffset=t.start,BI(t.records),RI()):(n===`seed`&&(eI.hasLoadedOnce=!0,eI.firstOffset=t.start),eI.nextOffset=t.next,II(t.records),RI())))}function JI(e){let t=e?.id;typeof t==`string`&&t===QF&&rI()&&(tI?nI=!0:uI())}function YI(e){let t=e?.id;typeof t==`string`&&tI?.request.id===t&&(aI(),nI=!1,AI())}function XI(e){aI(),nI=!1,e?uI():AI()}var ZI=`Estimated list prices, not a bill.`,QI=`Enable in Settings.`,$I=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}]),eL=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],tL=/^(\d{4})-(\d{2})-(\d{2})$/,nL=new Set([`day`,`model`,`label`]),rL=new Set([`model`,`label`]);function iL(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function aL(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function oL(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${iL(String(Math.abs(t)))}`}function sL(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}$${iL(r)}.${i}`}function cL(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}${aL((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${aL((n/1e6).toFixed(2))}M`:`${t}${aL((n/1e9).toFixed(2))}B`}function lL(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${aL(e.toFixed(1))}%`}function uL(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function dL(e){return e===`costUSD`?`share of cost`:`share of tokens`}function fL(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function pL(e){let t=tL.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=eL[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function mL(e){let t=hL(e);return t.length===0?``:t.length===1?pL(t[0]):`${pL(t[0])} to ${pL(t[t.length-1])}`}function hL(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>tL.test(e)).sort()}function gL(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:_L(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function _L(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=vL(e,n);return tL.test(r)?r:vL(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function vL(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function yL(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:Ph(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function bL(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=eL[n.getMonth()];return r?`${r} ${n.getDate()} ${Rh(n)}`:`-`}function xL(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${cL(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:cL(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:sL(e.costPerHour),sub:``}),t}function SL(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${cL(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(sL(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${yL(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 CL(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 wL(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=80?`warn`:`ok`}function TL(e){let t=V(e?.max,null);return t===null||t<=0?null:t}function EL(e){let t=TL(e),n=V(e?.pct,null);return t===null||n===null?null:n*100}function DL(e,t){let n=TL(t),r=V(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}function OL(e){let t=EL(e);return t===null?``:`${Math.round(t)}% of ${cL(e?.max)} tokens, the largest completed block seen`}function kL(e,t){let n=DL(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 AL=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function jL(e){let t=AL.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=fL(e.tokens,n)??0,r=cL(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${lL(t)}`}})}var ML=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`}),NL=`Sessions spawned by Glimmervoid; terminal sessions count as other`,PL=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function FL(e){let t=jc(e,``);return t?ML[t]||t:ML.other}function IL(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function LL(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function RL(e){return IL(e).some(e=>LL(e.lane))}var zL=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function BL(e,t,n){let r=RR(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function VL(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+V(t.costUSD,0),0),o=i.reduce((e,t)=>e+V(t.tokens,0),0),s=i.filter(e=>LL(e.lane)).map(e=>({lane:String(e.lane),label:FL(e.lane),tokens:V(e.tokens,0),costUSD:V(e.costUSD,0)})),c=s.reduce((e,t)=>e+t.costUSD,0),l=s.reduce((e,t)=>e+t.tokens,0),u=a>0?fL(c,a):fL(l,o),d=BL(n,e,r),f=u===null||d===null?null:u/100*d;return{key:e,label:zL[e],tokens:l,costUSD:c,sharePct:u,planPct:f,lanes:s}}function HL(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:LR.map(e=>VL(e.key,r[e.key],t,n)).filter(e=>e!==null)}function UL(e){return e.planPct===null?``:`about ${lL(e.planPct)} of plan`}function WL(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?sL(e.costUSD):cL(e.tokens)}`).join(`, `)}var GL=`team-review`;function KL(e){if(!Array.isArray(e?.byLane))return null;let t=IL(e).find(e=>e.lane===GL),n=V(t?.costUSD,0),r=V(t?.tokens,0),i=uL(e?.totals),a=fL(i===`costUSD`?n:r,e?.totals?.[i]),o=a===null?``:`${lL(a)} of range ${i===`costUSD`?`cost`:`tokens`}`,s=[sL(n),o,qL(t?.sessions)].filter(Boolean).join(`, `);return{label:FL(GL),value:cL(r),sub:s}}function qL(e){let t=V(e,null);return t===null||t<=0?``:`${oL(t)} ${t===1?`session`:`sessions`}`}function JL(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function YL(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function XL(e){return JL(e)!==null||YL(e)!==null}function ZL(e){let t=JL(e);if(!t)return null;let n=V(t.commands,0),r=n===1?`command`:`commands`;return{value:`${cL(V(t.savedTokens,0))} tokens`,sub:`${lL(V(t.savingsPct,0))} avg across ${oL(n)} ${r}`}}function QL(e){let t=YL(e);if(!t)return null;let n=cL(V(t.cacheReadTokens,0)),r=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),i=`${n} cache read tokens`;if(r.length===0)return{value:sL(V(t.savedUSD,0)),sub:i};let a=r.length===1?`model`:`models`;return{value:sL(V(t.savedUSD,0)),sub:`${i}, a floor (${r.length} unpriced ${a})`}}function $L(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&V(e.budgetUsd,null)!==null):[]}function eR(e){return e===`monthly`?`this month`:`today`}function tR(e){return`${sL(V(e?.spentUsd,0))} of ${sL(V(e?.budgetUsd,0))}`}function nR(e){let t=V(e?.pct,null);return t===null?0:t}function rR(e){return`${eR(e?.scope)} spend against budget`}var iR=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function aR(e){let t=tL.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function oR(e){let t=aR(e);if(!t)return``;let n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),Lh(t)}function sR(e){let t=tL.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function cR(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 lR(e,t){e.tokens+=V(t?.tokens,0),e.costUSD+=V(t?.costUSD,0),e.input+=V(t?.input,0),e.output+=V(t?.output,0),e.cacheCreate+=V(t?.cacheCreate,0),e.cacheRead+=V(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=sz(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+=V(t?.tokens,0),r.costUSD+=V(t?.costUSD,0),r.input+=V(t?.input,0),r.output+=V(t?.output,0),r.cacheCreate+=V(t?.cacheCreate,0),r.cacheRead+=V(t?.cacheRead,0),e.modelByName.set(n,r)}}function uR(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 dR(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)||cR(r);lR(i,e),n.set(r,i)}return Array.from(n.values()).map(uR)}function fR(e){return dR(e,oR)}function pR(e){return dR(e,sR)}function mR(e,t){return t===`week`?fR(e):t===`month`?pR(e):Array.isArray(e)?[...e]:[]}var hR=/^(\d{4})-(\d{2})$/;function gR(e,t){if(t===`month`){let t=hR.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=eL[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=pL(e);return t===`-`?t:`week of ${t}`}return pL(e)}function _R(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var vR=Object.freeze([.05,.25,.5,.75]),yR=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function bR(e,t){let n=V(e,0),r=V(t,0);if(n<=0||r<=0)return 0;let i=n/r,a=1;for(let e=0;e<vR.length;e+=1)i>=vR[e]&&(a=e+1);return a}function xR(e,{weeks:t=16,today:n=new Date}={}){let r=(Array.isArray(e)?e:[]).filter(e=>tL.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`&&tL.test(n)?n:Lh(o),c=aR(oR(s));if(!c)return{cells:[],max:0,weeks:0};let l=new Date(c.getFullYear(),c.getMonth(),c.getDate()-(t-1)*7,12),u=Lh(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,V(e.tokens,0)))}for(let e=0;e<t;e+=1)for(let t=0;t<7;t+=1){let n=Lh(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:V(r?.tokens,0),costUSD:V(r?.costUSD,0),source:r?.source===`history`?`history`:r?`live`:null,noData:a||o||!r&&p===null,tone:bR(r?.tokens,f)})}return{cells:d,max:f,weeks:t}}function SR(e){let t=pL(e?.day);if(e?.noData)return`${t}: no data`;let n=V(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${cL(n)} tokens, ${sL(V(e?.costUSD,0))}`}function CR(e){if(!e)return``;let t=V(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${OR(e.ratio)} the ${n} average: ${sL(e.todayUsd)} against ${sL(e.baselineUsd)}.`}function wR(e){return e?`This block is burning ${OR(e.ratio)} the usual rate: ${cL(e.current)} tokens per minute against ${cL(e.baseline)}.`:``}function TR(e){return[CR(e?.daily),wR(e?.burn)].filter(Boolean).join(` `)}function ER(e){return e?.daily||e?.burn?`warn`:`ok`}function DR(e){return!!(e?.daily||e?.burn)}function OR(e){let t=V(e,null);return t===null?`-`:`${aL(t.toFixed(1))}x`}var kR=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function AR(e){let t=jc(e,``);return t?kR[t]||t:kR.claude}function jR(e,t){return NR(t)?AR(e?.vendor):``}function MR(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>V(t[n]?.tokens,0)-V(t[e]?.tokens,0)).map(e=>({vendor:e,label:AR(e),tokens:V(t[e]?.tokens,0),costUSD:V(t[e]?.costUSD,0)}))}function NR(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 PR=`Claude only`;function FR(e){return NR(e)?PR:``}var IR=36e5,LR=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]);function RR(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=V(n.pct,null),i=V(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function zR(e){return LR.some(t=>RR(e,t.key)!==null)}function BR(e){return RR(e,`fiveHour`)?.pct??null}function VR(e){return e===`official`?`official, from Claude Code`:e===`estimated`?`estimated from the largest completed block`:``}function HR(e,t=null){let n=BR(t);if(n!==null)return wL(n);let r=wL(EL(e?.tokenLimit));return r===`ok`?wL(DL(e?.activeBlock?.projection,e?.tokenLimit)):r}function UR(e,t=null){let n=[],r=HR(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 $L(e)){let e=nR(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 Xh(n)}function WR(e){let t=V(e?.pct,null);return t===null?`-`:`${lL(t)} used`}function GR(e,t=Date.now()){let n=V(e,null);if(n===null||n<=0)return``;let r=(n-t)/6e4;return r<=0?`resetting now`:`resets in ${yL(r)}`}function KR(e,t=Date.now()){let n=V(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function qR(e,t=Date.now()){let n=V(e,null);return n===null||n<=0||t-n>IR}function JR(e,t=Date.now()){if(!qR(e,t))return``;let n=KR(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function YR(e,t=``){let n=e?.source;if(n===`fetched`){let e=jc(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=jc(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 XR(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 ZR(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 QR(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function $R(e){if(!e||typeof e!=`object`)return``;let t=[],n=QR(e.dirs);if(n!==null&&t.push(`${oL(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${oL(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${oL(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${oL(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 ez(e){return jc(e?.error,``)}function tz(e){let t=jc(e?.warning,``);return t?`Glimmervoid could not read every transcript location: ${t}`:``}function nz(e){return ez(e)!==``}function rz(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function iz(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 az(e){return typeof e?.id==`string`&&e.id!==``}function oz(e){let t=jc(e?.label,``);return az(e)&&t?t:iz(e?.project)||t||`unknown project`}function sz(e){return jc(typeof e==`string`?e:e?.model,`unknown model`)}function cz(e){return String(e?.day??``)}function lz(e,t,n){if(!nL.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?cz(e):n(e)}function uz(e,t,n,r=oz){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=lz(e,t,r),o=lz(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 dz(e){return rL.has(e)?`asc`:`desc`}function fz(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:dz(t)}}function pz(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var mz=Object.freeze({key:`lastTs`,dir:`desc`}),hz=Object.freeze({key:`tokens`,dir:`desc`}),gz=Object.freeze({key:`day`,dir:`desc`});function _z(e,t=mz){return uz(e,t.key,t.dir,oz)}function vz(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 yz(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${oL(t)} hidden`}function bz(e,t=hz){return uz(e,t.key,t.dir,sz)}function xz(e,t=gz){return uz(e,t.key,t.dir,cz)}function Sz(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function Cz(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 wz(e){let t=V(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=V(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Tz(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=wz(e);return n===null?cL(t):`${cL(t)} ${sL(n)}`}function Ez(e){let{source:t}=wz(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 Dz(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 Oz=!1,kz=new Set;function Az(e){Oz=!!e,rB();for(let e of kz)e(Oz)}function jz(e){return kz.add(e),()=>kz.delete(e)}function Mz(){return Oz}var Nz=null;function Pz(e){Nz=e}var Fz=[{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:`guardrails-badge`,text:`guardrails`,title:`Guardrails on: credentials, Glimmervoid state and blocked folders are off-limits to this session`,ariaLabel:`Guardrails on`},{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 Iz({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 Lz(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 Rz(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&Lz(n,t)}function zz(e,t){let n=k(e);n&&Rz(n.card,t)}function Bz(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.guarded&&(o.dataset.guarded=``),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&&Lz(l,r.saneYolo===!0);let u=p(`span`,`session-task-title`);Wz(u,r.taskTitle);let d=p(`span`,`session-pr-chips session-card-prs`);d.hidden=!0,Nz?.(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=Vz(`Restart`,`Keeps this conversation`,`overflow-restart`),y=Vz(`Restart fresh`,`Ends this conversation and starts a new one`,`overflow-restart-fresh`),b=Vz(`Resume conversation...`,`Pick an earlier conversation`,`overflow-resume`),x=Vz(`Edit repositories...`,`Add or remove repositories in this workspace`,`overflow-workspace-repos`),S=Vz(`Link pull request...`,`Show a pull request on this card`,`overflow-link-pr visible`),ee=Vz(`Conversation view`,`Show this session as messages (experimental)`,`overflow-conversation-view`);ee.setAttribute(`role`,`menuitemcheckbox`),ee.setAttribute(`aria-checked`,`false`),S.onclick=()=>{_.classList.remove(`open`),g.setAttribute(`aria-expanded`,`false`),Hz(e)},_.append(v,y,b,x,ee,S),h.append(g,_);let te=p(`button`,`btn-action btn-debug`,`⚙`);te.title=`Debug state`,te.setAttribute(`aria-label`,`Debug session state`);let ne=p(`button`,`btn-action btn-trace`,`≡`);ne.type=`button`,ne.title=`Trace`,ne.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 T=p(`div`,`face-switch`);T.setAttribute(`role`,`group`),T.setAttribute(`aria-label`,`Card view`);let ie=p(`button`,`face-switch-option`,`Terminal`);ie.type=`button`,ie.setAttribute(`aria-pressed`,`true`);let ae=p(`button`,`face-switch-option`,`Conversation`);ae.type=`button`,ae.setAttribute(`aria-pressed`,`false`),T.append(ie,ae),m.append(T,w,C,te,ne,h,re);let E=p(`div`,`session-card-tags`),D=Fz.map(e=>Iz(e));l&&D.push(l),E.append(...D),s.append(c,f,u,d,E,m);let O=p(`div`,`terminal-wrap`);return o.append(s,O),{card:o,header:s,nameEl:c,elapsedEl:f,taskTitleEl:u,btnRestart:v,btnRestartFresh:y,btnRestartMenu:g,btnResume:b,btnWorkspaceRepos:x,btnConversationView:ee,btnTrace:ne,btnRemove:re,btnPlan:C,btnDocs:w,btnDebug:te,faceSwitch:T,btnFaceTerminal:ie,btnFaceConversation:ae,restartMenu:_,termWrap:O}}function Vz(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 Hz(e){let{dialog:t,close:n,actions:r,btnCancel:i}=yh({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=ef(o.value);t?G({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 Uz(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 Wz(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 Gz(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&&G({type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),Wz(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 Kz=`session-rename-input`;function qz(e){return!!e?.querySelector(`.${Kz}`)}function Jz(e,t){let n=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!n||qz(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=Kz,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 E)if(t!==e&&t.card.dataset.session===n){i(),Xg(`Session "${n}" already exists.`);return}G({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 Yz=`<button type="button" class="debug-close" aria-label="Close debug overlay" title="Close">×</button>`;function Xz(e){return e?zh(new Date(e)):`-`}function Zz(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function Qz(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${Zz(e.quietMs)})`:``}function $z(e){let t=`<span class="debug-dim">${Xz(e.ts)}</span>`;if(e.kind===`signal`){let n=bj([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${bj(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=Qz(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${bj(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=bj(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${bj(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${bj(e.category||`?`)}: <span class="debug-dim">${bj(e.from||`?`)} → ${bj(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${bj(e.kind||`decision`)}</span>`}function eB(e,t){if(!e.debugOverlay)return;let n=t,r=Yz;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">${bj(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">${bj(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${Xz(e.timestamp)}</span> ${bj(e.from)} → ${bj(e.to)} <span class="debug-label">${bj(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?`${bj(a.signal)} (${bj(a.source||`?`)}${a.confidence?`/${bj(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">${bj(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 ${Zz(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">${bj(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">${$z(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r}function tB(e,t){if(e.debugOpen){nB(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`${Yz}<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`)&&nB(e)}),G({type:`debug-state`,id:t})}function nB(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function rB(){for(let[,e]of E)e.btnDebug.classList.toggle(`visible`,Oz),e.btnTrace.classList.toggle(`visible`,Oz),!Oz&&e.debugOpen&&nB(e)}function iB(e){let t=typeof e.id==`string`?E.get(e.id):void 0;t?.debugOpen&&eB(t,e.payload)}function aB(e){k(e)?.debugOpen&&G({type:`debug-state`,id:e})}function oB({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function sB({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function cB(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 lB(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 uB(e,t,n){let r=()=>n.send(lB(e,n.readState(),t)),i=cB(e,n.readState());i?n.confirm({...i,onConfirm:r}):r()}var dB=`DORMANT`;function fB(e){return e?Nh(Date.now()-e,{rounding:`round`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:60}):``}function pB(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,fB(e.mtime)].filter(Boolean).join(` · `);return r.innerHTML=`<span class="resume-item-title">${bj(e.title||e.id)}</span><span class="resume-item-meta">${bj(i)}${e.id===t?` · current`:``}</span>`,r.addEventListener(`click`,()=>n(e.id)),r}function mB(e,t={}){let n=(t.currentState||``)===dB,{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=yh({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){G({type:`resume-conversation`,id:e,conversationId:t||``}),a(),t&&(n?G({type:`start-session`,id:e}):Xg(`Conversation will resume on this session's next restart.`))}s.addEventListener(`click`,a),u.addEventListener(`click`,()=>d(null)),requestAnimationFrame(()=>s.focus()),oh(`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(pB(e,n,d))}).catch(e=>{r.isConnected&&(l.innerHTML=``,l.append(p(`div`,`resume-empty`,`Could not list conversations: ${xh(e)}`)))})}var hB={critical:s[a.FAILED],warning:s[a.WAITING],done:s[a.DONE],"":s[a.DORMANT]},gB=null,_B=null,vB=e=>e==null?``:String(e),yB=e=>c.includes(e),bB=e=>l.includes(e),xB=!1;function SB(e){return xB&&nv(e.agent)}function CB(e){return SB(e)&&e.isConversationViewOn&&e.isBorrowed}function wB(e){e.faceSwitch.classList.toggle(`visible`,CB(e)),e.btnConversationView.classList.toggle(`visible`,SB(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 TB(e){xB=e;for(let t of E.values())!e&&t.face===`conversation`&&t._showTerminalFace?.(),jB(t)}function EB(e){let t=k(e);return!t||!CB(t)?!1:(t.face=`conversation`,t.card.dataset.face=`conversation`,t.termWrap.hidden=!0,t.planFace.hide(),t.conversationFace.show(O(e)),jB(t),!0)}function DB(e,t){let n=k(e);if(!n)return;let r=n.isConversationViewOn;n.hasConversationBridge=t.hasConversationBridge,n.conversationApproval=t.conversationApproval,n.isConversationViewOn=t.isConversationViewOn,jB(n),n.conversationFace.refresh(),r!==t.isConversationViewOn&&(n.prefersConversation=t.isConversationViewOn,t.isConversationViewOn?EB(e):n.face===`conversation`&&n._showTerminalFace?.())}function OB(e){return k(e.id)?.conversationFace.applyTraceResponse(e)===!0}function kB(e){k(e.id)?.conversationFace.applyTraceError(e)}function AB(e){k(e)?.conversationFace.applyTraceChanged(O(e))}function jB(e){wB(e);let t=e.currentState,n=yB(t)||bB(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`,Mz()),e.btnPlan.classList.toggle(`visible`,sB(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function MB(e){e.restartMenu.classList.remove(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`false`)}function NB(e,t){Uz(e.taskTitleEl,()=>Gz(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),Jz(e,t)}),e.nameEl.addEventListener(`click`,()=>{qz(e.nameEl)||G_(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),Jz(e,t))});function n(n){MB(e),e.btnRestartMenu.focus(),uB(n,t,{readState:()=>e.currentState,send:G,confirm:bh})}e.btnRestart.addEventListener(`click`,()=>n(`restart`)),e.btnRestartFresh.addEventListener(`click`,()=>n(`restart-fresh`)),e.btnResume.addEventListener(`click`,()=>{MB(e),mB(t,{currentState:e.currentState})}),e.btnWorkspaceRepos.addEventListener(`click`,()=>{MB(e),sre(t)}),e.btnTrace.addEventListener(`click`,()=>{MB(e),WI(t)}),e.btnDocs.addEventListener(`click`,()=>{MB(e),Vie(t)}),e.btnConversationView.addEventListener(`click`,()=>{MB(e),G({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,EB(t)}),e.btnPlan.addEventListener(`click`,()=>{let n=sB(e);n!==`hidden`&&(n===`face`?WB(t):location.hash=hM(t))}),e.btnRemove.addEventListener(`click`,()=>{MB(e);let n=e.card.dataset.session,r=e.card.dataset.merge,i=r===`pending-review`||r===`parked`;bh({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:()=>G({type:`remove-session`,id:t})})}),e.btnRestartMenu.addEventListener(`click`,t=>{t.stopPropagation();for(let[,t]of E)t!==e&&MB(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 E)t!==e&&MB(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(),MB(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&&MB(e)},{signal:e.abortController.signal}),e.termWrap.addEventListener(`mousedown`,()=>{(e.currentState===a.WAITING||e.currentState===a.COMPLETE)&&G({type:`dismiss`,id:t})}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),tB(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&nB(e)},{signal:e.abortController.signal})}function PB(e,t,n){let r=k(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&Wz(e,r.taskTitle)}}function FB(e){return typeof e==`string`&&E.has(e)}function IB(){return E.size}function LB(){return[...E.keys()]}function RB(e){let t=e||{};t.cursorBlink!=null&&vce(t.cursorBlink),t.debugMode!=null&&(Az(t.debugMode),zce(t.debugMode));for(let[,e]of E)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function zB(){uT(E.values(),fT())}function BB(){if(!se)return;let e=0,t=0,n=0,r=0,i=0,o=0;for(let[,s]of E){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}=Dz({waiting:e,failed:t,done:n,complete:r,dormant:i,total:o});if((s!==gB||c!==_B)&&(gB=s,_B=c,se.dataset.severity=c,se.textContent=``,se.title=s,s)){let e=p(`span`,`aggregate-glyph`,hB[c]??hB[``]);e.setAttribute(`aria-hidden`,`true`),se.append(e,p(`span`,`aggregate-text`,s))}document.title=l>0?`(${l}) Glimmervoid`:`Glimmervoid`}function VB(e,t,n,r={}){if(!oe)return;let i=O(e),o=vB(n)||a.DORMANT,s=Bz(i,vB(t),o,r),c=o===a.DORMANT;oe.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(),jB(l),_j(l,i)}let d=new AbortController,f=pM({signal:d.signal,requestPlan:(e,t,n)=>G({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>G({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:u,sendDecision:(e,t)=>G({type:`plan-decision`,id:e,...t}),reportProblem:e=>Xg(`${s.nameEl.textContent||i}: ${e}`)}),p=Fce({signal:d.signal,sendControl:e=>G(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:vB(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=()=>_j(l,i),l._showTerminalFace=u,l._showPreferredFace=()=>{HB(l)===`plan`?WB(i):l.prefersConversation&&EB(i)||u()},l._setBorrowed=e=>{l.isBorrowed=e,jB(l)},s.card.append(f.el,p.el),E.set(i,l),NB(l,i),jB(l),l.btnDocs.classList.toggle(`visible`,u_(i)),o===a.RUNNING&&Vh(l,!0),c||(fj(s.termWrap,l),pj(l,i)),BB(),l}function HB(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(Rj);return oB({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function UB(e){let t=k(e);return!t?.isBorrowed||HB(t)!==`plan`?!1:WB(e)}function WB(e){let t=k(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(O(e)),jB(t),!0)}function GB(e,t){let n=k(e);n&&(n.hasPlan=t===!0,jB(n),UB(e))}function KB(e){let t=k(e.id);t&&(t.planReviewState=tM(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),jB(t),UB(e.id))}function qB(e){let t=k(e.id);t&&t.planFace.update({draft:e})}function JB(e){let t=k(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),jB(t))}function YB(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return;let t=k(e.id);t&&(e.scope===`plan`?t.planFace.update({requestFailed:!0}):t.planFace.update({decisionRefused:!0}))}function XB(e){for(let[,t]of E)t.planFace.update({isConnected:e})}function ZB(e,t){let n=k(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function QB(e,t){let n=k(e);if(!n)return;n.agent=typeof t==`string`?t:null,jB(n);let r=Jne(t);tV(n,`.agent-badge`,`agent`,{on:r!==``,value:r,text:r})}function $B(e,t){let n=k(e);n&&(t?n.card.dataset.worktree=``:delete n.card.dataset.worktree)}function eV(e,t){let n=k(e);n&&(t?n.card.dataset.guarded=``:delete n.card.dataset.guarded)}function tV(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 nV(e,t){let n=k(e);n&&tV(n,`.session-card-prs`,`prAttention`,{on:t})}function rV(e,t,n=!1){let r=k(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=S(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function iV(e,t){let n=k(e);if(!n)return;let r=Tz(t);tV(n,`.usage-badge`,`usage`,{on:!!r,text:r||``,title:r?Ez(t):void 0})}function aV(e,t,n=!1){let r=k(e);r&&(r.pendingPromptKind=typeof t==`string`?t:null,tV(r,`.prompt-badge`,`prompt`,{on:!!t||n,value:n?`compacting`:vB(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(),UB(e))}function oV(e){return e?`sleeping until ~${Rh(new Date(e))}`:`scheduled`}function sV(e,t){let n=k(e);n&&tV(n,`.wakeup-badge`,`wakeup`,{on:!!t,value:t?.kind||`wakeup`,text:oV(t?.at),title:t?.reason?`Scheduled revival: ${t.reason}`:`Scheduled revival pending`})}function cV(e,t){let n=k(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`;tV(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 lV(e,t){t===`pending-review`||t===`parked`||t===`merging`?e.dataset.merge=t:delete e.dataset.merge}function uV(e,t,n=null){let r=k(e),i=vB(t)||`none`;r&&lV(r.card,i),UN(O(e),i,vB(n)||null)}function dV(e,t,n=null){let r=k(e),i=vB(t)||`none`;r&&lV(r.card,i),WN(O(e),i,vB(n)||null)}function fV(e,t){GN(O(e),t)}function pV(e,t){let n=k(e);if(!n)return;let r=vB(t);n.card.dataset.session=r,n.nameEl.textContent=r}function mV(e){let t=k(e);t&&(nB(t),E.delete(O(e)),dM(O(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),t.dataWs&&t.dataWs.readyState<=WebSocket.OPEN&&t.dataWs.close(),qA(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),BB())}function hV(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 gV(e,t){e.term&&(t===a.DONE||t===a.FAILED)&&(e.term.clear(),e.term.reset())}function _V(e,t,n){let r=document.activeElement;return fae({previousState:t,nextState:n,isPhoneLayout:ST(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function vV(e,t,n,r=``){let i=k(e);if(!i)return;let o=vB(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(),Vh(i,o===a.RUNNING)),s===a.DORMANT&&o!==a.DORMANT&&hj(i,O(e)),i.card.dataset.state=o,i.card.toggleAttribute(`data-monitoring`,S(o,i.awaitingBackgroundTasks)),jB(i),(o===a.WAITING&&s!==a.WAITING||o===a.COMPLETE&&s!==a.COMPLETE)&&!gae(r)&&bp()&&pE(Sp()),_V(i,s,o)&&G({type:`dismiss`,id:O(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})})}),bp()&&pE(Sp())),(o===a.DONE||o===a.FAILED)&&hV(i,l,o),o===a.INITIALIZING&&gV(i,s),BB(),Uh(i)}var yV=`(no path)`;function bV(e){if(!e)return yV;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function xV(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):yV,a=i.get(r);a||(a={key:r,label:r===`(no path)`?yV:bV(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:bV(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 SV(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 CV=null;function wV(e){CV=e}function TV(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 EV(e,t,n,r=!1){e.dataset.state=n;let{glyph:i,label:a,isMonitoring:o}=ee(n,r);return e.toggleAttribute(`data-monitoring`,o),t.glyph.textContent=i,t.label.textContent=a,t.prs&&e.dataset.id&&CV?.(t.prs,e.dataset.id),a}function DV(){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 OV=e=>e.ui.path,kV=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),AV=window.matchMedia?.(`(hover: none) and (min-width: 769px)`),jV=null,MV=null,NV=null,PV=null,FV=null,IV=null,LV=null,RV=!1,zV=null,BV=new Map,VV=new Map,HV=DV(),UV=new Map,WV=new Map,GV=null,KV=new Set;function qV(){return SV(YV(iH()),KV)}function JV(e){let t=GV;if(GV=e||null,t&&t!==GV){let e=VV.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(GV){let e=VV.get(GV);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function YV(e){return xV(e,OV,H_(e,OV))}function XV(e){let t=WV.get(e.key),n=UV.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`,()=>X_(r.dataset.path,r.dataset.label));let a=r._forgetBtn;a.type=`button`,a.addEventListener(`click`,()=>{U_(r.dataset.path),uH()}),r.appendChild(a),r.appendChild(i),t=r,n=p(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),WV.set(e.key,t),UV.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===yV,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 ZV(){return RV}function QV(){return fe.snapshot().focusedSessionId}function $V({rail:e,center:t,resizer:n}){if(jV=e,NV=t,!jV||!NV)return;let r=jV,i=NV;nH(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,VT(UT)),MV=p(`button`,`focus-rail-head`),MV.type=`button`,MV.append(p(`span`,`focus-rail-head-count`),GT(zT(`next-attention`,UT))),MV.addEventListener(`click`,mH),pH(!1,P_(0)),r.append(MV),FV=p(`div`,`focus-empty`),FV.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,IV=FV.querySelector(`.focus-empty-title`),LV=FV.querySelector(`.focus-empty-desc`),PV=p(`div`,`focus-card-slot`),i.append(FV,PV),r.addEventListener(`keydown`,rH)}var eH={minPx:180,maxPx:480},tH=16;function nH(e){e&&jV&&R_({resizer:e,column:jV,widthHost:jV,widthProperty:`--rail-width`,bounds:eH,keyStepPx:tH,getStoredWidth:Ip,setStoredWidth:Lp})}function rH(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||VV.get(n)!==t)return;e.preventDefault(),Z_(n,BV.get(n));return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=j_(qV(),GV,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),JV(t),VV.get(t)?.focus())}function iH(e=Y_(aH)){for(let t of e)t.unseen=HV.isUnseen(t.id);return A_(e)}function aH(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function oH(e){let{pill:t,refs:n}=TV(`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`,()=>sH(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,AV?.matches||a.setAttribute(`aria-hidden`,`true`),a.title=`Remove session`,a.addEventListener(`click`,t=>{t.stopPropagation(),Z_(e,BV.get(e))}),i.append(r,a),r._row=i,r}function sH(e){K_(e)&&yH(e)}function cH(e,{id:t,ui:n,state:r,name:i,unseen:a}){e.toggleAttribute(`data-unseen`,a);let o=EV(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=BV.get(t)||`none`;e.dataset.merge=c===`none`?``:c,e._refs.merge.textContent=x[c]||``,e.dataset.activity=n._activity||``,e.classList.toggle(`focused`,t===QV());let l=t===GV;e.setAttribute(`aria-selected`,String(l)),e.tabIndex=l?0:-1}function lH(e,t){if(!RV)return;let n=e?.card?.dataset.id,r=n?VV.get(n):null;if(!r)return;if(t===`flag`){r.dataset.activity=e._activity||``;return}if(kV?.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)`})}_re(lH);function uH(){if(!RV)return;let e=jV;if(!e)return;let t=Y_(aH);HV.noteStates(t);let n=iH(t),r=YV(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=VV.get(e);a||(a=oH(e),VV.set(e,a)),cH(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}=XV(t);e.appendChild(n),e.appendChild(r),a(t.rows,r)}for(let[e,t]of[...WV])o.has(e)||(t.remove(),UV.get(e)?.remove(),WV.delete(e),UV.delete(e));for(let[e,t]of VV)i.has(e)||((t._row||t).remove(),VV.delete(e),e===GV&&(GV=null));for(let e of[...BV.keys()])E.has(e)||BV.delete(e);let s=QV();if(s&&!E.has(s)){fe.dispatch(`focusSession`,null),GV=null;let e=n.find(e=>E.has(e.id));if(e){yH(e.id);return}}bH();let c=QV();if(c){let e=E.get(c);e&&e.card.parentElement!==PV&&_H(e,c)}fH()}function dH(){return iH().filter(M_).map(({id:e})=>e)}function fH(){let e=N_(iH());pH(e>0,P_(e))}function pH(e,t){MV&&(y(MV,`.focus-rail-head-count`).textContent=t,MV.disabled=!e,e?(MV.removeAttribute(`data-empty`),MV.removeAttribute(`aria-hidden`)):(MV.dataset.empty=``,MV.setAttribute(`aria-hidden`,`true`)))}function mH(){if(!RV)return;let e=dH();if(!e.length)return;let t=eae(e,zV);if(!t)return;zV=t;let n=E.get(t),r=t===QV();K_(t),yH(t),VV.get(t)?.scrollIntoView({block:`nearest`}),r&&gH(t),hH(n,t)}function hH(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{RV&&QV()===t&&e.term?.focus()}))}function gH(e){if(kV?.matches||document.hidden)return;let t=VV.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=E.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function _H(e,t){PV&&(he(e,t,PV,{className:`focus-centered`}),vj(e,t,!0))}function vH(){let e=QV();e&&(me()===e&&ge(),fe.dispatch(`focusSession`,null))}function yH(e){RV&&E.has(e)&&e!==QV()&&(vH(),fe.dispatch(`focusSession`,e),GV=e,HV.acknowledge(e),q_(e),uH())}function bH(){if(!FV||!IV||!LV)return;let e=QV(),t=!!(e&&E.has(e)),n=E.size>0;FV.hidden=t,Dg(FV,!n),IV.hidden=!n,LV.hidden=!n,!t&&n&&(IV.textContent=`No session selected`,LV.textContent=`Select a session from the rail on the left to focus it here.`)}function xH(e,t){BV.set(O(e),typeof t==`string`&&t?t:`none`),RV&&uH()}function SH(e){RV&&E.has(e)&&yH(e)}function CH(e){return!RV||!E.has(e)?!1:(yH(e),WB(e))}function wH(e){if(!RV)return;let t=qV()[e-1];t&&sH(t)}function TH(e){if(!RV)return;let t=j_(qV(),GV,e);t!=null&&(sH(t),VV.get(t)?.scrollIntoView({block:`nearest`}),hH(E.get(t),t))}function EH(){jV&&(RV=!0,vH(),GV=null,uH(),DH())}function DH(){if(!RV||QV())return;let e=J_();e&&yH(e)}function OH(){RV&&=(vH(),GV=null,!1)}var kH=`t-[0-9a-f]{8}`,AH=`No findings. Open a markdown file in a connected editor.`,jH=`No intent yet. The visions proposes one after its first pass.`,MH=`Unowned`,NH=RegExp(`^${kH}$`);function PH(){return{byProject:{},unowned:[]}}function FH(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`&&NH.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 IH(e){if(Array.isArray(e))return e.map(FH).filter(e=>e!==null);let t=FH(e);return t?[t]:[]}function LH(e){let t=e?.intent;if(!t||typeof t!=`object`)return PH();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:IH(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=IH(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:IH(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function RH(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 zH(e,t){let n=e||PH(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=RH(Array.isArray(i.threads)?IH(i.threads):IH(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 BH(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function VH(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:GH(e,r)}))}function HH(e,t=null,n=Date.now()){let r=e||PH(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:BH(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>VH(r,{key:e,label:t,now:n})),a=VH(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:MH,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:MH,text:jH,hasText:!1,active:!1,meta:``}]}function UH(e){return e?.text?`proposed by visions`:``}function WH(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:Nh(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function GH(e,t=Date.now()){let n=UH(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=WH(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function KH(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function qH(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function JH(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function YH(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 XH(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function ZH(e){let t=XH(e);return t===1?`1 finding`:`${t} findings`}function QH(e){let t=XH(e);return t===1?`1 comment`:`${t} comments`}function $H(e){let t=XH(e?.findings?.length),n=XH(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(ZH(t)),n>0&&i.push(QH(n)),i.length>0?i.join(`, `):ZH(0)}function eU(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function tU(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function nU(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=tU(t);return i?(n.set(r,i),n):(n.delete(r),n)}function rU(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 iU=`hand`,aU=`unseen`,oU=`
252
+ `;function sU(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 cU(e,t){return sU(JSON.stringify([e,...t]))}function lU(e,t){return cU(`finding`,[e,KH(t),String(t.code??``),String(t.message??``)])}function uU(e,t){return cU(`comment`,[e,hU(t),String(t.message??``)])}function dU(e){return cU(`fix`,[e.uri,EU(e),e.code,e.message,DU(e)])}function fU(e){return cU(`intent`,[e.key,e.text,e.active])}function pU(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>cU(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(cU(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(lU(t,e));for(let[e,n]of t)for(let t of n)o.add(uU(e,t));for(let e of r)o.add(dU(e));for(let e of HH(i,null,0))e.hasText&&o.add(fU(e));let s=[...o].sort();return{signature:[...a,...s].join(oU),handEntries:a,contentEntries:s}}function mU(e,t){let n=new Set(t.split(oU));return e.handEntries.some(e=>!n.has(e))?iU:e.contentEntries.some(e=>!n.has(e))?aU:null}function hU(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function gU(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function _U(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=gU(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function vU(e){return Array.isArray(e?.comments)?e.comments:[]}function yU(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=vU(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function bU(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 xU(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 SU(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:YH(a)||a,hand:s,findings:[...c].sort((e,t)=>JH(e)-JH(t)||qH(e)-qH(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>CU(e.name,t.name)||CU(e.uri,t.uri)),r}function CU(e,t){return e<t?-1:+(e>t)}var wU=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function TU(e){let t=XH(e);return t===1?`1 fix`:`${t} fixes`}function EU(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function DU(e){return e?.applied===!0?`applied`:`refused`}function OU(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 kU(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return OU(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function AU(e,t,{max:n=20}={}){let r=kU(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function jU(e,{max:t=20}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=OU(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var MU=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,NU={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function PU(e){let t=typeof e==`string`?e:``;return NU[t]||t||`source`}function FU(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:Nh(Number(t)-n,pre)}function IU(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 LU(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=IU(e);t&&n.push(t)}return n}function RU(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function zU(e){let t=XH(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function BU(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function VU(e,t,{max:n=100}={}){let r=LU(t);if(r.length===0)return BU(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 BU([...i.values()],n)}function HU(e,{max:t=100}={}){return BU(LU(e),t)}function UU(e){let t=XH(e);return t===1?`1 event`:`${t} events`}function WU(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 GU=new Map,KU=new Map,qU=new Map,JU=PH(),YU=new Map,XU=null,ZU=null,QU=null,$U=null,eW=null,tW=[],nW=0,rW=null,iW=[],aW=null,oW=pU(GU,KU,qU,iW,JU),sW=cm(),cW=Zh({getAck:()=>sW,setAck:e=>{sW=e,lm(e)},signature:()=>oW.signature,isLooking:()=>!w(XU)});function lW(){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),QU={list:t},e}function uW(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 dW(){QU&&QU.list.replaceChildren(...HH(JU,YU).map(uW))}function fW(e){YU=e instanceof Map?e:new Map,dW()}function pW(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`,$H(e))),t.append(n),e.hand&&t.append(mW(e.hand)),e.findings.length>0){let n=p(`div`,`visions-findings`);for(let t of e.findings)n.append(gW(t));t.append(n)}if(e.comments.length>0){let n=p(`div`,`visions-comments`);for(let t of e.comments)n.append(hW(t));t.append(n)}return t}function mW(e){let t=p(`div`,`visions-hand`);return t.textContent=eU(e),t}function hW(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`,hU(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 gW(e){let t=p(`div`,`visions-finding`);t.append(p(`span`,`visions-finding-line`,KH(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 _W({force:e=!1}={}){if(!ZU||!e&&w(XU))return;ZU.textContent=``;let t=SU(GU,KU,qU);if(t.length===0){let e=p(`p`,`visions-empty`,AH);if(eW===!1){let t=_g(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}ZU.append(e)}else for(let e of t)ZU.append(pW(e))}function vW(e){eW=e?.visions?.enabled===!0,_W()}function yW(){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),rW={count:n,list:r,overflow:i},e}function bW(e,t){let n=p(`div`,`visions-activity-row`);n.append(p(`span`,`visions-activity-source`,PU(e.source))),n.append(p(`span`,`visions-activity-age`,FU(e.ts,t))),n.append(p(`span`,`visions-activity-scope`,WU(e)));let r=p(`span`,`visions-activity-summary`);return r.textContent=e.summary,n.append(r),n}function xW({force:e=!1}={}){if(!rW||!e&&w(XU))return;let{count:t,list:n,overflow:r}=rW;if(t.textContent=UU(tW.length),n.textContent=``,tW.length===0){n.append(p(`p`,`visions-empty`,MU)),r.textContent=``;return}let i=Date.now();for(let e of tW)n.append(bW(e,i));r.textContent=zU(nW)}function SW(){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),aW={count:n,list:r},e}function CW(e){let t=p(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=p(`span`,`visions-fix-file`);n.textContent=YH(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(p(`span`,`visions-fix-line`,EU(e))),t.append(p(`span`,`visions-fix-outcome`,DU(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 wW({force:e=!1}={}){if(!aW||!e&&w(XU))return;let{count:t,list:n}=aW;if(t.textContent=TU(iW.length),n.textContent=``,iW.length===0)n.append(p(`p`,`visions-empty`,wU));else for(let e of iW)n.append(CW(e))}function TW(){oW=pU(GU,KU,qU,iW,JU),oW.signature!==``&&cW.refresh(),$U&&$U(mU(oW,sW))}function EW(e){$U=e,TW()}function DW(e){if(XU)return XU;let t=p(`div`,`visions-content`);t.append(lW());let n=p(`div`,`visions-feed`);return t.append(n),t.append(SW()),t.append(yW()),e.appendChild(t),XU=t,ZU=n,dW(),_W({force:!0}),wW({force:!0}),xW({force:!0}),t}function OW(){dW(),_W({force:!0}),wW({force:!0}),xW({force:!0})}function kW(){oW.signature!==``&&cW.acknowledge(),TW()}function AW(e){iW=AU(iW,e),wW(),TW()}function jW(e){GU=_U(GU,e),_W(),TW()}function MW(e){KU=yU(KU,e),_W(),TW()}function NW(e){qU=nU(qU,e),_W(),TW()}function PW(e){JU=zH(JU,e),dW(),TW()}function FW(e){tW=VU(tW,e),nW=RU(e),xW(),TW()}function IW(e){tW=HU(e),nW=0,xW(),TW()}function LW(e){GU=bU(e),KU=xU(e),qU=rU(e),JU=LH(e),iW=jU(e),dW(),_W(),wW(),TW()}var RW=Ao(M(),vo());I({glimmervoidId:M().min(1),event:M().min(1),token:M().nullable().optional(),payload:RW}),I({id:M().min(1),name:M().min(1),event:M().min(1),matcher:M().optional(),type:R([`command`,`http`]),command:M().optional(),url:M().optional(),timeout:N().int().positive().optional(),enabled:P(),projects:F(M()).optional()}).passthrough();var zW=`Claude Code hooks injected into every session Glimmervoid spawns.`,BW=`Loading hooks`,VW=`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.`,HW=`Start from`,UW=`Filter by name, event or command`,WW=`Nothing matches that filter.`,GW=`Preview`,KW=`The entry this becomes in the per-session settings file.`,qW=`Duplicate`,JW=`Discard changes`,YW=`Close the editor and lose the unsaved changes?`,XW=`Esc cancels. Ctrl+Enter saves.`,ZW=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,QW=`Glimmervoid's own hooks`,$W=`Always present, read-only. Status detection depends on them.`,eG=`Your hooks`,tG=`New hook`,nG=`Edit hook`,rG=`Saved to config.json.`,iG=`All projects`,aG=`This event takes no matcher.`,oG=`Blank uses Claude Code's default for the event.`,sG=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.`}]),cG=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`}}]),lG=Object.freeze({hooks:[],builtin:[],events:[]});function uG(e){return!e||typeof e.error==`string`}function dG(e){return!e||typeof e.error!=`string`?``:e.error}function fG(e,t){let n=e?.[t];return Array.isArray(n)?n:lG[t]}var pG=e=>fG(e,`hooks`),mG=e=>fG(e,`builtin`),hG=e=>fG(e,`events`);function gG(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function _G(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function vG(e){let t=pG(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(mG(e).length),tone:null}]}function yG(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 bG(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 xG(e){return e.length>=4}function SG(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 CG(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 wG(e){return`${e} copy`}function TG(e,t){return e.find(e=>e.name===t)||null}function EG(e,t){let n=TG(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:aG:``}function DG(e){return e.type===`http`?e.url||``:e.command||``}function OG(e){let t=sG.find(t=>t.value===e);return t?t.label:String(e||``)}function kG(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function AG(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?iG:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function jG(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function MG(e){return jG(e)}function NG(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 PG(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function FG(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 IG(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=TG(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 LG(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 RG(e,t){let n={...PG(t),...e.draft};return TG(t,n.event)||(n.event=PG(t).event),n}function zG(e,t){return JSON.stringify(LG(e))!==JSON.stringify(t)}function BG(e){return{...e,enabled:e.enabled===!1}}function VG(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var HG=null,UG=null,WG=null,GG=null,KG=null,qG=null,JG=null,YG=null,XG=!1,ZG=null,QG=``,$G=new Set,eK=new Set,tK=!1,nK=(e,t)=>ne(`hooks`,e,t);function rK(e,t,n){let r=p(`p`,e,t);return n&&(r.dataset.tone=n),r}function iK(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 aK(e){if(!WG)return null;let t=ah(`hooks`);return WG({requestId:t,...e}),t}function oK(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 sK(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 cK(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 lK(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 uK(e,t){let n=p(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of sG){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 dK(e,t){let n=p(`div`,`hooks-projects`);if(t.length===0)return n.append(p(`span`,`hooks-field-hint`,iG)),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,iG)),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 fK(e){let t=p(`div`,`hooks-templates`);t.append(p(`span`,`hooks-templates-label`,HW));for(let n of cG){let r=iK(`hooks-chip`,n.label,()=>hK(null,RG(n,e)));r.title=n.summary,t.append(r)}return t}function pK(e){YG&&(YG.textContent=e||``,YG.hidden=!e)}function mK(e){let t=hG(HG),n=C(HG),r=nK(e.id?nG:tG,rG);r.classList.add(`hooks-editor`);let i=p(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),vK()}),i.addEventListener(`keydown`,e=>{e.key===`Escape`?(e.preventDefault(),_K()):e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),vK())}),e.id||i.append(fK(t));let a=p(`span`,`hooks-field-hint`,EG(t,e.event)),o=sK(e.matcher,``,t=>{e.matcher=t}),s=oK(`Command`,cK(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=oK(`URL`,sK(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=oK(`Matcher`,o,null);u.append(a);let d=()=>{let n=t.find(t=>t.name===e.event);a.textContent=EG(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(gG(HG)),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(oK(`Name`,sK(e.name,`Lint after edits`,t=>{e.name=t}),null),oK(`Event`,lK(e,t,t=>{e.event=t,d()}),null),u,oK(`Type`,uK(e,t=>{e.type=t,l()}),null),s,c,oK(`Timeout (seconds)`,f,oG),oK(`Projects`,dK(e,n),null),oK(``,m,null)),YG=p(`p`,`hooks-editor-error`),YG.setAttribute(`role`,`alert`),YG.hidden=!0;let g=p(`div`,`hooks-editor-footer`),_=p(`span`,`hooks-editor-shortcut`,XW),v=iK(`btn-dialog btn-dialog-cancel`,`Cancel`,_K),y=p(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return y.type=`submit`,g.append(YG,_,v,y),i.append(g),r.append(i),r}function hK(e,t=null){KG=t||(e?FG(e):PG(hG(HG))),qG=LG(e?FG(e):PG(hG(HG))),JG=mK(KG),kK({force:!0}),JG.scrollIntoView({block:`nearest`});let n=JG.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function gK(){KG=null,qG=null,JG=null,YG=null,XG=!1,ZG=null,tK=!0,kK({force:!0})}function _K(){!KG||!qG||!zG(KG,qG)?gK():bh({title:JW,message:YW,confirmLabel:`Discard`,danger:!0,onConfirm:gK})}function vK(){if(!KG||XG)return;let e=IG(KG,hG(HG),gG(HG));e?pK(e):(XG=!0,pK(``),ZG=aK({type:`save-hook`,hook:LG(KG)}),ZG||(XG=!1))}function yK(e){let t=p(`details`,`hooks-preview`);t.open=$G.has(e.id),t.addEventListener(`toggle`,()=>{t.open?$G.add(e.id):$G.delete(e.id)});let n=p(`summary`,`hooks-preview-summary`,GW);n.title=KW;let r=p(`pre`,`hooks-preview-code`,CG(e));return t.append(n,r),t}function bK(e,{grouped:t=!1}={}){let n=C(HG),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||``:jG(e);o&&a.append(p(`span`,`hooks-row-event`,o));let s=p(`code`,`hooks-row-target`,DG(e));s.title=DG(e);let c=p(`p`,`hooks-row-meta`,[OG(e.type),kG(e),AG(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=NG(e,n);l.length>0&&i.append(rK(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(yK(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=eK.has(e.id),f.setAttribute(`aria-label`,`${e.name} enabled`),f.addEventListener(`change`,()=>{eK.add(e.id),f.disabled=!0,aK({type:`save-hook`,hook:BG(e)})}),d.append(f,p(`span`,null,`On`));let m=iK(`hooks-btn`,`Edit`,()=>hK(e),`Edit ${e.name}`),h=iK(`hooks-btn`,qW,()=>{let t=FG({...e,name:wG(e.name)});t.id=null,hK(null,t)},`Duplicate ${e.name}`),g=iK(`hooks-btn hooks-btn-danger`,`Delete`,()=>{bh({title:`Delete hook`,message:VG(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{eK.add(e.id),aK({type:`delete-hook`,id:e.id}),kK({force:!0})}})},`Delete ${e.name}`);return g.disabled=eK.has(e.id),u.append(d,m,h,g),r.append(i,u),r}function xK(e){let t=p(`article`,`hooks-row hooks-row-builtin`),n=p(`div`,`hooks-row-main`);return n.append(p(`span`,`hooks-row-event`,MG(e)),p(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function SK(){let e=nK(`Hooks`,zW),t=p(`div`,`hooks-stats`);for(let e of vG(HG))t.append(re(`hooks`,e.label,e.value,e.tone));return e.append(t,rK(`hooks-meta`,ZW)),e}function CK(){let e=p(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=QG,e.placeholder=UW,e.setAttribute(`aria-label`,UW),e.addEventListener(`input`,()=>{QG=e.value;let t=UG?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(TK())}),e}function wK(){let e=p(`div`,`hooks-empty-state`);return e.append(rK(`hooks-empty`,VW),fK(hG(HG))),e}function TK(){let e=p(`div`,`hooks-list-yours`),t=pG(HG);if(t.length===0)return e.append(wK()),e;let n=bG(yG(t,hG(HG)),QG);if(n.length===0)return e.append(rK(`hooks-empty`,WW)),e;for(let t of SG(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(bK(e,{grouped:!0}));n.append(r),e.append(n)}return e}function EK(){let e=nK(eG,null),t=iK(`hooks-btn hooks-btn-add`,`+ New hook`,()=>hK(null));t.disabled=!!KG;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),xG(pG(HG))&&e.append(CK()),e.append(TK()),e}function DK(){let e=p(`details`,`hooks-builtin`),t=p(`summary`,`hooks-builtin-summary`);t.append(p(`span`,`hooks-section-title`,`${QW} (${mG(HG).length})`),p(`span`,`hooks-section-hint`,$W));let n=p(`div`,`hooks-list`);for(let e of mG(HG))n.append(xK(e));return e.append(t,n),e}function OK(){let e=p(`div`,`hooks-content`);return HG?uG(HG)?(e.append(rK(`hooks-warning`,dG(HG))),e):(e.append(SK()),JG&&e.append(JG),e.append(EK(),DK()),e):(e.append(rK(`hooks-empty`,BW)),e)}function kK({force:e=!1}={}){if(!UG||!e&&w(UG)||(UG.replaceChildren(OK()),!tK))return;tK=!1;let t=UG.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function AK(e){WG=e}function jK(){WG&&(GG=ah(`hooks-report`),WG({type:`request-hooks-report`,requestId:GG}))}function MK(e){UG||(UG=p(`div`,`hooks-panel`),e.append(UG),kK({force:!0}))}function NK(){kK({force:!0})}function PK(e){_G(e,GG)&&(HG=e,eK.clear(),XG=!1,kK())}function FK(e){let t=ZG!==null&&e.requestId===ZG;if(t&&(ZG=null,XG=!1),e.ok){t&&gK(),jK();return}let n=typeof e.error==`string`&&e.error?e.error:`Could not save the hook`;t?pK(n):(Xg(n,{persist:!0}),jK())}function IK(e){e.ok||Xg(typeof e.error==`string`&&e.error?e.error:`Could not delete the hook`,{persist:!0}),jK()}function LK(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0,silent:!0}}var RK=4e3;function zK(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function BK(e,t,n,r=RK){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 VK(){return typeof Notification>`u`?null:Notification}function HK(){return VK()!==null}function UK(){let e=VK();return e?e.permission:`unavailable`}async function WK(){let e=VK();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function GK(){let e=VK();e&&wp()&&e.permission==="default"&&WK()}function KK({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=VK();if(a&&wp()&&a.permission===`granted`&&!document.documentElement.hasAttribute(`data-streamer`)&&(i||typeof document>`u`||typeof document.hasFocus!=`function`||!document.hasFocus())&&BK(window.localStorage,zK(e,t),Date.now()))try{let i=new a(`Glimmervoid`,LK(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&typeof e==`string`&&(window.location.hash=hM(e)),i.close()}}catch{}}function qK(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 JK(e){return[...e||[]].map((e,t)=>({row:e,index:t})).sort((e,t)=>k_(e.row||{},`phone-triage`)-k_(t.row||{},`phone-triage`)||e.index-t.index).map(e=>e.row)}var YK=new Set;function XK(e,t,n){let r=xV(e,t,n),i=r.groups.map(e=>({...e,rows:JK(e.rows)})),a={...r,groups:i};return{...a,visibleIds:SV(a,YK)}}var ZK=e=>e.ui.path;function QK({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`),o=p(`p`,`phone-empty-title`,`No sessions`),s=p(`p`,`phone-empty-desc`,`Spawn a session to start watching.`);a.append(o,s),t.append(n,r,i,a);let c=new Map,l=new Map,u=new WeakMap,d=new WeakMap,f=new WeakMap,m=0;te(n);function h(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(),Z_(t)}),i.append(n,a),u.set(n,{refs:r,item:i}),n}function g(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`,()=>X_(t.dataset.path,t.dataset.label));let o=p(`button`,`phone-board-group-forget`,`x`);o.type=`button`,o.addEventListener(`click`,()=>{U_(t.dataset.path),C()});let s=p(`div`,`phone-board-group-rows`);return s.setAttribute(`role`,`list`),n.append(r,i,o,a),t.append(n,s),d.set(t,{header:n,label:r,count:i,addButton:a,forgetButton:o,rows:s}),t}function _(e,t){let n=u.get(e);if(!n)return;let{ui:r,state:i,unseen:a}=t,{glyph:o,label:s,isMonitoring:c}=ee(i,r.awaitingBackgroundTasks),l=r.pendingPromptKind===`plan`?`Plan ready`:s,d=t.name;e.dataset.state=i,e.toggleAttribute(`data-monitoring`,c),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=l;let m=r.card?.dataset.merge||``;e.dataset.merge=m,n.refs.merge.textContent=x[m]||``,n.refs.elapsed.textContent=Hh(r),e.setAttribute(`aria-label`,`${d}, ${l}`)}function y(e,t){let n=d.get(e);if(!n)return;let{header:r,label:i,count:a,addButton:o,forgetButton:s,rows:c}=n,l=t.key===yV,u=t.rows.length===0;e.dataset.path=t.key,e.dataset.label=t.label,e.toggleAttribute(`data-empty`,u),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=l,s.hidden=l||!u,l||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!l&&u&&(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:b,acknowledge:S,isUnseen:ne}=DV();function re(){let e=Y_();b(e);for(let t of e)t.unseen=ne(t.id);return A_(e)}function C(){let e=re(),t=XK(e,ZK,H_(e,ZK));m=N_(e),r.textContent=P_(m),r.toggleAttribute(`data-lit`,m>0);let n=new Set(t.order),p=t.order.join(`,`),v=f.get(i)===p&&i.childElementCount===t.groups.length;for(let e of t.groups){let t=l.get(e.key);t||(t=g(e.key),l.set(e.key,t)),y(t,e),v||i.appendChild(t);let n=e.rows.map(e=>e.id).join(`,`),r=d.get(t);if(!r)continue;let a=f.get(r.rows)===n&&r.rows.childElementCount===e.rows.length;for(let t of e.rows){let e=c.get(t.id);e||(e=h(t.id),c.set(t.id,e)),_(e,t);let n=u.get(e);n&&(a||r.rows.appendChild(n.item))}f.set(r.rows,n)}f.set(i,p);for(let[e,t]of[...l])n.has(e)||(t.remove(),l.delete(e));let b=new Set(t.visibleIds);for(let[e,t]of[...c]){if(b.has(e))continue;let n=u.get(t);n&&n.item.remove(),c.delete(e)}let x=t.groups.length>0,S=E.size===0;i.hidden=!x,a.hidden=x,Dg(a,S),o.hidden=S,s.hidden=S}return Gh(()=>{for(let[e,t]of c){let n=E.get(e),r=u.get(t);n&&r&&(r.refs.elapsed.textContent=Hh(n))}}),{el:t,topBarEl:n,refresh:C,acknowledge:S,getAttentionCount:()=>m}}var $K=`clipboard`,eq=`upload`,tq=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:$K,title:`Paste from the clipboard`}),Object.freeze({id:`upload-image`,label:`Image`,bytes:null,action:eq,accept:`image/*`,title:`Upload an image to this session`}),Object.freeze({id:`upload-file`,label:`File`,bytes:null,action:eq,title:`Upload a file to this session`})]);function nq(e){let t=tq.find(t=>t.id===e);return t?t.bytes:null}function rq(e){return!!e&&e.action===$K}function iq(e){return!!e&&e.action===`upload`}function aq({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 tq){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){iq(t)?o(t,n):rq(t)?oq(e):e(nq(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):Xg(`No session is open to upload to`)}async function c(e,t,n){n&&(n.disabled=!0),await GD(e,t),n&&(n.disabled=!1)}return n}function oq(e){let t=null;try{t=navigator.clipboard?.readText?.()}catch{Xg(`Paste needs clipboard permission`);return}t?t.then(t=>{t&&e(t)}).catch(()=>Xg(`Paste needs clipboard permission`)):Xg(`Paste is unavailable in this browser`)}var sq=`‹`;function cq({onBack:e}){let t=p(`div`,`phone-terminal`),n=p(`header`,`phone-topbar phone-terminal-bar`),r=p(`button`,`phone-back`,sq);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`,()=>ne());let s=p(`span`,`session-task-title session-list-task-title`);Uz(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 _=aq({send:S,getSessionId:()=>y});t.append(n,h,g,_);let y=null,b=null,x=null;function S(e){let t=y?E.get(y):null;t&&(dj(t,e)||Xg(`Session is not connected; key press was dropped`))}function te(){let e=y?E.get(y):null;e?.term&&e.term.focus()}h.addEventListener(`click`,te);function ne(){let e=y?E.get(y):null;e&&y&&Jz(e,y)}function re(){let e=y?E.get(y):null;e&&y&&Gz(e,y)}function C(){let e=y?E.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}=ee(r,e.awaitingBackgroundTasks);n.toggleAttribute(`data-monitoring`,p),qz(o)||(o.textContent=e.card?.dataset.session||y),Wz(s,e.taskTitle),u.textContent=c,d.textContent=l,f.textContent=Hh(e)}function w(){x&&=(delete x.renameTargetEl,delete x.titleTargetEl,null),o.replaceChildren(),b&&=(ae(b),b.parentElement===m&&b.remove(),null)}function T(e){let t=E.get(e);t&&(y===e&&me()===e&&t.card.parentElement===h||(w(),y=e,he(t,e,h,{className:`phone-centered`}),b=v(t.card,`.session-actions`,`div`),ie(b,m),t.renameTargetEl=o,t.titleTargetEl=s,x=t),C())}function D(){w(),me()===y&&ge(),y=null,C()}function O(){if(!y){C();return}let e=E.get(y);e?e.card.parentElement===h?C():T(y):D()}function k(){let e=y;e&&vj(E.get(e),e,!1)}function oe(){O();let e=y;if(!e)return;let t=E.get(e);t&&vj(t,e,!0)}return Gh(()=>{let e=y?E.get(y):null;e&&(f.textContent=Hh(e))}),C(),{el:t,show:T,clear:D,refresh:O,reveal:oe,unview:k,getSessionId:()=>y}}var lq=`board`,uq=Object.freeze([{id:lq,label:`Board`,glyph:`▤`},{id:`terminal`,label:`Terminal`,glyph:`▸`},{id:`review`,label:`Review`,glyph:`◫`}]),dq=[],fq=new Map,pq=null,mq=new Map,hq=new Map,gq=new Map,_q=null,vq=null,yq=null,bq=null,xq=null,Sq=new Map,Cq=new Set,wq={},Tq=!1,Eq=120,Dq=0,Oq=0,kq=`none`;function Aq(){Dq=0,Oq=0}function jq(){let e=window.visualViewport;pq&&(!Tq||!e?pq.removeAttribute(`data-keyboard`):(pq.style.setProperty(`--phone-vh`,`${e.height}px`),pq.style.setProperty(`--phone-vv-top`,`${e.offsetTop}px`),e.width!==Oq&&(Oq=e.width,Dq=0),Dq=Math.max(Dq,e.height),Dq-e.height>Eq?pq.dataset.keyboard=`open`:pq.removeAttribute(`data-keyboard`)))}function Mq(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 Nq(e){return e?.querySelector(`.phone-nav-dot`)||null}function Pq(e,t){e&&(e.hidden=!t,typeof t==`string`&&(e.dataset.attention=t),typeof t!=`string`&&delete e.dataset.attention)}function Fq(){let e=[];for(let t of dq){if(Cq.has(t.id))continue;let n=gq.get(t.id)||!1;e.push(n),Pq(Nq(Sq.get(t.id)),n)}Pq(Nq(bq),iae(e))}function Iq(){let e=p(`div`,`phone-nav-more-menu`);e.hidden=!0;for(let t of dq){let n=Mq(t.label,t.glyph,`phone-nav-menu-item`,`phone-nav-dot phone-nav-menu-dot`);n.dataset.screen=t.id,n.hidden=Cq.has(t.id),n.addEventListener(`click`,()=>{Lq(!1),Zq(t.id)}),Sq.set(t.id,n),e.appendChild(n)}return e}function Lq(e){xq&&bq&&(xq.hidden=!e,bq.setAttribute(`aria-expanded`,String(e)))}function Rq(){return!!xq&&!xq.hidden}function zq(){let e=p(`nav`,`phone-nav`);e.setAttribute(`aria-label`,`Screens`);for(let t of uq){let n=Mq(t.label,t.glyph);n.dataset.screen=t.id,n.addEventListener(`click`,()=>Zq(t.id)),mq.set(t.id,n),e.appendChild(n)}return bq=Mq(`More`,`⋯`),bq.setAttribute(`aria-expanded`,`false`),bq.addEventListener(`click`,()=>Lq(!Rq())),e.appendChild(bq),xq=Iq(),e.appendChild(xq),e}function Bq(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),hq.set(e,r),r}function Vq(){if(pq)return;_q=QK({onSelectSession:Hq}),vq=cq({onBack:()=>Zq(lq)}),yq=p(`div`,`phone-review`);let e=p(`div`,`phone-screens`),t={[lq]:_q.el,terminal:vq.el,review:yq};for(let n of uq)e.appendChild(Bq(n.id,n.label,t[n.id]));for(let t of dq){let n=p(`div`,`phone-panel phone-${t.id}`);fq.set(t.id,n),e.appendChild(Bq(t.id,t.label,n))}pq=p(`div`,`phone-shell`),pq.id=`phone-shell`,pq.append(e,zq()),document.body.appendChild(pq),Fq(),window.visualViewport?.addEventListener(`resize`,jq),window.visualViewport?.addEventListener(`scroll`,jq),window.addEventListener(`popstate`,qq),document.addEventListener(`click`,e=>{Rq()&&xq&&bq&&e.target instanceof Node&&(xq.contains(e.target)||bq.contains(e.target)||Lq(!1))}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Rq()&&Lq(!1)})}function Hq(e){if(E.has(e)){if(!_q||!vq)throw Error(`Phone shell is not built`);K_(e,`dormant-fallback`),_q.acknowledge(e),q_(e),vq.show(e),Zq(`terminal`)}}function Uq(e){if(e===lq){Gq();return}let t={glimmervoidScreen:e};kq===`none`?(history.pushState(t,``),kq=`screen`):(history.replaceState(t,``),kq=`screen`)}function Wq(){let e=Kq(history.state);return e&&Xq(e)?(kq=`screen`,e):(e&&history.replaceState(null,``),kq=`none`,lq)}function Gq(){kq!==`none`&&(kq=`none`,history.back())}function Kq(e){let t=e?.glimmervoidScreen;return typeof t==`string`?t:null}function qq(e){if(!Tq)return;let t=fe.snapshot().phoneScreen;if(t&&wq.canGoBack?.(t)){kq=`none`,Uq(t),wq.onBack?.(t),Yq(t);return}let n=Kq(e.state);kq=n?`screen`:`none`,Yq(n&&Xq(n)?n:lq)}function Jq(e,t){for(let[n,r]of e)n===t?r.setAttribute(`aria-current`,`page`):r.removeAttribute(`aria-current`)}function Yq(e){if(!bq||!vq)throw Error(`Phone shell is not built`);fe.dispatch(`setPhoneScreen`,e),Lq(!1);for(let[t,n]of hq)n.hidden=t!==e;wq.onScreenShown?.(e),Jq(mq,e);let t=Sq.has(e);t&&bq.setAttribute(`aria-current`,`page`),t||bq.removeAttribute(`aria-current`),Jq(Sq,e),e===`terminal`?vq.reveal():vq.unview()}function Xq(e){return hq.has(e)&&!Cq.has(e)}function Zq(e){pq&&Xq(e)&&(e!==fe.snapshot().phoneScreen&&Uq(e),Yq(e))}function Qq(e){wq=e||{},dq=wq.panels||[]}function $q({sessionId:e,linkedScreenId:t}={}){if(Tq)return;if(Vq(),!pq||!_q||!vq)throw Error(`Phone shell is not built`);Tq=!0,pq.hidden=!1;for(let e of wq.headerControls||[])ie(e,_q.topBarEl);VN(yq);for(let e of dq)ie(e.el,fq.get(e.id)),e.el.hidden=!1;jq(),e&&vq.show(e);let n=Wq();iJ(),t&&Xq(t)?Zq(t):e&&n===lq?(fe.dispatch(`setPhoneScreen`,lq),Zq(`terminal`)):Yq(n)}function eJ(){if(Tq){if(!pq||!vq)throw Error(`Phone shell is not built`);Tq=!1,vq.clear(),VN(null);for(let e of dq)ae(e.el);for(let e of wq.headerControls||[])ae(e);Lq(!1),pq.hidden=!0,pq.removeAttribute(`data-keyboard`),Aq(),Gq()}}function tJ(e){return!Tq||!_q||!vq||!E.has(e)?!1:(Hq(e),WB(e))}function nJ(){return Tq}function rJ(){return Tq&&vq?vq.getSessionId():null}function iJ(){if(!Tq)return;if(!_q||!vq)throw Error(`Phone shell is not built`);lJ(),_q.refresh(),vq.refresh(),fe.snapshot().phoneScreen===`terminal`&&!vq.getSessionId()&&Zq(lq);let e=Nq(mq.get(lq));e&&(e.hidden=_q.getAttentionCount()===0)}function aJ(e){return Tq?(Hq(e),!0):!1}function oJ(e){return!Tq||!Xq(e)?!1:(Zq(e),!0)}function sJ(e,t){t&&Cq.delete(e),t||Cq.add(e);let n=Sq.get(e);n&&(n.hidden=!t);let r=hq.get(e);r&&!t&&(r.hidden=!0),Fq(),!t&&Tq&&fe.snapshot().phoneScreen===e&&Zq(lq)}function cJ(e,t){gq.set(e,typeof t==`string`&&t?t:t===!0),Fq()}function lJ(){if(!vq)throw Error(`Phone shell is not built`);if(vq.getSessionId())return;let e=J_();e&&(vq.show(e),q_(e,{rememberFocus:!1}))}function uJ(e,t){return!!e?.error&&!e.isRefreshing&&typeof e.nextAttemptAt==`number`&&e.nextAttemptAt>t}function dJ(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 fJ(e,t,n){return e?.refreshNotice&&e.isRefreshing?e.refreshNotice:t||e?.isRefreshing?`Refreshing.`:n||e?.refreshNotice||``}var pJ={minPx:220,maxPx:720},mJ=16,hJ=new Set,gJ=0;function _J(e){let t=Wp();e.toggleAttribute(`data-queue-collapsed`,t),e.querySelector(`.pr-queue-toggle`)?.setAttribute(`aria-expanded`,String(!t));let n=Hp();n===null?e.style.removeProperty(`--pr-queue-width`):e.style.setProperty(`--pr-queue-width`,`${n}px`)}function vJ(){for(let e of hJ)e.isConnected?_J(e):hJ.delete(e)}function yJ(e,t){let n=p(`div`,`pr-queue-head`);return e&&n.append(e),t&&n.append(t),n}function bJ(e){let t=p(`div`,`pr-queue-foot`);return e&&t.append(e),t}function xJ({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-${++gJ}`,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=yM(16,16);s.append(vM(`rect`,{x:`1.5`,y:`2`,width:`13`,height:`12`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),s.append(vM(`path`,{d:`M5.5 2V14`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`}));let c=vM(`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`,()=>{Gp(!Wp()),vJ()});let l=bJ(null);i.append(yJ(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),_J(r),hJ.add(r),R_({resizer:u,column:i,widthHost:r,widthProperty:`--pr-queue-width`,bounds:pJ,keyStepPx:mJ,getStoredWidth:Hp,setStoredWidth:Up}),{columns:r,queue:a,foot:l,detail:d}}var SJ={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 CJ(e,t){let n=yM(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(vM(`path`,{d:SJ[e],fill:`currentColor`})),n}var wJ=1.2,TJ=1.55,EJ=.12,DJ=523.25,OJ=2,kJ=8,AJ=(e,t,n)=>({semitone:e,startBeat:t,beats:n}),jJ={melody:[AJ(7,4,.5),AJ(11,4.5,.5),AJ(12,5,3)],bass:[AJ(-5,4,1),AJ(-12,5,3)]},MJ=[{melody:[AJ(0,0,1),AJ(4,1,1),AJ(7,2,1),AJ(9,3,1)],bass:[AJ(-12,0,2),AJ(-8,2,2)]},{melody:[AJ(7,0,.67),AJ(7,.67,.67),AJ(7,1.33,.67),AJ(9,2,1),AJ(5,3,1)],bass:[AJ(-12,0,2),AJ(-7,2,2)]},{melody:[AJ(5,0,1),AJ(9,1,1),AJ(7,2,1),AJ(4,3,1)],bass:[AJ(-7,0,2),AJ(-12,2,2)]},{melody:[AJ(12,0,.5),AJ(7,.5,.5),AJ(12,1,.5),AJ(16,1.5,.5),AJ(16,2,1),AJ(14,3,1)],bass:[AJ(-12,0,2),AJ(-3,2,2)]},{melody:[AJ(4,0,1),AJ(7,1,1),AJ(4,2,.5),AJ(5,2.5,.5),AJ(7,3,.5),AJ(4,3.5,.5)],bass:[AJ(-8,0,2),AJ(-12,2,2)]}].map(e=>({melody:[...e.melody,...jJ.melody],bass:[...e.bass,...jJ.bass]}));function NJ(e,t){return DJ*2**((e+t)/12)}function PJ(e,t){let n=(e,n,r)=>e.map(e=>({frequency:NJ(e.semitone,t),startSeconds:TJ+e.startBeat*EJ,durationSeconds:e.beats*EJ,waveform:n,gain:r}));return[...n(e.melody,`square`,.2),...n(e.melody,`triangle`,.5),...n(e.bass,`triangle`,.6)]}var FJ=[{frequency:220,endFrequency:880,startSeconds:0,durationSeconds:.32,waveform:`triangle`,gain:.25},{frequency:160,endFrequency:45,startSeconds:wJ,durationSeconds:.28,waveform:`sine`,gain:1},{frequency:1400,endFrequency:380,startSeconds:wJ,durationSeconds:.06,waveform:`square`,gain:.12}];function IJ(e){let t=MJ[e%MJ.length],n=Math.min(e*OJ,kJ);return{peakGain:.1,tones:[...FJ,...PJ(t,n)]}}function LJ(e){return Math.round(Math.sqrt(2*e/780)*1e3)}function RJ(e,t,n=Math.random){return Math.round(e+n()*(t-e))}function zJ(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 BJ=.6,VJ=.25,HJ=1.6;function UJ(e){return Math.min(BJ+e*VJ,HJ)}var WJ=[`var(--accent)`,`var(--state-running)`,`var(--state-idle)`,`var(--state-waiting)`,`var(--state-failed)`];function GJ(e,t=Math.random){let n=RJ(320,520,t),r=RJ(1800,2800,t);return[[`--confetti-start-x`,`${RJ(4,96,t)}%`],[`--confetti-x`,`${RJ(-140,140,t)}px`],[`--confetti-rise`,`${-RJ(20,55,t)}px`],[`--confetti-fall`,`${RJ(45,70,t)}vh`],[`--confetti-rise-ms`,`${n}ms`],[`--confetti-fall-ms`,`${r}ms`],[`--confetti-flight-ms`,`${n+r}ms`],[`--confetti-tilt`,`${RJ(0,180,t)}deg`],[`--confetti-spin`,`${RJ(-360,360,t)}deg`],[`--confetti-flutter-ms`,`${RJ(160,340,t)}ms`],[`--confetti-delay`,`${RJ(0,160,t)}ms`],[`--confetti-color`,WJ[e%WJ.length]]]}var KJ=`<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>`,qJ=`<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 JJ(){let e=m(`div`,`merge-bullseye-target`,KJ);return e.append(p(`span`,`merge-bullseye-ripple`)),e}function YJ(){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`,qJ)),t.append(n),e.append(t),e}function XJ(){let e=p(`div`,`merge-bullseye-range`),t=p(`div`,`merge-bullseye-track`);return t.append(YJ()),e.append(JJ(),t),e}var ZJ={title:`BULLSEYE!`,buildScene:XJ},QJ=6,$J=30,eY=-14,tY=16;function nY(e=Math.random){return[[`--crosshair-start-left`,`${RJ(QJ,$J,e)}%`],[`--crosshair-start-offset-y`,`${RJ(eY,tY,e)}px`]]}var rY=`<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>`,iY=`<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>`,aY=`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3L8 8M21 3L16 8M3 21L8 16M21 21L16 16"/></svg>`;function oY(){let e=p(`div`,`merge-headshot-sweep`);h(e,nY());let t=p(`div`,`merge-headshot-aim`);t.append(m(`div`,`merge-headshot-crosshair`,iY));let n=p(`div`,`merge-headshot-bob`);return n.append(t,m(`div`,`merge-headshot-hitmarker`,aY)),e.append(n),e}function sY(){let e=p(`div`,`merge-headshot-range`),t=p(`div`,`merge-headshot-track`);return t.append(oY()),e.append(m(`div`,`merge-headshot-target`,rY),t),e}var cY={title:`HEADSHOT!`,buildScene:sY},lY=[`10`,`J`,`Q`,`K`,`A`],uY=19,dY=5,fY=9,pY=780,mY=70,hY=70,gY=35;function _Y(e){let t=lY.length-1,n=e-t/2;return{offsetPx:n*uY,titleSpreadFraction:n/t,tiltDegrees:n*dY,bottomPx:fY-n**2,dealLeadMs:pY-e*mY,flipLeadMs:160+(t-e)*hY,waveDelayMs:e*gY}}function vY(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 yY(){return[[`--card-flip-ms`,`160ms`]]}var bY=`<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 xY(e,t){let n=p(`div`,`merge-flush-deal`);h(n,vY(_Y(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`,bY),i.append(p(`div`,`merge-flush-back`),a),r.append(i),n.append(r),n}function SY(){let e=p(`div`,`merge-flush-table`);return h(e,yY()),e.append(...lY.map(xY)),e}var CY={title:`ROYAL FLUSH!`,buildScene:SY},wY=[1,2,3,4],TY=14,EY=3,DY=3,OY=10,kY=20,AY=2,jY=28,MY=18,NY=.01,PY=1.5,FY=2200,IY=1,LY=120,RY=.35,zY=4,BY=65,VY=145;function HY(e){return Math.round(e/(Math.PI*MY)*360)}function UY(e){return kY-e*AY}function WY(e){return e.rowIndex*TY+e.depthIndex*EY}function GY(e,t,n){return Array.from({length:n},(r,i)=>e+(t-e)*i/(n-1))}function KY(){return wY.flatMap((e,t)=>Array.from({length:e},(n,r)=>({rowIndex:t,depthIndex:e-1-r})))}function qY(e,t){let n=zJ(GY(15,105,e),t),r=zJ(GY(BY,VY,e),t);return n.map((e,n)=>({angleDegrees:e+RJ(-4,zY,t),depthScalePercent:Math.round(r[n])}))}function JY(e,t,n){let r=RJ(240,380,n),i=t.angleDegrees*Math.PI/180,a=r*Math.cos(i),o=(r*Math.sin(i))**2/1560,s=RJ(15,45,n),c=LJ(o),l=LJ(o+s),u=c+l,d=RJ(540,1080,n),f=a>=0?1:-1,p=WY(e);return{depthIndex:e.depthIndex,launchAngleDegrees:t.angleDegrees,distanceFromHeadPinPx:p,layer:UY(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/RY)}}function YY(e=Math.random){let t=KY(),n=qY(t.length,e);return t.map((t,r)=>JY(t,n[r],e))}function XY(e){return[[`--pin-left`,`${e.distanceFromHeadPinPx}px`],[`--pin-raise`,`${e.depthIndex*DY}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 ZY(){return UY(PY)}function QY(){return Math.max(...KY().map(WY))+OY}function $Y(){let e=QY(),t=jY+e+MY-IY;return[[`--ball-follow-px`,`${LY}px`],[`--ball-follow-ms`,`${Math.round(LY/RY)}ms`],[`--ball-follow-spin`,`${HY(LY)}deg`],[`--ball-size`,`${MY}px`],[`--ball-approach-spin`,`${FY}deg`],[`--ball-impact-inset`,`${t}px`],[`--ball-layer`,String(ZY())],[`--rack-right`,`${jY}px`],[`--rack-width`,`${e}px`],[`--pin-width`,`${OY}px`]]}function eX(e=Math.random){return e()>=NY?null:jf[Math.floor(e()*jf.length)].sprite}var tX=`<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 nX(e){let t=p(`span`,`merge-strike-pin`);return t.append(m(`span`,`merge-strike-pin-arc`,tX)),h(t,XY(e)),t}function rX(){let e=eX();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 iX(){let e=p(`div`,`merge-strike-lane`);h(e,$Y());let t=p(`div`,`merge-strike-rack`);t.append(...YY().map(nX));let n=p(`div`,`merge-strike-track`);return n.append(rX()),e.append(t,n),e}var aX={title:`STRIKE!`,buildScene:iX},oX=20,sX=92,cX=23,lX=7,uX=-40;function dX(){let e=LJ(72),t=LJ(69),n=780*t/1e3;return{launchHeightPx:oX,peakHeightPx:sX,heightThroughRimPx:cX,heightLeavingNetPx:lX,heightOutOfCardPx:uX,riseMs:e,fallToRimMs:t,speedThroughRimPxPerSecond:n,netCatchMs:Math.round(32/n*1e3),dropMs:LJ(47)}}function fX(e=dX()){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 pX=`<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>`,mX=`<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 hX(){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 gX(){let e=p(`div`,`merge-swish-court`);h(e,fX());let t=p(`div`,`merge-swish-track`);return t.append(hX()),e.append(m(`div`,`merge-swish-hoop-back`,pX),t,m(`div`,`merge-swish-hoop-front`,mX)),e}var _X=[aX,{title:`SWISH!`,buildScene:gX},ZJ,cY,CY],vX=48,yX=5600,bX=20,xX=null,SX=[],CX=null,wX=!1,TX=0;function EX(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,GJ(e)),t}function DX(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 OX(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 kX(e){let t=p(`div`,`merge-celebration-scene`);return t.setAttribute(`aria-hidden`,`true`),t.append(e.buildScene()),t}function AX(){return _X[Math.floor(Math.random()*_X.length)]}function jX(e){if(bp())try{sE(IJ(e))}catch{}}function MX(e){let t=p(`ul`,`merge-celebration-details`);for(let n of e)t.append(p(`li`,`merge-celebration-detail`,n));return t}function NX(e,t,n){xX?.remove(),jX(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=DX(t.title);a.append(o,p(`p`,`merge-celebration-message`,e.message),MX(e.detailLines),kX(t));let s=p(`div`,`merge-confetti`);s.style.setProperty(`--confetti-scale`,String(UJ(n)));for(let e=0;e<vX;e+=1)s.append(EX(e));i.append(s,a),r.append(i),document.body.append(r),OX(a,o),xX=r,window.setTimeout(()=>{r.remove(),xX===r&&(xX=null)},yX)}function PX(e){return wX?`playing`:e?`queued`:`empty`}function FX(){if(!CX)return;let e=SX.length>0;CX.tray.dataset.state=PX(e),CX.count.textContent=e?String(SX.length):``,CX.button.disabled=wX||!e}function IX(){let e=SX.shift();wX=e!==void 0,FX(),e&&(NX(e.text,e.scene,TX),TX+=1,window.setTimeout(IX,yX))}function LX(e,t,n){CX={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{TX=0,IX()}),FX()}function RX(e,t=AX()){SX.push({text:e,scene:t}),SX.length>bX&&SX.shift(),FX()}var zX={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},BX=new Set([`FAILURE`,`ERROR`]);function VX(e){return zX[e]}function HX(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&&BX.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function UX(e,t,n,r,i,a){return{isVisible:a&&(e.state===`OPEN`||t),isPressed:t,isDisabled:n,statusText:r||(n?`Saving...`:i)}}function WX(e,t,n=``){if(!t||!e.keepMergeable)return null;let r=GX(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 GX(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`),UX(e,!!e.keepMergeable,t,n,o,r)}function KX(e){return e?.isKeepMergeableEnabled!==!1}function qX(e){return e?.isMergeQueueEnabled!==!1}var JX={one:`st`,two:`nd`,few:`rd`,other:`th`},YX=new Intl.PluralRules(`en-US`,{type:`ordinal`});function XX(e){return`${e}${JX[YX.select(e)]??`th`}`}function ZX(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, ${XX(e)} in line for this repository`}function QX(e,t,n=``,r=!0){let i=e.mergeQueuePosition??null;return UX(e,i!==null,t,n,ZX(i,!!e.isMergeQueueHeldForRepairPush,!!e.mergeQueueFailure),r)}var $X=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],eZ=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],tZ={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`},nZ={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`},rZ={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`},iZ={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 aZ(e){let t=hc.safeParse(e);return t.success?t.data:null}function oZ(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 sZ(e){return $X[e.rows.reduce((e,{pr:t})=>Math.min(e,$X.indexOf(tZ[t.stage])),$X.length-1)]}function cZ(e){let t=new Map($X.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of oZ(e)){let e=t.get(sZ(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return eZ.flatMap(e=>t.get(e)??[])}function lZ(e){return nZ[e]}function uZ(e){return rZ[e]}function dZ(e){return iZ[e]}function fZ(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 pZ(e){return`${e} ${e===1?`approval`:`approvals`}`}function mZ(e){return e.reviewRequests.map(e=>e.name).join(`, `)}function hZ(e){let t=e.reviewRequests.length>0?`Requested: ${mZ(e)}`:`Approval required`;return e.approvals>0?`${t}, ${pZ(e.approvals)}`:t}function gZ(e){let t=e.approvals>0?pZ(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 _Z(e){return e.reviewDecision===`CHANGES_REQUESTED`?{label:`Review`,tone:`warn`,icon:`changes-requested`,text:`Changes requested`}:e.reviewDecision===`APPROVED`?gZ(e):e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:hZ(e)}:e.reviewRequests.length>0?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`Requested: ${mZ(e)}`}:{label:`Review`,tone:`muted`,icon:`none`,text:`No review requested`}}function vZ(e,t){return t?e.lastAuthor!==t:null}function yZ(e){let t=e.line===null?e.path:`${e.path}:${e.line}`;return e.isOutdated?`${t} (outdated)`:t}function bZ(e){let t=e.commentCount-1;return t===0?`No replies`:`${t} ${t===1?`reply`:`replies`}, last by ${e.lastAuthor??`a deleted account`}`}function xZ(e,t){let n=vZ(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 SZ(e,t){return[...e.threads].sort((e,n)=>{let r=Number(vZ(n,t)===!0)-Number(vZ(e,t)===!0);return r===0?(Date.parse(n.lastActivityAt)||0)-(Date.parse(e.lastActivityAt)||0):r}).map(e=>({location:yZ(e),url:e.url,author:e.author??`a deleted account`,excerpt:e.excerpt,replySummary:bZ(e),lastActivityAt:e.lastActivityAt,waiting:xZ(e,t)}))}function CZ(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=>vZ(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 wZ(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 TZ(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 EZ={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 DZ(e){return[...e.reviews].sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).map(e=>{let t=EZ[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 OZ(e,t=null){if(e.state===`MERGED`)return[];let n=[fZ(e),_Z(e),CZ(e,t),wZ(e),TZ(e)],r=e.autoRebase?[kZ(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 kZ(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 AZ(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 jZ(e,t=0){if(!e)return[];let n=dJ(e,t),r=n?[{text:n,tone:`error`}]:[];return e.truncatedNote?[...r,{text:e.truncatedNote,tone:`info`}]:r}function MZ(e){return`${e.repo}#${e.number}`.toLowerCase()}function NZ(e){let t=new Map;for(let n of e)for(let e of n.links){let r=MZ(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 PZ(e,t){let n=e.flatMap(e=>e.prs);return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}function FZ(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 IZ=3;function LZ(e){if(e.length===1)return{message:`Merged ${e[0].key}`,detailLines:[e[0].title]};let t=e.slice(0,IZ).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 RZ={isVisible:!1,isDisabled:!0,statusText:``,tone:null},zZ={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 BZ(e,t){if(e.state!==`OPEN`)return RZ;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,...zZ[n.phase]};let r=HX(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 ${VX(e.mergeMethod)}`,tone:null}}function VZ(e){return`Merge ${e.key} "${e.title}" into ${e.baseRefName} with ${VX(e.mergeMethod)}, your default for this repository. Glimmervoid does not delete the branch.`}function HZ(e){let t=gc.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 UZ=null,WZ=null,GZ=null,KZ=null,qZ=null,JZ=null,YZ=null,XZ=new Map,ZZ=new Set,QZ=new Map,$Z=new Map,eQ=!1,tQ=null,nQ={label:`Keep mergeable`,pendingKeys:new Set,errorsByKey:new Map,controlState:(e,t,n,r)=>GX(e,t,n,r,Jh(e.keepMergeableAttempt?.at)),isFeatureEnabled:KX,save:async(e,t)=>{let n=await oh(`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.`}},rQ={label:`Merge when ready`,pendingKeys:new Set,errorsByKey:new Map,controlState:QX,isFeatureEnabled:qX,save:async(e,t)=>{let n=await oh(`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.`}},iQ=6e4,aQ=`No reply from the server. Check GitHub before trying again.`;function oQ(e,t){let n=p(`div`,`reviews-refresh-control`),r=p(`button`,`pr-action pr-action-ghost 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=dJ(o,Date.now()),a.hidden!==!o?.error&&(a.hidden=!o?.error);let e=a.isConnected&&!w(t)&&!document.hidden&&a.getClientRects().length>0&&uJ(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=fJ(e,s,c),i.hidden=!i.textContent,u()}r.addEventListener(`click`,async()=>{if(!s){s=!0,c=``,d(o);try{let t=await oh(`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=xh(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 sQ(e,t,n,r){XZ.set(e,{head:t,phase:n,text:r}),SQ()}function cQ(e){if(QZ.has(e.key))return;let t=ah(`my-pr-merge`);if(!G({type:`my-pr-merge`,requestId:t,repo:e.repo,number:e.number,headRefOid:e.headRefOid})){sQ(e.key,e.headRefOid,`failed`,`Not connected to the server.`);return}let n=window.setTimeout(()=>{QZ.delete(e.key),sQ(e.key,e.headRefOid,`failed`,aQ)},iQ);QZ.set(e.key,{requestId:t,head:e.headRefOid,timer:n}),XZ.set(e.key,{head:e.headRefOid,phase:`pending`,text:``}),SQ()}function lQ(e){let t=BZ(e,XZ.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`,()=>{bh({title:`Merge pull request`,message:VZ(e),confirmLabel:`Merge`,onConfirm:()=>cQ(e)})}),n.append(r,i),n}function uQ(e,t){let n=t.controlState(e,t.pendingKeys.has(e.key),t.errorsByKey.get(e.key),t.isFeatureEnabled(qZ));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),SQ();try{let r=await t.save(e,!n.isPressed);r&&t.errorsByKey.set(e.key,r)}catch(n){t.errorsByKey.set(e.key,xh(n))}finally{t.pendingKeys.delete(e.key),SQ()}}}),r.append(i,a),r}function dQ(e,{hasGlyph:t}){let n=p(`span`,`my-pr-stage`);return n.dataset.tone=uZ(e.stage),t&&n.append(CJ(dZ(e.stage),uZ(e.stage))),n.append(lZ(e.stage)),n}function fQ(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 pQ(){if(!UZ||!WZ||GZ?.isConnected)return;let e=xJ({queueLabel:`My pull requests`,scopeTabs:WZ,resizerLabel:`Resize pull request list`});GZ=e.queue,KZ=e.detail,UZ.replaceChildren(e.columns),YZ&&e.foot.append(YZ.control)}function mQ(e){if(!KZ)return;if(!e){KZ.replaceChildren(p(`p`,`pr-empty`,AZ(qZ)));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,dQ(e,{hasGlyph:!0})),t.append(n);for(let n of[nQ,rQ]){let r=uQ(e,n);r&&t.append(r)}let i=OZ(e,qZ?.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(fQ(e,t.text)),i.childNodes.length===0&&(i.textContent=t.text),n.append(CJ(t.icon,t.tone),p(`span`,`pr-readiness-label`,t.label),i),r.append(n)}n.append(r);let a=lQ(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=DZ(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} ${Jh(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(CJ(e.icon,e.tone),a,p(`span`,`pr-readiness-value`,i)),n.append(t)}e.append(n),t.append(e)}let o=SZ(e,qZ?.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(CJ(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}, ${Jh(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 ${Jh(Date.parse(e.createdAt))}`),p(`span`,null,`${e.state===`MERGED`?`Merged`:`Updated`} ${Jh(Date.parse(e.state===`MERGED`?e.mergedAt??``:e.updatedAt))}`)),t.append(s),KZ.replaceChildren(t)}function hQ(){return[...$Z].flatMap(([e,t])=>{let n=E.get(e);return!n||t.length===0?[]:[{id:e,title:D(n)||e,links:t}]})}function gQ(e){let t=e.dataset.sessionId??``,n=E.get(t),r=y(e,`.focus-pill-name`);n&&(r.textContent=D(n)||t);let i=EV(e,{glyph:y(e,`.focus-pill-glyph`),label:y(e,`.focus-pill-label`)},n?.currentState||a.DORMANT,n?.awaitingBackgroundTasks),o=`Focus session ${r.textContent}, ${i}`;e.title=o,e.setAttribute(`aria-label`,o)}function _Q(e){let{pill:t,refs:n}=TV(`button`,`focus-pill my-pr-session-pill`);return t.type=`button`,t.dataset.sessionId=e.id,n.name.textContent=e.title,gQ(t),t.addEventListener(`click`,()=>tQ?.(e.id)),t}function vQ(e){if(!e||e.length===0)return null;let t=p(`div`,`my-pr-session-focus`);return t.append(...e.map(_Q)),t}function yQ(){for(let e of GZ?.querySelectorAll(`.my-pr-session-pill`)??[])gQ(e)}function bQ(){eQ||(eQ=!0,queueMicrotask(()=>{eQ=!1,SQ()}))}function xQ(e){$Z=e,bQ()}function SQ(){if(pQ(),!GZ)return;let e=qZ?.prs??[],t=cZ(e);JZ=PZ(t,JZ);let n=document.activeElement instanceof HTMLElement&&GZ.contains(document.activeElement)?document.activeElement.dataset.prKey:null,r=NZ(hQ()),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===JZ)),e.title=`${n.key}: ${lZ(n.stage)}`;let o=p(`span`,`pr-queue-glyph`);o.append(CJ(dZ(n.stage),uZ(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 ${Jh(Date.parse(l))}`:`opened ${Jh(Date.parse(n.createdAt))}`;c.append(dQ(n,{hasGlyph:!1}),p(`span`,`pr-queue-elapsed`,u));let d=WX(n,nQ.isFeatureEnabled(qZ),Jh(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`,()=>{JZ=n.key;for(let e of GZ?.querySelectorAll(`button[data-pr-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.prKey===JZ));mQ(n),document.documentElement.dataset.layout===`phone`&&KZ?.scrollIntoView({block:`start`,behavior:`smooth`})}),t.append(e);let f=vQ(r.get(MZ(n)));f&&(i&&(f.style.paddingInlineStart=`${36+Math.min(a,6)*16}px`),t.append(f))}return t});if(i.length===0&&GZ.replaceChildren(p(`p`,`pr-empty`,AZ(qZ))),i.length>0){let e=jZ(qZ,Date.now()).filter(e=>e.tone!==`error`).map(e=>p(`p`,e.tone===`error`?`my-pr-error`:`my-pr-note`,e.text));GZ.replaceChildren(...e,...i)}YZ&&(GZ.prepend(YZ.notice),YZ.update(qZ)),n&&[...GZ.querySelectorAll(`button[data-pr-key]`)].find(e=>e.dataset.prKey===n)?.focus({preventScroll:!0}),mQ(e.find(e=>e.key===JZ))}function CQ(e,t,n){return tQ=n?.openTerminal??null,UZ||(WZ=t,UZ=p(`div`,`pr-content`),e.append(UZ),YZ=oQ(`my-prs`,UZ),SQ(),UZ)}function wQ(){return qZ}function TQ(e){let t=aZ(e);if(!t)return;let n=FZ(qZ?.prs??null,t.prs);qZ=t,SQ(),EQ(n)}function EQ(e){let t=e.filter(e=>!ZZ.has(e.key));if(t.length!==0){for(let e of t)ZZ.add(e.key);RX(LZ(t))}}function DQ(e){let t=HZ(e);if(!t)return;let n=QZ.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),QZ.delete(t.key),!t.ok){sQ(t.key,n.head,`failed`,t.error||`The merge failed.`);return}if(sQ(t.key,n.head,t.kind??`unconfirmed`,``),t.kind!==`merged`)return;let r=qZ?.prs.find(e=>e.key===t.key);r&&EQ([r])}var OQ=Ns.options.join(`|`),kQ=String.raw`\*\*(?:\[([^\]\n]+)\]\s+)?(${OQ})\*\*`;function AQ(e){return[...e.matchAll(new RegExp(kQ,`g`))].flatMap(e=>{let t=Ns.safeParse(e[2]);return t.success?[t.data]:[]})}function jQ(e){let t=new RegExp(String.raw`^${kQ}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let n=Ns.safeParse(t[2]);return n.success?{reviewer:t[1]??null,severity:n.data,length:t[0].length}:null}function MQ(e){let t=e.trimStart();return t.startsWith(`> [!NOTE]
253
+ > Automated review. Not written by a human.`)?t.slice(53).trim():e.trim()}var NQ={"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 PQ(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 FQ={APPROVE:{label:`You approved`,tone:`ok`,icon:`passed`},COMMENT:{label:`You commented`,tone:`muted`,icon:`thread`}},IQ={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 LQ(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?IQ[t.state]:null;if(!t)return FQ[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?FQ[e.postedEvent]:IQ[t.state]}var RQ={"changes-requested":`changes-requested`,"checks-failing":`failed`,"checks-pending":`running`,draft:`draft`};function zQ(e){let{reason:t}=PQ(e),n=RQ[t];return n?{text:NQ[t],icon:n}:null}function BQ(e){return zQ(e)?.text??null}var VQ={discarded:{tone:`muted`,icon:`discarded`,meaning:`Not mine`},handReview:{tone:`warn`,icon:`fork`,meaning:`From a fork`}};function HQ(e,t){let n=BQ(t);return n?`${e}, ${n}`:e}function UQ(e){if(Ws(e))return!0;let t=(e.githubReviews??[]).filter(e=>e.isViewer);return t.length===0||t.some(t=>t.commit===v$(e))}var WQ={tone:`warn`,icon:`your-turn`,meaning:`Comments resolved`};function GQ(e,t){let n=VQ[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,icon:`running`,meaning:HQ(`In review`,e)};if(t===`queued`)return{tone:`muted`,icon:`queued`,meaning:HQ(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=UQ(e)?LQ(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=LQ(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=zQ(e);return r?{tone:`wait`,icon:r.icon,meaning:r.text}:t===`ready`&&`reviewedHead`in e&&JQ(e)?WQ:{tone:`warn`,icon:`your-turn`,meaning:`Waits on you`}}function KQ(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function qQ(e){return e.status===`posted`&&JQ(e)}function JQ(e){if(!KQ(e)||Ws(e))return!1;let t=v$(e);return!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function YQ(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 XQ(e){return`${e} ${e===1?`comment`:`comments`}`}function ZQ(e,t,n){let r=[`${Y$(e.repo,e.number)}: ${e.title}`],i=`reviewedHead`in e?e.assessment?.goal.trim():``;if(i&&r.push(i),r.push(GQ(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(`
254
+ `);let a=YQ(e.viewerThreads);a&&r.push(a);let o=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${u$(e.verdict)}, ${XQ(o)}`);let s=E$(e);s&&r.push(`You ${f$[s.state]} at ${Ds(s.approvedCommit)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(u1(e));let c=A$(e,{isViewerShown:t!==`posted`});for(let[e,t]of c.entries())r.push(k$(t.text,n.githubReviews?.[e]??null));return r.join(`
255
+ `)}function QQ(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 $Q(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:QQ({...e,ready:[],attention:[]})??``}}function e$(e){let t=e.trim();return t.endsWith(`.`)?t:`${t}.`}function t$({action:e,pullRequest:t,warning:n,isActedSelected:r}){let i=x1(e),a=`${t}: ${e$(i)}`;return n.trim()?{statusText:i,shouldAdvance:!1,notice:{text:`${a} ${e$(n)}`,tone:`error`}}:{statusText:i,shouldAdvance:r,notice:null}}function n$(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 r$(e,t,n){return n?Y$(e,t):`#${t}`}var i$={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},a$={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},o$=`lanes-team-review`,s$=`team-review-enabled`,c$=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),l$={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function u$(e){return l$[e]}var d$=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`}),f$=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),p$=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),m$=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`}),h$=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 g$(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=>y$(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[PQ(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(y$(r).length>0||qQ(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!w$(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[PQ(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 _$(e,t){return e.commit===t?e.isViewer||zs.has(e.state):!1}function v$(e){return e.liveHead??e.reviewedHead}function y$(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function b$(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 x$(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>{let n=b$(t,v$(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 S$=40;function C$(e,t){return e.split(`
256
+ `).reduce((e,t)=>e+Math.max(1,Math.ceil(t.length/S$)),0)>t}function w$(e){return y$(e).length>0?!0:Ws(e)?!1:JQ(e)?!0:!(e.githubReviews??[]).some(t=>_$(t,v$(e)))}function T$(e,t){let n=f$[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function E$(e){if(Ws(e))return null;let t=(e.githubReviews??[]).filter(e=>e.isViewer&&zs.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!t?.commit||t.commit===v$(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 D$(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 ${Ds(e.approvedCommit)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${i}, so this review covers what changed after ${r}.`:`${i}.`}function O$(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function k$(e,t){return t?`${e}, ${t}`:e}function A$(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:O$(t.state),text:T$(t,v$(e)),submittedAt:t.submittedAt}))}function j$(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 M$(e){return[...e.ready,...e.attention].map(e=>e.key)}function N$({capturedOrder:e,actedKey:t,groups:n}){let r=M$(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 P$(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 F$(e){return i$[e]}function I$(e){return a$[e]}function L$(e){let t=AQ(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function R$(e){let t=L$(e);return Ns.options.find(e=>t.includes(e))??null}function z$(e){return R$(e)!==`LOW`}var B$=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(`.`)),V$=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function H$(e){let t=V$.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:B$.has(n.slice(r+1).toLowerCase())}var U$=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function W$(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:H$(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function G$(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:W$(e.slice(t?.[0].length??0))}})}function K$(e){let t=MQ(e),n=jQ(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(U$)){let t=e.index??0;i.push(...G$(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(...G$(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function q$(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 J$(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 Y$(e,t){return`${e}#${t}`}function X$(e){return e===`full`?`full`:`light`}function Z$(e){return e.priorReviewedHead?`${X$(e.tier)} review of changes since ${Ds(e.priorReviewedHead)}`:`${X$(e.tier)} review`}function Q$(e){return e.reasons.join(`, `)}function Xce(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 $$(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 e1(e){return e?{label:`Coverage`,preview:$$(e)}:{label:`Review audit`,preview:``}}var t1=`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.`,n1=new Set([`error`,`stale`,`discarded`,`posted`]);function r1(e){return n1.has(e)}function i1(e){let t=a1(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function a1(e){return c$[e]??String(e).toLowerCase()}function o1(e){return d$[e]??`dim`}function s1(e){return p$[e]??e}function c1(e,t){return`${ig(t-e.startedAt)} elapsed`}function l1(e,t){let n=[c1(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${ig(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function u1(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 d1(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function f1(e){return d1(e.path,e)}function p1(e){return d1(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function m1(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function h1(e){return{key:e,action:`discard`,body:``,comments:[]}}function g1(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 _1=Object.freeze({approve:`Approve and comment`,"approve-only":`Approve`,comment:`Comment`,discard:`Not mine`,requeue:`Queue review`,"resolve-thread":`Resolve`});function v1(e){return _1[e]}function y1(e){return e.status===`ready`?{footer:[`comment`,`approve-only`,`approve`],more:[`requeue`,`discard`]}:Qs(e)?{footer:[`approve-only`],more:[`requeue`]}:e.status===`error`||e.status===`stale`?{footer:[`requeue`],more:[`discard`]}:r1(e.status)?{footer:[`requeue`],more:[]}:{footer:[],more:[]}}function b1(e){return h$[e]}function x1(e){return m$[e]}function S1(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 C1(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 w1(e){return e?.configured&&e.reason||null}function T1(e){return Xh(g$(e).ready.map(e=>`${e.key}@${e.reviewedHead}`))}function E1(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${A$(e).map(e=>e.text).join(`, `)}`}function D1(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 O1(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(`
257
+ `)!==t.inFlight.map(e=>e.key).join(`
258
+ `)||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 k1=12e4,A1=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,j1=`GitHub review`,M1=null,N1=null,P1=null,F1=null,I1=null,L1=null,R1=null,z1=null,B1=null,V1=null,H1=null,U1=null,W1=null,G1=null,K1=null,q1=new Map,J1=Yh(()=>N1),Y1=Yh(()=>N1),X1=Yh(()=>N1),Z1=new WeakMap,Q1=new Map,$1=new Map,e0=new Map,t0=Zh({getAck:im,setAck:am,signature:()=>T1(M1),isLooking:()=>!w(N1)});function n0(e){let t=F$(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=yM(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(vM(`path`,{d:A1,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=yM(9,11),i=e<t.filledCount;r.append(vM(`path`,{d:A1,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function r0(e){let{verdict:t}=e,n=p(`span`,`pr-verdict-seal`);n.dataset.tone=o1(t);let r=yM(20,20),i=I$(t);return r.append(vM(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:i===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),i===`check`&&r.append(vM(`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(vM(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),i===`bar`&&r.append(vM(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),i===`cross`&&r.append(vM(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),n.append(r,p(`span`,null,i1(t))),n}function i0(){let e=yM(16,16);return e.append(vM(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(vM(`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(vM(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function a0(e){return b(`pr-link`,Y$(e.repo,e.number),e.url)}function o0(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function s0(e,t){let n=o0(t);if(n===null)return null;let r=p(`span`,null,`${e}${e?` `:``}${Jh(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function c0(e){let t=Z1.get(e);t&&(e.title=t(),e.setAttribute(`aria-label`,e.title))}function l0(){X1.reset(),u0(N1)}i_(l0);function u0(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`))Z1.has(t)&&(c0(t),X1.onTick(()=>c0(t)));for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=M1?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?E$(e):null;if(!n)continue;let r=()=>{t.textContent=D$(n,f0(n.submittedAt))};r(),X1.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:Jh(n),i=n_()?k$(j1,r):k$(e,r);t.title=i,t.setAttribute(`aria-label`,i)};r(),X1.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??``;X1.track(t,e,()=>`${n}${n?` `:``}${Jh(e)}`)}}}function d0(e,t,n,r=!0){let i=A$(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:k$(n_()?j1:e.text,f0(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=o0(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r))}return a.append(o),a}function f0(e){let t=o0(e);return t===null?null:Jh(t)}function p0(e,t,n){let r=p(`span`,n);return r.append(g({login:e,cssPx:t}),p(`span`,`pr-author-login`,e)),r}function m0(e,t){return`${Y$(e.repo,e.number)}\n${GQ(e,t).meaning}`}function Zce(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===B1));let i=`reviewedHead`in e?E$(e):null;Z1.set(r,()=>n_()?m0(e,t):ZQ(e,t,{opened:f0(e.prCreatedAt),reviewed:`reviewedHead`in e?f0(e.reviewedAt):null,posted:`reviewedHead`in e?f0(e.postedAt):null,viewerApproval:f0(i?.submittedAt),githubReviews:`reviewedHead`in e?A$(e,{isViewerShown:t!==`posted`}).map(e=>f0(e.submittedAt)):[]})),c0(r);let a=_0(e,n);if(t===`inReview`){let t=e,n=p(`span`,`pr-queue-elapsed`);J1.track(n,t.startedAt,()=>c1(t,Date.now())),a.append(n)}if(t===`queued`){let t=s0(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),a.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=s0(``,t.reviewedAt)??s0(``,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),h0(r,e.key),r;r.classList.remove(`pr-queue-row-quiet`);let o=GQ(e,t),s=p(`span`,`pr-queue-glyph`);s.append(CJ(o.icon,o.tone));let c=p(`span`,`pr-queue-bottom`);if(c.append(g0(o),p0(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`,s1(e.phase))),r.append(s,a,c);let l=t===`inReview`||t===`queued`?null:d0(e,`pr-queue-reviewers`,16,t!==`posted`);return l&&c.append(l),h0(r,e.key),r}function h0(e,t){e.addEventListener(`click`,()=>{B1=t,V1=null,y0(null);for(let e of I1?.querySelectorAll(`button[data-review-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.reviewKey===B1));q0(g$(M1)),X1.reset(),u0(N1),document.documentElement.dataset.layout===`phone`&&R1?.scrollIntoView({block:`start`,behavior:`smooth`})})}function g0(e){let t=p(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function _0(e,t){let n=p(`span`,`pr-queue-top`);return n.append(p(`strong`,`pr-queue-ref`,r$(e.repo,e.number,t)),p(`strong`,`pr-queue-ref-compact`,r$(e.repo,e.number,!1)),p(`span`,`pr-queue-title`,e.title)),n}function Qce(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);Z1.set(e,()=>n_()?m0(r,`handReview`):ZQ(r,`handReview`,{opened:f0(r.prCreatedAt)})),c0(e);let i=GQ(r,`handReview`),a=p(`span`,`pr-queue-glyph`);a.append(CJ(i.icon,i.tone));let o=p(`span`,`pr-queue-bottom`);o.append(g0(i),p0(r.author,16,`pr-queue-author`)),e.append(a,_0(r,t),o),n.append(e)}return n}function v0({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(CJ(`ready`,`ok`),p(`span`,null,e)),n.append(r,p(`p`,`pr-caught-up-detail`,t)),n}function y0(e){H1=e,U1&&(U1.hidden=e===null,U1.textContent=e?.text??``,e&&(U1.dataset.tone=e.tone))}function b0(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(Zce(e,n,r));return i}var $ce=`Open in session`,x0=`Preparing the branch and session.`;function S0(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 C0(e,t){let n=q1.get(e);n&&window.clearTimeout(n.timer),q1.set(e,{requestId:null,timer:0,text:t,tone:`error`}),S0(e,t,`error`)}function ele(e,t,n){if(q1.get(e)?.requestId)return;let r=ah(`open-team-review-session`);if(!G({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(()=>C0(e,`No reply from the server.`),k1);q1.set(e,{requestId:r,timer:i,text:x0,tone:`busy`}),t.disabled=!0,n.dataset.tone=`busy`,n.textContent=x0}function w0(e){let t=p(`div`,`pr-session-open`),n=p(`button`,`pr-action pr-session-open-button`,$ce);n.type=`button`;let r=q1.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`,()=>ele(e.key,n,i)),t.append(n,i),t}function T0(e){let t=p(`div`,`pr-detail-heading`);t.dataset.signature=D1(e);let n=p(`div`,`pr-detail-title`);n.append(a0(e),p(`h2`,null,e.title));let r=p(`div`,`pr-detail-meta`);r.append(p0(e.author,20,`pr-detail-author`));let i=p(`span`,null,Z$(e));i.title=Q$(e),r.append(i);let a=s0(`Opened`,e.prCreatedAt);if(a&&r.append(a),`reviewedHead`in e){let t=s0(`Reviewed`,e.reviewedAt);t&&r.append(t);let n=s0(`Posted`,e.postedAt);n&&r.append(n)}let o=`reviewedHead`in e?d0(e,`pr-detail-github`,20):null;if(o&&r.append(o),t.append(n,r,w0(e)),`reviewedHead`in e){let n=YQ(e.viewerThreads);if(n){let r=p(`p`,`pr-viewer-threads`,n);KQ(e)&&(r.dataset.state=`all-resolved`),t.append(r)}}let s=`reviewedHead`in e?E$(e):null;if(s){let n=p(`p`,`pr-rereview-notice`,D$(s,f0(s.submittedAt)));n.dataset.reviewKey=e.key,t.append(n)}return t}function E0(e,t){let n=e.querySelector(`:scope > .pr-detail-heading`);if(!n||n.dataset.signature===D1(t))return e;let r=T0(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 D0(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}`}function O0(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 k0(e,t){return O0(e,W$(t))}function A0(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 j0(e){let t=p(`ul`,`pr-assessment-list`);for(let n of e)t.append(k0(p(`li`,null),n));return t}function M0(e){let t=Xce(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(k0(p(`p`,t),e.text))}return[n]}function N0(e){let t=p(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=p(`div`,`pr-verdict-line`);return n.append(r0(e)),t.append(n),e.assessment?(t.append(k0(p(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t):(t.append(p(`p`,`pr-verdict-legacy`,t1)),t)}function P0(e){let t=p(`details`,`pr-disclosure pr-coverage`),n=p(`summary`,`pr-disclosure-summary`),r=e1(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(A0(`What the review checked`,j0(i.checked))),i.gaps.length>0&&t.append(A0(`Not covered`,j0(i.gaps),`warning`)),t):(t.append(k0(p(`p`,`pr-verdict-summary`),e.summary)),t)}function tle(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(i0()),n.append(e.lead),t.append(n,` `)}return O0(t,e.segments)}function nle(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 ${f1(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=K$(e.body),l=R$(e);l&&s.append(n0(l));let u=p(`span`,`pr-comment-location`,p1(e));u.title=f1(e),s.append(u),s.append(p(`span`,`pr-comment-preview`,q$(c.paragraphs))),o.append(s);let d=p(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)d.append(tle(e));return o.append(d),o.open=l===`HIGH`||l===`CRITICAL`,i.append(a,o),i}var F0=`More review actions`,rle=`M3 8h0.01M8 8h0.01M13 8h0.01`,ile=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function I0(e,t,n,r){let i=M$(g$(M1));y0(null);let a=ah(`team-review-action`);if(!G({type:`team-review-action`,requestId:a,...n}))return!1;let o=window.setTimeout(()=>{e0.delete(t.key),r(!1,`No reply from the server. Check GitHub before trying again.`)},k1);return e0.set(t.key,{requestId:a,action:n.action,origin:e,capturedOrder:i,pullRequest:Y$(t.repo,t.number),timer:o,settle:r}),!0}function L0(e){let t=p(`footer`,`pr-footer`),n=B0(`discard`,()=>{e0.has(e.key)||(n.disabled=!0,i.dataset.tone=`busy`,i.textContent=b1(`discard`),!I0(`other`,e,h1(e.key),a)&&a(!1,`Not connected to the server.`))}),r=e0.has(e.key);n.disabled=r;let i=p(`span`,`pr-action-status`,r?b1(`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||y0({text:`${Y$(e.repo,e.number)}: ${r}`,tone:`error`})};return t.append(n,i),t}var R0=0;function z0(e,t){let n=p(`div`,`pr-detail-more`),r=p(`button`,`review-icon-button review-more-button`);r.type=`button`,r.title=F0,r.setAttribute(`aria-label`,F0),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`);let i=yM(16,16);i.append(vM(`path`,{d:rle,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r.append(i),R0+=1;let a=p(`div`,`review-more-menu`);a.id=`pr-more-menu-${R0}`,a.setAttribute(`role`,`menu`),a.setAttribute(`aria-label`,F0),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`,v1(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 B0(e,t){let n=p(`button`,`pr-action`,v1(e));return n.type=`button`,n.dataset.action=e,n.addEventListener(`click`,()=>t(e)),n}function V0(e,t){e.querySelector(`:scope > .pr-detail-heading > .pr-detail-title`)?.append(t)}function ale(e){let t=p(`article`,`pr-detail`),n=p(`div`);n.dataset.reviewThreads=``,t.append(T0(e),...M0(e),n,N0(e)),H0(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(`
259
+ `).length+1)),c.spellcheck=!0;let l=()=>{s.textContent=MQ(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)=>z$(e)?[t]:[])),m=p(`footer`,`pr-footer`),h=p(`span`,`pr-action-status`);h.setAttribute(`role`,`status`),h.setAttribute(`aria-live`,`polite`);let g=()=>{e0.has(e.key)||h.dataset.tone===`ok`||(h.textContent=``,delete h.dataset.tone)};for(let[t,n]of e.comments.entries())r.append(nle(n,t,f,g));t.append(r,a,u,P0(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(e0.has(e.key))return;v(!0),h.dataset.tone=`busy`,h.textContent=b1(t);let n=e.comments.filter((e,t)=>f.has(t));I0(`ready`,e,g1(e,t,m1(d.value,c.value),n),y)||y(!1,`Not connected to the server.`)},x=y1(e),S=x.footer.map(e=>B0(e,b)),ee=z0(x.more,b);return _.push(...S,...ee.controls),V0(t,ee.element),m.append(...S,h),t.append(m),{signature:E1(e),element:t,settle:y}}function ole(e){let t=Q1.get(e.key);if(t&&(e0.has(e.key)||t.signature===E1(e)))return H0(t.element,e),E0(t.element,e);let n=ale(e);return Q1.set(e.key,n),n.element}function sle(e,t){let n=p(`article`,`pr-detail`),r=p(`div`,`pr-detail-heading`),i=p(`div`,`pr-detail-title`);i.append(a0(e),p(`h2`,null,e.title));let a=p(`div`,`pr-detail-meta`);a.append(p0(e.author,20,`pr-detail-author`));let o=s0(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a,w0(e)),n.append(r,p(`p`,`pr-attention-detail`,S1(t)),L0(e)),n}function cle(e){let t=p(`article`,`pr-detail`);t.append(T0(e));let n=p(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=p(`ol`,`pr-progress-tracker`);for(let t of J$(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`);Y1.track(i,e.startedAt,()=>l1(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`,ag(e.startedAt,t.at)),p(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a,L0(e)),t}function H0(e,t){if(e0.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(...W0(t)),n.dataset.reviewThreads=r)}function U0(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&&!C$(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 W0(e){let t=x$(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`),U0(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=s0(``,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||e0.has(e.key);let u=(e,t)=>{l.disabled=e||!n.canResolve,c.textContent=t,c.dataset.tone=e?`ok`:`error`};l.addEventListener(`click`,()=>{e0.has(e.key)||(l.disabled=!0,c.textContent=b1(`resolve-thread`),!I0(`other`,e,g1(e,`resolve-thread`,``,[],n.thread.id),u)&&u(!1,`Not connected to the server.`))}),t.append(o),n.thread.lastReplyBody&&t.append(U0(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 G0(e){let t=p(`article`,`pr-detail`);if(t.append(T0(e),...M0(e),...W0(e)),e.status===`posted`&&t.append(N0(e),P0(e)),e.status!==`posted`&&t.append(p(`p`,`pr-attention-detail`,u1(e))),!r1(e.status))return $1.set(e.key,{signature:D0(e),element:t,settle:()=>{}}),t;let n=p(`footer`,`pr-footer`),r=y1(e),i=p(`span`,`pr-action-status`,r.footer.includes(`approve-only`)?ile:``);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(!e0.has(e.key)){for(let e of a)e.disabled=!0;i.dataset.tone=`busy`,i.textContent=b1(t),!I0(`other`,e,g1(e,t,``,[]),o)&&o(!1,`Not connected to the server.`)}},c=r.footer.map(e=>B0(e,s));if(a.push(...c),r.more.length>0){let e=z0(r.more,s);a.push(...e.controls),V0(t,e.element)}return n.append(...c,i),t.append(n),$1.set(e.key,{signature:D0(e),element:t,settle:o}),t}function K0(e){if(!r1(e.status)&&x$(e).length===0)return G0(e);let t=$1.get(e.key);return t&&(e0.has(e.key)||t.signature===D0(e))?E0(t.element,e):G0(e)}function q0(e){if(!R1)return;if(B1=P$(e,B1,V1!==null),!B1){if(V1!==null){let t=V1.actedKey;t&&![...e.ready,...e.attention].some(e=>e.key===t)&&(V1={actedKey:null}),R1.replaceChildren(v0($Q(e,V1.actedKey))),W1=null;return}R1.replaceChildren(),W1=null;return}let t=e.ready.find(e=>e.key===B1&&(y$(e).length>0||qQ(e)));if(t&&t.status!==`ready`){let e=`threads:${D0(t)}`,n=K0(t);if(W1===e&&R1.firstElementChild===n)return;R1.replaceChildren(n),W1=e;return}let n=[...e.ready,...e.noReviewNeeded].find(e=>e.key===B1&&e.status===`ready`);if(n){let e=`ready:${E1(n)}`,t=ole(n);if(W1===e)return;R1.replaceChildren(t),W1=e;return}let r=e.inReview.find(e=>e.key===B1);if(r){Y1.reset(),R1.replaceChildren(cle(r)),W1=`inReview:${r.key}`;return}let i=e.queued.find(e=>e.key===B1);if(i){let t=`queued:${i.key}:${e.inReview.length}`;if(W1===t)return;R1.replaceChildren(sle(i,e.inReview.length)),W1=t;return}let a=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===B1);a&&(R1.replaceChildren(K0(a)),W1=`${a.status}:${a.key}`)}function lle(){let e=p(`p`,`pr-empty`,C1(M1));return M1&&!M1.configured&&e.append(` `,_g(o$,s$,`Open Team review settings`)),e}function J0(){let e=w1(M1);return e?[p(`p`,`my-pr-note`,e)]:[]}function ule(e){for(let t of[...Q1.keys()])e.has(t)||e0.has(t)||Q1.delete(t);let t=new Set(M1?.drafts.filter(e=>r1(e.status)).map(e=>e.key)??[]);for(let e of $1.keys())t.has(e)||e0.has(e)||$1.delete(e)}function dle(){if(!N1||!P1||I1?.isConnected)return;let e=xJ({queueLabel:`Review queue`,scopeTabs:P1,resizerLabel:`Resize review queue`});I1=e.queue,U1=p(`p`,`pr-action-status pr-action-notice`),U1.setAttribute(`role`,`status`),U1.setAttribute(`aria-live`,`polite`),R1=p(`div`,`pr-detail-body`),e.detail.append(U1,R1),y0(H1),F1&&e.foot.append(F1.control),N1.replaceChildren(e.columns),W1=null,L1=null}function Y0(e){if(!e)return;e.querySelector(`.pr-team-chip`)?.remove();let t=M1?.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 X0(){let e=document.activeElement;return!(e instanceof HTMLElement)||!I1?.contains(e)?null:e.dataset.reviewKey??null}function Z0(e){e&&I1&&[...I1.querySelectorAll(`button[data-review-key]`)].find(t=>t.dataset.reviewKey===e)?.focus({preventScroll:!0})}function Q0(){if(!N1)return;let e=X0(),t=g$(M1);if(ule(new Set([...t.ready,...t.noReviewNeeded].map(e=>e.key))),X1.reset(),!M1?.configured||!j$(t)&&V1===null){J1.reset(),Y1.reset();let e=yJ(P1);Y0(e),N1.replaceChildren(e,...F1?[F1.notice]:[],...J0(),lle(),bJ(F1?.control??null)),F1?.update(M1),I1=null,L1=null,R1=null,U1=null,z1=null,W1=null;return}if(dle(),!I1)return;Y0(N1.querySelector(`.pr-queue-head`)),B1=P$(t,B1,V1!==null);let n=n$(t),r=JSON.stringify([t,n,B1,w1(M1)]);if(r===L1){F1?.update(M1),q0(t),u0(N1);return}L1=r,J1.reset();let i=[],a=QQ(t);a&&i.push(v0({title:`All caught up`,detail:a})),t.ready.length&&i.push(b0(`Ready`,t.ready,`ready`,n)),t.inReview.length&&(z1=b0(`In review`,t.inReview,`inReview`,n),i.push(z1)),t.queued.length&&i.push(b0(`Queued`,t.queued,`queued`,n)),t.noReviewNeeded.length&&i.push(b0(`Already reviewed`,t.noReviewNeeded,`settled`,n)),t.handReview.length&&i.push(Qce(t.handReview,n)),t.attention.length&&i.push(b0(`Needs attention`,t.attention,`attention`,n)),t.posted.length&&i.push(b0(`Waiting on author`,t.posted,`posted`,n)),t.discarded.length&&i.push(b0(`Not mine`,t.discarded,`discarded`,n)),I1.replaceChildren(...F1?[F1.notice]:[],...J0(),...i),F1?.update(M1),Z0(e),q0(t),u0(N1)}function $0(){G1&&G1(t0.refresh())}function fle(){t0.acknowledge(),$0()}function ple(e){G1=e,$0()}function mle(e,t,n){return K1=n?.openTerminal??K1,N1||(P1=t,N1=p(`div`,`pr-content`),e.append(N1),F1=oQ(`team-review`,N1),J1.ensure(),Y1.ensure(),X1.ensure(),Q0(),N1)}function hle(e){let t=ic.safeParse(e);if(!t.success)return;let n=M1;M1=t.data,!(O1(n,t.data)&&gle())&&(Q0(),$0())}function gle(){if(!M1||!z1?.isConnected)return!1;J1.reset(),X1.reset();let e=X0(),t=g$(M1),n=b0(`In review`,t.inReview,`inReview`,n$(t));return z1.replaceWith(n),z1=n,Z0(e),t.inReview.some(e=>e.key===B1)&&q0(t),u0(N1),!0}function _le(e){let t=e.key;if(!t)return;let n=q1.get(t);n&&n.requestId===e.requestId&&(!e.ok||!e.sessionId?C0(t,e.error||`Could not open a session.`):(window.clearTimeout(n.timer),q1.delete(t),S0(t,``,null),K1?.(e.sessionId)))}function vle(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=e0.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),e0.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:x1(n.action)),$1.delete(t.key),W1=null,t.ok===!0&&Q0();return}let r=(n.origin===`ready`?Q1:$1).get(t.key);if(t.ok===!0){n.origin===`other`&&$1.delete(t.key);let e=t$({action:n.action,pullRequest:n.pullRequest,warning:typeof t.warning==`string`?t.warning:``,isActedSelected:B1===t.key});if((r?.settle??n.settle)?.(!0,e.statusText),(e.notice||e.shouldAdvance)&&y0(e.notice),!e.shouldAdvance)return;B1=N$({capturedOrder:n.capturedOrder,actedKey:t.key,groups:g$(M1)}),B1===null&&(V1={actedKey:t.key}),Q0()}else(r?.settle??n.settle)?.(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}var e2=2,yle=new Map,t2={OPEN:0,MERGED:1,CLOSED:2};function ble(e,t){return t?t.configured?t.error?e:new Map(t.prs.map(e=>[MZ(e),e])):yle:e}function n2(e){return e?t2[e.state]:t2.OPEN}function xle(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} (${lZ(t.stage)})`,stage:{icon:dZ(t.stage),tone:uZ(t.stage),label:lZ(t.stage)}}:{key:n,numberText:r,url:e.url,hoverText:e.repo,stage:null}}function Sle(e,t){let n=e.map(e=>({link:e,pr:t.get(MZ(e))}));n.sort((e,t)=>n2(e.pr)-n2(t.pr)||t.link.linkedAt-e.link.linkedAt);let r=n.map(({link:e,pr:t})=>xle(e,t)),i=r.slice(e2);return{chips:r.slice(0,e2),overflowCount:i.length,overflowHoverText:i.map(e=>`${e.numberText} ${e.hoverText}`).join(`
260
+ `)}}var Cle=new Set([`checks-failing`,`changes-requested`,`unresolved-threads`,`conflicts`,`merged`]),r2=new Map,i2=new Map,a2=new Map,o2=new Map,s2=null,c2=!1,l2=0;function wle(e){let t=[];for(let n of r2.get(e)??[]){let e=o2.get(MZ(n));e&&Cle.has(e.stage)&&t.push(e)}return t}function u2(e){return Xh(wle(e).map(e=>`${e.key}@${e.stage}`))}function Tle(e){let{focusedSessionId:t,selectedSessionId:n}=fe.snapshot();return t===e||n===e}function Ele(e){let t=a2.get(e);if(t)return t;let n=Zh({getAck:()=>i2.get(e)??``,setAck:t=>i2.set(e,t),signature:()=>u2(e),isLooking:()=>Tle(e)});return a2.set(e,n),n}function d2(e){c2&&nV(e,Ele(e).refresh())}function Dle(e,t){if(!c2)return;let n=i2.get(e);if(n!==void 0&&n!==t)return;let r=a2.get(e);r?r.acknowledge():i2.set(e,u2(e))}function Ole(e){if(!(c2||!e?.configured||e.error)){c2=!0;for(let e of r2.keys())i2.set(e,u2(e))}}fe.subscribe((e,t)=>{if(t.includes(`focusedSessionId`)||t.includes(`selectedSessionId`))for(let t of new Set([e.focusedSessionId,e.selectedSessionId]))t&&a2.has(t)&&d2(t)});function kle(e){return document.querySelectorAll(`[data-pr-chips-for="${CSS.escape(e)}"]`)}function Ale(e,t){e.stopPropagation(),!e.defaultPrevented&&(e.preventDefault(),T_(t))}function f2(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(CJ(e.stage.icon,e.stage.tone))),n.append(e.numberText),t||n.setAttribute(`aria-label`,`Open pull request ${e.key}`),n.addEventListener(`click`,t=>Ale(t,e.url)),n}function jle(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(),G({type:`unlink-session-pr`,id:t,key:e.key})});let r=p(`span`,`session-pr-chip-item`);return r.append(f2(e,!1),n),r}function p2(e,t){let n=String(l2);if(e.dataset.prChipsFor===t&&e.dataset.prChipsRevision===n)return;e.dataset.prChipsFor=t,e.dataset.prChipsRevision=n;let r=Sle(r2.get(t)??[],o2),i=e.closest(`button`)!==null,a=r.chips.map(e=>i?f2(e,!0):jle(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 m2(e){l2+=1;for(let t of e){let e=t.dataset.prChipsFor;e&&p2(t,e)}}function h2(e,t){let n=fc.shape.links.safeParse(t??[]),r=u2(e);r2.set(e,n.success?n.data:[]),Dle(e,r),m2(kle(e)),xQ(r2),d2(e)}function Mle(e){r2.delete(e),i2.delete(e),a2.delete(e),xQ(r2)}function Nle(){let e=wQ();if(e===s2)return;s2=e;let t=ble(o2,e);if(t!==o2){o2=t,m2(document.querySelectorAll(`[data-pr-chips-for]`)),Ole(e);for(let e of r2.keys())d2(e)}}var g2=null,_2=new Set;function v2(){g2?.setAttribute(`aria-pressed`,String(!bp()))}function y2(e){xp(e),v2();for(let t of _2)t(e)}function Ple(e){_2.add(e)}function Fle(e){g2=e,v2(),e.addEventListener(`click`,()=>y2(!bp()))}function Ile(e){let t=new Set(e.partialIntentIds??[]),n=new Map;for(let r of e.orders){if(r.parent!==null)continue;let i=t.has(r.id);(i||r.state===`completed`)&&n.set(r.id,{intentId:r.id,objective:r.objective,merged:[],parked:[],confirmedFlakes:e.confirmedFlakesByIntent?.[r.id]??[],isPartial:i})}for(let t of e.orders){if(t.parent===null)continue;let e=n.get(t.parent);e&&(t.state===`completed`&&e.merged.push({id:t.id,objective:t.objective}),t.parked&&e.parked.push({id:t.id,objective:t.objective,need:t.blockReason??null}))}return[...n.values()]}function b2(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 Lle(e){let t=0;for(let n of e.owner??e.id)t=Math.imul(t,31)+n.charCodeAt(0)>>>0;return jf[t%jf.length]}function Rle(e,t,n){return e.parked?`Parked`: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 zle(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 Ble(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 Vle(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=new Map(e.liveWorkers?.map(e=>[e.workId,e.sessionId])),u={queue:[],workers:[],review:[],shipped:[]},d=e.orders.filter(e=>e.parent===i?.id);for(let e of d){let n=b2(e,s,o);if(!n)continue;let r=c.has(e.id),i=r||e.state===`blocked`||e.state===`open`&&e.readiness===`waiting`;u[n].push({id:e.id,objective:e.objective,sessionId:l.get(e.id)??null,risk:e.risk,station:n,status:o.has(e.id)?`Reviewing`:Rle(e,r,n),hasConflict:r,isHeld:i,isSelected:e.id===t,animal:Lle(e)})}let f=new Map(e.orders.map(e=>[e.id,e])),p=t===null?void 0:f.get(t),m=p?Ble(p,f):null,h=zle(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,digests:Ile(e),intent:i?{id:i.id,objective:i.objective,criteria:i.criteria.map(e=>({text:e,isMet:i.state===`completed`})),shippedCount:u.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:h}:{action:`Exception`,reason:e.error,isException:!0,sessionId:e.orchestrator?.sessionId??null,stateLabel:h},stations:u,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:p?{id:p.id,intent:m?.objective??null,writeScopes:p.writeScopes,dependsOn:p.dependsOn,station:p.parent===null?`intent`:b2(p,s,o)??`cancelled`,owner:p.owner}:null}}function Hle(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 x2=null,S2=null,C2=null,w2=!1,T2=null,E2=null,D2=null,O2=0,k2=new Map,A2=new Map,j2=new Map,M2=new Set;function Ule(e){let t=k2.get(e);if(t)return t;let n={objective:``,criteria:``,risk:`low`,boundary:``,writeScopes:``};return k2.set(e,n),n}var N2=`.factory-stack, .factory-pads, .factory-ledger, .factory-detail, .factory-intent-queue, .factory-criteria, .factory-digests`,Wle=[[`[data-order-id]`,`orderId`],[`[data-factory-field]`,`factoryField`],[`[data-project-id]`,`projectId`]];function P2(e,t,n){let r=p(`button`,e,t);return r.type=`button`,r.addEventListener(`click`,n),r}function F2(e){let t=p(`p`,`factory-request-status`,e?.text??``);return t.setAttribute(`role`,`status`),t.dataset.error=String(e?.hasError===!0),t}function I2(e,t,n,r){let i=t===`factory-queue-intent`?A2:j2;if(i.get(e)?.requestId)return;O2+=1;let a=`factory-${O2}`,o=D2?.({...n,projectId:e,type:t,requestId:a})===!0;i.set(e,{requestId:o?a:null,text:o?r:`Not connected.`,hasError:!o,target:typeof n.intentId==`string`?n.intentId:typeof n.action==`string`?n.action:void 0}),V2()}function Gle(e,t,n){let r=p(`details`,`factory-floor-opt-in`);r.open=M2.has(e)||(t.floorAllowances?.length??0)>0,r.addEventListener(`toggle`,()=>{r.open?M2.add(e):M2.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 hu){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=hu.filter(e=>r.includes(e))}),r.append(i,p(`span`,null,e)),a.append(r)}return r.append(a),r}function Kle(e){let t=Ule(e),n=p(`form`,`factory-queue-form`),r=A2.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 vu.shape.risk.options){let t=p(`option`,null,e);t.value=e,a.append(t)}a.value=t.risk,a.addEventListener(`change`,()=>{t.risk=vu.shape.risk.parse(a.value)}),i.append(p(`span`,`factory-label`,`Risk`),a),n.append(Gle(e,t,r));let o=p(`button`,`factory-action`,`Queue intent`);return o.type=`submit`,o.disabled=!w2||r,n.insertBefore(i,n.children[2]??null),n.append(o,F2(A2.get(e))),n.addEventListener(`submit`,n=>{n.preventDefault();let r=vu.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?I2(e,`factory-queue-intent`,r.data,`Queueing intent.`):(A2.set(e,{requestId:null,text:r.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `),hasError:!0}),V2())}),n}function qle(e,t){let n=p(`div`,`factory-controls`),r=j2.get(e);for(let i of[`pause`,`resume`]){let a=P2(`factory-action`,i===`pause`?`Pause`:`Resume`,()=>I2(e,`factory-control`,{action:i},i===`pause`?`Pausing factory.`:`Resuming factory.`));a.disabled=!w2||r?.requestId!=null||(i===`pause`?t:!t),n.append(a)}return n.append(F2(r?.target===`pause`||r?.target===`resume`?r:void 0)),n}function Jle(e){let t=L2(`Project profile`,`factory-band factory-profile`),n=p(`dl`,`factory-profile-fields`),r=e.factoryProfile;for(let[e,t]of[[`Checks`,r?.checks?.join(`
261
+ `)??`not set`],[`Focused test command`,r?.focusedTestCommand??`not set`],[`Widenable scopes`,r?.widenableScopes?.join(`
262
+ `)??`not set`]])n.append(p(`dt`,`factory-label`,e),p(`dd`,null,t||`None`));if(t.append(n),e.observedRun)return t;let i=j2.get(e.projectId),a=p(`div`,`factory-controls`),o=P2(`factory-action`,`Re-run setup`,()=>I2(e.projectId,`factory-control`,{action:`rerun-setup`},`Running project setup.`));return o.dataset.factoryField=`rerun-setup`,o.disabled=!w2||i?.requestId!=null,a.append(o,F2(i?.target===`rerun-setup`?i:void 0)),t.append(a),t}function Yle(e,t){let n=L2(`Intent digests`,`factory-band factory-digest-region`),r=p(`div`,`factory-digests`),i=j2.get(t.projectId);for(let n of e.digests){let e=p(`article`,`factory-digest`);e.append(p(`h3`,`factory-digest-title`,n.objective),p(`p`,`factory-count`,`${n.intentId}: ${n.isPartial?`Partial`:`Completed`}. ${n.merged.length} merged, ${n.parked.length} parked.`));let a=p(`ul`,`factory-digest-list factory-digest-merged`);for(let e of n.merged){let t=p(`li`,null,`${e.id}: ${e.objective}`);t.title=e.objective,a.append(t)}e.append(p(`h4`,`factory-label`,`Merged tickets`),a);let o=p(`ul`,`factory-digest-list`);for(let e of n.parked){let t=p(`li`);t.append(p(`span`,null,`${e.id}: ${e.objective}`),p(`p`,`factory-parked-need`,e.need??`Need not recorded.`)),o.append(t)}e.append(p(`h4`,`factory-label`,`Parked tickets`),o);let s=p(`ul`,`factory-digest-list`);for(let e of n.confirmedFlakes)s.append(p(`li`,null,e));if(n.confirmedFlakes.length===0&&s.append(p(`li`,`factory-empty`,`None`)),e.append(p(`h4`,`factory-label`,`Confirmed flakes`),s),n.isPartial&&!t.observedRun){let r=p(`div`,`factory-controls`),a=P2(`factory-action`,`Retry parked`,()=>I2(t.projectId,`factory-control`,{action:`retry-parked`,intentId:n.intentId},`Reopening parked tickets.`));a.dataset.factoryField=`retry-parked:${n.intentId}`,a.disabled=!w2||i?.requestId!=null,r.append(a,F2(i?.target===n.intentId?i:void 0)),e.append(r)}r.append(e)}return e.digests.length===0&&r.append(p(`p`,`factory-empty`,`No finished intents.`)),n.append(p(`p`,`factory-count`,e.spend),r),i?.target&&![`pause`,`resume`,`rerun-setup`].includes(i.target)&&!e.digests.some(e=>e.isPartial&&e.intentId===i.target)&&n.append(F2(i)),n}var Xle=[{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=ne(`factory`,e);return n.classList.add(...t.split(` `)),n.setAttribute(`aria-label`,e),n}function R2(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 Zle(e){E2=e,V2()}function z2(e,t,n){let r=P2(n,t,()=>Zle(e));return r.dataset.orderId=e,r.setAttribute(`aria-pressed`,String(E2===e)),r}function B2(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,z2(e.id,e.objective,`factory-crate-title`));let a=e.sessionId;return a&&x2&&!t&&n.append(P2(`factory-action`,`Open terminal`,()=>x2?.(a))),e.station!==`workers`&&n.append(p(`span`,`factory-crate-note`,e.status)),n}function Qle(e){return`Read-only mirror of the factory harness run at ${e.recordDirectory}. ${e.outcome?`Ended: ${e.outcome}.`:`No verdict yet.`}`}function $le(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(z2(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`,Qle(t.observedRun))),r||s.append(qle(n,e.paused));let l=R2(`is-owl`,`Orchestrator owl`),u=e.orchestrator.sessionId;if(u&&x2&&!r){let e=P2(`factory-action`,null,()=>x2?.(u));e.setAttribute(`aria-label`,`Open orchestrator terminal`),e.append(l),o.append(e)}(!u||!x2||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(z2(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(Kle(n)),i.append(a,o,d),i}function eue(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?B2(i,n):o);continue}let s=p(`div`,`factory-pad`);s.dataset.state=i?.hasConflict?`waiting`:i?`running`:`idle`,i&&s.append(R2(i.animal.sprite,i.animal.name)),i||s.append(p(`div`,`factory-sprite factory-sprite-empty`)),s.append(i?B2(i,n):o,p(`span`,`factory-pad-status`,i?.status??`Idle`)),a.append(s)}return r.append(i,a),r}function tue(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:zh(t)}function nue(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`,tue(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 V2(){if(!S2)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=e instanceof HTMLTextAreaElement?{start:e.selectionStart,end:e.selectionEnd}:null,n=[...S2.querySelectorAll(N2)].map(e=>e.scrollTop),r=document.createDocumentFragment(),i=p(`p`,`factory-connection`,w2?C2?``:`Waiting for the server.`:`Disconnected. Showing the last snapshot.`);i.setAttribute(`role`,`status`),r.append(i);let a=Hle(C2?.projects??[],T2);if(!a){r.append(p(`p`,`factory-empty`,C2?`No repos holding coherence.config.json.`:`Waiting for Factory state.`)),S2.replaceChildren(r);return}if(T2!==a.projectId&&(E2=null),T2=a.projectId,C2&&C2.projects.length>1){let e=p(`div`,`factory-projects`);e.setAttribute(`aria-label`,`Factory projects`);for(let t of C2.projects){let n=P2(`factory-project`,t.projectName,()=>{T2=t.projectId,E2=null,V2()});n.dataset.projectId=t.projectId,n.setAttribute(`aria-pressed`,String(t.projectId===T2)),e.append(n)}r.append(e)}let o=Vle(a,E2),s=p(`div`,`factory-console`),c=L2(`Floor`,`factory-band factory-floor-band`),l=p(`div`,`factory-pipe`);for(let e of Xle)l.append(eue(e,o.stations[e.id],a.observedRun!==void 0));c.append(l),s.append($le(o,a),Jle(a),Yle(o,a),c,nue(o)),r.append(s),S2.replaceChildren(r),[...S2.querySelectorAll(N2)].forEach((e,t)=>{e.scrollTop=n[t]??0});for(let[n,r]of Wle){let i=e?.dataset[r];if(!i)continue;let a=[...S2.querySelectorAll(n)].find(e=>e.dataset[r]===i);a?.focus({preventScroll:!0}),a instanceof HTMLTextAreaElement&&t&&a.setSelectionRange(t.start,t.end)}}function rue(e,t){return x2=t?.openTerminal??null,S2||(S2=p(`div`,`factory-content`),e.append(S2),V2(),S2)}function iue(e){C2=e,V2()}function aue(e){if(w2=e,!e)for(let e of[A2,j2])for(let[t,n]of e)n.requestId&&e.set(t,{...n,requestId:null,text:`Disconnected. Check the floor before submitting again.`,hasError:!0});V2()}function oue(e){D2=e}function sue(e){A2.get(e.projectId)?.requestId===e.requestId&&(A2.set(e.projectId,{requestId:null,text:e.ok?`Queued ${e.workId??`intent`}.`:e.error??`Could not queue intent.`,hasError:!e.ok}),e.ok&&k2.delete(e.projectId),V2())}function cue(e){if(j2.get(e.projectId)?.requestId!==e.requestId)return;let t={pause:`Factory paused.`,resume:`Factory resumed.`,"rerun-setup":`Project setup finished.`,"retry-parked":`Reopened ${e.reopenedWorkIds?.length??0} parked tickets.`};j2.set(e.projectId,{...j2.get(e.projectId),requestId:null,text:e.ok?t[e.action]:e.error??`Could not update factory.`,hasError:!e.ok}),V2()}var lue={mine:`Mine`,run:`Run`,cancel:`Cancel`},uue={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},H2=null,U2=null,W2=null,G2=new Map,K2=new Map;function q2(e){return e===null?`n/a`:`${Math.round(e*100)}%`}function due(e){if(e===null)return`n/a`;let t=Math.round(e*100);return t>0?`+${t}`:String(t)}function fue(e,t){W2?.({type:`benchmark-action`,requestId:ah(`benchmark`),suiteId:e,action:t})===!0?(G2.set(e,t),K2.set(e,uue[t]),X2()):(K2.set(e,`Not connected.`),X2())}function J2(e,t,n){let r=p(`button`,`bench-action-button`,lue[t]);return r.type=`button`,r.disabled=n,r.addEventListener(`click`,()=>fue(e.id,t)),r}function pue(e){let t=U2?.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 Y2(e){let t=p(`td`,`bench-score`,q2(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 mue(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=>Y2(r.arms[e]))),i.append(...t.map(e=>p(`td`,`bench-delta`,due(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=>Y2(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`,q2(e.totals[n]?.recallByTag[t]??null)))),n.append(r)}return n}function hue(e){let t=p(`div`,`bench-suite`),n=U2?.inFlight?.suiteId===e.id,r=!!U2?.inFlight&&!n,i=G2.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=U2?.configured===!0&&e.error===null;o.append(J2(e,`mine`,!s||i||n),J2(e,`run`,!s||i||n||r||e.caseCount===0),J2(e,`cancel`,i||!n));let c=p(`span`,`bench-status`,pue(e)||K2.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(mue(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 X2(){if(!H2)return;H2.textContent=``;let e=ne(`bench`,`Benchmarks`,`Suites from the benchmarks folder of the Glimmervoid home, one run at a time.`);if(H2.append(e),!U2)H2.append(p(`p`,`bench-empty`,`Waiting for the server.`));else if(!U2.configured)H2.append(p(`p`,`bench-empty`,U2.reason||`Benchmarks are off.`));else if(U2.suites.length===0)H2.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 U2.suites)H2.append(hue(e))}function gue(e){W2=e}function _ue(e){return H2||(H2=p(`div`,`bench-content`),e.append(H2),X2(),H2)}function vue(e){if(!(e||G2.size===0)){for(let e of G2.keys())K2.set(e,`Connection lost.`);G2.clear(),X2()}}function yue(e){U2=e,X2()}function bue(e){G2.delete(e.suiteId);let t=U2?.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.`};K2.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),X2()}function xue(e){return e?e.configured?`No open issues.`:e.reason??`Loading issues.`:`Loading issues.`}function Z2(e,t){return t===`all`||e.sources.includes(t)}function Sue(e){return{all:e.length,me:e.filter(e=>Z2(e,`me`)).length,team:e.filter(e=>Z2(e,`team`)).length,project:e.filter(e=>Z2(e,`project`)).length}}function Cue(e,t,n){let r=t.query.trim().toLowerCase().split(/\s+/).filter(Boolean),i=e.filter(e=>{if(!Z2(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 wue(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 Tue(e){return{repos:[...new Set(e.map(e=>e.repo))].sort(),labels:[...new Set(e.flatMap(e=>e.labels))].sort()}}function Eue(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 Q2(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 $2(e,t){let n=Q2(e,t);return n===`now`?`just now`:n===`unknown`?`at an unknown time`:`${n} ago`}var e4=45e3,t4=[{id:`all`,label:`All`},{id:`me`,label:`Mine`},{id:`team`,label:`Team`},{id:`project`,label:`Projects`}],n4={scope:`all`,repo:``,label:``,sort:`updated`,query:``,hasSession:!1,hasPr:!1,isUnassignedOnly:!1},r4=null,i4=null,a4=null,o4=null,s4=null,c4=null,l4=null,u4=null,d4=null,f4=null,p4=new Map,m4=!1,h4=null,g4=null,_4=new Map,v4=new Map,y4=new Map,b4=new Map,x4=new Map;function S4(e){return`${e.key}:${e.updatedAt}`}function C4(e){return e.sessionId?E.get(e.sessionId):void 0}function w4(e,t,n){let r=C4(t),i=r?.currentState??a.DORMANT,o=ee(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 T4(e,t=!1){let n=p(`span`,t?`issues-state`:`pr-queue-glyph issues-state`);return w4(n,e,t),n}function E4(e){let t=C4(e);return t?D(t):`none yet`}function D4(e){return[..._4.values()].some(t=>t.issueKey===e.key)}function Due(e){let t=_4.get(e);t&&(_4.delete(e),v4.set(t.issueKey,`No reply from the server.`),M4())}function Oue(e){let t=_4.get(e);return t?(clearTimeout(t.timeoutHandle),_4.delete(e),t):null}function O4(e){let t=S4(e);if(b4.has(t)||[...y4.values()].some(e=>e.cacheKey===t))return;let n=ah(`issue-detail`);x4.delete(t),g4?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})?y4.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{y4.delete(n),x4.set(t,`No reply from the server. Select the issue to load its description.`),M4()},e4)}):x4.set(t,`Not connected. Select the issue to load its description.`)}function kue(e){let t=e.projectId;if(!t||C4(e)||D4(e))return;let n=ah(`open-issue-session`);g4?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})?(_4.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Due(n),e4)}),v4.set(e.key,`Opening session.`),M4()):(v4.set(e.key,`Not connected.`),M4())}function Aue(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===d4));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`,Q2(e.updatedAt,Date.now()));return i.dataset.issueAge=e.updatedAt,r.append(i),t.append(T4(e),n,r),t.addEventListener(`click`,()=>{d4=e.key,r4&&(r4.dataset.detailOpen=`true`),O4(e),P4(),o4&&(o4.scrollTop=0)}),t}function k4(e,t,n){let r=p(`dd`);r.append(...n),e.append(p(`dt`,null,t),r)}function A4(e){let t=p(`footer`,`pr-footer issues-detail-footer`),n=C4(e);if(n&&e.sessionId){let n=e.sessionId,r=p(`button`,`pr-action`,`Go to session`);r.type=`button`,r.addEventListener(`click`,()=>q_(n)),t.append(r)}if(e.projectId&&!n){let n=p(`button`,`pr-action`,`Open session`);n.type=`button`,n.disabled=D4(e),n.addEventListener(`click`,()=>kue(e)),t.append(n)}t.append(b(`pr-action pr-action-ghost`,`View on GitHub`,e.url));let r=v4.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`),D4(e)&&a.prepend(p(`span`,`issues-spinner`)),t.append(a),t}function j4(e,t){let n=p(`span`,null,$2(e,t));return n.dataset.issueAgo=e,n}function jue(){let e=o4?.querySelector(`.issues-detail`),t=d4?p4.get(d4):void 0;if(!e||!t)return;let n=e.querySelector(`.issues-facts .issues-state`);n&&w4(n,t,!0);let r=e.querySelector(`.issues-session-name`),i=E4(t);r&&r.textContent!==i&&(r.textContent=i);let a=String(!!C4(t));e.dataset.hasLiveSession!==a&&(e.dataset.hasLiveSession=a,e.querySelector(`.issues-detail-footer`)?.replaceWith(A4(t)))}function M4(){if(!o4)return;let e=f4?.issues.find(e=>e.key===d4);if(!e){o4.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 pr-action-ghost issues-back`,`Back to issues`);n.type=`button`,n.addEventListener(`click`,()=>{r4&&(r4.dataset.detailOpen=`false`),[...a4?.querySelectorAll(`[data-issue-key]`)??[]].find(e=>e.dataset.issueKey===d4)?.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(j4(e.createdAt,a)),c.append(j4(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`);k4(l,`Repository`,[e.repo]),k4(l,`Labels`,[e.labels.join(`, `)||`none`]),k4(l,`Assignees`,[e.assignees.join(`, `)||`unassigned`]),t.dataset.hasLiveSession=String(!!C4(e)),k4(l,`Session`,[T4(e,!0),p(`span`,`issues-session-name`,E4(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)]});k4(l,`Pull request`,u.length>0?u:[`none linked`]);let d=p(`section`,`issues-body-section`),f=S4(e),m=p(`div`,`issue-body`,b4.get(f)??x4.get(f)??`Loading description.`);b4.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,A4(e)),o4.replaceChildren(t)}function N4(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 P4(){m4=!1,F4(),M4()}function F4(){if(!r4||!a4||!i4)return;let e=f4?.issues??[],t=Sue(e);for(let e of t4){i4.querySelector(`[data-scope="${e.id}"]`)?.setAttribute(`aria-selected`,String(e.id===n4.scope));let n=i4.querySelector(`[data-scope-count="${e.id}"]`);n&&(n.textContent=String(t[e.id]))}let n=Tue(e);N4(c4,`All repos`,n.repos,n4.repo),N4(l4,`All labels`,n.labels,n4.label),s4&&(s4.textContent=Eue(n4));let r=Cue(e,n4,new Set(E.keys())),i=document.activeElement instanceof HTMLElement&&a4.contains(document.activeElement)?document.activeElement.dataset.issueKey:null,a=[...wue(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(Aue)),n});a4.replaceChildren(...a),r.length===0&&a4.append(p(`p`,`pr-empty`,e.length>0?`No open issues match these filters. Clear the search or pick All.`:xue(f4))),i&&[...a4.querySelectorAll(`[data-issue-key]`)].find(e=>e.dataset.issueKey===i)?.focus({preventScroll:!0}),d4&&!e.some(e=>e.key===d4)&&(d4=null,r4.dataset.detailOpen=`false`),h4?.update(f4),I4()}function Mue(){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`,()=>{n4.query=n.value,P4()});let r=p(`button`,`pr-action pr-action-ghost`,`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}c4=o(`Repository`),c4.addEventListener(`change`,()=>{n4.repo=c4?.value??``,P4()}),l4=o(`Label`),l4.addEventListener(`change`,()=>{n4.label=l4?.value??``,P4()});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`,()=>{n4.sort=s.value,P4()});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`,()=>{n4[e]=r.checked,P4()}),n.append(r,` ${t}`),c.append(n)}return s4=p(`span`,`issues-filter-summary`),s4.setAttribute(`role`,`status`),i.append(a,c),e.append(t,s4,i),e}function I4(){if(!r4||r4.closest(`[hidden]`)||document.hidden)return;let e=Date.now();u4&&(u4.textContent=f4?.lastSyncAt?`Synced ${$2(f4.lastSyncAt,e)}.`:`Not synced yet.`);for(let t of r4.querySelectorAll(`[data-issue-age]`))t.textContent=Q2(t.dataset.issueAge??``,e);for(let t of r4.querySelectorAll(`[data-issue-ago]`))t.textContent=$2(t.dataset.issueAgo??``,e)}function Nue(e){g4=e}function Pue(e){if(r4)return r4;r4=p(`div`,`issues-content`),r4.dataset.detailOpen=`false`,e.append(r4),h4=oQ(`issues`,r4);let t=p(`div`,`pr-columns issues-columns`),n=p(`section`,`pr-queue-pane`);n.setAttribute(`aria-label`,`Issue queue`),i4=p(`div`,`pr-scope-tabs issues-scope-tabs`),i4.setAttribute(`role`,`tablist`),i4.setAttribute(`aria-label`,`Issue scope`);for(let e of t4){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`,()=>{n4.scope=e.id,P4()});let r=p(`span`,`issues-scope-count`);r.dataset.scopeCount=e.id,t.append(n,r),i4.append(t)}a4=p(`nav`,`pr-queue`),a4.setAttribute(`aria-label`,`Issues`);let r=bJ(h4.control);return u4=p(`span`,`issues-sync`),u4.setAttribute(`role`,`status`),r.prepend(u4),r.append(h4.notice),n.append(yJ(i4),Mue(),a4,r),o4=p(`section`,`pr-detail-host`),o4.setAttribute(`aria-label`,`Issue detail`),t.append(n,o4),r4.append(t),window.setInterval(I4,3e4),P4(),r4}function Fue(){m4&&L4(),I4()}function L4(){if(w(r4))m4=!0;else if(m4=!1,jue(),n4.hasSession)F4();else for(let e of a4?.querySelectorAll(`[data-issue-key]`)??[]){let t=p4.get(e.dataset.issueKey??``),n=e.querySelector(`.issues-state`);t&&n&&w4(n,t,!1)}}function Iue(e){if(!e){for(let e of _4.values())clearTimeout(e.timeoutHandle),v4.set(e.issueKey,`Connection lost.`);_4.clear();for(let e of y4.values())clearTimeout(e.timeoutHandle),x4.set(e.cacheKey,`Connection lost. Select the issue to load its description.`);y4.clear(),P4()}}function Lue(e){let t=f4?.issues.find(e=>e.key===d4);f4=e,p4=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===d4);n&&n.updatedAt!==t?.updatedAt&&O4(n),P4()}function Rue(e){let t=y4.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),y4.delete(e.requestId),e.ok&&e.body!==null&&b4.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&x4.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),M4())}function zue(e){if(typeof e.requestId!=`string`)return;let t=Oue(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`;v4.set(n,`Session "${r}" ${a}.${i}`);let o=f4?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),P4();return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;v4.set(n,r),M4()}var Bue=4e3;function Vue({render:e,holdMs:t=Bue,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 R4=null,z4=null,B4=null,V4=null,H4=`http://www.w3.org/2000/svg`,U4=Zh({getAck:nm,setAck:rm,signature:()=>aie({posthog:R4}),isLooking:()=>!w(z4)}),W4=Vue({render:f3}),G4=new Set,K4=null,q4=new Map,J4=new WeakMap,Hue=`this issue`,Y4=Yh(()=>z4),Uue={spiking:`spiking`,regressed:`regressed`,worsened:`worsened`,new:`new`,quiet:`quiet`},X4=[{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}],Wue=X4.map(e=>e.track).join(` `),Gue=X4.filter(e=>!e.isMagnitude).map(e=>e.phoneTrack).join(` `),Kue=X4.findIndex(e=>e.startsActionCluster)+1;function Z4(e){let t=p(`div`,e);return t.style.setProperty(`--radar-issue-grid`,Wue),t.style.setProperty(`--radar-issue-grid-phone`,Gue),t.style.setProperty(`--radar-issue-actions-start`,String(Kue)),t}function Q4(e,t){let n=p(`span`,`radar-issue-magnitudes`),r=!1;for(let i of X4){let a=t(i);i.isMagnitude?(r||=(e.append(n),!0),n.append(a)):e.append(a)}}function $4(e){return Number.isFinite(e)?String(e):`0`}function que(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?``:`elapsed ${qh(Date.now()-e)}`}function e3(e){return typeof e?.issueId==`string`?e.issueId:``}function t3(e,t){return[String(e??``),String(t??``)].join(`::`)}function Jue(e,t,n){let r=q4.get(t3(e,t));if(!r||!r.copy.isConnected)return!1;let i=$h(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 n3(e,t,n){let r=e3(e);if(!r)return;K4?.dialog.close();let i=cie({issueTitle:String(e.title||r),projectLabel:n,onOpenReport:()=>i3(e)});K4={projectId:String(t??``),issueId:r,dialog:i},i.update(eg(e))}function r3(){if(!K4)return;if(!K4.dialog.isOpen()){K4=null;return}let e=tg(R4,K4.projectId,K4.issueId);e&&K4.dialog.update(eg(e))}function i3(e){let t=e3(e);t&&oh(`get-radar-report`,{issueId:t}).then(n=>{n.ok?n.found?pg({issueId:t,issueTitle:String(e.title??``),format:String(n.format??``),content:String(n.content||``)}):pg({issueId:t,issueTitle:String(e.title??``),message:String(n.message||`Report not found`)}):pg({issueId:t,issueTitle:String(e.title??``),error:String(n.error||`Could not read report`)})}).catch(n=>{pg({issueId:t,issueTitle:String(e.title??``),error:String(n?.message||`Could not read report`)})})}function a3(){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)=>{W4.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,W4.settle(e)};oh(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 Yue(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(),lde(e)}),t}function Xue(e,t,n){let{addButton:r,request:i,showFollowUp:a,wrap:o}=a3(),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`,()=>n3(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`&&V4&&a(Yue(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 o3(e){return n_()?Hue:e}function s3(e){let t=J4.get(e);t&&(e.title=t(),e.setAttribute(`aria-label`,e.title))}function Zue(){if(z4)for(let e of z4.querySelectorAll(`.radar-issue-reportable`))s3(e)}i_(Zue);function c3(e,t,n){e.classList.add(`radar-issue-reportable`),e.tabIndex=0,e.setAttribute(`role`,`button`),J4.set(e,t),s3(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 Que(e,t,n){let r=p(`div`,`radar-issue`);r.dataset.severity=Vre(e.change);let i=p(`span`,`radar-stripe`);i.setAttribute(`aria-hidden`,`true`);let a=p(`span`,`radar-change`,Uue[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`,$4(e.occurrences)),p(`span`,`radar-metric-label`,`occ`));let c=p(`span`,`radar-metric`);c.append(p(`span`,`radar-metric-value`,$4(e.users)),p(`span`,`radar-metric-label`,`users`));let l=Gre(e.history),u=Kre(l,64,16),d=u?document.createElementNS(H4,`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(H4,`title`);e.textContent=Jre(l);let t=document.createElementNS(H4,`polyline`);t.setAttribute(`points`,u),d.append(e,t)}let f=$h(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)),q4.set(t3(t,e.issueId),{copy:m,summary:h});let g=p(`span`,`radar-issue-meta`),_=Hre(e);if(_!==null){let e=p(`span`,`radar-issue-seen`);e.title=new Date(_).toLocaleString(),Y4.track(e,_,Jh),g.append(e)}let v=Ure(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`);Y4.track(e,a,que),g.append(e)}e3(e)&&c3(r,()=>`Watch the investigation of ${o3(y)}`,()=>n3(e,t,n))}if(!e.inFlight&&e.verdict){let t=p(`span`,`radar-verdict`,rg(e.verdict));t.dataset.verdict=e.verdict,g.append(t),e3(e)&&c3(r,()=>`View investigation report for ${o3(y)}`,()=>i3(e))}g.childElementCount>0&&m.append(g);let x=p(`span`,`radar-issue-trend`);d&&x.append(d);let S=qre(l);if(S){let e=p(`span`,`radar-delta`,`${S.direction===`up`?`+`:S.direction===`down`?`-`:`=`}${S.percent}%`);e.dataset.direction=S.direction,x.append(e)}let ee={stripe:i,change:a,copy:m,occurrences:s,users:c,trend:x};return Q4(r,e=>ee[e.columnId]),e3(e)&&r.append(Xue(e,t,n)),r}var l3=(e,t,n)=>re(`radar`,e,t,n);function $ue(e){return e.error?`poll failed: ${e.error}`:e.staleMs>0?`stale ${qh(e.staleMs)}`:``}function u3(e,t,{showHost:n,nameTag:r,nameClass:i,hostClass:a}){let o=p(r,i,sg(t));o.title=String(t.name||``),e.append(o);let s=n?cg(t.host):``;s&&e.append(p(`span`,a,s))}function ede(){let e=Z4(`radar-column-heads`);for(let t of X4){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 tde(e,t){let n=e.project,r=p(`div`,`radar-project`),i=oie(n.issues),a=og(i),o=p(`div`,`radar-project-head`);u3(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(l3(a.active===1?`active issue`:`active issues`,$4(a.active))),s.append(l3(`spiking`,$4(a.spiking),a.spiking>0?`crit`:null)),s.append(l3(`needs you`,$4(a.needsHuman),a.needsHuman>0?`warn`:null));let c=$ue(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(ede());let l=Z4(`radar-issues`);for(let e of i)l.append(Que(e,n.projectId,sg(n)));return r.append(l),r}function nde(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),u3(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 d3=(e,t)=>ne(`radar`,e,t);function rde(){let e=p(`div`,`radar-issue`);return e.dataset.skeleton=``,Q4(e,e=>p(`span`,e.cellClass)),e}function ide(){let e=Z4(`radar-issues`);e.setAttribute(`aria-busy`,`true`),e.setAttribute(`aria-label`,`Loading issues`);for(let t=0;t<5;t+=1)e.append(rde());return e}function ade(e,t=`ready`){let n=d3(`Errors`);if(t===`pending`)return n.append(ide()),n;if(t===`placeholder`||e.length===0){let e=p(`p`,`radar-unconfigured`,Rre(R4)),t=_g(`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(R4?.intervalMinutes);Y4.track(r,R4?.ts,e=>{let t=`polled ${Jh(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}=eie(e,Date.now(),{intervalMs:a}),c=Qre(e);for(let e of o)n.append(tde(e,c));if(s.length===0)return n;let l=p(`div`,`radar-quiet`);for(let e of s)l.append(nde(e,c));return n.append(l),n}function ode(e){let{addButton:t,request:n,wrap:r}=a3();return e.issueId&&t(`Open report`,`Open the investigation report for this issue`,()=>{i3({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`,()=>G4.add(e.id))}),r}function sde(e){let t=p(`div`,`radar-investigation`),n=p(`span`,`radar-verdict`,rg(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`,Jh(e.at));n.title=new Date(e.at).toLocaleString(),t.append(n)}return t.append(ode(e)),t}function cde(e){let t=d3(`Investigations`,`completed, not yet archived`),n=p(`div`,`radar-investigations`);for(let t of e)n.append(sde(t));return t.append(n),t}function lde(e){V4&&V4(e)}function f3(){if(!z4)return;z4.textContent=``,q4.clear(),Y4.reset();let e=C(R4),t=tie(R4,G4),n=Bre(R4,e.length);z4.append(ade(e,n)),t.length>0&&z4.append(cde(t))}function p3(){W4.request()}function m3(){B4&&B4(U4.refresh())}function ude(){U4.acknowledge(),m3()}function dde(e){B4=e,m3()}function fde(e){V4=e}function pde(e){if(z4)return z4;let t=p(`div`,`radar-content`);return e.appendChild(t),z4=t,Y4.ensure(),f3(),t}function mde(e){R4=e,nie(R4,G4),p3(),m3(),r3()}function hde(e){let t=tg(R4,e.projectId,e.issueId)?.inFlight===!0;if(!Nre(R4,e))return;r3();let n=tg(R4,e.projectId,e.issueId);t&&Jue(e.projectId,e.issueId,n)||p3()}function gde(e){K4?.dialog.isOpen()&&Pre(K4,e)&&K4.dialog.update(ng(e))}function _de(e){Fre(R4,e)?(r3(),p3(),m3()):gde(e)}function h3(e){return{skipPerms:e.skipPerms??e.dangerouslySkipPermissions??!1,saneYolo:e.saneYolo===!0,worktree:e.worktree??e.isWorktree??!1,workspace:e.workspace??e.isWorkspace??!1,guarded:e.guarded??e.isGuarded??!1,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}}var vde=[{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 yde(){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 vde){let{pill:n,refs:r}=TV(`div`,`focus-pill compact-status-preview-pill`);r.name.textContent=t.name,EV(n,r,t.state,t.awaitingBackgroundTasks),e.append(n)}return e}var g3=null,_3=null,v3=null,y3=null,b3=-1,x3=null,S3=1;function C3(){if(!g3||x3===null)return;let e=Kf({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:x3});h(g3,qf(e,S3))}function w3(){y3!==null&&(clearTimeout(y3),y3=null)}function T3(e=Mp()){return Rf({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:ST(),options:xm()})}function E3(e,t){if(!g3||!_3||!v3||T3())return;let n=xm();w3();let r=Lf(n,b3,Math.random,t);if(g3.onanimationend=null,g3.style.animation=`none`,!r){y3=setTimeout(()=>E3(!1),1e3);return}x3=r.verticalProgress,S3=n.flyingAnimalsScale,C3();let i=jf[r.animalIndex];_3.className=`nyan-sprite ${i.sprite}`,v3.className=`nyan-trail ${i.trail}`,b3=r.animalIndex,g3.offsetWidth,g3.style.animation=`nyan-fly ${r.durationSeconds}s linear`,e&&(g3.style.animationDelay=`-${r.firstDelaySeconds}s`),g3.onanimationend=e=>{g3&&e.target===g3&&(g3.onanimationend=null,g3.style.animation=`none`,y3=setTimeout(()=>E3(!1),r.gapMs))}}function D3(){g3||T3()||(g3=document.createElement(`div`),g3.className=`nyan-flight`,g3.setAttribute(`aria-hidden`,`true`),v3=document.createElement(`div`),_3=document.createElement(`div`),g3.append(v3,_3),document.body.appendChild(g3),window.addEventListener(`resize`,C3),window.addEventListener(`orientationchange`,C3),E3(!0))}function bde(e){D3(),E3(!1,e)}function O3(){w3(),window.removeEventListener(`resize`,C3),window.removeEventListener(`orientationchange`,C3),g3?.remove(),g3=null,_3=null,v3=null,b3=-1,x3=null}var k3=!1;function A3(e){let t=document.documentElement;if(k3||(k3=!0,CT(()=>A3(Mp())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>A3(Mp()))),e){if(t.dataset.flyingAnimals=`true`,T3(e)){O3();return}D3()}else delete t.dataset.flyingAnimals,O3()}function xde(){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=T3(),n=Ff(xm().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=xm();for(let e of jf){let o=p(`article`,`flying-animal-tile`),s=Tm(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(xm().flyingAnimalsExcludedSprites);l.checked&&t.delete(e.sprite),l.checked||t.add(e.sprite),bm([...t]),A3(Mp()),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`,()=>bde(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 j3=`johncwaters/glimmervoid`,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,Sde=B3*24,Cde={label:`investigations`,storedPerDisplay:1},wde={label:`sessions`,storedPerDisplay:1},Tde={label:`workers`,storedPerDisplay:1},Ede={label:`recurrences`,storedPerDisplay:1},Dde={label:`actions`,storedPerDisplay:1},V3={label:`seconds`,storedPerDisplay:1},H3={label:`minutes`,storedPerDisplay:1},U3={label:`hours`,storedPerDisplay:1},W3={label:`days`,storedPerDisplay:1},Ode={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`},kde={label:`hours`,storedPerDisplay:B3,storedLabel:`ms`},Ade={label:`hours`,storedPerDisplay:R3,storedLabel:`minutes`},jde={label:`days`,storedPerDisplay:Sde,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 Mde=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:Fc,unit:V3,maximumSettingId:`animals-max-gap`,keywords:[`animals`,`frequency`],defaultValue:Rc.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:Fc,unit:V3,keywords:[`animals`,`frequency`],defaultValue:Rc.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:Ic,unit:V3,maximumSettingId:`animals-max-duration`,keywords:[`animals`,`speed`],defaultValue:Rc.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:Ic,unit:V3,keywords:[`animals`,`speed`],defaultValue:Rc.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:Lc,unit:Z3,keywords:[`animals`,`size`],defaultValue:Rc.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:Rc.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, and tell sessions that were mid-turn to continue.`,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 Claude Code session started while this is on can answer its permission prompts and questions there. A Codex session connects on its next start, through a local app-server so approvals can be answered from the dashboard; guarded 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(Ql),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(Zl),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:al,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:cl,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:cl,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:Nc,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:Nc,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:Nc,unit:Cde,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:Nc,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:Nc,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:Nc,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 guarded 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:dl,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:fl,unit:wde,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 guarded 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:Mc,unit:Tde,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:Pc,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(Xl),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:[]}]),Nde=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:zc,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:Bc,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:Nc,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:Nc,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:Nc,unit:Ode,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:Nc,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:Nc,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:Nc,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:Nc,unit:kde,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:Pc,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:Vc,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:il,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:ll.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:ll.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(hl),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:ul,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:Nc,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:Nc,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:Pc,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:Nc,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:Nc,unit:jde,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:Nc,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:Nc,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:$c,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:el,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:tl,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:Pc,unit:Ade,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:rl,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:Nc,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:Nc,unit:Ede,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:pl,unit:Dde,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:Nde}),Pde=Object.freeze(Object.fromEntries(i6.flatMap(e=>(e.legacyIds??[]).map(t=>[t,e.id])))),Fde=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 Ide(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 Lde(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 Rde=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(Rde)))}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 Lde(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 zde=3,Bde=2,Vde=1,Hde=3,Ude=30,Wde=16;function _6(e,t){return e===t?zde:e.startsWith(t)?Bde:t.length>=Hde&&e.includes(t)?Vde: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 Gde(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 Kde(e,t,n=[]){let r=g6(t).slice(0,Wde);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||Gde(e,t)||S6(e).localeCompare(S6(t))||e.setting.title.localeCompare(t.setting.title)).slice(0,Ude)}function qde(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 Jde(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}}Jde(a6);function w6(e,t=a6){let n=t.sections.find(t=>t.id===e);return n?{title:n.title,description:n.description}:Mde[e]??null}function Yde({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,Xde=`Configured`,D6=`•`.repeat(12),Zde=`Each line must be a positive whole-number PostHog project id, or the one word none.`,Qde=3,$de=200,efe=new Set([`customAgents`]),tfe=1e-9,nfe=Object.freeze({now:`Applies now`,"new-sessions":`New sessions`,restart:`After restart`}),rfe=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 ife(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}${Xde}`}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 afe(e){return e.split(`
263
+ `).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 ofe(e){let t=`Default ${m6(e,e.defaultValue)}`;return f6(e)?`${t}, stored as ${JSON.stringify(e.defaultValue)} ${e.unit?.storedLabel??``}`.trimEnd():t}function sfe(e,t){let n=ofe(e),r=efe.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 cfe(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,$de).join(``).trim()}}function lfe(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 ufe(e){return e.filter(e=>!e.parent)}function dfe(e,t,n,r){return r?`hidden`:n.trim()?`search`:t&&I6(e,t)?`section`:`list`}function ffe(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 pfe(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=Yde({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)&&Ide(o,A6(t));return delete o.secretSources,o}function mfe(e,t,n,r){return Ife(pfe(e,t,{...t,[n.path]:r}))}function hfe(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`}${hfe(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 gfe(e){return`Must be a multiple of ${m6(e,1)}.`}function _fe(e){return Math.abs(e-Math.round(e))<tfe&&Number.isSafeInteger(Math.round(e))}function vfe(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=vfe(e,r);if(e.integer!==!1&&!_fe(i))return f6(e)?gfe(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 yfe(e,t,n=!1){return n?L6(e):R6(e,t.trim())}function bfe(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 xfe(e,t){return Array.isArray(t)?e.valueKind===`posthog-projects`&&h6(e,t)===null?Zde:null:`Must be a list.`}function Sfe(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=xfe(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 Cfe(l6(e),t,n),n}function Cfe(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 wfe(e,t){return l6(e).find(e=>e.id===t.maximumSettingId||e.maximumSettingId===t.id)}function Tfe(e,t,n){let r=wfe(e,t);return Sfe([{id:`scoped`,level:`machine`,title:``,description:``,settings:r?[t,r]:[t]}],n)[t.id]??null}function Efe(e,t){return e.control===`number`?bfe(e,t):e.control===`list`?afe(t):t}function Dfe(e,t){return h6(e,e.control===`list`?N6(t):t)}function B6(e){return e?.isDirty===!0}function Ofe(e,t,n,r,i,a=!1){if(!B6(n))return{kind:`unchanged`};let o=t.control===`number`?yfe(t,r,a):null;if(o)return{kind:`invalid`,error:o};let s=Efe(t,r);if(j6(h6(t,s),Dfe(t,n.base)))return{kind:`unchanged`};let c=Tfe(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 kfe(e,t){return j6(t,V6(e))}function Afe(e){return e.presentation?e.presentation:(e.options?.length??0)<=Qde?`segmented`:`select`}function jfe(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&&jfe(t)}function U6(e,t){return H6(e,t)}function Mfe(e){return e.title.charAt(0).toLowerCase()+e.title.slice(1)}function Nfe(e){return k6(e)?`Reset removes the stored ${Mfe(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 Pfe(e){if(e==null)return[`No rules. Add workflows.rules to config.json.`];let t=Rl.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 Ffe(e){let t=Rl.safeParse(e??{});return t.success?t.data.rules.map(e=>({id:e.id,name:e.name,isEnabled:e.enabled,summary:W6(e)})):[]}function Ife(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}),Lfe=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 Rfe(){return q6(`Status colors`,Lfe.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 EV(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function zfe(){return q6(`Pull request icons`,Object.keys(G6).map(e=>{let t=G6[e],n=p(`dt`,`status-legend-badge`);return n.append(CJ(e),p(`span`,`status-legend-name`,t.label)),J6(n,t.meaning)}))}var Bfe=2e4,$=null,Y6=null,X6=null,Z6=null,Q6=null,$6=null,e8=null,t8=`all`,n8=!1,r8=null,i8=gz,a8=hz,o8=mz,s8=!1,c8=null,l8=`day`,u8=new Set,d8=Zh({getAck:om,setAck:sm,signature:()=>UR($,X6),isLooking:()=>!w(Z6)}),f8=null,p8=null,m8=null,h8=null,g8=null,_8=null,v8=null,y8=null,b8=Yh(()=>Z6),x8=(e,t)=>ne(`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`,pz(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`,lL(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`,lL(e))),t}function k8(){if(!f8?.isConnected)return;let e=Number($?.ts);f8.textContent=Number.isFinite(e)&&e>0?`Report ${Jh(e)}`:``}function A8(){if(!p8?.isConnected)return;let e=Number(Y6?.ts);p8.textContent=Number.isFinite(e)&&e>0?`Sessions ${Jh(e)}`:``}function Vfe(){let e=CL($?.activeBlock);e&&(h8?.isConnected&&(h8.textContent=`${e.pct}%`),g8?.isConnected&&(g8.textContent=`${yL(e.remainingMinutes)} left`),_8?.isConnected&&T8(_8,e.pct))}function Hfe(e){let t=$I.find(t=>t.value===e);return t?t.days:null}function Ufe(){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 $I){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 Wfe(){let e=x8(`Usage`,mL($?.daily||[]));e.append(Ufe()),f8=p(`p`,`usage-meta`,``),e.append(f8),k8(),b8.onTick(k8);let t=tz($);t&&e.append(p(`p`,`usage-warning`,t));let n=ZR($?.pricing?.missing);return n&&e.append(p(`p`,`usage-warning`,n)),e}function Gfe(){if(!zR(X6))return null;let e=FR($?.totals),t=x8(`Plan limits`,e?`${VR(`official`)}, ${e}`:VR(`official`)),n=JR(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 LR){let t=RR(X6,e.key);t&&r.append(Kfe(e,t))}return t.append(r),m8=p(`p`,`usage-meta`,``),t.append(m8),j8(),b8.onTick(j8),t}function Kfe(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`,WR(t)));let i=p(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(w8(t.pct,wL(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=GR(t.resetsAtMs))};return a(),b8.onTick(a),n}function j8(){if(!m8?.isConnected)return;let e=KR(X6?.ts);m8.textContent=e?`Plan ${e}`:``}function qfe(){let e=HL($,X6),t=Jfe();if(e.length===0&&!t)return null;let n=x8(`Glimmervoid overhead`,e.length>0?PL:null);if(e.length>0){let t=p(`div`,`usage-tiles`);for(let n of e){let e=[UL(n),sL(n.costUSD)].filter(Boolean).join(`, `);t.append(S8(`${n.label}, share of Claude use`,lL(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=WL(t);e&&n.append(p(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(p(`p`,`usage-meta`,`Selected range by lane. ${NL}`)),n.append(t)),n}function Jfe(){if(!RL($))return null;let e=IL($),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:FL(n.lane),className:`usage-lane-cell`},{text:sL(n.costUSD),numeric:!0},{text:cL(n.tokens),numeric:!0},{text:qL(n.sessions),numeric:!0},{node:O8(fL(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function Yfe(){let e=$?.activeBlock,t=$?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=FR($?.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=HR($,X6),o=p(`div`,`usage-tiles`);o.append(S8(`block tokens`,cL(e.tokens??0),sL(e.costUSD??0),a).tile);for(let t of xL(e.burn))o.append(S8(t.label,t.value,t.sub,a).tile);let s=CL(e);if(s){let e=S8(`elapsed`,`${s.pct}%`,`${yL(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(Vfe));let c=SL(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=OL($?.tokenLimit);if(!u)return i;let d=EL($?.tokenLimit),f=HR($);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`,VR(`estimated`)));let h=kL(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(!DR(e))return null;let t=p(`p`,`usage-meta`,TR(e));return t.dataset.tone=ER(e),t}function Xfe(){let e=Cz($?.blocks);if(e.length===0)return null;let t=FR($?.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`,bL(t.startTs)));let n=p(`span`,`usage-block-bar`),a=p(`span`,`usage-block-fill`);a.style.width=`${C8(fL(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(p(`span`,`usage-block-value`,`${cL(t.tokens)} ${sL(t.costUSD)}`)),r.append(e)}return n.append(r),n}function Zfe(){let e=$?.totals||{},t=Sz($?.daily,gL($)),n=x8(`Totals`,[ZI,$?.tz?`TZ ${$.tz}`:``].filter(Boolean).join(` `)),r=HR($,X6),i=p(`div`,`usage-tiles`);i.append(S8(`today`,cL(t?.tokens??0),sL(t?.costUSD??0),r).tile),i.append(S8(`range total`,cL(e.tokens??0),sL(e.costUSD??0)).tile);let a=KL($);a&&i.append(S8(a.label,a.value,a.sub).tile),n.append(i);let o=Qfe(e);o&&n.append(o);let s=NR(e)?MR(e):[];if(s.length>0){let e=p(`div`,`usage-tiles usage-vendor-tiles`);for(let t of s)e.append(S8(t.label,cL(t.tokens),sL(t.costUSD)).tile);n.append(e)}return p8=p(`p`,`usage-meta`,``),n.append(p8),A8(),b8.onTick(A8),n}function Qfe(e){let t=jL(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 $fe(){let e=$?.savings;if(!XL(e))return null;let t=x8(`Savings`,``),n=p(`div`,`usage-tiles`),r=ZL(e);r&&n.append(S8(`rtk compression`,r.value,r.sub).tile);let i=QL(e);return i&&n.append(S8(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function epe(){let e=$L($);if(e.length===0)return null;let t=x8(`Budgets`,`your own ceilings`),n=p(`div`,`usage-budgets`),r=_g(`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`,eR(t.scope))),r.append(p(`span`,`usage-budget-value`,tR(t))),r.append(p(`span`,`usage-budget-pct`,lL(nR(t)))),e.append(r),e.append(w8(nR(t),t.tone,rR(t))),n.append(e)}return t.append(n),t}function tpe(){let e=$?.daily||[],t=l8,n=xz(mR(e,t),i8),r=iR.find(e=>e.value===t)?.label||`Day`,i=x8(`Over time`,[_R(e)].filter(Boolean).join(`, `));if(i.append(npe()),n.length===0)return i.append(p(`p`,`usage-empty`,`No usage.`)),i;let a=ipe(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=fz(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=bz(e.models),a=`${t}:${n}`,o=ape(a,i.length);D8(r,[{node:rpe(e,t),title:n},{text:cL(e.tokens),numeric:!0},{text:sL(e.costUSD),numeric:!0},{node:o,className:`usage-toggle-cell`}]),s.append(r),i.length!==0&&u8.has(a)&&s.append(ope(i))}return i.append(o),i}function npe(){let e=p(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of iR){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 rpe(e,t){let n=p(`span`,`usage-period-cell`);return n.append(p(`span`,null,gR(e.day,t))),e.source===`history`&&n.append(p(`span`,`usage-history-tag`,`history`)),n}function ipe(e){let{cells:t,max:n}=xR(e,{today:gL($)});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 yR)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=SR(e),i.append(t)}return r.append(a,i),r}function ape(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 ope(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`,sz(t)),p(`span`,`usage-model-value`,`${cL(t.tokens)} ${sL(t.costUSD)}`)),n.append(e)}return t.append(n),t}function spe(e,t){let n=p(`span`,`usage-model-name-wrap`),r=jR(e,t);return r&&n.append(p(`span`,`usage-vendor-tag`,r)),n.append(p(`span`,null,sz(e))),n}function cpe(){let e=bz($?.models,a8),t=$?.totals||{},n=uL(t),r=x8(`By model`,dL(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=fz(a8,e),N8()},`model`);for(let r of e){let e=p(`tr`,`usage-row`);D8(e,[{node:spe(r,t),className:`usage-model-cell`,title:sz(r)},{text:cL(r.tokens),numeric:!0},{text:sL(r.costUSD),numeric:!0},{node:O8(fL(r[n],t[n])),className:`usage-share-cell`},{text:cL(r.input),numeric:!0},{text:cL(r.output),numeric:!0},{text:cL(r.cacheCreate),numeric:!0},{text:cL(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function lpe(){let e=_z($?.sessions,o8),t=vz(e,s8),n=$?.totals||{},r=uL(n),i=x8(`By session`,dL(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=fz(o8,e),N8()},`session`);for(let e of t.rows){let t=p(`tr`,`usage-row`);az(e)&&(t.dataset.managed=`true`);let i=oz(e),a=p(`span`,`usage-ago`,``);D8(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:cL(e.tokens),numeric:!0},{text:sL(e.costUSD),numeric:!0},{node:O8(fL(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),b8.track(a,Number(e.lastTs),Jh),o.append(t)}return i.append(a),e.length>10&&i.append(upe(t.hiddenCount)),i}function upe(e){let t=p(`div`,`usage-overflow`),n=yz(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 dpe(){let e=x8(`Not available`,``);return e.append(p(`p`,`usage-empty`,ez($))),e.append(p(`p`,`usage-empty`,QI)),e}function fpe(){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(),fpe(),Z6.textContent=``,hpe(),t&&(t.scrollTop=n),ppe()}function ppe(){let e=c8;if(c8=null,!e)return;let t=mpe(e);if(!t||!Z6)return;let n=Z6.querySelector(t);n instanceof HTMLElement&&n.focus()}function mpe(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 hpe(){if(!Z6)return;Z6.append(Wfe());let e=Gfe();if(nz($)){e&&Z6.append(e),Z6.append(dpe());return}if(!$){e&&Z6.append(e),Z6.append(p(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,epe()].filter(e=>e!==null);Z6.append(P8(`usage-band-now`,Yfe(),t,{sideFirst:!0}));let n=[$fe()].filter(e=>e!==null);Z6.append(P8(`usage-band-spend`,Zfe(),n));let r=[Xfe()].filter(e=>e!==null);Z6.append(P8(`usage-band-trend`,tpe(),r));let i=qfe();i&&Z6.append(i),Z6.append(cpe(),lpe())}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 gpe(){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()},Bfe))}function _pe(e){Q6=e,F8()}function vpe(e){$6=e}function R8({force:e=!1}={}){if(!$6)return;e8=ah(`usage`);let t={type:`request-usage-report`,requestId:e8};e&&(t.force=!0);let n=Hfe(t8);n!==null&&(t.days=n),L8(!0),$6(t)}function ype(e){if(Z6)return Z6;let t=p(`div`,`usage-content`);return e.appendChild(t),Z6=t,b8.ensure(),N8({force:!0}),t}function bpe(){N8({force:!0})}function xpe(e){Y6=e,$&&!nz($)&&p8?.isConnected?A8():N8()}function Spe(e){X6=e,N8(),F8()}function Cpe(e){rz(e,e8)&&(L8(!1),$=e,N8(),F8())}function wpe(){let e=$?.pricing||(Y6?{source:Y6.pricingSource}:null),t=XR(e?.fetchedAt),n=[YR(e,t!==null&&t>0?Jh(t):``)],r=ez($);r&&n.push(r);let i=$R($?.scan);return i&&n.push(i),n}var Tpe=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),Epe=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.`}),Dpe=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 Ope({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 kpe(e){let t=e?.applyRefusal;return t===void 0?`command`:t===null?`link`:Dpe.includes(t.reason)?`command`:`link`}function G8(e){let t=jc(e,``);return t?`: ${t}`:``}function Ape(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 Tpe[e]??e}function jpe(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 Mpe(e){if(!e||e.state===`idle`)return null;let t=jpe(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:Ape(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 Npe(e,t){let n=H8(e,t),r=lg(t?.toVersion,t?.toSha)||lg(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=lg(e.current,e.currentSha)||`an unknown version`;if(e.updateAvailable){let t=lg(e.latest,e.latestSha)||`a newer build`,n=J8(e);return{tone:`available`,headline:`Update available: ${i} to ${t}${n?` (${n})`:``}.`}}return jc(e.reason,``)?{tone:`unknown`,headline:`Running ${i}. The last check did not finish.`}:{tone:`current`,headline:`Up to date. Running ${i}.`}}function Ppe(e){if(!e)return`Update status unavailable.`;let t=lg(e.current,null)||`Unknown version`,n=Ds(e.currentSha,{validate:!0}),r=jc(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 Fpe(e){return e?{label:lg(e.latest,e.latestSha)||`Latest target unknown`,behind:J8(e),releaseUrl:jc(e.releaseUrl,``)}:{label:`Update status unavailable.`,behind:``,releaseUrl:``}}function Ipe({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 Lpe({status:e,checkForUpdates:t,relativeTime:n}){if(t===!1)return`Update checks are off.`;if(!e)return`No update check has run.`;let r=jc(e.reason,``);return r?Epe[r]??`The last update check failed: ${r}.`:e.flavor===`unknown`?`The install flavor is unknown.`:n}var Rpe=Object.freeze({sounds:()=>tE(),themes:CE}),zpe=2200,Bpe=1600,Y8=`browser-appearance`,Vpe=`browser-shortcuts`,Hpe=`flying-animals`,Upe=Object.freeze({ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1});function Wpe(e){if(!e.optionsFrom)return e;let t=Rpe[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(Wpe)})))}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 Gpe(){return{themeId:Ap(),flyingAnimalsEnabled:Mp(),...Sm(),soundEnabled:bp(),soundId:nE(Sp()),notificationsEnabled:wp(),compactStatusLabels:Ep(),sessionUsageChips:Op()}}function O5(e){l5=ffe(Z8,{...e,prefs:Gpe()})}function k5(e){return f5.has(e.id)?f5.get(e.id):l5[e.path]}function A5(e){return[e,...lfe(Z8,e.id)]}function j5(e){return A5(e).flatMap(e=>e.settings)}function Kpe(e){return Z8.find(t=>t.settings.some(t=>t.id===e.id))??s5}function M5(e,t=null){history.replaceState(history.state,``,mg(e,t))}function qpe(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 Jpe(e){for(let t of HT(UT)){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`,`/`)),WT(t,e)}),r.append(t,p(`dd`,`shortcut-label`,e.label))}n.appendChild(r),e.appendChild(n)}}function Ype(e){let t=p(`div`,`settings-about`),n=p(`span`,`settings-about-version`,`GLIMMERVOID `);n.appendChild(p(`span`,`settings-about-v`,`v0.37.0`));let r=p(`span`,`settings-about-links`),i=p(`a`,`settings-about-link`,`GitHub`);i.href=`https://github.com/${j3}`,i.target=`_blank`,i.rel=`noopener`;let a=p(`a`,`settings-about-link`,`Changelog`);a.href=`https://github.com/${j3}/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 Xpe(e){if(l5[`pref:soundEnabled`]===e)return;l5[`pref:soundEnabled`]=e;let t=N5(`alert-sounds-enabled`);t&&c7(t)}var Zpe={"pref:flyingAnimalsMinGapSeconds":e=>mm(Number(e)),"pref:flyingAnimalsMaxGapSeconds":e=>hm(Number(e)),"pref:flyingAnimalsMinDurationSeconds":e=>gm(Number(e)),"pref:flyingAnimalsMaxDurationSeconds":e=>_m(Number(e)),"pref:flyingAnimalsScale":e=>vm(Number(e)),"pref:flyingAnimalsOnPhone":e=>ym(e===!0)};function Qpe(e,t){if(e.path===`pref:compactStatusLabels`){Dp(t===!0),bE(t===!0);return}if(e.path===`pref:sessionUsageChips`){kp(t===!0),xE(t===!0);return}if(e.path===`pref:themeId`){jp(String(t)),yE(String(t));return}if(e.path===`pref:flyingAnimalsEnabled`){Np(t===!0),A3(t===!0);return}let n=Zpe[e.path];n?(n(t),A3(Mp())):e.path===`pref:soundEnabled`?y2(t===!0):e.path===`pref:soundId`?(Cp(String(t)),pE(String(t))):e.path===`pref:notificationsEnabled`&&(Tp(t===!0),t===!0&&WK().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),zpe))}function I5(e,t){h5.delete(e.id),e.path.startsWith(`pref:`)?(l5[e.path]=t,Qpe(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(()=>$pe(e,t)))}async function $pe(e,t){let n=mfe(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 oh(`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 eme(e,t){if(!t.exclusiveMin)return t.min;if(e.integer!==!1)return t.min+1}function R5(e){return e?`On`:`Off`}function tme(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`&&!HK()&&(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),bh({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=Ofe(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),bh({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 nme(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 rme(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?eme(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 ime(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=Upe[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 ame(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 ome(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 sme(e){let t=p(`textarea`,`settings-view-input settings-view-list-input`),n=()=>N6(k5(e)),r=()=>n().join(`
264
+ `);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`,ome(e,n()))),i}function cme(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(G({type:`update-apply`,restartWhenStaged:e,confirmedSessionIds:t})?`request-sent`:`request-unsent`)}function X5(){S5=Date.now();let e=G({type:`update-check`});w5=e,T5=e?null:z8,M7()}function lme(){return w5?`Checking for updates.`:T5}function Z5(){_5?(C5=!1,Ipe({status:_5,checkForUpdates:c5.checkForUpdates,now:Date.now(),lastAutoCheckAt:S5})&&X5()):C5=!0}function ume(){let e=Ope({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=lme();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 dme(){let e=Mpe(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(`
265
+ `));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 fme(){let e=p(`div`,`settings-view-status-block settings-update-status`),t=Npe(_5,v5),n=p(`div`,`settings-update-summary`,t.headline);n.dataset.tone=t.tone,e.appendChild(n),e.appendChild(Q5(`Running`,Ppe(_5)));let r=Fpe(_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`,Lpe({status:_5,checkForUpdates:c5.checkForUpdates,relativeTime:Jh(a)}));a&&(o.title=new Date(a).toLocaleString()),e.appendChild(o),e.appendChild(ume());let s=dme();return s&&e.appendChild(s),e}function pme(e){return e===null?`not probed yet`:e?`resolved`:`not found on PATH`}function mme(){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} ${pme(e.resolvable)}`})}function hme(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Declared agents`));for(let t of mme())e.appendChild(p(`div`,`settings-readonly`,t));return e}async function gme(e,t){E5.add(e.id),D5.delete(e.id),j7();try{let n=await oh(`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 _me(e){return E5.has(e.id)?`Saving`:D5.get(e.id)??``}function vme(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`,()=>{gme(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`,_me(e));return i.setAttribute(`role`,`status`),t.append(n,i),t}function yme(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Rules`));let t=Ffe(c5.workflows);if(t.length>0){for(let n of t)e.appendChild(vme(n));return e}for(let t of Pfe(c5.workflows))e.appendChild(p(`div`,`settings-readonly`,t));return e}function bme(){let e=p(`div`,`settings-view-status-block`);e.appendChild(p(`div`,`settings-section-title`,`Last report`));for(let t of wpe())e.appendChild(p(`div`,`settings-readonly`,t));return e}function $5(e){return e.status===`update-actions`?fme():e.status===`custom-agents`?hme():e.status===`workflows`?yme():p(`div`,`settings-readonly`,`Not available`)}function xme(e){return e.control===`readonly`?$5(e):e.control===`toggle`?tme(e):e.control===`number`?rme(e):e.control===`select`?Afe(e)===`segmented`?ime(e):ame(e):e.control===`list`?sme(e):e.control===`projects`?cme(e):nme(e)}function Sme(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`&&!HK()?`Desktop notifications are unavailable for this page.`:e.id===`desktop-notifications`&&k5(e)===!0&&UK()===`denied`?`Blocked by the browser. Allow notifications for this site to enable them.`:e.status!==`rtk-install`||k5(e)!==!0||c5.rtkAvailable?``:ife(c5)}function e7(e){if(e.control===`readonly`)return null;if(e.status===`usage-last-report`){let e=bme();return e.classList.add(`settings-view-status-slot`),e}let t=Sme(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 Cme(e,t){let n=T(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 Cme(r(),n),setTimeout(()=>{i.textContent=``},Bpe)}),e.append(t,i)}function wme(e){let t=p(`div`,`settings-view-setting-heading`),n=Kpe(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(mg(n.id,e.id),location.href).href}),t}function r7(e){let t=p(`div`,`settings-view-chips`);return t.append(t7(`scope`,rfe[e.scope]),t7(`effect`,nfe[e.takesEffect])),t}function Tme(e){return e.control===`readonly`||O6(e,c5)?!1:!kfe(e,k5(e))}function Eme(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=Nfe(e);n===null?I5(e,t):bh({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=!Tme(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(wme(e),p(`p`,`settings-view-setting-description`,e.description),r7(e));let r=p(`div`,`settings-view-setting-control`);r.appendChild(xme(e)),e.control!==`readonly`&&r.appendChild(Eme(e)),t.append(n,r),e.id===`compact-status`&&t.appendChild(yde()),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 Dme(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 Ome(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){Ome(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&&Dme(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 kme(){for(let e of j5(s5))e.control===`readonly`?u7(e):c7(e)}function Ame(){let e=p(`button`,`btn-dialog btn-dialog-cancel`,`Reset all to defaults`);return e.type=`button`,e.addEventListener(`click`,()=>{Cm(),O5(c5),A3(Mp()),f7()}),e}function jme(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(Ame()),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 a_(!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)}i_(()=>f7());function Mme(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 Nme(e,t){for(let n of t.settings.filter(e=>e.access!==`advanced`))e.appendChild(a7(n)),n.id===Hpe&&e.appendChild(xde());let n=t.settings.filter(e=>e.access===`advanced`);n.length>0&&e.append(jme(n))}function f7(){if(b7(),g5){v7();return}if(!o5)return;if(o5.textContent=``,n_()){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===Vpe){let e=p(`div`,`shortcut-groups settings-view-shortcuts`);Jpe(e),o5.appendChild(e),o5.appendChild(Rfe()),o5.appendChild(zfe()),Ype(o5);return}let n=p(`div`,`settings-view-stack`);for(let e of A5(s5))e.id!==s5.id&&n.appendChild(Mme(e)),Nme(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;Pme(n5),i&&ST()&&(i5=o.id),f7(),D7(s5)&&E7(),s5.id===`machine-updates`&&Z5(),r&&M5(o.id,n),n&&qpe(n),t&&o5?.querySelector(`h1`)?.focus()}function Pme(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 Kde(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 Fme(e,t){let{currentText:n,defaultText:r,jsonFragment:i}=sfe(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=``,n_()){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=cfe(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)||Fme(e,t),n.appendChild(e)}o5.appendChild(n)}function y7(){return dfe(Z8,i5,g5,n_())}function b7(){if(!t5)return;let e=y7();t5.dataset.settingsScreen=e,a5&&(a5.hidden=e!==`section`)}function x7(){return ST()&&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=ufe(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:ST()})),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,``,gg(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 Ime(e,{onRestart:t=()=>{},onConfirmUpdateAndRestart:n=e=>{e([])}}={}){b5=t,x5=n,Ple(Xpe),$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(){rE().then(Lme)}function D7(e){return j5(e).some(e=>e.path===`pref:soundId`)}function Lme(){if(Z8=X8(),s5=I6(Z8,s5.id)??Z8[0],l5[`pref:soundId`]=nE(Sp()),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}),ST()&&!e?history.replaceState(history.state,``,gg(``)):p7(e||s5.id,{settingId:t}))}function k7(e){let t=F6(e);if(t){let e=gg(t.query);return{sectionId:e,settingId:null,hash:e}}return qde(e,Z8,Pde,Fde)}function A7(e){e&&(c5=e,O5(c5),g5?v7():kme())}function Rme(e){j7()}function zme(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):zme(e,t))}}function M7(){if(s5.id!==`machine-updates`)return;let e=N5(`update-actions`);e&&u7(e)}function Bme(e){_5=e,w5=!1,T5=null,y5=V8(y5,`status-frame`),M7(),C5&&s5.id===`machine-updates`&&Z5()}function Vme(e){v5=e,y5=V8(y5,`progress-frame`),M7()}function Hme(){J5(`error-frame`),w5&&(w5=!1,M7())}function N7(){s5.id===Y8&&f7()}window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,N7),CT(()=>{i5=null,b7(),N7()});function Ume(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 Wme=`•`.repeat(8),P7=`[^/\\\\\\s"'\`<>:]+`,Gme=RegExp(`(?<![\\w./\\\\-])(?:/home/${P7}|/Users/${P7}|[A-Za-z]:[\\\\/]Users[\\\\/]${P7}|/root(?![\\w.-]))`,`g`);function Kme(e){let t=wD(e);if(t.length===0)return e;let n=``,r=0;for(let i of t)n+=e.slice(r,i.start)+Wme,r=i.end;return n+e.slice(r)}function qme(e){return e.replace(Gme,`~`)}function Jme(e){return qme(Kme(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 Yme(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=Jme(e);return n===e?null:{original:e,masked:n}}function H7(e){let t=Yme(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 Xme(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)Xme(e,t)}function Zme(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,Zme);for(let e=t.nextNode();e;e=t.nextNode())e instanceof Text&&H7(e),e instanceof Element&&U7(e)}function Qme(e){B7(e)||(e instanceof Text&&H7(e),e instanceof Element&&W7(e))}function $me(e){e instanceof Element&&!B7(e)&&U7(e)}function ehe(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&&Qme(e);for(let e of n)e.isConnected&&$me(e)}function the(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 nhe(){if(z7)return;let e=new MutationObserver(t=>{ehe(t),e.takeRecords()});W7(document.body),e.observe(document.body,{childList:!0,subtree:!0,characterData:!0,attributes:!0,attributeFilter:I7}),z7=e}function rhe(){z7&&(z7.disconnect(),z7=null,the(document.body),L7=new WeakMap,R7=new WeakMap)}function K7(e){e?nhe():rhe()}function ihe(){K7(n_()),i_(K7)}function ahe(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 ohe(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function she(e,t){return t||ohe(e)?!1:ahe(e)}var che=2500;function lhe({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(){Kp()===`team`&&fle()}function uhe(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),mle(a,r,t),CQ(o,i,t);function s(e){vJ(),a.hidden=e!==`team`,o.hidden=e!==`mine`,qp(e)}s(Kp())}function dhe(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function fhe(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function phe(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 mhe(e,t,n){for(let r of e)dhe(r.view,t)&&X7(r,n)}function hhe(e){let t=[{view:`focus`,label:`Focus`,panelClass:`focus-view`,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,mount:()=>$V({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:EH,deactivate:OH},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:q7.teamReview},mount:t=>uhe(t,{openTerminal:e.openTerminal}),attention:{subscribe:ple,acknowledge:Y7}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,mount:Pue,refreshOn:[`shown`],refresh:Fue,onConnectionChange:Iue},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:q7.usage},mount:ype,attention:{subscribe:_pe,acknowledge:gpe},refreshOn:[`shown`,`connected`,`usage-sessions`],refresh:e=>{e===`shown`&&bpe(),R8()}},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:q7.posthog},mount:pde,attention:{subscribe:dde,acknowledge:ude}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:q7.visions},mount:DW,attention:{subscribe:EW,acknowledge:()=>{kW(),OW()}}},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,mount:MK,refreshOn:[`shown`,`connected`,`hooks-updated`],refresh:e=>{e===`shown`&&NK(),jK()}},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:jz},mount:VI,refreshOn:[`shown`],refresh:KI,onAvailabilityChange:e=>fde(e?WI:null),onConnectionChange:XI},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:q7.benchmarks},mount:_ue,onConnectionChange:vue},{view:`factory`,label:`Factory`,panelClass:`factory-floor`,gate:{fromSettings:q7.factory},mount:t=>rue(t,{openTerminal:e.openTerminal}),onConnectionChange:aue},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,mount:t=>Ime(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}=phe(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}yE(Ap()),bE(Ep()),xE(Op()),A3(Mp()),xT(),Zie(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 ghe(){let e=Em(),t=$7.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Tm(e,`loading-animal`))}ghe();function o9(){r9||i9===null||lhe({hasSnapshot:a9,connectingTerminalCount:Cce(),msSinceConnected:performance.now()-i9})===`reveal`&&s9()}Sce(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 _he=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 vhe(e,t){l9(e,t,e===`connected`&&_he.has(Z7.dataset.state??``))}function yhe(e,t){Z7.dataset.state!==`shutdown`&&l9(e===`verified`?`connected`:e,t,!1)}rh((e,t)=>{if(e===`connecting`||e===`verified`)yhe(e,t);else{vhe(e,t),XB(e===`connected`);for(let t of j9)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(t9.classList.contains(`active`)){location.reload();return}Og(),document.body.classList.add(`app-ready`),!r9&&i9===null&&(i9=performance.now(),e9.textContent=`Connecting to sessions...`,setTimeout(s9,che)),o9(),J9(),_9(`connected`),oh(`get-settings`,{}).then(e=>{e.settings&&(B9(e.settings),pe()===`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(),yQ(),iJ()}function d9(){uH(),u9()}var f9=null;function bhe(e){let t=Ume(f9,e);f9=t.knownBuild,t.reload&&location.reload()}function xhe(e){fW(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),Rme(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||V_(t.path),h2(t.id,t.linkedPrs);let e=FB(t.id);e&&vV(t.id,t.state,t.stateSince),e&&zz(t.id,!!t.saneYolo),e&&eV(t.id,t.isGuarded),e||VB(t.id,t.name,t.state,h3(t)),PB(t.id,t.taskTitle,t.taskTitleIsCustom),QB(t.id,t.agent),dV(t.id,t.mergeStatus,t.mergeReason),ZB(t.id,t.effectiveBase),rV(t.id,t.activeAgents,t.awaitingBackgroundTasks),sV(t.id,t.pendingWakeup),aV(t.id,t.pendingPromptKind,t.isCompacting),DB(t.id,t),GB(t.id,t.hasPlan),g9(t.id)}BB(),L_(E),uH(),DH(),u9(),p9(),k9(location.hash),a9=!0,o9()}function p9(){GI([...E].map(([e,t])=>({id:e,name:D(t)||e})))}function m9(e,t){GB(e,t?.hasPlan===!0),g9(e)}function She(e){if(!FB(e.id))VB(e.id,e.session,e.to,h3({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),L_(E),L4();else if(e.to===a.DORMANT&&e.from!==a.DORMANT){let t=E.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;mV(e.id),VB(e.id,e.session,a.DORMANT,h3({skipPerms:i,saneYolo:o,worktree:r?.dataset.worktree!==void 0,workspace:r?.dataset.workspace!==void 0,guarded:r?.dataset.guarded!==void 0,path:s,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom})),QB(e.id,t?.agent),m9(e.id,t),d9(),$N(e.id),L_(E)}else vV(e.id,e.to,e.timestamp,e.event),e.saneYolo!==void 0&&zz(e.id,e.saneYolo),L_(E),$N(e.id),d9(),aB(e.id),e.to===a.INITIALIZING&&(e.from===a.DONE||e.from===a.FAILED)&&uj(e.id)}var h9=new Map;function Che(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),iV(n.id,e)}for(let e of[...h9.keys()])t.has(e)||(h9.delete(e),iV(e,null))}function g9(e){let t=h9.get(e);t&&iV(e,t)}vpe(G),AK(G),HI(G),Nue(G),gue(G),oue(G),Pz(p2),wV(p2);function _9(e){mhe(j9,{isPhoneShellActive:nJ(),activeView:pe(),phoneScreen:fe.snapshot().phoneScreen},e)}i_(()=>_9(`settings-updated`));var whe={snapshot:e=>{bhe(e.serverBuild),xhe(e.sessions)},"hooks-report":e=>PK(e),"save-hook-result":e=>FK(e),"delete-hook-result":e=>IK(e),"state-change":e=>She(e),"session-added":e=>{e.ephemeral||V_(e.path),h2(e.id,e.linkedPrs),FB(e.id)||(VB(e.id,e.session,e.state,h3(e)),QB(e.id,e.agent),g9(e.id)),L_(E),d9(),p9()},"session-removed":e=>{mV(e.id),tP(e.id),Mle(e.id),L_(E),d9(),p9()},"session-title":e=>{PB(e.id,e.taskTitle,e.isCustom),d9()},"session-prs":e=>h2(e.id,e.linkedPrs),"session-renamed":e=>{pV(e.id,e.newName),u9(),p9()},"session-modified":e=>{e.ephemeral||V_(e.path);let t=E.get(String(e.id));mV(e.id),tP(e.id),h2(e.id,e.linkedPrs),VB(e.id,e.session,e.state,h3(e)),QB(e.id,e.agent),m9(e.id,t),L_(E),d9(),p9()},"session-git":e=>$B(e.id,!!e.worktree),"session-agents":e=>{rV(e.id,e.activeAgents,e.awaitingBackgroundTasks),d9(),aB(e.id)},"session-wakeup":e=>sV(e.id,e.pendingWakeup),"session-prompt":e=>{aV(e.id,e.pendingPromptKind,e.isCompacting===!0),u9()},"session-merge-status":e=>{uV(e.id,e.mergeStatus,e.reason),xH(e.id,e.mergeStatus),u9()},"session-worktree-blocked":e=>{Xg(`${e.session}: ${e.notice||`integration branch not found`}`,{persist:!0})},"session-worktree-warning":e=>{Xg(`${e.session}: ${e.notice||`base branch warning`}`)},"session-worktree-ready":e=>{ZB(e.id,e.base)},"session-diff":e=>{fV(e.id,{committed:e.committed,uncommitted:e.uncommitted,hasCommits:e.hasCommits})},"session-diff-error":e=>{KN(e.id,e.message)},"change-map":e=>qN(e.id,e.map),"branch-sync-status":e=>XN(e.id,e),"session-changed":e=>QN(e.id),"post-turn-result":e=>cV(e.id,e),"debug-state-response":e=>iB(e),"session-trace-response":e=>{OB(e)||qI(e)},"session-trace-changed":e=>{AB(e.id),JI(e)},"session-conversation":e=>{DB(e.id,e),u9()},"session-plan-changed":e=>{KB(e),u9()},"session-plan-draft":e=>{qB(e)},"session-plan-response":e=>{JB(e)},"session-docs-changed":e=>Hie(e),"session-docs-snapshot":e=>Uie(e),notify:e=>{KK(e),aB(e.session)},"update-status":e=>{Ohe(e),Bme(e)},"update-progress":e=>Vme(e.journal),error:e=>{Hme(),YI(e),kB(e),YB(e),Xg(e.message,{persist:!0})},"session-error":e=>{YB(e),Xg(`${e.session}: ${e.message}`,{persist:!0})},"settings-updated":e=>{e.settings&&B9(e.settings),Og()},"health-snapshot":e=>{e.stats&&Vce(e.stats)},"radar-status":e=>mde(e),"radar-investigation-activity":e=>hde(e),"radar-investigation-finished":e=>_de(e),"team-review-status":e=>hle(e),"my-prs-status":e=>{TQ(e),Nle()},"factory-state":e=>iue(e),"factory-queue-intent-result":e=>sue(e),"factory-control-result":e=>cue(e),"benchmark-status":e=>yue(e),"benchmark-action-result":e=>bue(e),"my-pr-merge-result":e=>DQ(e),"team-review-action-result":e=>vle(e),"open-team-review-session-result":e=>_le(e),"issues-status":e=>Lue(e),"issue-detail-result":e=>Rue(e),"open-issue-session-result":e=>zue(e),"usage-sessions":e=>{Che(e.sessions),xpe(e)},"usage-report":e=>{Cpe(e),j7()},"plan-limits":e=>Spe(e),"usage-budget-alert":e=>KK({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>jW(e),"visions-comments":e=>MW(e),"visions-hand":e=>NW(e),"visions-intent":e=>PW(e),"visions-fix":e=>AW(e),"visions-snapshot":e=>LW(e),"ingest-activity":e=>FW(e),"ingest-snapshot":e=>IW(e),"client-trust":e=>Ihe(e.trust),"shutting-down":()=>c9(`Shutting down...`,`Shutting down sessions...`),restarting:()=>c9(`Restarting...`,`Restarting server...`)};function The(e){let t=whe[e.type];t&&t(e)}ih(e=>{The(e),_9(e.type)});var v9=!1,Ehe=_g(Tre,Ere,`Update`).href;function Dhe(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function Ohe(e){let t=v(document,`#update-banner`,`div`);if(!e.updateAvailable){t.hidden=!0;return}if(v9)return;let n=Dhe(e);if(n&&Qp()===n)return;let r=String(e.command??``);v(document,`#update-banner-text`,`span`).textContent=rie(e),v(document,`#update-banner-cmd`,`code`).textContent=r;let i=kpe(e),a=v(document,`#update-banner-update`,`a`);a.href=Ehe,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=T(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,$p(n),t.hidden=!0}}var y9=v(document,`#telemetry-banner`,`div`);function b9(){tm(!0),y9.hidden=!0}function khe(e){y9.hidden=!she(e,em())}var x9=v(document,`#telemetry-banner-settings`,`a`);x9.href=_g(`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`,fg);var S9=v(document,`#btn-mute`,`button`);Fle(S9);var C9=v(document,`#btn-streamer`,`button`);zie(C9),ihe();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()))}),te(document.querySelector(`.header`));function Ahe(e){e&&O7(e),!oJ(`settings`)&&R9(`settings`,{section:e})}function D9(){hg(location.hash)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function jhe(e){return e?(O7(e.sectionId,e.settingId),oJ(`settings`)||R9(`settings`,{section:e.sectionId,setting:e.settingId,persist:!1}),!0):!1}function O9(e){return jhe(k7(e))}function k9(e){let t=gM(e);return t?!FB(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),nJ()?(tJ(t)||Xg(`No plan is stored for this session yet`),!0):(R9(`focus`,{persist:!1}),CH(t)||Xg(`No plan is stored for this session yet`),!0)):!1}function A9(e){return k9(e)?!0:O9(e)}function Mhe(e){e.newURL===location.href&&A9(location.hash)}document.addEventListener(`click`,e=>{if(!nJ()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&A9(t.hash)&&e.preventDefault()}),LX(v(document,`#celebration-tray`,`div`),v(document,`#btn-celebrations`,`button`),v(document,`#celebration-tray-count`,`span`)),v(document,`#btn-help`,`button`).addEventListener(`click`,()=>{Ahe(`browser-shortcuts`)});var j9=hhe({onRestart:q9,onConfirmUpdateAndRestart:Fhe,openTerminal:e=>{aJ(e)||(R9(`focus`),SH(e))},openPlan:e=>{R9(`focus`),CH(e)},setPhoneAttention:cJ});BN({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=pe();fe.dispatch(`setActiveView`,e),P9=r,r&&(F9=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(M9(e)?.hasReviewSidebar!==!0),r&&Fp(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,sJ(n,t),e.onAvailabilityChange?.(t),!nJ()&&(!t&&pe()===n&&R9(`focus`),t&&F9===n&&R9(n))}function Nhe(e){for(let{view:t,isAvailable:n}of fhe(j9,e))z9(t,n)}function B9(e){RB(e),A7(e),vW(e),Nhe(e),khe(e),r_(e.streamerMode===!0),TB(e.conversationView===!0)}for(let e of j9)e.gate&&(z9(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>z9(e,t)));UI(()=>{N9(`trace`)&&(oJ(`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 Phe(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(pe(),e.key===`ArrowRight`?1:-1).focus()))})}var H9=Pp(),U9=k7(location.hash),W9=gM(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})}Qq({panels:qK(j9),onScreenShown:e=>{L9(e),e!==`settings`&&D9(),e===`settings`&&!hg(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=QV();for(let e of j9)e.deactivate?.();let t=k7(location.hash);$q({sessionId:e??void 0,linkedScreenId:t?`settings`:void 0}),t&&O7(t.sectionId,t.settingId);return}let t=rJ();eJ();let n=pe();R9(N9(n)?n:`focus`,{persist:P9}),t&&SH(t)}ST()&&G9(`phone`),CT(G9),window.addEventListener(`hashchange`,Mhe);function K9({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){w9.classList.remove(`open`),E9();let o=IB();bh({title:t,message:o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i,confirmLabel:n,danger:r,onConfirm:()=>G({type:e})})}function q9(){K9({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}function Fhe(e){let t=LB(),n=t.length;n===0?e(t):bh({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 Ihe(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 Lhe(){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 Rhe({action:e,step:t}){switch(e){case`merge`:return nP(),!0;case`resolve-or-resync`:return rP()||iP(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`next-attention`:return ZV()?(mH(),!0):!1;case`rail-step`:return ZV()?(TH(t),!0):!1;case`view-step`:return!ST()&&(Phe(V9(pe(),t)),!0);case`session-nth`:return ZV()?(wH(t),!0):!1;case`streamer-mode`:return o_(),!0}}document.addEventListener(`keydown`,e=>{if(e.repeat||Lhe())return;let t=IT(e,UT);t&&Rhe(t)&&e.preventDefault()});var zhe=i({mode:`trailing`,delayMs:150,run:()=>{G({type:`focus-change`,focused:document.hasFocus()})}});function J9(){zhe.schedule()}function Y9(){J9(),gj(k(me()))}window.addEventListener(`focus`,Y9),window.addEventListener(`blur`,Y9),document.addEventListener(`visibilitychange`,Y9);var X9=!1,Z9=null;function Bhe(){if(document.visibilityState!==`visible`)return 0;let e=Z9;return Z9=null,e===null?0:Date.now()-e}async function Q9(){let e=Bhe();if(!X9){X9=!0,wce();try{if(await Gne(e)===`ok`)return;for(let e of E.keys())uj(e)}finally{Tce(),X9=!1}}}document.addEventListener(`visibilitychange`,()=>{document.visibilityState===`visible`?(YA(),Q9()):Z9??=Date.now()}),window.addEventListener(`online`,Q9);var $9=Af(G);window.addEventListener(`error`,e=>$9(e.error)),window.addEventListener(`unhandledrejection`,e=>$9(e.reason)),window.addEventListener(`pageshow`,e=>{e.persisted&&(YA(),Q9())}),Bce(v(document,`#health-footer-mount`,`div`)),GK(),pT(zB),lh();