glimmervoid 0.31.0 → 0.32.1

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 (39) hide show
  1. package/dist/bin/glimmervoid.js +19 -14
  2. package/dist/chunks/{adapters-gn7ulNO4.js → adapters-BS_7o8fj.js} +28 -23
  3. package/dist/chunks/{adapters-ClA_GbtA.js → adapters-Bn-dQ02i.js} +1 -1
  4. package/dist/chunks/{agent-api-cli-DAA7Jx8N.js → agent-api-cli-BR0GVDn6.js} +21 -5
  5. package/dist/chunks/agent-api-core-DUiWHSHg.js +201 -0
  6. package/dist/chunks/{agent-setup-cli-CiJSDWSo.js → agent-setup-cli-BqYcwfOs.js} +1 -1
  7. package/dist/chunks/child-process-safe-B3zcPdFM.js +2 -0
  8. package/dist/chunks/{child-process-safe-Ch-Zgxqs.js → child-process-safe-DDELk9XC.js} +2 -1
  9. package/dist/chunks/{config-W1Sv-iPK.js → config-B6BkTOcE.js} +20 -6
  10. package/dist/chunks/config-store-C8Ry8ZFD.js +2 -0
  11. package/dist/chunks/{config-store-BCy4FHNG.js → config-store-aZpWeX92.js} +14 -5
  12. package/dist/chunks/{contracts-3LkrilQX.js → contracts-DzDg-Z9I.js} +100 -7
  13. package/dist/chunks/git-version-CrLW4a6r.js +58 -0
  14. package/dist/chunks/{grok-CXKeSt2z.js → grok-7Z5KcgcY.js} +1 -2
  15. package/dist/chunks/{knowledge-graph-cli-D2tt5hPn.js → knowledge-graph-cli-D5Gf87Y7.js} +2 -2
  16. package/dist/chunks/{main-DyTCWIu2.js → main-BG6iHwoY.js} +3724 -1928
  17. package/dist/chunks/{pair-cli-BbCBfd6l.js → pair-cli-DQkrt_-s.js} +2 -2
  18. package/dist/chunks/{remote-config-DKIH_VxM.js → remote-config-Da4C7tMG.js} +2 -2
  19. package/dist/chunks/rtk-resolver-CIVLE_xk.js +2 -0
  20. package/dist/chunks/{rtk-resolver-BGDzw5XK.js → rtk-resolver-jJxy_Mrt.js} +1 -1
  21. package/dist/chunks/{sandbox-deps-BPKE-ylr.js → sandbox-deps-DuaNFq7n.js} +1 -1
  22. package/dist/chunks/{session-fc4pFbon.js → session-Dtkp9o3r.js} +28 -2
  23. package/dist/chunks/{visions-cli-CT5rjiwf.js → visions-cli-BhFdym5n.js} +1 -1
  24. package/dist/chunks/{visions-setup-BmOkI-QE.js → visions-setup-CfgNHiG3.js} +1 -1
  25. package/dist/client/assets/index-BxU3Ww0L.css +1 -0
  26. package/dist/client/assets/index-Co4S7tnh.js +254 -0
  27. package/dist/client/index.html +2 -2
  28. package/dist/scripts/postinstall-path-check.js +1 -1
  29. package/dist/server/index.js +1 -1
  30. package/dist/session/hook-tool-relay.js +1 -1
  31. package/dist/session/sandbox-open-launcher.js +42 -3
  32. package/dist/session/statusline-relay.js +1 -1
  33. package/package.json +1 -1
  34. package/dist/chunks/agent-api-core-hVcT26JW.js +0 -112
  35. package/dist/chunks/child-process-safe-BKPZ-5qQ.js +0 -2
  36. package/dist/chunks/config-store-DbBp7LJZ.js +0 -2
  37. package/dist/chunks/rtk-resolver-D4Nke1Fr.js +0 -2
  38. package/dist/client/assets/index-C6KD8lgZ.css +0 -1
  39. package/dist/client/assets/index-CThQEAEy.js +0 -249
@@ -1,249 +0,0 @@
1
- (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=6e4,t=18e5,n=20;function r({attempt:r=1,baseMs:i=e,maxMs:a=t,retryAfterMs:o=null,random:s=Math.random,jitter:c=`full`}={}){if(typeof o==`number`&&Number.isFinite(o)&&o>0)return Math.min(o,a);let l=Math.max(0,Math.min(r,n)-1),u=Math.min(a,i*2**l);return c===`none`?u:Math.round(c===`half`?u*(.5+.5*s()):s()*u)}var i=3e4;function a(e,t=Math.random){return r({attempt:(typeof e==`number`&&Number.isFinite(e)&&e>0?Math.floor(e):0)+1,baseMs:500,maxMs:i,random:t,jitter:`half`})}var o=0,s=1,c=1e4;function l(e){return typeof e!=`number`||!Number.isFinite(e)?!1:e>=c}function u({hasSocket:e,readyState:t,retryPending:n,connectingAgeMs:r=0,hiddenForMs:i}){return n?`retry-now`:!e||l(i)?`connect`:t===o?r>1e4?`connect`:`wait`:t===s?`probe`:`connect`}function d(e){return e===`https:`?`wss:`:`ws:`}function f(e,t){return`${d(e?.protocol)}//${e.host}${t}`}var p=``,m=null;function h(){return p}function g(){return p?Promise.resolve(p):m||(m=fetch(`/control-token`,{credentials:`same-origin`,cache:`no-store`}).then(e=>e.ok?e.json():null).then(e=>{let t=e?.token;return p=typeof t==`string`?t:``,p}).catch(()=>``).finally(()=>{m=null}),m)}function _(){p=``}function v(e){return p?`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(p)}`:e}function y(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 b(e,t=`|`){return e.map(e=>xe(e)).join(t)}function ee(e,t){return typeof t==`bigint`?t.toString():t}var te=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 ne(e){return new te(e)}function re(e){return e==null}function ie(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function ae(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 x(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function oe(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function se(e){return oe(e._zod.def)??e._zod.def.shape}function ce(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return x(this,t,e),e},enumerable:!0,configurable:!0})}function le(e,t,n){t in e?x(e,t,n):e[t]=n}function ue(e,t,n,r){let i=se(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?ce(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):le(e,a,r?r(n.value,a):n.value))}}function S(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?ce(e,n,()=>t[n]):le(e,n,r.value))}}function C(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function w(e){return JSON.stringify(e)}function de(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}var fe=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function pe(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var me=ne(()=>{if(ut.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function he(e){if(pe(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return pe(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ge(e){return he(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}var _e=new Set([`string`,`number`,`symbol`]),ve=new Set([`string`,`number`,`bigint`,`boolean`,`symbol`,`undefined`]);function ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function be(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function T(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 xe(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Se(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}var Ce={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},we={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function Te(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 ue(i,e,Ee(e,t)),be(e,C(n,{shape:i,checks:[]}))}function Ee(e,t){let n=se(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 De(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(Ee(e,t)),a={};return ue(a,e,Reflect.ownKeys(se(e)).filter(e=>!i.has(e))),be(e,C(n,{shape:a,checks:[]}))}function Oe(e,t){if(!he(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=se(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 be(e,C(e._zod.def,{shape:ke(e,t)}))}function ke(e,t){let n={};return ue(n,e,Reflect.ownKeys(se(e))),S(n,t),n}function Ae(e,t){if(!he(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return be(e,C(e._zod.def,{shape:ke(e,t)}))}function je(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 ue(n,e,Reflect.ownKeys(se(e))),ue(n,t,Reflect.ownKeys(se(t))),be(e,C(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Me(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(Ee(t,n)):void 0,o={};return ue(o,t,Reflect.ownKeys(se(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),be(t,C(t._zod.def,{shape:o,checks:[]}))}function Ne(e,t,n){let r=n?new Set(Ee(t,n)):void 0,i={};return ue(i,t,Reflect.ownKeys(se(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),be(t,C(t._zod.def,{shape:i}))}function Pe(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 Fe(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 Ie(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function Le(e){return typeof e==`string`?e:e?.message}function Re(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function ze(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:Le(e.inst?._zod.def?.error?.(e))??Le(a?.(e))??Le(t?.error?.(e))??Le(n.customError?.(e))??Le(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 Be=/[\uD800-\uDBFF]/;function Ve(e){let t=e.length;if(!Be.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 He(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function Ue(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 We(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function Ge(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Ye(e,n,r.value)}}function Ke(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function qe(e,t,n){return Ke(e,t,n,!1)}function Je(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Ke(this,n,r(this))},set(e){Ke(this,n,e)}})}return t}function Ye(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Ke(this,t,n.bind(this))},set(e){Ke(this,t,e)}})}function Xe(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}var Ze,Qe=!1,$e={configurable:!0,get(){Qe=!0}};function et(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Ze!==e._zod){Ze=void 0;return}Ze=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,$e);let e=Qe;Qe=!1;try{let r=n(this);return Qe?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Qe||=e,r}catch(n){throw delete this[t],Qe||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function tt(e,t,n,r){let i=Xe(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 nt=`~constantCatch`;function rt(e){let t=()=>e;return t[nt]=!0,t}var it,at={value:void 0,enumerable:!1},ot=`captureStackTrace`in Error?Error:null;function st(e){let t=ot;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return ot=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function E(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){at.value=new a(r);try{Object.defineProperty(n,"_zod",at)}finally{at.value=void 0}}else if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),Ge(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?st(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 ct=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},lt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(it=globalThis).__zod_globalConfig??(it.__zod_globalConfig={});var ut=globalThis.__zod_globalConfig;function dt(e){return e&&Object.assign(ut,e),ut}function ft(){let e=this._zod;return e.message??=JSON.stringify(e.def,ee,2),e.message}function pt(e){this._zod.message=e}var mt={get:ft,set:pt,enumerable:!0,configurable:!0},ht={value:void 0,enumerable:!1},gt=new WeakSet([Object.prototype,Error.prototype]),_t=(e,t)=>{e.name=`$ZodError`,ht.value=t,Object.defineProperty(e,"issues",ht),ht.value=void 0,Object.defineProperty(e,"message",mt);let n=Object.getPrototypeOf(e);gt.has(n)||(gt.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=E(`$ZodError`,_t);E(`$ZodError`,_t,void 0,{Parent:Error});function yt(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 bt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?yt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function xt(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 St(e,t){return{callee:t?.callee??e,Err:t?.Err}}var Ct=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 ct;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ze(e,o,dt())));throw fe(n,a?.callee??t),n}return s.value};return t},wt=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=>ze(e,o,dt())));throw fe(n,a?.callee??t),n}return s.value};return t},Tt=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 ct;return a.issues.length?Et(e,a.issues,i):{success:!0,data:a.value}};function Et(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>ze(e,n,dt()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}var Dt=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?Et(e,a.issues,i):{success:!0,data:a.value}},Ot=Symbol.for(`zod.compile.invalid`),kt=Symbol.for(`zod.compile.fallback`),At=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==Ot)return!0;if(r.definite===!0&&n===void 0)return!1}return jt(e,t,n)});function jt(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[kt]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new ct;return a.issues.length===0}var Mt=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},Nt=e=>{let t=Ct(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,St(n,a))};return n},Pt=e=>{let t=Ct(e),n=(e,r,i,a)=>t(e,r,i,St(n,a));return n},Ft=e=>{let t=wt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,St(n,a))};return n},It=e=>{let t=wt(e),n=async(e,r,i,a)=>await t(e,r,i,St(n,a));return n},Lt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Tt(e)(t,n,i)},Rt=e=>(t,n,r)=>Tt(e)(t,n,r),zt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Dt(e)(t,n,i)},Bt=e=>async(t,n,r)=>Dt(e)(t,n,r),Vt=/^[cC][0-9a-z]{6,}$/,Ht=/^[0-9a-z]+$/,Ut=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,Wt=/^[0-9a-vA-V]{20}$/,Gt=/^[A-Za-z0-9]{27}$/,Kt=/^[a-zA-Z0-9_-]{21}$/;function qt(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}var eee=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,tee=/^([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})$/,Jt=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)$/,Yt=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/,Xt=`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`;function Zt(){return new RegExp(Xt,`u`)}var Qt=/^(?:(?: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])$/,$t=/^(([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}|:))$/,en=/^((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])$/,tn=/^(([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])$/,nn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,rn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,an=/^https?$/,on=/^\+[1-9]\d{6,14}$/,sn=`(?:(?:\\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 cn(e){return RegExp(`^${e}$`)}var ln=cn(sn);function un(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 dn(e){return RegExp(`^${un(e)}$`)}function fn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${un({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${un({precision:e.precision})}`:n;return RegExp(`^${sn}T(?:${r})$`)}var pn=/^[\s\S]{0,}$/,mn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},hn=/^-?\d+$/,gn=/^-?\d+(?:\.\d+)?$/,_n=/^(?:true|false)$/i,vn=/^null$/i,yn=/^[^A-Z]*$/,bn=/^[^a-z]*$/,xn=E(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Sn=e=>{let t=e.value;return!re(t)&&t.length!==void 0},Cn={number:`number`,bigint:`bigint`,object:`date`},wn=E(`$ZodCheckLessThan`,(e,t)=>{xn.init(e,t);let n=Cn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Cn[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})}}),Tn=E(`$ZodCheckGreaterThan`,(e,t)=>{xn.init(e,t);let n=Cn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Cn[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})}}),nee=E(`$ZodCheckMultipleOf`,(e,t)=>{xn.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):ae(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})}}),ree=E(`$ZodCheckNumberFormat`,(e,t)=>{xn.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ce[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})}}),iee=E(`$ZodCheckMaxLength`,(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=Sn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?Ve(r):i)<=t.maximum)return;let a=He(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),aee=E(`$ZodCheckMinLength`,(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=Sn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?Ve(r):i)>=t.minimum)return;let a=He(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),oee=E(`$ZodCheckLengthEquals`,(e,t)=>{var n;xn.init(e,t),(n=e._zod.def).when??(n.when=Sn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?Ve(r):i;if(a===t.length)return;let o=He(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})}}),En=E(`$ZodCheckStringFormat`,(e,t)=>{var n,r;xn.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=()=>{})}),see=E(`$ZodCheckRegex`,(e,t)=>{En.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})}}),cee=E(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=yn,En.init(e,t)}),lee=E(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=bn,En.init(e,t)}),uee=E(`$ZodCheckIncludes`,(e,t)=>{xn.init(e,t);let n=ye(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})}}),dee=E(`$ZodCheckStartsWith`,(e,t)=>{xn.init(e,t);let n=RegExp(`^${ye(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})}}),fee=E(`$ZodCheckEndsWith`,(e,t)=>{xn.init(e,t);let n=RegExp(`.*${ye(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})}}),pee=E(`$ZodCheckOverwrite`,(e,t)=>{xn.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}}),mee=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))}},Dn={major:4,minor:6,patch:5},On=E(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Dn;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=Pe(t),a;for(let o of n){if(o._zod.def.when){if(Fe(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 ct;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(Re(t.issues,n,e),i||=Pe(t,n))});else{if(t.issues.length===n)continue;Re(t.issues,n,e),i||=Pe(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(Pe(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new ct;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 ct;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return qe(this,`~standard`,jn(this))},set"~standard"(e){Ke(this,`~standard`,e)}}),kn=(e,t)=>e.issues.length?{issues:e.issues.map(e=>ze(e,t,dt()))}:{value:e.value};async function An(e,t){let n={async:!0};return kn(await e._zod.run({value:t,issues:[]},n),n)}function jn(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return kn(r,n)}catch{}return An(e,t)},vendor:`zod`,version:1}}var Mn=E(`$ZodString`,(e,t)=>{On.init(e,t),e._zod.pattern=t.pattern??pn,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}}),Nn=E(`$ZodStringFormat`,(e,t)=>{En.init(e,t),Mn.init(e,t)}),Pn=E(`$ZodGUID`,(e,t)=>{t.pattern??=tee,Nn.init(e,t)}),Fn=E(`$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??=Jt(e)}else t.pattern??=Jt();Nn.init(e,t)}),In=E(`$ZodEmail`,(e,t)=>{t.pattern??=Yt,Nn.init(e,t)});function Ln(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Rn(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Ln(e)||2:zn(e,t)}function zn(e,t){if(!t.normalize&&t.protocol?.source===an.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 Bn=/[\t\n\r]/g;function Vn(e){return e.replace(Bn,``)}function Hn(e,t){return t.lastIndex=0,t.test(e.hostname)}function Un(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}var Wn=E(`$ZodURL`,(e,t)=>{Nn.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=Rn(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=Vn(r);return}t.hostname&&!Hn(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&&!Un(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:Vn(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),Gn=E(`$ZodEmoji`,(e,t)=>{t.pattern??=Zt(),Nn.init(e,t)}),Kn=E(`$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?Kt:qt(t.length),Nn.init(e,t)}),qn=E(`$ZodCUID`,(e,t)=>{t.pattern??=Vt,Nn.init(e,t)}),Jn=E(`$ZodCUID2`,(e,t)=>{t.pattern??=Ht,Nn.init(e,t)}),Yn=E(`$ZodULID`,(e,t)=>{t.pattern??=Ut,Nn.init(e,t)}),Xn=E(`$ZodXID`,(e,t)=>{t.pattern??=Wt,Nn.init(e,t)}),Zn=E(`$ZodKSUID`,(e,t)=>{t.pattern??=Gt,Nn.init(e,t)}),Qn=E(`$ZodISODateTime`,(e,t)=>{t.pattern??=fn(t),Nn.init(e,t)}),$n=E(`$ZodISODate`,(e,t)=>{t.pattern??=ln,Nn.init(e,t)}),er=E(`$ZodISOTime`,(e,t)=>{t.pattern??=dn(t),Nn.init(e,t)}),tr=E(`$ZodISODuration`,(e,t)=>{t.pattern??=eee,Nn.init(e,t)}),nr=E(`$ZodIPv4`,(e,t)=>{t.pattern??=Qt,Nn.init(e,t)}),rr=/^[0-9a-fA-F:.]+$/;function ir(e){return rr.test(e)?Ln(`http://[${e}]`):!1}var ar=E(`$ZodIPv6`,(e,t)=>{t.pattern??=$t,Nn.init(e,t),e._zod.check=n=>{ir(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),or=E(`$ZodCIDRv4`,(e,t)=>{t.pattern??=en,Nn.init(e,t)});function sr(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:ir(n)}var cr=E(`$ZodCIDRv6`,(e,t)=>{t.pattern??=tn,Nn.init(e,t),e._zod.check=n=>{sr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function lr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}var ur=/^[0-9a-zA-Z+/]*={0,2}$/,dr=E(`$ZodBase64`,(e,t)=>{t.pattern??=ur,Nn.init(e,t),e._zod.check=n=>{lr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),fr=/^[A-Za-z0-9_-]*$/;function pr(e){if(!fr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return lr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}var mr=E(`$ZodBase64URL`,(e,t)=>{t.pattern??=fr,Nn.init(e,t),e._zod.check=n=>{pr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),hr=E(`$ZodE164`,(e,t)=>{t.pattern??=on,Nn.init(e,t)});function gr(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 _r=E(`$ZodJWT`,(e,t)=>{Nn.init(e,t),e._zod.check=n=>{gr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),vr=E(`$ZodNumber`,(e,t)=>{On.init(e,t),e._zod.pattern=gn,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}}),yr=E(`$ZodNumberFormat`,(e,t)=>{ree.init(e,t),vr.init(e,t)}),br=E(`$ZodBoolean`,(e,t)=>{On.init(e,t),e._zod.pattern=_n,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}}),xr=E(`$ZodNull`,(e,t)=>{On.init(e,t),e._zod.pattern=vn,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}}),Sr=E(`$ZodUnknown`,(e,t)=>{On.init(e,t),e._zod.parse=e=>e}),Cr=E(`$ZodNever`,(e,t)=>{On.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)});function wr(e,t,n){e.issues.length&&t.issues.push(...Ie(n,e.issues)),t.value[n]=e.value}var Tr=E(`$ZodArray`,(e,t)=>{On.init(e,t);let n=ut.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=>wr(t,r,e)));else if(wr(c,r,e),s&&c.issues.length!==0&&Pe(c))break}return o.length?Promise.all(o).then(()=>r):r}});function Er(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(...Ie(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?(o||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}var Dr=[];function Or(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:Dr,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=Se(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function kr(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(Pe(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=>Er(e,n,i,t,d,f))):Er(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 Ar=E(`$ZodObject`,(e,t)=>{On.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=ne(()=>Or(t));et(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)||x(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=pe,o=t.catchall,s,c=ut.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(Pe(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=>Er(n,t,e,r,a,o))):Er(s,t,e,r,a,o)}return o?kr(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),jr=E(`$ZodObjectJIT`,(e,t)=>{Ar.init(e,t);let n=e._zod.parse,r=ne(()=>Or(t)),i=ut.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new mee([`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)}]`:w(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=pe,c=!ut.jitless,l=c&&me.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?kr([],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 Mr(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=>!Pe(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=>ze(e,r,dt())))}),t)}var Nr=E(`$ZodUnion`,(e,t)=>{On.init(e,t),et(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),et(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),et(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)))}),et(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=>ie(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=>Mr(t,r,e,i)):Mr(o,r,e,i)}});function Pr(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 Fr=E(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,Nr.init(e,t);let n=e._zod.parse;et(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)||x(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=oe(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=ne(()=>Pr(t));e._zod.parse=(i,a)=>{let o=i.value;if(!pe(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)}}),Ir=E(`$ZodIntersection`,(e,t)=>{On.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])=>Rr(e,t,n)):Rr(e,i,a)}});function Lr(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(he(e)&&he(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=Lr(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=Lr(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 Rr(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=Lr(t.value,n.value);if(!c.valid){if(Pe(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}var zr=E(`$ZodRecord`,(e,t)=>{On.init(e,t);let n=ut.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!he(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=>ze(e,i,dt())),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(...Ie(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...Ie(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`&&gn.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=>ze(e,i,dt())),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(...Ie(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...Ie(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}}),Br=E(`$ZodEnum`,(e,t)=>{On.init(e,t);let n=y(t.entries),r=new Set(n);e._zod.values=r,et(e,`pattern`,e=>{let t=y(e.def.entries).filter(e=>_e.has(typeof e));return RegExp(t.length?`^(${t.map(e=>ye(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}}),Vr=E(`$ZodLiteral`,(e,t)=>{On.init(e,t);let n=new Set(t.values);e._zod.values=n,et(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?ye(e):e?ye(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}}),Hr=E(`$ZodTransform`,(e,t)=>{On.init(e,t),e._zod.optin=`optional`,ut.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new lt(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 ct;return n.value=i,n}});function Ur(e,t){return e.value=t.issues.length?void 0:t.value,e}var Wr=E(`$ZodOptional`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,et(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),et(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${ie(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=>Ur(e,t)):Ur(e,r)}return t.innerType._zod.run(e,n)}}),Gr=E(`$ZodExactOptional`,(e,t)=>{Wr.init(e,t),et(e,`values`,e=>e.def.innerType._zod.values),et(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),Kr=E(`$ZodNullable`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin),et(e,`optout`,e=>e.def.innerType._zod.optout),et(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${ie(t.source)}|null)$`):void 0}),et(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)}),qr=E(`$ZodDefault`,(e,t)=>{On.init(e,t),e._zod.optin=`defaulted`,et(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=>Jr(e,t)):Jr(r,t)}});function Jr(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}var Yr=E(`$ZodPrefault`,(e,t)=>{On.init(e,t),e._zod.optin=`defaulted`,et(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))}),Xr=E(`$ZodNonOptional`,(e,t)=>{On.init(e,t),et(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=>Zr(t,e)):Zr(i,e)}});function Zr(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 Qr(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>ze(e,r,dt()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}var $r=E(`$ZodCatch`,(e,t)=>{On.init(e,t),et(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),et(e,`optout`,e=>e.def.innerType._zod.optout),et(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=>Qr(e,r,t,n)):Qr(e,r,t,n)}}),ei=E(`$ZodPipe`,(e,t)=>{On.init(e,t),et(e,`values`,e=>e.def.in._zod.values),et(e,`optin`,e=>e.def.in._zod.optin),et(e,`optout`,e=>e.def.out._zod.optout),et(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=>ti(e,t.in,n)):ti(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>ti(e,t.out,n)):ti(r,t.out,n)}});function ti(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 ni=E(`$ZodPreprocess`,(e,t)=>{ei.init(e,t)}),ri=E(`$ZodReadonly`,(e,t)=>{On.init(e,t),et(e,`propValues`,e=>e.def.innerType._zod.propValues),et(e,`values`,e=>e.def.innerType._zod.values),et(e,`optin`,e=>e.def.innerType?._zod?.optin),et(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(ii):ii(r)}});function ii(e){return e.memo||(e.value=Object.freeze(e.value)),e}function ai(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 mn({minimum:i,maximum:a}).source;let o=e._zod.pattern;return(r&&o===gn?hn:o)?.source}function oi(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=oi(r);return n&&e&&t&&t!==e?n.replace(ie(e),()=>ie(t)):n}if(t.options){let e=t.options.map(oi);if(e.every(Boolean))return`^(${e.map(e=>ie(e)).join(`|`)})$`}return ai(e)}var si=E(`$ZodTemplateLiteral`,(e,t)=>{On.init(e,t);let n=[];for(let e of t.parts)if(typeof e==`object`&&e){let t=oi(e);if(!t)throw Error(`Invalid template literal part, no pattern found: ${[...e._zod.traits].shift()}`);n.push(ie(t))}else if(e===null||ve.has(typeof e))n.push(ye(`${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)}),ci=E(`$ZodCustom`,(e,t)=>{xn.init(e,t),On.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=>li(t,n,r,e));li(i,n,r,e)}});function li(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(We(e))}}var ui=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}},di=`~memo`,fi=[];function pi(e){return typeof e==`object`&&!!e}function mi(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}var hi=new WeakMap,gi=0,_i=1,vi=2;function yi(e,t,n){let r=hi.get(e);if(r!==void 0)return r?vi:gi;if(t.has(e))return vi;t.add(e);let i=gi,a=e=>{if(i!==vi&&e?._zod){let r=yi(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=gi;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?_i:o.value?._zod?yi(o.value,t,n):gi;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=oe(c);s(e?o(e,!0):_i),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?yi(r,t,!1):_i);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),hee(e,i)}function hee(e,t){return t!==_i&&hi.set(e,t===vi),t}function gee(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}var bi,xi=[],_ee={alloc(e,t,n){let r=bi;if(!r)return n;bi=void 0;let i={value:n,issues:null};return r.set(t.value,i),xi.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`&&yee(n,e.value))throw new ui;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=yi(e,new Set,!1);if(i===gi)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===vi||r?n=!0:r=!0}let l=s.value;if(!pi(l))return t(s,c);let u=c[di];u||(u={buckets:new WeakMap,backEdges:void 0},c[di]=u);let d;i===c?d=a:(d=gee(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...mi(f.issues)):(s.memo=!0,u.backEdges??(u.backEdges=new WeakSet),u.backEdges.add(f.value)),s;bi=d;let p=xi.length,m=t(s,c);bi=void 0;let h=xi.length>p?xi.pop():void 0;return m instanceof Promise?m.then(e=>(h&&(h.issues=e.issues.length?mi(e.issues):fi),e)):(h&&(h.issues=m.issues.length?mi(m.issues):fi),m)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function vee(){return _ee}function yee(e,t){let n=e[di]?.backEdges;return n!==void 0&&pi(t)&&n.has(t)}var bee=()=>{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(Ue(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${xe(e.values[0])}`:`Invalid option: expected one of ${b(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`:``}: ${b(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 xee(){return{localeError:bee()}}var Si,See=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 Cee(){return new See}(Si=globalThis).__zod_globalRegistry??(Si.__zod_globalRegistry=Cee());var Ci=globalThis.__zod_globalRegistry;function wi(e){return e.checks&&=[...e.checks],e}function wee(e,t){return new e(wi({type:`string`,...T(t)}))}function Tee(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...T(t)})}function Eee(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...T(t)})}function Dee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...T(t)})}function Oee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...T(t)})}function kee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...T(t)})}function Aee(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...T(t)})}function Ti(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...T(t)})}function jee(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...T(t)})}function Mee(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...T(t)})}function Nee(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...T(t)})}function Pee(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...T(t)})}function Ei(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...T(t)})}function Di(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...T(t)})}function Oi(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...T(t)})}function ki(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...T(t)})}function Ai(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...T(t)})}function ji(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...T(t)})}function Mi(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...T(t)})}function Ni(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...T(t)})}function Pi(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...T(t)})}function Fi(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...T(t)})}function Ii(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...T(t)})}function Li(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...T(t)})}function Ri(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...T(t)})}function zi(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...T(t)})}function Bi(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...T(t)})}function Vi(e,t){return new e(wi({type:`number`,checks:[],...T(t)}))}function Hi(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...T(t)})}function Ui(e,t){return new e({type:`boolean`,...T(t)})}function Wi(e,t){return new e({type:`null`,...T(t)})}function Gi(e){return new e({type:`unknown`})}function Ki(e,t){return new e({type:`never`,...T(t)})}function qi(e,t){return new wn({check:`less_than`,...T(t),value:e,inclusive:!1})}function Ji(e,t){return new wn({check:`less_than`,...T(t),value:e,inclusive:!0})}function Yi(e,t){return new Tn({check:`greater_than`,...T(t),value:e,inclusive:!1})}function Xi(e,t){return new Tn({check:`greater_than`,...T(t),value:e,inclusive:!0})}function Zi(e,t){return new nee({check:`multiple_of`,...T(t),value:e})}function Qi(e,t){return new iee({check:`max_length`,...T(t),maximum:e})}function $i(e,t){return new aee({check:`min_length`,...T(t),minimum:e})}function ea(e,t){return new oee({check:`length_equals`,...T(t),length:e})}function ta(e,t){return new see({check:`string_format`,format:`regex`,...T(t),pattern:e})}function na(e){return new cee({check:`string_format`,format:`lowercase`,...T(e)})}function ra(e){return new lee({check:`string_format`,format:`uppercase`,...T(e)})}function ia(e,t){return new uee({check:`string_format`,format:`includes`,...T(t),includes:e})}function aa(e,t){return new dee({check:`string_format`,format:`starts_with`,...T(t),prefix:e})}function oa(e,t){return new fee({check:`string_format`,format:`ends_with`,...T(t),suffix:e})}function sa(e){return new pee({check:`overwrite`,tx:e})}function ca(e){return sa(t=>t.normalize(e))}function la(){return sa(e=>e.trim())}function ua(){return sa(e=>e.toLowerCase())}function da(){return sa(e=>e.toUpperCase())}function fa(){return sa(e=>de(e))}function pa(e,t,n){return new e({type:`array`,element:t,...T(n)})}function ma(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...T(n)})}function ha(e,t){let n=ga(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(We(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(We(r))}},e(t.value,t)),t);return n}function ga(e,t){let n=new xn({check:`custom`,...T(t)});return n._zod.check=e,n}function _a(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&x(e,t,n[t]);return e}function va(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??Ci,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 ya(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 ba(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,ba(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&_a(o.schema,c),t.io===`input`&&Aa(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 xa(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Sa(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}/${xa(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+xa(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);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Ca(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;Ca(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 wa=new Set([`type`,`properties`,`required`,`additionalProperties`]),Ta=[`oneOf`,`anyOf`];function Ea(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Da(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!wa.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]??Ea(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}x(n,r,e.length===1?e[0]:Da(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=Ea(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 Oa(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of wa)if(t in e)return;let n=t.filter(e=>Ta.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Da(t);else{let e=n[0],i=Ta.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>Da([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,_a(e,r))}function ka(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)):_a(i,s),_a(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())Ca(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)??[])Oa(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)}_a(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,x(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:Ma(t,`input`,e.processors),output:Ma(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function Aa(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 Aa(r.element,n);if(r.type===`set`)return Aa(r.valueType,n);if(r.type===`lazy`)return Aa(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 Aa(r.innerType,n);if(r.type===`intersection`)return Aa(r.left,n)||Aa(r.right,n);if(r.type===`record`||r.type===`map`)return Aa(r.keyType,n)||Aa(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:Aa(r.in,n)||Aa(r.out,n);if(r.type===`object`){for(let e in r.shape)if(Aa(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(Aa(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(Aa(e,n))return!0;return!!(r.rest&&Aa(r.rest,n))}return!1}var ja=(e,t={})=>n=>{let r=va({...n,processors:t});return ba(e,r),Sa(r,e),ka(r,e)},Ma=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=va({...i??{},target:a,io:t,processors:n});return ba(e,o),Sa(o,e),ka(o,e)},Na=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Pa=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Fa=(e,t)=>{Na(e,`minimum`,t),Pa(e,`maximum`,t)},Ia=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},La=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Ra=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},za=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Ba=(e,t)=>Na(e,`minimum`,t.minimum),Va=(e,t)=>Pa(e,`maximum`,t.maximum),Ha=e=>(t,n)=>{za(t,n.format);let[r,i]=e[n.format];Na(t,`minimum`,r),Pa(t,`maximum`,i)},Ua={greater_than:(e,t)=>Na(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Pa(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Ia(e,t.value),number_format:Ha(Ce),bigint_format:Ha(we),min_length:Ba,max_length:Va,length_equals:(e,t)=>Fa(e,t.length),min_size:Ba,max_size:Va,size_equals:(e,t)=>Fa(e,t.size),string_format:(e,t)=>{za(e,t.format),t.pattern&&La(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)=>Ra(e,t.mime)};function Wa(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)Ua[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Na(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Na(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Pa(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Pa(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Ia(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Ra(t,i.mime);for(let e of i.patterns??[])La(t,e);return t}var Ga={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},Ka=new Map([[ur,nn],[fr,rn]]),qa=e=>Ka.get(e)??e,Ja=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=Wa(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=Ga[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(qa);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}))])}},Ya=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=Wa(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)):ya(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}))])}},Xa=(e,t,n,r)=>{n.type=`boolean`},Za=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Qa=(e,t,n,r)=>{n.not={}},$a=(e,t,n,r)=>{let i=e._zod.def,a=y(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},eo=(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(ya(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(ya(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}},to=(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},no=(e,t,n,r)=>{ya(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},ro=(e,t,n,r)=>{ya(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},io=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=Wa(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=ba(a.element,t,{...r,path:[...r.path,`items`]})};function ao(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?ao(t.out):t.type===`catch`?ao(t.innerType):e._zod.optin}var oo=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&ya(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)x(i.properties,e,ba(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`?ao(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=ba(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},so=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>ba(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},co=(e,t,n,r)=>{let i=e._zod.def,a=ba(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=ba(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 lo(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=lo(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=>lo(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`)?gn:hn).source),p):p}var uo=new WeakMap;function fo(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 uo.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=lo(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 po=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=Wa(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=ba(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)x(i.patternProperties,qa(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=ba(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=uo.get(t);n||(n=[],uo.set(t,n),t.deferred.push(()=>fo(t))),n.push(e)}i.additionalProperties=ba(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&ao(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))}},mo=(e,t,n,r)=>{let i=e._zod.def,a=ba(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`}]},ho=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},go=Symbol();function _o(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(ya(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),go):JSON.parse(o)}var vo=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=_o(i.defaultValue,e,t,n,r);o!==go&&(n.default=o)},yo=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=_o(i.defaultValue,e,t,n,r);o!==go&&(n._prefault=o)},bo=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{ya(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},xo=(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;ba(o,t,r);let s=t.seen.get(e);s.ref=o},So=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Co=(e,t,n,r)=>{let i=e._zod.def;ba(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},wo=new WeakSet([Object.prototype,Error.prototype]);function To(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 Eo=E(`ZodError`,(e,t)=>{vt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);wo.has(n)||(wo.add(n),To(n,`format`,e=>t=>xt(e,t)),To(n,`flatten`,e=>t=>bt(e,t)),To(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ee,2)}),To(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ee,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Do=Ct(Eo),Oo=wt(Eo),ko=Tt(Eo),Ao=Dt(Eo),jo=Nt(Eo),Mo=Pt(Eo),No=Ft(Eo),Po=It(Eo),Fo=Lt(Eo),Io=Rt(Eo),Lo=zt(Eo),Ro=Bt(Eo);function zo(){ut.localeError||dt(xee())}function Bo(){ut.memoizer||dt({memoizer:vee()})}var Vo=E(`ZodType`,(e,t)=>(zo(),On.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(C(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 be(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(cc(e,t))},superRefine(e,t){return this.check(lc(e,t))},overwrite(e){return this.check(sa(e))},optional(){return Vs(this)},exactOptional(){return Us(this)},nullable(){return Gs(this)},nullish(){return Vs(Gs(this))},nonoptional(e){return Zs(this,e)},array(){return A(this)},or(e){return ks([this,e])},and(e){return Ns(this,e)},transform(e){return tc(this,zs(e))},default(e){return qs(this,e)},prefault(e){return Ys(this,e)},catch(e){return $s(this,e)},pipe(e){return tc(this,e)},readonly(){return ic(this)},describe(e){let t=this.clone();return Ci.add(t,{description:e}),t},meta(...e){if(e.length===0)return Ci.get(this);let t=this.clone();return Ci.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 qe(this,`~standard`,{...jn(this),jsonSchema:{input:Ma(this,`input`),output:Ma(this,`output`)}})},set"~standard"(e){Ke(this,`~standard`,e)},parse:function e(t,n){return Do(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Oo(this,t,n,{callee:e})},safeParse(e,t){return ko(this,e,t)},async safeParseAsync(e,t){return Ao(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Ke(this,`spa`,e)},validate(e,t){return At(this,e,t)},validateAsync(e,t){return Mt(this,e,t)},encode:function e(t,n){return jo(this,t,n,{callee:e})},decode:function e(t,n){return Mo(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await No(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Po(this,t,n,{callee:e})},safeEncode(e,t){return Fo(this,e,t)},safeDecode(e,t){return Io(this,e,t)},async safeEncodeAsync(e,t){return Lo(this,e,t)},async safeDecodeAsync(e,t){return Ro(this,e,t)},toJSONSchema(e){return ja(this,{})(e)},get description(){return Ci.get(this)?.description},get _def(){return this._zod.def}}),Ho=E(`_ZodString`,(e,t)=>{Mn.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ja(e,t,n,r)},Je({format:e=>Wa(e).format??null,minLength:e=>Wa(e).minimum??null,maxLength:e=>Wa(e).maximum??null},{regex(...e){return this.check(ta(...e))},includes(...e){return this.check(ia(...e))},startsWith(...e){return this.check(aa(...e))},endsWith(...e){return this.check(oa(...e))},min(...e){return this.check($i(...e))},max(...e){return this.check(Qi(...e))},length(...e){return this.check(ea(...e))},nonempty(...e){return this.check($i(1,...e))},lowercase(e){return this.check(na(e))},uppercase(e){return this.check(ra(e))},trim(){return this.check(la())},normalize(...e){return this.check(ca(...e))},toLowerCase(){return this.check(ua())},toUpperCase(){return this.check(da())},slugify(){return this.check(fa())}})),Uo=E(`ZodString`,(e,t)=>{Mn.init(e,t),Ho.init(e,t)},{email(e){return this.check(Tee(Yo,e))},url(e){return this.check(Ti(Qo,e))},jwt(e){return this.check(Ii(ms,e))},emoji(e){return this.check(jee(es,e))},guid(e){return this.check(Eee(Xo,e))},uuid(e){return this.check(Dee(Zo,e))},uuidv4(e){return this.check(Oee(Zo,e))},uuidv6(e){return this.check(kee(Zo,e))},uuidv7(e){return this.check(Aee(Zo,e))},nanoid(e){return this.check(Mee(ts,e))},cuid(e){return this.check(Nee(ns,e))},cuid2(e){return this.check(Pee(rs,e))},ulid(e){return this.check(Ei(is,e))},base64(e){return this.check(Ni(ds,e))},base64url(e){return this.check(Pi(fs,e))},xid(e){return this.check(Di(as,e))},ksuid(e){return this.check(Oi(os,e))},ipv4(e){return this.check(ki(ss,e))},ipv6(e){return this.check(Ai(cs,e))},cidrv4(e){return this.check(ji(ls,e))},cidrv6(e){return this.check(Mi(us,e))},e164(e){return this.check(Fi(ps,e))},datetime(e){return this.check(Li(Go,e))},date(e){return this.check(Ri(Ko,e))},time(e){return this.check(zi(qo,e))},duration(e){return this.check(Bi(Jo,e))}});function D(e){return wee(Uo,e)}var Wo=E(`ZodStringFormat`,(e,t)=>{Nn.init(e,t),Ho.init(e,t)}),Go=E(`ZodISODateTime`,(e,t)=>{Qn.init(e,t),Wo.init(e,t)}),Ko=E(`ZodISODate`,(e,t)=>{$n.init(e,t),Wo.init(e,t)}),qo=E(`ZodISOTime`,(e,t)=>{er.init(e,t),Wo.init(e,t)}),Jo=E(`ZodISODuration`,(e,t)=>{tr.init(e,t),Wo.init(e,t)}),Yo=E(`ZodEmail`,(e,t)=>{In.init(e,t),Wo.init(e,t)}),Xo=E(`ZodGUID`,(e,t)=>{Pn.init(e,t),Wo.init(e,t)}),Zo=E(`ZodUUID`,(e,t)=>{Fn.init(e,t),Wo.init(e,t)}),Qo=E(`ZodURL`,(e,t)=>{Wn.init(e,t),Wo.init(e,t)});function $o(e){return Ti(Qo,e)}var es=E(`ZodEmoji`,(e,t)=>{Gn.init(e,t),Wo.init(e,t)}),ts=E(`ZodNanoID`,(e,t)=>{Kn.init(e,t),Wo.init(e,t)}),ns=E(`ZodCUID`,(e,t)=>{qn.init(e,t),Wo.init(e,t)}),rs=E(`ZodCUID2`,(e,t)=>{Jn.init(e,t),Wo.init(e,t)}),is=E(`ZodULID`,(e,t)=>{Yn.init(e,t),Wo.init(e,t)}),as=E(`ZodXID`,(e,t)=>{Xn.init(e,t),Wo.init(e,t)}),os=E(`ZodKSUID`,(e,t)=>{Zn.init(e,t),Wo.init(e,t)}),ss=E(`ZodIPv4`,(e,t)=>{nr.init(e,t),Wo.init(e,t)}),cs=E(`ZodIPv6`,(e,t)=>{ar.init(e,t),Wo.init(e,t)}),ls=E(`ZodCIDRv4`,(e,t)=>{or.init(e,t),Wo.init(e,t)}),us=E(`ZodCIDRv6`,(e,t)=>{cr.init(e,t),Wo.init(e,t)}),ds=E(`ZodBase64`,(e,t)=>{dr.init(e,t),Wo.init(e,t)}),fs=E(`ZodBase64URL`,(e,t)=>{mr.init(e,t),Wo.init(e,t)}),ps=E(`ZodE164`,(e,t)=>{hr.init(e,t),Wo.init(e,t)}),ms=E(`ZodJWT`,(e,t)=>{_r.init(e,t),Wo.init(e,t)}),hs=E(`ZodNumber`,(e,t)=>{vr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ya(e,t,n,r),e.isFinite=!0},Je({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=Wa(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=Wa(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=Wa(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>Wa(e).format??null},{gt(e,t){return this.check(Yi(e,t))},gte(e,t){return this.check(Xi(e,t))},min(e,t){return this.check(Xi(e,t))},lt(e,t){return this.check(qi(e,t))},lte(e,t){return this.check(Ji(e,t))},max(e,t){return this.check(Ji(e,t))},int(e){return this.check(_s(e))},safe(e){return this.check(_s(e))},positive(e){return this.check(Yi(0,e))},nonnegative(e){return this.check(Xi(0,e))},negative(e){return this.check(qi(0,e))},nonpositive(e){return this.check(Ji(0,e))},multipleOf(e,t){return this.check(Zi(e,t))},step(e,t){return this.check(Zi(e,t))},finite(){return this}}));function O(e){return Vi(hs,e)}var gs=E(`ZodNumberFormat`,(e,t)=>{yr.init(e,t),hs.init(e,t)});function _s(e){return Hi(gs,e)}var vs=E(`ZodBoolean`,(e,t)=>{br.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xa(e,t,n,r)});function k(e){return Ui(vs,e)}var ys=E(`ZodNull`,(e,t)=>{xr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Za(e,t,n,r)});function bs(e){return Wi(ys,e)}var xs=E(`ZodUnknown`,(e,t)=>{Sr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ss(){return Gi(xs)}var Cs=E(`ZodNever`,(e,t)=>{Cr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Qa(e,t,n,r)});function ws(e){return Ki(Cs,e)}var Ts=E(`ZodArray`,(e,t)=>{Bo(),Tr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>io(e,t,n,r),e.element=t.element},{min(e,t){return this.check($i(e,t))},nonempty(e){return this.check($i(1,e))},max(e,t){return this.check(Qi(e,t))},length(e,t){return this.check(ea(e,t))},unwrap(){return this.element}});function A(e,t){return pa(Ts,e,t)}var Es=E(`ZodObject`,(e,t)=>{Bo(),jr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>oo(e,t,n,r),tt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return N(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(C(this._zod.def,{catchall:e}))},passthrough(){return this.clone(C(this._zod.def,{catchall:Ss()}))},loose(){return this.clone(C(this._zod.def,{catchall:Ss()}))},strict(){return this.clone(C(this._zod.def,{catchall:ws()}))},strip(){return this.clone(C(this._zod.def,{catchall:void 0}))},extend(e){return Oe(this,e)},safeExtend(e){return Ae(this,e)},merge(e){return je(this,e)},pick(e){return Te(this,e)},omit(e){return De(this,e)},partial(...e){return Me(Bs,this,e[0])},exactPartial(...e){return Me(Hs,this,e[0],`exactPartial`)},required(...e){return Ne(Xs,this,e[0])}});function j(e,t){return new Es({type:`object`,shape:e??{},...T(t)})}function M(e,t){return new Es({type:`object`,shape:e,catchall:ws(),...T(t)})}function Ds(e,t){return new Es({type:`object`,shape:e,catchall:Ss(),...T(t)})}var Os=E(`ZodUnion`,(e,t)=>{Nr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>so(e,t,n,r),e.options=t.options});function ks(e,t){return new Os({type:`union`,options:e,...T(t)})}var As=E(`ZodDiscriminatedUnion`,(e,t)=>{Os.init(e,t),Fr.init(e,t)});function js(e,t,n){return new As({type:`union`,options:t,discriminator:e,...T(n)})}var Ms=E(`ZodIntersection`,(e,t)=>{Ir.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>co(e,t,n,r)});function Ns(e,t){return new Ms({type:`intersection`,left:e,right:t})}var Ps=E(`ZodRecord`,(e,t)=>{Bo(),zr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>po(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Fs(e,t,n){return!t||!t._zod?new Ps({type:`record`,keyType:D(),valueType:e,...T(t)}):new Ps({type:`record`,keyType:e,valueType:t,...T(n)})}var Is=E(`ZodEnum`,(e,t)=>{Br.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>$a(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 Is({...t,checks:[],...T(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 Is({...t,checks:[],...T(r),entries:i})}});function N(e,t){return new Is({type:`enum`,entries:Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e,...T(t)})}var Ls=E(`ZodLiteral`,(e,t)=>{Vr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>eo(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 P(e,t){return new Ls({type:`literal`,values:Array.isArray(e)?e:[e],...T(t)})}var Rs=E(`ZodTransform`,(e,t)=>{Bo(),Hr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ro(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new lt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(We(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(We(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function zs(e){return new Rs({type:`transform`,transform:e})}var Bs=E(`ZodOptional`,(e,t)=>{Wr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Vs(e){return new Bs({type:`optional`,innerType:e})}var Hs=E(`ZodExactOptional`,(e,t)=>{Gr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Us(e){return new Hs({type:`optional`,innerType:e})}var Ws=E(`ZodNullable`,(e,t)=>{Kr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>mo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Gs(e){return new Ws({type:`nullable`,innerType:e})}var Ks=E(`ZodDefault`,(e,t)=>{qr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function qs(e,t){return new Ks({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ge(t)}})}var Js=E(`ZodPrefault`,(e,t)=>{Yr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>yo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Ys(e,t){return new Js({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ge(t)}})}var Xs=E(`ZodNonOptional`,(e,t)=>{Xr.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ho(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zs(e,t){return new Xs({type:`nonoptional`,innerType:e,...T(t)})}var Qs=E(`ZodCatch`,(e,t)=>{$r.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function $s(e,t){return new Qs({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:rt(t)})}var ec=E(`ZodPipe`,(e,t)=>{ei.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xo(e,t,n,r),e.in=t.in,e.out=t.out});function tc(e,t){return new ec({type:`pipe`,in:e,out:t})}var nc=E(`ZodPreprocess`,(e,t)=>{ec.init(e,t),ni.init(e,t)}),rc=E(`ZodReadonly`,(e,t)=>{ri.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>So(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ic(e){return new rc({type:`readonly`,innerType:e})}var ac=E(`ZodTemplateLiteral`,(e,t)=>{si.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>to(e,t,n,r)});function oc(e,t){return new ac({type:`template_literal`,parts:e,...T(t)})}var sc=E(`ZodCustom`,(e,t)=>{ci.init(e,t),Vo.init(e,t),e._zod.processJSONSchema=(t,n,r)=>no(e,t,n,r)});function cc(e,t={}){return ma(sc,e,t)}function lc(e,t){return ha(e,t)}function uc(e,t){return new nc({type:`pipe`,in:zs(e),out:t})}function dc(e){return Li(Go,e)}var fc=/^[A-Za-z0-9][A-Za-z0-9._-]*$/,pc=/^[A-Za-z0-9][A-Za-z0-9._-]*\/[A-Za-z0-9][A-Za-z0-9._-]*$/,mc=/^[A-Za-z0-9_=-]+$/;function hc(e){let t=e.split(`/`);return t.length!==2||!t.every(e=>fc.test(e))?null:[t[0],t[1]]}var gc=j({attempt:O().int().positive(),limit:O().int().positive()}).refine(e=>e.attempt<=e.limit),_c={error:D().nullable().optional(),nextAttemptAt:O().finite().nonnegative().nullable().optional(),retry:gc.nullable().optional(),isRefreshing:k().optional(),refreshNotice:D().nullable().optional()},vc=j({lane:N([`my-prs`,`team-review`,`issues`])}),yc=j({ok:k(),error:D().optional()}),bc=D().regex(pc),xc=D().regex(RegExp(`${pc.source.slice(0,-1)}#[1-9][0-9]*$`)),Sc=j({number:O().int().positive(),url:D().url(),title:D(),state:N([`open`,`draft`,`merged`,`closed`])});j({issue:j({closedByPullRequestsReferences:j({nodes:A(j({number:Sc.shape.number,url:Sc.shape.url,title:Sc.shape.title,state:N([`OPEN`,`MERGED`,`CLOSED`]),isDraft:k()}).nullable()).max(5)})}).nullable()});var Cc={key:D(),repo:bc,number:O().int().positive(),title:D(),url:D().url(),labels:A(D()),assignees:A(D()),author:D(),comments:O().int().nonnegative(),createdAt:dc(),updatedAt:dc()},wc=N([`project`,`me`,`team`]),Tc={...Cc,sources:A(wc).nonempty().refine(e=>new Set(e).size===e.length),teams:A(bc),projectId:D().nullable(),pullRequests:A(Sc).max(5).default([])},Ec=j(Tc).refine(e=>e.key===`${e.repo}#${e.number}`),Dc=j({...Tc,sessionId:D().nullable().default(null)}).refine(e=>e.key===`${e.repo}#${e.number}`),Oc=j({...Cc,state:N([`open`,`closed`])});j({number:Cc.number,title:Cc.title,html_url:Cc.url,state:N([`open`,`closed`]),labels:A(ks([D(),j({name:D()})])),assignees:A(j({login:D()})),user:j({login:D()}).nullable(),comments:Cc.comments,created_at:Cc.createdAt,updated_at:Cc.updatedAt,repository_url:D().url().optional(),pull_request:Ss().optional()}),j({items:A(Ss()),total_count:O().int().nonnegative(),incomplete_results:k()}),j({ok:k(),items:A(Oc),isComplete:k(),error:D()}),j({issues:A(Ec),lastSyncAt:O().finite().nonnegative().nullable(),perRepoSync:Fs(bc,j({lastSyncAt:O().finite().nonnegative().nullable(),ticks:O().int().nonnegative(),needsFullReconcile:k()})),sessionLinks:Fs(xc,D()).default({}),pullRequestsFetchedAt:Fs(xc,dc()).default({})});var kc=j({type:P(`issues-status`),ts:O().finite(),configured:k(),reason:D().nullable(),lastSyncAt:O().finite().nonnegative().nullable(),issues:A(Dc),..._c}).passthrough(),F=Object.freeze({DORMANT:`DORMANT`,INITIALIZING:`INITIALIZING`,STARTING:`STARTING`,RUNNING:`RUNNING`,WAITING:`WAITING`,IDLE:`IDLE`,COMPLETE:`COMPLETE`,DONE:`DONE`,FAILED:`FAILED`}),Ac=Object.freeze({[F.DORMANT]:`Dormant`,[F.INITIALIZING]:`Preparing`,[F.STARTING]:`Starting`,[F.RUNNING]:`Working`,[F.WAITING]:`Needs Input`,[F.IDLE]:`Idle`,[F.COMPLETE]:`Complete`,[F.DONE]:`Exited`,[F.FAILED]:`Failed`}),Fee=Object.freeze({[F.DORMANT]:`○`,[F.INITIALIZING]:`◌`,[F.STARTING]:`◐`,[F.RUNNING]:`●`,[F.WAITING]:`◆`,[F.IDLE]:`◍`,[F.FAILED]:`▲`,[F.DONE]:`■`,[F.COMPLETE]:`◇`}),jc=Object.freeze([F.INITIALIZING,F.STARTING,F.RUNNING,F.WAITING,F.IDLE,F.COMPLETE]),Iee=Object.freeze([F.DONE,F.FAILED]),Lee=Object.freeze([F.WAITING,F.IDLE,F.COMPLETE]),Ree=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 Mc(e){let t=e.split(/\r?\n/,1)[0]?.trim()??``;return t.length<=160?t:`${t.slice(0,157)}...`}function zee(e,t){let n=Ree[e];if(!n||!t||typeof t!=`object`||Array.isArray(t))return null;let r=t[n];return typeof r==`string`?r:null}function Nc(e,t){let n=zee(e,t);return n===null?``:Mc(n)}var Pc=/[\x00-\x1f\x7f-\x9f]/,Bee=RegExp(`${Pc.source}|[\\p{Cf}\\u2028\\u2029]`,`u`),Fc=D().refine(e=>!Pc.test(e)).trim().max(120);j({title:D().nullable()}).strict();var Ic=N(F),Lc=j({at:O().finite().nullable(),kind:D(),reason:D().nullable()}).passthrough(),Rc=e=>!Bee.test(e),Vee=j({text:D().min(1).max(300).refine(Rc),options:A(D().min(1).max(80).refine(Rc)).min(1).max(8),multiSelect:k()}),zc=j({toolName:D().max(160),summary:D().max(160),isComplete:k(),question:Vee.nullable().optional()}),Bc=j({id:D(),name:D(),taskTitle:Fc.nullable().default(null),taskTitleIsCustom:k().default(!1),path:D(),agent:D(),state:Ic,stateSince:O(),sleeping:k(),dangerouslySkipPermissions:k(),saneYolo:k().default(!1),ephemeral:k(),isWorktree:k(),isWorkspace:k().default(!1),resumeSessionId:D().nullable(),activeAgents:O().int().nonnegative(),awaitingBackgroundTasks:k(),isCompacting:k().default(!1),hasEndedTurn:k().default(!1),pendingWakeup:Lc.nullable(),pendingPromptKind:D().nullable(),pendingPromptDetail:zc.nullable().default(null),hasPlan:k().default(!1),mergeStatus:D().nullable(),mergeReason:D().nullable(),worktreeNotice:D().nullable(),effectiveBase:D().nullable(),auditLog:A(Ss())}).passthrough();function Hee(e,t){return!e||!t?!e&&!t:e.text===t.text&&e.multiSelect===t.multiSelect&&e.options.length===t.options.length&&e.options.every((e,n)=>e===t.options[n])}j({prompt:D({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:D({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:D({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(),j({note:D({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(),ks([j({ok:P(!0),pending:k()}).strict(),j({ok:P(!1),error:D()}).strict()]),j({id:Bc.shape.id,name:Bc.shape.name,agent:Bc.shape.agent,state:Bc.shape.state,ephemeral:Bc.shape.ephemeral}).strict(),j({workId:D().regex(/^wrk-[0-9a-f]{16}$/).optional(),readyIntent:D().regex(/^wrk-[0-9a-f]{16}$/).optional()}).strict().refine(e=>!!e.workId!=!!e.readyIntent,`Expected exactly one work id or ready intent`);var Vc=N([`low`,`medium`,`high`,`critical`]),Hc=N([`open`,`active`,`blocked`,`completed`,`cancelled`]),Uc=N([`ready`,`waiting`,`active`,`blocked`,`done`]),Uee=Ds({total:O().int().nonnegative(),roots:O().int().nonnegative(),dependencies:O().int().nonnegative(),states:Ds({open:O().int().nonnegative(),active:O().int().nonnegative(),blocked:O().int().nonnegative(),completed:O().int().nonnegative(),cancelled:O().int().nonnegative()}),readiness:Ds({ready:O().int().nonnegative(),waiting:O().int().nonnegative(),active:O().int().nonnegative(),blocked:O().int().nonnegative(),done:O().int().nonnegative()}),risks:Ds({low:O().int().nonnegative(),medium:O().int().nonnegative(),high:O().int().nonnegative(),critical:O().int().nonnegative()}),graphProblems:O().int().nonnegative(),scopeOverlaps:O().int().nonnegative(),scopeConflicts:O().int().nonnegative(),orphans:O().int().nonnegative(),unsynthesizedChildren:O().int().nonnegative()}),Wee=Ds({action:N([`steady`,`dispatch`,`continue`,`verify`,`synthesize`,`unblock`,`resolve-conflict`,`repair-navigation`,`refuse`]),reasons:A(D()),sources:A(Ds({name:D(),ok:k(),detail:D()})),work:Ds({stats:Uee,ready:A(D()),active:A(D()),blocked:A(D()),completed:A(D()),conflicts:A(Ds({left:D(),right:D(),scope:D()})),unsynthesized:A(Ss())}).nullable(),consequences:Ds({unverifiedCompletedWork:A(D())}),verification:Ds({state:D()})});Ds({work:A(Ds({work:D(),state:Hc,readiness:Uc,owner:Ds({session:D(),agent:D()}),last:Ds({event:D(),at:D(),session:D()}).nullable(),opened:Ds({at:dc(),objective:D(),authority:Ds({boundary:D()}),criteria:A(D()),risk:Vc,parent:D().nullable(),dependsOn:A(D()),readScopes:A(D()),writeScopes:A(D())})})),scopeConflicts:A(Ds({left:D(),right:D(),leftScope:D(),rightScope:D(),status:D()}))}),Ds({version:P(1),event:P(`opened`),at:dc(),session:P(`glimmervoid-factory`),work:D().regex(/^wrk-[a-f0-9]{16}$/),id:D().regex(/^wev-[a-f0-9]{16}$/),parent:bs(),objective:D(),criteria:A(D()),risk:Vc,state:P(`open`),authority:j({kind:P(`user-directed`),grantedBy:P(`operator`),boundary:D()}),writeScopes:A(D())}).extend({parent:D().regex(/^wrk-[a-f0-9]{16}$/)});var Gee=j({issueId:D().min(1),firstSeenMs:O().finite(),framePaths:A(D())}),Wc=j({workId:D().min(1),intentId:D().min(1),projectId:D().min(1),mergedSha:D().regex(/^[a-f0-9]{40,64}$/),mergedAt:dc(),writeScopes:A(D()),breaches:A(Gee).optional()});Ds({results:A(Ss())}),j({issueId:D().min(1),firstSeen:D().min(1),framePaths:A(D())}),Ds({records:A(Ds({from:j({kind:D(),id:D()}),relation:D(),to:j({kind:D(),id:D()}),session:D().optional(),evidence:D().optional()}))});var Kee=j({projectId:D(),projectName:D(),headSha:D().nullable(),paused:k(),orchestrator:j({sessionId:D(),intentId:D(),state:Ic}).nullable(),liveWorkers:A(j({workId:D(),sessionId:D()})).optional(),reviewing:A(D()).optional(),watches:A(Wc).optional(),note:D().nullable().optional(),spentTodayUsd:O().finite().nonnegative().optional(),dailyBudgetUsd:O().finite().nonnegative().nullable().optional(),verifierIntentIds:A(D()).optional(),error:D().nullable(),heading:j({action:Wee.shape.action,reasons:A(D())}),orders:A(j({id:D(),objective:D(),openedAt:dc(),criteria:A(D()),boundary:D(),risk:Vc,state:Hc,readiness:Uc,parent:D().nullable(),dependsOn:A(D()),writeScopes:A(D()),owner:D().nullable(),lastEvent:j({event:D(),at:D(),session:D()}).nullable()})),conflicts:A(j({left:D(),right:D(),scope:D()})),unverifiedCompletedWork:A(D())}),qee=j({type:P(`factory-state`),ts:O().finite(),projects:A(Kee)}),Gc=16384;function Jee(e){return e!==`.`&&e!==`..`&&!/[/\\]/.test(e)}var Kc=D().trim().min(1).max(128).refine(Jee,`Invalid factory project id`),qc=D().trim().min(1).max(4096),Jc=D().trim().min(1).max(1024),Yc=32,Xc=D().trim().min(1).max(64),Zc=j({id:Xc,objective:qc,criteria:A(qc).min(1).max(12),dependsOn:A(Xc).max(Yc),writeScopes:A(Jc).min(1).max(32)}),Qc=j({projectId:Kc,objective:qc,criteria:A(qc).min(1).max(12),risk:Vc,boundary:qc,writeScopes:A(Jc).max(32),tickets:A(Zc).min(1).max(Yc).optional()}),Yee=j({projectId:D().max(128),ok:k(),workId:D().min(1).max(128).optional(),error:D().max(Gc).optional()}),$c=j({projectId:Kc,action:N([`pause`,`resume`])}),Xee=j({projectId:D().max(128),action:$c.shape.action,ok:k(),error:D().max(Gc).optional()}),Zee=j({pass:k(),findings:A(D())}).strict();j({type:P(`result`),subtype:P(`success`),is_error:P(!1),structured_output:Zee}),j({ledgerPath:D().min(1).max(4096).nullable(),ledgerBranch:D().min(1).max(1024).nullable(),paused:k(),watch:A(Wc).optional(),trustedVerifications:A(j({id:D().min(1),sha:D().regex(/^[a-f0-9]{40,64}$/)})).optional(),trustedIntentCloses:A(D().min(1)).optional(),trustedIntentIds:A(D().min(1)).optional(),intentWriteScopes:Fs(D().min(1),A(D().min(1))).optional(),ticketedIntentIds:A(D().min(1)).optional(),pendingIntentTickets:Fs(D().min(1),j({risk:Vc,boundary:qc,tickets:A(Zc).min(1).max(Yc)})).optional(),intentBaseShas:Fs(D().min(1),D().regex(/^[a-f0-9]{40,64}$/)).optional(),filedBreaches:A(D().min(1)).optional(),factoryLandedShas:A(D().regex(/^[a-f0-9]{40,64}$/)).optional()}),j({workId:D().min(1),event:D().min(1),sessionId:D().optional(),detail:D().optional()}),js(`ok`,[j({ok:P(!0),sessionId:D()}),j({ok:P(!1),reason:D()})]);var el=2e4,tl=4e3,nl=524288,Qee=1e4,$ee=`ExitPlanMode`,ete=4096,tte=/^ {0,3}(#{1,6})[ \t]+(.*)$/;function nte(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 rte(e,{overlongLine:t}){if(t===`reject`&&e.length>4096)return null;let n=tte.exec(e.slice(0,ete));return n?{level:n[1].length,text:nte(n[2])}:null}var ite=j({plan:D().min(1),planFilePath:D().min(1),agent_id:D().min(1).optional(),agent_type:D().min(1).optional()}).passthrough();j({tool_name:P($ee),tool_input:ite,agent_id:D().min(1).optional(),agent_type:D().min(1).optional()}).passthrough(),j({plan:D(),planFilePath:D(),agentId:D().nullable(),agentType:D().nullable()}).extend({sessionId:D().min(1),revision:O().int().positive(),receivedAt:O().finite()});var rl=N(Object.freeze([`open`,`released`,`decided`,`closed`])),il=N(Object.freeze([`approve`,`approve-accept-edits`,`revise`,`terminal`])),ate=j({heading:D().max(tl).nullable(),comment:D().min(1).max(tl)}),ote=j({id:D().min(1),agentId:D().nullable(),revision:O().int().positive(),decision:il,feedback:D().max(el).optional(),comments:A(ate).max(40).optional(),plan:D().min(1).max(nl).optional()}),ste=j({revision:O().int().positive(),receivedAt:O().finite(),chars:O().int().nonnegative(),title:D()}),cte=j({revision:O().int().positive(),since:O().finite()}),al=j({agentId:D().nullable(),agentType:D().nullable(),revisions:A(ste),state:rl,openRevision:cte.nullable(),approvedRevision:O().int().positive().nullable(),lastDecision:il.nullable()});j({reviews:A(al)});var lte=j({agentId:D().nullable(),revision:O().int().nonnegative(),plan:D(),planFilePath:D(),receivedAt:O().finite()}),ute=j({id:D(),agentId:D().nullable(),agentType:D().nullable(),revision:O().int().positive(),receivedAt:O().finite(),state:rl,lastDecision:il.nullable(),approvedRevision:O().int().positive().nullable(),chars:O().int().nonnegative(),title:D(),hasPlan:k()}),dte=j({id:D(),agentId:D().nullable(),planFilePath:D(),changedAt:O().finite()}),fte=j({id:D(),reviews:A(al),body:lte.nullable()});Object.freeze([`file`,`subsystem`,`co-change`,`hotspot`,`blast`,`untested`,`collision`,`link`]);var ol=D().min(1),sl=D().min(1),cl=O().int().nonnegative(),ll=A(sl).max(20),pte=N([`added`,`modified`,`deleted`,`renamed`,`untracked`]),mte=M({factId:ol,path:sl,previousPath:sl.optional(),status:pte,isCommitted:k()}),hte=M({factId:ol,agentsPath:sl,title:D(),paths:A(sl).min(1)}),gte=M({factId:ol,path:sl,partner:sl,support:cl,confidence:O().min(0).max(1)}),_te=M({factId:ol,path:sl,commitCount:cl,fixCommitCount:cl}),ul=M({factId:ol,path:sl,directDependents:ll,directDependentCount:cl,transitiveDependentCount:cl,dependentTests:ll,dependentTestCount:cl}),dl=M({factId:ol,path:sl}),fl=M({factId:ol,path:sl,otherSessionId:D().min(1),otherSessionName:D()}),pl=M({factId:ol,providerRepo:D().min(1),packageName:D().min(1),packageDir:D(),consumerManifest:sl,versionSpec:D(),isLocalLink:k(),providerChangedPathCount:cl,importers:ll,importerCount:cl,changedImporterCount:cl}),ml=M({name:D().min(1),root:D().min(1),sessionPathPrefix:D(),base:D().nullable(),files:A(mte),subsystems:A(hte),coChangeGaps:A(gte),hotspots:A(_te),blastRadius:A(ul),untestedFiles:A(dl),collisions:A(fl),links:A(pl),error:D().nullable()}),hl=M({text:D().min(1).max(600),factIds:A(ol).min(1)}),gl=M({factsHash:D().min(1),model:D().nullable(),claims:A(hl).max(12)}),_l=N([`disabled`,`pending`,`ready`,`failed`]),vl=M({sessionId:D().min(1),sig:D().nullable(),generatedAt:O().finite(),repos:A(ml),narrative:gl.nullable(),narratorState:_l,error:D().min(1).optional()}),yl=4e3,bl=j({ts:O().finite(),uuid:D().nullable(),parentUuid:D().nullable(),vendorSessionId:D().min(1),agentId:D().min(1).optional(),agentType:D().min(1).optional(),transcriptOffset:O().int().nonnegative().optional(),truncated:k().optional()}),xl=js(`kind`,[bl.extend({kind:P(`prompt`),text:D()}),bl.extend({kind:P(`expansion`),text:D(),toolUseId:D().min(1).optional()}),bl.extend({kind:P(`thinking`),text:D()}),bl.extend({kind:P(`assistant`),text:D()}),bl.extend({kind:P(`tool_call`),toolUseId:D().min(1),name:D().min(1),input:Ss()}),bl.extend({kind:P(`tool_result`),toolUseId:D().min(1),content:D(),isError:k(),truncated:k()}),bl.extend({kind:P(`session`),vendor:D().min(1),transcriptPath:D().min(1),reason:D().min(1).optional()}),bl.extend({kind:P(`notice`),text:D().max(yl)}),bl.extend({kind:P(`raw`),line:D().max(yl)})]);j({transcriptPath:D().min(1),vendorSessionId:D().min(1),offset:O().int().nonnegative(),ingestedSubagentPaths:A(D().min(1)),offsetByTranscriptPath:Fs(D().min(1),O().int().nonnegative()).default({}),subagentOffsetByPath:Fs(D().min(1),O().int().nonnegative()).default({})});var Sl=N([`release`,`main`]),Cl=N([`idle`,`running`,`staged`,`succeeded`,`failed`,`discarded`,`interrupted`]),wl=N([`fetch`,`stage`,`install`,`link-deps`,`build`]),Tl=j({id:wl,status:N([`pending`,`running`,`succeeded`,`failed`]),startedAt:O().finite().nullable(),finishedAt:O().finite().nullable(),outputTail:A(D())}).strict(),El=j({state:Cl,fromSha:D().nullable(),toSha:D().nullable(),toVersion:D().nullable(),channel:Sl,steps:A(Tl),activeStep:wl.nullable(),reason:D().nullable(),startedAt:O().finite().nullable(),finishedAt:O().finite().nullable(),failedAtHandOff:k().optional()}).strict(),Dl=El.pick({state:!0,activeStep:!0,reason:!0,startedAt:!0,finishedAt:!0}),Ol=/^[0-9a-f]{7,40}$/i,kl=/^[0-9a-f]{40}$/;function Al(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 Ol.test(r)?r.slice(0,t).toLowerCase():``}var I=D().regex(kl),jl=D().regex(/^[^/]+\/[^/]+$/);j({number:O().int().positive(),title:D(),html_url:D(),draft:k().optional(),created_at:D().optional(),updated_at:D().optional(),repository_url:D(),user:j({login:D(),type:N([`User`,`Bot`])}).passthrough(),pull_request:j({}).passthrough()}).passthrough(),j({number:O().int().positive(),title:D(),body:D(),url:D(),author:j({login:D(),is_bot:k().optional()}).passthrough(),isDraft:k(),isCrossRepository:k(),baseRefName:D(),baseRefOid:I,headRefOid:I,additions:O().int().nonnegative(),deletions:O().int().nonnegative(),files:A(j({path:D(),additions:O().int().nonnegative(),deletions:O().int().nonnegative()}).passthrough())}).passthrough();var Ml=j({path:D(),line:O().int().positive(),side:N([`RIGHT`,`LEFT`]).default(`RIGHT`),body:D()}),Nl=Object.freeze({STAMP:`APPROVE`,COMMENT:`APPROVE WITH NITS`,NEEDS_YOU:`REQUEST CHANGES`}),Pl=N([`APPROVE`,`APPROVE WITH NITS`,`REQUEST CHANGES`,`BLOCKED`]),Fl=uc(e=>typeof e==`string`&&Object.hasOwn(Nl,e)?Nl[e]:e,Pl),Il=N([`CRITICAL`,`HIGH`,`MEDIUM`,`LOW`]),Ll=Ml.extend({severity:Il.optional()}),Rl=j({path:D().min(1),line:O().int().positive().nullable(),side:N([`RIGHT`,`LEFT`]),severity:Il,reviewer:D().min(1),disposition:N([`ACTIONABLE`,`NIT`,`AMBIGUOUS`]).nullable(),body:D().min(1)}),zl=j({goal:D().default(``),change:D(),checked:A(D()),gaps:A(D())});j({verdict:Pl,head:I,summary:D(),assessment:zl.nullable(),findings:A(Rl)}),j({body:D(),commit_id:I,comments:A(j({path:D().min(1),line:O().int().positive(),side:N([`RIGHT`,`LEFT`]).default(`RIGHT`),body:D().min(1)}))});var Bl=N([`APPROVE`,`COMMENT`]),Vl=N([`APPROVED`,`CHANGES_REQUESTED`,`COMMENTED`]),Hl=new Set([`APPROVED`,`CHANGES_REQUESTED`]),Ul=N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]),Wl=N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]),Gl={requestSource:N([`direct`,`team`]).default(`team`),isDraft:k().optional(),checksState:Wl.nullable().optional()},Kl=j({login:D().min(1),state:Vl,commit:I.nullable(),isViewer:k(),submittedAt:D().nullable().optional()});function ql(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`)}j({head:I,reviews:A(Kl)});var Jl=j({head:I,verdict:Pl,summary:D(),body:D(),comments:A(Ml),wasPosted:k()}),Yl=D().min(1).max(256).regex(mc),Xl=j({addressed:k(),reason:D().trim().min(1).max(4e3)}).strict(),Zl=j({id:Yl,path:D(),line:O().int().positive().nullable(),isResolved:k(),viewerCanResolve:k(),comments:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable().optional()}),nodes:A(j({body:D(),author:j({login:D()}).nullable(),viewerDidAuthor:k(),createdAt:D().datetime(),url:D().url(),originalCommit:j({oid:I}).nullable()}))})});j({data:j({node:j({comments:Zl.shape.comments}).nullable()}).nullable()}),j({pullRequest:j({reviewThreads:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable().optional()}),nodes:A(Zl)})}).nullable()}),j({data:j({resolveReviewThread:j({thread:j({id:Yl,isResolved:P(!0)})})}).nullable(),errors:A(Ss()).optional()});var Ql=j({id:Yl,path:D(),line:O().int().positive().nullable(),isResolved:k(),viewerCanResolve:k(),isNit:k(),url:D().url(),viewerComment:D().max(1500).optional(),lastReplyBody:D().max(1500).optional(),viewerCommentTruncated:k().optional(),lastReplyTruncated:k().optional(),lastReplyAuthor:D(),lastReplyAt:D().datetime(),judgement:Xl.extend({head:I,judgedAt:O().finite(),lastReplyAt:D().datetime()}).optional(),resolveError:D().optional(),resolveAttemptReplyAt:D().optional(),judgeAttempt:j({head:I,lastReplyAt:D(),retryAt:O().finite()}).optional(),unjudgeable:j({head:I,lastReplyAt:D(),reason:D().min(1)}).optional()});j({merge_base_commit:j({sha:I}),files:A(j({filename:D(),previous_filename:D().optional(),patch:D().optional()})).max(300)});var $l=j({total:O().int().nonnegative(),resolved:O().int().nonnegative()}),eu=j({...Gl,key:D(),repo:jl,number:O().int().positive(),title:D(),url:D(),author:D(),tier:N([`stamp`,`full`]),reasons:A(D()),reviewedHead:I,verdict:Fl,summary:D(),assessment:zl.optional(),body:D(),comments:A(Ll),status:N([`ready`,`stale`,`posted`,`discarded`,`error`]),error:D().optional(),threads:A(Ql).optional(),viewerThreads:$l.optional(),githubReviews:A(Kl).optional(),reviewDecision:Ul.nullable().optional(),liveHead:I.optional(),prCreatedAt:D().optional(),reviewedAt:O().finite().optional(),postedAt:O().finite().optional(),postedEvent:Bl.optional(),priorReviewedHead:I.optional(),requeuedHead:I.optional()});function tu(e){return e.status===`posted`&&e.postedEvent===`COMMENT`}var nu=N([`approve`,`approve-only`,`comment`,`discard`,`requeue`,`resolve-thread`]),ru=j({key:D().min(1),head:I,action:nu,threadId:Yl.optional(),body:D(),comments:A(Ml)}).refine(e=>e.action!==`resolve-thread`||e.threadId!==void 0,{message:`resolve-thread requires threadId`,path:[`threadId`]}),iu=j({key:D(),ok:k(),error:D().optional(),warning:D().optional()}),au=j({sessionId:D().min(1),workDir:D().min(1),worktreePath:D().min(1),head:I,deadlineAt:O(),remainingAwakeMs:O().nonnegative().optional(),savedAt:O()}),ou=j({...Gl,reviewDecision:Ul.nullable().optional(),key:D(),repo:jl,number:O().int().positive(),title:D(),url:D(),author:D(),prCreatedAt:D().optional()}),su=j({draft:eu.nullable(),reviewedHead:I.nullable(),inFlight:k(),skipReason:D().nullable(),handReview:ou.optional(),reviewAttempts:O().int().nonnegative().default(0),resumable:au.nullable().optional(),reviewedAt:O().optional(),threads:A(Ql).optional(),viewerThreads:$l.optional(),autoResolvedThreadIds:A(Yl).optional(),githubReviews:A(Kl).optional(),reviewDecision:Ul.nullable().optional(),liveHead:I.optional(),requeuedHead:I.optional(),priorReview:Jl.optional(),discardedReviewHead:I.optional(),updatedAt:O().finite()});Fs(D(),su);var cu=N([`preparing`,`checkout`,`reviewing`]),lu=j({at:O().finite(),tool:D(),detail:D()}),uu=j({...Gl,reviewDecision:Ul.nullable().optional(),key:D(),repo:jl,number:O().int().positive(),title:D(),url:D(),author:D(),tier:N([`stamp`,`full`]),reasons:A(D()),head:I,phase:cu,startedAt:O().finite(),deadlineAt:O().finite().nullable(),toolCalls:O().int().nonnegative(),recentSteps:A(lu),prCreatedAt:D().optional(),priorReviewedHead:I.optional()}),du=j({..._c,type:P(`team-review-status`),ts:O().finite(),configured:k(),reason:D().nullable().optional(),drafts:A(eu),inFlight:A(uu),queued:A(ou).default([]),handReview:A(ou).default([]),team:j({org:D(),slug:D(),name:D(),avatarUrl:D()}).nullable().optional()}).passthrough(),fu=N([`merged`,`draft`,`conflicts`,`behind`,`checks-failing`,`changes-requested`,`unresolved-threads`,`checks-pending`,`needs-approval`,`ready`,`unknown`]),pu=O().int().nonnegative(),mu=D().regex(pc),hu=oc([mu,`#`,D().regex(/^[1-9][0-9]*$/)]),gu=oc([hu,`@`,I]),_u=D().refine(e=>hu.safeParse(e).success),vu=D().refine(e=>gu.safeParse(e).success);js(`outcome`,[M({outcome:P(`pushed`)}),M({outcome:N([`no-change`,`failed`,`stopped`,`timed-out`]),reason:D().min(1)})]);var yu=M({outcome:N([`pushed`,`no-change`,`failed`,`stopped`,`timed-out`]),reason:D().min(1).optional(),at:O().finite()}),bu=yu.extend({key:_u,headRefOid:I,baseRefOid:I,consecutiveAttempts:O().int().min(1).optional()});M({keepMergeableKeys:A(_u),keepMergeableAttemptKeys:A(vu),keepMergeableAttempts:A(bu).default([]),mergeQueueKeys:A(_u).default([]),keepMergeablePushedHeadKeys:A(vu).default([])});var xu=j({repo:mu,number:O().int().positive(),keepMergeable:k()}),Su=j({key:D(),ok:k(),error:D().optional()}),Cu=Su,wu=j({repo:mu,number:O().int().positive(),mergeWhenReady:k()}),Tu=Su,Eu=N([`MERGE`,`SQUASH`,`REBASE`]),Du=j({path:D(),line:O().int().positive().nullable(),isOutdated:k(),url:$o(),author:D().nullable(),excerpt:D(),commentCount:O().int().positive(),lastAuthor:D().nullable(),lastActivityAt:D()}),Ou=j({reviewer:D().nullable(),state:D(),submittedAt:D().nullable()}),ku=j({outcome:N([`rebased`,`failed`]),at:O().finite(),message:D()}),Au=j({key:D(),repo:mu,number:O().int().positive(),title:D(),url:$o(),isDraft:k(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),updatedAt:D(),baseRefName:D(),baseRefOid:I,headRefName:D().min(1),isCrossRepository:k(),headRefOid:I,isInMergeQueue:k(),mergeMethod:Eu,mergeable:N([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:D(),reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),checks:j({state:N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),failing:A(D()),pendingCount:pu}),unresolvedThreads:pu,threads:A(Du),behindBy:pu.nullable(),reviewRequests:A(j({name:D(),isTeam:k(),avatarUrl:D().nullable()})),approvals:pu,reviews:A(Ou),stage:fu,autoRebase:ku.optional(),keepMergeable:k().optional(),keepMergeableAttempt:yu.optional(),isKeepMergeableFixInFlight:k().optional(),mergeQueuePosition:O().int().positive().nullable().optional(),isMergeQueueHeldForRepairPush:k().optional()}).refine(e=>e.key===`${e.repo}#${e.number}`),ju=j({..._c,type:P(`my-prs-status`),ts:O().finite(),configured:k(),reason:D().nullable().optional(),viewer:D().nullable(),prs:A(Au),truncatedNote:D().nullable().optional(),isKeepMergeableEnabled:k().optional(),isMergeQueueEnabled:k().optional()}).passthrough(),Mu=j({repo:mu,number:O().int().positive(),headRefOid:I}),Nu=N([`merged`,`queued`,`auto-merge`,`unconfirmed`]),Pu=j({key:D(),ok:k(),kind:Nu.optional(),error:D().optional()}),Fu=j({__typename:P(`CheckRun`),name:D(),conclusion:D().nullable(),status:D()}),Iu=j({__typename:P(`StatusContext`),context:D(),state:D()}),Lu=j({__typename:P(`PullRequest`),id:D().regex(mc),number:O().int().positive(),title:D(),url:$o(),isDraft:k(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),updatedAt:D(),baseRefName:D(),baseRefOid:I,headRefName:D().min(1),isCrossRepository:k(),headRefOid:I,isInMergeQueue:k(),mergeable:N([`MERGEABLE`,`CONFLICTING`,`UNKNOWN`]),mergeStateStatus:D(),reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable(),repository:j({nameWithOwner:mu,viewerDefaultMergeMethod:Eu}),commits:j({nodes:A(j({commit:j({statusCheckRollup:j({state:N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable(),contexts:j({nodes:A(ks([Fu,Iu]))})}).nullable()})}))}),reviewThreads:j({pageInfo:j({hasNextPage:k()}),nodes:A(j({isResolved:k()}))}),reviewRequests:j({nodes:A(j({requestedReviewer:js(`__typename`,[j({__typename:P(`User`),login:D()}),j({__typename:P(`Team`),slug:D(),avatarUrl:D().nullable(),organization:j({login:D()})}),j({__typename:N([`Bot`,`Mannequin`])})]).nullable()}))}),latestOpinionatedReviews:j({nodes:A(j({state:D()}))}),latestReviews:j({nodes:A(j({state:D(),submittedAt:D().nullable(),author:j({login:D()}).nullable()}))})}),Ru=j({login:D()}).nullable();j({isResolved:k(),isOutdated:k(),path:D(),line:O().int().positive().nullable(),firstComment:j({totalCount:pu,nodes:A(j({author:Ru,bodyText:D(),url:$o(),createdAt:D()}))}),lastComment:j({nodes:A(j({author:Ru,createdAt:D()}))})}),j({data:j({repository:j({pullRequest:j({reviewThreads:j({pageInfo:j({hasNextPage:k(),endCursor:D().nullable()}),nodes:A(Ss())})}).nullable()}).nullable()}),errors:A(Ss()).optional()}),j({data:j({repository:j({pullRequest:j({state:D(),isInMergeQueue:k(),autoMergeRequest:j({enabledAt:D().nullable()}).nullable()}).nullable()}).nullable()}),errors:A(Ss()).optional()}),j({data:j({open:j({issueCount:pu,nodes:A(Ss())}),merged:j({issueCount:pu,nodes:A(Ss())})}),errors:A(Ss()).optional()});var zu=/^[A-Za-z0-9][A-Za-z0-9._-]{0,63}$/,Bu=/^[A-Za-z_][A-Za-z0-9_]*$/,Vu=D().regex(/^[^/\s]+\/[^/\s]+$/),Hu=O().finite(),Uu=D().min(1),Wu=Object.freeze([`CLAUDE_CODE_OAUTH_TOKEN`]),Gu=D().regex(zu);function Ku(e){return new Set(e.map(e=>e.id)).size===e.length}var qu=js(`kind`,[M({kind:P(`manual`)}),M({kind:P(`github-merged-prs`),repo:Vu,minBodies:O().int().min(1),limit:O().int().min(1).max(500)})]),Ju=js(`kind`,[M({kind:P(`none`)}),M({kind:P(`pr-checkout`)})]),Yu=M({promptTemplate:Uu,output:N([`review-findings`,`json`]),timeoutSeconds:O().int().min(30).max(14400)}),Xu=M({id:Gu,env:Fs(D().regex(Bu),D()).refine(e=>Wu.every(t=>!Object.hasOwn(e,t)),{message:`arm env must not set ${Wu.join(`, `)}; Glimmervoid injects it per cell`}).optional(),extraArgs:A(D()).optional(),setup:M({command:A(Uu).min(1)}).optional()}),Zu=js(`kind`,[M({kind:P(`llm-judge-match`),model:Uu})]);M({id:Gu,title:Uu,caseSource:qu,workspace:Ju,subject:Yu,arms:A(Xu).min(2).refine(Ku,{message:`arm ids must be unique`}),baselineArm:Gu,trials:O().int().min(1).max(20),scorer:Zu}).refine(e=>e.arms.some(t=>t.id===e.baselineArm),{message:`baselineArm must name one of the arms`,path:[`baselineArm`]});var Qu=M({id:Gu,text:Uu,tags:A(Gu),path:Uu.optional(),line:O().int().positive().optional()}),$u=js(`kind`,[M({kind:P(`manual`)}),M({kind:P(`github-pr`),repo:Vu,number:O().int().positive(),url:Uu,minedAt:Hu})]);M({id:Gu,input:Fs(D(),Ss()),references:A(Qu).min(1).refine(Ku,{message:`reference ids must be unique`}),source:$u}),j({repo:Vu,number:O().int().positive(),reviewedSha:I,baseSha:I,changedFiles:A(Uu)});var ed=M({referenceId:Gu,verdict:N([`found`,`partial`,`missed`]),findingIndexes:A(O().int().nonnegative())}),td=N([`scored`,`invalid`,`error`]),nd=M({caseId:Gu,armId:Gu,trial:O().int().min(1),status:td,startedAt:Hu,finishedAt:Hu,degradedReasons:A(Uu),findingCount:O().int().nonnegative(),judgements:A(ed),costUsd:O().finite().nonnegative().nullable(),error:Uu.nullable()}),rd=N([`running`,`completed`,`interrupted`,`failed`]);M({id:Gu,suiteId:Gu,status:rd,startedAt:Hu,finishedAt:Hu.nullable(),error:Uu.nullable(),cells:A(nd)});var id=O().min(0).max(1).nullable(),ad=M({trials:O().int().nonnegative(),recall:id,recallByTag:Fs(Gu,id),degraded:O().int().nonnegative(),invalid:O().int().nonnegative(),costUsd:O().finite().nonnegative().nullable()}),od=M({caseId:Gu,arms:Fs(Gu,ad),deltaVsBaseline:Fs(Gu,O().min(-1).max(1).nullable())}),sd=M({runId:Gu,suiteId:Gu,status:rd,baselineArm:Gu,armIds:A(Gu),rows:A(od),totals:Fs(Gu,ad)}),cd=N([`mine`,`run`,`cancel`]),ld=j({suiteId:Gu,action:cd}),ud=j({suiteId:Gu,action:cd,ok:k(),error:D().optional(),runId:Gu.optional()}),dd=N([`setup`,`preflight`,`workspace`,`subject`,`judge`]),fd=j({suiteId:Gu,runId:Gu,caseId:Gu.nullable(),armId:Gu,trial:O().int().min(1),phase:dd,cellIndex:O().int().nonnegative(),cellCount:O().int().positive(),startedAt:Hu}),pd=j({id:Gu,title:D(),error:D().nullable(),caseCount:O().int().nonnegative(),candidateCount:O().int().nonnegative(),armIds:A(Gu),baselineArm:Gu.nullable(),latestReport:sd.nullable()}),md=j({type:P(`benchmark-status`),ts:Hu,configured:k(),reason:D().nullable(),suites:A(pd),inFlight:fd.nullable()}).passthrough(),hd=j({__typename:D(),login:D()}).nullable();j({number:O().int().positive(),title:D(),url:Uu,mergedAt:D().nullable(),reviewThreads:j({totalCount:O().int().nonnegative()}),reviews:j({totalCount:O().int().nonnegative()})});var gd=j({path:D(),line:O().int().positive().nullable(),originalLine:O().int().positive().nullable(),comments:j({nodes:A(j({databaseId:O().int().positive(),author:hd,body:D(),createdAt:D(),originalCommit:j({oid:I}).nullable()}))})}),_d=j({databaseId:O().int().positive(),author:hd,body:D(),submittedAt:D().nullable(),commit:j({oid:I}).nullable()}),vd=js(`__typename`,[j({__typename:P(`BaseRefChangedEvent`),createdAt:D()}),j({__typename:P(`BaseRefForcePushedEvent`),createdAt:D(),beforeCommit:j({oid:I}).nullable()})]);j({author:hd,baseRefOid:I,reviewThreads:j({pageInfo:j({hasNextPage:k()}),nodes:A(gd)}),reviews:j({pageInfo:j({hasNextPage:k()}),nodes:A(_d)}),timelineItems:j({pageInfo:j({hasNextPage:k()}),nodes:A(vd)})}),j({mergeBaseSha:I,changedFiles:A(Uu),isFileListComplete:k()});var L=D().nullable().optional(),yd=D();function R(e,t){return Ds({type:P(e),...t})}function bd(e={}){return Ds(e)}var xd=D().nullable(),Sd=O().finite(),Cd=Sd.optional(),wd=xd.optional(),Td=bd(),Ed=A(Ss()),Dd=O().int().positive(),Od=A(bd({at:Sd,tool:D(),detail:D()}));j({id:D(),label:D(),command:D(),args:A(D()),resolvable:k().nullable()}).strict();var kd=j({id:yd,session:D(),taskTitle:Fc.nullable().optional(),taskTitleIsCustom:k().optional(),path:D(),agent:D(),state:Ic,stateSince:Sd,skipPerms:k(),saneYolo:k(),worktree:k(),workspace:k().optional(),resumeSessionId:xd,ephemeral:k().optional()}),Ad=1e3,jd=RegExp(`^[^\0--Ÿ]+$`),Md=M({section:N([`committed`,`uncommitted`]),path:D().min(1).max(400).regex(jd),line:O().int().positive(),side:N([`old`,`new`]),note:D().min(1).max(Ad)}),Nd=4096,Pd=Nd+2*(nl+el+80*tl),Fd=j({reason:D(),message:D()}),Id=N([`npm-global`,`npx`,`clone`,`unknown`]),Ld={updateAvailable:k(),current:xd,latest:xd,currentSha:xd,latestSha:xd,releaseUrl:xd,command:D(),flavor:Id,platform:D(),installedBranch:xd,upstream:xd,isTreeClean:k().nullable(),lastCheckAt:Sd,channel:Sl,behindCount:O().int().nonnegative().nullable(),reason:xd,journalSummary:Dl.nullable(),applyRefusal:Fd.nullable()};j(Ld);var Rd=8192,zd=j({name:D().max(128),stack:D().max(Rd)}).strict(),Bd=[`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 Vd(e){return R(e,{id:yd,force:Ss().optional()})}var Hd=Bd.map(Vd);js(`type`,[R(`add-session`,{name:D(),path:D(),repos:A(D()).optional(),agent:D().optional(),dangerouslySkipPermissions:k().optional()}),R(`list-conversations`,{id:yd,requestId:L}),R(`resume-conversation`,{id:yd,conversationId:D()}),R(`rename-session`,{id:yd,newName:D()}),R(`set-session-title`,{id:yd,title:Fc}),R(`reorder-sessions`,{order:A(yd)}),R(`ping`,{requestId:L}),R(`get-settings`,{requestId:L}),R(`update-settings`,{settings:Fs(D(),Ss()),requestId:L}),R(`scan-repo-roots`,{requestId:L}),R(`list-agents`,{requestId:L}),R(`get-posthog-report`,{issueId:ks([D(),O()]),requestId:L}),R(`posthog-open-session`,{projectId:ks([D(),O()]),issueId:ks([D(),O()]),requestId:L}),R(`issue-detail`,{requestId:D().min(1),repo:bc,issueNumber:O().int().positive()}),R(`open-issue-session`,{requestId:L,projectId:D(),repo:bc,issueNumber:O().int().positive()}),R(`posthog-issue-action`,{projectId:ks([D(),O()]),issueId:ks([D(),O()]),action:D(),requestId:L}),R(`team-review-action`,{...ru.shape,requestId:L}),R(`factory-queue-intent`,{...Qc.shape,requestId:L}),R(`factory-control`,{...$c.shape,requestId:L}),R(`benchmark-action`,{...ld.shape,requestId:L}),R(`my-pr-merge`,{...Mu.shape,requestId:L}),R(`my-pr-keep-mergeable`,{...xu.shape,requestId:L}),R(`my-pr-merge-when-ready`,{...wu.shape,requestId:L}),R(`reviews-refresh`,{...vc.shape,requestId:L}),R(`posthog-archive-investigation`,{id:Ss().optional(),requestId:L}),R(`request-usage-report`,{requestId:L,days:Ss().optional(),force:Ss().optional()}),R(`request-hooks-report`,{requestId:L}),R(`send-diff-annotations`,{id:yd,annotations:A(Md).min(1).max(50),requestId:L}),R(`save-hook`,{hook:Fs(D(),Ss()),requestId:L}),R(`delete-hook`,{id:D(),requestId:L}),R(`shutdown`),R(`restart-server`),R(`focus-change`,{focused:k()}),R(`request-health-snapshot`),R(`update-check`),R(`update-apply`,{restartWhenStaged:k().optional(),confirmedSessionIds:A(D().min(1)).max(1e3).optional()}),R(`session-trace`,{id:yd,after:O().int().nonnegative().default(0),endingAt:ks([O().int().nonnegative(),P(`tail`)]).optional()}),R(`session-plan`,{id:yd,agentId:xd,revision:Dd.optional(),draft:k().optional()}),R(`plan-decision`,ote.shape),R(`client-error`,zd.shape),R(`dismiss`,{id:yd,force:Ss().optional(),expectedState:Ic.optional()}),...Hd]),Object.freeze(`snapshot.hooks-report.save-hook-result.delete-hook-result.hooks-updated.state-change.session-added.session-removed.session-renamed.session-title.session-modified.session-git.session-agents.session-wakeup.session-prompt.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.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.posthog-status.posthog-investigation-activity.posthog-investigation-finished.posthog-report.posthog-open-session-result.issue-detail-result.open-issue-session-result.posthog-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.reviews-refresh-result.posthog-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 Ud=js(`type`,[R(`snapshot`,{sessions:A(Bc),serverBuild:xd}),R(`hooks-report`,{requestId:L,ts:Cd,hooks:A(Td).optional(),builtin:A(Td).optional(),events:A(bd({name:D(),matcher:xd,description:D(),http:k().optional()})).optional(),projects:A(bd({id:D(),name:D(),agent:D()})).optional(),limits:bd({maxTimeoutSec:O().int().positive()}).optional(),error:wd}),R(`save-hook-result`,{requestId:L,ok:k(),error:wd,hook:Td.optional()}),R(`delete-hook-result`,{requestId:L,ok:k(),error:wd,id:D().optional()}),R(`hooks-updated`,{count:O().int().nonnegative()}),R(`state-change`,{id:yd,session:D(),from:Ic,to:Ic,event:D(),timestamp:Sd,skipPerms:k().optional(),saneYolo:k().optional(),hasEndedTurn:k().optional()}),R(`session-added`,kd.shape),R(`session-modified`,kd.shape),R(`session-removed`,{id:yd,session:D()}),R(`session-renamed`,{id:yd,oldName:D(),newName:D()}),R(`session-title`,{id:yd,taskTitle:Fc.nullable(),isCustom:k()}),R(`session-git`,{id:yd,worktree:k()}),R(`session-agents`,{id:yd,activeAgents:O().int().nonnegative(),awaitingBackgroundTasks:k(),timestamp:Sd}),R(`session-wakeup`,{id:yd,pendingWakeup:Lc.nullable(),timestamp:Sd}),R(`session-prompt`,{isCompacting:k().optional(),id:yd,pendingPromptKind:xd,pendingPromptDetail:zc.nullable().optional(),timestamp:Sd}),R(`session-sleep`),R(`session-wake`),R(`session-merge-status`,{id:yd,mergeStatus:D(),reason:xd,parked:k(),timestamp:Sd}),R(`session-worktree-blocked`,{id:yd,session:D(),branch:xd,notice:xd,timestamp:Sd}),R(`session-worktree-warning`,{id:yd,session:D(),branch:xd,notice:xd,timestamp:Sd}),R(`session-worktree-ready`,{id:yd,session:D(),branch:xd,base:xd,timestamp:Sd}),R(`session-diff`,{id:yd,committed:bd({stat:D(),diff:D()}),uncommitted:bd({stat:D(),diff:D()}),hasCommits:k()}),R(`session-diff-error`,{id:yd,message:D()}),R(`change-map`,{id:yd,map:vl}),R(`send-diff-annotations-result`,{requestId:L,ok:k(),error:wd,pending:k().optional()}),R(`branch-sync-status`,{id:yd,branch:xd,upstream:xd,state:D(),ahead:O().int().nonnegative(),behind:O().int().nonnegative(),fetched:k().nullable(),action:D().optional(),error:wd}),R(`session-changed`,{id:yd}),R(`post-turn-result`,{id:yd,mode:D(),skipped:xd,filesFixed:O().int().nonnegative(),findings:A(bd({file:D(),rule:D(),count:O().int().nonnegative()})),timestamp:Sd}),R(`debug-state-response`,{id:yd,payload:Td}),R(`session-trace-response`,{id:yd,records:A(xl),start:O().int().nonnegative(),next:O().int().nonnegative(),reset:k(),path:D()}),R(`session-trace-changed`,{id:yd}),R(`session-plan-changed`,ute.shape),R(`session-plan-draft`,dte.shape),R(`session-plan-response`,fte.shape),R(`notify`,{session:D(),category:D(),message:D(),escalationCount:O().int().nonnegative(),kind:P(`plan`).optional()}),R(`update-status`,Ld),R(`update-progress`,{journal:El}),R(`error`,{id:yd.optional(),message:D(),requestId:L,scope:D().optional()}),R(`session-error`,{id:yd.optional(),session:D(),message:D(),scope:D().optional()}),R(`settings`,{settings:Td,requestId:L}),R(`settings-error`,{message:D(),requestId:L}),R(`settings-updated`,{settings:Td,requestId:L}),R(`pong`,{requestId:L}),R(`agents-listed`,{requestId:L,agents:A(bd({id:D(),label:D(),resolvable:k()}))}),R(`repo-roots-scanned`,{requestId:L,directories:A(bd({root:D(),projects:A(bd({name:D(),path:D()}))})),error:D().optional()}),R(`conversations`,{requestId:L,id:xd,current:xd.optional(),conversations:A(bd({id:D(),title:D(),cwd:D(),worktreePath:D(),worktreeName:D(),gitBranch:xd,mtime:Sd})),error:D().optional()}),R(`resume-conversation-ack`,{id:yd.optional(),resumeSessionId:xd.optional(),ok:k(),error:D().optional(),requestId:L}),R(`health-snapshot`,{stats:Td}),R(`posthog-status`,{ts:Sd,intervalMinutes:O(),projects:A(Td),investigations:A(Td)}),R(`posthog-investigation-activity`,{projectId:ks([D(),O()]),issueId:D(),inFlight:P(!0),startedAt:Sd.nullable(),trail:Od}),R(`posthog-investigation-finished`,{projectId:ks([D(),O()]),issueId:D(),verdict:D(),summaryLine:xd,startedAt:Sd.nullable(),trail:Od}),R(`posthog-report`,{requestId:L,ok:k(),found:k(),issueId:xd,format:D().optional(),content:D().optional(),message:D().optional(),error:D().optional()}),R(`posthog-open-session-result`,{requestId:L,ok:k(),error:wd,sessionId:D().optional(),sessionName:D().optional(),pending:k().optional()}),R(`issue-detail-result`,{requestId:D().min(1),ok:k(),body:D().nullable(),error:D().nullable()}),R(`open-issue-session-result`,{requestId:L,ok:k(),error:wd,sessionId:D().optional(),sessionName:D().optional(),pending:k().optional(),existing:k().optional()}),R(`posthog-issue-action-result`,{requestId:L,ok:k(),error:wd,status:xd.optional()}),R(`team-review-action-result`,{...iu.shape,requestId:L}),R(`factory-queue-intent-result`,{...Yee.shape,requestId:L}),R(`factory-control-result`,{...Xee.shape,requestId:L}),R(`benchmark-action-result`,{...ud.shape,requestId:L}),R(`my-pr-merge-result`,{...Pu.shape,requestId:L}),R(`my-pr-keep-mergeable-result`,{...Cu.shape,requestId:L}),R(`my-pr-merge-when-ready-result`,{...Tu.shape,requestId:L}),R(`reviews-refresh-result`,{...yc.shape,requestId:L}),R(`posthog-archive-investigation-result`,{requestId:L,ok:k(),error:wd}),du,md,R(`factory-state`,qee.shape),ju,kc,R(`branch-gc-status`),R(`usage-sessions`,{ts:Sd,pricingSource:xd,sessions:A(bd({id:yd,tokens:O(),costUSD:O(),officialCostUSD:O().nullable().optional()}))}),R(`usage-report`,{requestId:L,ts:Cd,tz:D().optional(),blockHours:O().optional(),totals:Td.optional(),daily:Ed.optional(),models:Ed.optional(),sessions:Ed.optional(),blocks:Ed.optional(),activeBlock:Ss().nullable().optional(),anomaly:Ss().nullable().optional(),byLane:Ss().optional(),planWindowLanes:Ss().nullable().optional(),budget:Ss().optional(),savings:Ss().optional(),tokenLimit:Ss().nullable().optional(),pricing:Td.optional(),scan:Td.optional(),warning:wd,error:wd}),R(`plan-limits`,{ts:Sd,fiveHour:Ss().nullable(),sevenDay:Ss().nullable(),source:D()}),R(`usage-budget-alert`,{scope:D(),periodKey:D(),threshold:O(),text:D(),ts:Sd}),R(`visions-findings`,{uri:D(),diagnostics:Ed,ts:Sd}),R(`visions-comments`,{uri:D(),comments:Ed,ts:Sd}),R(`visions-hand`,{uri:D(),hand:xd,ts:Sd}),R(`visions-intent`,{projectId:xd,intent:Td,ts:Sd}),R(`visions-fix`,{uri:D(),fix:Td,ts:Sd}),R(`visions-snapshot`,{documents:A(Td),intent:Td,fixes:A(Td),ts:Sd}),R(`ingest-activity`,{events:A(Td),overflow:O().int().nonnegative(),ts:Sd}),R(`ingest-snapshot`,{events:A(Td),sources:Ss(),ts:Sd}),R(`client-trust`,{trust:N([`local`,`remote`])}),R(`sessions-reordered`,{order:A(yd)}),R(`shutting-down`),R(`restarting`)]),Wd=null,Gd=null,Kd=0,qd=new Map,Jd=null,Yd=0,Xd=!1,Zd=0,Qd=0,$d=null,ef=null;function tf(e){ef=e}function nf(e){$d=e}function z(e){return Wd?.readyState===WebSocket.OPEN&&(Wd.send(JSON.stringify(e)),!0)}function rf(e){return Qd+=1,`${e}-${Qd}`}function af(e,t){let n=rf(e);return new Promise((r,i)=>{let a=setTimeout(()=>{qd.delete(n),i(Error(`Request timed out`))},5e3);if(qd.set(n,{resolve:r,reject:i,timer:a}),Wd?.readyState!==WebSocket.OPEN){clearTimeout(a),qd.delete(n),i(Error(`Not connected`));return}Wd.send(JSON.stringify({type:e,requestId:n,...t}))})}function of(e){for(let t of qd.values())clearTimeout(t.timer),t.reject(Error(e));qd.clear()}function sf(){let e=Wd;Wd=null,of(`Connection replaced`),e?.close(),Kd=0,cf()}function cf(){if(Gd!==null&&(Gd!==null&&clearTimeout(Gd),Gd=null),!h()&&!Xd){Xd=!0,g().finally(()=>{Xd=!1,cf()});return}if(Xd)return;let e=Zd>0?`?since=${Zd}`:``,t=f(location,v(`/control${e}`)),n=new WebSocket(t);Wd=n,Yd=Date.now();let r=!1;n.addEventListener(`open`,()=>{r=!0,Kd=0,ef&&ef(`connected`,`Connected`)}),n.addEventListener(`message`,e=>{if(Wd!==n)return;let t;try{t=JSON.parse(e.data)}catch{console.warn(`[control] Dropped malformed server JSON message`);return}let r=Ud.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`&&(Zd=0),typeof i.seq==`number`){if(i.seq<=Zd)return;Zd=i.seq}let a=typeof i.requestId==`string`?i.requestId:``,o=a?qd.get(a):void 0;if(o){clearTimeout(o.timer),qd.delete(a),o.resolve(i);return}$d&&$d(i)}),n.addEventListener(`close`,()=>{if(Wd!==n)return;Wd=null,of(`Connection closed`),r||_(),ef&&ef(`disconnected`,`Reconnecting`);let e=a(Kd);Kd+=1,Gd=setTimeout(cf,e)})}async function lf(e){if(ef&&ef(`connecting`,`Connecting`),Jd)return Jd;let t=u({hasSocket:!!Wd,readyState:Wd?.readyState??null,retryPending:Gd!==null,connectingAgeMs:Date.now()-Yd,hiddenForMs:e});if(t===`retry-now`)return Gd!==null&&clearTimeout(Gd),Gd=null,Kd=0,cf(),`reconnecting`;if(t===`connect`)return sf(),`reconnecting`;if(t===`wait`)return`reconnecting`;let n=Wd;return Jd=af(`ping`,{}).then(()=>(ef&&ef(`verified`,`Connected`),`ok`)).catch(()=>(Wd===n&&n&&sf(),`dead`)).finally(()=>{Jd=null}),Jd}function uf(e,t){return!e||e.toLowerCase().endsWith(`[bot]`)?null:`https://avatars.githubusercontent.com/${encodeURIComponent(e)}?s=${t*2}`}function df(e){return e.match(/[a-z0-9]/i)?.[0]?.toUpperCase()??`?`}function B(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function ff(e,t,n){let r=B(e,t);return r.innerHTML=n,r}function pf(e,t){for(let[n,r]of t)e.style.setProperty(n,r)}function mf({login:e,url:t,cssPx:n}){let r=B(`span`,`avatar`);r.style.width=`${n}px`,r.style.height=`${n}px`;let i=()=>B(`span`,`avatar-monogram`,df(e)),a=t===void 0?uf(e,n):t;if(!a)return r.append(i()),r;let o=B(`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 hf(e,t){let n=B(`span`,`avatar-stack`);for(let r of e){let e=mf({login:r.login,url:r.url,cssPx:t});e.title=r.title,e.setAttribute(`role`,`img`),e.setAttribute(`aria-label`,r.title);let i=B(`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 gf(e,t){let n=e.querySelector(t);if(!(n instanceof HTMLElement))throw Error(`${t} matches no element`);return n}function _f(e,t,n,r=t){if(!n){let n=B(`span`,e,t);return n.title=r,n}let i=B(`a`,e,t);return i.title=r,i.href=n,i.target=`_blank`,i.rel=`noopener`,i}var vf={"pending-review":`REVIEW`,parked:`PARKED`,merging:`MERGING`};function yf(e,t){return e===F.RUNNING&&t===!0}function bf(e,t=!1){let n=e,r=yf(e,t),i=r?`Monitoring`:Ac[n]||e;return{glyph:Fee[n]||``,label:i.toUpperCase(),isMonitoring:r}}function xf(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 Sf(e,t,n){let r=B(`section`,`${e}-section`),i=B(`div`,`${e}-section-head`);return i.append(B(`h2`,`${e}-section-title`,t)),n&&i.append(B(`span`,`${e}-section-hint`,n)),r.append(i),r}function Cf(e,t,n,r){let i=B(`span`,`${e}-stat`);return r&&(i.dataset.tone=r),i.append(B(`span`,`${e}-stat-value`,n),B(`span`,`${e}-stat-label`,t)),i}function wf(e){return Array.isArray(e?.projects)?e.projects:[]}function Tf(e){return!e||!!e.closest(`[hidden]`)}function Ef(e){return navigator.clipboard?.writeText?navigator.clipboard.writeText(e):null}function Df(e,t){e&&t&&e.parentElement!==t&&(e._adoptHome||={parent:e.parentElement,next:e.nextElementSibling},t.appendChild(e))}function Of(e,t=null){let n=e?._adoptHome;if(n){if(delete e._adoptHome,!n.parent?.isConnected){t&&t.appendChild(e);return}if(n.next&&n.next.parentElement===n.parent){n.parent.insertBefore(e,n.next);return}n.parent.appendChild(e)}}var kf=`(max-width: 768px)`,Af=`(pointer: coarse)`;function jf({coarse:e,narrowWidth:t}={}){return e===!0&&t===!0?`phone`:`desktop`}var Mf=Object.freeze({layout:`desktop`,activeView:`focus`,phoneScreen:null,focusedSessionId:null,selectedSessionId:null,borrowedCardId:null}),Nf=e=>e||null,Pf=Object.freeze({setLayout:e=>({layout:e}),setActiveView:e=>({activeView:e}),setPhoneScreen:e=>({phoneScreen:Nf(e)}),focusSession:e=>({focusedSessionId:Nf(e)}),selectSession:e=>({selectedSessionId:Nf(e)}),borrowCard:e=>({borrowedCardId:Nf(e)})});function Ff(e){let t=Object.freeze({...Mf,...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 Mf))throw Error(`ui-state: unknown key "${r}"`);Object.is(t[r],e[r])||n.push(r)}return n}function o(e,r){let i=Pf[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 If=Ff(),Lf=()=>If.snapshot().activeView,Rf=window.matchMedia?.(Af),zf=window.matchMedia?.(kf);function Bf(){return jf({coarse:!!Rf?.matches,narrowWidth:!!zf?.matches})}function Vf(e){document.documentElement.dataset.layout!==e&&(document.documentElement.dataset.layout=e)}function Hf(){If.subscribe((e,t)=>{t.includes(`layout`)&&Vf(e.layout)});let e=Bf();Vf(e),If.dispatch(`setLayout`,e);let t=()=>If.dispatch(`setLayout`,Bf());return Rf?.addEventListener?.(`change`,t),zf?.addEventListener?.(`change`,t),e}function Uf(){return If.snapshot().layout===`phone`}function Wf(e){return If.subscribe((t,n)=>{n.includes(`layout`)&&e(t.layout)})}var H=new Map;function Gf(e){return e.card?.dataset.session||e.nameEl?.textContent||``}function Kf(e){return typeof e==`string`?e:String(e)}function qf(e){return typeof e==`string`?H.get(e):void 0}var Jf=document.getElementById(`sessions-container`),Yf=document.getElementById(`aggregate-status`);function Xf({dialogClass:e=`dialog`,closeOnBackdrop:t=!0}={}){let n=document.activeElement,r=document.createElement(`div`);r.className=`dialog-overlay`;let i=document.createElement(`div`);i.className=e,r.appendChild(i),document.body.appendChild(r);function a(e){e.key===`Escape`&&o()}document.addEventListener(`keydown`,a);function o(){r.remove(),document.removeEventListener(`keydown`,a),n instanceof HTMLElement&&n.focus()}return t&&r.addEventListener(`click`,e=>{e.target===r&&o()}),{overlay:r,dialog:i,close:o}}function Zf(e,t){e.setAttribute(`role`,`dialog`),e.setAttribute(`aria-modal`,`true`),e.setAttribute(`aria-labelledby`,t),ep(e)}function Qf({title:e,dialogClass:t=`dialog`,cancelLabel:n=`Cancel`}){let{overlay:r,dialog:i,close:a}=Xf({dialogClass:t}),o=`dialog-title-${Math.random().toString(36).slice(2)}`,s=B(`h3`,`dialog-title`,e);s.id=o;let c=B(`div`,`dialog-actions`),l=B(`button`,`btn-dialog btn-dialog-cancel`,n);return c.append(l),i.append(s),Zf(i,o),{overlay:r,dialog:i,close:a,titleEl:s,actions:c,btnCancel:l}}function $f({title:e,message:t,confirmLabel:n=`Confirm`,danger:r=!1,onConfirm:i}){let{dialog:a,close:o,actions:s,btnCancel:c}=Qf({title:e}),l=B(`p`,`dialog-message`,t),u=B(`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 ep(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];if(t.shiftKey&&document.activeElement===r){t.preventDefault(),i.focus();return}!t.shiftKey&&document.activeElement===i&&(t.preventDefault(),r.focus())})}function tp(e,t){return t===F.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 np(e,t,n){let r=jc.includes(t)?`force-restart`:`restart`;return e===`restart-fresh`?{type:r,id:n,fresh:!0}:{type:r,id:n}}function rp(e,t,n){let r=()=>n.send(np(e,n.readState(),t)),i=tp(e,n.readState());if(!i){r();return}n.confirm({...i,onConfirm:r})}var ip=60,ap=3600,op=24,sp=1024,cp=sp*1024,lp=cp*1024,up={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`}`}},dp={rounding:`floor`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:0};function fp(e){return String(e).padStart(2,`0`)}function pp(e,t){return Math.max(0,Math[t](e/1e3))}function mp(e,t){let n=up[t];if(e<ip)return n.second(e);let r=Math.floor(e/ip);if(r<60)return n.minute(r);let i=Math.floor(r/60);return i<op?n.hour(i):n.day(Math.floor(i/op))}function hp(e,t){let n=pp(e,t.rounding);return n<t.justNowBelowSeconds?`just now`:`${mp(n,t.wording)}${t.suffix}`}function gp(e,{smallestUnit:t,dropsZeroRemainder:n}){let r=(e,t,r)=>n&&t===0?e:`${e} ${t}${r}`;if(t===`s`&&e<ip)return`${e}s`;if(t===`s`&&e<ap)return r(`${Math.floor(e/ip)}m`,e%ip,`s`);let i=Math.floor(e/ip);return i<60?`${i}m`:r(`${Math.floor(i/60)}h`,i%60,`m`)}function _p(e,{rounding:t,showsHours:n}){let r=pp(e,t),i=fp(r%ip),a=Math.floor(r/ip),o=Math.floor(r/ap);return!n||o===0?`${a}:${i}`:`${o}:${fp(a%60)}:${i}`}function vp(e,t){return e<sp?`${e} B`:t===`KB`||e<cp?`${(e/sp).toFixed(1)} KB`:e<lp?`${(e/cp).toFixed(1)} MB`:`${(e/lp).toFixed(2)} GB`}function yp(e){let t=new Date(e);return`${t.getFullYear()}-${fp(t.getMonth()+1)}-${fp(t.getDate())}`}function bp(e){return`${fp(e.getHours())}:${fp(e.getMinutes())}`}function xp(e){return e.toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}var Sp=320,Cp=8e3,wp=null;function Tp(e){wp=e}function Ep(e){if(!e||e.currentState!==F.RUNNING)return;let t=performance.now();e._lastOutputAt=t,!(t-(e._activityGate||0)<Sp)&&(e._activityGate=t,e._activity===`quiet`&&(e._activity=`active`,wp?.(e,`flag`)),wp?.(e,`beat`))}function Dp(e){if(!e||e.currentState!==F.RUNNING)return;let t=performance.now()-(e._lastOutputAt||0)>=Cp?`quiet`:`active`;e._activity!==t&&(e._activity=t,wp?.(e,`flag`))}function Op(e,t){e&&(t&&(e._lastOutputAt=performance.now(),e._activityGate=0,e._activity=`active`),t||(e._activity=void 0),wp?.(e,`flag`))}var kp=new Set([F.RUNNING,F.WAITING,F.STARTING,F.INITIALIZING]),Ap=e=>kp.has(e);function jp(e){return Ap(e.currentState)?_p(Date.now()-(e.stateSince||Date.now()),{rounding:`floor`,showsHours:!0}):``}function Mp(e){e.elapsedEl&&(e.elapsedEl.textContent=jp(e))}var Np=new Set;function Pp(e){return Np.add(e),()=>Np.delete(e)}function Fp(){for(let[,e]of H)Mp(e),Dp(e);for(let e of Np)try{e()}catch{}}setInterval(()=>{document.hidden||Fp()},1e3),document.addEventListener(`visibilitychange`,()=>{document.hidden||Fp()});var Ip=2,Lp=1,Rp=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(Ip,Math.floor(u/e.css.cell.width)),rows:Math.max(Lp,Math.floor(l/e.css.cell.height))}}},zp=Object.defineProperty,Bp=Object.getOwnPropertyDescriptor,Vp=(e,t)=>{for(var n in t)zp(e,n,{get:t[n],enumerable:!0})},Hp=(e,t,n,r)=>{for(var i=r>1?void 0:r?Bp(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&&zp(t,n,i),i},U=(e,t)=>(n,r)=>t(n,r,e),Up=`Terminal input`,Wp={get:()=>Up,set:e=>Up=e},Gp=`Too much output to announce, navigate to rows manually to read`,Kp={get:()=>Gp,set:e=>Gp=e};function qp(e){return e.replace(/\r?\n/g,`\r`)}function Jp(e,t){return t?`\x1B[200~`+e+`\x1B[201~`:e}function Yp(e,t){e.clipboardData&&e.clipboardData.setData(`text/plain`,t.selectionText),e.preventDefault()}function Xp(e,t,n,r){e.stopPropagation(),e.clipboardData&&Zp(e.clipboardData.getData(`text/plain`),t,n,r)}function Zp(e,t,n,r){e=qp(e),e=Jp(e,n.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),n.triggerDataEvent(e,!0),t.value=``}function Qp(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 $p(e,t,n,r,i){Qp(e,t,n),i&&r.rightClickSelect(e),t.value=r.selectionText,t.select()}function em(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function tm(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 nm=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);continue}i!==65279&&(t[r++]=i)}return r}},rm=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){d--;continue}if(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}},im=``,am=` `,om=class e{constructor(){this.fg=0,this.bg=0,this.extended=new sm}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}},sm=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}},cm=class e extends om{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new sm,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?em(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()]}},lm=`di$target`,um=`di$dependencies`,dm=new Map;function fm(e){return e[um]||[]}function pm(e){if(dm.has(e))return dm.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);mm(t,e,r)};return t._id=e,dm.set(e,t),t}function mm(e,t,n){t[lm]===t?t[um].push({id:e,index:n}):(t[um]=[{id:e,index:n}],t[lm]=t)}var hm=pm(`BufferService`),gm=pm(`CoreMouseService`),_m=pm(`CoreService`),vm=pm(`CharsetService`),ym=pm(`InstantiationService`),bm=pm(`LogService`),xm=pm(`OptionsService`),Sm=pm(`OscLinkService`),Cm=pm(`UnicodeService`),wm=pm(`DecorationService`),Tm=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 cm,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):Em(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)}};Tm=Hp([U(0,hm),U(1,xm),U(2,Sm)],Tm);function Em(e,t){if(confirm(`Do you want to navigate to ${t}?
56
-
57
- 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 Dm=pm(`CharSizeService`),Om=pm(`CoreBrowserService`),km=pm(`MouseService`),Am=pm(`RenderService`),jm=pm(`SelectionService`),Mm=pm(`CharacterJoinerService`),Nm=pm(`ThemeService`),Pm=pm(`LinkProviderService`),Fm=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?Vm.isErrorNoTelemetry(e)?new Vm(e.message+`
58
-
59
- `+e.stack):Error(e.message+`
60
-
61
- `+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 Im(e){Rm(e)||Fm.onUnexpectedError(e)}var Lm=`Canceled`;function Rm(e){return e instanceof zm||e instanceof Error&&e.name===Lm&&e.message===Lm}var zm=class extends Error{constructor(){super(Lm),this.name=this.message}};function Bm(e){return Error(e?`Illegal argument: ${e}`:`Illegal argument`)}var Vm=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`}},Hm=class e extends Error{constructor(t){super(t||`An unexpected bug occurred.`),Object.setPrototypeOf(this,e.prototype)}};function Um(e,t=0){return e[e.length-(1+t)]}var Wm;(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})(Wm||={});var Gm=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||Wm.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};Gm.empty=new Gm(e=>{});function Km(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 qm;(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})(qm||={});var Jm=null;function Ym(e){return Jm?.trackDisposable(e),e}function Xm(e){Jm?.markAsDisposed(e)}function Zm(e,t){Jm?.setParent(e,t)}function Qm(e){return Jm?.markAsSingleton(e),e}function $m(e){if(qm.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 eh(...e){return th(()=>$m(e))}function th(e){let t=Ym({dispose:Km(()=>{Xm(t),e()})});return t}var nh=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,Ym(this)}dispose(){this._isDisposed||(Xm(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{$m(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return Zm(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),Zm(e,null))}};nh.DISABLE_DISPOSED_WARNING=!1;var rh=nh,W=class{constructor(){this._store=new rh,Ym(this),Zm(this._store,this)}dispose(){Xm(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};W.None=Object.freeze({dispose(){}});var ih=class{constructor(){this._isDisposed=!1,Ym(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&Zm(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,Xm(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&Zm(e,null),e}},ah=typeof window==`object`?window:globalThis,oh=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};oh.Undefined=new oh(void 0);var sh=oh,ch=class{constructor(){this._first=sh.Undefined,this._last=sh.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===sh.Undefined}clear(){let e=this._first;for(;e!==sh.Undefined;){let t=e.next;e.prev=sh.Undefined,e.next=sh.Undefined,e=t}this._first=sh.Undefined,this._last=sh.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let n=new sh(e);if(this._first===sh.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!==sh.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==sh.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==sh.Undefined&&e.next!==sh.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===sh.Undefined&&e.next===sh.Undefined?(this._first=sh.Undefined,this._last=sh.Undefined):e.next===sh.Undefined?(this._last=this._last.prev,this._last.next=sh.Undefined):e.prev===sh.Undefined&&(this._first=this._first.next,this._first.prev=sh.Undefined);--this._size}*[Symbol.iterator](){let e=this._first;for(;e!==sh.Undefined;)yield e.element,e=e.next}},lh=globalThis.performance&&typeof globalThis.performance.now==`function`,uh=class e{static create(t){return new e(t)}constructor(e){this._now=lh&&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}},dh;(e=>{e.None=()=>W.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(eh(...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 G({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 G({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 G({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 G({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 G({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function ee(e){return new Promise(t=>n(e)(t))}e.toPromise=ee;function te(e){let t=new G;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=te;function ne(e,t){return e(e=>t.fire(e))}e.forward=ne;function re(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=re;class ie{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 G(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 ae(e,t){return new ie(e,t).emitter.event}e.fromObservable=ae;function x(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 rh?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=x})(dh||={});var fh=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 uh,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}}};fh.all=new Set,fh._idPool=0;var ph=fh,mh=-1,hh=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 vh(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}};hh._idPool=1;var gh=hh,_h=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
62
- `).slice(2).join(`
63
- `))}},vh=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},yh=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},bh=0,xh=class{constructor(e){this.value=e,this.id=bh++}},Sh=2,G=class{constructor(e){this._size=0,this._options=e,this._leakageMon=mh>0||this._options?.leakWarningThreshold?new gh(e?.onListenerError??Im,this._options?.leakWarningThreshold??mh):void 0,this._perfMon=this._options?._profName?new ph(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 yh(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||Im)(n),W.None}if(this._disposed)return W.None;t&&(e=e.bind(t));let r=new xh(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=_h.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof xh?(this._deliveryQueue??=new Ch,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=th(()=>{i?.(),this._removeListener(r)});return n instanceof rh?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*Sh<=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||Im;if(!n){e.value(t);return}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 xh)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}},Ch=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}},wh=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new G,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new G,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}};wh.INSTANCE=new wh;var Th=wh;function Eh(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}Th.INSTANCE.onDidChangeZoomLevel;function Dh(e){return Th.INSTANCE.getZoomFactor(e)}Th.INSTANCE.onDidChangeFullscreen;var Oh=typeof navigator==`object`?navigator.userAgent:``,kh=Oh.indexOf(`Firefox`)>=0,Ah=Oh.indexOf(`AppleWebKit`)>=0,jh=Oh.indexOf(`Chrome`)>=0,Mh=!jh&&Oh.indexOf(`Safari`)>=0;Oh.indexOf(`Electron/`),Oh.indexOf(`Android`);var Nh=!1;if(typeof ah.matchMedia==`function`){let e=ah.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=ah.matchMedia(`(display-mode: fullscreen)`);Nh=e.matches,Eh(ah,e,({matches:e})=>{Nh&&t.matches||(Nh=e)})}function Ph(){return Nh}var Fh=`en`,Ih=!1,Lh=!1,Rh=!1,zh=!1,Bh=!1,Vh=Fh,Hh,Uh=globalThis,Wh;typeof Uh.vscode<`u`&&typeof Uh.vscode.process<`u`?Wh=Uh.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(Wh=process);var vte=typeof Wh?.versions?.electron==`string`&&Wh?.type===`renderer`;if(typeof Wh==`object`){Ih=Wh.platform===`win32`,Lh=Wh.platform===`darwin`,Rh=Wh.platform===`linux`,Rh&&Wh.env.SNAP&&Wh.env.SNAP_REVISION,Wh.env.CI||Wh.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Vh=Fh;let e=Wh.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,Vh=t.resolvedLanguage||Fh,t.languagePack?.translationsConfigFile}catch{}zh=!0}else typeof navigator==`object`&&!vte?(Hh=navigator.userAgent,Ih=Hh.indexOf(`Windows`)>=0,Lh=Hh.indexOf(`Macintosh`)>=0,(Hh.indexOf(`Macintosh`)>=0||Hh.indexOf(`iPad`)>=0||Hh.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,Rh=Hh.indexOf(`Linux`)>=0,Hh?.indexOf(`Mobi`),Bh=!0,Vh=globalThis._VSCODE_NLS_LANGUAGE||Fh,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var Gh=Ih,Kh=Lh,yte=Rh,qh=zh;Bh&&typeof Uh.importScripts==`function`&&Uh.origin;var Jh=Hh,Yh=Vh,bte;(e=>{function t(){return Yh}e.value=t;function n(){return Yh.length===2?Yh===`en`:Yh.length>=3&&Yh[0]===`e`&&Yh[1]===`n`&&Yh[2]===`-`}e.isDefaultVariant=n;function r(){return Yh===`en`}e.isDefault=r})(bte||={});var xte=typeof Uh.postMessage==`function`&&!Uh.importScripts;(()=>{if(xte){let e=[];Uh.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}),Uh.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var Ste=!!(Jh&&Jh.indexOf(`Chrome`)>=0);Jh&&Jh.indexOf(`Firefox`),!Ste&&Jh&&Jh.indexOf(`Safari`),Jh&&Jh.indexOf(`Edg/`),Jh&&Jh.indexOf(`Android`);var Xh=typeof navigator==`object`?navigator:{};qh||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||Xh&&Xh.clipboard&&Xh.clipboard.writeText,qh||Xh&&Xh.clipboard&&Xh.clipboard.readText,qh||Ph()||Xh.keyboard,`ontouchstart`in ah||Xh.maxTouchPoints,ah.PointerEvent&&(`ontouchstart`in ah||navigator.maxTouchPoints);var Zh=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}},Qh=new Zh,$h=new Zh,eg=new Zh,Cte=Array(230),tg;(e=>{function t(e){return Qh.keyCodeToStr(e)}e.toString=t;function n(e){return Qh.strToKeyCode(e)}e.fromString=n;function r(e){return $h.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return eg.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return $h.strToKeyCode(e)||eg.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 Qh.keyCodeToStr(e)}e.toElectronAccelerator=o})(tg||={});var wte=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 Tte([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},Tte=class{constructor(e){if(e.length===0)throw Bm(`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 Ete(e){if(e.charCode){let t=String.fromCharCode(e.charCode).toUpperCase();return tg.fromString(t)}let t=e.keyCode;if(t===3)return 7;if(kh)switch(t){case 59:return 85;case 60:if(yte)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Kh)return 57}else if(Ah&&(Kh&&t===93||!Kh&&t===92))return 57;return Cte[t]||0}var Dte=Kh?256:2048,Ote=512,kte=1024,Ate=Kh?2048:256,ng=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=Ete(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|=Dte),this.altKey&&(t|=Ote),this.shiftKey&&(t|=kte),this.metaKey&&(t|=Ate),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new wte(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},rg=new WeakMap;function jte(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 Mte=class{static getSameOriginWindowChain(e){let t=rg.get(e);if(!t){t=[],rg.set(e,t);let n=e,r;do r=jte(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}}},ig=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=Mte.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=n.left,this.posy-=n.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},ag=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(jh){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?kh&&!Kh?-e.deltaY/3:-e.deltaY:-e.deltaY/40}if(typeof t.wheelDeltaX<`u`)this.deltaX=Mh&&Gh?-(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?kh&&!Kh?-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()}},og=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),Nte;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof Pte?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:dh.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:og})})(Nte||={});var Pte=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?og:(this._emitter||=new G,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}},sg=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 Hm(`Calling 'cancelAndSet' on a disposed TimeoutTimer`);this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new Hm(`Calling 'setIfNotSet' on a disposed TimeoutTimer`);this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},Fte=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 Hm(`Calling 'cancelAndSet' on a disposed IntervalTimer`);this.cancel();let r=n.setInterval(()=>{e()},t);this.disposable=th(()=>{n.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var Ite;(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})(Ite||={});var cg=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 G,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 dh.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())}};cg.EMPTY=cg.fromArray([]);function Lte(e){return lg(e,0)}function lg(e,t){switch(typeof e){case`object`:return e===null?ug(349,t):Array.isArray(e)?zte(e,t):Bte(e,t);case`string`:return dg(e,t);case`boolean`:return Rte(e,t);case`number`:return ug(e,t);case`undefined`:return ug(937,t);default:return ug(617,t)}}function ug(e,t){return(t<<5)-t+e|0}function Rte(e,t){return ug(e?433:863,t)}function dg(e,t){t=ug(149417,t);for(let n=0,r=e.length;n<r;n++)t=ug(e.charCodeAt(n),t);return t}function zte(e,t){return t=ug(104579,t),e.reduce((e,t)=>lg(t,e),t)}function Bte(e,t){return t=ug(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=dg(n,t),lg(e[n],t)),t)}var{registerWindow:Vte,getWindow:fg,getDocument:Hte,getWindows:Ute,getWindowsCount:Wte,getWindowId:Gte,getWindowById:Kte,hasWindow:qte,onDidRegisterWindow:Jte,onWillUnregisterWindow:Yte,onDidUnregisterWindow:Xte}=function(){let e=new Map,t={window:ah,disposables:new rh};e.set(ah.vscodeWindowId,t);let n=new G,r=new G,i=new G;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 W.None;let a=new rh,o={window:t,disposables:a.add(new rh)};return e.set(t.vscodeWindowId,o),a.add(th(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(K(t,_g.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:ah},getDocument(e){return fg(e).document}}}(),Zte=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 K(e,t,n,r){return new Zte(e,t,n,r)}function Qte(e,t){return function(n){return t(new ig(e,n))}}function $te(e){return function(t){return e(new ng(t))}}var pg=function(e,t,n,r){let i=n;return t===`click`||t===`mousedown`||t===`contextmenu`?i=Qte(fg(e),n):(t===`keydown`||t===`keypress`||t===`keyup`)&&(i=$te(n)),K(e,t,i,r)},mg,ene=class extends Fte{constructor(e){super(),this.defaultTarget=e&&fg(e)}cancelAndSet(e,t,n){return super.cancelAndSet(e,t,n??this.defaultTarget)}},hg=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){Im(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(hg.sort),a.shift().execute();r.set(i,!1)};mg=(t,r,a=0)=>{let o=Gte(t),s=new hg(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 gg=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}};gg.None=new gg(0,0);function tne(e){let t=e.getBoundingClientRect(),n=fg(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=Lte(n),a=r.get(i);if(a)a.users+=1;else{let o=new G,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(th(()=>{--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 _g={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:Ah?`webkitAnimationStart`:`animationstart`,ANIMATION_END:Ah?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:Ah?`webkitAnimationIteration`:`animationiteration`},nne=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=vg(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=vg(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=vg(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=vg(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=vg(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=vg(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=vg(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=vg(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=vg(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=vg(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=vg(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=vg(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=vg(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=vg(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 vg(e){return typeof e==`number`?`${e}px`:e}function yg(e){return new nne(e)}var bg=class{constructor(){this._hooks=new rh,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(th(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{a=fg(e)}this._hooks.add(K(a,_g.POINTER_MOVE,e=>{if(e.buttons!==n){this.stopMonitoring(!0);return}e.preventDefault(),this._pointerMoveCallback(e)})),this._hooks.add(K(a,_g.POINTER_UP,e=>this.stopMonitoring(!0)))}};function rne(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 xg;(e=>(e.Tap=`-xterm-gesturetap`,e.Change=`-xterm-gesturechange`,e.Start=`-xterm-gesturestart`,e.End=`-xterm-gesturesend`,e.Contextmenu=`-xterm-gesturecontextmenu`))(xg||={});var Sg=class e extends W{constructor(){super(),this.dispatched=!1,this.targets=new ch,this.ignoreTargets=new ch,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(dh.runAndSubscribe(Jte,({window:e,disposables:t})=>{t.add(K(e.document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),t.add(K(e.document,`touchend`,t=>this.onTouchEnd(e,t))),t.add(K(e.document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))},{window:ah,disposables:this._store}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Qm(new e),th(e.INSTANCE.targets.push(t))):W.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=Qm(new e),th(e.INSTANCE.ignoreTargets.push(t))):W.None}static isTouchDevice(){return`ontouchstart`in ah||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(xg.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-Um(s.rollingPageX))<30&&Math.abs(s.initialPageY-Um(s.rollingPageY))<30){let e=this.newGestureEvent(xg.Tap,s.initialTarget);e.pageX=Um(s.rollingPageX),e.pageY=Um(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-Um(s.rollingPageX))<30&&Math.abs(s.initialPageY-Um(s.rollingPageY))<30){let e=this.newGestureEvent(xg.Contextmenu,s.initialTarget);e.pageX=Um(s.rollingPageX),e.pageY=Um(s.rollingPageY),this.dispatchEvent(e)}else if(i===1){let e=Um(s.rollingPageX),n=Um(s.rollingPageY),i=Um(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(xg.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===xg.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===xg.Change||t.type===xg.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=mg(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(xg.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(xg.Change,i.initialTarget);a.translationX=r.pageX-Um(i.rollingPageX),a.translationY=r.pageY-Um(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)}};Sg.SCROLL_FRICTION=-.005,Sg.HOLD_DELAY=700,Sg.CLEAR_TAP_COUNT_TIME=400,Hp([rne],Sg,`isTouchDevice`,1);var ine=Sg,Cg=class extends W{onclick(e,t){this._register(K(e,_g.CLICK,n=>t(new ig(fg(e),n))))}onmousedown(e,t){this._register(K(e,_g.MOUSE_DOWN,n=>t(new ig(fg(e),n))))}onmouseover(e,t){this._register(K(e,_g.MOUSE_OVER,n=>t(new ig(fg(e),n))))}onmouseleave(e,t){this._register(K(e,_g.MOUSE_LEAVE,n=>t(new ig(fg(e),n))))}onkeydown(e,t){this._register(K(e,_g.KEY_DOWN,e=>t(new ng(e))))}onkeyup(e,t){this._register(K(e,_g.KEY_UP,e=>t(new ng(e))))}oninput(e,t){this._register(K(e,_g.INPUT,t))}onblur(e,t){this._register(K(e,_g.BLUR,t))}onfocus(e,t){this._register(K(e,_g.FOCUS,t))}onchange(e,t){this._register(K(e,_g.CHANGE,t))}ignoreGesture(e){return ine.ignoreTarget(e)}},wg=11,ane=class extends Cg{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=wg+`px`,this.domNode.style.height=wg+`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 bg),this._register(pg(this.bgDomNode,_g.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(pg(this.domNode,_g.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new ene),this._pointerdownScheduleRepeatTimer=this._register(new sg)}_arrowPointerDown(e){e.target&&e.target instanceof Element&&(this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,fg(e))},200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault())}},one=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}}},sne=class extends W{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new G),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new one(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 Dg(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=Dg.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)))}},Tg=class{constructor(e,t,n){this.scrollLeft=e,this.scrollTop=t,this.isDone=n}};function Eg(e,t){let n=t-e;return function(t){return e+n*une(t)}}function cne(e,t,n){return function(r){return r<n?e(r/n):t((r-n)/(1-n))}}var Dg=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),cne(Eg(e,r),Eg(i,t),.33)}return Eg(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 Tg(this.scrollLeft(t),this.scrollTop(t),!1):new Tg(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 lne(e){return e**3}function une(e){return 1-lne(1-e)}var dne=class extends W{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 sg)}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(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_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`:``)))}},fne=140,Og=class extends Cg{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 dne(e.visibility,`visible scrollbar `+e.extraScrollbarClassName,`invisible scrollbar `+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new bg),this._shouldRender=!0,this.domNode=yg(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(K(this.domNode.domNode,_g.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(e){let t=this._register(new ane(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,n,r){this.slider=yg(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(K(this.slider.domNode,_g.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=tne(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(Gh&&a>fne){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()}},kg=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)}},pne=class extends Og{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new kg(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}},mne=class extends Og{constructor(e,t,n){let r=e.getScrollDimensions(),i=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:n,scrollbarState:new kg(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}},hne=500,Ag=50,jg=!0,gne=class{constructor(e,t,n){this.timestamp=e,this.deltaX=t,this.deltaY=n,this.score=0}},Mg=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(jh){let t=Dh(fg(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 gne(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}};Mg.INSTANCE=new Mg;var _ne=Mg,vne=class extends Cg{constructor(e,t,n){super(),this._onScroll=this._register(new G),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new G),this.onWillScroll=this._onWillScroll.event,this._options=bne(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 mne(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new pne(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=yg(document.createElement(`div`)),this._leftShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=yg(document.createElement(`div`)),this._topShadowDomNode.setClassName(`shadow`),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=yg(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 sg),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=$m(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,Kh&&(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 ag(e))}_setListeningToMouseWheel(e){this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=$m(this._mouseWheelToDispose),e)&&this._mouseWheelToDispose.push(K(this._listenOnDomNode,_g.MOUSE_WHEEL,e=>{this._onMouseWheel(new ag(e))},{passive:!1}))}_onMouseWheel(e){if(e.browserEvent?.defaultPrevented)return;let t=_ne.INSTANCE;jg&&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=!Kh&&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=Ag*r,t=o.scrollTop-(e<0?Math.floor(e):Math.ceil(e));this._verticalScrollbar.writeScrollPosition(s,t)}if(i){let e=Ag*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)&&(jg&&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(),hne)}},yne=class extends vne{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 bne(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,Kh&&(t.className+=` mac`),t}var Ng=class extends W{constructor(e,t,n,r,i,a,o,s){super(),this._bufferService=n,this._optionsService=o,this._renderService=s,this._onRequestScrollLines=this._register(new G),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let c=this._register(new sne({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:e=>mg(r.window,e)}));this._register(this._optionsService.onSpecificOptionChange(`smoothScrollDuration`,()=>{c.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new yne(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(dh.runAndSubscribe(a.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=a.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(th(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement(`style`),t.appendChild(this._styleElement),this._register(th(()=>this._styleElement.remove())),this._register(dh.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(`
64
- `)})),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}};Ng=Hp([U(2,hm),U(3,Om),U(4,gm),U(5,Nm),U(6,xm),U(7,Am)],Ng);var Pg=class extends W{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(th(()=>{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()}};Pg=Hp([U(1,hm),U(2,Om),U(3,wm),U(4,Am)],Pg);var xne=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)}},Fg={full:0,left:0,center:0,right:0},Ig={full:0,left:0,center:0,right:0},Lg={full:0,left:0,center:0,right:0},Rg=class extends W{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 xne,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(th(()=>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);Ig.full=this._canvas.width,Ig.left=e,Ig.center=t,Ig.right=e,this._refreshDrawHeightConstants(),Lg.full=1,Lg.left=1,Lg.center=1+Ig.left,Lg.right=1+Ig.left+Ig.center}_refreshDrawHeightConstants(){Fg.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);Fg.left=t,Fg.center=t,Fg.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Fg.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Fg.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Fg.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Fg.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(Lg[e.position||`full`],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Fg[e.position||`full`]/2),Ig[e.position||`full`],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Fg[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}))}};Rg=Hp([U(2,hm),U(3,wm),U(4,Am),U(5,xm),U(6,Nm),U(7,Om)],Rg);var q;(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=`
65
- `,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=``))(q||={});var zg;(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=`Ÿ`))(zg||={});var Bg;(e=>e.ST=`${q.ESC}\\`)(Bg||={});var Vg=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(`${q.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)}}};Vg=Hp([U(2,hm),U(3,xm),U(4,_m),U(5,Am)],Vg);var Hg=0,Ug=0,Wg=0,Gg=0,Kg={css:`#00000000`,rgba:0},qg;(e=>{function t(e,t,n,r){return r===void 0?`#${Qg(e)}${Qg(t)}${Qg(n)}`:`#${Qg(e)}${Qg(t)}${Qg(n)}${Qg(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})(qg||={});var Jg;(e=>{function t(e,t){if(Gg=(t.rgba&255)/255,Gg===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 Hg=a+Math.round((n-a)*Gg),Ug=o+Math.round((r-o)*Gg),Wg=s+Math.round((i-s)*Gg),{css:qg.toCss(Hg,Ug,Wg),rgba:qg.toRgba(Hg,Ug,Wg)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=Zg.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return qg.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[Hg,Ug,Wg]=Zg.toChannels(t),{css:qg.toCss(Hg,Ug,Wg),rgba:t}}e.opaque=i;function a(e,t){return Gg=Math.round(t*255),[Hg,Ug,Wg]=Zg.toChannels(e.rgba),{css:qg.toCss(Hg,Ug,Wg,Gg),rgba:qg.toRgba(Hg,Ug,Wg,Gg)}}e.opacity=a;function o(e,t){return Gg=e.rgba&255,a(e,Gg*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(Jg||={});var Yg;(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 Hg=parseInt(e.slice(1,2).repeat(2),16),Ug=parseInt(e.slice(2,3).repeat(2),16),Wg=parseInt(e.slice(3,4).repeat(2),16),qg.toColor(Hg,Ug,Wg);case 5:return Hg=parseInt(e.slice(1,2).repeat(2),16),Ug=parseInt(e.slice(2,3).repeat(2),16),Wg=parseInt(e.slice(3,4).repeat(2),16),Gg=parseInt(e.slice(4,5).repeat(2),16),qg.toColor(Hg,Ug,Wg,Gg);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 Hg=parseInt(r[1]),Ug=parseInt(r[2]),Wg=parseInt(r[3]),Gg=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),qg.toColor(Hg,Ug,Wg,Gg);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[Hg,Ug,Wg,Gg]=t.getImageData(0,0,1,1).data,Gg!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:qg.toRgba(Hg,Ug,Wg,Gg),css:e}}e.toColor=r})(Yg||={});var Xg;(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})(Xg||={});var Zg;(e=>{function t(e,t){if(Gg=(t&255)/255,Gg===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 Hg=a+Math.round((n-a)*Gg),Ug=o+Math.round((r-o)*Gg),Wg=s+Math.round((i-s)*Gg),qg.toRgba(Hg,Ug,Wg)}e.blend=t;function n(e,t,n){let a=Xg.relativeLuminance(e>>8),o=Xg.relativeLuminance(t>>8);if($g(a,o)<n){if(o<a){let o=r(e,t,n),s=$g(a,Xg.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>$g(a,Xg.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=$g(a,Xg.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>$g(a,Xg.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=$g(Xg.relativeLuminance2(o,s,c),Xg.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=$g(Xg.relativeLuminance2(o,s,c),Xg.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=$g(Xg.relativeLuminance2(o,s,c),Xg.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=$g(Xg.relativeLuminance2(o,s,c),Xg.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})(Zg||={});function Qg(e){let t=e.toString(16);return t.length<2?`0`+t:t}function $g(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var Sne=class extends om{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()]}},e_=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new cm}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||am.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++)e_._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||am.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}};e_=Hp([U(0,hm)],e_);function Cne(e){return 57508<=e&&e<=57558}function wne(e){return 9472<=e&&e<=9631}function Tne(e){return Cne(e)||wne(e)}function Ene(){return{css:{canvas:t_(),cell:t_()},device:{canvas:t_(),cell:t_(),char:{width:0,height:0,left:0,top:0}}}}function t_(){return{width:0,height:0}}var n_=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 cm,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,n){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=n}createRow(e,t,n,r,i,a,o,s,c,l,u){let d=[],f=this._characterJoinerService.getJoinedCharacters(t),p=this._themeService.colors,m=e.getNoBgTrimmedLength();n&&m<a+1&&(m=a+1);let h,g=0,_=``,v=0,y=0,b=0,ee=0,te=!1,ne=0,re=!1,ie=0,ae=0,x=[],oe=l!==-1&&u!==-1;for(let se=0;se<m;se++){e.loadCell(se,this._workCell);let m=this._workCell.getWidth();if(m===0)continue;let ce=!1,le=se>=ae,ue=se,S=this._workCell;if(f.length>0&&se===f[0][0]&&le){let r=f.shift(),i=this._isCellInSelection(r[0],t);for(v=r[0]+1;v<r[1];v++)le&&=i===this._isCellInSelection(v,t);le&&=!n||a<r[0]||a>=r[1],le?(ce=!0,S=new Sne(this._workCell,e.translateToString(!0,r[0],r[1]),r[1]-r[0]),ue=r[1]-1,m=S.getWidth()):ae=r[1]}let C=this._isCellInSelection(se,t),w=n&&se===a,de=oe&&se>=l&&se<=u,fe=!1;this._decorationService.forEachDecorationAtCell(se,t,void 0,e=>{fe=!0});let pe=S.getChars()||am;if(pe===` `&&(S.isUnderline()||S.isOverline())&&(pe=`\xA0`),ie=m*s-c.get(pe,S.isBold(),S.isItalic()),!h)h=this._document.createElement(`span`);else if(g&&(C&&re||!C&&!re&&S.bg===y)&&(C&&re&&p.selectionForeground||S.fg===b)&&S.extended.ext===ee&&de===te&&ie===ne&&!w&&!ce&&!fe&&le){S.isInvisible()?_+=am:_+=pe,g++;continue}else g&&(h.textContent=_),h=this._document.createElement(`span`),g=0,_=``;if(y=S.bg,b=S.fg,ee=S.extended.ext,te=de,ne=ie,re=C,ce&&a>=se&&a<=ue&&(a=se),!this._coreService.isCursorHidden&&w&&this._coreService.isCursorInitialized){if(x.push(`xterm-cursor`),this._coreBrowserService.isFocused)o&&x.push(`xterm-cursor-blink`),x.push(r===`bar`?`xterm-cursor-bar`:r===`underline`?`xterm-cursor-underline`:`xterm-cursor-block`);else if(i)switch(i){case`outline`:x.push(`xterm-cursor-outline`);break;case`block`:x.push(`xterm-cursor-block`);break;case`bar`:x.push(`xterm-cursor-bar`);break;case`underline`:x.push(`xterm-cursor-underline`)}}if(S.isBold()&&x.push(`xterm-bold`),S.isItalic()&&x.push(`xterm-italic`),S.isDim()&&x.push(`xterm-dim`),_=S.isInvisible()?am:S.getChars()||am,S.isUnderline()&&(x.push(`xterm-underline-${S.extended.underlineStyle}`),_===` `&&(_=`\xA0`),!S.isUnderlineColorDefault())){if(S.isUnderlineColorRGB())h.style.textDecorationColor=`rgb(${om.toColorRGB(S.getUnderlineColor()).join(`,`)})`;else{let e=S.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&S.isBold()&&e<8&&(e+=8),h.style.textDecorationColor=p.ansi[e].css}}S.isOverline()&&(x.push(`xterm-overline`),_===` `&&(_=`\xA0`)),S.isStrikethrough()&&x.push(`xterm-strikethrough`),de&&(h.style.textDecoration=`underline`);let me=S.getFgColor(),he=S.getFgColorMode(),ge=S.getBgColor(),_e=S.getBgColorMode(),ve=!!S.isInverse();if(ve){let e=me;me=ge,ge=e;let t=he;he=_e,_e=t}let ye,be,T=!1;this._decorationService.forEachDecorationAtCell(se,t,void 0,e=>{e.options.layer!==`top`&&T||(e.backgroundColorRGB&&(_e=50331648,ge=e.backgroundColorRGB.rgba>>8&16777215,ye=e.backgroundColorRGB),e.foregroundColorRGB&&(he=50331648,me=e.foregroundColorRGB.rgba>>8&16777215,be=e.foregroundColorRGB),T=e.options.layer===`top`)}),!T&&C&&(ye=this._coreBrowserService.isFocused?p.selectionBackgroundOpaque:p.selectionInactiveBackgroundOpaque,ge=ye.rgba>>8&16777215,_e=50331648,T=!0,p.selectionForeground&&(he=50331648,me=p.selectionForeground.rgba>>8&16777215,be=p.selectionForeground)),T&&x.push(`xterm-decoration-top`);let xe;switch(_e){case 16777216:case 33554432:xe=p.ansi[ge],x.push(`xterm-bg-${ge}`);break;case 50331648:xe=qg.toColor(ge>>16,ge>>8&255,ge&255),this._addStyle(h,`background-color:#${r_((ge>>>0).toString(16),`0`,6)}`);break;default:ve?(xe=p.foreground,x.push(`xterm-bg-257`)):xe=p.background}switch(ye||S.isDim()&&(ye=Jg.multiplyOpacity(xe,.5)),he){case 16777216:case 33554432:S.isBold()&&me<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(me+=8),this._applyMinimumContrast(h,xe,p.ansi[me],S,ye,void 0)||x.push(`xterm-fg-${me}`);break;case 50331648:let e=qg.toColor(me>>16&255,me>>8&255,me&255);this._applyMinimumContrast(h,xe,e,S,ye,be)||this._addStyle(h,`color:#${r_(me.toString(16),`0`,6)}`);break;default:this._applyMinimumContrast(h,xe,p.foreground,S,ye,be)||ve&&x.push(`xterm-fg-257`)}x.length&&=(h.className=x.join(` `),0),!w&&!ce&&!fe&&le?g++:h.textContent=_,ie!==this.defaultSpacing&&(h.style.letterSpacing=`${ie}px`),d.push(h),se=ue}return h&&g&&(h.textContent=_),d}_applyMinimumContrast(e,t,n,r,i,a){if(this._optionsService.rawOptions.minimumContrastRatio===1||Tne(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=Jg.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]}};n_=Hp([U(1,Mm),U(2,xm),U(3,Om),U(4,_m),U(5,wm),U(6,Nm)],n_);function r_(e,t,n){for(;e.length<n;)e=t+e;return e}var Dne=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}},One=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);if(s>=e.rows||c<0){this.clear();return}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 kne(){return new One}var i_=`xterm-dom-renderer-owner-`,a_=`xterm-rows`,o_=`xterm-fg-`,s_=`xterm-bg-`,c_=`xterm-focus`,l_=`xterm-selection`,u_=1,d_=class extends W{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=u_++,this._rowElements=[],this._selectionRenderModel=kne(),this.onRequestRedraw=this._register(new G).event,this._rowContainer=this._document.createElement(`div`),this._rowContainer.classList.add(a_),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(l_),this._selectionContainer.setAttribute(`aria-hidden`,`true`),this.dimensions=Ene(),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(n_,document),this._element.classList.add(i_+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(th(()=>{this._element.classList.remove(i_+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Dne(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} .${a_} 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} .${a_} { 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} .${a_} .xterm-dim { color: ${Jg.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} .${a_}.${c_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${a_}.${c_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${a_}.${c_} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${a_} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${a_} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${a_} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${a_} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${a_} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${l_} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${l_} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${l_} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,r]of e.ansi.entries())t+=`${this._terminalSelector} .${o_}${n} { color: ${r.css}; }${this._terminalSelector} .${o_}${n}.xterm-dim { color: ${Jg.multiplyOpacity(r,.5).css}; }${this._terminalSelector} .${s_}${n} { background-color: ${r.css}; }`;t+=`${this._terminalSelector} .${o_}257 { color: ${Jg.opaque(e.background).css}; }${this._terminalSelector} .${o_}257.xterm-dim { color: ${Jg.multiplyOpacity(Jg.opaque(e.background),.5).css}; }${this._terminalSelector} .${s_}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(c_),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(c_),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`.${i_}${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))}}};d_=Hp([U(7,ym),U(8,Dm),U(9,xm),U(10,hm),U(11,_m),U(12,Om),U(13,Nm)],d_);var f_=class extends W{constructor(e,t,n){super(),this._optionsService=n,this.width=0,this.height=0,this._onCharSizeChange=this._register(new G),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new h_(this._optionsService))}catch{this._measureStrategy=this._register(new m_(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())}};f_=Hp([U(2,xm)],f_);var p_=class extends W{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)}},m_=class extends p_{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}},h_=class extends p_{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}},g_=class extends W{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 __(this._window)),this._onDprChange=this._register(new G),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new G),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(e=>this._screenDprMonitor.setWindow(e))),this._register(dh.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(K(this._textarea,`focus`,()=>this._isFocused=!0)),this._register(K(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}},__=class extends W{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new ih),this._onDprChange=this._register(new G),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(th(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=K(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)}},v_=class extends W{constructor(){super(),this.linkProviders=[],this._register(th(()=>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 y_(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 b_(e,t,n,r,i,a,o,s,c){if(!a)return;let l=y_(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 x_=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,n,r,i){return b_(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=y_(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])}}};x_=Hp([U(0,Am),U(1,Dm)],x_);var S_=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=[]}},C_={};Vp(C_,{getSafariVersion:()=>A_,isChromeOS:()=>I_,isFirefox:()=>D_,isIpad:()=>M_,isIphone:()=>N_,isLegacyEdge:()=>O_,isLinux:()=>F_,isMac:()=>j_,isNode:()=>w_,isSafari:()=>k_,isWindows:()=>P_});var w_=typeof process<`u`&&`title`in process,T_=w_?`node`:navigator.userAgent,E_=w_?`node`:navigator.platform,D_=T_.includes(`Firefox`),O_=T_.includes(`Edge`),k_=/^((?!chrome|android).)*safari/i.test(T_);function A_(){if(!k_)return 0;let e=T_.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var j_=[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(E_),M_=E_===`iPad`,N_=E_===`iPhone`,P_=[`Windows`,`Win16`,`Win32`,`WinCE`].includes(E_),F_=E_.indexOf(`Linux`)>=0,I_=/\bCrOS\b/.test(T_),L_=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()}},R_=class extends L_{_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())}}},z_=class extends L_{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},B_=!w_&&`requestIdleCallback`in window?z_:R_,V_=class{constructor(){this._queue=new B_}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},H_=class extends W{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 ih),this._pausedResizeTask=new V_,this._observerDisposable=this._register(new ih),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 G),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new G),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new G),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new G),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new S_((e,t)=>this._renderRows(e,t),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new U_(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(th(()=>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=th(()=>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()}};H_=Hp([U(2,xm),U(3,Dm),U(4,_m),U(5,wm),U(6,hm),U(7,Om),U(8,Nm)],H_);var U_=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 W_(e,t,n,r){let i=n.buffer.x,a=n.buffer.y;if(!n.buffer.hasScrollback)return q_(i,a,e,t,n,r)+J_(a,t,n,r)+Y_(i,a,e,t,n,r);let o;if(a===t)return o=i>e?`D`:`C`,nv(Math.abs(i-e),tv(o,r));o=a>t?`D`:`C`;let s=Math.abs(a-t);return nv(K_(a>t?e:i,n)+(s-1)*n.cols+1+G_(a>t?i:e,n),tv(o,r))}function G_(e,t){return e-1}function K_(e,t){return t.cols-e}function q_(e,t,n,r,i,a){return J_(t,r,i,a).length===0?``:nv(ev(e,t,e,t-Z_(t,i),!1,i).length,tv(`D`,a))}function J_(e,t,n,r){let i=e-Z_(e,n),a=t-Z_(t,n);return nv(Math.abs(i-a)-X_(e,t,n),tv($_(e,t),r))}function Y_(e,t,n,r,i,a){let o;o=J_(t,r,i,a).length>0?r-Z_(r,i):t;let s=r,c=Q_(e,t,n,r,i,a);return nv(ev(e,o,n,s,c===`C`,i).length,tv(c,a))}function X_(e,t,n){let r=0,i=e-Z_(e,n),a=t-Z_(t,n);for(let o=0;o<Math.abs(i-a);o++){let a=$_(e,t)===`A`?-1:1;n.buffer.lines.get(i+a*o)?.isWrapped&&r++}return r}function Z_(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 Q_(e,t,n,r,i,a){let o;return o=J_(n,r,i,a).length>0?r-Z_(r,i):t,e<n&&o<=r||e>=n&&o<r?`C`:`D`}function $_(e,t){return e>t?`A`:`B`}function ev(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 tv(e,t){let n=t?`O`:`[`;return q.ESC+n+e}function nv(e,t){e=Math.floor(e);let n=``;for(let r=0;r<e;r++)n+=t;return n}var rv=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 iv(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 av=50,ov=15,sv=50,cv=500,lv=RegExp(`\xA0`,`g`),uv=class extends W{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 cm,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new G),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new G),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new G),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new G),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 rv(this._bufferService),this._activeSelectionMode=0,this._register(th(()=>{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(lv,` `)).join(P_?`\r
66
- `:`
67
- `)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh()),F_&&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=iv(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=y_(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,-av),av),t/=av,t/Math.abs(t)+Math.round(t*(ov-1)))}shouldForceSelection(e){return j_?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(),sv)}_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&&!(j_&&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<cv&&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=W_(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]);if(!n){this._oldHasSelection&&this._fireOnSelectionChange(e,t,n);return}!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)}_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=iv(n,this._bufferService.cols)}};uv=Hp([U(3,hm),U(4,_m),U(5,km),U(6,xm),U(7,Am),U(8,Om)],uv);var dv=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={}}},fv=class{constructor(){this._color=new dv,this._css=new dv}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()}},pv=Object.freeze((()=>{let e=[Yg.toColor(`#2e3436`),Yg.toColor(`#cc0000`),Yg.toColor(`#4e9a06`),Yg.toColor(`#c4a000`),Yg.toColor(`#3465a4`),Yg.toColor(`#75507b`),Yg.toColor(`#06989a`),Yg.toColor(`#d3d7cf`),Yg.toColor(`#555753`),Yg.toColor(`#ef2929`),Yg.toColor(`#8ae234`),Yg.toColor(`#fce94f`),Yg.toColor(`#729fcf`),Yg.toColor(`#ad7fa8`),Yg.toColor(`#34e2e2`),Yg.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:qg.toCss(r,i,a),rgba:qg.toRgba(r,i,a)})}for(let t=0;t<24;t++){let n=8+t*10;e.push({css:qg.toCss(n,n,n),rgba:qg.toRgba(n,n,n)})}return e})()),mv=Yg.toColor(`#ffffff`),hv=Yg.toColor(`#000000`),gv=Yg.toColor(`#ffffff`),_v=hv,vv={css:`rgba(255, 255, 255, 0.3)`,rgba:4294967117},yv=mv,bv=class extends W{constructor(e){super(),this._optionsService=e,this._contrastCache=new fv,this._halfContrastCache=new fv,this._onChangeColors=this._register(new G),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:mv,background:hv,cursor:gv,cursorAccent:_v,selectionForeground:void 0,selectionBackgroundTransparent:vv,selectionBackgroundOpaque:Jg.blend(hv,vv),selectionInactiveBackgroundTransparent:vv,selectionInactiveBackgroundOpaque:Jg.blend(hv,vv),scrollbarSliderBackground:Jg.opacity(mv,.2),scrollbarSliderHoverBackground:Jg.opacity(mv,.4),scrollbarSliderActiveBackground:Jg.opacity(mv,.5),overviewRulerBorder:mv,ansi:pv.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=xv(e.foreground,mv),t.background=xv(e.background,hv),t.cursor=Jg.blend(t.background,xv(e.cursor,gv)),t.cursorAccent=Jg.blend(t.background,xv(e.cursorAccent,_v)),t.selectionBackgroundTransparent=xv(e.selectionBackground,vv),t.selectionBackgroundOpaque=Jg.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=xv(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=Jg.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?xv(e.selectionForeground,Kg):void 0,t.selectionForeground===Kg&&(t.selectionForeground=void 0),Jg.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=Jg.opacity(t.selectionBackgroundTransparent,.3)),Jg.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=Jg.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=xv(e.scrollbarSliderBackground,Jg.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=xv(e.scrollbarSliderHoverBackground,Jg.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=xv(e.scrollbarSliderActiveBackground,Jg.opacity(t.foreground,.5)),t.overviewRulerBorder=xv(e.overviewRulerBorder,yv),t.ansi=pv.slice(),t.ansi[0]=xv(e.black,pv[0]),t.ansi[1]=xv(e.red,pv[1]),t.ansi[2]=xv(e.green,pv[2]),t.ansi[3]=xv(e.yellow,pv[3]),t.ansi[4]=xv(e.blue,pv[4]),t.ansi[5]=xv(e.magenta,pv[5]),t.ansi[6]=xv(e.cyan,pv[6]),t.ansi[7]=xv(e.white,pv[7]),t.ansi[8]=xv(e.brightBlack,pv[8]),t.ansi[9]=xv(e.brightRed,pv[9]),t.ansi[10]=xv(e.brightGreen,pv[10]),t.ansi[11]=xv(e.brightYellow,pv[11]),t.ansi[12]=xv(e.brightBlue,pv[12]),t.ansi[13]=xv(e.brightMagenta,pv[13]),t.ansi[14]=xv(e.brightCyan,pv[14]),t.ansi[15]=xv(e.brightWhite,pv[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]=xv(e.extendedAnsi[r],pv[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];return}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()}}};bv=Hp([U(0,xm)],bv);function xv(e,t){if(e!==void 0)try{return Yg.toColor(e)}catch{}return t}var Sv=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)}},Cv=class{constructor(){this._services=new Sv,this._services.set(ym,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let n=fm(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)}},wv={trace:0,debug:1,info:2,warn:3,error:4,off:5},Tv=`xterm.js: `,Ev=class extends W{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),Dv=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=wv[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?``:Tv)+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)}};Ev=Hp([U(0,xm)],Ev);var Dv,Ov=class extends W{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new G),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new G),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new G),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}},J=3,kv=Object.freeze(new om),Av=0,jv=2,Mv=class e{constructor(e,t,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(e*J);let r=t||cm.fromCharData([0,im,1,0]);for(let t=0;t<e;++t)this.setCell(t,r);this.length=e}get(e){let t=this._data[e*J+0],n=t&2097151;return[this._data[e*J+1],t&2097152?this._combined[e]:n?em(n):``,t>>22,t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):n]}set(e,t){this._data[e*J+1]=t[0],t[1].length>1?(this._combined[e]=t[1],this._data[e*J+0]=e|2097152|t[2]<<22):this._data[e*J+0]=t[1].charCodeAt(0)|t[2]<<22}getWidth(e){return this._data[e*J+0]>>22}hasWidth(e){return this._data[e*J+0]&12582912}getFg(e){return this._data[e*J+1]}getBg(e){return this._data[e*J+2]}hasContent(e){return this._data[e*J+0]&4194303}getCodePoint(e){let t=this._data[e*J+0];return t&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):t&2097151}isCombined(e){return this._data[e*J+0]&2097152}getString(e){let t=this._data[e*J+0];return t&2097152?this._combined[e]:t&2097151?em(t&2097151):``}isProtected(e){return this._data[e*J+2]&536870912}loadCell(e,t){return Av=e*J,t.content=this._data[Av+0],t.fg=this._data[Av+1],t.bg=this._data[Av+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*J+0]=t.content,this._data[e*J+1]=t.fg,this._data[e*J+2]=t.bg}setCellFromCodepoint(e,t,n,r){r.bg&268435456&&(this._extendedAttrs[e]=r.extended),this._data[e*J+0]=t|n<<22,this._data[e*J+1]=r.fg,this._data[e*J+2]=r.bg}addCodepointToCell(e,t,n){let r=this._data[e*J+0];r&2097152?this._combined[e]+=em(t):r&2097151?(this._combined[e]=em(r&2097151)+em(t),r&=-2097152,r|=2097152):r=t|1<<22,n&&(r&=-12582913,r|=n<<22),this._data[e*J+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 cm;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 cm;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++;return}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*jv<this._data.buffer.byteLength;let n=e*J;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*jv<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*jv<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);return}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*J+0]&4194303)return e+(this._data[e*J+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*J+0]&4194303||this._data[e*J+2]&50331648)return e+(this._data[e*J+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<J;e++)this._data[(n+i)*J+e]=a[(t+i)*J+e];a[(t+i)*J+2]&268435456&&(this._extendedAttrs[n+i]=e._extendedAttrs[t+i])}else for(let i=0;i<r;i++){for(let e=0;e<J;e++)this._data[(n+i)*J+e]=a[(t+i)*J+e];a[(t+i)*J+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*J+0],n=e&2097151,a=e&2097152?this._combined[t]:n?em(n):am;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 Nv(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=Lv(u,d,t),p=1,m=0;for(;p<u.length;){let e=Lv(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 Pv(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 Fv(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 Iv(e,t,n){let r=[],i=e.map((n,r)=>Lv(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=Lv(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 Lv(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 Rv=class e{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=e._nextId++,this._onDispose=this.register(new G),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),$m(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Rv._nextId=1;var zv=Rv,Bv={},Vv=Bv.B;Bv[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:`≥`,"{":`π`,"|":`≠`,"}":`£`,"~":`·`},Bv.A={"#":`£`},Bv.B=void 0,Bv[4]={"#":`£`,"@":`¾`,"[":`ij`,"\\":`½`,"]":`|`,"{":`¨`,"|":`f`,"}":`¼`,"~":`´`},Bv.C=Bv[5]={"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},Bv.R={"#":`£`,"@":`à`,"[":`°`,"\\":`ç`,"]":`§`,"{":`é`,"|":`ù`,"}":`è`,"~":`¨`},Bv.Q={"@":`à`,"[":`â`,"\\":`ç`,"]":`ê`,"^":`î`,"`":`ô`,"{":`é`,"|":`ù`,"}":`è`,"~":`û`},Bv.K={"@":`§`,"[":`Ä`,"\\":`Ö`,"]":`Ü`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`ß`},Bv.Y={"#":`£`,"@":`§`,"[":`°`,"\\":`ç`,"]":`é`,"`":`ù`,"{":`à`,"|":`ò`,"}":`è`,"~":`ì`},Bv.E=Bv[6]={"@":`Ä`,"[":`Æ`,"\\":`Ø`,"]":`Å`,"^":`Ü`,"`":`ä`,"{":`æ`,"|":`ø`,"}":`å`,"~":`ü`},Bv.Z={"#":`£`,"@":`§`,"[":`¡`,"\\":`Ñ`,"]":`¿`,"{":`°`,"|":`ñ`,"}":`ç`},Bv.H=Bv[7]={"@":`É`,"[":`Ä`,"\\":`Ö`,"]":`Å`,"^":`Ü`,"`":`é`,"{":`ä`,"|":`ö`,"}":`å`,"~":`ü`},Bv[`=`]={"#":`ù`,"@":`à`,"[":`é`,"\\":`ç`,"]":`ê`,"^":`î`,_:`è`,"`":`ô`,"{":`ä`,"|":`ö`,"}":`ü`,"~":`û`};var Hv=4294967295,Uv=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=kv.clone(),this.savedCharset=Vv,this.markers=[],this._nullCell=cm.fromCharData([0,im,1,0]),this._whitespaceCell=cm.fromCharData([0,am,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new B_,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Ov(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 sm),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 sm),this._whitespaceCell}getBlankLine(e,t){return new Mv(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>Hv?Hv:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=kv);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 Ov(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let n=this.getNullCell(kv),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 Mv(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 Mv(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=Nv(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(kv),n);if(r.length>0){let n=Pv(this.lines,r);Fv(this.lines,n.layout),this._reflowLargerAdjustViewport(e,t,n.countRemoved)}}_reflowLargerAdjustViewport(e,t,n){let r=this.getNullCell(kv),i=n;for(;i-->0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new Mv(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(kv),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=Iv(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(kv,!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--,_=Lv(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 zv(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)}},Wv=class extends W{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new G),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 Uv(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Uv(!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)}},Gv=2,Kv=1,qv=class extends W{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new G),this.onResize=this._onResize.event,this._onScroll=this._register(new G),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Gv),this.rows=Math.max(e.rawOptions.rows||0,Kv),this.buffers=this._register(new Wv(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))}};qv=Hp([U(0,xm)],qv);var Jv={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:j_,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:` ()[]{}',"\``,altClickMovesCursor:!0,convertEol:!1,termName:`xterm`,cancelEvents:!1,overviewRuler:{}},Yv=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],Xv=class extends W{constructor(e){super(),this._onOptionChange=this._register(new G),this.onOptionChange=this._onOptionChange.event;let t={...Jv};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(th(()=>{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 Jv))throw Error(`No option with key "${e}"`);return this.rawOptions[e]},t=(e,t)=>{if(!(e in Jv))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||=Jv[e],!Zv(t))throw Error(`"${t}" is not a valid value for ${e}`);break;case`wordSeparator`:t||=Jv[e];break;case`fontWeight`:case`fontWeightBold`:if(typeof t==`number`&&1<=t&&t<=1e3)break;t=Yv.includes(t)?t:Jv[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 Zv(e){return e===`block`||e===`underline`||e===`bar`}function Qv(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]&&Qv(e[r],t-1);return n}var $v=Object.freeze({insertMode:!1}),ey=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),ty=class extends W{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 G),this.onData=this._onData.event,this._onUserInput=this._register(new G),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new G),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new G),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Qv($v),this.decPrivateModes=Qv(ey)}reset(){this.modes=Qv($v),this.decPrivateModes=Qv(ey)}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))}};ty=Hp([U(0,hm),U(1,bm),U(2,xm)],ty);var ny={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 ry(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 iy=String.fromCharCode,ay={DEFAULT:e=>{let t=[ry(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?``:`\x1B[M${iy(t[0])}${iy(t[1])}${iy(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${ry(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?`m`:`M`;return`\x1B[<${ry(e,!0)};${e.x};${e.y}${t}`}},oy=class extends W{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 G),this.onProtocolChange=this._onProtocolChange.event;for(let e of Object.keys(ny))this.addProtocol(e,ny[e]);for(let e of Object.keys(ay))this.addEncoding(e,ay[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}};oy=Hp([U(0,hm),U(1,_m),U(2,xm)],oy);var sy=[[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]],cy=[[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]],ly;function uy(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 dy=class{constructor(){if(this.version=`6`,!ly){ly=new Uint8Array(65536),ly.fill(1),ly[0]=0,ly.fill(0,1,32),ly.fill(0,127,160),ly.fill(2,4352,4448),ly[9001]=2,ly[9002]=2,ly.fill(2,11904,42192),ly[12351]=1,ly.fill(2,44032,55204),ly.fill(2,63744,64256),ly.fill(2,65040,65050),ly.fill(2,65072,65136),ly.fill(2,65280,65377),ly.fill(2,65504,65511);for(let e=0;e<sy.length;++e)ly.fill(0,sy[e][0],sy[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?ly[e]:uy(e,cy)?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=fy.extractWidth(t);e===0?r=!1:e>n&&(n=e)}return fy.createPropertyValue(0,n,r)}},fy=class e{constructor(){this._providers=Object.create(null),this._active=``,this._onChange=new G,this.onChange=this._onChange.event;let e=new dy;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)}},py=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 my(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 hy=2147483647,gy=256,_y=class e{constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>gy)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;return}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>hy?hy: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>hy?hy: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,hy):e}},vy=[],yy=class{constructor(){this._state=0,this._active=vy,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=vy}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=vy,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||vy,!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`,tm(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=vy,this._id=-1,this._state=0}}},by=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+=tm(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}},xy=[],Sy=class{constructor(){this._handlers=Object.create(null),this._active=xy,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=xy}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=xy,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||xy,!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`,tm(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=xy,this._ident=0}},Cy=new _y;Cy.addParam(0);var wy=class{constructor(e){this._handler=e,this._data=``,this._params=Cy,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Cy,this._data=``,this._hitLimit=!1}put(e,t,n){this._hitLimit||(this._data+=tm(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=Cy,this._data=``,this._hitLimit=!1,e));return this._params=Cy,this._data=``,this._hitLimit=!1,t}},Ty=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}},Ey=160,Dy=function(){let e=new Ty(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(Ey,0,2,0),e.add(Ey,8,5,8),e.add(Ey,6,0,6),e.add(Ey,11,0,11),e.add(Ey,13,13,13),e}(),Oy=class extends W{constructor(e=Dy){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 _y,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(th(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new yy),this._dcsParser=this._register(new Sy),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:Ey)],i>>4){case 2:for(let i=n+1;;++i){if(i>=t||(r=e[i])<32||r>126&&r<Ey){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Ey){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Ey){this._printHandler(e,n,i),n=i-1;break}if(++i>=t||(r=e[i])<32||r>126&&r<Ey){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<Ey){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<Ey){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}}},ky=/^([\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})$/,Ay=/^[\da-f]+$/;function jy(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf(`rgb:`)===0){t=t.slice(4);let e=ky.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),Ay.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 My(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 Ny(e,t=16){let[n,r,i]=e;return`rgb:${My(n,t)}/${My(r,t)}/${My(i,t)}`}var Py={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Fy=131072,Iy=10;function Ly(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 Ry=5e3,zy=0,By=class extends W{constructor(e,t,n,r,i,a,o,s,c=new Oy){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 nm,this._utf8Decoder=new rm,this._windowTitle=``,this._iconName=``,this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=kv.clone(),this._eraseAttrDataInternal=kv.clone(),this._onRequestBell=this._register(new G),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new G),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new G),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new G),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new G),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new G),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new G),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new G),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new G),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new G),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new G),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new G),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new G),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 Vy(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(q.BEL,()=>this.bell()),this._parser.setExecuteHandler(q.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(q.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(q.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(q.BS,()=>this.backspace()),this._parser.setExecuteHandler(q.HT,()=>this.tab()),this._parser.setExecuteHandler(q.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(q.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(zg.IND,()=>this.index()),this._parser.setExecuteHandler(zg.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(zg.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new by(e=>(this.setTitle(e),this.setIconName(e),!0))),this._parser.registerOscHandler(1,new by(e=>this.setIconName(e))),this._parser.registerOscHandler(2,new by(e=>this.setTitle(e))),this._parser.registerOscHandler(4,new by(e=>this.setOrReportIndexedColor(e))),this._parser.registerOscHandler(8,new by(e=>this.setHyperlink(e))),this._parser.registerOscHandler(10,new by(e=>this.setOrReportFgColor(e))),this._parser.registerOscHandler(11,new by(e=>this.setOrReportBgColor(e))),this._parser.registerOscHandler(12,new by(e=>this.setOrReportCursorColor(e))),this._parser.registerOscHandler(104,new by(e=>this.restoreIndexedColor(e))),this._parser.registerOscHandler(110,new by(e=>this.restoreFgColor(e))),this._parser.registerOscHandler(111,new by(e=>this.restoreBgColor(e))),this._parser.registerOscHandler(112,new by(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 Bv)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 wy((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`),Ry))]).catch(e=>{if(e!==`#SLOW_TIMEOUT`)throw e;console.warn(`async parser handler taking longer than ${Ry} 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>Fy&&(a=this._parseStack.position+Fy)}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<Fy&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Fy))),o||this._dirtyRowTracker.clearRange(),e.length>Fy)for(let t=a;t<e.length;t+=Fy){let a=t+Fy<e.length?t+Fy: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=fy.extractWidth(t);let n=fy.extractShouldJoin(t),m=n?fy.extractWidth(f):0;if(f=t,o&&this._onA11yChar.fire(em(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 Mv&&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);continue}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=>!Ly(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new wy(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new by(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(kv));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=fy.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(q.ESC+`[?1;2c`):this._is(`linux`)&&this._coreService.triggerDataEvent(q.ESC+`[?6c`)),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(`xterm`)?this._coreService.triggerDataEvent(q.ESC+`[>0;276;0c`):this._is(`rxvt-unicode`)?this._coreService.triggerDataEvent(q.ESC+`[>85;95;0c`):this._is(`linux`)?this._coreService.triggerDataEvent(e.params[0]+`c`):this._is(`screen`)&&this._coreService.triggerDataEvent(q.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,Vv),this._charsetService.setgCharset(1,Vv),this._charsetService.setgCharset(2,Vv),this._charsetService.setgCharset(3,Vv);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(`${q.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|=om.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=kv.fg,e.bg=kv.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|=kv.fg&16777215):n===49?(r.bg&=-67108864,r.bg|=kv.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|=kv.fg&16777215,r.bg&=-67108864,r.bg|=kv.bg&16777215):this._logService.debug(`Unknown SGR attribute: %d.`,n);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${q.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${q.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(`${q.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=kv.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(!Ly(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(`${q.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Iy&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Iy&&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(Hy(n)){if(r===`?`)t.push({type:0,index:n});else{let e=jy(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=jy(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]);Hy(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,Vv),!0}selectCharset(e){return e.length===2?(e[0]===`/`||this._charsetService.setgCharset(Py[e[0]],Bv[e[1]]||Vv),!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=kv.clone(),this._eraseAttrDataInternal=kv.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 cm;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(`${q.ESC}${e}${q.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)}},Vy=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&&(zy=e,e=t,t=zy),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Vy=Hp([U(0,hm)],Vy);function Hy(e){return 0<=e&&e<256}var Uy=5e7,Wy=12,Gy=50,Ky=class extends W{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 G),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>Uy)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>=Wy?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>=Wy)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Gy&&(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()}},qy=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)))}};qy=Hp([U(0,hm)],qy);var Jy=!1,Yy=class extends W{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new ih),this._onBinary=this._register(new G),this.onBinary=this._onBinary.event,this._onData=this._register(new G),this.onData=this._onData.event,this._onLineFeed=this._register(new G),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new G),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new G),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new G),this._instantiationService=new Cv,this.optionsService=this._register(new Xv(e)),this._instantiationService.setService(xm,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(qv)),this._instantiationService.setService(hm,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Ev)),this._instantiationService.setService(bm,this._logService),this.coreService=this._register(this._instantiationService.createInstance(ty)),this._instantiationService.setService(_m,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(oy)),this._instantiationService.setService(gm,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(fy)),this._instantiationService.setService(Cm,this.unicodeService),this._charsetService=this._instantiationService.createInstance(py),this._instantiationService.setService(vm,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(qy),this._instantiationService.setService(Sm,this._oscLinkService),this._inputHandler=this._register(new By(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(dh.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(dh.forward(this._bufferService.onResize,this._onResize)),this._register(dh.forward(this.coreService.onData,this._onData)),this._register(dh.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 Ky((e,t)=>this._inputHandler.parse(e,t))),this._register(dh.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new G),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&&!Jy&&(this._logService.warn(`writeSync is unreliable and will be removed soon.`),Jy=!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,Gv),t=Math.max(t,Kv),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(my.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:`H`},()=>(my(this._bufferService),!1))),this._windowsWrappingHeuristics.value=th(()=>{for(let t of e)t.dispose()})}}},Xy={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 Zy(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?q.ESC+`OA`:q.ESC+`[A`:e.key===`UIKeyInputLeftArrow`?i.key=t?q.ESC+`OD`:q.ESC+`[D`:e.key===`UIKeyInputRightArrow`?i.key=t?q.ESC+`OC`:q.ESC+`[C`:e.key===`UIKeyInputDownArrow`&&(i.key=t?q.ESC+`OB`:q.ESC+`[B`);break;case 8:i.key=e.ctrlKey?`\b`:q.DEL,e.altKey&&(i.key=q.ESC+i.key);break;case 9:if(e.shiftKey){i.key=q.ESC+`[Z`;break}i.key=q.HT,i.cancel=!0;break;case 13:i.key=e.altKey?q.ESC+q.CR:q.CR,i.cancel=!0;break;case 27:i.key=q.ESC,e.altKey&&(i.key=q.ESC+q.ESC),i.cancel=!0;break;case 37:if(e.metaKey)break;i.key=a?q.ESC+`[1;`+(a+1)+`D`:t?q.ESC+`OD`:q.ESC+`[D`;break;case 39:if(e.metaKey)break;i.key=a?q.ESC+`[1;`+(a+1)+`C`:t?q.ESC+`OC`:q.ESC+`[C`;break;case 38:if(e.metaKey)break;i.key=a?q.ESC+`[1;`+(a+1)+`A`:t?q.ESC+`OA`:q.ESC+`[A`;break;case 40:if(e.metaKey)break;i.key=a?q.ESC+`[1;`+(a+1)+`B`:t?q.ESC+`OB`:q.ESC+`[B`;break;case 45:!e.shiftKey&&!e.ctrlKey&&(i.key=q.ESC+`[2~`);break;case 46:i.key=a?q.ESC+`[3;`+(a+1)+`~`:q.ESC+`[3~`;break;case 36:i.key=a?q.ESC+`[1;`+(a+1)+`H`:t?q.ESC+`OH`:q.ESC+`[H`;break;case 35:i.key=a?q.ESC+`[1;`+(a+1)+`F`:t?q.ESC+`OF`:q.ESC+`[F`;break;case 33:e.shiftKey?i.type=2:i.key=e.ctrlKey?q.ESC+`[5;`+(a+1)+`~`:q.ESC+`[5~`;break;case 34:e.shiftKey?i.type=3:i.key=e.ctrlKey?q.ESC+`[6;`+(a+1)+`~`:q.ESC+`[6~`;break;case 112:i.key=a?q.ESC+`[1;`+(a+1)+`P`:q.ESC+`OP`;break;case 113:i.key=a?q.ESC+`[1;`+(a+1)+`Q`:q.ESC+`OQ`;break;case 114:i.key=a?q.ESC+`[1;`+(a+1)+`R`:q.ESC+`OR`;break;case 115:i.key=a?q.ESC+`[1;`+(a+1)+`S`:q.ESC+`OS`;break;case 116:i.key=a?q.ESC+`[15;`+(a+1)+`~`:q.ESC+`[15~`;break;case 117:i.key=a?q.ESC+`[17;`+(a+1)+`~`:q.ESC+`[17~`;break;case 118:i.key=a?q.ESC+`[18;`+(a+1)+`~`:q.ESC+`[18~`;break;case 119:i.key=a?q.ESC+`[19;`+(a+1)+`~`:q.ESC+`[19~`;break;case 120:i.key=a?q.ESC+`[20;`+(a+1)+`~`:q.ESC+`[20~`;break;case 121:i.key=a?q.ESC+`[21;`+(a+1)+`~`:q.ESC+`[21~`;break;case 122:i.key=a?q.ESC+`[23;`+(a+1)+`~`:q.ESC+`[23~`;break;case 123:i.key=a?q.ESC+`[24;`+(a+1)+`~`:q.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=q.NUL:e.keyCode>=51&&e.keyCode<=55?i.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?i.key=q.DEL:e.keyCode===219?i.key=q.ESC:e.keyCode===220?i.key=q.FS:e.keyCode===221&&(i.key=q.GS);else if((!n||r)&&e.altKey&&!e.metaKey){let t=Xy[e.keyCode]?.[+!!e.shiftKey];if(t)i.key=q.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=q.ESC+n}else if(e.keyCode===32)i.key=q.ESC+(e.ctrlKey?q.NUL:` `);else if(e.key===`Dead`&&e.code.startsWith(`Key`)){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),i.key=q.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=q.US),e.key===`@`&&(i.key=q.NUL))}return i}var Qy=0,$y=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new B_,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new B_,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||(Qy=this._search(t),Qy===-1)||this._getKey(this._array[Qy])!==t)return!1;do if(this._array[Qy]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Qy),!0;while(++Qy<this._array.length&&this._getKey(this._array[Qy])===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&&(Qy=this._search(e),!(Qy<0||Qy>=this._array.length)&&this._getKey(this._array[Qy])===e))do yield this._array[Qy];while(++Qy<this._array.length&&this._getKey(this._array[Qy])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Qy=this._search(e),!(Qy<0||Qy>=this._array.length)&&this._getKey(this._array[Qy])===e))do t(this._array[Qy]);while(++Qy<this._array.length&&this._getKey(this._array[Qy])===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}},eb=0,tb=0,nb=class extends W{constructor(){super(),this._decorations=new $y(e=>e?.marker.line),this._onDecorationRegistered=this._register(new G),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new G),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(th(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new rb(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=>{eb=t.options.x??0,tb=eb+(t.options.width??1),e>=eb&&e<tb&&(!n||(t.options.layer??`bottom`)===n)&&r(t)})}},rb=class extends rh{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new G),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new G),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?Yg.toColor(this.options.backgroundColor):void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this._cachedFg=this.options.foregroundColor?Yg.toColor(this.options.foregroundColor):void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},ib=1e3,ab=class{constructor(e,t=ib){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)}},ob=20,sb=class extends W{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 ab(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(`
68
- `))),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(K(i,`selectionchange`,()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(th(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(` `)}_handleChar(e){this._liveRegionLineCount<ob+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
69
- `&&(this._liveRegionLineCount++,this._liveRegionLineCount===ob+1&&(this._liveRegion.textContent+=Kp.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})`}};sb=Hp([U(1,ym),U(2,Om),U(3,Am)],sb);var cb=class extends W{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 G),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new G),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(th(()=>{$m(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(K(this._element,`mouseleave`,()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(K(this._element,`mousemove`,this._handleMouseMove.bind(this))),this._register(K(this._element,`mousedown`,this._handleMouseDown.bind(this))),this._register(K(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){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}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&&lb(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,$m(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}}};cb=Hp([U(1,km),U(2,Am),U(3,hm),U(4,Pm)],cb);function lb(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 ub=class extends Yy{constructor(e={}){super(e),this._linkifier=this._register(new ih),this.browser=C_,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new ih),this._onCursorMove=this._register(new G),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new G),this.onKey=this._onKey.event,this._onRender=this._register(new G),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new G),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new G),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new G),this.onBell=this._onBell.event,this._onFocus=this._register(new G),this._onBlur=this._register(new G),this._onA11yCharEmitter=this._register(new G),this._onA11yTabEmitter=this._register(new G),this._onWillOpen=this._register(new G),this._setup(),this._decorationService=this._instantiationService.createInstance(nb),this._instantiationService.setService(wm,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(v_),this._instantiationService.setService(Pm,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Tm)),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(dh.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(dh.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(dh.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(dh.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(th(()=>{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=Jg.toColorRGB(e===`ansi`?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${q.ESC}]${n};${Ny(r)}${Bg.ST}`);break;case 1:if(e===`ansi`)this._themeService.modifyColors(e=>e.ansi[t.index]=qg.toColor(...t.color));else{let n=e;this._themeService.modifyColors(e=>e[n]=qg.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(sb,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(q.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(q.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(K(this.element,`copy`,e=>{this.hasSelection()&&Yp(e,this._selectionService)}));let e=e=>Xp(e,this.textarea,this.coreService,this.optionsService);this._register(K(this.textarea,`paste`,e)),this._register(K(this.element,`paste`,e)),D_?this._register(K(this.element,`mousedown`,e=>{e.button===2&&$p(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(K(this.element,`contextmenu`,e=>{$p(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),F_&&this._register(K(this.element,`auxclick`,e=>{e.button===1&&Qp(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(K(this.textarea,`keyup`,e=>this._keyUp(e),!0)),this._register(K(this.textarea,`keydown`,e=>this._keyDown(e),!0)),this._register(K(this.textarea,`keypress`,e=>this._keyPress(e),!0)),this._register(K(this.textarea,`compositionstart`,()=>this._compositionHelper.compositionstart())),this._register(K(this.textarea,`compositionupdate`,e=>this._compositionHelper.compositionupdate(e))),this._register(K(this.textarea,`compositionend`,()=>this._compositionHelper.compositionend())),this._register(K(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(K(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`,Wp.get()),I_||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(g_,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<`u`?window.document:null)),this._instantiationService.setService(Om,this._coreBrowserService),this._register(K(this.textarea,`focus`,e=>this._handleTextAreaFocus(e))),this._register(K(this.textarea,`blur`,()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(f_,this._document,this._helperContainer),this._instantiationService.setService(Dm,this._charSizeService),this._themeService=this._instantiationService.createInstance(bv),this._instantiationService.setService(Nm,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(e_),this._instantiationService.setService(Mm,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(H_,this.rows,this.screenElement)),this._instantiationService.setService(Am,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(Vg,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(x_),this._instantiationService.setService(km,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(cb,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(Ng,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(uv,this.element,this.screenElement,r)),this._instantiationService.setService(jm,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(dh.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{this._selectionService.refresh(),this._viewport?.queueSync()})),this._register(this._instantiationService.createInstance(Pg,this.screenElement)),this._register(K(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(sb,this)),this._register(this.optionsService.onSpecificOptionChange(`screenReaderMode`,e=>this._handleScreenReaderModeOptionChange(e))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Rg,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(`overviewRuler`,e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(Rg,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(d_,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(K(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(K(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=q.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){Zp(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=Zy(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===q.ETX||n.key===q.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)&&(db(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){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}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(kv));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(q.ESC+`[I`):this.coreService.triggerDataEvent(q.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(`${q.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(`${q.ESC}[6;${r};${n}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}};function db(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var fb=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)}},pb=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 cm)}translateToString(e,t,n){return this._line.translateToString(e,t,n)}},mb=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 pb(t)}getNullCell(){return new cm}},hb=class extends W{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new G),this.onBufferChange=this._onBufferChange.event,this._normal=new mb(this._core.buffers.normal,`normal`),this._alternate=new mb(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)}},gb=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)}},_b=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}},vb=[`cols`,`rows`],yb=0,bb=class extends W{constructor(e){super(),this._core=this._register(new ub(e)),this._addonManager=this._register(new fb),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(vb.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 gb(this._core),this._parser}get unicode(){return this._checkProposedApi(),new _b(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 hb(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
70
- `,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 Wp.get()},set promptLabel(e){Wp.set(e)},get tooMuchOutput(){return Kp.get()},set tooMuchOutput(e){Kp.set(e)}}}_verifyIntegers(...e){for(yb of e)if(yb===1/0||isNaN(yb)||yb%1!=0)throw Error(`This API only accepts integers`)}_verifyPositiveIntegers(...e){for(yb of e)if(yb&&(yb===1/0||isNaN(yb)||yb%1!=0||yb<0))throw Error(`This API only accepts positive integers`)}},xb=`CommitMono`,Sb=[400,700].map(e=>`${e} 14px ${xb}`),Cb=`monospace`;function wb(e){return e.trim().replace(/^['"]|['"]$/g,``)}function Tb(e,t){let n=e.split(`,`).map(e=>e.trim()).filter(e=>e.length>0),r=t?n:n.filter(e=>wb(e)!==xb);return r.length>0?r.join(`, `):Cb}function Eb(e,t,n){return Promise.all(t.map(t=>e.load(t))).then(n,()=>void 0)}function Db(e,t){for(let n of e)n.term&&(n.term.options.fontFamily=t,n._syncGrid?.())}function Ob(){return document.fonts?Sb.every(e=>document.fonts.check(e)):!1}function kb(){return Tb(getComputedStyle(document.documentElement).getPropertyValue(`--font-mono`),Ob())}function Ab(e){document.fonts&&Eb(document.fonts,Sb,e)}var jb=`↑`,Mb=`↓`,Nb=`←`,Pb=`→`,Fb=`⌘`,Ib={always:()=>!0,"calm-surface":e=>e.isCalmAvailable,"calm-view":e=>e.isCalmAvailable&&e.isCalmViewActive},Lb=Array.from({length:9},(e,t)=>[`Digit${t+1}`,t+1]),Rb=[{action:`next-attention`,keyCaptions:[`J`],label:`Jump to the next session needing you`,stepByCode:new Map([[`KeyJ`,0]]),availability:`always`},{action:`rail-step`,keyCaptions:[jb,Mb],label:`Previous / next session in the rail`,stepByCode:new Map([[`ArrowUp`,-1],[`ArrowDown`,1]]),availability:`always`},{action:`view-step`,keyCaptions:[Nb,Pb],label:`Previous / next view tab`,stepByCode:new Map([[`ArrowLeft`,-1],[`ArrowRight`,1]]),availability:`always`,unavailablePlatform:`other`},{action:`view-step`,keyCaptions:[`PgUp`,`PgDn`],label:`Previous / next view tab`,stepByCode:new Map([[`PageUp`,-1],[`PageDown`,1]]),availability:`always`,unavailablePlatform:`mac`},{action:`session-nth`,keyCaptions:[`1..9`],label:`Jump to session 1 to 9`,stepByCode:new Map(Lb),availability:`always`},{action:`new-session`,keyCaptions:[`0`],label:`Add a session`,stepByCode:new Map([[`Digit0`,0]]),availability:`always`},{action:`merge`,keyCaptions:[`I`],label:`Merge the selected session`,stepByCode:new Map([[`KeyI`,0]]),availability:`always`},{action:`resolve-or-resync`,keyCaptions:[`U`],label:`Resolve a parked merge, or resync the base branch`,stepByCode:new Map([[`KeyU`,0]]),availability:`always`},{action:`calm-home`,keyCaptions:[`H`],label:`Go to the Calm view (Calm layout)`,stepByCode:new Map([[`KeyH`,0]]),availability:`calm-surface`,unavailablePlatform:`mac`},{action:`calm-terminal`,keyCaptions:[`T`],label:`Open the terminal of the open Calm panel (Calm layout)`,stepByCode:new Map([[`KeyT`,0]]),availability:`calm-view`,unavailablePlatform:`mac`}];function zb(e){return Rb.filter(t=>t.unavailablePlatform!==e)}function Bb(e){return/Mac|iPhone|iPad/.test(e)?`mac`:`other`}function Vb(e,t){return e.ctrlKey||e.shiftKey?!1:t===`mac`?e.metaKey&&!e.altKey:e.altKey&&!e.metaKey}function Hb(e,t,n){if(!Vb(e,t))return null;for(let r of zb(t)){if(!Ib[r.availability](n))continue;let t=r.stepByCode.get(e.code);if(t!==void 0)return{action:r.action,step:t}}return null}function Ub(e){return e===`mac`?Fb:`Alt`}function Wb(e,t){let n=zb(t).find(t=>t.action===e);if(!n)throw Error(`Unknown dashboard shortcut: ${e}`);return n}function Gb(e,t){return[Ub(t),Wb(e,t).keyCaptions.join(` `)]}function Kb(e,t){let[n,r]=Gb(e,t);return t===`mac`?`${n}${r}`:`${n}+${r}`}function qb(e){let t=e===`mac`?`Meta`:`Alt`;return`ArrowUp ArrowDown ${t}+ArrowUp ${t}+ArrowDown`}function Jb(e){let t=Ub(e),n=e===`mac`?Fb:`Ctrl`;return[{title:`Dashboard`,items:zb(e).map(e=>({combos:e.keyCaptions.map(e=>[t,e]),label:e.label}))},{title:`Navigation`,items:[{combos:[[jb],[Mb]],label:`Move rail highlight (rail focused)`},{combos:[[Nb],[Pb]],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 Yb=Bb(navigator.userAgent),Xb=()=>({isCalmAvailable:!1,isCalmViewActive:!1});function Zb(e){Xb=e}function Qb(){return Xb()}function $b(e,t){t.forEach((t,n)=>{n>0&&e.appendChild(B(`span`,`shortcut-sep`,`+`)),e.appendChild(B(`kbd`,`kbd`,t))})}function ex(e){let t=B(`span`,`shortcut-keys`);return $b(t,e),t}var tx=6,nx=262144,rx=16384,ix=()=>{};function ax(e,t){if(t.length<=rx){e.push(t);return}for(let n=0;n<t.length;n+=rx)e.push(t.slice(n,n+rx))}function ox({budget:e=tx,maxChunkBytes:t=nx,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){ax(l,e),m+=e.length,a.readIdx++;continue}m===0&&(ax(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++;continue}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,ix);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);if(n){n.write=t,n.live=!0;return}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 sx=ox(),cx=`chime`,lx=`custom:`,ux=`/custom-sounds`,dx=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`}]}}),fx=Object.freeze(Object.entries(dx).map(([e,t])=>({id:e,label:t.label})));function px(e){return`${lx}${e}`}function mx(e){return`${ux}/${encodeURIComponent(e)}`}function hx(e){return e.startsWith(lx)&&e.slice(7)||null}function gx(e){let t=(e??[]).map(e=>({id:px(e),label:e}));return[...fx,...t]}function _x(e,t){if(typeof e!=`string`)return cx;if(Object.hasOwn(dx,e))return e;let n=hx(e);return n&&(t===null||t.includes(n))?e:cx}function vx(e){return typeof e!=`object`||!e||!(`sounds`in e)||!Array.isArray(e.sounds)?[]:e.sounds.filter(e=>typeof e==`string`&&e!==``)}var yx=.3,bx=null;function xx(){return gx(bx)}function Sx(e){return _x(e,bx)}async function Cx(){try{let e=await fetch(ux,{credentials:`same-origin`,cache:`no-store`});e.ok&&(bx=vx(await e.json()))}catch{}}function wx(){let e=new AudioContext;return e.state===`suspended`&&e.resume(),e}function Tx(e,t){setTimeout(()=>e.close().catch(()=>{}),(t+.1)*1e3)}function Ex(e){Dx(dx[e]??dx.chime)}function Dx(e){let t=wx(),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)}Tx(t,i)}async function Ox(e){try{let t=await fetch(mx(e),{credentials:`same-origin`});return t.ok?await t.arrayBuffer():null}catch{return null}}async function kx(e){let t=await Ox(e);if(!t)return!1;let n=wx();try{let e=await n.decodeAudioData(t),r=n.createGain();r.gain.value=yx,r.connect(n.destination);let i=n.createBufferSource();return i.buffer=e,i.connect(r),i.start(),Tx(n,e.duration),!0}catch{return n.close().catch(()=>{}),!1}}var Ax=[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 jx(){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<Ax.length;i++){let a=r+i*n,o=e.createOscillator(),s=e.createGain();o.type=`square`,o.frequency.value=Ax[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+Ax.length*n;t.gain.setValueAtTime(.05,i-.05),t.gain.exponentialRampToValueAtTime(.001,i),setTimeout(()=>e.close().catch(()=>{}),(i-r+.1)*1e3)}catch{}}function Mx(){try{Ex(cx)}catch{}}function Nx(e){try{let t=Sx(e),n=hx(t);if(!n){Ex(t);return}kx(n).then(e=>{e||Mx()})}catch{}}var Px={"--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)`},Fx={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`},Ix={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`,...Px,"--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:{...Fx,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`,...Px,"--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:{...Fx,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`,...Px,"--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:{...Fx,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`}}},Lx=`phyrexian`,Rx=null;function zx(e){let t=Ix[e];if(!t)return;let n=Rx;Rx=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`&&jx()}function Bx(e){document.documentElement.toggleAttribute(`data-compact-status`,e)}function Vx(e){document.documentElement.toggleAttribute(`data-show-usage`,e)}function Hx(){let e=Ix[Rx||Lx];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 Ux(){return Object.entries(Ix).map(([e,t])=>({id:e,label:t.label}))}var Wx=O().int().min(1).max(500),Gx=O().int().min(1).max(200);js(`type`,[j({type:P(`input`),data:D()}),j({type:P(`claim`),cols:Wx,rows:Gx}),j({type:P(`unview`)})]);var Kx=j({type:P(`pty-size`),cols:Wx,rows:Gx,seq:O().int().nonnegative()});function qx(e){try{return JSON.parse(e)}catch{return null}}function Jx(e){let t=Kx.safeParse(qx(e));return t.success?t.data:null}function Yx(e,t){return!e||!t?!1:e.cols===t.cols&&e.rows===t.rows}function Xx(e){return!e||!Number.isInteger(e.cols)||!Number.isInteger(e.rows)?!1:e.cols>0&&e.rows>0}function Zx(e){return{cols:Math.min(Math.max(e.cols,1),500),rows:Math.min(Math.max(e.rows,1),200)}}function Qx({authoritative:e,isActiveViewer:t,lastClaim:n}){return!(t&&Yx(e,n))}function $x({isDocumentVisible:e,isDocumentFocused:t,hasFocusInsideCard:n,hasWindowBlurredSinceFocus:r,isPhoneLayout:i}){return e?i||t?!0:n&&!r:!1}function eS({authoritative:e,isActiveViewer:t,isDocumentEngaged:n,isDataWsOpen:r,lastClaim:i}){return!t||!n||!r?`none`:Qx({authoritative:e,isActiveViewer:t,lastClaim:i})?`rebid`:`resync`}function tS({isActiveViewer:e,lastClaim:t,owedClaim:n}){return e?n??t:null}function nS({authoritative:e,applied:t,proposal:n,isActiveViewer:r,isDataWsOpen:i,lastClaim:a}){let o=!!e&&!Yx(e,t),s=Xx(n)?Zx(n):null,c=r&&!!s&&!Yx(s,a);return{resizeTo:o?e:null,owedClaim:c?s:null,keepsPendingSettle:r&&!s,sendUnview:!r&&i&&!!a,isFollowing:Qx({authoritative:e,isActiveViewer:r,lastClaim:a})}}function rS(e){return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?new TextDecoder().decode(e):null}function iS(e){let t=rS(e);return t===null?null:Jx(t)}function aS(e,t){if(typeof e==`string`)return{kind:`bytes`,data:e};let n=iS(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 oS=new Map([[`deleteContentBackward`,``],[`deleteByComposition`,``],[`deleteCompositionText`,``],[`deleteWordBackward`,`\x1B`],[`deleteSoftLineBackward`,`\x1B`],[`deleteHardLineBackward`,`\x1B`]]);function sS(e){return oS.get(e)??``}var cS=new Set([`insertFromPaste`,`insertFromPasteAsQuotation`,`insertFromDrop`,`insertFromYank`,`historyUndo`,`historyRedo`]);function lS(e){return typeof e!=`string`||e===``||!cS.has(e)}function uS(e){return e?e.keyCode===229||e.key===`Process`:!1}function dS(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``.repeat(n.length-a)+r.slice(a).join(``).replace(/\r\n|\n|\r/g,`\r`)}var fS=new Set([`http:`,`https:`]);function pS(e){let t;try{t=new URL(e)}catch{return null}return fS.has(t.protocol)?t.href:null}var mS=/\bElectron\/\d/,hS=new Set([`localhost`,`127.0.0.1`]);function gS(e){return mS.test(e)}function _S({userAgent:e,pageHostname:t}){return gS(e)&&hS.has(t)}function vS(e){return pS(e)!==null}var yS=new Set([0,1]);function bS({button:e,opensInNewTab:t}){return t&&yS.has(e)}function xS(){return _S({userAgent:navigator.userAgent,pageHostname:location.hostname})}function SS(e){window.open(e,`_blank`,`noopener,noreferrer`)}async function CS(e){try{let t=await g();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 wS(e){if(!xS()||!vS(e)){SS(e);return}CS(e).then(t=>{t||SS(e)})}function TS(e){if(e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t instanceof HTMLAnchorElement&&bS({button:e.button,opensInNewTab:t.target===`_blank`})&&vS(t.href)&&(e.preventDefault(),wS(t.href))}function ES(e){xS()&&(e.addEventListener(`click`,TS,!0),e.addEventListener(`auxclick`,TS,!0))}var DS=/https?:\/\/[^\s<>"']+/g,OS=new Set([`.`,`,`,`;`,`:`,`!`,`?`,`'`,`"`]),kS={")":`(`,"]":`[`,"}":`{`};function AS(e,t){let n=0;for(let r of e)r===t&&n++;return n}function jS(e){for(;;){let t=e[e.length-1];if(t===void 0)return e;if(OS.has(t)){e=e.slice(0,-1);continue}let n=kS[t];if(n&&AS(e,n)<AS(e,t)){e=e.slice(0,-1);continue}return e}}function MS(e){let t=[];for(let n of e.matchAll(DS)){let e=jS(n[0]);e.length<=8||t.push({start:n.index,end:n.index+e.length,url:e})}return t}var NS=50;function PS(){return{activate(e,t){wS(t)},allowNonHttpProtocols:!1}}function FS(e,t){let n=t-1;for(;n>0&&e.getLine(n)?.isWrapped&&t-1-n<NS;)n--;let r=t-1;for(;e.getLine(r+1)?.isWrapped&&r-(t-1)<NS;)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 IS(e){return e.registerLinkProvider({provideLinks(t,n){let r=e.buffer?.active;if(!r)return n(void 0);let{text:i,cellAt:a}=FS(r,t),o=[];for(let{start:e,end:t,url:n}of MS(i)){let r=a[e],i=a[t-1];r&&i&&o.push({range:{start:r,end:i},text:n,activate(e,t){wS(t)}})}n(o.length?o:void 0)}})}function LS(e){return e===`\r`}function RS({hasTerminal:e,isSocketOpen:t,isInputHeld:n}){return e?n||!t?`connecting`:`live`:`none`}var zS=6e3,BS=400,VS=`×`,HS=new WeakMap;function US(){let e=document.getElementById(`notice-region`);return e||(e=B(`div`,`notice-region`),e.id=`notice-region`,e.setAttribute(`role`,`region`),e.setAttribute(`aria-label`,`Notifications`),document.body.appendChild(e)),e}function WS(e){let t=HS.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(),BS))}function GS(e,t={}){let n=typeof e==`string`?e:String(e),r=t.persist===!0,i=US(),a=i.firstElementChild,o=a?HS.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(()=>WS(a),zS)),a}let s=B(`div`,r?`notice is-persistent`:`notice`),c={message:n,count:1,timer:null,dismissed:!1};HS.set(s,c),s.setAttribute(`role`,`alert`);let l=B(`span`,`notice-glyph`,`!`);l.setAttribute(`aria-hidden`,`true`);let u=B(`span`,`notice-msg`,n),d=B(`span`,`notice-count`);d.hidden=!0;let f=B(`button`,`notice-close`,VS);return f.type=`button`,f.setAttribute(`aria-label`,`Dismiss notification`),f.addEventListener(`click`,()=>WS(s)),s.append(l,u,d,f),i.prepend(s),requestAnimationFrame(()=>s.classList.add(`is-visible`)),r||(c.timer=setTimeout(()=>WS(s),zS)),s}var KS=1.2,qS=.005;function JS(e,t){let n=Math.abs(t);return n<10?!1:n>Math.abs(e)*KS}function YS(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 XS(e,t,n){let r=e.length>=4?e.slice(1):e.slice();return r.push({positionPx:t,timestampMs:n}),r}function ZS(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 QS({velocityPxPerMs:e,startedAtMs:t,cellHeightPx:n,pendingPx:r=0}){return!e||!(n>0)?null:{velocityPxPerMs:e,lastMs:t,cellHeightPx:n,pendingPx:r}}function $S(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)-qS*n;if(!(r>0))return{scrollLines:0,state:null};let i=e.velocityPxPerMs<0?-1:1,a=i*r*n,{scrollLines:o,remainderPx:s}=YS(e.pendingPx+a,e.cellHeightPx);return{scrollLines:o,state:{velocityPxPerMs:i*r,lastMs:t,cellHeightPx:e.cellHeightPx,pendingPx:s}}}function eC(e,t){return e===`alternate`||!!t&&t!==`none`}function tC(e,t){return!(e>0)||!(t>0)?0:e/t}var nC=1;function rC(e){return typeof e._core?._viewport?.handleTouchScroll==`function`}function iC(e,t){for(let n of e)if(n.identifier===t)return n;return null}function aC(e,t){if(rC(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=()=>eC(t.buffer?.active?.type,t.modes?.mouseTrackingMode),m=()=>{let e=t.element?.querySelector(`.xterm-screen`);return tC(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:nC,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}=$S(u,performance.now());if(u=a,i!==0&&t.scrollLines(i),u){if(i!==0&&t.buffer?.active?.viewportY===r){f();return}d=requestAnimationFrame(_)}},v=(e,t,n)=>{u=QS({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=iC(e.touches,r);if(!u)return;if(!s){if(!JS(u.clientX-i,u.clientY-a))return;s=!0,o=u.clientY,c=0,l=XS([],u.clientY,e.timeStamp)}e.cancelable&&e.preventDefault(),c+=u.clientY-o,o=u.clientY,l=XS(l,u.clientY,e.timeStamp);let d=p(),{scrollLines:f,remainderPx:h}=YS(c,m(),d?8:void 0);if(c=h,f!==0){if(d){g(f,u.clientX,u.clientY);return}t.scrollLines(f)}},{passive:!1}),e.addEventListener(`touchend`,e=>{if(!s||p()){h();return}l=XS(l,o,e.timeStamp);let t=ZS(l),n=c;h(),t!==0&&v(t,performance.now(),n)},{passive:!0}),e.addEventListener(`touchcancel`,()=>{f(),h()},{passive:!0})}var oC=Object.defineProperty,sC=Object.getOwnPropertyDescriptor,cC=(e,t,n,r)=>{for(var i=r>1?void 0:r?sC(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&&oC(t,n,i),i},lC=(e,t)=>(n,r)=>t(n,r,e),uC=new class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?hC.isErrorNoTelemetry(e)?new hC(e.message+`
71
-
72
- `+e.stack):Error(e.message+`
73
-
74
- `+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 dC(e){pC(e)||uC.onUnexpectedError(e)}var fC=`Canceled`;function pC(e){return e instanceof mC||e instanceof Error&&e.name===fC&&e.message===fC}var mC=class extends Error{constructor(){super(fC),this.name=this.message}},hC=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`}},gC;(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})(gC||={});var _C=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||gC.isGreaterThan(e(r,t)))&&(n=!1,t=r),!0)),t}};_C.empty=new _C(e=>{});function vC(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 yC;(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})(yC||={});var bC=null;function xC(e){return bC?.trackDisposable(e),e}function SC(e){bC?.markAsDisposed(e)}function CC(e,t){bC?.setParent(e,t)}function wC(e){if(yC.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 TC(...e){return EC(()=>wC(e))}function EC(e){let t=xC({dispose:vC(()=>{SC(t),e()})});return t}var DC=class e{constructor(){this._toDispose=new Set,this._isDisposed=!1,xC(this)}dispose(){this._isDisposed||(SC(this),this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{wC(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw Error(`Cannot register a disposable on itself!`);return CC(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),CC(e,null))}};DC.DISABLE_DISPOSED_WARNING=!1;var OC=DC,kC=class{constructor(){this._store=new OC,xC(this),CC(this._store,this)}dispose(){SC(this),this._store.dispose()}_register(e){if(e===this)throw Error(`Cannot register a disposable on itself!`);return this._store.add(e)}};kC.None=Object.freeze({dispose(){}});var AC=class{constructor(){this._isDisposed=!1,xC(this)}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),e&&CC(e,this),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,SC(this),this._value?.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e&&CC(e,null),e}},jC=typeof process<`u`&&`title`in process,MC=jC?`node`:navigator.userAgent,NC=jC?`node`:navigator.platform,PC=MC.includes(`Firefox`),FC=MC.includes(`Edge`),IC=/^((?!chrome|android).)*safari/i.test(MC);function LC(){if(!IC)return 0;let e=MC.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}[`Macintosh`,`MacIntel`,`MacPPC`,`Mac68K`].includes(NC),[`Windows`,`Win16`,`Win32`,`WinCE`].includes(NC),NC.indexOf(`Linux`),/\bCrOS\b/.test(MC);var RC=``,zC=0,BC=0,VC=0,HC=0,UC={css:`#00000000`,rgba:0},WC;(e=>{function t(e,t,n,r){return r===void 0?`#${YC(e)}${YC(t)}${YC(n)}`:`#${YC(e)}${YC(t)}${YC(n)}${YC(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})(WC||={});var GC;(e=>{function t(e,t){if(HC=(t.rgba&255)/255,HC===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 zC=a+Math.round((n-a)*HC),BC=o+Math.round((r-o)*HC),VC=s+Math.round((i-s)*HC),{css:WC.toCss(zC,BC,VC),rgba:WC.toRgba(zC,BC,VC)}}e.blend=t;function n(e){return(e.rgba&255)==255}e.isOpaque=n;function r(e,t,n){let r=JC.ensureContrastRatio(e.rgba,t.rgba,n);if(r)return WC.toColor(r>>24&255,r>>16&255,r>>8&255)}e.ensureContrastRatio=r;function i(e){let t=(e.rgba|255)>>>0;return[zC,BC,VC]=JC.toChannels(t),{css:WC.toCss(zC,BC,VC),rgba:t}}e.opaque=i;function a(e,t){return HC=Math.round(t*255),[zC,BC,VC]=JC.toChannels(e.rgba),{css:WC.toCss(zC,BC,VC,HC),rgba:WC.toRgba(zC,BC,VC,HC)}}e.opacity=a;function o(e,t){return HC=e.rgba&255,a(e,HC*t/255)}e.multiplyOpacity=o;function s(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}e.toColorRGB=s})(GC||={});var KC;(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 zC=parseInt(e.slice(1,2).repeat(2),16),BC=parseInt(e.slice(2,3).repeat(2),16),VC=parseInt(e.slice(3,4).repeat(2),16),WC.toColor(zC,BC,VC);case 5:return zC=parseInt(e.slice(1,2).repeat(2),16),BC=parseInt(e.slice(2,3).repeat(2),16),VC=parseInt(e.slice(3,4).repeat(2),16),HC=parseInt(e.slice(4,5).repeat(2),16),WC.toColor(zC,BC,VC,HC);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 zC=parseInt(r[1]),BC=parseInt(r[2]),VC=parseInt(r[3]),HC=Math.round((r[5]===void 0?1:parseFloat(r[5]))*255),WC.toColor(zC,BC,VC,HC);if(!t||!n||(t.fillStyle=n,t.fillStyle=e,typeof t.fillStyle!=`string`)||(t.fillRect(0,0,1,1),[zC,BC,VC,HC]=t.getImageData(0,0,1,1).data,HC!==255))throw Error(`css.toColor: Unsupported css format`);return{rgba:WC.toRgba(zC,BC,VC,HC),css:e}}e.toColor=r})(KC||={});var qC;(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})(qC||={});var JC;(e=>{function t(e,t){if(HC=(t&255)/255,HC===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 zC=a+Math.round((n-a)*HC),BC=o+Math.round((r-o)*HC),VC=s+Math.round((i-s)*HC),WC.toRgba(zC,BC,VC)}e.blend=t;function n(e,t,n){let a=qC.relativeLuminance(e>>8),o=qC.relativeLuminance(t>>8);if(XC(a,o)<n){if(o<a){let o=r(e,t,n),s=XC(a,qC.relativeLuminance(o>>8));if(s<n){let r=i(e,t,n);return s>XC(a,qC.relativeLuminance(r>>8))?o:r}return o}let s=i(e,t,n),c=XC(a,qC.relativeLuminance(s>>8));if(c<n){let i=r(e,t,n);return c>XC(a,qC.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=XC(qC.relativeLuminance2(o,s,c),qC.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=XC(qC.relativeLuminance2(o,s,c),qC.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=XC(qC.relativeLuminance2(o,s,c),qC.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=XC(qC.relativeLuminance2(o,s,c),qC.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})(JC||={});function YC(e){let t=e.toString(16);return t.length<2?`0`+t:t}function XC(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}function ZC(e){if(!e)throw Error(`value must not be falsy`);return e}function QC(e){return 57508<=e&&e<=57558}function $C(e){return 57520<=e&&e<=57527}function ew(e){return 57344<=e&&e<=63743}function tw(e){return 9472<=e&&e<=9631}function nw(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 rw(e,t,n,r){return t===1&&n>Math.ceil(r*1.5)&&e!==void 0&&e>255&&!nw(e)&&!QC(e)&&!ew(e)}function iw(e){return QC(e)||tw(e)}function aw(){return{css:{canvas:ow(),cell:ow()},device:{canvas:ow(),cell:ow(),char:{width:0,height:0,left:0,top:0}}}}function ow(){return{width:0,height:0}}function sw(e,t,n=0){return(e-(Math.round(t)*2-n))%(Math.round(t)*2)}var cw=0,lw=0,uw=!1,dw=!1,fw=!1,pw,mw=0,hw=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,lw=0,cw=0,dw=!1,uw=!1,fw=!1,pw=this._themeService.colors,mw=0,e.getCode()!==0&&e.extended.underlineStyle===4){let e=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));mw=t*r%(Math.round(e)*2)}if(this._decorationService.forEachDecorationAtCell(t,n,`bottom`,e=>{e.backgroundColorRGB&&(lw=e.backgroundColorRGB.rgba>>8&16777215,dw=!0),e.foregroundColorRGB&&(cw=e.foregroundColorRGB.rgba>>8&16777215,uw=!0)}),fw=this._selectionRenderModel.isCellSelected(this._terminal,t,n),fw){if(this.result.fg&67108864||this.result.bg&50331648){if(this.result.fg&67108864)switch(this.result.fg&50331648){case 16777216:case 33554432:lw=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:lw=(this.result.fg&16777215)<<8|255;break;default:lw=this._themeService.colors.foreground.rgba}else switch(this.result.bg&50331648){case 16777216:case 33554432:lw=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:lw=(this.result.bg&16777215)<<8|255}lw=JC.blend(lw,(this._coreBrowserService.isFocused?pw.selectionBackgroundOpaque:pw.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}else lw=(this._coreBrowserService.isFocused?pw.selectionBackgroundOpaque:pw.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(dw=!0,pw.selectionForeground&&(cw=pw.selectionForeground.rgba>>8&16777215,uw=!0),iw(e.getCode())){if(this.result.fg&67108864&&!(this.result.bg&50331648))cw=(this._coreBrowserService.isFocused?pw.selectionBackgroundOpaque:pw.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(this.result.fg&67108864)switch(this.result.bg&50331648){case 16777216:case 33554432:cw=this._themeService.colors.ansi[this.result.bg&255].rgba;break;case 50331648:cw=(this.result.bg&16777215)<<8|255}else switch(this.result.fg&50331648){case 16777216:case 33554432:cw=this._themeService.colors.ansi[this.result.fg&255].rgba;break;case 50331648:cw=(this.result.fg&16777215)<<8|255;break;default:cw=this._themeService.colors.foreground.rgba}cw=JC.blend(cw,(this._coreBrowserService.isFocused?pw.selectionBackgroundOpaque:pw.selectionInactiveBackgroundOpaque).rgba&4294967040|128)>>8&16777215}uw=!0}}this._decorationService.forEachDecorationAtCell(t,n,`top`,e=>{e.backgroundColorRGB&&(lw=e.backgroundColorRGB.rgba>>8&16777215,dw=!0),e.foregroundColorRGB&&(cw=e.foregroundColorRGB.rgba>>8&16777215,uw=!0)}),dw&&(lw=fw?e.bg&-150994944|lw|50331648:e.bg&-16777216|lw|50331648),uw&&(cw=e.fg&-83886080|cw|50331648),this.result.fg&67108864&&(dw&&!uw&&(cw=this.result.bg&50331648?this.result.fg&-134217728|this.result.bg&67108863:this.result.fg&-134217728|pw.background.rgba>>8&16777215|50331648,uw=!0),!dw&&uw&&(lw=this.result.fg&50331648?this.result.bg&-67108864|this.result.fg&67108863:this.result.bg&-67108864|pw.foreground.rgba>>8&16777215|50331648,dw=!0)),pw=void 0,this.result.bg=dw?lw:this.result.bg,this.result.fg=uw?cw:this.result.fg,this.result.ext&=536870911,this.result.ext|=mw<<29&3758096384}},gw=.5,_w=PC||FC?`bottom`:`ideographic`,vw={"▀":[{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}]},yw={"░":[[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]]},bw={"─":{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`}},xw={"":{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}};xw[``]=xw[``],xw[``]=xw[``];function Sw(e,t,n,r,i,a,o,s){let c=vw[t];if(c)return Cw(e,c,n,r,i,a),!0;let l=yw[t];if(l)return Tw(e,l,n,r,i,a),!0;let u=bw[t];if(u)return Ew(e,u,n,r,i,a,s),!0;let d=xw[t];return d?(Dw(e,d,n,r,i,a,o,s),!0):!1}function Cw(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 ww=new Map;function Tw(e,t,n,r,i,a){let o=ww.get(t);o||(o=new Map,ww.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=ZC(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=ZC(e.createPattern(i,null)),o.set(s,c)}e.fillStyle=c,e.fillRect(n,r,i,a)}function Ew(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=kw[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,Aw(l,i,a,n,r,!0,o))}e.stroke(),e.closePath()}}function Dw(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=kw[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,Aw(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 Ow(e,t,n=0){return Math.max(Math.min(e,t),n)}var kw={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 Aw(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]=Ow(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]=Ow(Math.round(l[e]+.5)-.5,n,0)),l[e]+=i;return l}var jw=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={}}},Mw=class{constructor(){this._data=new jw}set(e,t,n,r,i){this._data.get(e,t)||this._data.set(e,t,new jw),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()}},Nw=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()}},Pw=class extends Nw{_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())}}},Fw=class extends Nw{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Iw=!jC&&`requestIdleCallback`in window?Fw:Pw,Lw=class e{constructor(){this.fg=0,this.bg=0,this.extended=new Rw}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}},Rw=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}},zw=class e{constructor(t){this.element=t,this.next=e.Undefined,this.prev=e.Undefined}};zw.Undefined=new zw(void 0);var Bw=globalThis.performance&&typeof globalThis.performance.now==`function`,Vw=class e{static create(t){return new e(t)}constructor(e){this._now=Bw&&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}},Hw;(e=>{e.None=()=>kC.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(TC(...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 eT({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 eT({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 eT({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 eT({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 eT({onWillAddFirstListener:()=>e.addEventListener(t,r),onDidRemoveLastListener:()=>e.removeEventListener(t,r)});return i.event}e.fromDOMEventEmitter=b;function ee(e){return new Promise(t=>n(e)(t))}e.toPromise=ee;function te(e){let t=new eT;return e.then(e=>{t.fire(e)},()=>{t.fire(void 0)}).finally(()=>{t.dispose()}),t.event}e.fromPromise=te;function ne(e,t){return e(e=>t.fire(e))}e.forward=ne;function re(e,t,n){return t(n),e(e=>t(e))}e.runAndSubscribe=re;class ie{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 eT(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 ae(e,t){return new ie(e,t).emitter.event}e.fromObservable=ae;function x(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 OC?r.add(s):Array.isArray(r)&&r.push(s),s}}e.fromObservableLight=x})(Hw||={});var Uw=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 Vw,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}}};Uw.all=new Set,Uw._idPool=0;var Ww=Uw,Gw=-1,Kw=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 Yw(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}};Kw._idPool=1;var qw=Kw,Jw=class e{constructor(e){this.value=e}static create(){return new e(Error().stack??``)}print(){console.warn(this.value.split(`
75
- `).slice(2).join(`
76
- `))}},Yw=class extends Error{constructor(e,t){super(e),this.name=`ListenerLeakError`,this.stack=t}},Xw=class extends Error{constructor(e,t){super(e),this.name=`ListenerRefusalError`,this.stack=t}},Zw=0,Qw=class{constructor(e){this.value=e,this.id=Zw++}},$w=2,eT=class{constructor(e){this._size=0,this._options=e,this._leakageMon=Gw>0||this._options?.leakWarningThreshold?new qw(e?.onListenerError??dC,this._options?.leakWarningThreshold??Gw):void 0,this._perfMon=this._options?._profName?new Ww(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 Xw(`${e}. HINT: Stack shows most frequent listener (${t[1]}-times)`,t[0]);return(this._options?.onListenerError||dC)(n),kC.None}if(this._disposed)return kC.None;t&&(e=e.bind(t));let r=new Qw(e),i;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=Jw.create(),i=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof Qw?(this._deliveryQueue??=new tT,this._listeners=[this._listeners,r]):this._listeners.push(r):(this._options?.onWillAddFirstListener?.(this),this._listeners=r,this._options?.onDidAddFirstListener?.(this)),this._size++;let a=EC(()=>{i?.(),this._removeListener(r)});return n instanceof OC?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*$w<=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||dC;if(!n){e.value(t);return}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 Qw)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}},tT=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}},nT={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}},rT=2,iT,aT=class e{constructor(e,t,n){this._document=e,this._config=t,this._unicodeService=n,this._didWarmUp=!1,this._cacheMap=new Mw,this._cacheMapCombined=new Mw,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new Lw,this._textureSize=512,this._onAddTextureAtlasCanvas=new eT,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new eT,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=lT(e,this._config.deviceCellWidth*4+rT*2,this._config.deviceCellHeight+rT*2),this._tmpCtx=ZC(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 Iw;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 oT(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 oT(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 iT=e.get(t,n,r,i),iT||(iT=this._drawToCache(t,n,r,i,a,o),e.set(t,n,r,i,iT)),iT}_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 UC;let i;switch(e){case 16777216:case 33554432:i=this._getColorFromAnsiIndex(t);break;case 50331648:let e=Lw.toColorRGB(t);i=WC.toColor(e[0],e[1],e[2]);break;default:i=n?GC.opaque(this._config.colors.foreground):this._config.colors.background}return this._config.allowTransparency||(i=GC.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=Lw.toColorRGB(a);d=WC.toColor(e[0],e[1],e[2]);break;default:d=o?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(d=GC.opaque(d)),s&&(d=GC.multiplyOpacity(d,gw)),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=JC.ensureContrastRatio(f,p,this._config.minimumContrastRatio/(c?2:1));if(!m){u.setColor(e,r,null);return}let h=WC.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)+rT*2,this._config.deviceMaxTextureSize);this._tmpCanvas.width<c&&(this._tmpCanvas.width=c);let l=Math.min(this._config.deviceCellHeight+rT*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 nT;let u=!!this._workAttributeData.isBold(),d=!!this._workAttributeData.isInverse(),f=!!this._workAttributeData.isDim(),p=!!this._workAttributeData.isItalic(),m=!!this._workAttributeData.isUnderline(),h=!!this._workAttributeData.isStrikethrough(),g=!!this._workAttributeData.isOverline(),_=this._workAttributeData.getFgColor(),v=this._workAttributeData.getFgColorMode(),y=this._workAttributeData.getBgColor(),b=this._workAttributeData.getBgColorMode();if(d){let e=_;_=y,y=e;let t=v;v=b,b=t}let ee=this._getBackgroundColor(b,y,d,f);this._tmpCtx.globalCompositeOperation=`copy`,this._tmpCtx.fillStyle=ee.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation=`source-over`;let te=u?this._config.fontWeightBold:this._config.fontWeight,ne=p?`italic`:``;this._tmpCtx.font=`${ne} ${te} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=_w;let re=s.length===1&&QC(s.charCodeAt(0)),ie=s.length===1&&$C(s.charCodeAt(0)),ae=this._getForegroundColor(n,b,y,r,v,_,d,f,u,iw(s.charCodeAt(0)));this._tmpCtx.fillStyle=ae.css;let x=ie?0:rT*2,oe=!1;this._config.customGlyphs!==!1&&(oe=Sw(this._tmpCtx,s,x,x,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let se=!re,ce;if(ce=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())se=!1,this._tmpCtx.strokeStyle=`rgb(${Lw.toColorRGB(this._workAttributeData.getUnderlineColor()).join(`,`)})`;else{se=!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=x,r=Math.ceil(x+this._config.deviceCharHeight)-t-(a?e*2:0),i=r+e,o=r+e*2,c=this._workAttributeData.getUnderlineVariantOffset();for(let a=0;a<ce;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(x+this._config.deviceCharHeight-e/2)-t,a=e<=1?r:Math.ceil(x+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=sw(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(),!oe&&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*ce,o-r+Math.ceil(e/2)),this._tmpCtx.clip(t),this._tmpCtx.lineWidth=this._config.devicePixelRatio*3,this._tmpCtx.strokeStyle=ee.css,this._tmpCtx.strokeText(s,x,x+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(x,x+t),this._tmpCtx.lineTo(x+this._config.deviceCharWidth*ce,x+t),this._tmpCtx.stroke()}if(oe||this._tmpCtx.fillText(s,x,x+this._config.deviceCharHeight),s===`_`&&!this._config.allowTransparency){let e=sT(this._tmpCtx.getImageData(x,x,this._config.deviceCellWidth,this._config.deviceCellHeight),ee,ae,se);if(e)for(let t=1;t<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=ee.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(s,x,x+this._config.deviceCharHeight-t),e=sT(this._tmpCtx.getImageData(x,x,this._config.deviceCellWidth,this._config.deviceCellHeight),ee,ae,se),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(x,x+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.lineTo(x+this._config.deviceCharWidth*ce,x+Math.floor(this._config.deviceCharHeight/2)-t),this._tmpCtx.stroke()}this._tmpCtx.restore();let le=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height),ue;if(ue=this._config.allowTransparency?cT(le):sT(le,ee,ae,se),ue)return nT;let S=this._findGlyphBoundingBox(le,this._workBoundingBox,c,ie,oe,x),C,w;for(;;){if(this._activePages.length===0){let e=this._createNewPage();C=e,w=e.currentRow,w.height=S.size.y;break}C=this._activePages[this._activePages.length-1],w=C.currentRow;for(let e of this._activePages)S.size.y<=e.currentRow.height&&(C=e,w=e.currentRow);for(let e=this._activePages.length-1;e>=0;e--)for(let t of this._activePages[e].fixedRows)t.height<=w.height&&S.size.y<=t.height&&(C=this._activePages[e],w=t);if(S.size.x>this._textureSize){this._overflowSizePage||(this._overflowSizePage=new oT(this._document,this._config.deviceMaxTextureSize),this.pages.push(this._overflowSizePage),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(this._overflowSizePage.canvas)),C=this._overflowSizePage,w=this._overflowSizePage.currentRow,w.x+S.size.x>=C.canvas.width&&(w.x=0,w.y+=w.height,w.height=0);break}if(w.y+S.size.y>=C.canvas.height||w.height>S.size.y+2){let t=!1;if(C.currentRow.y+C.currentRow.height+S.size.y>=C.canvas.height){let n;for(let e of this._activePages)if(e.currentRow.y+e.currentRow.height+S.size.y<e.canvas.height){n=e;break}if(n)C=n;else if(e.maxAtlasPages&&this._pages.length>=e.maxAtlasPages&&w.y+S.size.y<=C.canvas.height&&w.height>=S.size.y&&w.x+S.size.x<=C.canvas.width)t=!0;else{let e=this._createNewPage();C=e,w=e.currentRow,w.height=S.size.y,t=!0}}t||(C.currentRow.height>0&&C.fixedRows.push(C.currentRow),w={x:0,y:C.currentRow.y+C.currentRow.height,height:S.size.y},C.fixedRows.push(w),C.currentRow={x:0,y:w.y+w.height,height:0})}if(w.x+S.size.x<=C.canvas.width)break;w===C.currentRow?(w.x=0,w.y+=w.height,w.height=0):C.fixedRows.splice(C.fixedRows.indexOf(w),1)}return S.texturePage=this._pages.indexOf(C),S.texturePosition.x=w.x,S.texturePosition.y=w.y,S.texturePositionClipSpace.x=w.x/C.canvas.width,S.texturePositionClipSpace.y=w.y/C.canvas.height,S.sizeClipSpace.x/=C.canvas.width,S.sizeClipSpace.y/=C.canvas.height,w.height=Math.max(w.height,S.size.y),w.x+=S.size.x,C.ctx.putImageData(le,S.texturePosition.x-this._workBoundingBox.left,S.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,S.size.x,S.size.y),C.addGlyph(S),C.version++,S}_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)}}}},oT=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=lT(e,t,t),this.ctx=ZC(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 sT(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 cT(e){for(let t=0;t<e.data.length;t+=4)if(e.data[t+3]>0)return!1;return!0}function lT(e,t,n){let r=e.createElement(`canvas`);return r.width=t,r.height=n,r}function uT(e,t,n,r,i,a,o,s){let c={foreground:a.foreground,background:a.background,cursor:UC,cursorAccent:UC,selectionForeground:UC,selectionBackgroundTransparent:UC,selectionBackgroundOpaque:UC,selectionInactiveBackgroundTransparent:UC,selectionInactiveBackgroundOpaque:UC,overviewRulerBorder:UC,scrollbarSliderBackground:UC,scrollbarSliderHoverBackground:UC,scrollbarSliderActiveBackground:UC,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 dT(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 fT(e){return(e&50331648)==16777216||(e&50331648)==33554432}var pT=[];function mT(e,t,n,r,i,a,o,s,c){let l=uT(r,i,a,o,t,n,s,c);for(let t=0;t<pT.length;t++){let n=pT[t],r=n.ownedBy.indexOf(e);if(r>=0){if(dT(n.config,l))return n.atlas;n.ownedBy.length===1?(n.atlas.dispose(),pT.splice(t,1)):n.ownedBy.splice(r,1);break}}for(let t=0;t<pT.length;t++){let n=pT[t];if(dT(n.config,l))return n.ownedBy.push(e),n.atlas}let u=e._core,d={atlas:new aT(document,l,u.unicodeService),config:l,ownedBy:[e]};return pT.push(d),d.atlas}function hT(e){for(let t=0;t<pT.length;t++){let n=pT[t].ownedBy.indexOf(e);if(n!==-1){pT[t].ownedBy.length===1?(pT[t].atlas.dispose(),pT.splice(t,1)):pT[t].ownedBy.splice(n,1);break}}}var gT=600,_T=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=gT){this._blinkInterval&&=(this._coreBrowserService.window.clearInterval(this._blinkInterval),void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){let e=gT-(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=gT-(Date.now()-this._animationTimeRestarted);this._animationTimeRestarted=void 0,this._restartInterval(e);return}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},gT)},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 vT(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 EC(()=>r?.disconnect())}function yT(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}var bT=class e extends Lw{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new Rw,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?yT(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()]}},xT=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]);function ST(e,t,n){let r=ZC(e.createProgram());if(e.attachShader(r,ZC(CT(e,e.VERTEX_SHADER,t))),e.attachShader(r,ZC(CT(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 CT(e,t,n){let r=ZC(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 wT(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 TT=class{constructor(e){this.texture=e,this.version=-1}},ET=`#version 300 es
77
- layout (location = 0) in vec2 a_unitquad;
78
- layout (location = 1) in vec2 a_cellpos;
79
- layout (location = 2) in vec2 a_offset;
80
- layout (location = 3) in vec2 a_size;
81
- layout (location = 4) in float a_texpage;
82
- layout (location = 5) in vec2 a_texcoord;
83
- layout (location = 6) in vec2 a_texsize;
84
-
85
- uniform mat4 u_projection;
86
- uniform vec2 u_resolution;
87
-
88
- out vec2 v_texcoord;
89
- flat out int v_texpage;
90
-
91
- void main() {
92
- vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
93
- gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
94
- v_texpage = int(a_texpage);
95
- v_texcoord = a_texcoord + a_unitquad * a_texsize;
96
- }`;function DT(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
97
- precision lowp float;
98
-
99
- in vec2 v_texcoord;
100
- flat in int v_texpage;
101
-
102
- uniform sampler2D u_texture[${e}];
103
-
104
- out vec4 outColor;
105
-
106
- void main() {
107
- if (v_texpage == 0) {
108
- outColor = texture(u_texture[0], v_texcoord);
109
- } ${t}
110
- }`}var OT=11,kT=OT*Float32Array.BYTES_PER_ELEMENT,AT=2,jT=0,MT,NT=0,PT=0,FT=class extends kC{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;aT.maxAtlasPages===void 0&&(aT.maxAtlasPages=Math.min(32,ZC(i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS))),aT.maxTextureSize=ZC(i.getParameter(i.MAX_TEXTURE_SIZE))),this._program=ZC(ST(i,ET,DT(aT.maxAtlasPages))),this._register(EC(()=>i.deleteProgram(this._program))),this._projectionLocation=ZC(i.getUniformLocation(this._program,`u_projection`)),this._resolutionLocation=ZC(i.getUniformLocation(this._program,`u_resolution`)),this._textureLocation=ZC(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(EC(()=>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(EC(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=ZC(i.createBuffer()),this._register(EC(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,2,i.FLOAT,!1,kT,0),i.vertexAttribDivisor(2,1),i.enableVertexAttribArray(3),i.vertexAttribPointer(3,2,i.FLOAT,!1,kT,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(3,1),i.enableVertexAttribArray(4),i.vertexAttribPointer(4,1,i.FLOAT,!1,kT,4*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(4,1),i.enableVertexAttribArray(5),i.vertexAttribPointer(5,2,i.FLOAT,!1,kT,5*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(5,1),i.enableVertexAttribArray(6),i.vertexAttribPointer(6,2,i.FLOAT,!1,kT,7*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(6,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,kT,9*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.useProgram(this._program);let l=new Int32Array(aT.maxAtlasPages);for(let e=0;e<aT.maxAtlasPages;e++)l[e]=e;i.uniform1iv(this._textureLocation,l),i.uniformMatrix4fv(this._projectionLocation,!1,xT),this._atlasTextures=[];for(let e=0;e<aT.maxAtlasPages;e++){let t=new TT(ZC(i.createTexture()));this._register(EC(()=>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){if(jT=(n*this._terminal.cols+t)*OT,r===0||r===void 0){e.fill(0,jT,jT+OT-1-AT);return}this._atlas&&(MT=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),NT=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),i!==l&&MT.offset.x>NT?(PT=MT.offset.x-NT,e[jT]=-(MT.offset.x-PT)+this._dimensions.device.char.left,e[jT+1]=-MT.offset.y+this._dimensions.device.char.top,e[jT+2]=(MT.size.x-PT)/this._dimensions.device.canvas.width,e[jT+3]=MT.size.y/this._dimensions.device.canvas.height,e[jT+4]=MT.texturePage,e[jT+5]=MT.texturePositionClipSpace.x+PT/this._atlas.pages[MT.texturePage].canvas.width,e[jT+6]=MT.texturePositionClipSpace.y,e[jT+7]=MT.sizeClipSpace.x-PT/this._atlas.pages[MT.texturePage].canvas.width,e[jT+8]=MT.sizeClipSpace.y):(e[jT]=-MT.offset.x+this._dimensions.device.char.left,e[jT+1]=-MT.offset.y+this._dimensions.device.char.top,e[jT+2]=MT.size.x/this._dimensions.device.canvas.width,e[jT+3]=MT.size.y/this._dimensions.device.canvas.height,e[jT+4]=MT.texturePage,e[jT+5]=MT.texturePositionClipSpace.x,e[jT+6]=MT.texturePositionClipSpace.y,e[jT+7]=MT.sizeClipSpace.x,e[jT+8]=MT.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&rw(r,c,MT.size.x,this._dimensions.device.cell.width)&&(e[jT+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width))}clear(){let e=this._terminal,t=e.cols*e.rows*OT;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+=OT}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*OT,a=this._vertices.attributes.subarray(i,i+e.lineLengths[t]*OT);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/OT)}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}},IT=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);if(s>=e.rows||c<0){this.clear();return}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 LT(){return new IT}var RT=4,zT=1,BT=2,VT=3,HT=2147483648,UT=class{constructor(){this.cells=new Uint32Array,this.lineLengths=new Uint32Array,this.selection=LT()}resize(e,t){let n=e*t*RT;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)}},WT=`#version 300 es
111
- layout (location = 0) in vec2 a_position;
112
- layout (location = 1) in vec2 a_size;
113
- layout (location = 2) in vec4 a_color;
114
- layout (location = 3) in vec2 a_unitquad;
115
-
116
- uniform mat4 u_projection;
117
-
118
- out vec4 v_color;
119
-
120
- void main() {
121
- vec2 zeroToOne = a_position + (a_unitquad * a_size);
122
- gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
123
- v_color = a_color;
124
- }`,GT=`#version 300 es
125
- precision lowp float;
126
-
127
- in vec4 v_color;
128
-
129
- out vec4 outColor;
130
-
131
- void main() {
132
- outColor = v_color;
133
- }`,KT=8,qT=KT*Float32Array.BYTES_PER_ELEMENT,JT=20*KT,YT=class{constructor(){this.attributes=new Float32Array(JT),this.count=0}},XT=0,ZT=0,QT=0,$T=0,eE=0,tE=0,nE=0,rE=class extends kC{constructor(e,t,n,r){super(),this._terminal=e,this._gl=t,this._dimensions=n,this._themeService=r,this._vertices=new YT,this._verticesCursor=new YT;let i=this._gl;this._program=ZC(ST(i,WT,GT)),this._register(EC(()=>i.deleteProgram(this._program))),this._projectionLocation=ZC(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(EC(()=>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(EC(()=>i.deleteBuffer(c))),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,c),i.bufferData(i.ELEMENT_ARRAY_BUFFER,s,i.STATIC_DRAW),this._attributesBuffer=ZC(i.createBuffer()),this._register(EC(()=>i.deleteBuffer(this._attributesBuffer))),i.bindBuffer(i.ARRAY_BUFFER,this._attributesBuffer),i.enableVertexAttribArray(0),i.vertexAttribPointer(0,2,i.FLOAT,!1,qT,0),i.vertexAttribDivisor(0,1),i.enableVertexAttribArray(1),i.vertexAttribPointer(1,2,i.FLOAT,!1,qT,2*Float32Array.BYTES_PER_ELEMENT),i.vertexAttribDivisor(1,1),i.enableVertexAttribArray(2),i.vertexAttribPointer(2,4,i.FLOAT,!1,qT,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,xT),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)*RT,d=e.cells[u+zT],f=e.cells[u+BT],p=!!(f&67108864),(d!==s||f!==c&&(l||p))&&((s!==0||l&&c!==0)&&(m=r++*KT,this._updateRectangle(n,m,c,s,o,a,i)),o=a,s=d,c=f,l=p);(s!==0||l&&c!==0)&&(m=r++*KT,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++*KT,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++*KT,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++*KT,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++*KT,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:XT=this._themeService.colors.ansi[n&255].rgba;break;case 50331648:XT=(n&16777215)<<8;break;default:XT=this._themeService.colors.foreground.rgba}else switch(r&50331648){case 16777216:case 33554432:XT=this._themeService.colors.ansi[r&255].rgba;break;case 50331648:XT=(r&16777215)<<8;break;default:XT=this._themeService.colors.background.rgba}e.attributes.length<t+4&&(e.attributes=wT(e.attributes,this._terminal.rows*this._terminal.cols*KT)),ZT=i*this._dimensions.device.cell.width,QT=o*this._dimensions.device.cell.height,$T=(XT>>24&255)/255,eE=(XT>>16&255)/255,tE=(XT>>8&255)/255,nE=1,this._addRectangle(e.attributes,t,ZT,QT,(a-i)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,$T,eE,tE,nE)}_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])}},iE=class extends kC{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(EC(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=ZC(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=mT(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=_w,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}`}},aE=class extends iE{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&&fT(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()}},oE=typeof window==`object`?window:globalThis,sE=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new eT,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new eT,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}};sE.INSTANCE=new sE;var cE=sE;function lE(e,t,n){typeof t==`string`&&(t=e.matchMedia(t)),t.addEventListener(`change`,n)}cE.INSTANCE.onDidChangeZoomLevel,cE.INSTANCE.onDidChangeFullscreen;var uE=typeof navigator==`object`?navigator.userAgent:``;uE.indexOf(`Firefox`);var dE=uE.indexOf(`AppleWebKit`)>=0;!(uE.indexOf(`Chrome`)>=0)&&uE.indexOf(`Safari`),uE.indexOf(`Electron/`),uE.indexOf(`Android`);var fE=!1;if(typeof oE.matchMedia==`function`){let e=oE.matchMedia(`(display-mode: standalone) or (display-mode: window-controls-overlay)`),t=oE.matchMedia(`(display-mode: fullscreen)`);fE=e.matches,lE(oE,e,({matches:e})=>{fE&&t.matches||(fE=e)})}function pE(){return fE}var mE=`en`,hE=!1,gE=!1,_E=!1,vE=mE,yE,bE=globalThis,xE;typeof bE.vscode<`u`&&typeof bE.vscode.process<`u`?xE=bE.vscode.process:typeof process<`u`&&typeof process?.versions?.node==`string`&&(xE=process);var SE=typeof xE?.versions?.electron==`string`&&xE?.type===`renderer`;if(typeof xE==`object`){xE.platform,xE.platform,hE=xE.platform===`linux`,hE&&xE.env.SNAP&&xE.env.SNAP_REVISION,xE.env.CI||xE.env.BUILD_ARTIFACTSTAGINGDIRECTORY,vE=mE;let e=xE.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);t.userLocale,t.osLocale,vE=t.resolvedLanguage||mE,t.languagePack?.translationsConfigFile}catch{}gE=!0}else typeof navigator==`object`&&!SE?(yE=navigator.userAgent,yE.indexOf(`Windows`),yE.indexOf(`Macintosh`),(yE.indexOf(`Macintosh`)>=0||yE.indexOf(`iPad`)>=0||yE.indexOf(`iPhone`)>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints,hE=yE.indexOf(`Linux`)>=0,yE?.indexOf(`Mobi`),_E=!0,vE=globalThis._VSCODE_NLS_LANGUAGE||mE,navigator.language.toLowerCase()):console.error(`Unable to resolve platform.`);var CE=gE;_E&&typeof bE.importScripts==`function`&&bE.origin;var wE=yE,TE=vE,EE;(e=>{function t(){return TE}e.value=t;function n(){return TE.length===2?TE===`en`:TE.length>=3&&TE[0]===`e`&&TE[1]===`n`&&TE[2]===`-`}e.isDefaultVariant=n;function r(){return TE===`en`}e.isDefault=r})(EE||={});var DE=typeof bE.postMessage==`function`&&!bE.importScripts;(()=>{if(DE){let e=[];bE.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}),bE.postMessage({vscodeScheduleAsyncWork:r},`*`)}}return e=>setTimeout(e)})();var OE=!!(wE&&wE.indexOf(`Chrome`)>=0);wE&&wE.indexOf(`Firefox`),!OE&&wE&&wE.indexOf(`Safari`),wE&&wE.indexOf(`Edg/`),wE&&wE.indexOf(`Android`);var kE=typeof navigator==`object`?navigator:{};CE||document.queryCommandSupported&&document.queryCommandSupported(`copy`)||kE&&kE.clipboard&&kE.clipboard.writeText,CE||kE&&kE.clipboard&&kE.clipboard.readText,CE||pE()||kE.keyboard,`ontouchstart`in oE||kE.maxTouchPoints,oE.PointerEvent&&(`ontouchstart`in oE||navigator.maxTouchPoints);var AE=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}},jE=new AE,ME=new AE,NE=new AE;Array(230);var PE;(e=>{function t(e){return jE.keyCodeToStr(e)}e.toString=t;function n(e){return jE.strToKeyCode(e)}e.fromString=n;function r(e){return ME.keyCodeToStr(e)}e.toUserSettingsUS=r;function i(e){return NE.keyCodeToStr(e)}e.toUserSettingsGeneral=i;function a(e){return ME.strToKeyCode(e)||NE.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 jE.keyCodeToStr(e)}e.toElectronAccelerator=o})(PE||={});var FE=Object.freeze(function(e,t){let n=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(n)}}}),IE;(e=>{function t(t){return t===e.None||t===e.Cancelled||t instanceof LE?!0:!t||typeof t!=`object`?!1:typeof t.isCancellationRequested==`boolean`&&typeof t.onCancellationRequested==`function`}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Hw.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:FE})})(IE||={});var LE=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?FE:(this._emitter||=new eT,this._emitter.event)}dispose(){this._emitter&&=(this._emitter.dispose(),null)}};(function(){typeof globalThis.requestIdleCallback!=`function`||globalThis.cancelIdleCallback})();var RE;(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})(RE||={});var zE=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 eT,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 Hw.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())}};zE.EMPTY=zE.fromArray([]);function BE(e){return VE(e,0)}function VE(e,t){switch(typeof e){case`object`:return e===null?HE(349,t):Array.isArray(e)?GE(e,t):KE(e,t);case`string`:return WE(e,t);case`boolean`:return UE(e,t);case`number`:return HE(e,t);case`undefined`:return HE(937,t);default:return HE(617,t)}}function HE(e,t){return(t<<5)-t+e|0}function UE(e,t){return HE(e?433:863,t)}function WE(e,t){t=HE(149417,t);for(let n=0,r=e.length;n<r;n++)t=HE(e.charCodeAt(n),t);return t}function GE(e,t){return t=HE(104579,t),e.reduce((e,t)=>VE(t,e),t)}function KE(e,t){return t=HE(181387,t),Object.keys(e).sort().reduce((t,n)=>(t=WE(n,t),VE(e[n],t)),t)}var{registerWindow:Ane,getWindow:qE,getDocument:jne,getWindows:Mne,getWindowsCount:Nne,getWindowId:Pne,getWindowById:Fne,hasWindow:Ine,onDidRegisterWindow:Lne,onWillUnregisterWindow:Rne,onDidUnregisterWindow:zne}=function(){let e=new Map,t={window:oE,disposables:new OC};e.set(oE.vscodeWindowId,t);let n=new eT,r=new eT,i=new eT;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 kC.None;let a=new OC,o={window:t,disposables:a.add(new OC)};return e.set(t.vscodeWindowId,o),a.add(EC(()=>{e.delete(t.vscodeWindowId),r.fire(t)})),a.add(YE(t,ZE.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:oE},getDocument(e){return qE(e).document}}}(),JE=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 YE(e,t,n,r){return new JE(e,t,n,r)}var XE=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}};XE.None=new XE(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=BE(n),a=r.get(i);if(a)a.users+=1;else{let o=new eT,s=new MutationObserver(e=>o.fire(e));s.observe(e,n);let c=a={users:1,observer:s,onDidMutate:o.event};t.add(EC(()=>{--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 ZE={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:dE?`webkitAnimationStart`:`animationstart`,ANIMATION_END:dE?`webkitAnimationEnd`:`animationend`,ANIMATION_ITERATION:dE?`webkitAnimationIteration`:`animationiteration`},QE=class extends kC{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 AC,this._charAtlasDisposable=this._register(new AC),this._observerDisposable=this._register(new AC),this._model=new UT,this._workCell=new bT,this._workCell2=new bT,this._rectangleRenderer=this._register(new AC),this._glyphRenderer=this._register(new AC),this._onChangeTextureAtlas=this._register(new eT),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new eT),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new eT),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this._register(new eT),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this._register(new eT),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 hw(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new aE(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,o,this._themeService)],this.dimensions=aw(),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(YE(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(YE(this._canvas,`webglcontextrestored`,e=>{console.warn(`webglcontextrestored event received`),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,hT(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=vT(this._canvas,this._coreBrowserService.window,(e,t)=>this._setCanvasDevicePixelDimensions(e,t)),this._register(this._coreBrowserService.onWindowChange(e=>{this._observerDisposable.value=vT(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(EC(()=>{for(let e of this._renderLayers)e.dispose();this._canvas.parentElement?.removeChild(this._canvas),hT(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 rE(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new FT(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=mT(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=TC(Hw.forward(e.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),Hw.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 _T(()=>{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=eD(e,n.rows-1,0),t=eD(t,n.rows-1,0);let ee=this._coreService.decPrivateModes.cursorStyle??n.options.cursorStyle??`block`,te=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,ne=te-n.buffer.ydisp,re=Math.min(this._terminal.buffer.active.cursorX,n.cols-1),ie=-1,ae=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let x=!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=te===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||re<p[0]||re>=p[1],d?(l=!0,r=new $E(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)*RT,this._cellColorResolver.resolve(r,y,o,this.dimensions.device.cell.width),ae&&o===te&&(y===re&&(this._model.cursor={x:re,y:ne,width:r.getWidth(),style:this._coreBrowserService.isFocused?ee:n.options.cursorInactiveStyle,cursorWidth:n.options.cursorWidth,dpr:this._devicePixelRatio},ie=re+r.getWidth()-1),y>=re&&y<=ie&&(this._coreBrowserService.isFocused&&ee===`block`||this._coreBrowserService.isFocused===!1&&n.options.cursorInactiveStyle===`block`)&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),g!==0&&(this._model.lineLengths[a]=y+1),(this._model.cells[v]!==g||this._model.cells[v+zT]!==this._cellColorResolver.result.bg||this._model.cells[v+BT]!==this._cellColorResolver.result.fg||this._model.cells[v+VT]!==this._cellColorResolver.result.ext)&&(x=!0,h.length>1&&(g|=HT),this._model.cells[v]=g,this._model.cells[v+zT]=this._cellColorResolver.result.bg,this._model.cells[v+BT]=this._cellColorResolver.result.fg,this._model.cells[v+VT]=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)*RT,this._glyphRenderer.value.updateCell(y,a,0,0,0,0,RC,0,0),this._model.cells[b]=0,this._model.cells[b+zT]=this._cellColorResolver.result.bg,this._model.cells[b+BT]=this._cellColorResolver.result.fg,this._model.cells[b+VT]=this._cellColorResolver.result.ext;y--}}x&&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})}},$E=class extends Lw{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 eD(e,t,n=0){return Math.max(Math.min(e,t),n)}var tD=`di$target`,nD=`di$dependencies`,rD=new Map;function iD(e){if(rD.has(e))return rD.get(e);let t=function(e,n,r){if(arguments.length!==3)throw Error(`@IServiceName-decorator can only be used to decorate a parameter`);aD(t,e,r)};return t._id=e,rD.set(e,t),t}function aD(e,t,n){t[tD]===t?t[nD].push({id:e,index:n}):(t[nD]=[{id:e,index:n}],t[tD]=t)}iD(`BufferService`),iD(`CoreMouseService`),iD(`CoreService`),iD(`CharsetService`),iD(`InstantiationService`),iD(`LogService`);var oD=iD(`OptionsService`);iD(`OscLinkService`),iD(`UnicodeService`),iD(`DecorationService`);var sD={trace:0,debug:1,info:2,warn:3,error:4,off:5},cD=`xterm.js: `,lD=class extends kC{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange(`logLevel`,()=>this._updateLogLevel())),uD=this}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=sD[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?``:cD)+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)}};lD=cC([lC(0,oD)],lD);var uD,dD=class extends kC{constructor(e){if(IC&&LC()<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 eT),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this._register(new eT),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this._register(new eT),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this._register(new eT),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 QE(e,o,s,c,n,l,r,u,this._preserveDrawingBuffer)),this._register(Hw.forward(this._renderer.onContextLoss,this._onContextLoss)),this._register(Hw.forward(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this._register(Hw.forward(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this._register(Hw.forward(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),a.setRenderer(this._renderer),this._register(EC(()=>{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 fD(e){return e.needsReload?!0:e.wasAttachedWithoutLayout&&e.hasLayoutNow}function pD(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 mD=window.matchMedia?.(`(pointer: coarse)`).matches?4:12,hD=new Map;function gD(e){return e.clientWidth>0&&e.clientHeight>0}function _D(e){if(hD.delete(e),e.needsWebGLReload=!1,e.webglAttachedWithoutLayout=!1,e.webglAddon){try{e.webglAddon.dispose()}catch{}e.webglAddon=null}}function vD(e){let t=[e],n=If.snapshot().borrowedCardId,r=n?H.get(n):void 0;r&&t.push(r);for(let e of pD([...hD.keys()],mD,t))_D(e),e.needsWebGLReload=!0}function yD(e){e?.term&&fD({needsReload:e.needsWebGLReload,wasAttachedWithoutLayout:e.webglAttachedWithoutLayout,hasLayoutNow:gD(e.termWrap)})&&xD(e,{isForced:!0})}function bD(){for(let e of hD.keys()){let t=e.term;if(e.webglAddon&&t)try{t.clearTextureAtlas(),t.refresh(0,t.rows-1)}catch{_D(e),e.needsWebGLReload=!0}}}function xD(e,t={}){try{if(e.webglAddon&&!e.needsWebGLReload&&!t.isForced){hD.delete(e),hD.set(e,!0);return}e.webglAddon&&(e.webglAddon.dispose(),e.webglAddon=null,hD.delete(e)),vD(e);let n=new dD;n.onContextLoss(()=>{n.dispose(),e.webglAddon=null,hD.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=!gD(e.termWrap),hD.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,hD.delete(e)}}var SD=Object.freeze({min:1,max:1440}),CD=Object.freeze({min:1}),wD=Object.freeze({min:0,exclusiveMin:!0,label:`a positive number`}),TD=Object.freeze({min:0,label:`zero or more`}),ED=Object.freeze({min:0,max:300}),DD=Object.freeze({min:1,max:60}),OD=Object.freeze({min:.5,max:2}),kD=Object.freeze({min:64,max:16384}),AD=wD,jD=wD,MD=wD,ND=wD,PD=wD,FD=TD,ID=wD,LD=wD,RD=wD,zD=wD,BD=wD,VD=wD,HD=wD,UD=wD,WD=wD,GD=Object.freeze({min:60,max:21600,label:`between 60 and 21600`}),KD=Object.freeze({min:1,label:`at least 1`}),qD=Object.freeze({min:1,label:`at least 1`}),JD=TD,YD=Object.freeze({min:1,max:30,label:`between 1 and 30`}),XD=Object.freeze({min:1,max:1440}),ZD=Object.freeze({min:1,max:3650}),QD=Object.freeze({min:30,max:3650}),$D=Object.freeze({min:1,max:24}),eO=wD;Object.freeze({scanIntervalMinutes:XD,retainDays:ZD,warehouseRetainDays:QD,sessionBlockHours:$D});var tO=Object.freeze({min:15,max:600}),nO=Object.freeze({min:5,max:120}),rO=Object.freeze({min:1,max:5}),iO=Object.freeze({min:1,max:50}),aO=Object.freeze({NON_NEGATIVE_NUMBER_RANGE:TD,FACTORY_MAX_LIVE_WORKERS_RANGE:CD,FACTORY_WATCH_WINDOW_RANGE:SD,FLYING_ANIMALS_GAP_RANGE:ED,FLYING_ANIMALS_DURATION_RANGE:DD,FLYING_ANIMALS_SCALE_RANGE:OD,CHANGE_MAP_NARRATOR_TIMEOUT_RANGE:tO,KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE:nO,POSTHOG_ESCALATION_RANGE:HD,POSTHOG_FIX_TIMEOUT_RANGE:GD,POSTHOG_INTERVAL_RANGE:RD,POSTHOG_INVESTIGATION_TIMEOUT_RANGE:BD,POSTHOG_MAX_CONCURRENT_RANGE:zD,POSTHOG_MIN_USERS_RANGE:VD,POSTHOG_TRAFFIC_BASELINE_RANGE:YD,POSTHOG_TRAFFIC_COOLDOWN_RANGE:JD,POSTHOG_TRAFFIC_MIN_USERS_RANGE:qD,POSTHOG_TRAFFIC_MULTIPLIER_RANGE:KD,REPLAY_BUFFER_KB_RANGE:kD,USAGE_BUDGET_RANGE:eO,USAGE_RETAIN_DAYS_RANGE:ZD,USAGE_SCAN_INTERVAL_RANGE:XD,VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE:FD,VISIONS_COOLDOWN_MS_RANGE:ND,VISIONS_DISPATCH_TIMEOUT_RANGE:ID,VISIONS_INTENT_THREAD_TTL_MS_RANGE:LD,VISIONS_MAX_PER_HOUR_RANGE:PD,VISIONS_QUIET_MS_RANGE:MD,WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE:iO,WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE:rO}),oO=[{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`}],sO=Object.freeze({flyingAnimalsMinGapSeconds:20,flyingAnimalsMaxGapSeconds:40,flyingAnimalsMinDurationSeconds:6.9,flyingAnimalsMaxDurationSeconds:11.5,flyingAnimalsScale:1,flyingAnimalsOnPhone:!0});function cO(e,t,n){return typeof e!=`number`||!Number.isFinite(e)?t:Math.min(n.max,Math.max(n.min,e))}function lO(e){if(!Array.isArray(e))return[];let t=new Set(oO.map(e=>e.sprite));return[...new Set(e.filter(e=>typeof e==`string`&&t.has(e)))]}function uO(e={}){let t=sO,n=ED,r=DD,i=cO(e.flyingAnimalsMinGapSeconds,t.flyingAnimalsMinGapSeconds,n),a=cO(e.flyingAnimalsMaxGapSeconds,t.flyingAnimalsMaxGapSeconds,n),o=cO(e.flyingAnimalsMinDurationSeconds,t.flyingAnimalsMinDurationSeconds,r),s=cO(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:cO(e.flyingAnimalsScale,t.flyingAnimalsScale,OD),flyingAnimalsOnPhone:typeof e.flyingAnimalsOnPhone==`boolean`?e.flyingAnimalsOnPhone:t.flyingAnimalsOnPhone,flyingAnimalsExcludedSprites:lO(e.flyingAnimalsExcludedSprites)}}function dO(e){return oO.some(t=>!e.includes(t.sprite))}function fO(e,t=-1,n=Math.random){let r=oO.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 pO(e,t,n=Math.random,r){let i=r===void 0?fO(e.flyingAnimalsExcludedSprites,t,n):oO.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 mO({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 hO=61.2,gO=37.8,_O=768,vO=.68,yO=64,bO=5;function xO(e,t,n){return Math.min(Math.max(e,t),n)}function SO({viewportWidthPx:e,viewportHeightPx:t,verticalProgress:n}){let r=xO(e/_O,vO,1),i=(bO+70*n*n)*t/100;return{scale:r,spriteWidthPx:hO,spriteHeightPx:gO,topPx:Math.max(i,yO),startXpx:-.45*e,endXpx:1.45*e}}function CO(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`]]}function wO(e,t){try{let n=localStorage.getItem(e);return n===null?t:JSON.parse(n)}catch{return t}}function TO(e,t){try{localStorage.setItem(e,JSON.stringify(t))}catch{}}var EO=`glimmervoid-ui-prefs`,DO=`glimmervoid:sidebar-width`,OO=e=>t=>typeof t==`boolean`?t:e,kO=e=>t=>typeof t==`string`?t:e,AO=e=>typeof e==`string`&&e?e:null,jO=e=>typeof e==`number`&&Number.isFinite(e)?e:null,MO=e=>t=>jO(t)??e,NO=e=>Array.isArray(e)?[...new Set(e.filter(e=>typeof e==`string`&&e!==``))]:[],PO={soundEnabled:OO(!0),soundId:kO(cx),themeId:kO(`phyrexian`),flyingAnimalsEnabled:OO(!1),flyingAnimalsMinGapSeconds:MO(sO.flyingAnimalsMinGapSeconds),flyingAnimalsMaxGapSeconds:MO(sO.flyingAnimalsMaxGapSeconds),flyingAnimalsMinDurationSeconds:MO(sO.flyingAnimalsMinDurationSeconds),flyingAnimalsMaxDurationSeconds:MO(sO.flyingAnimalsMaxDurationSeconds),flyingAnimalsScale:MO(sO.flyingAnimalsScale),flyingAnimalsOnPhone:OO(sO.flyingAnimalsOnPhone),flyingAnimalsExcludedSprites:lO,notificationsEnabled:OO(!0),compactStatusLabels:OO(!1),sessionUsageChips:OO(!1),activeView:kO(`focus`),lastFocusedSessionId:AO,railWidth:jO,reviewSidebarExpanded:OO(!1),reviewSidebarView:e=>e===`map`||e===`notes`?e:`diff`,prsQueueWidth:jO,prsQueueCollapsed:OO(!1),prsMode:e=>e===`mine`?`mine`:`team`,keptProjects:NO,traceHiddenKinds:NO,dismissedUpdate:AO,telemetryNoticeDismissed:OO(!1),radarAttentionAck:kO(``),prsAttentionAck:kO(``),usageAttentionAck:kO(``),visionsAttentionAck:kO(``)};function FO(e,t,n){e[t]=PO[t](n)}function IO(){let e=wO(EO,{}),t={};for(let n of Object.keys(PO))FO(t,n,e?.[n]);return t}function LO(e){return IO()[e]}function RO(e,t){let n=IO();FO(n,e,t),TO(EO,n)}var zO=()=>LO(`soundEnabled`),BO=e=>RO(`soundEnabled`,e),VO=()=>LO(`soundId`),HO=e=>RO(`soundId`,e),UO=()=>LO(`notificationsEnabled`),WO=e=>RO(`notificationsEnabled`,e),GO=()=>LO(`compactStatusLabels`),KO=e=>RO(`compactStatusLabels`,e),qO=()=>LO(`sessionUsageChips`),JO=e=>RO(`sessionUsageChips`,e),YO=()=>LO(`themeId`),XO=e=>RO(`themeId`,e),ZO=()=>LO(`flyingAnimalsEnabled`),QO=e=>RO(`flyingAnimalsEnabled`,e),$O=()=>LO(`activeView`),ek=e=>RO(`activeView`,e),tk=()=>LO(`railWidth`),nk=e=>RO(`railWidth`,e),rk=()=>LO(`reviewSidebarExpanded`),ik=e=>RO(`reviewSidebarExpanded`,e),ak=()=>LO(`reviewSidebarView`),ok=e=>RO(`reviewSidebarView`,e),sk=()=>LO(`prsQueueWidth`),ck=e=>RO(`prsQueueWidth`,e),lk=()=>LO(`prsQueueCollapsed`),uk=e=>RO(`prsQueueCollapsed`,e),dk=()=>LO(`prsMode`),fk=e=>RO(`prsMode`,e),pk=()=>LO(`keptProjects`),mk=e=>RO(`keptProjects`,e),hk=()=>LO(`traceHiddenKinds`),gk=e=>RO(`traceHiddenKinds`,e),_k=()=>LO(`dismissedUpdate`),vk=e=>RO(`dismissedUpdate`,e),yk=()=>LO(`telemetryNoticeDismissed`),bk=e=>RO(`telemetryNoticeDismissed`,e),xk=()=>LO(`radarAttentionAck`),Sk=e=>RO(`radarAttentionAck`,e),Ck=()=>LO(`prsAttentionAck`),wk=e=>RO(`prsAttentionAck`,e),Tk=()=>LO(`usageAttentionAck`),Ek=e=>RO(`usageAttentionAck`,e),Dk=()=>LO(`visionsAttentionAck`),Ok=e=>RO(`visionsAttentionAck`,e),kk=()=>LO(`lastFocusedSessionId`),Ak=e=>RO(`lastFocusedSessionId`,e),jk=()=>jO(wO(DO,null)),Mk=e=>TO(DO,jO(e)),Nk=e=>RO(`flyingAnimalsMinGapSeconds`,e),Pk=e=>RO(`flyingAnimalsMaxGapSeconds`,e),Fk=e=>RO(`flyingAnimalsMinDurationSeconds`,e),Ik=e=>RO(`flyingAnimalsMaxDurationSeconds`,e),Lk=e=>RO(`flyingAnimalsScale`,e),Rk=e=>RO(`flyingAnimalsOnPhone`,e),zk=e=>RO(`flyingAnimalsExcludedSprites`,e),Bk=()=>uO(IO()),Vk=()=>{let e=IO();return Object.fromEntries(Object.keys(sO).map(t=>[t,e[t]]))},Hk=()=>TO(EO,{...IO(),...sO}),Uk=SO({viewportWidthPx:1440,viewportHeightPx:900,verticalProgress:0});function Wk(e,t=``){let n=B(`div`,`flying-animal-preview ${t}`.trim());n.setAttribute(`aria-hidden`,`true`),n.style.setProperty(`--nyan-width`,`${Uk.spriteWidthPx}px`),n.style.setProperty(`--nyan-height`,`${Uk.spriteHeightPx}px`);let r=B(`div`,`flying-animal-preview-stage`);return r.append(B(`div`,`nyan-trail ${e.trail}`),B(`div`,`nyan-sprite ${e.sprite}`)),n.append(r),n}function Gk(){let e=fO(Bk().flyingAnimalsExcludedSprites);return e===null?null:oO[e]??null}var Kk=1024,qk=250,Jk=`(max-width: 768px)`,Yk=12,Xk=14,Zk=5e4,Qk=!1;function $k(e){Qk=e}var eA=!1;window.addEventListener(`blur`,()=>{eA=!0}),window.addEventListener(`focus`,()=>{eA=!1});function tA(e){let t=document.activeElement;return $x({isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),hasFocusInsideCard:t instanceof Node&&e.contains(t),hasWindowBlurredSinceFocus:eA,isPhoneLayout:Uf()})}function nA(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 rA(e,t){let n=(t instanceof Error?t.message:``)||String(t);console.error(`[clipboard:${e}]`,t),GS(`Clipboard ${e} failed: ${n}`)}function iA(e,t){return H.get(e)===t&&!t.dataWs}function aA(e){return e.querySelector(`:scope > .terminal-connecting`)}function oA(e){if(aA(e))return;let t=B(`div`,`terminal-connecting`);t.append(B(`span`,`terminal-connecting-label`,`Connecting`)),e.append(t)}function sA(e){let t=aA(e);if(!t)return;t.querySelector(`:scope > .terminal-connecting-animal`)?.remove();let n=Gk();n&&t.prepend(Wk(n,`terminal-connecting-animal`))}var cA=new Set;function lA(e){return cA.add(e),()=>cA.delete(e)}function uA(){let e=0;for(let t of H.values())t.card.dataset.link===`connecting`&&e++;return e}function dA(e){let t=RS({hasTerminal:e.term!==null,isSocketOpen:e.dataWs?.readyState===WebSocket.OPEN,isInputHeld:hA});if(t===`none`){delete e.card.dataset.link,fA();return}let n=t===`connecting`&&e.card.dataset.link!==`connecting`;e.card.dataset.link=t,n&&sA(e.termWrap),fA()}function fA(){for(let e of cA)e()}function pA(e,t,n,r){sx.unregister(e),t.dataWs=null,dA(t),t._resetGridClaim?.(),setTimeout(()=>{iA(e,t)&&g().catch(()=>{}).then(()=>{iA(e,t)&&mA(e,t,n)})},r)}function mA(e,t,n){let r=f(location,v(`/terminals/${encodeURIComponent(e)}`)),i=new WebSocket(r);i.binaryType=`arraybuffer`,t.dataWs=i,dA(t);let o=!1,s={hasSeenSize:!1,lastSeq:0};sx.register(e,(e,t)=>n.write(e,t)),i.addEventListener(`message`,r=>{if(t.dataWs!==i)return;let a=aS(r.data,s);if(a.kind===`bytes`){Ep(t),sx.enqueue(e,a.data);return}if(a.kind===`attach-size`){s.hasSeenSize=!0,s.lastSeq=a.seq,n.reset(),t.ptySize={cols:a.cols,rows:a.rows},t._syncGrid?.();return}if(a.kind!==`size`)return;s.lastSeq=a.seq;let o={cols:a.cols,rows:a.rows};sx.enqueueAction(e,()=>{t.ptySize=o,t._syncGrid?.()})}),i.addEventListener(`close`,()=>{if(t.dataWs!==i)return;o||_();let r=a(t._dataWsRetryAttempt||0);t._dataWsRetryAttempt=(t._dataWsRetryAttempt||0)+1,pA(e,t,n,r)}),i.addEventListener(`open`,()=>{o=!0,t._dataWsRetryAttempt=0,dA(t),t._syncGrid?.({isActivationEdge:!0}),t._retryOwedGridClaim?.(),t._inputQueue?.length&&setTimeout(()=>{t.dataWs===i&&gA(t)},50)})}var hA=!1;function gA(e){let t=e._inputQueue,n=e.dataWs;if(!hA&&t?.length&&n?.readyState===WebSocket.OPEN){for(let e of t)n.send(JSON.stringify({type:`input`,data:e}));t.length=0}}function Bne(){hA=!0;for(let e of H.values())dA(e)}function Vne(){hA=!1;for(let e of H.values())dA(e),gA(e)}function _A(e){let t=qf(e);if(typeof e!=`string`||!t?.term)return;let n=t.dataWs;t._dataWsRetryAttempt=0,pA(e,t,t.term,0),n?.close()}function vA(e,t,n){return!e||t==null||t===``?!1:(n?.fromSoftKeyboard||e._resetSoftKeyboardBuffer?.(),!hA&&!e._inputQueue?.length&&e.dataWs?.readyState===WebSocket.OPEN?(e.dataWs.send(JSON.stringify({type:`input`,data:t})),!0):e._inputQueue&&e._inputQueue.length<Kk?(e._inputQueue.push(t),!0):!1)}function yA(e,t){let n=window.matchMedia?.(Jk).matches?Yk:Xk,r=new bb({cursorBlink:Qk,fontSize:n,fontFamily:kb(),theme:Hx(),scrollback:Zk,allowProposedApi:!0,linkHandler:PS()}),i=new Rp;r.loadAddon(i),oA(e),r.open(e),IS(r),t.term=r,t.fitAddon=i,_D(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||!tA(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=Qx({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)},qk)}function m(){l&&o===null&&f(l)}function h({isActivationEdge:e=!1}={}){let n=t.term;if(!n)return;let r=nS({authoritative:t.ptySize??null,applied:{cols:n.cols,rows:n.rows},proposal:d(),isActiveViewer:s,isDataWsOpen:t.dataWs?.readyState===WebSocket.OPEN,lastClaim:c});if(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`}));return}r.owedClaim&&(e&&f(r.owedClaim)||p(r.owedClaim))}function g(){let e=eS({authoritative:t.ptySize??null,isActiveViewer:s,isDocumentEngaged:tA(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=tS({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&&yD(t),h({isActivationEdge:!0}))},t.card.addEventListener(`focusin`,()=>{eA=!1,g()},{signal:t.abortController.signal}),xD(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=nA(n)}catch(e){return rA(`osc52 decode`,e),!0}if(!(document.hasFocus()&&navigator.userActivation?.isActive!==!1))return!0;let i=Ef(r);return i&&i.catch(e=>{rA(`osc52 write`,e)}),!0}),r.attachCustomKeyEventHandler(e=>{if(e.type!==`keydown`)return!0;if(document.body.dataset.activeView===`focus`&&Hb(e,Yb,Qb()))return!1;let n=e.ctrlKey||e.metaKey;if(n&&e.key===`c`&&r.hasSelection()){let e=r.getSelection();r.clearSelection();let t=Ef(e);return t&&t.catch(e=>{rA(`copy`,e)}),!1}return n&&e.key===`v`?!1:n&&e.key===`Backspace`?(vA(t,`\x1B`),!1):!0}),Hne(e,r,t),aC(e,r)}function Hne(e,t,n){let r=t.textarea;if(!r)return;let i=``,a=()=>{i=r.value},o=()=>{i=``,Uf()&&r.value!==``&&(r.value=``)};n._resetSoftKeyboardBuffer=o;let s=()=>{let e=dS(i,r.value);return i=r.value,e!==``&&(vA(n,e,{fromSoftKeyboard:!0}),t.scrollToBottom(),!0)},c=(t,n)=>{e.addEventListener(t,e=>{if(!Uf()){a();return}n(e)},!0)};c(`keydown`,e=>{if(uS(e)){e.stopPropagation();return}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(!lS(e.inputType)){queueMicrotask(o);return}if(e.stopPropagation(),s())return;let r=sS(e.inputType);r!==``&&(vA(n,r,{fromSoftKeyboard:!0}),t.scrollToBottom())})}var bA=new Set;function Une(e){return bA.add(e),()=>bA.delete(e)}function xA(e,t){e._inputQueue=[];let n=e.term;n&&(n.onData(n=>{if(!vA(e,n))return;let r=LS(n);for(let e of bA)e(t,r)}),mA(t,e,n))}function SA(e,t){e.term||(yA(e.termWrap,e),xA(e,t))}function CA(e){e?._syncGridOnEngagementEdge?.()}function wA(e,t){if(!e)return;SA(e,t),yD(e);let n=e.term;n&&(n.refresh(0,n.rows-1),CA(e))}function TA(e,t,n){e&&(n&&SA(e,t),e._setActiveViewer?.(n))}function Wne(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 EA(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);continue}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`;continue}if(e.startsWith(`deleted file mode`)){r.status=`deleted`;continue}if(e.startsWith(`rename from `)){r.oldPath=e.slice(12),r.status=`renamed`;continue}if(e.startsWith(`rename to `)){r.path=e.slice(10),r.status=`renamed`;continue}if(e.startsWith(`Binary files`)){r.binary=!0;continue}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)}continue}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)}continue}if(e.startsWith(`@@`)){i={header:e,lines:[]},r.hunks.push(i);let t=Wne(e);a=t?t.oldStart:null,o=t?t.newStart:null;continue}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 Gne(e,t,n,r){return`${e}:${r}:${n}:${t}`}function Kne(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 qne(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 Jne(e,t){return t===`merged`||t===`none`||e===`parked`&&t===`pending-review`}function DA(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 OA(e,t){return typeof e==`string`&&e.trim()?e.trim():t}function Y(e,t){return typeof e==`number`&&Number.isFinite(e)?e:t}function kA(e){let t=(Array.isArray(e)?e:[]).filter(e=>typeof e==`string`&&e!==``);return[...new Set(t)].sort().join(`|`)}function Yne(e,t){let n=typeof e==`string`?e:``,r=typeof t==`string`?t:``;return n===``?{shown:!1,acknowledged:``}:{shown:n!==r,acknowledged:r}}function AA({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=Yne(e,r()?e:i);return a(t.acknowledged),t.shown},acknowledge(){a(n())}}}function Xne(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 Zne=`machine-updates`,Qne=`update-actions`,$ne={spiking:0,regressed:1,worsened:2,new:3,quiet:4},ere={spiking:`crit`,regressed:`crit`,worsened:`warn`,new:`warn`,quiet:`dim`},tre=99,nre={ROOT_CAUSE:`root cause`,NEEDS_HUMAN:`needs you`,TRANSIENT:`transient`,FIXED:`fixed`,ERROR:`error`};function jA(e){return Array.isArray(e)?e.flatMap(e=>{let t=e,n=OA(t?.tool,``);return n?[{at:Y(t?.at,0),tool:n,detail:OA(t?.detail,``)}]:[]}):[]}function rre(e){return e.detail?`${e.tool} ${e.detail}`:e.tool}function ire(e){let t=jA(e?.trail).at(-1);return t?rre(t):``}function MA(e){let t=OA(e?.summaryLine,``);return e?.inFlight===!0&&ire(e)||t}function NA(e){return{inFlight:e?.inFlight===!0,startedAt:Y(e?.startedAt,null),steps:jA(e?.trail),verdict:OA(e?.verdict,``),summaryLine:OA(e?.summaryLine,``)}}function PA(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 are(e,t){let n=PA(e,t?.projectId,t?.issueId);return n?(n.inFlight=!0,n.startedAt=Y(t?.startedAt,null),n.trail=jA(t?.trail),!0):!1}function FA(e){return{inFlight:!1,startedAt:Y(e?.startedAt,null),steps:jA(e?.trail),verdict:OA(e?.verdict,``),summaryLine:OA(e?.summaryLine,``)}}function ore(e,t){return!e||!t?!1:String(t.projectId??``)===e.projectId&&String(t.issueId??``)===e.issueId}function sre(e,t){let n=PA(e,t?.projectId,t?.issueId);if(!n)return!1;let r=FA(t);return n.inFlight=!1,n.startedAt=r.startedAt,n.trail=r.steps,n.verdict=r.verdict,n.summaryLine=r.summaryLine,!0}function IA(e){return nre[typeof e==`string`?e.toUpperCase():``]||String(e??``).toLowerCase()}function LA(e){return _p(e,{rounding:`round`,showsHours:!1})}function RA(e,t){return e==null?``:`+${LA(t-e)}`}function cre(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: ${IA(e.verdict)}`:`finished`}function ure(e){return Xne(e,{label:`PostHog monitoring`,tab:`PostHog`})}function dre(e){return Y(e.intervalMinutes,null)!==null}function fre(e,t){return e==null||e.configured===!1?`placeholder`:t>0?`ready`:dre(e)?`placeholder`:`pending`}function pre(e){return ere[e??``]||`dim`}function mre(e){if(typeof e?.lastSeen!=`string`)return null;let t=Date.parse(e.lastSeen);return!Number.isFinite(t)||t<=0?null:t}function hre(e){let t=OA(e?.status,``).trim().toLowerCase();return!t||t===`active`?``:t}function gre(e){return Array.isArray(e)?e.map(e=>Number(e)).filter(e=>Number.isFinite(e)):[]}function _re(e){return Array.isArray(e)?e.map(e=>typeof e==`number`?e:Number(e?.occurrences)).filter(e=>Number.isFinite(e)):[]}function vre(e,t=64,n=16){let r=gre(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 yre(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 bre(e){return e.length===0?`0 polls, 0 to 0 occurrences`:`${e.length} polls, ${Math.min(...e)} to ${Math.max(...e)} occurrences`}function zA(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 xre=3e5;function Sre(e){let t=Number(e);return!Number.isFinite(t)||t<=0?xre:t*2}function Cre(e){let t=e.split(/[\\/]+/).filter(Boolean);return t.length===0?``:t[t.length-1]}function BA(e){let t=Cre(OA(e?.name,``));if(t)return t;let n=e?.projectId;return n==null||n===``?`project`:String(n)}function VA(e){let t=OA(e,``);return t?(t.replace(/^[a-z][a-z0-9+.-]*:\/\//i,``).split(`/`)[0].split(`@`).pop()??``).replace(/:\d+$/,``):``}function wre(e){let t=new Set,n=Array.isArray(e)?e:[];for(let e of n){let n=VA(e?.host);n&&t.add(n)}return t.size>1}function Tre(e,t,n={}){let r=zA(e?.issues),i=OA(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>Sre(n.intervalMs)?s:0;return{loud:r.active>0||r.spiking>0||!!i||c>0,counts:r,error:i,staleMs:c}}function Ere(e,t,n={}){let r=[],i=[],a=Array.isArray(e)?e:[];for(let e of a){let a=Tre(e,t,n),o={project:e,...a};if(a.loud){r.push(o);continue}i.push(o)}return{loud:r,quiet:i}}function Dre(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:OA(e.issueId,``),projectId:e.projectId??null,projectLabel:OA(e.projectName,``),title:OA(e.title,`Untitled issue`),summaryLine:OA(e.summaryLine,``),url:OA(e.url,``),verdict:OA(e.verdict,`ERROR`).toUpperCase(),mode:OA(e.mode,`investigate`),prUrl:/^https:\/\/[^\s"'<>]{1,300}$/.test(OA(e.prUrl,``))?OA(e.prUrl,``):``,at:Number.isFinite(Number(e.at))?Number(e.at):0})).sort((e,t)=>t.at-e.at)}function Ore(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 HA(e,t){let n=OA(e,``);if(n)return/^\d/.test(n)?`v${n}`:n;let r=Al(t,{validate:!0});return r?`commit ${r}`:``}function kre(e){return`Update available: ${HA(e?.current,e?.currentSha)} to ${HA(e?.latest,e?.latestSha)}`}function Are({posthog:e}={}){let t=[],n=Array.isArray(e?.projects)?e.projects:[];for(let e of n){let n=OA(e?.projectId,OA(e?.name,`project`)),r=Array.isArray(e?.issues)?e.issues:[];for(let e=0;e<r.length;e++){let i=r[e],a=OA(i?.issueId,OA(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 jre(e={}){return kA(Are(e))}function UA(e){return $ne[e??``]??tre}function Mre(e){return Array.isArray(e)?e.map((e,t)=>({issue:e,index:t})).sort((e,t)=>{let n=UA(e.issue?.change)-UA(t.issue?.change);if(n!==0)return n;let r=Y(t.issue?.users,0)-Y(e.issue?.users,0);if(r!==0)return r;let i=Y(t.issue?.occurrences,0)-Y(e.issue?.occurrences,0);return i===0?e.index-t.index:i}).map(e=>e.issue):[]}var WA=5e3;function GA(e){let t=e.match(/<command-name>([^<]*)<\/command-name>/)?.[1];return t===void 0||/[\r\n]/.test(t)?null:t.trim()||null}function Nre(e,t){if(!e.toolUseId)return GA(e.text)??`context`;let n=t.get(e.toolUseId);return n?Nc(n.name,n.input)||n.name:`expansion`}function Pre(e){return e.kind!==`expansion`||e.toolUseId?!1:GA(e.text)!==null}function Fre(e){return e.kind===`prompt`||e.kind===`session`||Pre(e)}function KA(e){return new TextEncoder().encode(e).byteLength}function Ire(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(`
134
- `)}var Lre={prompt:`PROMPT`,expansion:`EXPANSION`,thinking:`THINKING`,assistant:`ASSISTANT`,tool_call:`TOOL`,tool_result:`RESULT`,session:`SESSION`,notice:`NOTICE`,raw:`RAW`},Rre=[{kind:`thinking`,label:`Thinking`},{kind:`tool_result`,label:`Tool result`},{kind:`raw`,label:`Raw`}];function zre(e,t){if(e.kind===`prompt`)return{prefix:`Prompt: `,text:Mc(e.text)};if(e.kind===`thinking`)return{prefix:`Thinking: `,text:Mc(e.text)};if(e.kind===`assistant`)return{prefix:`Assistant: `,text:Mc(e.text)};if(e.kind===`notice`)return{prefix:`Notice: `,text:Mc(e.text)};if(e.kind===`raw`)return{prefix:`Raw: `,text:Mc(e.line)};if(e.kind===`session`)return{prefix:`Session: `,text:`${e.vendor} ${e.vendorSessionId}`};if(e.kind===`expansion`)return{prefix:`Expansion: `,text:Nre(e,t)};if(e.kind===`tool_call`){let t=Nc(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:`${KA(e.content)} bytes`}}function Bre(e){if(!e.agentType)return``;let t=e.agentId?` ${e.agentId.slice(-6)}`:``;return`[${e.agentType}${t}] `}function qA(e,t){let n=zre(e,t),r=Bre(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:Lre[e.kind],text:`${r}${i}`,tone:o,badges:a}}function JA(e,t){return{record:e,...qA(e,t)}}function YA(e){return e.kind!==`tool_result`&&e.kind!==`expansion`?null:e.toolUseId||null}function Vre(e,t){let n=YA(e);return!n||t.has(n)?null:n}function XA(e,t,n=1){e.set(t,(e.get(t)??0)+n)}function Hre(e,t){let n=(e.get(t)??0)-1;if(n>0){e.set(t,n);return}e.delete(t)}function Ure(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=YA(i.record);a&&t.has(a)&&(n.rows[r]=JA(i.record,e.toolCallByUseId))}}function ZA(){return{turns:[],toolCallByUseId:new Map,unresolvedToolUseCounts:new Map}}function Wre(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 QA(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`}`}, ${vp(i,`KB`)}, ${LA(Wre(e))}`}function $A(){return{rowCount:0,toolCallCount:0,errorCount:0,resultBytes:0}}function ej(e,t,n){e.metrics.rowCount+=n,t.record.kind===`tool_call`&&(e.metrics.toolCallCount+=n),t.record.kind===`tool_result`&&(e.metrics.resultBytes+=KA(t.record.content)*n,t.record.isError&&(e.metrics.errorCount+=n))}function tj(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=Vre(i,e.toolCallByUseId);t&&XA(e.unresolvedToolUseCounts,t);let a=JA(i,e.toolCallByUseId);if(Fre(i)){r={head:a,rows:[],hasTrimmedRows:!1,startedAt:i.ts,metrics:$A()},ej(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:$A()},e.turns.push(r),n.push({turnIndex:e.turns.length-1,isNewTurn:!0,head:null,rows:[]})),r.rows.push(a),ej(r,a,1);let o=e.turns.length-1,s=n[n.length-1];if(s&&s.turnIndex===o){s.rows.push(a);continue}n.push({turnIndex:o,isNewTurn:!1,head:null,rows:[a]})}return n}function Gre(e,t){let n=ZA();tj(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)||XA(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],Ure(e,i),{newTurns:n.turns,mergedHead:c,mergedRows:l,needsRerender:i.size>0}}function nj(e){return e.rows.length+ +!!e.head}function rj(e){let t=0;for(let n of e.turns)t+=nj(n);return t}function ij(e,t){for(let n of t){if(n.record.kind===`tool_call`){e.toolCallByUseId.delete(n.record.toolUseId);continue}let t=YA(n.record);t&&Hre(e.unresolvedToolUseCounts,t)}}function Kre(e,t){ij(e,t.head?[t.head,...t.rows]:t.rows)}function qre(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);ij(e,i);for(let e of i)ej(n,e,-1);return n.rows=n.rows.slice(r),n.hasTrimmedRows=!0,r}function Jre(e,t=WA){let n=rj(e),r=0;for(;n>t&&r<e.turns.length-1;){let t=e.turns[r];if(!t)break;n-=nj(t),Kre(e,t),r+=1}return r>0&&(e.turns=e.turns.slice(r)),n<=t?{droppedTurnCount:r,droppedRowCount:0}:{droppedTurnCount:r,droppedRowCount:qre(e,n-t)}}function Yre(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 Xre(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 Zre(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 aj(e,t=WA){return!e.selectedSessionId||!e.hasLoadedOnce||e.hasDroppedEarliestRows||e.residentRowCount>=t?!1:e.firstOffset>0}function Qre(e,t=WA){return!aj(e,t)||e.hasPendingRequest||!e.selectedSessionId?null:{id:e.selectedSessionId,direction:`earlier`,after:0,endingAt:e.firstOffset}}function $re(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 eie(e){return e.hasSelectionChanged||e.isRenderedTraceStale||!e.hasRenderedOnce}function tie(e,t,n){return e!==0||t?null:n?.startedAt??null}function nie(e,t){return oj(e,t)?e.filter(e=>e!==t):[...e,t]}function oj(e,t){return e.includes(t)}function sj(e){return e?`No trace has been recorded for ${e.label}.`:`No sessions are available.`}var cj=.32,lj=.6,uj=.88,rie=.98,iie=1.12,dj=2*Math.PI,aie={now:cj,next:lj,later:uj};function fj(e,t=0){let n=2166136261^t;for(let t=0;t<e.length;t+=1)n=Math.imul(n^e.charCodeAt(t),16777619);return(n>>>0)/4294967296}function oie(e,t){return t===`working`||t===`ready`?rie+fj(e,1)*.14000000000000012:aie[t]}function sie(e){let t=[];for(let{id:n,tier:r}of e)r!==`resting`&&t.push({id:n,tier:r,angle:fj(n)*dj,radius:oie(n,r)});if(t.length<2)return t;let n=[...t].sort((e,t)=>e.angle-t.angle),r=dj/n.length,i=n.reduce((e,t,i)=>Math.max(e,t.angle-dj+(n.length-i)*r),n[0].angle);return n.forEach((e,t)=>{e.angle=(i+t*r)%dj}),t}function cie(e){return e>640}function pj(e){return e.reviews.filter(e=>e.state===`open`&&e.openRevision!==null).sort((e,t)=>(t.openRevision?.since??0)-(e.openRevision?.since??0))[0]??null}var mj=Object.freeze({now:0,next:1,later:2,ready:3,working:4,resting:5}),lie=new Map(Object.entries({WAITING:{tier:`now`,"needs-you":`always`,"phone-triage":`always`,calm:`always`,favicon:`always`},FAILED:{tier:`next`,"needs-you":`never`,"phone-triage":`always`,calm:`always`,favicon:`never`},COMPLETE:{tier:`later`,"needs-you":`unseen`,"phone-triage":`always`,calm:`always`,favicon:`always`},IDLE:{tier:`ready`,"needs-you":`never`,"phone-triage":`never`,calm:`later-when-turn-ended`,favicon:`never`},RUNNING:{tier:`working`,"needs-you":`never`,"phone-triage":`always`,calm:`always`,favicon:`never`},STARTING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,calm:`always`,favicon:`never`},INITIALIZING:{tier:`working`,"needs-you":`never`,"phone-triage":`never`,calm:`always`,favicon:`never`},DORMANT:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,calm:`never`,favicon:`never`},DONE:{tier:`resting`,"needs-you":`never`,"phone-triage":`never`,calm:`never`,favicon:`never`}}));function hj(e,t){let n=typeof e.state==`string`?lie.get(e.state):void 0;if(!n)return`resting`;let r=n[t];return r===`never`||r===`unseen`&&e.unseen!==!0?`resting`:r===`later-when-turn-ended`&&e.hasEndedTurn===!0?`later`:n.tier}function gj(e,t){return mj[hj(e,t)]}function uie(e,t){return[...e].map(([e,n])=>{let r=n.currentState||F.DORMANT;return{id:e,ui:n,name:t(n),isDormant:r===F.DORMANT,state:r,unseen:!1}})}function _j(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 vj(e,t){return e.length?e[((t==null?-1:e.indexOf(t))+1)%e.length]:null}function yj(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 bj({state:e,unseen:t}={}){return gj({state:e,unseen:t},`needs-you`)<mj.ready}function xj(e){let t=0;for(let n of e||[])bj(n||{})&&t++;return t}function Sj(e){return e<=0?`ALL CLEAR`:e===1?`1 NEEDS YOU`:`${e} NEED YOU`}var die=new Map([[`hand`,2]]),fie=1;function pie(e){return e?typeof e==`string`&&die.get(e)||fie:0}function mie(e){let t=!1,n=0;for(let r of e||[]){let e=pie(r);e<=n||(t=typeof r!=`string`||r,n=e)}return t}var hie=`Estimated list prices, not a bill.`,gie=`Enable in Settings.`,Cj=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}]),wj=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Tj=/^(\d{4})-(\d{2})-(\d{2})$/,_ie=new Set([`day`,`model`,`label`]),vie=new Set([`model`,`label`]);function Ej(e){return e.replace(/\B(?=(\d{3})+(?!\d))/g,`,`)}function Dj(e){return e.includes(`.`)?e.replace(/0+$/,``).replace(/\.$/,``):e}function Oj(e){if(typeof e!=`number`||!Number.isFinite(e))return`-`;let t=Math.round(e);return`${t<0?`-`:``}${Ej(String(Math.abs(t)))}`}function kj(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}$${Ej(r)}.${i}`}function Aj(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}${Dj((n/1e3).toFixed(1))}k`:n<999995e3?`${t}${Dj((n/1e6).toFixed(2))}M`:`${t}${Dj((n/1e9).toFixed(2))}B`}function jj(e){return typeof e!=`number`||!Number.isFinite(e)?`-`:e>0&&e<.1?`<0.1%`:`${Dj(e.toFixed(1))}%`}function Mj(e){let t=Number(e?.costUSD);return Number.isFinite(t)&&t>0?`costUSD`:`tokens`}function Nj(e){return e===`costUSD`?`share of cost`:`share of tokens`}function Pj(e,t){let n=Number(e),r=Number(t);return!Number.isFinite(n)||!Number.isFinite(r)||r<=0?null:n/r*100}function Fj(e){let t=Tj.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=wj[Number(t[2])-1];return n?`${n} ${Number(t[3])}`:String(e)}function yie(e){let t=bie(e);return t.length===0?``:t.length===1?Fj(t[0]):`${Fj(t[0])} to ${Fj(t[t.length-1])}`}function bie(e){return(Array.isArray(e)?e:[]).map(e=>typeof e==`string`?e:e?.day).map(e=>String(e??``)).filter(e=>Tj.test(e)).sort()}function Ij(e){let t=Number(e?.ts);return!Number.isFinite(t)||t<=0?``:xie(t,typeof e?.tz==`string`&&e.tz?e.tz:null)}function xie(e,t){let n={year:`numeric`,month:`2-digit`,day:`2-digit`};t&&(n.timeZone=t);let r=Lj(e,n);return Tj.test(r)?r:Lj(e,{year:`numeric`,month:`2-digit`,day:`2-digit`})}function Lj(e,t){try{return new Intl.DateTimeFormat(`en-CA`,t).format(new Date(e))}catch{return``}}function Rj(e){return typeof e!=`number`||!Number.isFinite(e)||e<0?`-`:gp(Math.round(e)*60,{smallestUnit:`m`,dropsZeroRemainder:!0})}function Sie(e){let t=Number(e);if(!Number.isFinite(t)||t<=0)return`-`;let n=new Date(t),r=wj[n.getMonth()];return r?`${r} ${n.getDate()} ${bp(n)}`:`-`}function Cie(e){if(!e||typeof e!=`object`)return[];let t=[];if(Number.isFinite(e.tokensPerMinute)){let n=Number.isFinite(e.tokensPerMinuteExCache)?`${Aj(e.tokensPerMinuteExCache)} excluding cache`:``;t.push({label:`tokens per min`,value:Aj(e.tokensPerMinute),sub:n})}return Number.isFinite(e.costPerHour)&&t.push({label:`cost per hour`,value:kj(e.costPerHour),sub:``}),t}function wie(e){if(!e||typeof e!=`object`)return``;let t=[];Number.isFinite(e.projectedTokens)&&t.push(`${Aj(e.projectedTokens)} tokens`),Number.isFinite(e.projectedCostUSD)&&t.push(kj(e.projectedCostUSD));let n=Number.isFinite(e.remainingMinutes)?`${Rj(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 zj(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 Bj(e){return typeof e!=`number`||!Number.isFinite(e)?`ok`:e>=100?`crit`:e>=80?`warn`:`ok`}function Vj(e){let t=Y(e?.max,null);return t===null||t<=0?null:t}function Hj(e){let t=Vj(e),n=Y(e?.pct,null);return t===null||n===null?null:n*100}function Uj(e,t){let n=Vj(t),r=Y(e?.projectedTokens,null);return n===null||r===null?null:r/n*100}function Tie(e){let t=Hj(e);return t===null?``:`${Math.round(t)}% of ${Aj(e?.max)} tokens, the largest completed block seen`}function Eie(e,t){let n=Uj(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 Die=Object.freeze([{key:`input`,label:`input`},{key:`output`,label:`output`},{key:`cacheCreate`,label:`cache write`},{key:`cacheRead`,label:`cache read`}]);function Oie(e){let t=Die.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=Pj(e.tokens,n)??0,r=Aj(e.tokens);return{key:e.spec.key,label:e.spec.label,value:r,pct:t,title:`${e.spec.label} ${r}, ${jj(t)}`}})}var Wj=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`}),kie=`Sessions spawned by Glimmervoid; terminal sessions count as other`,Aie=`Claude sessions Glimmervoid spawned for its own work; plan share is estimated pro rata by cost`;function Gj(e){let t=OA(e,``);return t?Wj[t]||t:Wj.other}function Kj(e){let t=e?.byLane;return Array.isArray(t)?t.filter(e=>e&&typeof e.lane==`string`):[]}function qj(e){if(typeof e!=`string`)return!1;let t=e.trim();return t!==``&&t!==`interactive`&&t!==`other`}function jie(e){return Kj(e).some(e=>qj(e.lane))}var Mie=Object.freeze({fiveHour:`This 5 hour block`,sevenDay:`7 day window`});function Nie(e,t,n){let r=fM(e,t);return!r||r.resetsAtMs!==null&&r.resetsAtMs<=n?null:r.pct}function Pie(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+Y(t.costUSD,0),0),o=i.reduce((e,t)=>e+Y(t.tokens,0),0),s=i.filter(e=>qj(e.lane)).map(e=>({lane:String(e.lane),label:Gj(e.lane),tokens:Y(e.tokens,0),costUSD:Y(e.costUSD,0)})),c=s.reduce((e,t)=>e+t.costUSD,0),l=s.reduce((e,t)=>e+t.tokens,0),u=a>0?Pj(c,a):Pj(l,o),d=Nie(n,e,r),f=u===null||d===null?null:u/100*d;return{key:e,label:Mie[e],tokens:l,costUSD:c,sharePct:u,planPct:f,lanes:s}}function Fie(e,t,n=Date.now()){let r=e?.planWindowLanes;return!r||typeof r!=`object`?[]:dM.map(e=>Pie(e.key,r[e.key],t,n)).filter(e=>e!==null)}function Iie(e){return e.planPct===null?``:`about ${jj(e.planPct)} of plan`}function Lie(e){return e.lanes.filter(e=>e.costUSD>0||e.tokens>0).map(e=>`${e.label} ${e.costUSD>0?kj(e.costUSD):Aj(e.tokens)}`).join(`, `)}var Jj=`team-review`;function Rie(e){if(!Array.isArray(e?.byLane))return null;let t=Kj(e).find(e=>e.lane===Jj),n=Y(t?.costUSD,0),r=Y(t?.tokens,0),i=Mj(e?.totals),a=Pj(i===`costUSD`?n:r,e?.totals?.[i]),o=a===null?``:`${jj(a)} of range ${i===`costUSD`?`cost`:`tokens`}`,s=[kj(n),o,Yj(t?.sessions)].filter(Boolean).join(`, `);return{label:Gj(Jj),value:Aj(r),sub:s}}function Yj(e){let t=Y(e,null);return t===null||t<=0?``:`${Oj(t)} ${t===1?`session`:`sessions`}`}function Xj(e){let t=e?.rtk;return!t||typeof t!=`object`||t.available!==!0?null:t}function Zj(e){let t=e?.cache;return!t||typeof t!=`object`?null:t}function zie(e){return Xj(e)!==null||Zj(e)!==null}function Bie(e){let t=Xj(e);if(!t)return null;let n=Y(t.commands,0),r=n===1?`command`:`commands`;return{value:`${Aj(Y(t.savedTokens,0))} tokens`,sub:`${jj(Y(t.savingsPct,0))} avg across ${Oj(n)} ${r}`}}function Vie(e){let t=Zj(e);if(!t)return null;let n=Aj(Y(t.cacheReadTokens,0)),r=(Array.isArray(t.unpricedModels)?t.unpricedModels:[]).filter(e=>e),i=`${n} cache read tokens`;if(r.length===0)return{value:kj(Y(t.savedUSD,0)),sub:i};let a=r.length===1?`model`:`models`;return{value:kj(Y(t.savedUSD,0)),sub:`${i}, a floor (${r.length} unpriced ${a})`}}function Qj(e){let t=e?.budget?.rows;return Array.isArray(t)?t.filter(e=>e&&Y(e.budgetUsd,null)!==null):[]}function $j(e){return e===`monthly`?`this month`:`today`}function Hie(e){return`${kj(Y(e?.spentUsd,0))} of ${kj(Y(e?.budgetUsd,0))}`}function eM(e){let t=Y(e?.pct,null);return t===null?0:t}function Uie(e){return`${$j(e?.scope)} spend against budget`}var tM=Object.freeze([{value:`day`,label:`Day`},{value:`week`,label:`Week`},{value:`month`,label:`Month`}]);function nM(e){let t=Tj.exec(String(e??``));return t?new Date(Number(t[1]),Number(t[2])-1,Number(t[3]),12):null}function rM(e){let t=nM(e);if(!t)return``;let n=(t.getDay()+6)%7;return t.setDate(t.getDate()-n),yp(t)}function Wie(e){let t=Tj.exec(String(e??``));return t?`${t[1]}-${t[2]}`:``}function Gie(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 Kie(e,t){e.tokens+=Y(t?.tokens,0),e.costUSD+=Y(t?.costUSD,0),e.input+=Y(t?.input,0),e.output+=Y(t?.output,0),e.cacheCreate+=Y(t?.cacheCreate,0),e.cacheRead+=Y(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=bM(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+=Y(t?.tokens,0),r.costUSD+=Y(t?.costUSD,0),r.input+=Y(t?.input,0),r.output+=Y(t?.output,0),r.cacheCreate+=Y(t?.cacheCreate,0),r.cacheRead+=Y(t?.cacheRead,0),e.modelByName.set(n,r)}}function qie(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 iM(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)||Gie(r);Kie(i,e),n.set(r,i)}return Array.from(n.values()).map(qie)}function Jie(e){return iM(e,rM)}function Yie(e){return iM(e,Wie)}function Xie(e,t){return t===`week`?Jie(e):t===`month`?Yie(e):Array.isArray(e)?[...e]:[]}var Zie=/^(\d{4})-(\d{2})$/;function Qie(e,t){if(t===`month`){let t=Zie.exec(String(e??``));if(!t)return String(e??``)||`-`;let n=wj[Number(t[2])-1];return n?`${n} ${t[1]}`:String(e)}if(t===`week`){let t=Fj(e);return t===`-`?t:`week of ${t}`}return Fj(e)}function $ie(e){return(Array.isArray(e)?e:[]).some(e=>e?.source===`history`)?`older days from local history`:``}var aM=Object.freeze([.05,.25,.5,.75]),eae=Object.freeze([`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`,`Sun`]);function tae(e,t){let n=Y(e,0),r=Y(t,0);if(n<=0||r<=0)return 0;let i=n/r,a=1;for(let e=0;e<aM.length;e+=1)i>=aM[e]&&(a=e+1);return a}function nae(e,{weeks:t=16,today:n=new Date}={}){let r=(Array.isArray(e)?e:[]).filter(e=>Tj.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`&&Tj.test(n)?n:yp(o),c=nM(rM(s));if(!c)return{cells:[],max:0,weeks:0};let l=new Date(c.getFullYear(),c.getMonth(),c.getDate()-(t-1)*7,12),u=yp(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,Y(e.tokens,0)))}for(let e=0;e<t;e+=1)for(let t=0;t<7;t+=1){let n=yp(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:Y(r?.tokens,0),costUSD:Y(r?.costUSD,0),source:r?.source===`history`?`history`:r?`live`:null,noData:a||o||!r&&p===null,tone:tae(r?.tokens,f)})}return{cells:d,max:f,weeks:t}}function rae(e){let t=Fj(e?.day);if(e?.noData)return`${t}: no data`;let n=Y(e?.tokens,0);return n<=0?`${t}: no usage`:`${t}: ${Aj(n)} tokens, ${kj(Y(e?.costUSD,0))}`}function iae(e){if(!e)return``;let t=Y(e.baselineDays,null),n=t===null?`recent`:`${Math.round(t)} day`;return`Today is ${oM(e.ratio)} the ${n} average: ${kj(e.todayUsd)} against ${kj(e.baselineUsd)}.`}function aae(e){return e?`This block is burning ${oM(e.ratio)} the usual rate: ${Aj(e.current)} tokens per minute against ${Aj(e.baseline)}.`:``}function oae(e){return[iae(e?.daily),aae(e?.burn)].filter(Boolean).join(` `)}function sae(e){return e?.daily||e?.burn?`warn`:`ok`}function cae(e){return!!(e?.daily||e?.burn)}function oM(e){let t=Y(e,null);return t===null?`-`:`${Dj(t.toFixed(1))}x`}var sM=Object.freeze({claude:`Claude`,codex:`Codex`,grok:`Grok`});function cM(e){let t=OA(e,``);return t?sM[t]||t:sM.claude}function lae(e,t){return lM(t)?cM(e?.vendor):``}function uae(e){let t=e?.byVendor;return!t||typeof t!=`object`?[]:Object.keys(t).filter(e=>t[e]&&typeof t[e]==`object`).sort((e,n)=>Y(t[n]?.tokens,0)-Y(t[e]?.tokens,0)).map(e=>({vendor:e,label:cM(e),tokens:Y(t[e]?.tokens,0),costUSD:Y(t[e]?.costUSD,0)}))}function lM(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 dae=`Claude only`;function uM(e){return lM(e)?dae:``}var fae=36e5,dM=Object.freeze([{key:`fiveHour`,label:`5 hour`},{key:`sevenDay`,label:`7 day`}]);function fM(e,t){let n=e?.[t];if(!n||typeof n!=`object`)return null;let r=Y(n.pct,null),i=Y(n.resetsAtMs,null);return r===null&&i===null?null:{pct:r,resetsAtMs:i}}function pae(e){return dM.some(t=>fM(e,t.key)!==null)}function mae(e){return fM(e,`fiveHour`)?.pct??null}function pM(e){return e===`official`?`official, from Claude Code`:e===`estimated`?`estimated from the largest completed block`:``}function mM(e,t=null){let n=mae(t);if(n!==null)return Bj(n);let r=Bj(Hj(e?.tokenLimit));return r===`ok`?Bj(Uj(e?.activeBlock?.projection,e?.tokenLimit)):r}function hae(e,t=null){let n=[],r=mM(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 Qj(e)){let e=eM(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 kA(n)}function gae(e){let t=Y(e?.pct,null);return t===null?`-`:`${jj(t)} used`}function _ae(e,t=Date.now()){let n=Y(e,null);if(n===null||n<=0)return``;let r=(n-t)/6e4;return r<=0?`resetting now`:`resets in ${Rj(r)}`}function hM(e,t=Date.now()){let n=Y(e,null);return n===null||n<=0?``:`${Math.max(0,Math.round((t-n)/6e4))}m old`}function vae(e,t=Date.now()){let n=Y(e,null);return n===null||n<=0||t-n>fae}function yae(e,t=Date.now()){if(!vae(e,t))return``;let n=hM(e,t);return n?`showing last-known usage (${n})`:`showing last-known usage`}function bae(e,t=``){let n=e?.source;if(n===`fetched`){let e=OA(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=OA(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 xae(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 Sae(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 Cae(e){if(Array.isArray(e))return e.length;let t=Number(e);return Number.isFinite(t)?t:null}function wae(e){if(!e||typeof e!=`object`)return``;let t=[],n=Cae(e.dirs);if(n!==null&&t.push(`${Oj(n)} transcript ${n===1?`directory`:`directories`}`),Number.isFinite(e.files)&&t.push(`${Oj(e.files)} files`),Number.isFinite(e.entries)&&t.push(`${Oj(e.entries)} entries`),Number.isFinite(e.lastScanMs)&&t.push(`last pass ${Oj(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 gM(e){return OA(e?.error,``)}function Tae(e){let t=OA(e?.warning,``);return t?`Glimmervoid could not read every transcript location: ${t}`:``}function _M(e){return gM(e)!==``}function Eae(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return n==null||n===t}function Dae(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 vM(e){return typeof e?.id==`string`&&e.id!==``}function yM(e){let t=OA(e?.label,``);return vM(e)&&t?t:Dae(e?.project)||t||`unknown project`}function bM(e){return OA(typeof e==`string`?e:e?.model,`unknown model`)}function xM(e){return String(e?.day??``)}function SM(e,t,n){if(!_ie.has(t)){let n=Number(e?.[t]);return Number.isFinite(n)?n:0}return t===`day`?xM(e):n(e)}function CM(e,t,n,r=yM){let i=Array.isArray(e)?[...e]:[],a=n===`asc`?1:-1;return i.sort((e,n)=>{let i=SM(e,t,r),o=SM(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 Oae(e){return vie.has(e)?`asc`:`desc`}function wM(e,t){return e?.key===t?{key:t,dir:e.dir===`asc`?`desc`:`asc`}:{key:t,dir:Oae(t)}}function kae(e,t){return e?.key===t?e.dir===`asc`?`ascending`:`descending`:`none`}var TM=Object.freeze({key:`lastTs`,dir:`desc`}),EM=Object.freeze({key:`tokens`,dir:`desc`}),DM=Object.freeze({key:`day`,dir:`desc`});function Aae(e,t=TM){return CM(e,t.key,t.dir,yM)}function jae(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 Mae(e){let t=Number(e);return!Number.isFinite(t)||t<=0?``:`${Oj(t)} hidden`}function OM(e,t=EM){return CM(e,t.key,t.dir,bM)}function Nae(e,t=DM){return CM(e,t.key,t.dir,xM)}function Pae(e,t){return(Array.isArray(e)?e:[]).find(e=>String(e?.day??``)===String(t??``))||null}function Fae(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 kM(e){let t=Y(e?.officialCostUSD,null);if(t!==null&&t>0)return{costUSD:t,source:`official`};let n=Y(e?.costUSD,null);return n!==null&&n>0?{costUSD:n,source:`estimated`}:{costUSD:null,source:null}}function Iae(e){let t=Number(e?.tokens);if(!Number.isFinite(t)||t<=0)return``;let{costUSD:n}=kM(e);return n===null?Aj(t):`${Aj(t)} ${kj(n)}`}function Lae(e){let{source:t}=kM(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`}var AM=Object.freeze({"claude-code":{approve:[{data:`\r`}],dismissPrompt:[{data:`\x1B`}],instruct:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:800}],answerWithOption:e=>[{data:String(e+1)}],answerWithText:(e,t)=>[{data:String(e+1),delayBeforeMs:0},{data:t,delayBeforeMs:800},{data:`\r`,delayBeforeMs:800}],reply:e=>[{data:e,delayBeforeMs:0},{data:`\r`,delayBeforeMs:300}]}});function jM(e){return typeof e!=`string`||!Object.hasOwn(AM,e)?null:AM[e]}function MM(e){return jM(e)!==null}function Rae(e){return jM(e)?.approve??null}function zae(e,t){let n=jM(e);return n?{dismissPrompt:n.dismissPrompt,instruct:n.instruct(t)}:null}function NM(e){return Number.isInteger(e)&&e>=1&&e<=8}function Bae(e,t,n,r){let i=jM(e);return!i||r||!NM(n)||!Number.isInteger(t)||t<0||t>=n?null:i.answerWithOption(t)}function Vae(e,t,n,r){let i=jM(e);return!i||r||!NM(t)||!n.trim()?null:i.answerWithText(t,n)}function Hae(e,t){let n=jM(e);return!n||!t.trim()?null:n.reply(t)}function PM(e,t){return e===F.WAITING&&typeof t==`string`&&t!==``}function Uae({currentState:e,pendingPromptKind:t,elapsedMs:n}){return PM(e,t)?n>=1e4?`give-up`:`wait`:`send`}function FM(e){return hj(e,`calm`)}function IM(e){return e.map((e,t)=>({row:e,index:t,rank:mj[FM(e)]})).filter(e=>e.rank<mj.ready).sort((e,t)=>e.rank-t.rank||(e.row.stateSince??1/0)-(t.row.stateSince??1/0)||e.index-t.index).map(e=>e.row)}function LM(e,t){return IM(e).find(e=>FM(e)===`now`&&e.id!==t)??null}function Wae(e,t){return vj(IM(e).map(e=>e.id),t)??null}function Gae(e,t,n){return!t||e!==t?null:LM(n,e)?.id??null}function Kae(e,t,n,r){if(!t||r||n-e.armedAtMs>=15e3)return`cancel`;let i=t.pendingPromptSummary!==void 0&&t.pendingPromptSummary!==e.armedPromptSummary;return t.state===F.WAITING&&i?`cancel`:t.stateSince===e.armedStateSince?`keep`:t.state===F.RUNNING?`fire`:`cancel`}var qae=6e4;function RM(e){let t=Math.floor(Math.max(0,e)/qae);return t<1?`<1m`:Rj(t)}function Jae(e){let t={now:0,next:0,later:0,ready:0,working:0};for(let n of e){let e=FM(n);e!==`resting`&&(t[e]+=1)}return t}function Yae(e){return e?.question?.multiSelect===!1}function Xae(e){return e.pendingPromptKind===`plan`?{component:`plan`,canApprove:!1}:e.pendingPromptKind!==`permission`||!MM(e.agent)?{component:`terminal`,canApprove:!1}:Yae(e.pendingPromptDetail)?{component:`question`,canApprove:!1}:e.pendingPromptDetail?.toolName===`AskUserQuestion`?{component:`terminal`,canApprove:!1}:{component:`permission`,canApprove:e.pendingPromptDetail?.isComplete===!0}}function zM(e){switch(FM(e)){case`now`:return Xae(e);case`next`:return{component:`failure`,canApprove:!1};case`later`:return{component:`review`,canApprove:!1};default:return{component:`terminal`,canApprove:!1}}}var Zae={permission:`wants to run`,question:`asks`,plan:`has a plan ready`,failure:`failed`,review:`waits for you`},Qae=new Map([[F.RUNNING,`is working`],[F.STARTING,`is working`],[F.INITIALIZING,`is working`],[F.IDLE,`has no task`],[F.DONE,`has exited`],[F.DORMANT,`is asleep`]]);function BM(e,t){return t===`terminal`?Qae.get(e.state)??(FM(e)===`now`?`needs you`:`is quiet`):Zae[t]}function VM(e,t,n,r){return e!==F.WAITING||t!==`permission`||!n||!r?!1:n.toolName===r.toolName&&n.summary===r.summary&&n.isComplete===r.isComplete&&Hee(n.question,r.question)}function HM(e,t){return(e===F.COMPLETE||e===F.IDLE)&&t==null}function UM(e){return MM(e.agent)}function WM(e){return FM(e)===`ready`&&UM(e)}function GM(e){for(let t=e.length-1;t>=0;--t){let n=e[t];if(n.kind!==`assistant`||n.agentId||n.agentType)continue;let r=n.text.trim();if(r)return r}return null}var KM={now:`▲`,next:`■`,later:`✓`,ready:`○`,working:`·`,resting:`·`},qM=null,JM=()=>{},YM=null,XM=null,ZM=null,QM=null,$M=!1,eN=null,tN=null,nN=``,rN=null,iN=null,aN=null,oN=null,sN=null,cN=null,lN=null,uN=null,dN=[],fN=new Map,pN=15e3,mN=`The prompt is still open. Open Terminal to continue.`,hN=`Unable to send. Open Terminal to continue.`,gN=`The question changed. Open Terminal to continue.`,_N=`The session is busy. Open Terminal to continue.`,vN=50,yN=46/iie,bN={desktop:`Click a light for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`,phone:`Tap a light or a row for its action. Lights on the rings are waiting for you; hollow outer lights are free for a new task; faint ones are working.`};function xN(){return YM!==null&&YM===qM&&!Uf()}function SN(){return[...H].map(([e,t])=>({id:e,name:Gf(t),state:t.currentState,stateSince:t.stateSince,agent:t.agent,pendingPromptKind:t.pendingPromptKind,pendingPromptDetail:t.pendingPromptDetail,hasEndedTurn:t.hasEndedTurn}))}function CN(e){return XM?[...XM.querySelectorAll(`.calm-light`)].find(t=>t.dataset.sessionId===e)??null:null}function wN(){if(ZM?.parentElement?.classList.remove(`calm-has-panel`),ZM?.remove(),QM?.remove(),QM=null,ZM=null,eN=null,tN=null,nN=``,rN=null,dN=[],XM&&(XM.inert=!1),uN?.isConnected){uN.focus();return}CN(uN?.dataset.sessionId)?.focus()}function TN(){let e=ZM!==null&&YM?.kind===`phone`;e!==$M&&($M=e,YM?.navigation.onSheetOpenChange?.(e))}function EN(){wN(),TN()}function DN(){eN&&fN.delete(eN),EN()}function ON(e,t,n){if(fN.set(e,{text:t,recordedAtMs:Date.now(),promptSummary:n}),!ZM||eN!==e)return;let r=ZM.querySelector(`.calm-status`);r&&(r.textContent=t)}function kN(e){return e?.question?.text??e?.summary}function AN(e,t){let n=fN.get(e);if(!n)return``;let r=Date.now()-n.recordedAtMs>=pN,i=t!==void 0&&t!==n.promptSummary;return!r&&!i?n.text:(fN.delete(e),``)}function jN(){for(let e of fN.keys())H.has(e)||fN.delete(e)}function MN(e,t,n){let r=B(`button`,t,e);return r.type=`button`,r.addEventListener(`click`,n),r}var NN={trace:`.calm-trace`,diff:`.calm-diff`,plan:`.calm-status`};function PN(e,t){let n=dN.findIndex(n=>n.id===e&&t.includes(n.kind));return n<0?null:dN.splice(n,1)[0].kind}function FN(e,t){if(t.classList.add(`calm-trace`),t.textContent=`Loading trace...`,!z({type:`session-trace`,id:e,endingAt:`tail`})){t.textContent=`Trace unavailable. Open Terminal to continue.`;return}dN.push({id:e,kind:`trace`})}function IN(e){if(!PN(e.id,[`trace`])||!YM||eN!==e.id||!ZM)return;let t=ZM.querySelector(`.calm-trace`);if(!t)return;if(tN===`review`){t.textContent=GM(e.records)??`No message has been recorded.`;return}let n=e.records.filter(e=>e.kind===`tool_call`),r=new Map(n.map(e=>[e.toolUseId,e])),i=ZM.dataset.tier===`ready`?GM(e.records):null;if(i){t.replaceChildren(B(`div`,`calm-agent-message`,i));return}let a=tN===`failure`?n:e.records;t.replaceChildren(...a.slice(-3).map(e=>B(`div`,`calm-trace-row`,qA(e,r).text))),a.length||(t.textContent=`No trace has been recorded.`)}function LN(e,t,n){let r=PN(e,n);if(!r||!YM||eN!==e||!ZM)return;let i=ZM.querySelector(NN[r]);i&&(i.textContent=t)}function RN(e){let t=e.scope===`plan-decision`;LN(e.id,e.message,t?[`plan`]:[`trace`,`diff`])}function zN(e){LN(e.id,`Could not read changes: ${e.message}`,[`diff`])}var BN={sentStatus:`Instruction sent.`,failedStatus:`Unable to send instruction.`,blockedStatusBefore:e=>PM(e.currentState,e.pendingPromptKind)?mN:null};function VN(e,t,n,r,i,a=0){let o=n[a];if(!o){i(r.sentStatus);return}setTimeout(()=>{if(H.get(e)!==t){i(r.failedStatus);return}let s=r.blockedStatusBefore(t,a);if(s){i(s);return}if(!vA(t,o.data)){i(r.failedStatus);return}VN(e,t,n,r,i,a+1)},o.delayBeforeMs)}function HN(e,t,n,r,i){if(H.get(e)!==t){i(`Unable to send instruction.`);return}let a=Uae({currentState:t.currentState,pendingPromptKind:t.pendingPromptKind,elapsedMs:Date.now()-r});if(a===`give-up`){i(mN);return}if(a===`send`){VN(e,t,n,BN,i);return}setTimeout(()=>HN(e,t,n,r,i),200)}function UN(e,t,n){let r=B(`input`,`calm-input`);return r.type=`text`,r.placeholder=e,r.setAttribute(`aria-label`,t),r.addEventListener(`keydown`,e=>{e.key===`Enter`&&!e.isComposing&&r.value.trim()&&(e.preventDefault(),n(r))}),r}function WN(e,t,n,r){let i=e.pendingPromptDetail?.question;if(!i)return;let a=t=>ON(e.id,t,kN(e.pendingPromptDetail)),o=()=>VM(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),s=[],c=()=>{for(let e of s)e.disabled=!0},l=B(`div`,`calm-options`);i.options.forEach((n,r)=>{let u=MN(n,`calm-option`,()=>{if(u.disabled)return;let n=Bae(e.agent,r,i.options.length,i.multiSelect);if(!n){a(hN);return}if(!o()){a(gN);return}if(wA(t,e.id),!n.every(e=>vA(t,e.data))){a(hN);return}c(),a(`Answer sent.`)});s.push(u),l.append(u)});let u=UN(`or type your own answer`,`Or type your own answer`,n=>{let r=Vae(e.agent,i.options.length,n.value,i.multiSelect);if(!r){a(hN);return}if(!o()){a(gN);return}wA(t,e.id),c(),a(`Sending answer...`),VN(e.id,t,r,{sentStatus:`Answer sent.`,failedStatus:hN,blockedStatusBefore:(e,t)=>t===0&&!o()?gN:null},a)});s.push(u),n.append(B(`h2`,`calm-question`,i.text),l),r.append(u)}function GN(e,t,n){let r=t=>ON(e.id,t,kN(e.pendingPromptDetail)),i=e=>HM(e.currentState,e.pendingPromptKind),a=UN(`next instruction`,`Next instruction`,n=>{let a=Hae(e.agent,n.value);if(!a){r(hN);return}if(!i(t)){r(_N);return}wA(t,e.id),n.disabled=!0,VN(e.id,t,a,{sentStatus:`Instruction sent.`,failedStatus:hN,blockedStatusBefore:(e,t)=>t===0&&!i(e)?_N:null},r),r(`Sending instruction...`)});n.append(a)}function KN(e){let t=H.get(e.id),n=YM;if(!n||!t)return;let{root:r,navigation:i}=n;wN(),uN=document.activeElement instanceof HTMLElement?document.activeElement:null,eN=e.id;let a=zM(e);tN=a.component,nN=JSON.stringify([e,t.planReviewState]),ZM=B(`article`,`calm-panel`),ZM.dataset.tier=FM(e),ZM.setAttribute(`role`,`dialog`),ZM.setAttribute(`aria-modal`,`true`),ZM.setAttribute(`aria-label`,`${e.name}, ${a.component}`),ep(ZM);let o=B(`header`,`calm-panel-header`),s=B(`span`,`calm-panel-title`,`${KM[FM(e)]} ${e.name} ${BM(e,a.component)}`);s.tabIndex=-1,o.append(s,MN(`Terminal`,`calm-link`,()=>iP(e.id))),o.append(MN(`Close`,`calm-link`,DN));let c=B(`div`,`calm-panel-body`),l=B(`div`,`calm-actions`),u=B(`span`,`calm-status`,AN(e.id,kN(e.pendingPromptDetail)));u.setAttribute(`role`,`status`);let d=(e,t)=>{let n=MN(e,`calm-primary`,()=>{if(!n.disabled){if(t()===!1){u.textContent=hN;return}n.disabled=!0,u.textContent=`Action sent.`}});rN=n,l.append(n)};if(a.component===`permission`){c.append(B(`div`,`calm-tool-name`,e.pendingPromptDetail?.toolName??``),B(`pre`,`calm-summary`,e.pendingPromptDetail?.summary??``)),a.canApprove||c.append(B(`p`,`calm-caption`,`Review the full request in the terminal.`));let n=()=>VM(t.currentState,t.pendingPromptKind,t.pendingPromptDetail,e.pendingPromptDetail),r=Rae(e.agent),i=t=>ON(e.id,t,kN(e.pendingPromptDetail));if(a.canApprove&&r){d(`Approve`,()=>n()?(wA(t,e.id),r.every(e=>vA(t,e.data))):!1);let a=UN(`or tell it what to do instead`,`Or tell it what to do instead`,r=>{let a=zae(e.agent,r.value);if(!a){i(hN);return}if(!n()){i(`The prompt changed. Open Terminal to continue.`);return}if(wA(t,e.id),!a.dismissPrompt.every(e=>vA(t,e.data))){i(hN);return}r.disabled=!0,rN&&(rN.disabled=!0),i(`Sending instruction...`),HN(e.id,t,a.instruct,Date.now(),i)});l.append(a)}}if(a.component===`question`&&WN(e,t,c,l),a.component===`plan`){let n=pj(t.planReviewState),r=n?.openRevision?.revision,a=n?.revisions.find(e=>e.revision===r)?.title;c.append(B(`p`,`calm-summary`,a||`Plan ready for review`)),n&&r&&d(`Approve plan`,()=>{let n=pj(t.planReviewState);return n?.openRevision?z({type:`plan-decision`,id:e.id,agentId:n.agentId,revision:n.openRevision.revision,decision:`approve`})?(dN.push({id:e.id,kind:`plan`}),!0):!1:(i.openPlan(e.id),!0)}),(!n||!r)&&d(`Open plan`,()=>(i.openPlan(e.id),!0)),l.append(MN(`Open plan`,`calm-link`,()=>i.openPlan(e.id)))}if(a.component===`failure`){c.append(B(`p`,`calm-summary`,`Exited with a failure`));let n=B(`div`,`calm-trace`);c.append(n),FN(e.id,n),d(`Resume`,()=>z(np(`restart`,t.currentState,e.id)))}if(a.component===`terminal`&&FN(e.id,c),WM(e)&&GN(e,t,l),a.component===`review`){let n=B(`div`,`calm-agent-message`),r=B(`div`,`calm-diff`,`Loading files...`);c.append(n,r),FN(e.id,n);let a=z({type:`request-session-diff`,id:e.id});a&&dN.push({id:e.id,kind:`diff`}),a||(r.textContent=`Diff unavailable. Open review to continue.`),d(`Open review`,()=>(i.openTerminal(e.id),!0)),UM(e)&&GN(e,t,l)}l.append(u),ZM.append(o,c,l),r.classList.add(`calm-has-panel`),r.append(JN()),r.append(ZM),XM&&(XM.inert=!0),s.focus(),TN()}function qN(e){if(!PN(e.id,[`diff`])||!YM||tN!==`review`||eN!==e.id||!ZM)return;let t=ZM.querySelector(`.calm-diff`);if(!t)return;let n=EA(`${e.committed.diff}\n${e.uncommitted.diff}`),r=DA(n);if(!n.length){t.replaceChildren();return}t.replaceChildren(B(`p`,`calm-summary`,`${r.files} files / +${r.added} -${r.removed}`),...n.map(e=>B(`div`,`calm-file`,`${e.path} +${e.added} -${e.removed}`)))}function JN(){return QM=B(`div`,`calm-sheet-scrim`),QM.setAttribute(`aria-hidden`,`true`),QM.addEventListener(`click`,DN),QM}function YN(e){let t=Jae(e),n=B(`header`,`calm-header`);for(let e of[`now`,`next`,`later`,`ready`,`working`]){let r=B(`span`,`calm-count`,`${KM[e]} ${t[e]} ${e}`);r.dataset.tier=e,n.append(r)}return n}function XN(e){return e.kind===`phone`?vN:yN}function ZN(e,t){let n=XN(t),r=B(`div`,`calm-rings`),i=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);i.setAttribute(`viewBox`,`0 0 100 100`),i.setAttribute(`aria-hidden`,`true`);for(let[e,t]of[[`now`,cj],[`next`,lj],[`later`,uj]]){let a=document.createElementNS(i.namespaceURI,`circle`);for(let[r,i]of Object.entries({cx:`50`,cy:`50`,r:String(t*n),"data-tier":e}))a.setAttribute(r,i);i.append(a);let o=B(`span`,`calm-ring-label`,e.toUpperCase());o.style.top=`${50-t*n+2}%`,r.append(o)}r.prepend(i);let a=new Map(e.map(e=>[e.id,e])),o=t.kind===`desktop`&&cie(t.root.clientWidth);for(let t of sie(e.map(e=>({id:e.id,tier:FM(e)})))){let e=a.get(t.id);if(!e)continue;let i=MN(``,`calm-light`,()=>KN(e));if(i.dataset.tier=t.tier,i.dataset.sessionId=e.id,i.setAttribute(`aria-label`,`${e.name}, ${t.tier}`),i.title=e.name,i.style.left=`${50+Math.cos(t.angle)*t.radius*n}%`,i.dataset.labelSide=Math.cos(t.angle)<0?`left`:`right`,i.style.top=`${50+Math.sin(t.angle)*t.radius*n}%`,i.append(B(`span`,`calm-light-dot`)),o){let t=B(`span`,`calm-light-label`,e.name);t.append(B(`span`,`calm-light-context`,BM(e,zM(e).component))),i.append(t)}r.append(i)}return r}function QN(e,t){let n=B(`div`,`calm-now-list`);n.setAttribute(`aria-label`,`NOW sessions`);for(let r of IM(e).filter(e=>FM(e)===`now`))n.append(t(r));return n}function $N(e){return MN(`${KM.now} ${e.name}`,`calm-now-row`,()=>KN(e))}function eP(e){return RM(Date.now()-e)}function tP(e){let t=BM(e,zM(e).component),n=MN(``,`calm-now-row`,()=>KN(e));n.setAttribute(`aria-label`,`${e.name}, ${t}`);let r=B(`span`,`calm-now-glyph`,KM.now);r.setAttribute(`aria-hidden`,`true`);let i=B(`span`,`calm-now-details`);i.append(B(`span`,`calm-now-name`,e.name),B(`span`,`calm-now-context`,t));let a=B(`span`,`calm-now-wait`);return a.setAttribute(`aria-hidden`,`true`),typeof e.stateSince==`number`&&(a.dataset.stateSince=String(e.stateSince),a.textContent=eP(e.stateSince)),n.append(r,i,a),n}function nP(){if(XM&&YM?.kind===`phone`)for(let e of XM.querySelectorAll(`.calm-now-wait[data-state-since]`))e.textContent=eP(Number(e.dataset.stateSince))}function rP(){if(uP())return;let e=SN();jN();let t=YM;if(!t||t.kind===`desktop`&&Uf())return;let n=B(`div`,`calm-home`);n.append(ZN(e,t)),n.append(QN(e,t.kind===`phone`?tP:$N));let r=B(`footer`,`calm-footer`,bN[t.kind]),i=B(`div`,`calm-field`);i.append(YN(e),n,r);let a=document.activeElement instanceof HTMLElement?document.activeElement.dataset.sessionId:null;if(XM?.remove(),XM=i,XM.inert=ZM!==null,t.root.prepend(XM),a&&!ZM&&CN(a)?.focus(),!eN)return;let o=e.find(e=>e.id===eN);if(!o){EN();return}let s=H.get(eN);JSON.stringify([o,s?.planReviewState])!==nN&&KN(o)}function iP(e){let t=YM;t&&(t.navigation.openTerminal(e),t.kind===`desktop`&&If.snapshot().focusedSessionId===e&&(iN=e))}function aP(e){KN(e),uN=CN(e.id)}function oP(e){if(JM(),!xN())return!1;let t=SN().find(t=>t.id===e);return t?(aP(t),!0):!1}function sP(){return!xN()||!ZM||!eN?!1:(iP(eN),!0)}function cP(){if(!xN())return!1;let e=SN(),t=Wae(e,eN??oN),n=e.find(e=>e.id===t);return n?(oN=n.id,aP(n),!0):!1}function lP(e){let t=Gae(e,iN,SN());return t?(iN=null,oP(t),!0):!1}function uP(){if(!aN)return!1;let e=H.get(aN.sessionId),t=e?{state:e.currentState,stateSince:e.stateSince,pendingPromptSummary:e.pendingPromptDetail?.summary}:null,n=Kae(aN,t,Date.now(),aN.hasOtherInputArrived);if(n===`keep`)return!1;let r=aN.sessionId;return aN=null,n===`cancel`||Uf()?!1:lP(r)}function dP(e){let t=H.get(e);t&&!Uf()&&e===iN&&(aN={sessionId:e,armedAtMs:Date.now(),armedStateSince:t.stateSince,armedPromptSummary:t.pendingPromptDetail?.summary,hasOtherInputArrived:!1})}function fP(e,t){if(t){dP(e);return}aN?.sessionId===e&&(aN.hasOtherInputArrived=!0,uP())}function pP(){iN=null,aN=null}function mP(){sN&&!sN.card.hidden&&(sN.wait.textContent=lN===null?``:`waiting ${RM(Date.now()-lN)}`)}function hP(e){let t=B(`div`,`focus-now-peek`);t.hidden=!0;let n=B(`span`,`focus-now-peek-details`);n.id=`focus-now-peek-details`;let r=B(`span`,`focus-now-peek-glyph`,KM.now);r.setAttribute(`aria-hidden`,`true`);let i=B(`span`,`focus-now-peek-name`),a=B(`span`,`focus-now-peek-context`),o=B(`span`,`focus-now-peek-wait`);n.append(r,i,a,o);let s=MN(`Open in Calm`,`focus-now-peek-open`,()=>{cN&&oP(cN)});s.setAttribute(`aria-describedby`,n.id),t.append(n,s),e.append(t),sN={card:t,name:i,context:a,wait:o},Pp(mP)}function gP(e,t){if(!sN)return;let n=e?LM(SN(),t):null;sN.card.hidden=!n,cN=n?.id??null,lN=n?.stateSince??null,n&&(sN.name.textContent=n.name,sN.context.textContent=BM(n,zM(n).component),mP())}function _P(){return[...document.querySelectorAll(`[role="dialog"], .dialog-overlay`)].some(e=>e!==ZM&&e.getClientRects().length>0)}function vP(e,{openCalm:t,...n}){qM={kind:`desktop`,root:e,navigation:n},JM=t,new ResizeObserver(()=>rP()).observe(e),Une(fP),Pp(nP),If.subscribe((e,t)=>{let n=t.includes(`activeView`)&&e.activeView!==`focus`,r=t.includes(`focusedSessionId`)&&e.focusedSessionId!==aN?.sessionId;(n||r)&&(aN=null),t.includes(`focusedSessionId`)&&e.focusedSessionId!==iN&&(iN=null)}),document.addEventListener(`keydown`,e=>{xN()&&ZM&&!e.isComposing&&e.key===`Escape`&&(e.target===document.body||e.target instanceof Node&&ZM.contains(e.target))&&!_P()&&(e.preventDefault(),DN())})}function yP(){qM&&YM?.kind!==`phone`&&(YM=qM,rP())}function bP(){YM?.kind===`desktop`&&(EN(),YM=null)}function xP(e,t){(YM?.kind!==`phone`||YM.root!==e)&&(EN(),YM={kind:`phone`,root:e,navigation:t}),rP()}function SP(){YM?.kind===`phone`&&ZM&&DN()}function CP(){YM?.kind===`phone`&&(EN(),YM=null)}function wP(e){return e===`remote`?`remote`:`local`}function TP(e,t){return wP(t)===`local`||e!==`shutdown`}var EP=Object.freeze({setTimeoutFn:(e,t)=>setTimeout(e,t),clearTimeoutFn:e=>clearTimeout(e),setIntervalFn:(e,t)=>setInterval(e,t),clearIntervalFn:e=>clearInterval(e)});function DP(e){return typeof e!=`object`||!e||!(`unref`in e)||typeof e.unref!=`function`||e.unref(),e}function OP({mode:e,delayMs:t,run:n,setTimeoutFn:r=EP.setTimeoutFn,clearTimeoutFn:i=EP.clearTimeoutFn,unref:a=!0}){let o=null;function s(){o&&=(i(o),null)}function c(){e===`leading`&&o||(s(),o=r(()=>{o=null,n()},t),a&&DP(o))}return{schedule:c,cancel:s,get isArmed(){return o!==null}}}function kP(){return If.snapshot().borrowedCardId}function AP(e,t,n,{className:r}={}){if(!e?.card||!n)return;let i=kP();i&&i!==t&&jP();let a=e.card;a._cardHostClass&&a._cardHostClass!==r&&a.classList.remove(a._cardHostClass),a._cardHostClass=r||``,r&&a.classList.add(r),Df(a,n),If.dispatch(`borrowCard`,t),e._ensureTerminalReady?.(),e._setBorrowed?.(!0),e._showPreferredFace?.()}function jP(){let e=kP();if(If.dispatch(`borrowCard`,null),!e)return null;let t=H.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,Of(n,Jf),e):e}var MP=/^\s*at .+:\d+:\d+\)?$|^[^@\s]*@.+:\d+:\d+$/;function NP(e){let t=e.stack??``,n=String(e);return(t.startsWith(n)?t.slice(n.length):t).split(`
135
- `).filter(e=>MP.test(e)).join(`
136
- `)}function PP(e){return e==null?null:e instanceof Error?{name:(e.name||`Error`).slice(0,128),stack:NP(e).slice(0,Rd)}:{name:`NonError`,stack:``}}function FP(e){let t=new Set;return n=>{let r=PP(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 IP=`<h2 class="dialog-title" id="add-session-title">Add Session</h2>
137
- <fieldset class="dialog-mode-controls" aria-label="Session kind">
138
- <button type="button" class="dialog-mode-button" id="add-session-single-mode" aria-pressed="true">Single repo</button>
139
- <button type="button" class="dialog-mode-button" id="add-session-workspace-mode" aria-pressed="false">Workspace</button>
140
- </fieldset>
141
- <label class="dialog-label" id="add-session-picker-label">
142
- Pick a project:
143
- <select class="dialog-input project-picker" id="add-session-picker">
144
- <option value="" disabled selected>Scanning...</option>
145
- </select>
146
- </label>
147
- <fieldset class="dialog-workspace-list" id="add-session-workspace-list" aria-label="Workspace repositories" hidden></fieldset>
148
- <label class="dialog-label" id="add-session-agent-label" hidden>
149
- Agent
150
- <select class="dialog-input" id="add-session-agent"></select>
151
- </label>
152
- <button type="button" class="dialog-advanced-toggle" id="add-session-advanced-toggle">Advanced options</button>
153
- <div class="dialog-advanced-panel" id="add-session-advanced" hidden>
154
- <label class="dialog-label">
155
- Name
156
- <input type="text" class="dialog-input" id="add-session-name" placeholder="my-project" autocomplete="off" spellcheck="false">
157
- </label>
158
- <label class="dialog-label" id="add-session-path-label">
159
- Path
160
- <input type="text" class="dialog-input" id="add-session-path" placeholder="C:\\Users\\...\\my-project" autocomplete="off" spellcheck="false">
161
- </label>
162
- </div>
163
- <label class="dialog-label dialog-checkbox-label" id="add-session-skip-perms-label">
164
- <input type="checkbox" class="dialog-checkbox" id="add-session-skip-perms">
165
- <span>Skip permission prompts</span>
166
- <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>
167
- </label>
168
- <div class="dialog-error" id="add-session-error"></div>
169
- <div class="dialog-actions">
170
- <button type="button" class="btn-dialog btn-dialog-cancel" id="add-session-cancel">Cancel</button>
171
- <button type="button" class="btn-dialog btn-dialog-confirm" id="add-session-confirm">Add</button>
172
- </div>
173
- `,LP=`claude-code`,RP=Object.freeze({"claude-code":``,codex:`Codex`,grok:`Grok`});function zP(e){if(typeof e!=`string`)return``;let t=e.trim();return!t||t===`claude-code`?``:RP[t]||t}function BP(e,{defaultId:t=LP}={}){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 VP=`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 HP(e){let t=typeof e==`object`&&e?e:null;return t===null||!Array.isArray(t.agents)||t.error||BP(t.agents).options.length>0?{canSpawn:!0,guidance:``}:{canSpawn:!1,guidance:VP}}function UP(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 WP(e,t){let n=0;for(let r of t)UP(r,e)&&n++;return n}function GP(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 KP(){let e=[];for(let[,t]of H)e.push(t.card.dataset.session??``);return e}function qP(e){return WP(e,KP())}function JP(e){return GP(e??``,KP())}function YP(e){return hp(Number(e)||0,{rounding:`round`,wording:`compact`,suffix:``,justNowBelowSeconds:0})}function XP(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?`never`:`${YP(Date.now()-e)} ago`}var ZP=e=>`polled ${XP(e)}`;function QP(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=ZP){let a={el:e,ts:n,format:r};i(a),t.push(a)},onTick(e){n.push(e)},reset(){t=[],n=[]},ensure(){r||=Pp(a)}}}function $P(e,{value:t,disabled:n=!1,selected:r=!1}={}){let i=B(`option`,null,e);return t!=null&&(i.value=t),n&&(i.disabled=!0),r&&(i.selected=!0),i}function eF(e){return typeof e!=`object`||!e?!1:`skipPermissionsByDefault`in e&&e.skipPermissionsByDefault===!0}function tF(){let{dialog:e,close:t}=Xf();e.innerHTML=IP,Zf(e,`add-session-title`);let n=V(e,`#add-session-picker`,`select`),r=gf(e,`#add-session-picker-label`),i=gf(e,`#add-session-workspace-list`),a=V(e,`#add-session-single-mode`,`button`),o=V(e,`#add-session-workspace-mode`,`button`),s=gf(e,`#add-session-agent-label`),c=V(e,`#add-session-agent`,`select`),l=V(e,`#add-session-advanced-toggle`,`button`),u=gf(e,`#add-session-advanced`),d=V(e,`#add-session-name`,`input`),f=V(e,`#add-session-path`,`input`),p=gf(e,`#add-session-path-label`),m=V(e,`#add-session-skip-perms`,`input`),h=gf(e,`#add-session-error`),g=V(e,`#add-session-cancel`,`button`),_=V(e,`#add-session-confirm`,`button`),v=!1;function y(e){v=e,a.setAttribute(`aria-pressed`,String(!e)),o.setAttribute(`aria-pressed`,String(e)),r.hidden=e,i.hidden=!e,l.hidden=e,l.setAttribute(`aria-expanded`,String(e)),u.hidden=!e,p.hidden=e,e&&requestAnimationFrame(()=>d.focus())}a.addEventListener(`click`,()=>y(!1)),o.addEventListener(`click`,()=>y(!0)),l.setAttribute(`aria-expanded`,`false`),l.addEventListener(`click`,()=>{let e=u.hidden;u.hidden=!e,l.setAttribute(`aria-expanded`,String(e)),e&&requestAnimationFrame(()=>d.focus())}),af(`scan-repo-roots`,{}).then(e=>{n.textContent=``,n.appendChild($P(`-- 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=B(`optgroup`);r.label=e.root;for(let n of e.projects){let e=qP(n.name),a=e>0?`${n.name} (${e} open)`:n.name;r.appendChild($P(a,{value:JSON.stringify({name:n.name,path:n.path})}));let o=B(`label`,`dialog-checkbox-label`),s=B(`input`);s.type=`checkbox`,s.className=`dialog-checkbox`,s.value=n.path,o.append(s,B(`span`,null,n.name)),i.appendChild(o),t=!0}n.appendChild(r)}t||(n.textContent=``,n.appendChild($P(`No projects found (configure repo roots in Settings)`,{disabled:!0,selected:!0})),i.textContent=`No projects found (configure repo roots in Settings).`)}).catch(()=>{n.textContent=``,n.appendChild($P(`Scan failed`,{disabled:!0,selected:!0})),i.textContent=`Repository scan failed.`}),n.addEventListener(`change`,()=>{try{let e=JSON.parse(n.value);d.value=JP(e.name),f.value=e.path}catch{}});let b=LP,ee=!1;function te(e){ee=!0,_.disabled=!0;let t=B(`p`,`dialog-hint dialog-hint-warning`,e);t.id=`add-session-agent-guidance`,t.setAttribute(`role`,`status`),h.before(t)}af(`list-agents`,{}).then(e=>{let t=HP(e);t.canSpawn||te(t.guidance);let n=BP(e.type===`agents-listed`?e.agents:[]);if(b=n.selectedId,n.show){c.textContent=``;for(let e of n.options)c.appendChild($P(e.label,{value:e.id,selected:e.id===n.selectedId}));s.hidden=!1}}).catch(()=>{}),c.addEventListener(`change`,()=>{b=c.value});let ne=!1;m.addEventListener(`change`,()=>{ne=!0}),af(`get-settings`,{}).then(e=>{ne||(m.checked=eF(e.settings))}).catch(()=>{}),d.addEventListener(`input`,()=>{n.selectedIndex=0}),f.addEventListener(`input`,()=>{n.selectedIndex=0});function re(){if(ee)return;let e=d.value.trim(),n=f.value.trim();if(v){let n=[...i.querySelectorAll(`input:checked`)].map(e=>e.value);if(!e||n.length<2){h.textContent=`Enter a name and select at least two repositories.`;return}let r={type:`add-session`,name:JP(e),path:n[0],repos:n,dangerouslySkipPermissions:m.checked};b&&b!==`claude-code`&&(r.agent=b),z(r),t();return}if(!e||!n){h.textContent=`Both fields are required. Select a project or use Advanced options.`;return}let r={type:`add-session`,name:JP(e),path:n,dangerouslySkipPermissions:m.checked};b&&b!==`claude-code`&&(r.agent=b),z(r),t()}g.addEventListener(`click`,t),_.addEventListener(`click`,re),d.addEventListener(`keydown`,e=>{e.key===`Enter`&&(v&&re(),v||f.focus())}),f.addEventListener(`keydown`,e=>{e.key===`Enter`&&re()}),requestAnimationFrame(()=>n.focus())}function nF({issueId:e,issueTitle:t,format:n,content:r,message:i,error:a}){let{dialog:o,close:s,actions:c,btnCancel:l}=Qf({title:`Investigation report`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),u=B(`div`,`dialog-report-meta`,t||e||``),d=null;if(n===`html`&&!a&&!i){let e=B(`iframe`,`dialog-report-frame`);e.setAttribute(`sandbox`,``),e.srcdoc=r||``,d=e}d||=B(`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 rF({issueTitle:e,projectLabel:t,onOpenReport:n}){let{dialog:r,close:i,actions:a,btnCancel:o}=Qf({title:`Investigation`,dialogClass:`dialog dialog-report`,cancelLabel:`Close`}),s=B(`div`,`dialog-report-meta`,t?`${t}: ${e}`:e),c=B(`p`,`dialog-trail-status`),l=B(`p`,`dialog-trail-summary`),u=B(`ol`,`dialog-trail-steps`),d=B(`p`,`dialog-trail-empty`,`No tool calls yet; the session is reading the issue.`),f=B(`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 p=null,m=``;function h(e){let t=u.scrollHeight-u.scrollTop-u.clientHeight<24,n=cre(e);if(m!==n){u.textContent=``;for(let t of e.steps){let n=B(`li`,`dialog-trail-step`);n.append(B(`span`,`dialog-trail-at`,RA(e.startedAt,t.at)),B(`span`,`dialog-trail-tool`,t.tool),B(`span`,`dialog-trail-detail`,t.detail)),u.append(n)}m=n}d.hidden=e.steps.length>0||!e.inFlight,u.hidden=e.steps.length===0,t&&(u.scrollTop=u.scrollHeight)}function g(e){c.textContent=lre(e,XP(e.startedAt))}function _(){p&&(g(p),c.dataset.tone=p.inFlight?`live`:`done`,l.textContent=p.summaryLine,l.hidden=!p.summaryLine,f.hidden=p.inFlight||!p.verdict,h(p))}let v=Pp(()=>{if(!r.isConnected){v();return}p?.inFlight&&g(p)});return{update(e){p=e,_()},isOpen:()=>r.isConnected,close:()=>{v(),i()}}}var iF=Object.freeze({idle:`#c084fc`,complete:`#4ade80`,waiting:`#fbbf24`});function aF(e){let t=Array.isArray(e)?e:[],n=!1;for(let e of t){let t=hj(e||{},`favicon`);if(t===`now`)return`waiting`;t===`later`&&(n=!0)}return n?`complete`:`idle`}function oF(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="${iF[e]||iF.idle}"/>${e===`complete`?`<circle cx="25" cy="7" r="3" fill="#4ade80"/>`:``}</svg>`}function sF(){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 cF=sF(),lF=`idle`;function uF(e){let t=aF([...e.values()].map(({currentState:e})=>({state:e})));t!==lF&&(lF=t,cF.href=`data:image/svg+xml,${encodeURIComponent(oF(t))}`)}function dF(e,t){return Number.isFinite(e)?Math.round(Math.min(t.maxPx,Math.max(t.minPx,e))):null}function fF(e,t){return e===`ArrowRight`?t:e===`ArrowLeft`?-t:null}function pF({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=dF(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=fF(e.key,a);if(n===null)return;e.preventDefault();let r=c(t.getBoundingClientRect().width+n);r!==null&&s(r)})}var mF=new Set(pk());function hF(){mk([...mF])}function gF(e){if(!e)return;let t=String(e);mF.has(t)||(mF.add(t),hF())}function _F(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),gF(i)}return[...mF].filter(e=>!n.has(e))}function vF(e){return!e||!mF.delete(String(e))?!1:(hF(),!0)}function yF(e,t=`explicit-state`){let n=t===`dormant-fallback`?e||F.DORMANT:e;return n===F.DORMANT?`start-session`:n===F.COMPLETE?`dismiss`:null}function bF({previousState:e,nextState:t,isPhoneLayout:n,isDocumentVisible:r,isDocumentFocused:i,isActiveViewer:a,hasFocusInsideTerminal:o}){return t!==F.COMPLETE||!e||e===F.COMPLETE||!r?!1:n?a:i&&o}function xF(e,t){if(!e)return null;let n=t.get(e);return!n||(n.currentState||F.DORMANT)===F.DORMANT?null:e}function SF(){return If.snapshot().selectedSessionId}function CF(e){If.dispatch(`selectSession`,e)}function wF(e){return If.subscribe((t,n)=>{n.includes(`selectedSessionId`)&&e(t.selectedSessionId)})}function TF(e,t=`explicit-state`){let n=H.get(e);if(!n)return null;let r=yF(n.currentState,t);return r&&z({type:r,id:e}),n}function EF(e,{rememberFocus:t=!0}={}){CF(e),t&&Ak(e)}function DF(){return xF(kk(),H)}function OF(e=Gf){return uie(H,e)}function kF(e,t){e&&z({type:`add-session`,name:JP(t),path:e})}function AF(e,t){let n=H.get(e);if(!n)return;let r=t||n.card?.dataset.merge||`none`;if(r!==`pending-review`&&r!==`parked`){z({type:`remove-session`,id:e});return}$f({title:`Remove Session`,message:`"${Gf(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:()=>z({type:`remove-session`,id:e})})}var jF=Object.freeze({[F.IDLE]:`compaction_restore_idle`,[F.COMPLETE]:`compaction_restore_complete`,[F.WAITING]:`compaction_restore_waiting`});function MF(e){return Object.values(jF).some(t=>t===e)}function NF(e){return String(e).replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`).replace(/"/g,`&quot;`).replace(/'/g,`&#39;`)}function PF(e){if(!e)return 0;let t=0;return e.listenerMismatch&&t++,e.orphanPty&&t++,e.destroyedReachable&&t++,t}function FF(e,t){return e||PF(t)>0}var IF={DORMANT:`DOR`,INITIALIZING:`INI`,STARTING:`STA`,RUNNING:`RUN`,WAITING:`WAI`,IDLE:`IDL`,COMPLETE:`CMP`,DONE:`DON`,FAILED:`FAI`},LF=null,RF=!1,zF=!1,BF=null,VF=null,HF=null,UF=`—`;function WF(e){return e==null?UF:vp(e,`GB`)}function GF(e){return e==null?UF:gp(e,{smallestUnit:`s`,dropsZeroRemainder:!1})}function KF(){let e=B(`div`,`health-footer`);e.dataset.expanded=`false`,e.hidden=!0;let t=B(`button`,`health-summary`);t.type=`button`,t.setAttribute(`aria-expanded`,`false`),t.setAttribute(`aria-controls`,`health-detail`);let n=B(`div`,`health-detail`);return n.id=`health-detail`,n.hidden=!0,t.addEventListener(`click`,()=>{zF=!zF,e.dataset.expanded=String(zF),t.setAttribute(`aria-expanded`,String(zF)),n.hidden=!zF,zF&&(z({type:`request-health-snapshot`}),JF())}),e.append(t,n),BF=e,VF=t,HF=n,e}function qF(){if(!VF||!LF)return;let e=LF,t=PF(e.anomalies);VF.innerHTML=`
174
- <span class="health-chev" aria-hidden="true">${zF?`▼`:`▲`}</span>
175
- <span class="health-stat" title="V8 heap used"><span class="health-stat-label">Heap</span> ${WF(e.process.heapUsed)}</span>
176
- <span class="health-stat" title="Resident set size (process memory)"><span class="health-stat-label">RSS</span> ${WF(e.process.rss)}</span>
177
- <span class="health-stat" title="External buffers (PTY data lives here)"><span class="health-stat-label">Ext</span> ${WF(e.process.external)}</span>
178
- <span class="health-stat" title="Active resources (handles + requests)"><span class="health-stat-label">Hdl</span> ${e.process.activeResources}</span>
179
- <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>
180
- <span class="health-stat" title="WebSockets: control + data"><span class="health-stat-label">WS</span> ${e.websockets.control}+${e.websockets.data}</span>
181
- <span class="health-stat" title="Server uptime"><span class="health-stat-label">Up</span> ${GF(e.uptimeSeconds)}</span>
182
- ${t>0?`<span class="health-anomaly" title="${t} anomaly type(s), expand for details">⚠ ${t}</span>`:``}
183
- `}function JF(){if(!HF||!LF)return;let e=LF,t=e.process,n=e.websockets,r=e.sessions,i=e.anomalies,a=``;if(PF(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=`
184
- <div class="health-section health-section-warn">
185
- <div class="health-section-title">⚠ Anomalies</div>
186
- ${e.map(e=>`<div class="health-row">${e}</div>`).join(``)}
187
- </div>
188
- `}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`
189
- <tr>
190
- <td>${NF(e.name)}</td>
191
- <td class="health-mono">${IF[e.state]||e.state}</td>
192
- <td class="health-mono">${e.hasPty?e.ptyPid:UF}</td>
193
- <td class="health-mono">${WF(e.outputBufferBytes)}</td>
194
- <td class="health-mono">${e.outputBufferEntries}</td>
195
- <td class="health-mono">${e.dataListenerCount}</td>
196
- <td class="health-mono health-dim">${n}</td>
197
- <td class="health-mono health-dim">${t.join(` `)||``}</td>
198
- </tr>
199
- `}).join(``);HF.innerHTML=`
200
- ${a}
201
- <div class="health-section">
202
- <div class="health-section-title">Process</div>
203
- <div class="health-grid">
204
- <div class="health-row"><span class="health-label">Heap used</span><span class="health-mono">${WF(t.heapUsed)}</span></div>
205
- <div class="health-row"><span class="health-label">Heap total</span><span class="health-mono">${WF(t.heapTotal)}</span></div>
206
- <div class="health-row"><span class="health-label">RSS</span><span class="health-mono">${WF(t.rss)}</span></div>
207
- <div class="health-row"><span class="health-label">External</span><span class="health-mono">${WF(t.external)}</span></div>
208
- <div class="health-row"><span class="health-label">Array buffers</span><span class="health-mono">${WF(t.arrayBuffers)}</span></div>
209
- <div class="health-row"><span class="health-label">Active resources</span><span class="health-mono">${t.activeResources}</span></div>
210
- <div class="health-row"><span class="health-label">Uptime</span><span class="health-mono">${GF(e.uptimeSeconds)}</span></div>
211
- </div>
212
- </div>
213
-
214
- <div class="health-section">
215
- <div class="health-section-title">WebSockets</div>
216
- <div class="health-grid">
217
- <div class="health-row"><span class="health-label">Control clients</span><span class="health-mono">${n.control}</span></div>
218
- <div class="health-row"><span class="health-label">Data clients</span><span class="health-mono">${n.data}</span></div>
219
- <div class="health-row"><span class="health-label">Tracked per session</span><span class="health-mono">${n.dataPerSessionTotal}</span></div>
220
- </div>
221
- </div>
222
-
223
- <div class="health-section">
224
- <div class="health-section-title">Sessions (${r.total} total · ${r.alivePty} alive PTY · ${r.sleeping} sleeping)</div>
225
- <div class="health-row health-dim">Listeners ${r.totalDataListeners} · Output buffer ${WF(r.totalOutputBufferBytes)}</div>
226
- <table class="health-table">
227
- <thead>
228
- <tr>
229
- <th>Name</th><th>State</th><th>PID</th><th>Buffer</th><th>Entries</th><th>Listeners</th><th>Timers</th><th>Flags</th>
230
- </tr>
231
- </thead>
232
- <tbody>${o||`<tr><td colspan="8" class="health-dim">No sessions</td></tr>`}</tbody>
233
- </table>
234
- </div>
235
- `}function YF(){if(!BF)return;let e=FF(RF,LF?.anomalies),t=BF.hidden;BF.hidden=!e,e&&t&&LF&&(qF(),zF&&JF())}function XF(e){RF=e,YF()}function ZF(e){if(BF)return BF;let t=KF();return e.appendChild(t),YF(),t}function QF(e){LF=e,YF(),BF&&!BF.hidden&&(qF(),zF&&JF())}function $F(e){return e.replace(/\r\n?/g,`
236
- `).split(`
237
- `)}function eI(e){return{kind:`unchanged`,text:e}}function tI(e){return{kind:`skipped`,text:`${e} unchanged lines`}}function nI(e,t){return e.length<=7?e.map(t):[...e.slice(0,3).map(t),tI(e.length-6),...e.slice(e.length-3).map(t)]}function rI(e){return e}function iI(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(...nI(e.slice(n,r),rI)),n=r}return t}function aI(e,t){let n=Math.min(e.length,t.length),r=0;for(;r<n&&e[r]===t[r];)r++;return r}function oI(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 sI(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;if(e[o]===t[n]){a[r]=a[r+i+1]+1;continue}a[r]=Math.max(a[r+i],a[r+1])}let o=[],s=0,c=0;for(;s<n&&c<r;){if(e[s]===t[c]){o.push(eI(e[s])),s++,c++;continue}if(a[(s+1)*i+c]>=a[s*i+c+1]){o.push({kind:`removed`,text:e[s]}),s++;continue}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 cI(e,t){let n=$F(e),r=$F(t),i=aI(n,r),a=oI(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:iI([...nI(n.slice(0,i),eI),...sI(o,s),...nI(n.slice(n.length-a),eI)]),isTooLarge:!1}}var lI=2,uI=8,dI=/^ {0,3}(`{3,}|~{3,})([^`]*)$/,fI=/^(\s*)(?:([-+*])|(\d+)[.)])\s+(.+)$/,pI=/^ {0,3}(?:(?:\*\s*){3,}|(?:-\s*){3,}|(?:_\s*){3,})$/,mI=/^:?-{3,}:?$/,hI=/^[A-Za-z0-9_+#.-]{1,32}$/;function gI(e){return rte(e,{overlongLine:`reject`})}function _I(e){let t=e.trim().split(/\s+/)[0]??``;return hI.test(t)?t:``}function vI(e,t){if(!t)return;let n=e.at(-1);if(n?.type===`text`){n.text+=t;return}e.push({type:`text`,text:t})}function yI(e,t){return e.startsWith(`**`,t)?`**`:e.startsWith(`__`,t)?`__`:null}function bI(e,t){return e.startsWith(`*`,t)?`*`:e.startsWith(`_`,t)?`_`:null}function xI(e,t,n){let r=e.indexOf(t,n);return r>n?r:-1}function SI(e,t){let n=e.indexOf(t);return function(r){return n===-1?-1:(n>=r||(n=e.indexOf(t,r)),n)}}function CI(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>lI)return-1}return-1}function wI(e,t,n){if(e[t]!==`[`)return null;let r=n(t+1);if(r<=t+1||e[r+1]!==`(`)return null;let i=CI(e,r+2);return i===-1?null:{label:e.slice(t+1,r),target:e.slice(r+2,i),end:i+1}}function TI(e){let t=[],n=SI(e,`]`),r=0;for(;r<e.length;){let i=wI(e,r,n);if(i){let e=pS(i.target.trim());e&&t.push({type:`link`,href:e,children:TI(i.label)}),e||vI(t,i.label),r=i.end;continue}if(e.startsWith("`",r)){let n=xI(e,"`",r+1);if(n!==-1){t.push({type:`code`,text:e.slice(r+1,n)}),r=n+1;continue}}let a=yI(e,r);if(a){let n=xI(e,a,r+a.length);if(n!==-1){t.push({type:`strong`,children:TI(e.slice(r+a.length,n))}),r=n+a.length;continue}}let o=bI(e,r);if(o){let n=xI(e,o,r+1);if(n!==-1){t.push({type:`emphasis`,children:TI(e.slice(r+1,n))}),r=n+1;continue}}vI(t,e[r]),r++}return t}function EI(e){return e.map(e=>e.type===`text`||e.type===`code`?e.text:EI(e.children)).join(``)}var DI=`plan-h-`;function OI(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),`${DI}${r===1?n:`${n}-${r}`}`}function kI(e){if(typeof e!=`string`||!e.includes(`|`))return!1;let t=AI(e);return t.length<2?!1:t.every(e=>mI.test(e))}function AI(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 jI(e){let t=fI.exec(e);return t?{indent:t[1].replace(/\t/g,` `).length,ordered:!!t[3],content:t[4]}:null}function MI(e,t,n,r){let i=jI(e[t]);if(!i)return null;let a=[],o=i.ordered,s=i.indent,c=t;for(;c<e.length;){let t=jI(e[c]);if(!t||t.indent<s)break;if(t.indent>s){if(r>=uI)break;let t=MI(e,c,n,r+1);if(!t||a.length===0)break;a.at(-1)?.children.push(t.block),c=t.next;continue}if(t.ordered!==o)break;a.push({children:[{type:`paragraph`,children:TI(t.content)}]}),c++}return{block:{type:`list`,ordered:o,items:a},next:c}}function NI(e,t){let n=e[t]??``;return n.trim()===``||gI(n)||dI.test(n)||pI.test(n)||jI(n)||/^ {0,3}>/.test(n)?!0:t+1<e.length&&n.includes(`|`)&&kI(e[t+1])}function PI(e,t,n){let r=[],i=0;for(;i<e.length;){let a=e[i];if(a.trim()===``){i++;continue}let o=dI.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:_I(o[2]),text:t.join(`
238
- `)});continue}let s=gI(a);if(s){let e=TI(s.text);r.push({type:`heading`,level:s.level,id:OI(EI(e),t),children:e}),i++;continue}if(pI.test(a)){r.push({type:`rule`}),i++;continue}if(i+1<e.length&&a.includes(`|`)&&kI(e[i+1])){let t=AI(a).map(TI),n=[];for(i+=2;i<e.length&&e[i].includes(`|`)&&e[i].trim()!==``;)n.push(AI(e[i]).map(TI)),i++;r.push({type:`table`,header:t,rows:n});continue}let c=MI(e,i,t,n);if(c){r.push(c.block),i=c.next;continue}if(n<uI&&/^ {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:PI(a,t,n+1)});continue}let l=[a.trim()];for(i++;i<e.length&&!NI(e,i);)l.push(e[i].trim()),i++;r.push({type:`paragraph`,children:TI(l.join(` `))})}return r}function FI(e){return PI(e.replace(/\r\n?/g,`
239
- `).split(`
240
- `),{slugCounts:new Map},0)}function II(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){if(t.type!==`heading`){n.blocks.push(t);continue}r(),n={heading:EI(t.children),id:t.id,level:t.level,blocks:[t]}}return r(),t}function LI(e,t){for(let n of t){if(n.type===`text`){e.append(document.createTextNode(n.text));continue}if(n.type===`code`){e.append(B(`code`,`plan-inline-code`,n.text));continue}if(n.type===`emphasis`){let t=B(`em`);LI(t,n.children),e.append(t);continue}if(n.type===`strong`){let t=B(`strong`);LI(t,n.children),e.append(t);continue}let t=B(`a`,`plan-link`);t.href=n.href,t.target=`_blank`,t.rel=`noopener noreferrer`,LI(t,n.children),e.append(t)}}function RI(e){let t=B(`li`);return zI(t,e.children),t}function zI(e,t){for(let n of t){if(n.type===`heading`){let t=B(`h${n.level}`,`plan-heading`);t.id=n.id,LI(t,n.children),e.append(t);continue}if(n.type===`paragraph`){let t=B(`p`,`plan-paragraph`);LI(t,n.children),e.append(t);continue}if(n.type===`list`){let t=n.ordered?B(`ol`,`plan-list`):B(`ul`,`plan-list`);t.append(...n.items.map(RI)),e.append(t);continue}if(n.type===`code`){let t=B(`pre`,`plan-code`),r=B(`code`,n.language?`language-${n.language}`:null,n.text);t.append(r),e.append(t);continue}if(n.type===`table`){let t=B(`div`,`plan-table-wrap`),r=B(`table`,`plan-table`),i=B(`thead`),a=B(`tr`);for(let e of n.header){let t=B(`th`);LI(t,e),a.append(t)}i.append(a);let o=B(`tbody`);for(let e of n.rows){let t=B(`tr`);for(let n of e){let e=B(`td`);LI(e,n),t.append(e)}o.append(t)}r.append(i,o),t.append(r),e.append(t);continue}if(n.type===`blockquote`){let t=B(`blockquote`,`plan-blockquote`);zI(t,n.blocks),e.append(t);continue}e.append(B(`hr`,`plan-rule`))}}function BI(e){let t=B(`div`,`plan-document`);return zI(t,e),t}function VI(e,{hasComment:t,isComposing:n,onComment:r,attachmentFor:i}){let a=B(`div`,`plan-document`),o=[];for(let s of e){let e=B(`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=B(`div`,`plan-section-head`),l=s.blocks[0],u=l?.type===`heading`;if(u&&zI(c,[l]),u||(e.id=`plan-introduction`),!t(s)&&!n(s)){let e=B(`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=B(`div`,`plan-section-body`);zI(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 HI={added:`+`,removed:`-`,unchanged:` `,skipped:` `};function UI(e){let t=B(`div`,`plan-diff`);for(let n of e.lines){let e=B(`div`,`plan-diff-line plan-diff-${n.kind}`),r=B(`span`,`plan-diff-gutter`,HI[n.kind]);r.setAttribute(`aria-hidden`,`true`),e.append(r,B(`span`,`plan-diff-text`,n.text)),t.append(e)}return t}var WI=Object.freeze([{kind:`approve`,label:`Approve`},{kind:`revise`,label:`Send feedback`},{kind:`terminal`,label:`Answer in terminal`}]);function GI(e){return e===`approve`||e===`approve-accept-edits`}function KI(e){return(e.state===`decided`||e.state===`closed`)&&GI(e.lastDecision)}function qI(e,t){let n=e.reviews.find(e=>e.agentId===t);return n!==void 0&&KI(n)}function JI(e,t){return e.reviews.find(e=>e.agentId===t)??e.reviews[0]??null}function YI(e){let t=JI(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 XI(e,t){return JI(e,t)?.openRevision?.revision??null}function ZI(e,t,n){if(n===null)return null;let r=JI(e,t)?.revisions??[],i=r.findIndex(e=>e.revision===n);return i<=0?null:r[i-1].revision}function QI(e,t){let n=t-e;return Number.isFinite(n)?hp(n,{rounding:`floor`,wording:`abbreviated`,suffix:` ago`,justNowBelowSeconds:60}):`just now`}function $I(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 eL(e,t,n){let r=$I(e,t,n),i=(e.pendingCommentCount??0)>0,a=e.hasUnsavedComment!==!0;return WI.map(({kind:e,label:t})=>({kind:e,label:t,enabled:r&&(e===`terminal`||a&&(e===`revise`?i:!i))}))}function tL(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 nL(e){let t=0;for(let n of e.comments??[])t+=n.comment.trim().length+(n.heading?.length??0);return t}function rL(e){return new TextEncoder().encode(JSON.stringify(e)).byteLength+Nd}function iL(e){let t=e.plan;if(t!==void 0&&t.length===0)return`the edited plan is empty, so nothing was sent`;if(t!==void 0&&new TextEncoder().encode(t).byteLength>524288)return`the edited plan is over the plan size cap, so nothing was sent`;let n=e.comments??[];return n.length>40?`more than 40 section comments are pending, so nothing was sent`:n.find(e=>e.comment.length>4e3||(e.heading?.length??0)>4e3)?`a section comment is over ${tl} characters, so nothing was sent`:nL(e)>1e4?`the feedback composes more than the ${Qee} characters the hook reply carries, so nothing was sent`:rL(e)>Pd?`the decision is larger than one control frame carries, so nothing was sent`:null}function aL(e){return e?`, ${e}`:``}function oL(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=tL(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 sL(e,t,n){let r=oL(e,t,n);return r?`${r}${aL(e.problem)}`:e.problem??``}function cL(e){let t=JI(e.state,e.selectedAgentId),n=YI(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:ZI(e.state,t?.agentId??null,n),status:sL(e,t,n),actions:eL(e,t,n),modes:[{kind:`read`,label:`Read`,enabled:!0},{kind:`changes`,label:`Changes`,enabled:ZI(e.state,t?.agentId??null,n)!==null&&e.isDraft!==!0},{kind:`edit`,label:`Edit`,enabled:$I(e,t,n)}]}}function lL(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 uL({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 dL=12,fL=8,pL=``,mL=48,hL=new Map;function gL(e,t){return JSON.stringify([e,t])}function _L(e){return e.id??pL}function vL(e,t){let n=hL.get(e);n||(n=new Map,hL.set(e,n));let r=gL(t.agentId,t.revision);for(n.delete(r),n.set(r,t.plan);n.size>dL;){let e=n.keys().next().value;if(typeof e!=`string`)break;n.delete(e)}}function yL(e){hL.delete(e)}function bL(e,t,n){return!e||n===null?null:hL.get(e)?.get(gL(t,n))??null}function xL(e){let t=B(`section`,`plan-face`);t.hidden=!0;let n=B(`header`,`plan-head`),r=B(`select`,`plan-heading-picker`);r.setAttribute(`aria-label`,`Plan section`);let i=B(`div`,`plan-view-panel`),a=B(`div`,`plan-sheet-head`),o=B(`button`,`plan-control plan-sheet-close`,`×`);o.type=`button`,o.setAttribute(`aria-label`,`Close`),a.append(B(`span`,null,`View`),o);let s=B(`div`,`plan-view-group plan-author-group`),c=B(`div`,`plan-tabs`);c.setAttribute(`role`,`tablist`),c.setAttribute(`aria-label`,`Plan author`),s.append(B(`span`,`plan-sheet-label`,`Author`),c);let l=B(`div`,`plan-view-group plan-revision-group`),u=B(`div`,`plan-revision-stepper`),d=B(`button`,`plan-control plan-revision-previous`,`‹`);d.type=`button`,d.setAttribute(`aria-label`,`Previous revision`);let f=B(`button`,`plan-control plan-revision-next`,`›`);f.type=`button`,f.setAttribute(`aria-label`,`Next revision`);let p=B(`span`,`plan-revision-label`),m=B(`span`,`plan-revision-age`);u.append(d,p,f,m);let h=B(`div`,`plan-revision-list`);h.setAttribute(`role`,`radiogroup`),h.setAttribute(`aria-label`,`Revision`),l.append(B(`span`,`plan-sheet-label`,`Revision`),u,h);let g=B(`div`,`plan-view-group plan-mode-group`),_=B(`div`,`plan-modes`);_.setAttribute(`role`,`radiogroup`),_.setAttribute(`aria-label`,`Show`),g.append(B(`span`,`plan-sheet-label`,`Show`),_);let v=B(`div`,`plan-head-spacer`),y=B(`div`,`plan-draft-notice`),b=B(`span`,`plan-draft-dot`);b.setAttribute(`aria-hidden`,`true`);let ee=B(`button`,`plan-control plan-draft-chip`,`Peek draft`);ee.type=`button`,y.append(b,ee),i.append(a,s,l,g,v,y);let te=B(`button`,`plan-control plan-view-button`,`View`);te.type=`button`,te.setAttribute(`aria-haspopup`,`dialog`),te.setAttribute(`aria-expanded`,`false`);let ne=B(`button`,`plan-control plan-minimize-button`,`Minimize`);ne.type=`button`,ne.addEventListener(`click`,e.showTerminal),n.append(r,i,te,ne);let re=B(`div`,`plan-sheet-backdrop`),ie=B(`div`,`plan-body-layout`),ae=B(`nav`,`plan-heading-rail`);ae.setAttribute(`aria-label`,`Plan sections`);let x=B(`article`,`plan-reading-column`);ie.append(ae,x);let oe=B(`textarea`,`plan-editor`);oe.setAttribute(`aria-label`,`Plan markdown`),oe.spellcheck=!1;let se=B(`footer`,`plan-action-bar`),ce=B(`span`,`plan-status`);ce.setAttribute(`role`,`status`);let le=B(`div`,`plan-decision-slot`),ue=B(`label`,`plan-accept-edits`),S=B(`input`,`plan-accept-edits-checkbox`);S.type=`checkbox`,ue.append(S,B(`span`,null,`Accept edits`)),le.append(ue,ce),se.append(le);let C=new Map;for(let[e,t]of[[`terminal`,`Answer in terminal`],[`revise`,`Send feedback`],[`approve`,`Approve`]]){let n=B(`button`,`plan-action`,t);n.type=`button`,n.dataset.decision=e,n.addEventListener(`click`,()=>{n.disabled||at(e)}),C.set(e,n),se.append(n)}t.append(n,ie,se,re);let w=null,de={reviews:[]},fe=null,pe=null,me=!0,he=``,ge=``,_e=``,ve=``,ye=!1,be=null,T=!1,xe=null,Se=!1,Ce=!1,we=null,Te=[],Ee=null,De=null,Oe=new Map,ke=new Map,Ae=new Map,je=[],Me=!1,Ne=null,Pe=!1;function Fe(e,t=!0){Pe=e,i.replaceChildren(...e?[a,g,l,s,y,v]:[a,s,l,g,v,y]),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))}if(i.dataset.open=String(e),re.dataset.open=String(e),te.setAttribute(`aria-expanded`,String(e)),ie.inert=e,se.inert=e,r.inert=e,te.inert=e,ne.inert=e,e){i.setAttribute(`role`,`dialog`),i.setAttribute(`aria-label`,`Plan view`),i.setAttribute(`aria-modal`,`true`),o.focus();return}i.removeAttribute(`role`),i.removeAttribute(`aria-modal`),t&&te.focus()}function Ie(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=Pe;r[i].click(),!(a&&e!==_)&&(e===_||!Pe)&&e.querySelector(`[aria-checked="true"], [aria-selected="true"]`)?.focus()})}let Le=If.subscribe((e,t)=>{t.includes(`layout`)&&Pe&&Fe(!1,!1)});e.signal?.addEventListener(`abort`,Le,{once:!0}),Ie(_),Ie(c),Ie(h),te.addEventListener(`click`,()=>Fe(!Pe)),o.addEventListener(`click`,()=>Fe(!1)),re.addEventListener(`click`,()=>Fe(!1)),i.addEventListener(`keydown`,e=>{if(!Pe)return;if(e.key===`Escape`){e.preventDefault(),e.stopPropagation(),Fe(!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);if(e.shiftKey&&document.activeElement===n){e.preventDefault(),r?.focus();return}!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())});function Re(e){x.querySelector(`#${CSS.escape(e)}`)?.scrollIntoView({behavior:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches?`instant`:`smooth`,block:`start`})}r.addEventListener(`change`,()=>Re(r.value));function ze(){Me=!1;let e=je.map(e=>x.querySelector(`#${CSS.escape(e.dataset.headingId??``)}`)).filter(e=>e!==null),t=x.getBoundingClientRect().top-x.scrollTop,n=uL({headingOffsets:e.map(e=>e.getBoundingClientRect().top-t),scrollTop:x.scrollTop,isScrolledToEnd:x.scrollTop>0&&x.scrollTop+x.clientHeight>=x.scrollHeight-2,readingLineOffset:mL}),i=n===null?null:e[n]?.id??null;for(let e of je){if(e.dataset.headingId===i){e.setAttribute(`aria-current`,`location`);continue}e.removeAttribute(`aria-current`)}i!==null&&(r.value=i)}function Be(){Me||t.hidden||je.length===0||(Me=!0,requestAnimationFrame(ze))}x.addEventListener(`scroll`,Be,{passive:!0});function Ve(){Ne=null,T=!1,Se=!1,Ce=!1,we=null}function He(t){Ee=t,e.reportProblem(t),kt()}function Ue(e){pe=e,Ee=null,Ve(),Fe(!1,Pe),kt()}function We(e){let t=de.reviews.find(e=>e.agentId===fe)?.revisions??[],n=t[t.findIndex(e=>e.revision===pe)+e];n&&Ue(n.revision)}d.addEventListener(`click`,()=>We(-1)),f.addEventListener(`click`,()=>We(1));function Ge(e,t){return`${w??``}:${e??`main`}:${t??`latest`}`}function Ke(){return Ge(fe,pe)}function qe(e,t,n){return`${e??``}:${gL(t,n??0)}`}function Je(){return qe(w,fe,pe)}function Ye(){return ke.get(Je())??null}function Xe(){return Ye()?.size??0}function Ze(){if(Ne===null)return!1;let e=ke.get(Ne.target.bucketKey)?.get(Ne.target.sectionSlot)??``;return Ne.field.value.trim()!==e}function Qe(e){let t=ke.get(e);if(!t)return[];let n=[];for(let e of Te){let r=t.get(_L(e));r&&n.push({heading:e.heading,comment:r})}return n}function $e(e,t){let n=t.trim(),r=ke.get(e.bucketKey)??new Map;ke.set(e.bucketKey,r),n.length===0&&r.delete(e.sectionSlot),n.length>0&&r.set(e.sectionSlot,n),r.size===0&&ke.delete(e.bucketKey),kt()}function et(e){if(Ce||ye)return;let t={bucketKey:Je(),sectionSlot:_L(e)},n=B(`div`,`plan-comment-composer`),r=B(`label`,`plan-comment-label`,`Comment on ${e.heading??`Introduction`}`),i=B(`textarea`,`plan-comment-input`);i.maxLength=tl,i.value=ke.get(t.bucketKey)?.get(t.sectionSlot)??``,r.append(i);let a=B(`div`,`plan-comment-actions`),o=B(`button`,`plan-control plan-comment-cancel`,`Cancel`);o.type=`button`;let s=B(`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};Ne=c,i.addEventListener(`input`,Ot),o.addEventListener(`click`,()=>{Ne===c&&(Ne=null,kt())}),s.addEventListener(`click`,()=>{Ne===c&&(Ne=null),$e(t,i.value)}),kt(),i.focus()}function tt(e){let t={bucketKey:Je(),sectionSlot:_L(e)};if(Ne?.target.bucketKey===t.bucketKey&&Ne.target.sectionSlot===t.sectionSlot)return Ne.element;let n=Ye()?.get(t.sectionSlot);if(!n)return null;let r=B(`div`,`plan-comment-card`),i=B(`div`,`plan-comment-head`),a=B(`button`,`plan-control plan-comment-edit`,`Edit`);a.type=`button`,a.addEventListener(`click`,()=>et(e));let o=B(`button`,`plan-control plan-comment-remove`,`Remove`);return o.type=`button`,o.disabled=ye,a.disabled=ye,o.addEventListener(`click`,()=>$e(t,``)),i.append(B(`span`,`plan-comment-label`,`Your comment`),a,o),r.append(i,B(`p`,`plan-comment-text`,n)),r}function nt(t,n,r={}){if(!w||n.revision===null||ye)return!1;let i=iL(r);if(i!==null)return He(i),!1;let a={agentId:n.agentId,revision:n.revision,decision:t,...r};return e.sendDecision(w,a)?(Ee=null,ye=!0,be=GI(t)?n:null,kt(),!0):!1}function rt(e){if(!T)return{};let t=oe.value;return t===bL(w,e.agentId,e.revision)?{}:{plan:t}}function it(e){let t=qe(w,e.agentId,e.revision),n=Qe(t);n.length!==0&&nt(`revise`,e,{comments:n})&&e.revision!==null&&(De={bucketKey:t,agentId:e.agentId,revision:e.revision},kt())}function at(e){let t={agentId:fe,revision:pe};if(e===`revise`){it(t);return}nt(e===`approve`&&!ue.hidden&&S.checked?`approve-accept-edits`:e,t,rt(t))}function ot(e){Ne=null,T=e===`edit`,Se=e===`changes`,T&&xe!==Je()&&(oe.value=bL(w,fe,pe)??``,xe=Je()),Ee=null,kt()}function st(e){return`${e.kind}:${Ge(e.agentId,e.revision)}`}function E(e){for(Ae.set(st(e),e);Ae.size>fL;){let e=Ae.keys().next().value;if(typeof e!=`string`)break;Ae.delete(e)}}function ct(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 lt(e){for(let[t,n]of Ae)if(ct(n,e))return Ae.delete(t),n;return null}function ut(){for(let[e,t]of Ae)if(t.kind===`draft`)return Ae.delete(e),t;return null}function dt(){if(Ae.size!==1)return null;let e=Ae.entries().next().value;return e?(Ae.delete(e[0]),e[1]):null}function ft(){if(!w)return;let t=Ke();he!==t&&e.requestPlan(w,fe,pe??void 0)&&(he=t,E({kind:`selection`,agentId:fe,revision:pe}))}function pt(){t.hidden||ft()}function mt(){return ZI(de,fe,pe)}function ht(t){if(!w)return;let n=Ge(fe,t);_e!==n&&e.requestPlan(w,fe,t)&&(_e=n,E({kind:`diff-base`,agentId:fe,revision:t}))}function gt(){if(!w)return;let t=`${w}:${fe??`main`}`;ve!==t&&e.requestDraft(w,fe)&&(ve=t,E({kind:`draft`,agentId:fe,revision:null}))}function _t(e,t){return`${e??``}:${t??``}`}function vt(){return de.reviews.find(e=>e.agentId===fe)?.revisions.find(e=>e.revision===pe)?.receivedAt??0}function yt(){let e=Oe.get(_t(w,fe));return e!==void 0&&e>vt()}function bt(){if(Ce){Ve(),kt();return}Ne=null,T=!1,Se=!1,gt(),kt()}ee.addEventListener(`click`,bt);function xt(e){ae.replaceChildren(),r.replaceChildren(),je=[];for(let t of e){let e=t.id??`plan-introduction`,n=t.heading??`Introduction`,i=B(`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(Ye()?.has(_L(t))===!0),je.push(i),i.addEventListener(`click`,()=>Re(e)),ae.append(i);let a=B(`option`,null,n);a.value=e,r.append(a)}}function St(e){let t=mt();if(t===null){x.append(B(`p`,`plan-loading`,`This is the first revision, so there is nothing to diff`));return}let n=bL(w,fe,t);if(n===null){x.append(B(`p`,`plan-loading`,`Loading the previous revision`)),ht(t);return}let r=cI(n,e);if(r.isTooLarge){x.append(B(`p`,`plan-loading`,`This diff is too large to show, so the newer revision stands alone`)),x.append(BI(FI(e)));return}x.append(UI(r))}function Ct(e){if(x.replaceChildren(),T){xt(Te),x.append(oe);return}if(e===null){if(Te=[],xt(Te),ge===Ke()){x.append(B(`p`,`plan-loading`,`This plan revision could not be loaded`));return}x.append(B(`p`,`plan-loading`,`Loading plan`)),ft();return}let t=FI(e);if(Te=II(t),xt(Te),Se){St(e);return}if(Ce){x.append(BI(t));return}let n=Ye();x.append(VI(Te,{hasComment:e=>n?.has(_L(e))===!0,isComposing:e=>Ne?.target.bucketKey===Je()&&Ne.target.sectionSlot===_L(e),onComment:et,attachmentFor:tt}))}function wt(e){s.hidden=e.tabs.length<2,c.replaceChildren();for(let t of e.tabs){let e=B(`button`,`plan-tab`,t.label);e.type=`button`,e.setAttribute(`role`,Pe?`radio`:`tab`),e.setAttribute(Pe?`aria-checked`:`aria-selected`,String(t.selected)),e.tabIndex=t.selected?0:-1,e.addEventListener(`click`,()=>{fe=t.agentId,pe=null,Ee=null,he=``,ge=``,_e=``,ve=``,Ve(),Fe(!1,Pe),kt()}),c.append(e)}}function Tt(){return Ce?we:bL(w,fe,pe)}function Et(e){return cL({state:de,selectedAgentId:fe,selectedRevision:pe,body:e,isConnected:me,isDecisionInFlight:ye,isDraft:Ce,pendingCommentCount:Xe(),hasUnsavedComment:Ze(),problem:Ee})}function Dt(e){ce.textContent=e.status,ce.hidden=e.status.length===0;let t=e.actions.some(e=>e.kind===`approve`&&e.enabled);ue.hidden=!t,S.disabled=!t;for(let t of e.actions){let e=C.get(t.kind);e&&(e.disabled=!t.enabled)}}function Ot(){Dt(Et(Tt()))}function kt(){let e=Pe&&i.contains(document.activeElement),t=cL({state:de,selectedAgentId:fe,selectedRevision:pe,body:null,isConnected:me});(fe!==t.selectedAgentId||pe!==t.selectedRevision)&&Ve(),fe=t.selectedAgentId,pe=t.selectedRevision,xe!==Je()&&(xe=null);let n=Tt(),a=Et(n);wt(a);let s=a.revisions.findIndex(e=>e.selected),c=a.revisions[s],l=Date.now();u.hidden=a.revisions.length<2,p.textContent=`Rev ${s+1} of ${a.revisions.length}`,m.textContent=c?QI(c.receivedAt,l):``,d.disabled=s<=0,f.disabled=s<0||s>=a.revisions.length-1,h.replaceChildren();for(let e of[...a.revisions].reverse()){let t=B(`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(B(`span`,`plan-revision-name`,e.label),B(`span`,`plan-revision-age`,QI(e.receivedAt,l))),e.isOpen&&t.append(B(`span`,`plan-revision-open`,`OPEN`)),t.addEventListener(`click`,()=>Ue(e.revision)),h.append(t)}_.replaceChildren();let g=T?`edit`:Se?`changes`:`read`,v=a.modes.find(e=>e.kind===g&&e.enabled)??a.modes[0];for(let e of a.modes){let t=B(`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===g)),t.tabIndex=e.kind===v.kind?0:-1,t.addEventListener(`click`,()=>{t.disabled||(ot(e.kind),_.querySelector(`[aria-checked="true"]`)?.focus())}),_.append(t)}y.hidden=!yt()&&!Ce,ee.hidden=y.hidden,ee.setAttribute(`aria-pressed`,String(Ce)),Dt(a),Ct(n),r.disabled=je.length===0,Be(),e&&!i.contains(document.activeElement)&&o.focus()}function At(t){be!==null&&qI(t,be.agentId)&&(be=null,xe=null,e.showTerminal())}function jt(e){Ne=null,e!==w&&(be=null,ye=!1,Ee=null,Ae.clear()),Fe(!1,!1),w=e,t.hidden=!1,he=``,ge=``,kt(),pt()}function Mt(){Ne=null,Fe(!1,!1),t.hidden=!0}function Nt(e,t){return t.kind!==`selection`||e.agentId!==fe?!1:t.revision===null?pe===null||pe===e.revision:t.revision===pe}function Pt(e){if(e.kind===`draft`){ve=``,He(`the draft could not be read, so nothing was shown`);return}if(e.kind===`diff-base`){_e=``;return}ge=Ge(e.agentId,e.revision)}function Ft(e){De!==null&&XI(e,De.agentId)!==De.revision&&(ke.delete(De.bucketKey),De=null)}function It(e){ye=!1,Lt({reviews:e.reviews});let t=e.body;if(!t){let e=dt()??ut();e!==null&&Pt(e);return}let n=lt(t);if(t.revision===0){if(ve=``,n===null||t.agentId!==fe)return;we=t.plan,Ce=!0;return}vL(e.id,t),n!==null&&Nt(t,n)&&(fe=t.agentId,pe=t.revision,he=``,ge=``)}function Lt(e){let t=XI(e,fe);t!==null&&t!==XI(de,fe)&&(pe=t,Ve()),Ft(e),de=e,ye=!1,At(e)}function Rt(e){let n=!1;e.state&&Lt(e.state),e.draft&&Oe.set(_t(e.draft.id,e.draft.agentId),e.draft.changedAt),e.decisionRefused&&(be=null,ye=!1,De=null),typeof e.isConnected==`boolean`&&(n=e.isConnected&&!me,me=e.isConnected,n&&(he=``,ge=``,_e=``,ve=``,ye=!1)),e.requestFailed&&(ge=he),e.response&&It(e.response),t.hidden||kt(),(n||e.decisionRefused)&&pt()}return{el:t,show:jt,hide:Mt,update:Rt}}var SL=`#plan/`;function CL(e){return`${SL}${encodeURIComponent(e)}`}function wL(e){if(!e.startsWith(SL))return null;let t=e.slice(6);if(!t||t.includes(`/`))return null;try{return decodeURIComponent(t)||null}catch{return null}}var TL=`http://www.w3.org/2000/svg`;function EL(e,t){let n=document.createElementNS(TL,e);for(let[e,r]of Object.entries(t))n.setAttribute(e,r);return n}function DL(e,t){let n=document.createElementNS(TL,`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 OL(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 kL(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 AL(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:kL(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 jL(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:OL(r)});let r=e.repos.map(e=>AL(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 ML(e,t,n,r){let i=B(`button`,n);return i.type=`button`,i.title=`Open ${e} in the diff`,i.addEventListener(`click`,()=>r(t)),i}function NL(e,t){let n=B(`section`,`review-map-repo`),r=B(`div`,`review-map-repo-head`);r.append(B(`strong`,`review-map-repo-name`,e.header.name)),n.append(r);let i=B(`div`,`review-map-summary`);if(i.append(B(`span`,``,`${e.header.committedCount} committed`)),i.append(B(`span`,``,`${e.header.uncommittedCount} uncommitted`)),i.append(B(`span`,``,`Base: ${Al(e.header.base,{chars:8})||`unknown`}`)),n.append(i),e.error&&n.append(B(`p`,`review-map-error`,e.error)),e.subsystems.length>0){let t=B(`div`,`review-map-subsystems`);for(let n of e.subsystems)t.append(B(`span`,`review-map-chip`,`${n.title} (${n.fileCount})`));n.append(t)}if(e.warnings.length>0){n.append(B(`h3`,`review-map-label`,`Signals`));let r=B(`div`,`review-map-warnings`);for(let n of e.warnings){let e=ML(n.path,n.openPath,`review-map-warning`,t);e.dataset.severity=String(n.severity),e.dataset.kind=n.kind,e.append(B(`span`,`review-map-warning-headline`,n.headline)),e.append(B(`span`,`review-map-detail`,n.detail)),r.append(e)}n.append(r)}if(e.files.length>0){n.append(B(`h3`,`review-map-label`,`Files`));let r=B(`div`,`review-map-files`);for(let n of e.files){let e=ML(n.path,n.openPath,`review-map-file`,t);e.dataset.status=n.status,e.append(B(`span`,`review-map-file-path`,n.path)),e.append(B(`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 PL(e,t){let n=B(`div`,`review-map`);if(e.error&&n.append(B(`p`,`review-map-error`,e.error)),e.narrative.status&&n.append(B(`p`,`review-map-narrative-status`,e.narrative.status)),e.narrative.claims.length>0){let t=B(`section`,`review-map-narrative`);t.append(B(`h3`,`review-map-label`,`Narrative`));for(let n of e.narrative.claims){let e=B(`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(NL(r,t));return n}function FL({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 ${RL(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 IL(e,t){return e.namesMergeTarget?null:`merges into ${RL(t)}`}function LL({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 RL(e){return e||`base`}function zL(e,t){return`Merge into ${RL(e)}, push it, and rebase this worktree, then keep working (${t})`}function BL(e){return e===`base-diverged`?`Resync the base branch by hand, then Merge again.`:`Needs manual merge`}function VL(e,t,n){let r=e!==`parked`||e===`parked`&&t===`base-diverged`;return{isRendered:r,isEnabled:r&&e!==`merging`&&n}}function HL({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 UL({fetched:e,changedFileCount:t,hasCommits:n}){return!e||t>0||n}function WL(e){return e||`its upstream`}function GL(e){if(!e)return null;let t=e.branch||`Base branch`,{state:n,ahead:r,behind:i}=e,a=WL(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 KL(e){return!e||e.fetched===!1?`recheck`:e.state===`ahead`||e.state===`behind`?`resync`:`recheck`}function qL(e,t,n){let r=n?` (${t})`:``;if(!e||KL(e)===`recheck`)return`Click to fetch and check again${r}`;let i=e.branch||`Base branch`,a=WL(e.upstream);return e.state===`behind`?`Click to fast-forward ${i} to ${a}${r}`:`Click to push ${i} to ${a}${r}`}function JL(e){return e?.state!==`in-sync`||e.fetched===!1}function YL({fetched:e,changedFileCount:t,view:n}){return!e||t===0?!1:n!==`diff`}function XL(e){if(e.error)return`Resync failed: ${e.error}`;let t=e.branch||`The base branch`,n=WL(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 ZL=new Set([`pending-review`,`parked`]),QL=600,$L=Kb(`merge`,Yb),eR=Kb(`resolve-or-resync`,Yb),tR=260,nR=700,rR=new Map,iR=new Map,aR=new Map,oR=new Map,sR=new Map,cR=new Map,lR=new Set,uR=new Set,dR=new Set,fR=ak(),pR=null,mR=null,hR=null,gR=null,_R=new Map,vR=null,yR=null,bR=null,xR=null,SR=null,CR=!1,wR=!1,TR=null,ER=null,DR=null,OR=null,kR=new Map,AR=null,jR=null,MR=null,NR=null,PR=null,FR=new Map,IR=null,LR=!1,RR=null;function zR(e,t){let n=B(`button`,`review-icon-button`);n.type=`button`,n.title=e,n.setAttribute(`aria-label`,e);let r=DL(16,16);return r.append(EL(`path`,{d:t,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),n.append(r),n}function BR(){CR=!1,hR?.querySelector(`.review-more-menu`)?.remove(),hR?.querySelector(`.review-more-button`)?.setAttribute(`aria-expanded`,`false`)}function VR({panel:e}){if(mR=e,!mR)return;let t=mR,n=B(`div`,`review-sidebar-head`),r=B(`span`,`review-sidebar-title`,`Review`),i=e=>{t.toggleAttribute(`data-collapsed`,e),ik(!e)},a=B(`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=B(`button`,`review-header-tab`,t);n.type=`button`,n.addEventListener(`click`,()=>Bz(e)),_R.set(e,n),a.append(n)}vR=B(`span`,`review-notes-count`),a.append(vR);let o=zR(`Close review`,`M6 3L11 8L6 13`);o.classList.add(`review-sidebar-close`),o.addEventListener(`click`,()=>i(!0)),n.append(r,a,o);let s=B(`div`,`review-sidebar-rail`),c=zR(`Open review`,`M10 3L5 8L10 13`);c.classList.add(`review-sidebar-open`),c.addEventListener(`click`,()=>i(!1)),bR=B(`div`,`review-rail-status`),xR=B(`span`,`review-rail-added`),SR=B(`span`,`review-rail-removed`),bR.append(xR,SR),yR=B(`span`,`review-rail-label`,`Review`),s.append(c,yR,bR),hR=B(`div`,`review-controls`),gR=B(`div`,`review-sidebar-body`),AR=B(`div`,`review-notes-footer`),jR=B(`button`,`review-btn review-btn-primary`,`Send notes`),jR.type=`button`,jR.title=`Paste the drafted review notes into this session as one message`,jR.addEventListener(`click`,Ez),MR=B(`div`,`review-notes-status`),AR.append(MR,jR),PR=B(`div`,`review-notes-list`),NR=B(`div`,`review-notes-outcome`),NR.setAttribute(`role`,`status`);let l=B(`div`,`review-resize-handle`);l.setAttribute(`aria-hidden`,`true`),t.append(s,n,hR,gR,NR,AR,l),t.toggleAttribute(`data-collapsed`,!rk()),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&CR&&(e.preventDefault(),BR(),hR?.querySelector(`.review-more-button`)?.focus())}),document.addEventListener(`pointerdown`,e=>{CR&&e.target instanceof Element&&(hR?.contains(e.target)&&e.target.closest(`.review-more-button, .review-more-menu`)||BR())});let u=0,d=0,f=e=>{let n=Math.max(tR,Math.min(nR,e));return Number.isFinite(n)?(t.style.setProperty(`--sidebar-width`,`${n}px`),n):null},p=e=>{l.hasPointerCapture(e.pointerId)&&f(d+(u-e.clientX))},m=!1,h=e=>{if(!m)return;m=!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&&Mk(parseInt(n,10))};l.addEventListener(`pointerdown`,e=>{e.button===0&&(e.preventDefault(),u=e.clientX,d=t.getBoundingClientRect().width,l.setPointerCapture(e.pointerId),m=!0,document.documentElement.style.cursor=`col-resize`,document.documentElement.style.userSelect=`none`)}),l.addEventListener(`pointermove`,p),l.addEventListener(`pointerup`,h),l.addEventListener(`pointercancel`,h),l.addEventListener(`lostpointercapture`,h);let g=jk();g!==null&&f(g),wF(e=>{CR=!1,uR.clear(),dR.clear(),pR=null,yz(),e&&uz(e),e&&!fz(e)&&pz(e),Wz()}),Wz()}function HR(e){if(mR){if(e){Df(mR,e);return}Of(mR)}}function UR(e,t){let n=rR.get(e);rR.set(e,t),Jne(n,t)&&(aR.delete(e),oR.delete(e),sR.delete(e),e===SF()&&dz(e)),e===SF()&&Wz()}function WR(e,t,n=null){let r=rR.get(e)||`none`,i=t||`none`;if(iR.set(e,n),UR(e,i),ZL.has(i)&&!ZL.has(r)){let t=SF(),n=t?ZL.has(rR.get(t)||`none`):!1;(!t||!H.has(t)||!n)&&CF(e)}}function GR(e,t,n=null){iR.set(e,n),UR(e,t||`none`)}function KR(e,t){let n=aR.get(e)??null;aR.set(e,t),oR.delete(e),e===SF()&&(XR(n,t),pR&&Vz(pR,t),Wz(),Hz())}function qR(e,t){let n=Kf(e);n&&(oR.set(n,t),n===SF()&&Wz())}function JR(e,t){let n=Kf(e);if(!n)return;let r=vl.safeParse(t);r.success&&r.data.sessionId===n&&(sR.set(n,r.data),n===SF()&&Wz())}function YR(e){return{committed:e?.committed?.diff||``,uncommitted:e?.uncommitted?.diff||``}}function XR(e,t){if(FR.size===0||!e)return;let n=Kne(YR(e),YR(t),FR.keys());if(n.length!==0){for(let e of n)FR.delete(e);IR!==null&&n.includes(IR)&&(IR=null),RR=`${n.length} note${n.length===1?``:`s`} dropped because the diff changed.`}}function ZR(e,t){let n=Kf(e),r=t;cR.set(n,r),r&&r.action!==void 0&&QR(n,r),n===SF()&&Wz()}function QR(e,t){lR.delete(e),clearTimeout(OR??void 0),OR=null;let n=XL(t);DR=n?{forId:e,text:n,isError:!!t.error}:null,DR&&!DR.isError&&(OR=setTimeout(()=>{DR&&DR.forId===e&&(DR=null),Wz()},5e3))}function $R(e){let t=Kf(e);t&&t===SF()&&uz(t)}function ez(e){let t=Kf(e);if(t!==SF())return;let n=!aR.has(t)||oR.has(t),r=!sR.has(t)||tz(sR.get(t));n&&uz(t),r&&!n&&dz(t),Wz()}function tz(e){return e?!!e.error||e.repos.some(e=>e.error!==null):!1}function nz(e){let t=Kf(e);if(rR.delete(t),iR.delete(t),aR.delete(t),oR.delete(t),sR.delete(t),cR.delete(t),lR.delete(t),DR&&DR.forId===t&&(clearTimeout(OR??void 0),DR=null),t===SF()){CF(null);return}Wz()}function rz(){let e=SF();if(!e||fz(e))return!1;let t=H.get(e);if(!t)return!1;let n=rR.get(e)||`none`,r=!!aR.get(e)?.hasCommits,i=VL(n,iR.get(e)||null,sz(t.currentState,r));return LL({status:n,mergeReason:iR.get(e)||null,live:lz(t.currentState),isMergeRendered:i.isRendered,hasChanges:oz(e)})!==`merge`||!i.isEnabled?!1:(cz(e,t.currentState),!0)}function iz(){let e=SF();if(!e||fz(e))return!1;let t=H.get(e);if(!t)return!1;let n=rR.get(e)||`none`,r=iR.get(e)||null;return LL({status:n,mergeReason:r,live:lz(t.currentState),isMergeRendered:VL(n,r,!1).isRendered,hasChanges:oz(e)})===`resolve`&&(z({type:`resolve-session-merge`,id:e}),!0)}function az(){let e=SF();return!e||!H.has(e)||fz(e)||hz(e)?!1:(gz(e),!0)}function oz(e){let t=aR.get(e)??null,n=[...EA(t?.committed?.diff||``),...EA(t?.uncommitted?.diff||``)];return UL({fetched:aR.has(e),changedFileCount:DA(n).files,hasCommits:!!t?.hasCommits})}function sz(e,t){return(Lee.includes(e)||e===F.RUNNING)&&t}function cz(e,t){if(t!==F.RUNNING){z({type:`merge-continue-session`,id:e});return}$f({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:()=>z({type:`merge-continue-session`,id:e,force:!0})})}function lz(e){return e!==F.DORMANT&&e!==F.DONE&&e!==F.FAILED}function uz(e){z({type:`request-session-diff`,id:e}),dz(e)}function dz(e){sR.has(e)||sR.set(e,null),z({type:`request-change-map`,id:e})}function fz(e){return H.get(e)?.card.dataset.workspace!==void 0}function pz(e){cR.set(e,null),z({type:`request-branch-sync`,id:e}),e===SF()&&Wz()}function mz(e){lR.add(e),clearTimeout(OR??void 0),DR&&DR.forId===e&&(DR=null),z({type:`resync-branch`,id:e}),e===SF()&&Wz()}function hz(e){return lR.has(e)||cR.get(e)===null}function gz(e){if(!hz(e)){if(KL(cR.get(e))===`resync`){mz(e);return}pz(e)}}function _z(e,t){return t?{text:`Resyncing...`,loading:!0,error:!1}:DR&&DR.forId===e?{text:DR.text,loading:!1,error:DR.isError}:null}function vz(e,t){return e?.card?.dataset.session||t}function yz(){FR.clear(),IR=null,RR=null,LR=!1}function bz(e){return FR.get(e)??null}function xz(){return`${FR.size} note${FR.size===1?``:`s`} drafted`}function Sz(e,t){let n=B(`div`,`review-notes-entry`),r=t.side===`old`?` (removed line)`:``;n.append(B(`span`,`review-notes-entry-where`,`${t.section} ${t.path}:${t.line}${r}`)),n.append(B(`span`,`review-notes-entry-note`,t.note));let i=B(`button`,`review-note-remove`,`Remove`);return i.type=`button`,i.title=`Drop this note`,i.addEventListener(`click`,()=>zz(e)),n.append(i),n}function Cz(){if(PR){PR.replaceChildren(),PR.hidden=FR.size===0;for(let[e,t]of FR)PR.append(Sz(e,t))}}function wz(){if(!AR||!jR||!MR)return;let e=SF(),t=!!e&&H.has(e);AR.hidden=!t||fR===`map`||FR.size===0,jR.disabled=LR||FR.size===0,MR.textContent=xz(),vR&&(vR.hidden=FR.size===0,vR.textContent=String(FR.size),vR.setAttribute(`aria-label`,xz())),NR&&(NR.textContent=LR?`Sending notes...`:RR,NR.hidden=!t||fR===`map`||!NR.textContent),Cz(),fR===`notes`&&t&&Tz()}function Tz(){if(gR&&PR){if(gR.replaceChildren(),FR.size===0){Gz(`No notes yet`,`Open the Diff tab and press note on a line to draft one.`);return}gR.append(PR)}}function Ez(){let e=SF();e&&!LR&&FR.size!==0&&(LR=!0,RR=null,wz(),af(`send-diff-annotations`,{id:e,annotations:[...FR.values()]}).then(kz,Dz))}function Dz(e){LR=!1;let t=e instanceof Error?e.message:``;RR=t?`Could not send the notes: ${t}.`:`Could not send the notes.`,wz()}function Oz(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 kz(e){if(LR=!1,e.type!==`send-diff-annotations-result`||e.ok!==!0){RR=Oz(e),wz();return}if(e.pending===!0){RR=`Notes queued until the session wakes. They stay drafted here, and pressing Send notes again re-sends them.`,wz();return}RR=`Notes sent.`,FR.clear(),IR=null,Wz()}function Az(e,t){let n=B(`div`,`review-note`);n.dataset.noteFor=e,n.append(B(`span`,`review-note-text`,t));let r=B(`button`,`review-note-remove`,`Remove`);return r.type=`button`,r.title=`Drop this note`,r.addEventListener(`click`,()=>zz(e)),n.append(r),n}function jz(e,t){let n=B(`div`,`review-note-editor`);n.dataset.editorFor=e;let r=B(`input`,`review-note-input`);r.type=`text`,r.value=t,r.maxLength=Ad,r.placeholder=`Note for this line`,r.addEventListener(`keydown`,t=>{if(t.key===`Enter`){t.preventDefault(),Rz(e,r.value);return}t.key===`Escape`&&(t.preventDefault(),Lz())});let i=B(`button`,`review-note-save`,`Save`);i.type=`button`,i.addEventListener(`click`,()=>Rz(e,r.value));let a=B(`button`,`review-note-cancel`,`Cancel`);return a.type=`button`,a.addEventListener(`click`,Lz),n.append(r,i,a),n}function Mz(e){let t=[],n=bz(e);return IR===e&&t.push(jz(e,n?n.note:``)),n&&t.push(Az(e,n.note)),t}function Nz(e,t){let n=Mz(t);return e.after(...n),n}function Pz(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 Fz(e){let t=kR.get(e);if(!t)return;let n=null;for(let r of t.rows){Pz(r);let t=Nz(r,e);for(let e of t){let t=e.querySelector(`input`);!n&&t instanceof HTMLInputElement&&(n=t)}}n&&(n.focus(),n.select())}function Iz(e){let t=IR;IR=e,t&&t!==e&&Fz(t),Fz(e)}function Lz(){let e=IR;e&&(IR=null,Fz(e))}function Rz(e,t){let n=kR.get(e);if(!n)return;let r=t.trim();if(r){if(FR.size>=50&&!FR.has(e)){RR=`Only 50 notes can be sent at once.`,wz();return}FR.set(e,{...n.target,section:n.section,note:r}),RR=null,IR=null,Fz(e),wz()}}function zz(e){FR.delete(e),RR=null,Fz(e),wz()}function Bz(e){fR=e,e!==`diff`&&(pR=null),ok(e),Wz()}function Vz(e,t){if(!t)return;let n=EA(t.committed?.diff),r=EA(t.uncommitted?.diff);for(let t of n)(t.path===e||t.oldPath===e)&&uR.add(`committed:${t.path}`);for(let t of r)(t.path===e||t.oldPath===e)&&uR.add(`uncommitted:${t.path}`)}function Hz(){if(!gR||!pR)return;let e=gR.querySelectorAll(`.review-file`);for(let t of e)if(t.dataset.path===pR||t.dataset.oldPath===pR){t.scrollIntoView({block:`nearest`}),pR=null;return}}function Uz(e){pR=e,Vz(e,aR.get(SF()??``)),Bz(`diff`),Hz()}function Wz(){if(!hR||!gR)return;hR.replaceChildren(),gR.replaceChildren();for(let[e,t]of _R)t.setAttribute(`aria-pressed`,String(fR===e));kR.clear(),wz(),yR&&(yR.hidden=!0),bR&&(bR.hidden=!0);let e=SF(),t=e?H.get(e):null;if(!e||!t){Gz(`No session selected`,`Click a session name to review its changes here.`);return}let n=fz(e),r=rR.get(e)||`none`,i=iR.get(e)||null,a=t.currentState,o=ZL.has(r),s=aR.has(e),c=s?aR.get(e):null,l=oR.get(e)??null,u=c?EA(c.committed?.diff||``):[],d=c?EA(c.uncommitted?.diff||``):[],f=!!c?.hasCommits,p=lz(a),m=VL(r,i,sz(a,f)),h=cR.get(e),g=lR.has(e),_=RL(t.effectiveBase),v=DA([...u,...d]),y=LL({status:r,mergeReason:i,live:p,hasChanges:UL({fetched:s,changedFileCount:v.files,hasCommits:f}),isMergeRendered:m.isRendered}),b=FL({status:r,mergeReason:i,fetched:s,hasDiffError:l!==null,hasChanges:v.files>0||f,hasCommits:f,canMerge:!n&&m.isEnabled,isWorkspace:n,live:p,effectiveBase:_}),ee=B(`div`,`review-status-headline`);if(ee.append(B(`span`,`review-status-text`,b.text)),!n&&!JL(h)){let t=GL(h);if(t){ee.title=t;let n=zR(`Refresh branch sync`,`M13 6A5 5 0 1 0 13 10M13 2v4H9`);n.classList.add(`review-branch-sync-refresh`),n.title=qL(h,eR,y!==`resolve`),n.disabled=hz(e),n.setAttribute(`aria-description`,t),n.addEventListener(`click`,()=>gz(e)),ee.append(B(`span`,`sr-only`,t),n)}}hR.append(ee);let te=B(`div`,`review-status-meta`);if(YL({fetched:s,changedFileCount:v.files,view:fR})&&te.append(B(`span`,`review-status-files`,`${v.files} file${v.files===1?``:`s`}`),B(`span`,`review-status-added`,`+${v.added}`),B(`span`,`review-status-removed`,`-${v.removed}`),B(`span`,`review-status-spacer`)),!n&&JL(h)){let t=Kz(e,y!==`resolve`);t&&te.append(t)}te.childElementCount>0&&hR.append(te),r===`parked`&&hR.append(B(`div`,`review-status-explanation`,BL(i))),yR&&(yR.hidden=!1),bR&&(bR.hidden=!1,bR.setAttribute(`aria-label`,`${b.text}, +${v.added}, -${v.removed}`),bR.title=b.text),xR&&(xR.textContent=`+${v.added}`),SR&&(SR.textContent=`-${v.removed}`);let ne=n?null:Xz(e,{status:r,reviewable:o,mergeAction:m,live:p,state:a,effectiveBase:_,primaryAction:y});ne&&hR.append(ne);let re=n?null:_z(e,g),ie=!n&&y===`merge`&&!m.isEnabled?HL({status:r,hasCommits:f,live:p,state:a}):null;if(ie){let e=B(`div`,`review-control-reason`,ie);e.id=`review-merge-reason`,hR.append(e),hR.querySelector(`#review-merge-btn`)?.setAttribute(`aria-describedby`,e.id)}if(re?.text){let e=B(`div`,re.loading?`review-control-reason review-loading`:`review-control-reason`,re.text);e.id=`review-resync-reason`,re.error&&e.classList.add(`review-control-reason-error`),e.setAttribute(`role`,`status`),te.append(e),te.isConnected||hR.insertBefore(te,ee.nextSibling),hR.querySelector(`.review-branch-sync-text, .review-branch-sync-refresh`)?.setAttribute(`aria-describedby`,e.id)}if(wR&&TR===e&&hR.append(B(`div`,`review-resolve-sent`,`Resolve prompt sent`)),fR!==`notes`){if(fR===`map`){let t=sR.get(e);if(!t){gR.append(B(`div`,`review-nochanges review-loading`,`Loading map...`));return}gR.append(PL(jL(t),Uz));return}if(l){gR.append(B(`p`,`review-diff-error`,l));return}u.length>0&&gR.append(qz(`committed`,`Committed`,IL(b,_),u)),d.length>0&&gR.append(qz(`uncommitted`,`Uncommitted`,null,d))}}function Gz(e,t){if(!gR)return;let n=B(`div`,`review-empty`);n.append(B(`div`,`review-empty-title`,e),B(`div`,`review-empty-desc`,t)),gR.append(n)}function Kz(e,t){let n=cR.get(e);if(n===void 0)return null;if(n===null)return B(`span`,`review-branch-sync-text review-loading`,`Checking branch sync...`);let r=GL(n)||`Base branch: sync state unknown`,i=zR(`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(B(`span`,`review-branch-sync-label`,r)),i.disabled=lR.has(e),n.state&&(i.dataset.syncState=n.state),n.fetched===!1&&(i.dataset.stale=`true`),i.title=qL(n,eR,t),i.addEventListener(`click`,()=>gz(e)),i}function qz(e,t,n,r){let i=B(`div`,`review-section`);i.dataset.kind=e;let a=DA(r),o=B(`div`,`review-section-head`),s=B(`div`,`review-section-id`);s.append(B(`span`,`review-section-label`,t)),n&&s.append(B(`span`,`review-section-meaning`,n)),o.append(s);let c=B(`div`,`review-section-stat`);c.append(B(`span`,`review-stat-files`,`${a.files} file${a.files===1?``:`s`}`)),c.append(B(`span`,`review-add`,`+${a.added}`),B(`span`,`review-del`,`-${a.removed}`)),o.append(c),i.append(o);let l=B(`div`,`review-diff`);for(let t of r)l.append(Jz(t,e));return i.append(l),i}function Jz(e,t){let n=`${t}:${e.path}`,r=uR.has(n),i=B(`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=B(`button`,`review-file-head`);a.type=`button`,a.setAttribute(`aria-expanded`,r?`true`:`false`);let o=B(`span`,`review-file-twisty`,r?`▾`:`▸`);o.setAttribute(`aria-hidden`,`true`),a.append(o,B(`span`,`review-file-path`,e.path));let s=B(`span`,`review-file-counts`);if(e.binary&&s.append(B(`span`,`review-bin`,`bin`)),e.binary||s.append(B(`span`,`review-add`,`+${e.added}`),B(`span`,`review-del`,`-${e.removed}`)),a.append(s),a.addEventListener(`click`,()=>{let e=uR.has(n);e&&uR.delete(n),e||uR.add(n),Wz()}),i.append(a),!r)return i;let c=B(`div`,`review-file-body`);if(e.binary)return c.append(B(`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>=QL&&!dR.has(n)){u=!0;break}c.append(B(`div`,`review-hunk-head`,r.header));for(let i of r.lines){if(l>=QL&&!dR.has(n)){u=!0;break}let r=B(`div`,`review-line review-line-${i.type}`),a=i.type===`add`?`+`:i.type===`del`?`-`:i.type===`meta`?`\\`:` `;r.append(B(`span`,`review-line-gutter`,a)),r.append(B(`span`,`review-line-text`,i.text));let o=qne(e,i);if(c.append(r),l++,!o)continue;let s=Gne(t,o.path,o.line,o.side),d=kR.get(s)??{target:o,section:t,rows:[]};d.rows.push(r),kR.set(s,d),r.dataset.noteKey=s;let f=B(`button`,`review-annotate`,`note`);f.type=`button`,f.title=`Note on ${o.path}:${o.line}`,f.addEventListener(`click`,()=>Iz(s)),r.append(f),Nz(r,s)}if(u)break}if(u){let e=B(`button`,`review-expand`,`Show the rest of this file`);e.type=`button`,e.addEventListener(`click`,()=>{dR.add(n),Wz()}),c.append(e)}return i.append(c),i}function Yz({id:e,label:t,shortcut:n,title:r,disabled:i=!1,danger:a=!1,onClick:o}){let s=B(`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 Xz(e,{status:t,reviewable:n,mergeAction:r,live:i,state:a,effectiveBase:o,primaryAction:s}){let c=B(`div`,`review-actions`),l=s===`resolve`;s===`merge`&&c.append(Yz({id:`review-merge-btn`,label:`Merge`,shortcut:$L,title:zL(o,$L),disabled:!r.isEnabled,onClick:()=>cz(e,a)})),l&&c.append(Yz({label:`Resolve`,shortcut:eR,title:`Paste a resolve prompt into this session so the agent can finish the merge (${eR})`,onClick:()=>{z({type:`resolve-session-merge`,id:e}),wR=!0,TR=e,clearTimeout(ER??void 0),ER=setTimeout(()=>{wR=!1,TR=null,Wz()},3e3),Wz()}}));let u=B(`div`,`review-action-controls`);if(u.append(c),!n||i)return c.childElementCount>0?u:null;let d=zR(`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(CR)),d.setAttribute(`aria-controls`,`review-more-menu`),d.addEventListener(`click`,()=>{CR=!CR,Wz(),(hR?.querySelector(CR?`.review-more-menu button:not(:disabled)`:`.review-more-button`)??hR?.querySelector(`.review-more-button`))?.focus()}),c.append(d),!CR)return u;let f=B(`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=Yz({label:`Discard worktree`,danger:!0,disabled:t===`merging`,onClick:()=>{CR=!1,Wz(),$f({title:`Discard worktree`,message:`Throw away the worktree changes for "${vz(H.get(e),e)}"? This cannot be undone.`,confirmLabel:`Discard`,onConfirm:()=>z({type:`discard-session-worktree`,id:e})})}});n.setAttribute(`role`,`menuitem`),f.append(n)}return u.append(f),u}var Zz=1e4,Qz=null,$z=null,eB=null,tB=null,nB=[],rB=!1,iB=hk(),aB=null,oB=null,sB=[],cB=null,lB=null,X=null,uB=null,dB=!1;function fB(){return!!Qz&&!Tf(Qz)}function pB(){return sB.find(e=>e.id===cB)??null}function mB(){uB&&=(clearTimeout(uB.timeoutHandle),null)}function hB(){uB=null,zB()}function gB(e){mB(),dB=!1,cB=e,X=e?{sessionId:e,grouping:ZA(),firstOffset:0,nextOffset:0,hasDroppedEarliestRows:!1,filePath:``,hasLoadedOnce:!1}:null,rB=!0}function _B(e){let t=Xre(sB,lB,cB,e);return lB&&t===lB&&(lB=null),t!==cB&&(gB(t),!0)}function vB(e){if(!aB)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};aB(t)&&(uB={request:e,timeoutHandle:setTimeout(hB,Zz)})}function yB(e=!1){if(!aB)return;let t=Zre({selectedSessionId:cB,isPanelVisible:e||fB(),hasPendingRequest:!!uB,hasLoadedOnce:X?.hasLoadedOnce??!1,nextOffset:X?.nextOffset??0});t&&vB(t)}function bB(){return{selectedSessionId:cB,hasPendingRequest:!!uB,hasLoadedOnce:X?.hasLoadedOnce??!1,hasDroppedEarliestRows:X?.hasDroppedEarliestRows??!1,firstOffset:X?.firstOffset??0,residentRowCount:X?rj(X.grouping):0}}function xB(){if(!aB)return;let e=Qre(bB());e&&vB(e)}function SB(e){sB.some(t=>t.id===e)&&e!==cB&&(lB=null,gB(e),yB(),zB())}function CB(){let e=B(`label`,`trace-session-field`),t=B(`span`,`trace-session-label`,`Session`),n=B(`select`,`trace-session-select`);n.disabled=sB.length===0;for(let e of sB){let t=B(`option`,null,e.label);t.value=e.id,t.selected=e.id===cB,n.append(t)}return n.addEventListener(`change`,()=>SB(n.value)),e.append(t,n),e}function wB(e){e.toggleAttribute(`data-hidden`,oj(iB,e.dataset.kind??``))}function TB(){if(eB)for(let e of eB.querySelectorAll(`.trace-row`))wB(e)}function EB(e){if(eB)for(let t of eB.querySelectorAll(`details`))t.open=e}function DB(){let e=B(`div`,`trace-filters`);for(let t of Rre){let n=B(`button`,`trace-filter`,t.label);n.type=`button`;let r=()=>{n.setAttribute(`aria-pressed`,String(!oj(iB,t.kind)))};r(),n.addEventListener(`click`,()=>{iB=nie(iB,t.kind),gk(iB),r(),TB()}),e.append(n)}for(let[t,n]of[[`Expand all`,!0],[`Collapse all`,!1]]){let r=B(`button`,`trace-expand-control`,t);r.type=`button`,r.addEventListener(`click`,()=>{EB(n)}),e.append(r)}return e}function OB(){let e=Sf(`trace`,`Session trace`,`Bodies load from the local trace file only when requested.`),t=B(`div`,`trace-controls`);t.append(CB());let n=X?.filePath??``,r=B(`code`,`trace-path`,n);r.title=n,t.append(r);let i=X?tie(X.firstOffset,X.hasDroppedEarliestRows,X.grouping.turns[0]):null;return i!==null&&t.append(B(`span`,`trace-session-start`,`Started ${new Date(i).toLocaleString()}`)),e.append(t,DB()),e}function kB(e){let t=B(`div`,`trace-copy-wrap`),n=B(`button`,`trace-copy`,`Copy`);n.type=`button`;let r=B(`span`,`trace-copy-status`);return r.setAttribute(`role`,`status`),n.addEventListener(`click`,()=>{let t=Ef(e);if(!t){r.textContent=`Copy failed`;return}t.then(()=>{r.textContent=`Copied`}).catch(()=>{r.textContent=`Copy failed`}),setTimeout(()=>{r.textContent=``},1600)}),t.append(n,r),t}function AB(){let e=B(`div`,`trace-earlier-wrap`),t=B(`button`,`trace-load-earlier`,`Load earlier`);return t.type=`button`,t.addEventListener(`click`,()=>{xB()}),e.append(t),e}function jB(e,t,n=``){let r=B(`details`,`trace-row${n?` ${n}`:``}`);r.dataset.kind=e.kind,r.dataset.tone=e.tone,wB(r);let i=B(`summary`,`trace-row-summary`);i.append(B(`span`,`trace-offset`,RA(t,e.record.ts)),B(`span`,`trace-kind`,e.tag),B(`span`,`trace-row-label`,e.text));for(let t of e.badges){let e=B(`span`,`trace-badge`,t);e.dataset.badge=t,i.append(e)}let a=B(`div`,`trace-row-body`);r.append(i,a);let o=!1;return r.addEventListener(`toggle`,()=>{if(!r.open||o)return;o=!0;let t=Ire(e.record);a.append(kB(t),B(`pre`,`trace-row-pre`,t))}),r}function MB(e){return B(`span`,`trace-turn-metrics`,QA(e))}function NB(e,t){e&&t&&(t.textContent=QA(e))}function PB(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=RA(t.startedAt,t.rows[e].record.ts))}}function FB(e,t,n){let r=jB(t,e.startedAt,`trace-turn-head`);return gf(r,`.trace-row-summary`).append(n),r}function IB(e){let t=B(`section`,`trace-turn`),n=MB(e);if(e.head&&t.append(FB(e,e.head,n)),!e.head){let e=B(`h2`,`trace-leading-title`);e.append(B(`span`,`trace-leading-label`,`Before first prompt`),n),t.append(e)}let r=B(`div`,`trace-rows`);for(let t of e.rows)r.append(jB(t,e.startedAt));return e.hasTrimmedRows&&t.append(B(`p`,`trace-trimmed`,`Earlier rows trimmed`)),t.append(r),{section:t,rowsElement:r,metricsElement:n}}function LB(e){return e?uB?.request.id===e.id&&!X?.hasLoadedOnce?`Loading trace.`:sj(e):sj(null)}function RB(){if(!Qz)return;let e=B(`div`,`trace-content`);$z=OB(),e.append($z),eB=null,tB=null,nB=[];let t=pB(),n=X?.grouping.turns??[];if(!t||n.length===0){e.append(B(`p`,`trace-empty`,LB(t))),Qz.replaceChildren(e),rB=!1;return}aj(bB())&&(tB=AB(),e.append(tB));let r=B(`div`,`trace-turns`);for(let e of n){let t=IB(e);nB.push(t),r.append(t.section)}eB=r,TB(),e.append(r),Qz.replaceChildren(e),rB=!1}function zB(){if(Qz){if(!fB()){rB=!0;return}RB()}}function BB(){if(!$z||!fB())return;let e=OB();$z.replaceWith(e),$z=e}function VB(e){if(!eB)return;let t=X?.grouping.turns[e.turnIndex];if(!t)return;if(e.isNewTurn){let e=IB(t);nB.push(e),eB.append(e.section);return}let n=nB[e.turnIndex];if(n){for(let r of e.rows)n.rowsElement.append(jB(r,t.startedAt));NB(t,n.metricsElement)}}function HB(e){let t=e.parentElement;t&&!t.querySelector(`.trace-trimmed`)&&t.insertBefore(B(`p`,`trace-trimmed`,`Earlier rows trimmed`),e)}function UB(){if(!aj(bB())){tB?.remove(),tB=null;return}!tB&&eB?.parentElement&&(tB=AB(),eB.parentElement.insertBefore(tB,eB))}function WB(){if(!X)return;let e=Jre(X.grouping);if(!(e.droppedTurnCount>0||e.droppedRowCount>0)){UB();return}let t=!X.hasDroppedEarliestRows;if(X.hasDroppedEarliestRows=!0,nB=nB.slice(e.droppedTurnCount),eB)for(let t=0;t<e.droppedTurnCount;t+=1)eB.firstElementChild?.remove();let n=nB[0];if(n&&e.droppedRowCount>0){for(let t=0;t<e.droppedRowCount;t+=1)n.rowsElement.firstElementChild?.remove();HB(n.rowsElement),NB(X.grouping.turns[0],n.metricsElement)}t&&BB(),UB()}function GB(e){if(!X)return;let t=tj(X.grouping,e);if(fB()&&!rB&&eB){for(let e of t)VB(e);WB();return}if(eB=null,WB(),!fB()){rB=!0;return}RB()}function KB(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 qB(){dB&&!uB&&(dB=!1,yB())}function JB(e){if(!eB)return;let t=nB[0]??null,n=t?.rowsElement.parentElement??null,r=X?.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=MB(r),o=FB(r,e.mergedHead,a);n.insertBefore(o,i),t.metricsElement=a}e.mergedHead||NB(r,t.metricsElement);let a=document.createDocumentFragment();for(let t of e.mergedRows)a.append(jB(t,r.startedAt));i.prepend(a),PB(i,r)}let i=document.createDocumentFragment(),a=[];for(let t of e.newTurns){let e=IB(t);a.push(e),i.append(e.section)}eB.prepend(i),nB.unshift(...a)}function YB(e){if(!X)return;let t=Gre(X.grouping,e),n=fB()&&!rB&&!!eB&&!t.needsRerender,r=Qz?.parentElement??null,i=r?.scrollHeight??0,a=r?.scrollTop??0;n&&JB(t),WB(),n||zB(),n&&BB(),r&&(r.scrollTop=a+r.scrollHeight-i)}function XB(e){Qz||(Qz=B(`div`,`trace-panel`),e.append(Qz),RB())}function ZB(e){aB=e}function QB(e){oB=e}function $B(e){lB=e,oB?.()}function eV(e){sB=Yre(e);let t=_B(fB());t&&yB(),(t||!$z)&&zB(),!t&&$z&&BB()}function tV(){if(!Qz)return;let e=_B(!0);yB(!0),eie({hasSelectionChanged:e,isRenderedTraceStale:rB,hasRenderedOnce:!!$z})&&RB()}function nV(e){let t=KB(e);if(!t)return;let n=$re({pendingRequest:uB?.request??null,resident:X?{sessionId:X.sessionId,firstOffset:X.firstOffset,nextOffset:X.nextOffset,hasLoadedOnce:X.hasLoadedOnce}:null,reply:{id:t.id,start:t.start,next:t.next,reset:t.reset}});if(n===`ignore`){qB();return}if(mB(),n===`stale`){qB();return}if(n===`reset`){gB(t.id),X&&(X.filePath=t.path),yB(),zB(),qB();return}if(X){if(X.filePath=t.path,n===`prepend`){X.firstOffset=t.start,YB(t.records),qB();return}n===`seed`&&(X.hasLoadedOnce=!0,X.firstOffset=t.start),X.nextOffset=t.next,GB(t.records),qB()}}function rV(e){let t=e?.id;if(typeof t==`string`&&t===cB&&fB()){if(uB){dB=!0;return}yB()}}function iV(e){let t=e?.id;typeof t==`string`&&uB?.request.id===t&&(mB(),dB=!1,zB())}function aV(e){if(mB(),dB=!1,!e){zB();return}yB()}function oV(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)} need 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 sV=!1,cV=new Set;function lV(e){sV=!!e,NV();for(let e of cV)e(sV)}function uV(e){return cV.add(e),()=>cV.delete(e)}function dV(){return sV}var fV=[{cls:`agent-badge`,title:`Agent CLI this session supervises`},{cls:`worktree-badge`,text:`worktree`,title:`Running in a linked git worktree`,ariaLabel:`Linked git worktree`},{cls:`post-turn-badge`,ariaHidden:!0},{cls:`usage-badge`,title:`Tokens and estimated API list-price cost for this conversation`},{cls:`wakeup-badge`},{cls:`prompt-badge`,title:`Waiting on a permission or input prompt`}];function pV({cls:e,text:t=``,title:n,ariaLabel:r,ariaHidden:i}){let a=B(`span`,e,t);return n&&(a.title=n),r&&a.setAttribute(`aria-label`,r),i&&a.setAttribute(`aria-hidden`,`true`),a}function mV(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 hV(e,t){t&&(e.dataset.saneYolo=``),t||delete e.dataset.saneYolo;let n=e.querySelector(`.perms-badge`);n&&mV(n,t)}function gV(e,t){let n=qf(e);n&&hV(n.card,t)}function _V(e,t,n,r={}){let i=n||F.INITIALIZING,a=B(`div`,`session-card`);a.dataset.id=e,a.dataset.session=t,a.dataset.state=i,r.skipPerms&&(a.dataset.skipPerms=``),r.saneYolo&&(a.dataset.saneYolo=``),r.worktree&&(a.dataset.worktree=``),r.workspace&&(a.dataset.workspace=``),r.path&&(a.dataset.path=String(r.path));let o=B(`div`,`session-card-header`),s=B(`span`,`session-name`,t);s.title=`Double-click or press F2 to rename`,s.tabIndex=0;let c=r.skipPerms?B(`span`,`perms-badge`):null;c&&mV(c,r.saneYolo===!0);let l=B(`span`,`session-task-title`);bV(l,r.taskTitle);let u=B(`span`,`card-elapsed`);u.setAttribute(`aria-hidden`,`true`);let d=B(`div`,`session-actions`),f=B(`div`,`session-overflow`),p=B(`button`,`btn-action btn-restart-menu visible`,`↻`);p.type=`button`,p.title=`Restart`,p.setAttribute(`aria-label`,`Restart`),p.setAttribute(`aria-haspopup`,`menu`),p.setAttribute(`aria-expanded`,`false`);let m=B(`div`,`session-overflow-menu`);m.id=`restart-menu-${e}`,m.setAttribute(`role`,`menu`),p.setAttribute(`aria-controls`,m.id);let h=vV(`Restart`,`Keeps this conversation`,`overflow-restart`),g=vV(`Restart fresh`,`Ends this conversation and starts a new one`,`overflow-restart-fresh`),_=vV(`Resume conversation...`,`Pick an earlier conversation`,`overflow-resume`);m.append(h,g,_),f.append(p,m);let v=B(`button`,`btn-action btn-debug`,`⚙`);v.title=`Debug state`,v.setAttribute(`aria-label`,`Debug session state`);let y=B(`button`,`btn-action btn-trace`,`≡`);y.type=`button`,y.title=`Trace`,y.setAttribute(`aria-label`,`Trace`);let b=B(`button`,`btn-action btn-remove visible`,`×`);b.type=`button`,b.title=`Remove session`,b.setAttribute(`aria-label`,`Remove session`);let ee=B(`button`,`btn-action btn-face-plan`,`Plan`);ee.type=`button`,ee.title=`Show plan`,d.append(ee,v,y,f,b);let te=B(`div`,`session-card-tags`),ne=fV.map(e=>pV(e));c&&ne.push(c),te.append(...ne),o.append(s,u,l,te,d);let re=B(`div`,`terminal-wrap`);return a.append(o,re),{card:a,header:o,nameEl:s,elapsedEl:u,taskTitleEl:l,btnRestart:h,btnRestartFresh:g,btnRestartMenu:p,btnResume:_,btnTrace:y,btnRemove:b,btnPlan:ee,btnDebug:v,restartMenu:m,termWrap:re}}function vV(e,t,n){let r=B(`button`,`overflow-item ${n}`);return r.type=`button`,r.setAttribute(`role`,`menuitem`),r.setAttribute(`aria-label`,e),r.append(B(`span`,`restart-menu-label`,e),B(`span`,`restart-menu-hint`,t)),r}function yV(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 bV(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 xV(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&&z({type:`set-session-title`,id:t,title:r.value.trim()}),n.replaceChildren(),i!==null&&n.setAttribute(`role`,i),a!==null&&n.setAttribute(`tabindex`,a),bV(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 SV=`session-rename-input`;function CV(e){return!!e?.querySelector(`.${SV}`)}function wV(e,t){let n=e.renameTargetEl?.isConnected?e.renameTargetEl:e.nameEl;if(!n||CV(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=SV,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();return}for(let[,t]of H)if(t!==e&&t.card.dataset.session===n){i(),GS(`Session "${n}" already exists.`);return}z({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 TV=`<button type="button" class="debug-close" aria-label="Close debug overlay" title="Close">×</button>`;function EV(e){return e?xp(new Date(e)):`-`}function DV(e){return`${(Number(e||0)/1e3).toFixed(1)}s`}function OV(e){return e.decision===`gated`?`(${Number(e.active)||0} bg)`:e.decision===`wait`||e.decision===`release`?`(quiet ${DV(e.quietMs)})`:``}function kV(e){let t=`<span class="debug-dim">${EV(e.ts)}</span>`;if(e.kind===`signal`){let n=NF([e.signal,e.source].filter(Boolean).join(`/`));return e.action===`transition`?`${t} ${n} → <span class="debug-label">${NF(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=OV(e),i=r?` <span class="debug-dim">${r}</span>`:``;return`${t} gate <span class="debug-label">${NF(e.decision||`?`)}</span>${i}${n}`}if(e.kind===`notify`){let n=NF(e.category||e.to||`?`);return e.category?`${t} notify <span class="debug-label">${n}</span>: fired`:`${t} notify ${n}: <span class="debug-dim">silent (${NF(e.reason||``)})</span>`}return e.kind===`notify-state`?`${t} notify ${NF(e.category||`?`)}: <span class="debug-dim">${NF(e.from||`?`)} → ${NF(e.to||`?`)}</span>`:`${t} <span class="debug-dim">${NF(e.kind||`decision`)}</span>`}function AV(e,t){if(!e.debugOverlay)return;let n=t,r=TV;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">${NF(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">${NF(n.join(`/`))}</span>`:``;r+=`<div class="debug-field"><span class="debug-dim">${EV(e.timestamp)}</span> ${NF(e.from)} → ${NF(e.to)} <span class="debug-label">${NF(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?`${NF(a.signal)} (${NF(a.source||`?`)}${a.confidence?`/${NF(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">${NF(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 ${DV(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">${NF(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">${kV(e)}</div>`;r+=`</div>`,e.debugOverlay.innerHTML=r}function jV(e,t){if(e.debugOpen){MV(e);return}let n=document.createElement(`div`);n.className=`debug-overlay`,n.innerHTML=`${TV}<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`)&&MV(e)}),z({type:`debug-state`,id:t})}function MV(e){e.debugOverlay&&=(e.debugOverlay.remove(),null),e.debugOpen=!1}function NV(){for(let[,e]of H)e.btnDebug.classList.toggle(`visible`,sV),e.btnTrace.classList.toggle(`visible`,sV),!sV&&e.debugOpen&&MV(e)}function PV(e){let t=typeof e.id==`string`?H.get(e.id):void 0;t?.debugOpen&&AV(t,e.payload)}function FV(e){qf(e)?.debugOpen&&z({type:`debug-state`,id:e})}function IV({hasPlan:e,pendingPromptKind:t,hasOpenReview:n,hasApprovedReview:r=!1}){return e&&(n||t===`plan`&&!r)?`plan`:`terminal`}function LV({hasPlan:e,isBorrowed:t,face:n}){return!e||n===`plan`?`hidden`:t?`face`:`navigate`}function RV(e){return e instanceof Error?e.message:String(e)}var zV=`DORMANT`;function BV(e){return e?hp(Date.now()-e,{rounding:`round`,wording:`compact`,suffix:` ago`,justNowBelowSeconds:60}):``}function VV(e,t,n){let r=B(`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,BV(e.mtime)].filter(Boolean).join(` · `);return r.innerHTML=`<span class="resume-item-title">${NF(e.title||e.id)}</span><span class="resume-item-meta">${NF(i)}${e.id===t?` · current`:``}</span>`,r.addEventListener(`click`,()=>n(e.id)),r}function HV(e,t={}){let n=(t.currentState||``)===zV,{overlay:r,dialog:i,close:a,actions:o,btnCancel:s}=Qf({title:`Resume a conversation`,dialogClass:`dialog resume-dialog`}),c=B(`p`,`dialog-message`,`Pick a Claude conversation from this repo (any worktree) to continue in this card.`),l=B(`div`,`resume-list`);l.setAttribute(`role`,`listbox`),l.setAttribute(`aria-label`,`Resumable conversations`),l.append(B(`div`,`resume-empty`,`Loading conversations...`));let u=B(`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){if(z({type:`resume-conversation`,id:e,conversationId:t||``}),a(),t){if(!n){GS(`Conversation will resume on this session's next restart.`);return}z({type:`start-session`,id:e})}}s.addEventListener(`click`,a),u.addEventListener(`click`,()=>d(null)),requestAnimationFrame(()=>s.focus()),af(`list-conversations`,{id:e}).then(e=>{if(!r.isConnected)return;let t=e.type===`conversations`?e.conversations:[];if(l.innerHTML=``,e.error){l.append(B(`div`,`resume-empty`,`Could not list conversations: ${e.error}`));return}if(t.length===0){l.append(B(`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(VV(e,n,d))}).catch(e=>{r.isConnected&&(l.innerHTML=``,l.append(B(`div`,`resume-empty`,`Could not list conversations: ${RV(e)}`)))})}var UV={critical:`✕`,warning:`▲`,done:`✓`,"":`▸`},WV=null,GV=null,KV=e=>e==null?``:String(e),qV=e=>jc.includes(e),JV=e=>Iee.includes(e);function YV(e){let t=e.currentState,n=qV(t)||JV(t);e.btnRestart.classList.toggle(`visible`,n),e.btnRestartFresh.classList.toggle(`visible`,n),e.btnResume.classList.add(`visible`),e.btnTrace.classList.toggle(`visible`,dV()),e.btnPlan.classList.toggle(`visible`,LV(e)!==`hidden`),e.btnRemove.classList.add(`visible`)}function XV(e){e.restartMenu.classList.remove(`open`),e.btnRestartMenu.setAttribute(`aria-expanded`,`false`)}function ZV(e,t){yV(e.taskTitleEl,()=>xV(e,t)),e.nameEl.addEventListener(`dblclick`,n=>{n.preventDefault(),wV(e,t)}),e.nameEl.addEventListener(`click`,()=>{CV(e.nameEl)||CF(t)}),e.nameEl.addEventListener(`keydown`,n=>{n.target===e.nameEl&&(n.key===`F2`||n.key===`Enter`)&&(n.preventDefault(),wV(e,t))});function n(n){XV(e),e.btnRestartMenu.focus(),rp(n,t,{readState:()=>e.currentState,send:z,confirm:$f})}e.btnRestart.addEventListener(`click`,()=>n(`restart`)),e.btnRestartFresh.addEventListener(`click`,()=>n(`restart-fresh`)),e.btnResume.addEventListener(`click`,()=>{XV(e),HV(t,{currentState:e.currentState})}),e.btnTrace.addEventListener(`click`,()=>{XV(e),$B(t)}),e.btnPlan.addEventListener(`click`,()=>{let n=LV(e);if(n!==`hidden`){if(n===`face`){cH(t);return}location.hash=CL(t)}}),e.btnRemove.addEventListener(`click`,()=>{XV(e);let n=e.card.dataset.session,r=e.card.dataset.merge,i=r===`pending-review`||r===`parked`;$f({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:()=>z({type:`remove-session`,id:t})})}),e.btnRestartMenu.addEventListener(`click`,t=>{t.stopPropagation();for(let[,t]of H)t!==e&&XV(t);let n=e.restartMenu.classList.toggle(`open`);e.btnRestartMenu.setAttribute(`aria-expanded`,String(n))});let r=[e.btnRestart,e.btnRestartFresh,e.btnResume];function i(t){if(t.key!==`ArrowDown`&&t.key!==`ArrowUp`)return;t.preventDefault(),t.stopPropagation();for(let[,t]of H)t!==e&&XV(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(),XV(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&&XV(e)},{signal:e.abortController.signal}),e.termWrap.addEventListener(`mousedown`,()=>{(e.currentState===F.WAITING||e.currentState===F.COMPLETE)&&z({type:`dismiss`,id:t})}),e.btnDebug.addEventListener(`click`,n=>{n.stopPropagation(),jV(e,t)}),document.addEventListener(`click`,t=>{let n=t.target instanceof Node?t.target:null;e.debugOpen&&!e.card.contains(n)&&MV(e)},{signal:e.abortController.signal})}function QV(e,t,n){let r=qf(e);if(r){r.taskTitle=typeof t==`string`?t:null,r.taskTitleIsCustom=n===!0;for(let e of[r.taskTitleEl,r.titleTargetEl])e&&bV(e,r.taskTitle)}}function $V(e){return typeof e==`string`&&H.has(e)}function eH(){return H.size}function tH(){return[...H.keys()]}function nH(e){let t=e||{};t.cursorBlink!=null&&$k(t.cursorBlink),t.debugMode!=null&&(lV(t.debugMode),XF(t.debugMode));for(let[,e]of H)e.term&&t.cursorBlink!=null&&(e.term.options.cursorBlink=t.cursorBlink)}function rH(){Db(H.values(),kb())}function iH(){if(!Yf)return;let e=0,t=0,n=0,r=0,i=0,a=0;for(let[,o]of H){a++;let s=o.currentState;if(s===F.WAITING){e++;continue}if(s===F.FAILED){t++;continue}if(s===F.DONE){n++;continue}if(s===F.COMPLETE){r++;continue}s===F.DORMANT&&i++}let{text:o,severity:s,alertCount:c}=oV({waiting:e,failed:t,done:n,complete:r,dormant:i,total:a});if((o!==WV||s!==GV)&&(WV=o,GV=s,Yf.dataset.severity=s,Yf.textContent=``,o)){let e=B(`span`,`aggregate-glyph`,UV[s]??UV[``]);e.setAttribute(`aria-hidden`,`true`),Yf.append(e,document.createTextNode(o))}document.title=c>0?`(${c}) Glimmervoid`:`Glimmervoid`}function aH(e,t,n,r={}){if(!Jf)return;let i=Kf(e),a=KV(n)||F.DORMANT,o=_V(i,KV(t),a,r),s=a===F.DORMANT;Jf.appendChild(o.card);let c;function l(){c.face=`terminal`,c.card.dataset.face=`terminal`,c.termWrap.hidden=!1,c.planFace.hide(),YV(c),wA(c,i)}let u=new AbortController,d=xL({signal:u.signal,requestPlan:(e,t,n)=>z({type:`session-plan`,id:e,agentId:t,revision:n}),requestDraft:(e,t)=>z({type:`session-plan`,id:e,agentId:t,draft:!0}),showTerminal:l,sendDecision:(e,t)=>z({type:`plan-decision`,id:e,...t}),reportProblem:e=>GS(`${o.nameEl.textContent||i}: ${e}`)});return c={term:null,fitAddon:null,webglAddon:null,needsWebGLReload:!1,webglAttachedWithoutLayout:!1,dataWs:null,card:o.card,nameEl:o.nameEl,taskTitleEl:o.taskTitleEl,taskTitle:r.taskTitle??null,taskTitleIsCustom:r.taskTitleIsCustom??!1,hasEndedTurn:!1,elapsedEl:o.elapsedEl,path:KV(r.path),stateSince:typeof r.stateSince==`number`&&Number.isFinite(r.stateSince)?r.stateSince:Date.now(),restartMenu:o.restartMenu,termWrap:o.termWrap,btnDebug:o.btnDebug,btnRestart:o.btnRestart,btnRestartFresh:o.btnRestartFresh,btnRestartMenu:o.btnRestartMenu,btnResume:o.btnResume,btnTrace:o.btnTrace,btnPlan:o.btnPlan,btnRemove:o.btnRemove,debugOverlay:null,debugOpen:!1,abortController:u,currentState:a,face:`terminal`,isBorrowed:!1,hasPlan:!1,pendingPromptKind:null,pendingPromptDetail:null,planReviewState:{reviews:[]},planFace:d},c._ensureTerminalReady=()=>wA(c,i),c._showTerminalFace=l,c._showPreferredFace=()=>{if(oH(c)===`plan`){cH(i);return}l()},c._setBorrowed=e=>{c.isBorrowed=e,YV(c)},o.card.append(d.el),H.set(i,c),ZV(c,i),YV(c),a===F.RUNNING&&Op(c,!0),s||(yA(o.termWrap,c),xA(c,i)),iH(),c}function oH(e){let t=e.planReviewState.reviews.some(e=>e.state===`open`),n=e.planReviewState.reviews.some(KI);return IV({hasPlan:e.hasPlan,pendingPromptKind:e.pendingPromptKind,hasOpenReview:t,hasApprovedReview:n})}function sH(e){let t=qf(e);return!t?.isBorrowed||oH(t)!==`plan`?!1:cH(e)}function cH(e){let t=qf(e);return!t?.isBorrowed||!t.hasPlan?!1:(t.face=`plan`,t.card.dataset.face=`plan`,t.termWrap.hidden=!0,t.planFace.show(Kf(e)),YV(t),!0)}function lH(e,t){let n=qf(e);n&&(n.hasPlan=t===!0,YV(n),sH(e))}function uH(e){let t=qf(e.id);t&&(t.planReviewState=lL(t.planReviewState,e),t.hasPlan=e.hasPlan,t.planFace.update({state:t.planReviewState}),YV(t),sH(e.id))}function dH(e){let t=qf(e.id);t&&t.planFace.update({draft:e})}function fH(e){let t=qf(e.id);t&&(t.planReviewState={reviews:e.reviews},t.hasPlan=!0,t.planFace.update({response:e}),YV(t))}function pH(e){if(e.type!==`error`&&e.type!==`session-error`||e.scope!==`plan`&&e.scope!==`plan-decision`)return;let t=qf(e.id);if(t){if(e.scope===`plan`){t.planFace.update({requestFailed:!0});return}t.planFace.update({decisionRefused:!0})}}function mH(e){for(let[,t]of H)t.planFace.update({isConnected:e})}function hH(e,t){let n=qf(e);n&&(n.effectiveBase=typeof t==`string`?t:void 0)}function gH(e,t){let n=qf(e);if(!n)return;n.agent=typeof t==`string`?t:null;let r=zP(t);vH(n,`.agent-badge`,`agent`,{on:r!==``,value:r,text:r})}function _H(e,t){let n=qf(e);if(n){if(t){n.card.dataset.worktree=``;return}delete n.card.dataset.worktree}}function vH(e,t,n,r){let{on:i,value:a=``,text:o,title:s}=r,c=e.card.querySelector(t);if(!i){if(delete e.card.dataset[n],!c)return;o!==void 0&&(c.textContent=``),s!==void 0&&c.removeAttribute(`title`);return}e.card.dataset[n]=a,c&&(o!==void 0&&(c.textContent=o),s!==void 0&&(c.title=s))}function yH(e,t){let n=qf(e);n&&(n.hasEndedTurn=t)}function bH(e,t,n=!1){let r=qf(e);r&&(r.activeAgents=Math.max(0,Number(t)||0),r.awaitingBackgroundTasks=yf(r.currentState,n===!0),r.card.toggleAttribute(`data-monitoring`,r.awaitingBackgroundTasks))}function xH(e,t){let n=qf(e);if(!n)return;let r=Iae(t);vH(n,`.usage-badge`,`usage`,{on:!!r,text:r||``,title:r?Lae(t):void 0})}function SH(e,t,n=null,r=!1){let i=qf(e);i&&(i.pendingPromptKind=typeof t==`string`?t:null,i.pendingPromptDetail=n,vH(i,`.prompt-badge`,`prompt`,{on:!!t||r,value:r?`compacting`:KV(t),title:r?`Context compaction in progress`:`Waiting on a permission or input prompt`,text:r?`compacting`:t===`plan`?`Plan ready`:t===`permission`?`permission`:`input`}),sH(e))}function CH(e){return e?`sleeping until ~${bp(new Date(e))}`:`scheduled`}function wH(e,t){let n=qf(e);n&&vH(n,`.wakeup-badge`,`wakeup`,{on:!!t,value:t?.kind||`wakeup`,text:CH(t?.at),title:t?.reason?`Scheduled revival: ${t.reason}`:`Scheduled revival pending`})}function TH(e,t){let n=qf(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`;vH(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 EH(e,t){if(t===`pending-review`||t===`parked`||t===`merging`){e.dataset.merge=t;return}delete e.dataset.merge}function DH(e,t,n=null){let r=qf(e),i=KV(t)||`none`;r&&EH(r.card,i),WR(Kf(e),i,KV(n)||null)}function OH(e,t,n=null){let r=qf(e),i=KV(t)||`none`;r&&EH(r.card,i),GR(Kf(e),i,KV(n)||null)}function kH(e,t){KR(Kf(e),t)}function AH(e,t){let n=qf(e);if(!n)return;let r=KV(t);n.card.dataset.session=r,n.nameEl.textContent=r}function jH(e){let t=qf(e);t&&(MV(t),H.delete(Kf(e)),yL(Kf(e)),t.resizeObserver&&t.resizeObserver.disconnect(),t.abortController&&t.abortController.abort(),t.dataWs&&t.dataWs.readyState<=WebSocket.OPEN&&t.dataWs.close(),_D(t),t.term&&t.term.dispose(),t.term=null,t.fitAddon=null,t.card&&t.card.remove(),iH())}function MH(e,t,n){if(!t||!e.term)return;e.term.clear(),e.term.reset();let r=n===F.DONE?`Session complete`:`Session failed`,i=n===F.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 NH(e,t){e.term&&(t===F.DONE||t===F.FAILED)&&(e.term.clear(),e.term.reset())}function PH(e,t,n){let r=document.activeElement;return bF({previousState:t,nextState:n,isPhoneLayout:Uf(),isDocumentVisible:document.visibilityState===`visible`,isDocumentFocused:document.hasFocus(),isActiveViewer:e._isActiveViewer?.()===!0,hasFocusInsideTerminal:r instanceof Node&&e.termWrap.contains(r)})}function FH(e,t,n,r=``){let i=qf(e);if(!i)return;let a=KV(t),o=i.currentState;i.currentState=a,a!==F.RUNNING&&(i.awaitingBackgroundTasks=!1),a!==o&&(i.stateSince=typeof n==`number`&&Number.isFinite(n)?n:Date.now(),Op(i,a===F.RUNNING)),o===F.DORMANT&&a!==F.DORMANT&&SA(i,Kf(e)),i.card.dataset.state=a,i.card.toggleAttribute(`data-monitoring`,yf(a,i.awaitingBackgroundTasks)),YV(i),(a===F.WAITING&&o!==F.WAITING||a===F.COMPLETE&&o!==F.COMPLETE)&&!MF(r)&&zO()&&Nx(VO()),PH(i,o,a)&&z({type:`dismiss`,id:Kf(e),expectedState:F.COMPLETE});let s=a===F.DONE||a===F.FAILED,c=o!==F.DONE&&o!==F.FAILED&&o!==F.INITIALIZING;s&&c&&(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})})}),zO()&&Nx(VO())),(a===F.DONE||a===F.FAILED)&&MH(i,c,a),a===F.INITIALIZING&&NH(i,o),iH(),Mp(i)}var IH=`(no path)`;function LH(e){if(!e)return IH;let t=String(e).replace(/[/\\]+$/,``),n=Math.max(t.lastIndexOf(`/`),t.lastIndexOf(`\\`));return(n===-1?t:t.slice(n+1))||`(no path)`}function RH(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):IH,a=i.get(r);a||(a={key:r,label:r===`(no path)`?IH:LH(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:LH(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 zH(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}function BH(e,t){let n=B(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>`,{pill:n,refs:{glyph:gf(n,`.focus-pill-glyph`),label:gf(n,`.focus-pill-label`),name:gf(n,`.focus-pill-name`),merge:gf(n,`.focus-pill-merge`)}}}function VH(e,t,n,r=!1){e.dataset.state=n;let{glyph:i,label:a,isMonitoring:o}=bf(n,r);return e.toggleAttribute(`data-monitoring`,o),t.glyph.textContent=i,t.label.textContent=a,a}function HH(){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);if(e.set(r,i),i!==F.COMPLETE){t.delete(r);continue}n&&n!==F.COMPLETE&&t.add(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 UH=e=>e.ui.path,WH=window.matchMedia?.(`(prefers-reduced-motion: reduce)`),GH=window.matchMedia?.(`(hover: none) and (min-width: 769px)`),KH=null,qH=null,JH=null,YH=null,XH=null,ZH=null,QH=null,$H=null,eU=!1,tU=null,nU=new Map,rU=new Map,iU=HH(),aU=new Map,oU=new Map,sU=null,cU=new Set;function lU(){return zH(dU(xU()),cU)}function uU(e){let t=sU;if(sU=e||null,t&&t!==sU){let e=rU.get(t);e&&(e.tabIndex=-1,e.setAttribute(`aria-selected`,`false`))}if(sU){let e=rU.get(sU);e&&(e.tabIndex=0,e.setAttribute(`aria-selected`,`true`))}}function dU(e){return RH(e,UH,_F(e,UH))}function fU(e){let t=oU.get(e.key),n=aU.get(e.key);if(!t||!n){let r=Object.assign(B(`div`,`focus-rail-group`),{_addBtn:B(`button`,`focus-rail-group-add`,`+`),_forgetBtn:B(`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`,()=>kF(r.dataset.path,r.dataset.label));let a=r._forgetBtn;a.type=`button`,a.addEventListener(`click`,()=>{vF(r.dataset.path),DU()}),r.appendChild(a),r.appendChild(i),t=r,n=B(`div`,`focus-rail-list`),n.setAttribute(`role`,`listbox`),oU.set(e.key,t),aU.set(e.key,n)}gf(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===IH,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 pU(){return eU}function mU(){return XH}function hU(){return If.snapshot().focusedSessionId}function gU({rail:e,center:t,resizer:n}){if(KH=e,JH=t,!KH||!JH)return;let r=KH,i=JH;yU(n),r.removeAttribute(`role`),r.removeAttribute(`aria-label`),r.setAttribute(`aria-keyshortcuts`,qb(Yb)),qH=B(`button`,`focus-rail-head`),qH.type=`button`,qH.append(B(`span`,`focus-rail-head-count`),ex(Gb(`next-attention`,Yb))),qH.addEventListener(`click`,jU),AU(!1,Sj(0)),r.append(qH),ZH=B(`div`,`focus-empty`),ZH.innerHTML=`<p class="focus-empty-title"></p><p class="focus-empty-desc"></p>`,QH=ZH.querySelector(`.focus-empty-title`),$H=ZH.querySelector(`.focus-empty-desc`),YH=B(`div`,`focus-card-slot`),XH=B(`div`,`focus-header-accessory-slot`),i.append(XH,ZH,YH),r.addEventListener(`keydown`,bU)}var _U={minPx:180,maxPx:480},vU=16;function yU(e){e&&KH&&pF({resizer:e,column:KH,widthHost:KH,widthProperty:`--rail-width`,bounds:_U,keyStepPx:vU,getStoredWidth:tk,setStoredWidth:nk})}function bU(e){if(e.key===`Delete`||e.key===`Backspace`){let t=e.target instanceof HTMLElement?e.target:null,n=t?.dataset.id;if(!n||rU.get(n)!==t)return;e.preventDefault(),AF(n,nU.get(n));return}if(e.key!==`ArrowDown`&&e.key!==`ArrowUp`||e.altKey||e.metaKey||e.ctrlKey||e.shiftKey)return;let t=yj(lU(),sU,e.key===`ArrowDown`?1:-1);t!=null&&(e.preventDefault(),uU(t),rU.get(t)?.focus())}function xU(e=OF(SU)){for(let t of e)t.unseen=iU.isUnseen(t.id);return _j(e)}function SU(e){return e.nameEl?e.nameEl.textContent:e.card&&(e.card.dataset.session||e.card.dataset.id)||``}function CU(e){let{pill:t,refs:n}=BH(`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`,()=>wU(e));let i=B(`div`,`focus-pill-row`);i.setAttribute(`role`,`presentation`);let a=B(`button`,`focus-pill-remove`,`×`);return a.type=`button`,a.tabIndex=-1,GH?.matches||a.setAttribute(`aria-hidden`,`true`),a.title=`Remove session`,a.addEventListener(`click`,t=>{t.stopPropagation(),AF(e,nU.get(e))}),i.append(r,a),r._row=i,r}function wU(e){TF(e)&&IU(e)}function TU(e,{id:t,ui:n,state:r,name:i,unseen:a}){e.toggleAttribute(`data-unseen`,a);let o=VH(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=nU.get(t)||`none`;e.dataset.merge=c===`none`?``:c,e._refs.merge.textContent=vf[c]||``,e.dataset.activity=n._activity||``,e.classList.toggle(`focused`,t===hU());let l=t===sU;e.setAttribute(`aria-selected`,String(l)),e.tabIndex=l?0:-1}function EU(e,t){if(!eU)return;let n=e?.card?.dataset.id,r=n?rU.get(n):null;if(!r)return;if(t===`flag`){r.dataset.activity=e._activity||``;return}if(WH?.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)`})}Tp(EU);function DU(){if(!eU)return;let e=KH;if(!e)return;let t=OF(SU);iU.noteStates(t);let n=xU(t),r=dU(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=rU.get(e);a||(a=CU(e),rU.set(e,a)),TU(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}=fU(t);e.appendChild(n),e.appendChild(r),a(t.rows,r)}for(let[e,t]of[...oU])o.has(e)||(t.remove(),aU.get(e)?.remove(),oU.delete(e),aU.delete(e));for(let[e,t]of rU)i.has(e)||((t._row||t).remove(),rU.delete(e),e===sU&&(sU=null));for(let e of[...nU.keys()])H.has(e)||nU.delete(e);let s=hU();if(s&&!H.has(s)){If.dispatch(`focusSession`,null),sU=null;let e=n.find(e=>H.has(e.id));if(e){IU(e.id);return}}LU();let c=hU();if(c){let e=H.get(c);e&&e.card.parentElement!==YH&&PU(e,c)}kU()}function OU(){return xU().filter(bj).map(({id:e})=>e)}function kU(){let e=xj(xU());AU(e>0,Sj(e))}function AU(e,t){if(qH){if(gf(qH,`.focus-rail-head-count`).textContent=t,qH.disabled=!e,e){qH.removeAttribute(`data-empty`),qH.removeAttribute(`aria-hidden`);return}qH.dataset.empty=``,qH.setAttribute(`aria-hidden`,`true`)}}function jU(){if(!eU)return;let e=OU();if(!e.length)return;let t=vj(e,tU);if(!t)return;tU=t;let n=H.get(t),r=t===hU();TF(t),IU(t),rU.get(t)?.scrollIntoView({block:`nearest`}),r&&NU(t),MU(n,t)}function MU(e,t){e&&requestAnimationFrame(()=>requestAnimationFrame(()=>{eU&&hU()===t&&e.term?.focus()}))}function NU(e){if(WH?.matches||document.hidden)return;let t=rU.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=H.get(e)?.card;n?.animate&&n.animate([{opacity:.8},{opacity:1}],{duration:240,easing:`ease-out`})}function PU(e,t){YH&&(AP(e,t,YH,{className:`focus-centered`}),TA(e,t,!0))}function FU(){let e=hU();e&&(kP()===e&&jP(),If.dispatch(`focusSession`,null))}function IU(e){eU&&H.has(e)&&e!==hU()&&(FU(),If.dispatch(`focusSession`,e),sU=e,iU.acknowledge(e),EF(e),DU())}function LU(){if(!ZH||!QH||!$H)return;let e=hU(),t=!!(e&&H.has(e));if(ZH.hidden=t,t)return;let n=H.size>0;QH.textContent=n?`No session selected`:`Nothing to focus`,$H.textContent=n?zU():`Spawn a session to start watching.`}function RU(){return KH?.closest(`.focus-view`)?.dataset.rail===`off`}function zU(){return RU()?`Pick a session in Calm to focus it here.`:`Select a session from the rail on the left to focus it here.`}function BU(e){let t=KH?.closest(`.focus-view`);t&&(e&&t.removeAttribute(`data-rail`),e||(t.dataset.rail=`off`),LU())}function VU(e,t){nU.set(Kf(e),typeof t==`string`&&t?t:`none`),eU&&DU()}function HU(e){eU&&H.has(e)&&IU(e)}function UU(e){return!eU||!H.has(e)?!1:(IU(e),cH(e))}function WU(e){if(!eU)return;let t=lU()[e-1];t&&wU(t)}function GU(e){if(!eU)return;let t=yj(lU(),sU,e);t!=null&&(wU(t),rU.get(t)?.scrollIntoView({block:`nearest`}),MU(H.get(t),t))}function KU(){KH&&(eU=!0,FU(),sU=null,DU(),qU())}function qU(){if(!eU||hU())return;let e=DF();e&&IU(e)}function JU(){eU&&=(FU(),sU=null,!1)}function YU(e,t,n){let r=B(`a`,`settings-link`,n);return r.href=`#settings/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,r}var XU=`t-[0-9a-f]{8}`,ZU=`No findings. Open a markdown file in a connected editor.`,QU=`No intent yet. The visions proposes one after its first pass.`,$U=`Unowned`,eW=RegExp(`^${XU}$`);function tW(){return{byProject:{},unowned:[]}}function nW(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`&&eW.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 rW(e){if(Array.isArray(e))return e.map(nW).filter(e=>e!==null);let t=nW(e);return t?[t]:[]}function iW(e){let t=e?.intent;if(!t||typeof t!=`object`)return tW();let n=t;if(!(Object.hasOwn(n,`byProject`)||Object.hasOwn(n,`unowned`)||Object.hasOwn(n,`global`)))return{byProject:{},unowned:rW(n)};let r=n.byProject&&typeof n.byProject==`object`?n.byProject:{},i=[];for(let[e,t]of Object.entries(r)){let n=rW(t);n.length!==0&&e&&i.push([e,n])}return{byProject:Object.fromEntries(i),unowned:rW(Object.hasOwn(n,`unowned`)?n.unowned:n.global)}}function aW(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 oW(e,t){let n=e||tW(),r=t?.intent;if(!r||typeof r!=`object`)return n;let i=r,a=aW(Array.isArray(i.threads)?rW(i.threads):rW(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 sW(e,t=null){let n=t&&typeof t.get==`function`?t.get(e):null;return typeof n==`string`&&n?n:e}function cW(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:fW(e,r)}))}function lW(e,t=null,n=Date.now()){let r=e||tW(),i=Object.entries(r.byProject||{}).filter(([e,t])=>e&&Array.isArray(t)&&t.length>0).map(([e,n])=>({projectId:e,label:sW(e,t),threads:n})).sort((e,t)=>e.label.localeCompare(t.label)).flatMap(({projectId:e,label:t,threads:r})=>cW(r,{key:e,label:t,now:n})),a=cW(Array.isArray(r.unowned)?r.unowned:[],{key:`unowned`,label:$U,now:n});return i.length+a.length>0?[...a,...i]:[{key:`unowned`,label:$U,text:QU,hasText:!1,active:!1,meta:``}]}function uW(e){return e?.text?`proposed by visions`:``}function dW(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:hp(Number(t)-n,{rounding:`floor`,wording:`spelled`,suffix:` ago`,justNowBelowSeconds:60})}function fW(e,t=Date.now()){let n=uW(e);if(!n)return``;let r=typeof e?.id==`string`&&e.id?`thread ${e.id}, `:``,i=dW(e?.ts,t);return i?`${r}${n}, ${i}`:`${r}${n}`}function pW(e){let t=Number(e?.range?.start?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function mW(e){let t=Number(e?.range?.start?.character);return Number.isFinite(t)?t:0}function hW(e){let t=Number(e?.range?.start?.line);return Number.isFinite(t)?t:0}function gW(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 _W(e){return typeof e==`number`&&Number.isFinite(e)?Math.max(Math.floor(e),0):0}function vW(e){let t=_W(e);return t===1?`1 finding`:`${t} findings`}function yW(e){let t=_W(e);return t===1?`1 comment`:`${t} comments`}function bW(e){let t=_W(e?.findings?.length),n=_W(e?.comments?.length),r=typeof e?.hand==`string`&&e.hand?1:0,i=[];return r>0&&i.push(`raised hand`),t>0&&i.push(vW(t)),n>0&&i.push(yW(n)),i.length>0?i.join(`, `):vW(0)}function xW(e){let t=typeof e==`string`?e.trim():``;return t?`Raised hand: ${t}`:``}function SW(e){return(typeof e?.hand==`string`?e.hand.trim():``)||null}function CW(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=SW(t);return i?(n.set(r,i),n):(n.delete(r),n)}function wW(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 TW=`hand`,EW=`unseen`,DW=`
241
- `;function OW(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 kW(e,t){return OW(JSON.stringify([e,...t]))}function AW(e,t){return kW(`finding`,[e,pW(t),String(t.code??``),String(t.message??``)])}function jW(e,t){return kW(`comment`,[e,IW(t),String(t.message??``)])}function MW(e){return kW(`fix`,[e.uri,qW(e),e.code,e.message,JW(e)])}function NW(e){return kW(`intent`,[e.key,e.text,e.active])}function PW(e,t,n,r=[],i=null){let a=[...n].map(([e,t])=>kW(`hand`,[e,t])).sort(),o=new Set;for(let r of[...e.keys(),...t.keys(),...n.keys()])o.add(kW(`document`,[r]));for(let[t,n]of e)for(let e of n)o.add(AW(t,e));for(let[e,n]of t)for(let t of n)o.add(jW(e,t));for(let e of r)o.add(MW(e));for(let e of lW(i,null,0))e.hasText&&o.add(NW(e));let s=[...o].sort();return{signature:[...a,...s].join(DW),handEntries:a,contentEntries:s}}function FW(e,t){let n=new Set(t.split(DW));return e.handEntries.some(e=>!n.has(e))?TW:e.contentEntries.some(e=>!n.has(e))?EW:null}function IW(e){let t=Number(e?.line);return!Number.isFinite(t)||t<1?`L?`:`L${Math.floor(t)}`}function LW(e){return Array.isArray(e?.diagnostics)?e.diagnostics:[]}function RW(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=LW(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function zW(e){return Array.isArray(e?.comments)?e.comments:[]}function BW(e,t){let n=new Map(e),r=typeof t?.uri==`string`?t.uri:``;if(!r)return n;let i=zW(t);return i.length===0?(n.delete(r),n):(n.set(r,i),n)}function VW(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 HW(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 UW(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:gW(a)||a,hand:s,findings:[...c].sort((e,t)=>hW(e)-hW(t)||mW(e)-mW(t)),comments:[...l].sort((e,t)=>(Number(e?.line)||0)-(Number(t?.line)||0))})}return r.sort((e,t)=>WW(e.name,t.name)||WW(e.uri,t.uri)),r}function WW(e,t){return e<t?-1:+(e>t)}var GW=`No fixes yet. Silent fixes appear here once the lane applies or is refused one.`;function KW(e){let t=_W(e);return t===1?`1 fix`:`${t} fixes`}function qW(e){let t=Number(e?.line);return!Number.isFinite(t)||t<0?`L?`:`L${Math.floor(t)+1}`}function JW(e){return e?.applied===!0?`applied`:`refused`}function YW(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 XW(e){let t=typeof e?.uri==`string`?e.uri:``,n=Number(e?.ts);return YW(e?.fix,{uri:t,ts:Number.isFinite(n)?n:0})}function ZW(e,t,{max:n=20}={}){let r=XW(t);return r?[r,...e].slice(0,Math.max(0,Math.floor(n))):[...e]}function QW(e,{max:t=20}={}){let n=Array.isArray(e?.fixes)?e.fixes:[],r=[];for(let e of n){let t=YW(e);t&&r.push(t)}return r.slice(0,Math.max(0,Math.floor(t)))}var $W=`No activity yet. The ingest lane reports what your sessions and tools are doing.`,eG={terminal:`terminal`,agentLogs:`agent`,git:`git`,fs:`files`,shellHistory:`shell`,editor:`editor`};function tG(e){let t=typeof e==`string`?e:``;return eG[t]||t||`source`}function nG(e,t=Date.now()){let n=Number(e);return!Number.isFinite(n)||n<=0?``:hp(Number(t)-n,dp)}function rG(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 iG(e){let t=Array.isArray(e?.events)?e.events:[],n=[];for(let e of t){let t=rG(e);t&&n.push(t)}return n}function aG(e){let t=Number(e?.overflow);return!Number.isFinite(t)||t<=0?0:Math.floor(t)}function oG(e){let t=_W(e);return t<=0?``:t===1?`1 more event not shown`:`${t} more events not shown`}function sG(e,t){return[...e].sort((e,t)=>t.seq-e.seq).slice(0,Math.max(0,Math.floor(t)))}function cG(e,t,{max:n=100}={}){let r=iG(t);if(r.length===0)return sG(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 sG([...i.values()],n)}function lG(e,{max:t=100}={}){return sG(iG(e),t)}function uG(e){let t=_W(e);return t===1?`1 event`:`${t} events`}function dG(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 fG=new Map,pG=new Map,mG=new Map,hG=tW(),gG=new Map,_G=null,vG=null,yG=null,bG=null,xG=null,SG=[],CG=0,wG=null,TG=[],EG=null,DG=PW(fG,pG,mG,TG,hG),OG=Dk(),kG=AA({getAck:()=>OG,setAck:e=>{OG=e,Ok(e)},signature:()=>DG.signature,isLooking:()=>!Tf(_G)});function AG(){let e=B(`section`,`visions-intent`);e.append(B(`h2`,`visions-intent-title`,`Intent`));let t=B(`div`,`visions-intent-list`);return e.append(t),yG={list:t},e}function jG(e){let t=B(`div`,`visions-intent-item`),n=B(`div`,`visions-intent-head`);n.append(B(`span`,`visions-intent-scope`,e.label),B(`span`,`visions-intent-meta`,e.meta));let r=B(`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 MG(){yG&&yG.list.replaceChildren(...lW(hG,gG).map(jG))}function NG(e){gG=e instanceof Map?e:new Map,MG()}function PG(e){let t=B(`section`,`visions-doc`),n=B(`div`,`visions-doc-head`),r=B(`h2`,`visions-doc-name`);if(r.textContent=e.name,r.title=e.uri,n.append(r,B(`span`,`visions-doc-count`,bW(e))),t.append(n),e.hand&&t.append(FG(e.hand)),e.findings.length>0){let n=B(`div`,`visions-findings`);for(let t of e.findings)n.append(LG(t));t.append(n)}if(e.comments.length>0){let n=B(`div`,`visions-comments`);for(let t of e.comments)n.append(IG(t));t.append(n)}return t}function FG(e){let t=B(`div`,`visions-hand`);return t.textContent=xW(e),t}function IG(e){let t=B(`div`,`visions-comment`),n=B(`div`,`visions-comment-head`);n.append(B(`span`,`visions-comment-chip`,`visions`)),n.append(B(`span`,`visions-comment-line`,IW(e))),t.append(n);let r=B(`p`,`visions-comment-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function LG(e){let t=B(`div`,`visions-finding`);t.append(B(`span`,`visions-finding-line`,pW(e)));let n=e?.code==null?``:String(e.code);n&&t.append(B(`span`,`visions-finding-code`,n));let r=B(`span`,`visions-finding-message`);return r.textContent=e?.message==null?``:String(e.message),t.append(r),t}function RG({force:e=!1}={}){if(!vG||!e&&Tf(_G))return;vG.textContent=``;let t=UW(fG,pG,mG);if(t.length===0){let e=B(`p`,`visions-empty`,ZU);if(xG===!1){let t=YU(`lanes-visions`,`visions-enabled`,`Enable Visions`);e.append(document.createTextNode(` `),t)}vG.append(e);return}for(let e of t)vG.append(PG(e))}function zG(e){xG=e?.visions?.enabled===!0,RG()}function BG(){let e=B(`section`,`visions-activity`),t=B(`div`,`visions-activity-head`);t.append(B(`h2`,`visions-activity-title`,`Activity`));let n=B(`span`,`visions-activity-count`);t.append(n),e.append(t);let r=B(`div`,`visions-activity-list`);e.append(r);let i=B(`p`,`visions-activity-overflow`);return e.append(i),wG={count:n,list:r,overflow:i},e}function VG(e,t){let n=B(`div`,`visions-activity-row`);n.append(B(`span`,`visions-activity-source`,tG(e.source))),n.append(B(`span`,`visions-activity-age`,nG(e.ts,t))),n.append(B(`span`,`visions-activity-scope`,dG(e)));let r=B(`span`,`visions-activity-summary`);return r.textContent=e.summary,n.append(r),n}function HG({force:e=!1}={}){if(!wG||!e&&Tf(_G))return;let{count:t,list:n,overflow:r}=wG;if(t.textContent=uG(SG.length),n.textContent=``,SG.length===0){n.append(B(`p`,`visions-empty`,$W)),r.textContent=``;return}let i=Date.now();for(let e of SG)n.append(VG(e,i));r.textContent=oG(CG)}function UG(){let e=B(`section`,`visions-fixes`),t=B(`div`,`visions-fixes-head`);t.append(B(`h2`,`visions-fixes-title`,`Fixes`));let n=B(`span`,`visions-fixes-count`);t.append(n),e.append(t);let r=B(`div`,`visions-fixes-list`);return e.append(r),EG={count:n,list:r},e}function WG(e){let t=B(`div`,`visions-fix-row`);t.dataset.applied=e.applied?`yes`:`no`;let n=B(`span`,`visions-fix-file`);n.textContent=gW(e.uri)||e.uri,n.title=e.uri,t.append(n),t.append(B(`span`,`visions-fix-line`,qW(e))),t.append(B(`span`,`visions-fix-outcome`,JW(e))),t.append(B(`span`,`visions-fix-code`,e.code||``));let r=B(`span`,`visions-fix-message`);return r.textContent=e.message,t.append(r),t}function GG({force:e=!1}={}){if(!EG||!e&&Tf(_G))return;let{count:t,list:n}=EG;if(t.textContent=KW(TG.length),n.textContent=``,TG.length===0){n.append(B(`p`,`visions-empty`,GW));return}for(let e of TG)n.append(WG(e))}function KG(){DG=PW(fG,pG,mG,TG,hG),DG.signature!==``&&kG.refresh(),bG&&bG(FW(DG,OG))}function qG(e){bG=e,KG()}function JG(e){if(_G)return _G;let t=B(`div`,`visions-content`);t.append(AG());let n=B(`div`,`visions-feed`);return t.append(n),t.append(UG()),t.append(BG()),e.appendChild(t),_G=t,vG=n,MG(),RG({force:!0}),GG({force:!0}),HG({force:!0}),t}function YG(){MG(),RG({force:!0}),GG({force:!0}),HG({force:!0})}function XG(){DG.signature!==``&&kG.acknowledge(),KG()}function ZG(e){TG=ZW(TG,e),GG(),KG()}function QG(e){fG=RW(fG,e),RG(),KG()}function $G(e){pG=BW(pG,e),RG(),KG()}function eK(e){mG=CW(mG,e),RG(),KG()}function tK(e){hG=oW(hG,e),MG(),KG()}function nK(e){SG=cG(SG,e),CG=aG(e),HG(),KG()}function rK(e){SG=lG(e),CG=0,HG(),KG()}function iK(e){fG=VW(e),pG=HW(e),mG=wW(e),hG=iW(e),TG=QW(e),MG(),RG(),GG(),KG()}var aK=Fs(D(),Ss());j({glimmervoidId:D().min(1),event:D().min(1),token:D().nullable().optional(),payload:aK}),j({id:D().min(1),name:D().min(1),event:D().min(1),matcher:D().optional(),type:N([`command`,`http`]),command:D().optional(),url:D().optional(),timeout:O().int().positive().optional(),enabled:k(),projects:A(D()).optional()}).passthrough();var oK=`Claude Code hooks injected into every session Glimmervoid spawns.`,sK=`Loading hooks`,cK=`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.`,lK=`Start from`,uK=`Filter by name, event or command`,dK=`Nothing matches that filter.`,fK=`Preview`,pK=`The entry this becomes in the per-session settings file.`,mK=`Duplicate`,hK=`Discard changes`,gK=`Close the editor and lose the unsaved changes?`,_K=`Esc cancels. Ctrl+Enter saves.`,vK=`A change reaches a session at its next start or restart. Claude Code sessions only; Codex and Grok sessions do not read this file.`,yK=`Glimmervoid's own hooks`,bK=`Always present, read-only. Status detection depends on them.`,xK=`Your hooks`,SK=`New hook`,CK=`Edit hook`,wK=`Saved to config.json.`,TK=`All projects`,EK=`This event takes no matcher.`,DK=`Blank uses Claude Code's default for the event.`,OK=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.`}]),kK=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`}}]),AK=Object.freeze({hooks:[],builtin:[],events:[]});function jK(e){return!e||typeof e.error==`string`}function MK(e){return!e||typeof e.error!=`string`?``:e.error}function NK(e,t){let n=e?.[t];return Array.isArray(n)?n:AK[t]}var PK=e=>NK(e,`hooks`),FK=e=>NK(e,`builtin`),IK=e=>NK(e,`events`);function LK(e){let t=e?.limits?.maxTimeoutSec;return typeof t==`number`&&Number.isInteger(t)&&t>0?t:600}function RK(e,t){if(!e||typeof e!=`object`)return!1;let n=e.requestId;return typeof n!=`string`||!t||n===t}function zK(e){let t=PK(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(FK(e).length),tone:null}]}function BK(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 VK(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 HK(e){return e.length>=4}function UK(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&e.event===n.event){e.hooks.push(n);continue}t.push({event:n.event,hooks:[n]})}return t}function WK(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 GK(e){return`${e} copy`}function KK(e,t){return e.find(e=>e.name===t)||null}function qK(e,t){let n=KK(e,t);return n?n.matcher?`Matches ${n.matcher}. Blank matches every ${n.name}.`:EK:``}function JK(e){return e.type===`http`?e.url||``:e.command||``}function YK(e){let t=OK.find(t=>t.value===e);return t?t.label:String(e||``)}function XK(e){return!Number.isInteger(e.timeout)||Number(e.timeout)<=0?``:`${e.timeout}s timeout`}function ZK(e,t){let n=Array.isArray(e.projects)?e.projects:[];return n.length===0?TK:n.map(e=>{let n=t.find(t=>t.id===e);return n?n.name:e}).join(`, `)}function QK(e){return e.matcher?`${e.event} / ${e.matcher}`:e.event}function $K(e){return QK(e)}function eq(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 tq(e){let t=e[0];return{id:null,name:``,event:t?t.name:``,matcher:``,type:`command`,command:``,url:``,timeout:``,enabled:!0,projects:[]}}function nq(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 rq(e,t,n=600){if(!e.name.trim())return`Give the hook a name.`;let r=KK(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 iq(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 aq(e,t){let n={...tq(t),...e.draft};return KK(t,n.event)||(n.event=tq(t).event),n}function oq(e,t){return JSON.stringify(iq(e))!==JSON.stringify(t)}function sq(e){return{...e,enabled:e.enabled===!1}}function cq(e){return`Delete the hook "${e.name}"? Sessions already running keep it until they restart.`}var lq=null,uq=null,dq=null,fq=null,pq=null,mq=null,hq=null,gq=null,_q=!1,vq=null,yq=``,bq=new Set,xq=new Set,Sq=!1,Cq=(e,t)=>Sf(`hooks`,e,t);function wq(e,t,n){let r=B(`p`,e,t);return n&&(r.dataset.tone=n),r}function Tq(e,t,n,r){let i=B(`button`,e,t);return i.type=`button`,r&&i.setAttribute(`aria-label`,r),i.addEventListener(`click`,n),i}function Eq(e){if(!dq)return null;let t=rf(`hooks`);return dq({requestId:t,...e}),t}function Dq(e,t,n){let r=B(`label`,`hooks-field`);return r.append(B(`span`,`hooks-field-label`,e),t),n&&r.append(B(`span`,`hooks-field-hint`,n)),r}function Oq(e,t,n){let r=B(`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 kq(e,t){let n=B(`textarea`,`settings-view-input hooks-command`);return n.rows=3,n.value=e,n.spellcheck=!1,n.addEventListener(`input`,()=>t(n.value)),n}function Aq(e,t,n){let r=B(`select`,`settings-view-input hooks-select`);for(let n of t){let t=B(`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 jq(e,t){let n=B(`div`,`hooks-type-row`);n.setAttribute(`role`,`radiogroup`);for(let r of OK){let i=B(`label`,`settings-view-toggle hooks-choice`),a=B(`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,B(`span`,null,r.label)),n.append(i)}return n}function Mq(e,t){let n=B(`div`,`hooks-projects`);if(t.length===0)return n.append(B(`span`,`hooks-field-hint`,TK)),n;let r=B(`label`,`settings-view-project-choice hooks-choice`),i=B(`input`,`settings-view-checkbox`);i.type=`checkbox`,i.checked=e.projects.length===0,r.append(i,B(`span`,null,TK)),n.append(r);let a=[];for(let r of t){let t=B(`label`,`settings-view-project-choice hooks-choice`),o=B(`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,B(`span`,null,r.name)),r.agent!==`claude-code`&&(t.append(B(`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;return}for(let e of a)e.checked=!1;e.projects=[]}),n}function Nq(e){let t=B(`div`,`hooks-templates`);t.append(B(`span`,`hooks-templates-label`,lK));for(let n of kK){let r=Tq(`hooks-chip`,n.label,()=>Iq(null,aq(n,e)));r.title=n.summary,t.append(r)}return t}function Pq(e){gq&&(gq.textContent=e||``,gq.hidden=!e)}function Fq(e){let t=IK(lq),n=wf(lq),r=Cq(e.id?CK:SK,wK);r.classList.add(`hooks-editor`);let i=B(`form`,`hooks-form`);i.addEventListener(`submit`,e=>{e.preventDefault(),zq()}),i.addEventListener(`keydown`,e=>{if(e.key===`Escape`){e.preventDefault(),Rq();return}e.key===`Enter`&&(e.ctrlKey||e.metaKey)&&(e.preventDefault(),zq())}),e.id||i.append(Nq(t));let a=B(`span`,`hooks-field-hint`,qK(t,e.event)),o=Oq(e.matcher,``,t=>{e.matcher=t}),s=Dq(`Command`,kq(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=Dq(`URL`,Oq(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=Dq(`Matcher`,o,null);u.append(a);let d=()=>{let n=t.find(t=>t.name===e.event);a.textContent=qK(t,e.event),o.disabled=!!n&&!n.matcher,o.disabled&&(o.value=``,e.matcher=``)};d();let f=B(`input`,`settings-view-input hooks-timeout`);f.type=`number`,f.inputMode=`numeric`,f.min=`1`,f.max=String(LK(lq)),f.value=e.timeout,f.addEventListener(`input`,()=>{e.timeout=f.value});let p=B(`label`,`settings-view-toggle hooks-choice`),m=B(`input`,`settings-view-checkbox`);m.type=`checkbox`,m.checked=e.enabled,m.addEventListener(`change`,()=>{e.enabled=m.checked}),p.append(m,B(`span`,null,`Enabled`)),i.append(Dq(`Name`,Oq(e.name,`Lint after edits`,t=>{e.name=t}),null),Dq(`Event`,Aq(e,t,t=>{e.event=t,d()}),null),u,Dq(`Type`,jq(e,t=>{e.type=t,l()}),null),s,c,Dq(`Timeout (seconds)`,f,DK),Dq(`Projects`,Mq(e,n),null),Dq(``,p,null)),gq=B(`p`,`hooks-editor-error`),gq.setAttribute(`role`,`alert`),gq.hidden=!0;let h=B(`div`,`hooks-editor-footer`),g=B(`span`,`hooks-editor-shortcut`,_K),_=Tq(`btn-dialog btn-dialog-cancel`,`Cancel`,Rq),v=B(`button`,`btn-dialog btn-dialog-confirm`,e.id?`Save changes`:`Add hook`);return v.type=`submit`,h.append(gq,g,_,v),i.append(h),r.append(i),r}function Iq(e,t=null){pq=t||(e?nq(e):tq(IK(lq))),mq=iq(e?nq(e):tq(IK(lq))),hq=Fq(pq),Xq({force:!0}),hq.scrollIntoView({block:`nearest`});let n=hq.querySelector(`input[type=text]`);n instanceof HTMLInputElement&&n.focus()}function Lq(){pq=null,mq=null,hq=null,gq=null,_q=!1,vq=null,Sq=!0,Xq({force:!0})}function Rq(){if(!pq||!mq||!oq(pq,mq)){Lq();return}$f({title:hK,message:gK,confirmLabel:`Discard`,danger:!0,onConfirm:Lq})}function zq(){if(!pq||_q)return;let e=rq(pq,IK(lq),LK(lq));if(e){Pq(e);return}_q=!0,Pq(``),vq=Eq({type:`save-hook`,hook:iq(pq)}),vq||(_q=!1)}function Bq(e){let t=B(`details`,`hooks-preview`);t.open=bq.has(e.id),t.addEventListener(`toggle`,()=>{if(t.open){bq.add(e.id);return}bq.delete(e.id)});let n=B(`summary`,`hooks-preview-summary`,fK);n.title=pK;let r=B(`pre`,`hooks-preview-code`,WK(e));return t.append(n,r),t}function Vq(e,{grouped:t=!1}={}){let n=wf(lq),r=B(`article`,`hooks-row`);r.setAttribute(`aria-label`,e.name),e.enabled===!1&&(r.dataset.state=`off`);let i=B(`div`,`hooks-row-main`),a=B(`div`,`hooks-row-head`);a.append(B(`span`,`hooks-row-name`,e.name));let o=t?e.matcher||``:QK(e);o&&a.append(B(`span`,`hooks-row-event`,o));let s=B(`code`,`hooks-row-target`,JK(e));s.title=JK(e);let c=B(`p`,`hooks-row-meta`,[YK(e.type),XK(e),ZK(e,n)].filter(Boolean).join(` / `));i.append(a,s,c);let l=eq(e,n);l.length>0&&i.append(wq(`hooks-row-meta`,`Scoped to a project no longer in config: ${l.join(`, `)}`,`warn`)),i.append(Bq(e));let u=B(`div`,`hooks-row-actions`),d=B(`label`,`settings-view-toggle hooks-choice`),f=B(`input`,`settings-view-checkbox`);f.type=`checkbox`,f.checked=e.enabled!==!1,f.disabled=xq.has(e.id),f.setAttribute(`aria-label`,`${e.name} enabled`),f.addEventListener(`change`,()=>{xq.add(e.id),f.disabled=!0,Eq({type:`save-hook`,hook:sq(e)})}),d.append(f,B(`span`,null,`On`));let p=Tq(`hooks-btn`,`Edit`,()=>Iq(e),`Edit ${e.name}`),m=Tq(`hooks-btn`,mK,()=>{let t=nq({...e,name:GK(e.name)});t.id=null,Iq(null,t)},`Duplicate ${e.name}`),h=Tq(`hooks-btn hooks-btn-danger`,`Delete`,()=>{$f({title:`Delete hook`,message:cq(e),confirmLabel:`Delete`,danger:!0,onConfirm:()=>{xq.add(e.id),Eq({type:`delete-hook`,id:e.id}),Xq({force:!0})}})},`Delete ${e.name}`);return h.disabled=xq.has(e.id),u.append(d,p,m,h),r.append(i,u),r}function Hq(e){let t=B(`article`,`hooks-row hooks-row-builtin`),n=B(`div`,`hooks-row-main`);return n.append(B(`span`,`hooks-row-event`,$K(e)),B(`p`,`hooks-row-meta`,e.purpose)),t.append(n),t}function Uq(){let e=Cq(`Hooks`,oK),t=B(`div`,`hooks-stats`);for(let e of zK(lq))t.append(Cf(`hooks`,e.label,e.value,e.tone));return e.append(t,wq(`hooks-meta`,vK)),e}function Wq(){let e=B(`input`,`settings-view-input hooks-filter`);return e.type=`search`,e.value=yq,e.placeholder=uK,e.setAttribute(`aria-label`,uK),e.addEventListener(`input`,()=>{yq=e.value;let t=uq?.querySelector(`.hooks-list-yours`);t&&t.replaceWith(Kq())}),e}function Gq(){let e=B(`div`,`hooks-empty-state`);return e.append(wq(`hooks-empty`,cK),Nq(IK(lq))),e}function Kq(){let e=B(`div`,`hooks-list-yours`),t=PK(lq);if(t.length===0)return e.append(Gq()),e;let n=VK(BK(t,IK(lq)),yq);if(n.length===0)return e.append(wq(`hooks-empty`,dK)),e;for(let t of UK(n)){let n=B(`div`,`hooks-group`);n.append(B(`h3`,`hooks-group-title`,t.event));let r=B(`div`,`hooks-list`);for(let e of t.hooks)r.append(Vq(e,{grouped:!0}));n.append(r),e.append(n)}return e}function qq(){let e=Cq(xK,null),t=Tq(`hooks-btn hooks-btn-add`,`+ New hook`,()=>Iq(null));t.disabled=!!pq;let n=e.querySelector(`.hooks-section-head`);return n&&n.append(t),HK(PK(lq))&&e.append(Wq()),e.append(Kq()),e}function Jq(){let e=B(`details`,`hooks-builtin`),t=B(`summary`,`hooks-builtin-summary`);t.append(B(`span`,`hooks-section-title`,`${yK} (${FK(lq).length})`),B(`span`,`hooks-section-hint`,bK));let n=B(`div`,`hooks-list`);for(let e of FK(lq))n.append(Hq(e));return e.append(t,n),e}function Yq(){let e=B(`div`,`hooks-content`);return lq?jK(lq)?(e.append(wq(`hooks-warning`,MK(lq))),e):(e.append(Uq()),hq&&e.append(hq),e.append(qq(),Jq()),e):(e.append(wq(`hooks-empty`,sK)),e)}function Xq({force:e=!1}={}){if(!uq||!e&&Tf(uq)||(uq.replaceChildren(Yq()),!Sq))return;Sq=!1;let t=uq.querySelector(`.hooks-btn-add`);t instanceof HTMLButtonElement&&t.focus()}function Zq(e){dq=e}function Qq(){dq&&(fq=rf(`hooks-report`),dq({type:`request-hooks-report`,requestId:fq}))}function $q(e){uq||(uq=B(`div`,`hooks-panel`),e.append(uq),Xq({force:!0}))}function eJ(){Xq({force:!0})}function tJ(e){RK(e,fq)&&(lq=e,xq.clear(),_q=!1,Xq())}function nJ(e){let t=vq!==null&&e.requestId===vq;if(t&&(vq=null,_q=!1),e.ok){t&&Lq(),Qq();return}let n=typeof e.error==`string`&&e.error?e.error:`Could not save the hook`;if(t){Pq(n);return}GS(n,{persist:!0}),Qq()}function rJ(e){e.ok||GS(typeof e.error==`string`&&e.error?e.error:`Could not delete the hook`,{persist:!0}),Qq()}function iJ(e,t,n){return{body:String(n||`Session needs attention`),tag:`glimmervoid-${e||``}-${t||``}`,renotify:!0,silent:!0}}var aJ=4e3;function oJ(e,t){return`glimmervoid-notify-claim-${e||``}-${t||``}`}function sJ(e,t,n,r=aJ){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 cJ(){return typeof Notification>`u`?null:Notification}function lJ(){return cJ()!==null}function uJ(){let e=cJ();return e?e.permission:`unavailable`}async function dJ(){let e=cJ();if(!e)return`denied`;if(e.permission!=="default")return e.permission;try{return await e.requestPermission()}catch{return e.permission}}function fJ(){let e=cJ();e&&UO()&&e.permission==="default"&&dJ()}function pJ({session:e,category:t,message:n,kind:r,ignoreFocus:i=!1}={}){let a=cJ();if(a&&UO()&&a.permission===`granted`&&(i||typeof document>`u`||typeof document.hasFocus!=`function`||!document.hasFocus())&&sJ(window.localStorage,oJ(e,t),Date.now()))try{let i=new a(`Glimmervoid`,iJ(e,t,n));i.onclick=()=>{window.focus(),r===`plan`&&typeof e==`string`&&(window.location.hash=CL(e)),i.close()}}catch{}}function mJ(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}})}var hJ=[{name:`glimmervoid`,state:F.RUNNING,awaitingBackgroundTasks:!1},{name:`glimmervoid (2)`,state:F.RUNNING,awaitingBackgroundTasks:!0},{name:`api`,state:F.WAITING,awaitingBackgroundTasks:!1},{name:`docs-site`,state:F.IDLE,awaitingBackgroundTasks:!1}];function gJ(){let e=B(`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 hJ){let{pill:n,refs:r}=BH(`div`,`focus-pill compact-status-preview-pill`);r.name.textContent=t.name,VH(n,r,t.state,t.awaitingBackgroundTasks),e.append(n)}return e}var _J=null,vJ=null,yJ=null,bJ=null,xJ=-1,SJ=null,CJ=1;function wJ(){if(!_J||SJ===null)return;let e=SO({viewportWidthPx:document.documentElement.clientWidth,viewportHeightPx:document.documentElement.clientHeight,verticalProgress:SJ});pf(_J,CO(e,CJ))}function TJ(){bJ!==null&&(clearTimeout(bJ),bJ=null)}function EJ(e=ZO()){return mO({isEnabled:e,hasReducedMotion:window.matchMedia(`(prefers-reduced-motion: reduce)`).matches,isPhone:Uf(),options:Bk()})}function DJ(e,t){if(!_J||!vJ||!yJ||EJ())return;let n=Bk();TJ();let r=pO(n,xJ,Math.random,t);if(_J.onanimationend=null,_J.style.animation=`none`,!r){bJ=setTimeout(()=>DJ(!1),1e3);return}SJ=r.verticalProgress,CJ=n.flyingAnimalsScale,wJ();let i=oO[r.animalIndex];vJ.className=`nyan-sprite ${i.sprite}`,yJ.className=`nyan-trail ${i.trail}`,xJ=r.animalIndex,_J.offsetWidth,_J.style.animation=`nyan-fly ${r.durationSeconds}s linear`,e&&(_J.style.animationDelay=`-${r.firstDelaySeconds}s`),_J.onanimationend=e=>{_J&&e.target===_J&&(_J.onanimationend=null,_J.style.animation=`none`,bJ=setTimeout(()=>DJ(!1),r.gapMs))}}function OJ(){_J||EJ()||(_J=document.createElement(`div`),_J.className=`nyan-flight`,_J.setAttribute(`aria-hidden`,`true`),yJ=document.createElement(`div`),vJ=document.createElement(`div`),_J.append(yJ,vJ),document.body.appendChild(_J),window.addEventListener(`resize`,wJ),window.addEventListener(`orientationchange`,wJ),DJ(!0))}function kJ(e){OJ(),DJ(!1,e)}function AJ(){TJ(),window.removeEventListener(`resize`,wJ),window.removeEventListener(`orientationchange`,wJ),_J?.remove(),_J=null,vJ=null,yJ=null,xJ=-1,SJ=null}var jJ=!1;function MJ(e){let t=document.documentElement;if(jJ||(jJ=!0,Wf(()=>MJ(ZO())),window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,()=>MJ(ZO()))),e){if(t.dataset.flyingAnimals=`true`,EJ(e)){AJ();return}OJ();return}delete t.dataset.flyingAnimals,AJ()}function NJ(){let e=B(`div`),t=B(`p`,`flying-animals-status`);t.id=`flying-animals-gallery-status`,t.setAttribute(`role`,`status`);let n=B(`div`,`flying-animals-gallery`);n.setAttribute(`aria-label`,`Animal gallery`);let r=[],i=()=>{let e=EJ(),n=dO(Bk().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=Bk();for(let e of oO){let o=B(`article`,`flying-animal-tile`),s=Wk(e),c=B(`label`,`flying-animal-include`),l=B(`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(Bk().flyingAnimalsExcludedSprites);l.checked&&t.delete(e.sprite),l.checked||t.add(e.sprite),zk([...t]),MJ(ZO()),i()}),c.append(l,document.createTextNode(`Include`));let u=B(`button`,`btn-dialog btn-dialog-cancel`,`Fly now`);u.type=`button`,u.setAttribute(`aria-describedby`,t.id),u.addEventListener(`click`,()=>kJ(e.sprite)),r.push(u),o.append(s,B(`h2`,`flying-animal-name`,e.name),c,u),n.append(o)}return i(),e.append(t,n),e}var PJ=`johncwaters/glimmervoid`,FJ=Object.freeze([`opened`,`checks-failed`,`review-requested`,`approved`,`commented`,`merged`]),IJ=Object.freeze([`notify`,`spawn`,`label`,`comment`]),LJ=2e4,RJ=65536,zJ=/^[a-z0-9][a-z0-9-]{0,63}$/,BJ=/[\x00-\x1f\x7f,]|^-/,VJ=(e,t)=>{let n=`${e} must be an integer between ${t.min} and ${t.max}`;return O({error:n}).int({error:n}).min(t.min,{error:n}).max(t.max,{error:n})},HJ=k({error:`workflows.enabled must be a boolean`}),UJ=VJ(`workflows.maxConcurrentSessions`,rO),WJ=VJ(`workflows.maxActionsPerPoll`,iO),GJ=(e,t)=>A(t,{error:`${e} must be an array`}).min(1,{error:`${e} must list at least one entry when present`}),KJ=D({error:`a workflow label name must be a string`}).trim().min(1,{error:`a workflow label name must not be empty`}).max(50,{error:`a workflow label name must be at most 50 characters`}).refine(e=>!BJ.test(e),{error:`a workflow label name must not start with a dash or hold a comma or control character`}),qJ=D({error:`a workflow comment body must be a string`}).min(1,{error:`a workflow comment body must not be empty`}).max(RJ,{error:`a workflow comment body must be at most ${RJ} characters`}).refine(e=>e.trim().length>0,{error:`a workflow comment body must not be blank`}),JJ=N(FJ,{error:`workflows.rules[].trigger must be one of ${FJ.join(`, `)}`}),YJ=js(`type`,[M({type:P(`notify`)}),M({type:P(`spawn`),promptTemplate:D({error:`a spawn action needs a promptTemplate string`}).min(1,{error:`a spawn action promptTemplate must not be empty`}).max(LJ,{error:`a spawn action promptTemplate must be at most ${LJ} characters`}).refine(e=>e.trim().length>0,{error:`a spawn action promptTemplate must not be blank`})}),M({type:P(`label`),name:KJ}),M({type:P(`comment`),body:qJ})],{error:`workflows.rules[].actions[].type must be one of ${IJ.join(`, `)}`}),XJ=M({mine:k({error:`workflows.rules[].filters.mine must be a boolean`}).optional(),teamReviewRequested:k({error:`workflows.rules[].filters.teamReviewRequested must be a boolean`}).optional(),authors:GJ(`workflows.rules[].filters.authors`,D({error:`workflows.rules[].filters.authors must hold GitHub logins`}).regex(fc,{error:`workflows.rules[].filters.authors must hold GitHub logins`})).optional(),labels:GJ(`workflows.rules[].filters.labels`,KJ).optional(),baseBranches:GJ(`workflows.rules[].filters.baseBranches`,D({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`}),ZJ=D({error:`workflows.rules[].id must be a string`}).regex(zJ,{error:`workflows.rules[].id must be 1 to 64 lowercase letters, digits and dashes, starting with a letter or digit`}),QJ=k({error:`workflows.rules[].enabled must be a boolean`}),$J=M({id:ZJ,name:D({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:QJ.default(!1),repos:GJ(`workflows.rules[].repos`,mu),filters:XJ.default({}),trigger:JJ,actions:GJ(`workflows.rules[].actions`,YJ)},{error:`workflows.rules[] must be an object`}),eY=M({enabled:HJ.default(!0),maxConcurrentSessions:UJ.default(2),maxActionsPerPoll:WJ.default(20),rules:A($J,{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()){if(!n.has(i.id)){n.add(i.id);continue}t.addIssue({code:`custom`,path:[`rules`,r,`id`],message:`workflows.rules[${r}].id "${i.id}" is declared more than once`})}}),tY=M({id:ZJ,enabled:QJ},{error:`a dashboard update of workflows.rules[] carries only id and enabled`});M({enabled:HJ.optional(),maxConcurrentSessions:UJ.optional(),maxActionsPerPoll:WJ.optional(),rules:A(tY,{error:`workflows.rules must be an array`}).optional()},{error:`a dashboard update of workflows carries only enabled, maxConcurrentSessions, maxActionsPerPoll and rule toggles`});var nY=O().int().nonnegative(),rY=N([`SUCCESS`,`FAILURE`,`PENDING`,`ERROR`,`EXPECTED`]).nullable();Lu.extend({author:j({login:D()}).nullable(),labels:j({nodes:A(j({name:D()}))}),comments:j({totalCount:nY})});var iY=M({polledAtMs:nY,prs:A(M({repo:mu,number:O().int().positive(),title:D(),url:$o(),author:D().nullable(),state:N([`OPEN`,`MERGED`,`CLOSED`]),createdAt:D(),mergedAt:D().nullable(),isDraft:k(),isCrossRepository:k(),baseRefName:D(),headRefName:D().min(1),headRefOid:I,labels:A(D()),commentCount:nY,reviewRequests:A(D()),checksState:rY,reviewDecision:N([`APPROVED`,`CHANGES_REQUESTED`,`REVIEW_REQUIRED`]).nullable()}))});M({repos:Fs(D().regex(/^[a-z0-9][a-z0-9._-]*\/[a-z0-9][a-z0-9._-]*$/),iY)});var aY={maxConcurrentInvestigations:Math.ceil,minUsersToInvestigate:Math.ceil,userEscalationThreshold:Math.ceil,trafficSpikeMinUsers:Math.ceil,trafficSpikeBaselineDays:Math.floor};[...Object.entries(aY).map(([e,t])=>({path:[`posthog`,e],min:1,round:t}))];var oY=Object.freeze([`auto`,`calculate`,`display`]),sY=Object.freeze([`codex`,`grok`]),cY=Object.freeze([`dailyUsd`,`monthlyUsd`]),lY=e=>k({error:`${e} must be a boolean`}).optional(),uY=(e,t=!1)=>{let n=D({error:`${e} must be a string`});return(t?n.transform(e=>e.trim()):n).optional()},dY=e=>e.label?e.label:e.max==null?e.exclusiveMin?`greater than ${e.min}`:`at least ${e.min}`:`between ${e.min} and ${e.max}`,fY=(e,t=wD)=>O({error:`${e} must be ${dY(t)}`}).finite().refine(e=>!t.exclusiveMin||e>t.min,{message:`${e} must be ${dY(t)}`}).refine(e=>t.exclusiveMin||e>=t.min,{message:`${e} must be ${dY(t)}`}).refine(e=>t.max==null||e<=t.max,{message:`${e} must be ${dY(t)}`}).optional(),pY=(e,t)=>fY(e,t).unwrap().int({error:`${e} must be a whole number ${dY(t)}`}).optional(),mY=(e,t)=>O({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(),hY=(e,t)=>j(t,{error:`${e} must be an object`}).nullable().optional(),gY=Object.freeze([`claude`,`codex`]),_Y=Object.freeze([`release`,`main`]),vY=Object.freeze([`report`,`fix`]);hY(`changeMap`,{narrator:hY(`changeMap.narrator`,{enabled:lY(`changeMap.narrator.enabled`),engine:N(gY,{error:`changeMap.narrator.engine must be one of ${gY.join(`, `)}`}).optional(),model:uY(`changeMap.narrator.model`,!0),timeoutSeconds:mY(`changeMap.narrator.timeoutSeconds`,tO)})}),j({refiner:j({enabled:lY(`taskTitle.refiner.enabled`),model:uY(`taskTitle.refiner.model`,!0),minIntervalSeconds:fY(`taskTitle.refiner.minIntervalSeconds`,{min:0}),timeoutSeconds:fY(`taskTitle.refiner.timeoutSeconds`,{min:0,exclusiveMin:!0,max:2147483647/1e3})},{error:`taskTitle.refiner must be an object`}).nullable().optional()},{error:`taskTitle must be an object`}).nullable().optional();var yY={enabled:lY(`branchGc.enabled`),worktrees:lY(`branchGc.worktrees`),prefixes:A(D({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:lY(`branchGc.dryRun`),staleDays:fY(`branchGc.staleDays`,AD),deleteUnmerged:lY(`branchGc.deleteUnmerged`),intervalMs:fY(`branchGc.intervalMs`,jD)},bY=j(yY,{error:`branchGc must be an object`});hY(`branchGc`,yY),bY.omit({prefixes:!0,dryRun:!0,worktrees:!0}).nullable().optional(),Object.freeze([`enabled`,`deleteUnmerged`]),Object.freeze([`staleDays`,`intervalMs`]),hY(`postTurnChecks`,{mode:N(vY,{error:`postTurnChecks.mode must be one of report, fix`}).optional()}),hY(`visions`,{enabled:lY(`visions.enabled`),autoFix:lY(`visions.autoFix`),projects:A(D({error:`visions.projects must be an array of strings`}),{error:`visions.projects must be an array of strings`}).optional(),dispatch:hY(`visions.dispatch`,{enabled:lY(`visions.dispatch.enabled`),model:uY(`visions.dispatch.model`,!0),quietMs:pY(`visions.dispatch.quietMs`,MD),cooldownMs:pY(`visions.dispatch.cooldownMs`,ND),maxPerHour:pY(`visions.dispatch.maxPerHour`,PD),activityMaxPerHour:pY(`visions.dispatch.activityMaxPerHour`,FD),dispatchTimeoutSeconds:pY(`visions.dispatch.dispatchTimeoutSeconds`,ID)}),intent:hY(`visions.intent`,{threadTtlMs:pY(`visions.intent.threadTtlMs`,LD)})}),j({teams:A(D({error:`github.teams must be an array of org/slug strings`}).refine(e=>hc(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(),hY(`teamReview`,{enabled:lY(`teamReview.enabled`),autoRebaseMyPrs:lY(`teamReview.autoRebaseMyPrs`),keepMergeableEnabled:lY(`teamReview.keepMergeableEnabled`),mergeQueueEnabled:lY(`teamReview.mergeQueueEnabled`),keepMergeableTimeoutMinutes:mY(`teamReview.keepMergeableTimeoutMinutes`,nO),org:uY(`teamReview.org`,!0),team:uY(`teamReview.team`,!0),skill:uY(`teamReview.skill`,!0),reReviewAfterHours:fY(`teamReview.reReviewAfterHours`),skipIdleAfterDays:fY(`teamReview.skipIdleAfterDays`)}),hY(`benchmarks`,{enabled:lY(`benchmarks.enabled`)}),j({enabled:lY(`factory.enabled`),maxRisk:Vc.optional(),maxLiveWorkers:O().int().min(CD.min).optional(),checks:A(D().trim().min(1)).optional(),protectedPaths:A(D().trim().min(1)).optional(),reviewerModel:D().trim().min(1).nullable().optional(),watchWindowMinutes:O().int().min(SD.min).max(SD.max).optional(),watchProjects:A(j({project:D().trim().min(1),posthogProjectId:O().int().positive()})).optional(),dailyBudgetUsd:O().finite().nonnegative().nullable().optional(),verifierModel:D().trim().min(1).nullable().optional()}).nullable().optional(),hY(`knowledgeGraph`,{enabled:lY(`knowledgeGraph.enabled`)});var xY={intervalMinutes:RD,maxConcurrentInvestigations:zD,investigationTimeoutSeconds:BD,fixTimeoutSeconds:GD,minUsersToInvestigate:VD,userEscalationThreshold:HD,recurrenceWindowDays:UD,transientRecurrenceLimit:WD,trafficSpikeMultiplier:KD,trafficSpikeMinUsers:qD,trafficSpikeCooldownMinutes:JD,trafficSpikeBaselineDays:YD};hY(`posthog`,{enabled:lY(`posthog.enabled`),recurrenceDedupe:lY(`posthog.recurrenceDedupe`),trafficSpikeEnabled:lY(`posthog.trafficSpikeEnabled`),autoFix:lY(`posthog.autoFix`),host:uY(`posthog.host`,!0).refine(e=>e==null||!e||/^https?:\/\//i.test(e),{message:`posthog.host must be an http(s) URL`}),apiKey:uY(`posthog.apiKey`,!0),repoPath:uY(`posthog.repoPath`,!0),projects:ks([P(`all`),A(O({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:Fs(D(),Ss(),{error:`posthog.projectMap must be an object`}).optional(),...Object.fromEntries(Object.entries(xY).map(([e,t])=>[e,Object.hasOwn(aY,e)?pY(`posthog.${e}`,t):fY(`posthog.${e}`,t)]))}),`${oY.join(`, `)}`,Object.fromEntries(sY.map(e=>[e,lY(`usage.vendors.${e}`)])),Object.fromEntries(cY.map(e=>[e,O({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()])),hY(`telegram`,{botToken:uY(`telegram.botToken`,!0),chatId:uY(`telegram.chatId`,!0)}),j({enabled:lY(`ingest.enabled`)},{error:`ingest must be an object`}).passthrough().optional(),j({enabled:lY(`trace.enabled`)},{error:`trace must be an object`}).optional(),j({enabled:lY(`planReview.enabled`)},{error:`planReview must be an object`}).optional();var SY={enabled:lY(`agentApi.enabled`)};j(SY,{error:`agentApi must be an object`}).strict().optional(),j(SY,{error:`agentApi must be an object`}).passthrough().optional();var CY={enabled:lY(`telemetry.enabled`)};j(CY,{error:`telemetry must be an object`}).strict().optional(),j(CY,{error:`telemetry must be an object`}).passthrough().optional();function wY(e){return e.map(e=>({value:e,label:e[0].toUpperCase()+e.slice(1)}))}var TY=Object.freeze({general:`machine-general`,updates:`machine-updates`,terminal:`machine-terminal`,repos:`machine-repositories`,repositories:`machine-repositories`,advanced:`machine-detection-sessions`,detection:`machine-detection-sessions`,telegram:`machine-telegram`,notifications:`machine-telegram`,"change-map":`lanes-change-map`,visions:`lanes-visions`,ingest:`lanes-ingest`,posthog:`lanes-posthog`,"team-review":`lanes-team-review`,reviews:`lanes-team-review`,benchmarks:`lanes-benchmarks`,factory:`lanes-factory`,"knowledge-graph":`lanes-knowledge-graph`,workflows:`lanes-workflows`,usage:`machine-usage`,privacy:`machine-privacy`,telemetry:`machine-privacy`,shortcuts:`browser-shortcuts`,animals:`browser-flying-animals`,"flying-animals":`browser-flying-animals`,unattended:`lanes-unattended`}),EY=Object.freeze({"browser-appearance":Object.freeze({"flying-animals":`browser-flying-animals`})}),DY=Object.freeze([{id:`browser-appearance`,level:`browser`,title:`Appearance and alerts`,description:`Preferences stored only in this browser.`,settings:[{id:`theme`,path:`pref:themeId`,title:`Theme`,description:`Color scheme for the dashboard.`,control:`select`,optionsFrom:`themes`,keywords:[`color`,`palette`],defaultValue:`phyrexian`},{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. Saved per browser, so turn it on in each one.`,control:`toggle`,keywords:[`sidebar`,`status`,`compact`],defaultValue:!1},{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},{id:`alert-sounds-enabled`,path:`pref:soundEnabled`,title:`Alert sounds`,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},{id:`alert-sound`,path:`pref:soundId`,title:`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`},{id:`desktop-notifications`,path:`pref:notificationsEnabled`,title:`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}]},{id:`browser-flying-animals`,level:`browser`,title:`Flying animals`,description:`Choose your flying animals. Changes apply immediately in this browser.`,settings:[{id:`flying-animals`,path:`pref:flyingAnimalsEnabled`,title:`Flying animals`,description:`Show animated animals flying across the dashboard.`,control:`toggle`,keywords:[`animation`,`motion`],defaultValue:!1},{id:`animals-min-gap`,path:`pref:flyingAnimalsMinGapSeconds`,title:`Time between flights: minimum (seconds)`,description:`Shortest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,maximumSettingId:`animals-max-gap`,keywords:[`animals`,`frequency`],defaultValue:sO.flyingAnimalsMinGapSeconds},{id:`animals-max-gap`,path:`pref:flyingAnimalsMaxGapSeconds`,title:`Time between flights: maximum (seconds)`,description:`Longest pause between flights.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_GAP_RANGE`,keywords:[`animals`,`frequency`],defaultValue:sO.flyingAnimalsMaxGapSeconds},{id:`animals-min-duration`,path:`pref:flyingAnimalsMinDurationSeconds`,title:`Flight duration: minimum (seconds)`,description:`Shortest flight, for faster animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,maximumSettingId:`animals-max-duration`,keywords:[`animals`,`speed`],defaultValue:sO.flyingAnimalsMinDurationSeconds},{id:`animals-max-duration`,path:`pref:flyingAnimalsMaxDurationSeconds`,title:`Flight duration: maximum (seconds)`,description:`Longest flight, for slower animals.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_DURATION_RANGE`,keywords:[`animals`,`speed`],defaultValue:sO.flyingAnimalsMaxDurationSeconds},{id:`animals-scale`,path:`pref:flyingAnimalsScale`,title:`Size multiplier`,description:`Scale applied on top of the viewport size.`,control:`number`,advanced:!0,commitOnChange:!0,integer:!1,step:.1,range:`FLYING_ANIMALS_SCALE_RANGE`,keywords:[`animals`,`size`],defaultValue:sO.flyingAnimalsScale},{id:`animals-on-phone`,path:`pref:flyingAnimalsOnPhone`,title:`Show on phone layout`,description:`Allow flights on the phone layout.`,control:`toggle`,advanced:!0,keywords:[`animals`,`mobile`],defaultValue:sO.flyingAnimalsOnPhone}]},{id:`browser-shortcuts`,level:`browser`,title:`Shortcuts and about`,description:`Keyboard reference and build information.`,settings:[]},{id:`machine-general`,level:`machine`,title:`General`,description:`Machine-wide session startup and diagnostics.`,settings:[{id:`auto-resume`,path:`autoResume`,title:`Auto-resume sessions on startup`,description:`Resume conversations that were live when Glimmervoid last shut down or crashed.`,control:`toggle`,keywords:[`startup`,`conversation`],defaultValue:!0},{id:`debug-mode`,path:`debugMode`,title:`Debug mode`,description:`Show session-card diagnostics for state, transitions and detection signals.`,control:`toggle`,keywords:[`diagnostics`,`state`],defaultValue:!1},{id:`calm-layout`,path:`calmLayout`,title:`Calm layout (experimental)`,description:`Replace the Focus rail with a view that prioritizes sessions needing attention and also shows ready and working indicators. Applies to every browser on this machine.`,control:`toggle`,keywords:[`experimental`,`attention`,`priority`],defaultValue:!1}],unattendedLinks:[{settingId:`skip-permissions-by-default`,title:`Skip permission prompts by default`},{settingId:`rtk-compression`,title:`rtk output compression`}]},{id:`machine-updates`,level:`machine`,title:`Updates`,description:`See which Glimmervoid version is running, which one is newest, and update in one step.`,settings:[{id:`update-summary`,path:`status:update-summary`,title:`Status`,description:`Whether this install is up to date, and what an update would move it to.`,control:`readonly`,keywords:[`version`,`available`,`current`],status:`update-summary`},{id:`update-actions`,path:`status:update-actions`,title:`Actions`,description:`Update and restart stages the newest build, then restarts to run it. Update without restart stages it for a later restart.`,control:`readonly`,keywords:[`check`,`restart`],status:`update-actions`},{id:`update-installed`,path:`status:update-installed`,title:`Running version`,description:`The version loaded when the server started, alongside the commit, branch and state of the current disk checkout.`,control:`readonly`,keywords:[`version`,`commit`,`installed`],status:`update-installed`},{id:`update-latest`,path:`status:update-latest`,title:`Latest version`,description:`The newest target found on the selected update channel.`,control:`readonly`,keywords:[`release`,`commit`],status:`update-latest`},{id:`update-last-checked`,path:`status:update-last-checked`,title:`Last checked`,description:`The most recent update check, or why automatic checks are off.`,control:`readonly`,keywords:[`time`,`failure`],status:`update-last-checked`},{id:`update-channel`,path:`updateChannel`,title:`Channel`,description:`Track tagged releases or the upstream of the checked-out branch.`,control:`select`,options:wY(_Y),keywords:[`release`,`branch`],defaultValue:`release`},{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}]},{id:`machine-terminal`,level:`machine`,title:`Terminal`,description:`Terminal behavior shared by dashboard clients.`,settings:[{id:`replay-buffer`,path:`replayBufferKB`,title:`Replay buffer (KB)`,description:`PTY output retained for clients that reconnect or join late.`,control:`number`,range:`REPLAY_BUFFER_KB_RANGE`,keywords:[`history`,`backfill`],defaultValue:512},{id:`cursor-blink`,path:`cursorBlink`,title:`Cursor blink`,description:`Blink the cursor in every terminal.`,control:`toggle`,keywords:[`caret`,`terminal`],defaultValue:!1}]},{id:`machine-detection-sessions`,level:`machine`,title:`Detection and sessions`,description:`Config-file-only detection, timing, worktree and process settings.`,settings:[{id:`file-detect-background-agents`,path:`detectBackgroundAgents`,title:`Detect background agents`,description:`Hold completion while tracked background work is active. Changes apply to newly created sessions; recreate existing sessions to apply them.`,control:`readonly`,keywords:[`subagents`,`completion`],fileOnly:!0},{id:`file-record-signals`,path:`recordSignals`,title:`Record structural signals`,description:`Keep forensic status and hook recordings for newly created sessions. Full capture (capture.enabled) records these signals even when this is off. Recreate existing sessions to change recording.`,control:`readonly`,keywords:[`recordings`,`diagnostics`],fileOnly:!0},{id:`file-trace-enabled`,path:`trace.enabled`,title:`Capture session traces`,description:`Keep normalized Claude transcript traces for session debugging. Requires a server restart.`,control:`readonly`,keywords:[`transcripts`,`diagnostics`],fileOnly:!0},{id:`file-anti-slop-prompt`,path:`antiSlopPrompt`,title:`Anti-slop prompt`,description:`Append the built-in code-quality note to Claude Code instructions. Changes apply to newly created sessions; recreate existing sessions to apply them.`,control:`readonly`,keywords:[`quality`,`instructions`],fileOnly:!0},{id:`file-detect-scheduled-wakeups`,path:`detectScheduledWakeups`,title:`Detect scheduled wakeups`,description:`Surface advisory wakeup timing for scheduled sessions. Requires a server restart to update the configuration, and newly created sessions use the change.`,control:`readonly`,keywords:[`schedule`,`sleep`],fileOnly:!0},{id:`file-worktree-auto-rebase`,path:`worktreeAutoRebase`,title:`Worktree auto-rebase`,description:`Rebase eligible session worktrees when the integration branch moves. Changes apply to newly created sessions; recreate existing sessions to apply them.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-worktree-rerere`,path:`worktreeRerere`,title:`Worktree rerere`,description:`Reuse recorded Git conflict resolutions. Requires a server restart.`,control:`readonly`,keywords:[`git`,`conflicts`],fileOnly:!0},{id:`file-integration-branch`,path:`integrationBranch`,title:`Integration branch`,description:`Base branch for session worktrees. Empty = each repo's default branch. Reload affects newly created sessions and does not retarget existing sessions.`,control:`readonly`,keywords:[`git`,`merge`],fileOnly:!0},{id:`file-worktree-root`,path:`worktreeRoot`,title:`Worktree root`,description:`Directory that contains session worktrees. Changes apply to newly created sessions and do not relocate existing worktrees; recreate existing sessions to change where they create worktrees.`,control:`readonly`,keywords:[`git`,`directory`],fileOnly:!0},{id:`file-worktree-share`,path:`worktreeShare`,title:`Shared worktree paths`,description:`Local paths copied or linked during worktree preparation. Changes apply to newly created sessions; recreate existing sessions to use a new share list.`,control:`readonly`,keywords:[`files`,`context`],fileOnly:!0},{id:`file-port`,path:`port`,title:`Local port`,description:`Port used by the local dashboard listener. Requires a server restart.`,control:`readonly`,keywords:[`server`,`listener`],fileOnly:!0},{id:`file-auto-recover-seconds`,path:`autoRecoverSeconds`,title:`Auto-recovery delay`,description:`Delay before an interrupted state can recover.`,control:`readonly`,keywords:[`timer`,`recovery`],fileOnly:!0},{id:`file-input-grace-seconds`,path:`inputGraceSeconds`,title:`Input grace period`,description:`Grace window around operator input.`,control:`readonly`,keywords:[`timer`,`prompt`],fileOnly:!0},{id:`file-prompt-detection-ms`,path:`promptDetectionMs`,title:`Prompt detection delay`,description:`Timing threshold used by prompt detection.`,control:`readonly`,keywords:[`timer`,`detection`],fileOnly:!0},{id:`file-notify-debounce-ms`,path:`notifyDebounceMs`,title:`Notification debounce`,description:`Delay used to coalesce notification state changes.`,control:`readonly`,keywords:[`timer`,`alerts`],fileOnly:!0},{id:`file-phone-escalation-ms`,path:`phoneEscalationMs`,title:`Phone escalation delay`,description:`Delay before off-dashboard escalation.`,control:`readonly`,keywords:[`timer`,`telegram`],fileOnly:!0},{id:`file-post-turn-checks`,path:`postTurnChecks`,title:`Post-turn checks`,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:`readonly`,keywords:[`quality`,`fixes`],fileOnly:!0},{id:`file-branch-gc-enabled`,path:`branchGc.enabled`,title:`Branch cleanup`,description:`Enable cleanup of eligible session branches.`,control:`readonly`,keywords:[`git`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-worktrees`,path:`branchGc.worktrees`,title:`Local worktree cleanup`,description:`Enable cleanup of eligible local worktrees.`,control:`readonly`,keywords:[`git`,`worktree`,`cleanup`],fileOnly:!0},{id:`file-branch-gc-prefixes`,path:`branchGc.prefixes`,title:`Branch cleanup prefixes`,description:`Branch prefixes that filter both remote branch cleanup and local worktree cleanup.`,control:`readonly`,keywords:[`git`,`branch`],fileOnly:!0},{id:`file-branch-gc-dry-run`,path:`branchGc.dryRun`,title:`Branch cleanup dry run`,description:`Report planned cleanup without deleting remote branches.`,control:`readonly`,keywords:[`git`,`safety`],fileOnly:!0},{id:`file-branch-gc-stale-days`,path:`branchGc.staleDays`,title:`Branch stale days`,description:`Age threshold for orphan branch cleanup when unmerged deletion is on.`,control:`readonly`,keywords:[`git`,`retention`],fileOnly:!0},{id:`file-branch-gc-interval-ms`,path:`branchGc.intervalMs`,title:`Branch cleanup interval`,description:`Delay between branch cleanup passes.`,control:`readonly`,keywords:[`git`,`schedule`],fileOnly:!0},{id:`file-custom-agents`,path:`customAgents`,title:`Custom agents`,description:`Extra agent CLIs a session can be spawned with.`,control:`readonly`,keywords:[`adapters`,`cli`],fileOnly:!0,status:`custom-agents`}]},{id:`machine-repositories`,level:`machine`,title:`Repositories`,description:`Project discovery roots for new sessions.`,settings:[{id:`repository-roots`,path:`repoRoots`,title:`Repository roots`,description:`Directories scanned for projects when adding sessions.`,control:`list`,keywords:[`folders`,`project discovery`],defaultValue:[]}]},{id:`machine-telegram`,level:`machine`,title:`Telegram`,description:`One bot shared by session, PR review and PostHog 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:``},{id:`telegram-chat-id`,path:`telegram.chatId`,title:`Chat id`,description:`Destination chat for enabled Telegram lanes.`,control:`text`,keywords:[`destination`,`channel`],defaultValue:``},{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}]},{id:`machine-usage`,level:`machine`,title:`Usage`,description:`Local transcript accounting and estimated-cost budgets.`,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`},{id:`usage-codex`,path:`usage.vendors.codex`,title:`Track Codex usage`,description:`Include local Codex CLI transcripts in usage reports.`,control:`toggle`,keywords:[`openai`,`vendor`],defaultValue:!0},{id:`usage-grok`,path:`usage.vendors.grok`,title:`Track Grok usage`,description:`Include local Grok CLI transcripts in usage reports.`,control:`toggle`,keywords:[`xai`,`vendor`],defaultValue:!0},{id:`usage-fetch-pricing`,path:`usage.fetchPricing`,title:`Fetch current model prices`,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},{id:`usage-scan-interval`,path:`usage.scanIntervalMinutes`,title:`Scan interval (minutes)`,description:`Periodic transcript polling interval. Session activity can also trigger scans between timer ticks.`,control:`number`,range:`USAGE_SCAN_INTERVAL_RANGE`,keywords:[`poll`,`refresh`],defaultValue:5},{id:`usage-retain-days`,path:`usage.retainDays`,title:`Retain transcript detail (days)`,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:`USAGE_RETAIN_DAYS_RANGE`,keywords:[`history`,`retention`],defaultValue:90},{id:`usage-cost-mode`,path:`usage.costMode`,title:`Cost mode`,description:`Choose whether recorded costs, calculated costs or both can appear.`,control:`select`,options:wY(oY),keywords:[`pricing`,`estimate`],defaultValue:`auto`},{id:`usage-daily-budget`,path:`usage.budget.dailyUsd`,title:`Daily budget (USD)`,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:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01},{id:`usage-monthly-budget`,path:`usage.budget.monthlyUsd`,title:`Monthly budget (USD)`,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:`USAGE_BUDGET_RANGE`,keywords:[`spend`,`alert`],defaultValue:null,integer:!1,nullable:!0,zeroIsNull:!0,step:.01}]},{id:`machine-privacy`,level:`machine`,title:`Privacy`,description:`What Glimmervoid sends about itself.`,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}]},{id:`lanes-change-map`,level:`lanes`,title:`Change map`,description:`Optional model narration for deterministic change facts.`,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},{id:`change-map-narrator-engine`,path:`changeMap.narrator.engine`,title:`Narrator engine`,description:`CLI used to generate change map claims.`,control:`select`,options:wY(gY),keywords:[`claude`,`codex`],defaultValue:`claude`},{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:``},{id:`change-map-narrator-timeout`,path:`changeMap.narrator.timeoutSeconds`,title:`Narrator timeout (seconds)`,description:`Maximum time allowed for one narration.`,control:`number`,range:`CHANGE_MAP_NARRATOR_TIMEOUT_RANGE`,keywords:[`deadline`,`narration`],defaultValue:90}]},{id:`lanes-visions`,level:`lanes`,title:`Visions`,description:`Editor-buffer findings and bounded model comments.`,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},{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},{id:`visions-quiet-delay`,path:`visions.dispatch.quietMs`,title:`Quiet delay (ms)`,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:`VISIONS_QUIET_MS_RANGE`,keywords:[`debounce`,`idle`],defaultValue:3e4},{id:`visions-cooldown`,path:`visions.dispatch.cooldownMs`,title:`Cooldown (ms)`,description:`Minimum delay between reviews of the same document. Initial orientation reviews bypass this delay.`,control:`number`,range:`VISIONS_COOLDOWN_MS_RANGE`,keywords:[`rate limit`,`delay`],defaultValue:3e5},{id:`visions-max-per-hour`,path:`visions.dispatch.maxPerHour`,title:`Max per hour`,description:`Maximum review sessions dispatched per hour.`,control:`number`,range:`VISIONS_MAX_PER_HOUR_RANGE`,keywords:[`rate limit`,`reviews`],defaultValue:6},{id:`visions-activity-max-per-hour`,path:`visions.dispatch.activityMaxPerHour`,title:`Activity max per hour`,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:`VISIONS_ACTIVITY_MAX_PER_HOUR_RANGE`,status:`visions-activity-limit`,keywords:[`rate limit`,`events`],defaultValue:2},{id:`visions-dispatch-timeout`,path:`visions.dispatch.dispatchTimeoutSeconds`,title:`Dispatch timeout (seconds)`,description:`Maximum time allowed for one review session.`,control:`number`,range:`VISIONS_DISPATCH_TIMEOUT_RANGE`,keywords:[`deadline`,`review`],defaultValue:180},{id:`visions-intent-thread-ttl`,path:`visions.intent.threadTtlMs`,title:`Intent thread lifetime (ms)`,description:`How long an intent thread nobody advanced stays live before it retires.`,control:`number`,range:`VISIONS_INTENT_THREAD_TTL_MS_RANGE`,keywords:[`intent`,`decay`,`thread`],defaultValue:2592e5},{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:``},{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:[]},{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}]},{id:`lanes-ingest`,level:`lanes`,title:`Ingest`,description:`Machine-context ingest behind Visions.`,settings:[{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`],defaultValue:!1},{id:`ingest-terminal`,path:`ingest.sources.terminal.enabled`,title:`Terminal output source`,description:`Include terminal output in the ingest feed.`,control:`toggle`,keywords:[`pty`,`source`],defaultValue:!1},{id:`ingest-agent-logs`,path:`ingest.sources.agentLogs.enabled`,title:`Agent logs source`,description:`Include local agent logs in the ingest feed.`,control:`toggle`,keywords:[`transcript`,`source`],defaultValue:!1},{id:`ingest-git`,path:`ingest.sources.git.enabled`,title:`Git activity source`,description:`Include local Git activity in the ingest feed.`,control:`toggle`,keywords:[`commits`,`source`],defaultValue:!1},{id:`ingest-fs`,path:`ingest.sources.fs.enabled`,title:`File changes source`,description:`Include watched file changes in the ingest feed.`,control:`toggle`,keywords:[`filesystem`,`source`],defaultValue:!1},{id:`ingest-shell-history`,path:`ingest.sources.shellHistory.enabled`,title:`Shell history source`,description:`Include local shell history in the ingest feed.`,control:`toggle`,keywords:[`commands`,`source`],defaultValue:!1},{id:`ingest-editor`,path:`ingest.sources.editor.enabled`,title:`Editor events source`,description:`Include local editor events in the ingest feed.`,control:`toggle`,keywords:[`buffers`,`source`],defaultValue:!1}]},{id:`lanes-posthog`,level:`lanes`,title:`PostHog`,description:`Error monitoring, investigations and traffic-spike alerts.`,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},{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`},{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:``},{id:`posthog-projects`,path:`posthog.projects`,title:`Projects`,description:`Use all, none for an empty selection, or a comma-separated list of positive integer PostHog project ids. Blank means all.`,control:`text`,keywords:[`project ids`,`filter`],defaultValue:`all`,valueKind:`posthog-projects`},{id:`posthog-interval`,path:`posthog.intervalMinutes`,title:`Poll interval (minutes)`,description:`Delay between PostHog polling passes.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`refresh`,`schedule`],defaultValue:15},{id:`posthog-max-investigations`,path:`posthog.maxConcurrentInvestigations`,title:`Max concurrent investigations`,description:`Maximum investigation sessions running together.`,control:`number`,range:`POSTHOG_MAX_CONCURRENT_RANGE`,keywords:[`parallel`,`workers`],defaultValue:2},{id:`posthog-investigation-timeout`,path:`posthog.investigationTimeoutSeconds`,title:`Investigation timeout (seconds)`,description:`Maximum time allowed for one investigation.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_INVESTIGATION_TIMEOUT_RANGE`,keywords:[`deadline`,`session`],defaultValue:900},{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:`POSTHOG_MIN_USERS_RANGE`,keywords:[`threshold`,`affected`],defaultValue:1},{id:`posthog-escalation`,path:`posthog.userEscalationThreshold`,title:`Escalation threshold (users)`,description:`Affected-user count that escalates an issue.`,control:`number`,range:`POSTHOG_ESCALATION_RANGE`,keywords:[`threshold`,`severity`],defaultValue:25},{id:`posthog-fix-timeout`,path:`posthog.fixTimeoutSeconds`,title:`Fix timeout (seconds)`,description:`Maximum time allowed for one fix session.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_FIX_TIMEOUT_RANGE`,keywords:[`deadline`,`repair`],defaultValue:1800},{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},{id:`posthog-traffic-multiplier`,path:`posthog.trafficSpikeMultiplier`,title:`Spike multiplier`,description:`Baseline multiplier required to classify a traffic spike.`,control:`number`,integer:!1,step:`any`,range:`POSTHOG_TRAFFIC_MULTIPLIER_RANGE`,keywords:[`baseline`,`ratio`],defaultValue:3},{id:`posthog-traffic-min-users`,path:`posthog.trafficSpikeMinUsers`,title:`Min users to alert`,description:`Minimum recent unique users for an initial traffic-spike alert. Escalation and recovery alerts bypass this minimum.`,control:`number`,range:`POSTHOG_TRAFFIC_MIN_USERS_RANGE`,keywords:[`threshold`,`analytics`],defaultValue:10},{id:`posthog-traffic-cooldown`,path:`posthog.trafficSpikeCooldownMinutes`,title:`Spike cooldown (minutes)`,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:`POSTHOG_TRAFFIC_COOLDOWN_RANGE`,keywords:[`silence`,`delay`],defaultValue:360},{id:`posthog-traffic-baseline`,path:`posthog.trafficSpikeBaselineDays`,title:`Baseline window (days)`,description:`Historical window used to calculate normal hourly traffic.`,control:`number`,range:`POSTHOG_TRAFFIC_BASELINE_RANGE`,keywords:[`history`,`analytics`],defaultValue:7},{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}]},{id:`lanes-team-review`,level:`lanes`,title:`Team review`,description:`Draft reviews of teammates' pull requests for you to post from the Reviews tab.`,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},{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 use the organization and team below.`,control:`list`,keywords:[`github`,`teams`,`review requests`],defaultValue:[],listPlaceholder:`org/team-slug`,listEmptyText:`No GitHub teams configured.`},{id:`team-review-org`,path:`teamReview.org`,title:`GitHub organization`,description:`Organization login that owns the team, for example PostHog.`,control:`text`,keywords:[`github`,`owner`],defaultValue:``},{id:`team-review-team`,path:`teamReview.team`,title:`GitHub team`,description:`Team slug whose members and review requests are polled.`,control:`text`,keywords:[`github`,`slug`],defaultValue:``},{id:`team-review-re-review-after-hours`,path:`teamReview.reReviewAfterHours`,title:`Re-review after (hours)`,description:`When a reviewed PR has a new head, review it again after this many hours since its last review. Queue review runs it at any time.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`review`,`delay`],defaultValue:24,integer:!1,step:.5},{id:`team-review-skip-idle-after-days`,path:`teamReview.skipIdleAfterDays`,title:`Skip PRs idle for (days)`,description:`Leave pull requests without GitHub activity for this long out of automatic review.`,control:`number`,range:`POSTHOG_INTERVAL_RANGE`,keywords:[`idle`,`activity`],defaultValue:14,integer:!1,step:.5},{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:``},{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},{id:`team-review-keep-mergeable-enabled`,path:`teamReview.keepMergeableEnabled`,title:`Keep mergeable`,description:`Offer Keep mergeable on your pull requests: a sandboxed agent repairs conflicts and failing checks and pushes the repair. Off hides the control and starts no repair; the pull requests you chose stay chosen for when you turn it back on.`,control:`toggle`,keywords:[`repair`,`conflicts`,`my prs`],defaultValue:!0},{id:`team-review-keep-mergeable-timeout`,path:`teamReview.keepMergeableTimeoutMinutes`,title:`Keep mergeable deadline (minutes)`,description:`Longest a Keep mergeable repair session may run before it is stopped and nothing is pushed.`,control:`number`,range:`KEEP_MERGEABLE_TIMEOUT_MINUTES_RANGE`,keywords:[`timeout`,`repair`],defaultValue:30},{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}]},{id:`lanes-benchmarks`,level:`lanes`,title:`Benchmarks`,description:`Compare agent setups on frozen cases from the suites in the benchmarks folder of the Glimmervoid home.`,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}]},{id:`lanes-factory`,level:`lanes`,title:`Factory`,description:`Read Coherence reports from repositories whose integration branch holds a coherence.config.json and show their status in the Factory tab.`,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},{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`]},{id:`factory-max-live-workers`,path:`factory.maxLiveWorkers`,title:`Live worker cap`,description:`Most live workers per factory project.`,control:`number`,range:`FACTORY_MAX_LIVE_WORKERS_RANGE`,defaultValue:2,keywords:[`workers`,`parallel`]},{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`]},{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`]},{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`]},{id:`factory-watch-window`,path:`factory.watchWindowMinutes`,title:`Watch window (minutes)`,description:`Time to watch merged tickets for new PostHog issues.`,control:`number`,range:`FACTORY_WATCH_WINDOW_RANGE`,defaultValue:30,keywords:[`watch`,`posthog`]},{id:`factory-watch-projects`,path:`factory.watchProjects`,title:`Watch projects`,description:`Map glimmervoid project ids to PostHog project ids in the config file.`,fileOnly:!0,defaultValue:[],keywords:[`watch`,`posthog`,`mapping`]},{id:`factory-daily-budget`,path:`factory.dailyBudgetUsd`,title:`Factory daily budget (USD)`,description:`Factory lane spend ceiling. Blank means no ceiling. Needs usage tracking: with it off, dispatch refuses.`,control:`number`,range:`NON_NEGATIVE_NUMBER_RANGE`,integer:!1,nullable:!0,step:.01,defaultValue:null,keywords:[`spend`,`budget`]},{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`]}]},{id:`lanes-knowledge-graph`,level:`lanes`,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.`,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}]},{id:`lanes-workflows`,level:`lanes`,title:`Workflows`,description:`Rules that act on pull request events in the repositories you choose.`,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},{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:`WORKFLOWS_MAX_CONCURRENT_SESSIONS_RANGE`,keywords:[`parallel`,`spawn`],defaultValue:2},{id:`workflows-max-actions-per-poll`,path:`workflows.maxActionsPerPoll`,title:`Actions per poll`,description:`Most actions run in one poll. The rest are dropped and logged.`,control:`number`,range:`WORKFLOWS_MAX_ACTIONS_PER_POLL_RANGE`,keywords:[`cap`,`rate limit`],defaultValue:20},{id:`workflows-rules`,path:`workflows`,title:`Workflow rules`,description:`Each rule watches repositories for one pull request event (opened, checks-failed, review-requested, approved, commented or merged), narrows it by author, labels, base branch, your own pull requests or a review request to your team, and then notifies you, labels or comments on the pull request, or starts a sandboxed agent session that pushes nothing. Rules start disabled. Turn each rule on or off here; everything else about a rule is set in config.json.`,control:`readonly`,keywords:[`pull requests`,`automation`,`github`,`rules`],fileOnly:!0,status:`workflows`}]},{id:`lanes-unattended`,level:`lanes`,title:`Unattended actions`,description:`Controls that let automated work change repositories or install executable tooling.`,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},{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. Applies to sessions created after the change.`,control:`toggle`,keywords:[`permissions`,`yolo`,`safety`],defaultValue:!0},{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},{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:wY(vY),keywords:[`quality`,`fixes`],defaultValue:`report`},{id:`agent-api-enabled`,path:`agentApi.enabled`,title:`Agent API`,description:`Expose the per-session agent endpoint to running sessions.`,control:`toggle`,keywords:[`session`,`localhost`],danger:!0,warning:`Enabling this control lets a running session spawn sibling sessions, flag itself and read the board through a per-session token on localhost, and it applies to sessions spawned after the change.`,defaultValue:!1},{id:`rtk-compression`,path:`rtk`,title:`rtk output compression`,description:`Compress Bash output for newly spawned or restarted sessions.`,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}]}]);function OY(e){return[e.repos.join(`, `),e.trigger,e.actions.map(e=>e.type).join(`, `)].join(` `)}function kY(e){if(e==null)return[`No rules. Add workflows.rules to config.json.`];let t=eY.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`,OY(e)].join(` `)):[`The workflows block is invalid, so no rule runs: ${t.error.issues[0]?.message??`unknown problem`}`]}function AY(e){let t=eY.safeParse(e??{});return t.success?t.data.rules.map(e=>({id:e.id,name:e.name,isEnabled:e.enabled,summary:OY(e)})):[]}function jY(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`))}}function MY({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 NY(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})`}))]}function PY(e,t,n){return n?e.some(e=>e.toLowerCase()===t.toLowerCase()):e.includes(t)}var FY=new WeakMap,IY=`Configured`,LY=`•`.repeat(12);function RY(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 zY(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}function BY(e){let t=Number(e[`visions.dispatch.maxPerHour`]),n=Number(e[`visions.dispatch.activityMaxPerHour`]);return!Number.isSafeInteger(t)||t<1||!Number.isSafeInteger(n)||n<0?``:`Effective activity limit: ${Math.min(n,t-1)} per hour. One slot is reserved for edit reviews.`}function VY(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 HY(e){return e.control===`password`}function UY(e){return`${e.path}${IY}`}function WY(e){return Array.isArray(e)?e.map(WY):!e||typeof e!=`object`?e:Object.fromEntries(Object.entries(e).map(([e,t])=>[e,WY(t)]))}function GY(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function KY(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 qY(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)]=WY(n)}function JY(e){return e.flatMap(e=>e.settings||[])}function YY(e){return e.fileOnly||e.control===`readonly`}function XY(e){return String(e||``).toLowerCase().match(/[a-z0-9]+/g)||[]}function ZY(e,t,n){return t.every(t=>e.includes(t))?t.length*n:0}function QY(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)=>QY(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)&&QY(e[n],t[n]))}function $Y(e,t){return e.valueKind===`posthog-projects`?Array.isArray(t)?t.length===0?`none`:t.join(`, `):t??`all`:WY(t)}function eX(e,t){if(e.control===`number`){if(e.nullable&&(t==null||String(t).trim()===``))return null;let n=Number(t);return e.zeroIsNull&&n<=0?null:n}if(e.valueKind===`posthog-projects`)return zY(t);if(e.control===`text`||e.control===`password`){let n=String(t??``).trim();return e.nullable&&!n?null:n}return WY(t)}function tX(e){return FY.get(e)||null}function nX(e,t={}){let n={};for(let r of JY(e)){if(YY(r))continue;if(r.path.startsWith(`pref:`)){let e=r.path.slice(5),i=t.prefs?.[e]??t[r.path];n[r.path]=$Y(r,i??r.defaultValue);continue}if(HY(r)){let e=GY(t,UY(r))===!0;n[r.path]=e?LY:``;continue}let e=GY(t,r.path);n[r.path]=$Y(r,e??r.defaultValue)}return FY.set(n,WY(t)),n}function rX(e,t,n,r,i={}){let{rehydrateSectionIds:a=[]}=i,o=nX(e,t),s=nX(e,t);if(!n||!r)return{original:o,edited:s};let c=new Set(a);for(let t of e)if(!c.has(t.id)&&t.settings.some(e=>!e.path.startsWith(`pref:`)&&!QY(n[e.path],r[e.path])))for(let e of t.settings)o[e.path]=WY(n[e.path]),s[e.path]=WY(r[e.path]);return{original:o,edited:s}}function iX(e,t,n){let r=JY(e).filter(e=>YY(e)||e.path.startsWith(`pref:`)||RY(e,tX(t)||{})||HY(e)&&n[e.path]===LY?!1:!QY(t[e.path],n[e.path]));if(r.length===0)return{};let i=tX(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]=eX(e,n[e.path]);continue}if(!s.has(r)){let e=i[r];o[r]=e&&typeof e==`object`&&!Array.isArray(e)?WY(e):{},s.add(r)}let c=eX(e,n[e.path]);if(e.control===`projects`){let n=t[e.path];c=MY({checked:Array.isArray(c)?c:[],stored:Array.isArray(n)?n:[],rendered:NY(a.map(e=>({id:e,name:e})),Array.isArray(n)?n:[]).map(e=>e.id)})}qY(o,e.path,c)}for(let t of JY(e))HY(t)&&KY(o,UY(t));return delete o.secretSources,o}function aX(e,t){let n=t.integer===!1?`number`:`whole number`;return e.exclusiveMin?`Must be a positive ${n}.`:e.max==null?`Must be a ${n} of at least ${e.min}.`:`Must be a ${n} between ${e.min} and ${e.max}.`}function oX(e,t,n){if(e.nullable&&(t==null||String(t).trim()===``))return null;let r=Number(t),i=n[e.range??``];return i?!Number.isFinite(r)||e.integer!==!1&&!Number.isSafeInteger(r)?aX(i,e):i.exclusiveMin&&r<=i.min?e.zeroIsNull&&r<=0?null:aX(i,e):!i.exclusiveMin&&r<i.min||i.max!=null&&r>i.max?aX(i,e):null:`Allowed range is unavailable.`}function sX(e){return zY(e)===null?`Must be "all", "none", or a comma-separated list of positive safe integer ids without empty entries.`:null}function cX(e,t,n={}){let r={};for(let i of JY(e)){if(YY(i))continue;let e=null;i.control===`number`&&(e=oX(i,t[i.path],n)),i.valueKind===`posthog-projects`&&(e=sX(t[i.path])),i.control===`select`&&!i.options.some(e=>e.value===t[i.path])&&(e=`Choose one of the available options.`),e&&(r[i.id]=e)}return lX(JY(e),t,r),r}function lX(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=Number(t[r.path]),o=Number(t[i.path]);a>o&&(n[r.id]=`Minimum must not exceed the maximum (${o}).`,n[i.id]=`Maximum must not be below the minimum (${a}).`)}}function uX(e,t){return JY(e).find(e=>e.id===t.maximumSettingId||e.maximumSettingId===t.id)}function dX(e){let t={browser:[],machine:[],lanes:[],projects:[]};for(let n of e)t[n.level]||(t[n.level]=[]),t[n.level].push(n);return t}function fX(e,t){let n=XY(t);if(n.length===0)return[];let r=[];for(let t of e){let e=XY(t.title);for(let i of t.settings||[]){let a=ZY(XY(i.title),n,1e3),o=ZY(XY((i.keywords||[]).join(` `)),n,100),s=ZY(e,n,10),c=ZY(XY(i.description),n,1),l=a+o+s+c;l!==0&&r.push({section:t,setting:i,score:l})}}return r.sort((e,t)=>t.score-e.score||e.section.title.localeCompare(t.section.title)||e.setting.title.localeCompare(t.setting.title)).slice(0,30)}function pX(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=(o?r[a]?.[o]:void 0)||n[a]||a,c=t.find(e=>e.id===s);if(!c)return null;let l=o?(c.settings||[]).find(e=>e.id===o):null;return o&&!l?null:{sectionId:s,settingId:l?.id||null,hash:`#settings/${s}${l?`/${l.id}`:``}`}}function mX(e){let t=`lanes-unattended`,n=e.find(e=>e.id===t);if(!n)return[...e];let r=e.filter(e=>e.id!==t),i=r.findLastIndex(e=>e.level===`lanes`);return r.splice(i+1,0,n),r}function hX(e,t,n){return{id:`project-${e}-${t}`,projectId:e,...n}}function gX(e){return String(e||``).replace(/\s+\(\d+\)$/,``)}function _X(e){return String(e||``).replace(/[\\/]+$/,``).split(/[\\/]/).at(-1)||``}function vX(e){return _X(e?.path)||gX(e?.name)||e?.id}function yX(e=[]){return e.filter(e=>typeof e?.id==`string`&&e.id).map(e=>({id:`project-${e.id}`,level:`projects`,title:vX(e),description:`Settings scoped to this configured project.`,caption:(e.recordNames?.length??0)>1?`Cards: ${e.recordNames?.join(`, `)}`:``,project:e,settings:[hX(e.id,`agent`,{path:`project:${e.id}:agent`,title:`Agent`,description:`Agent configured for this project.`,control:`readonly`,keywords:[`cli`,`runtime`],value:e.agent||`Not available in the current dashboard payload`}),hX(e.id,`permission-mode`,{path:`project:${e.id}:permission-mode`,title:`Default permission mode`,description:`Permission mode used for newly spawned sessions.`,control:`readonly`,keywords:[`approval`,`sandbox`],value:e.permissionMode||`Not available in the current dashboard payload`}),hX(e.id,`codex-hook-trust`,{path:`projects.${e.id}.codexBypassHookTrust`,title:`Codex hook trust bypass`,description:`Configured only on this project record.`,control:`readonly`,keywords:[`hooks`,`codex`],fileOnly:!0})]}))}function bX(e=[]){let t=new Set;return e.filter(e=>typeof e?.id!=`string`||!e.id?!1:!e.path||!t.has(e.path)&&(t.add(e.path),!0))}function xX(e=[],t=[]){let n=new Map(t.filter(e=>typeof e?.id==`string`&&e.id).map(e=>[e.id,e]));return e.map(e=>{let r=n.get(e?.id),i=e?.path||r?.path,a=t.filter(e=>i&&e?.path===i).map(e=>e?.name).filter(e=>typeof e==`string`&&e!==``);return{...r,...e,path:i,recordNames:[...new Set(a)]}})}function SX(e,t){return e.danger===!0&&!!e.warning&&t===!0}function CX(e,t){return e.find(e=>e.id===t)||e[0]||null}var wX={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.`}},TX={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 EX(e,t){let n=DL(16,16);return n.classList.add(`pr-status-icon`),t&&(n.dataset.tone=t),n.append(EL(`path`,{d:TX[e],fill:`currentColor`})),n}var DX=(e,t,n=!1)=>({state:e,awaitingBackgroundTasks:n,label:n?`Monitoring`:Ac[e],meaning:t}),OX=Object.freeze([DX(F.DORMANT,`Not started yet.`),DX(F.INITIALIZING,`Setting up the worktree and launching the agent.`),DX(F.STARTING,`The agent is booting.`),DX(F.RUNNING,`The agent is mid-turn.`),DX(F.RUNNING,`The turn ended but background tasks or sub-agents are still running.`,!0),DX(F.WAITING,`Waiting on a permission prompt or your answer.`),DX(F.IDLE,`Ready for the next prompt.`),DX(F.COMPLETE,`Finished a turn you have not looked at yet.`),DX(F.DONE,`The agent process ended.`),DX(F.FAILED,`The agent failed to start or crashed.`)]);function kX(e,t){let n=B(`section`,`status-legend`),r=B(`dl`,`status-legend-rows`);return r.append(...t),n.append(B(`h2`,`status-legend-title`,e),r),n}function AX(e,t){let n=B(`div`,`status-legend-row`);return n.append(e,B(`dd`,`status-legend-meaning`,t)),n}function jX(){return kX(`Status colors`,OX.map(e=>{let t=B(`dt`,`status-legend-badge`),n=B(`span`,`status-legend-glyph`),r=B(`span`,`status-legend-name`);n.setAttribute(`aria-hidden`,`true`),t.append(n,r);let i=AX(t,e.meaning);return VH(i,{glyph:n,label:r},e.state,e.awaitingBackgroundTasks),i}))}function MX(){return kX(`Pull request icons`,Object.keys(wX).map(e=>{let t=wX[e],n=B(`dt`,`status-legend-badge`);return n.append(EX(e),B(`span`,`status-legend-name`,t.label)),AX(n,t.meaning)}))}var NX=2e4,Z=null,PX=null,FX=null,IX=null,LX=null,RX=null,zX=null,BX=`all`,VX=!1,HX=null,UX=DM,WX=EM,GX=TM,KX=!1,qX=null,JX=`day`,YX=new Set,XX=AA({getAck:Tk,setAck:Ek,signature:()=>hae(Z,FX),isLooking:()=>!Tf(IX)}),ZX=null,QX=null,$X=null,eZ=null,tZ=null,nZ=null,rZ=null,iZ=null,aZ=QP(()=>IX),oZ=(e,t)=>Sf(`usage`,e,t);function sZ(e,t,n,r){let i=B(`div`,`usage-tile`);r&&r!==`ok`&&(i.dataset.tone=r);let a=B(`span`,`usage-tile-value`,t);i.append(a,B(`span`,`usage-tile-label`,e));let o=n?B(`span`,`usage-tile-sub`,n):null;return o&&i.append(o),{tile:i,valueEl:a,subEl:o}}function cZ(e){let t=Number(e);return Number.isFinite(t)?Math.min(Math.max(t,0),100):0}function lZ(e,t,n){let r=B(`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=B(`span`,`usage-meter-fill`);return r.append(i),uZ(r,e),r}function uZ(e,t){if(!e)return;let n=cZ(t);e.setAttribute(`aria-valuenow`,String(Math.round(n)));let r=e.querySelector(`.usage-meter-fill`);r&&(r.style.width=`${n}%`)}function dZ(e,t,n,r){let i=B(`div`,`usage-table-scroll`);i.dataset.usageTable=r;let a=B(`table`,`usage-table`),o=B(`thead`),s=B(`tr`);for(let i of e){let e=B(`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`,kae(t,a));let o=B(`button`,`usage-sort`,i.label);o.type=`button`,o.dataset.sortKey=a,o.addEventListener(`click`,()=>{qX={kind:`sort`,table:r,key:a},n(a)}),e.append(o),s.append(e)}o.append(s);let c=B(`tbody`);return a.append(o,c),i.append(a),{wrap:i,body:c}}function fZ(e,t){for(let n of t){let t=B(`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 pZ(e){let t=B(`div`,`usage-share`);if(!Number.isFinite(e))return t.append(B(`span`,`usage-share-text`,jj(e))),t;let n=B(`span`,`usage-share-bar`),r=B(`span`,`usage-share-fill`);return r.style.width=`${cZ(e)}%`,n.append(r),t.append(n,B(`span`,`usage-share-text`,jj(e))),t}function mZ(){if(!ZX?.isConnected)return;let e=Number(Z?.ts);ZX.textContent=Number.isFinite(e)&&e>0?`Report ${XP(e)}`:``}function hZ(){if(!QX?.isConnected)return;let e=Number(PX?.ts);QX.textContent=Number.isFinite(e)&&e>0?`Sessions ${XP(e)}`:``}function gZ(){let e=zj(Z?.activeBlock);e&&(eZ?.isConnected&&(eZ.textContent=`${e.pct}%`),tZ?.isConnected&&(tZ.textContent=`${Rj(e.remainingMinutes)} left`),nZ?.isConnected&&uZ(nZ,e.pct))}function _Z(e){let t=Cj.find(t=>t.value===e);return t?t.days:null}function vZ(){let e=B(`div`,`usage-controls`),t=B(`label`,`usage-control`);t.append(B(`span`,`usage-control-label`,`Range`));let n=B(`select`,`usage-select`);for(let e of Cj){let t=B(`option`,null,e.label);t.value=e.value,n.append(t)}n.value=BX,n.addEventListener(`change`,()=>{BX=n.value,tQ()}),t.append(n);let r=B(`button`,`usage-refresh`,`Refresh`);r.type=`button`,r.title=`Re-read every transcript from the start`,r.addEventListener(`click`,()=>tQ({force:!0}));let i=B(`span`,`usage-refresh-status`,``);return rZ=r,iZ=i,ZZ(),e.append(t,r,i),e}function yZ(){let e=oZ(`Usage`,yie(Z?.daily||[]));e.append(vZ()),ZX=B(`p`,`usage-meta`,``),e.append(ZX),mZ(),aZ.onTick(mZ);let t=Tae(Z);t&&e.append(B(`p`,`usage-warning`,t));let n=Sae(Z?.pricing?.missing);return n&&e.append(B(`p`,`usage-warning`,n)),e}function bZ(){if(!pae(FX))return null;let e=uM(Z?.totals),t=oZ(`Plan limits`,e?`${pM(`official`)}, ${e}`:pM(`official`)),n=yae(FX?.ts);if(n){let e=B(`p`,`usage-meta`,n);e.dataset.tone=`warn`,t.append(e)}let r=B(`div`,`usage-plan`);for(let e of dM){let t=fM(FX,e.key);t&&r.append(xZ(e,t))}return t.append(r),$X=B(`p`,`usage-meta`,``),t.append($X),SZ(),aZ.onTick(SZ),t}function xZ(e,t){let n=B(`div`,`usage-plan-window`),r=B(`div`,`usage-plan-head`);r.append(B(`span`,`usage-plan-label`,e.label)),r.append(B(`span`,`usage-plan-used`,gae(t)));let i=B(`span`,`usage-plan-reset`,``);r.append(i),n.append(r),Number.isFinite(t.pct)&&n.append(lZ(t.pct,Bj(t.pct),`${e.label} plan limit used`));let a=()=>{i.isConnected&&(i.textContent=_ae(t.resetsAtMs))};return a(),aZ.onTick(a),n}function SZ(){if(!$X?.isConnected)return;let e=hM(FX?.ts);$X.textContent=e?`Plan ${e}`:``}function CZ(){let e=Fie(Z,FX),t=wZ();if(e.length===0&&!t)return null;let n=oZ(`Glimmervoid overhead`,e.length>0?Aie:null);if(e.length>0){let t=B(`div`,`usage-tiles`);for(let n of e){let e=[Iie(n),kj(n.costUSD)].filter(Boolean).join(`, `);t.append(sZ(`${n.label}, share of Claude use`,jj(n.sharePct),e).tile)}n.append(t);for(let t of e){let e=Lie(t);e&&n.append(B(`p`,`usage-meta`,`${t.label}: ${e}`))}}return t&&(n.append(B(`p`,`usage-meta`,`Selected range by lane. ${kie}`)),n.append(t)),n}function wZ(){if(!jie(Z))return null;let e=Kj(Z),t=e.reduce((e,t)=>e+(typeof t.costUSD==`number`&&Number.isFinite(t.costUSD)?t.costUSD:0),0),{wrap:n,body:r}=dZ([{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=B(`tr`,`usage-row`);n.lane===`other`&&(e.dataset.lane=`other`),fZ(e,[{text:Gj(n.lane),className:`usage-lane-cell`},{text:kj(n.costUSD),numeric:!0},{text:Aj(n.tokens),numeric:!0},{text:Yj(n.sessions),numeric:!0},{node:pZ(Pj(n.costUSD,t)),className:`usage-share-cell`}]),r.append(e)}return n}function TZ(){let e=Z?.activeBlock,t=Z?.blockHours,n=typeof t==`number`&&Number.isFinite(t)?t:5,r=uM(Z?.totals),i=oZ(`Current block`,r?`${n}h window, ${r}`:`${n}h window`);if(!e){i.append(B(`p`,`usage-empty`,`No active block.`));let e=EZ();return e&&i.append(e),i}let a=mM(Z,FX),o=B(`div`,`usage-tiles`);o.append(sZ(`block tokens`,Aj(e.tokens??0),kj(e.costUSD??0),a).tile);for(let t of Cie(e.burn))o.append(sZ(t.label,t.value,t.sub,a).tile);let s=zj(e);if(s){let e=sZ(`elapsed`,`${s.pct}%`,`${Rj(s.remainingMinutes)} left`);eZ=e.valueEl,tZ=e.subEl,o.append(e.tile)}i.append(o),s&&(nZ=lZ(s.pct,`ok`,`Elapsed share of the current block window`),i.append(nZ),aZ.onTick(gZ));let c=wie(e.projection);if(c){let e=B(`p`,`usage-projection`,c);e.dataset.tone=a,i.append(e)}let l=EZ();l&&i.append(l);let u=Tie(Z?.tokenLimit);if(!u)return i;let d=Hj(Z?.tokenLimit),f=mM(Z);i.append(lZ(d,f,`Share of the largest completed block seen, estimated`));let p=B(`p`,`usage-meta`,u);p.dataset.tone=f,i.append(p),i.append(B(`p`,`usage-provenance`,pM(`estimated`)));let m=Eie(e.projection,Z?.tokenLimit);if(m){let e=B(`p`,`usage-meta`,m);e.dataset.tone=f,i.append(e)}return i}function EZ(){let e=Z?.anomaly;if(!cae(e))return null;let t=B(`p`,`usage-meta`,oae(e));return t.dataset.tone=sae(e),t}function DZ(){let e=Fae(Z?.blocks);if(e.length===0)return null;let t=uM(Z?.totals),n=oZ(`Recent blocks`,t?`newest first, ${t}`:`newest first`),r=B(`div`,`usage-blocks`),i=e.reduce((e,t)=>Math.max(e,t.tokens),0);for(let t of e){let e=B(`div`,`usage-block`);t.isActive&&(e.dataset.active=`true`),e.append(B(`span`,`usage-block-label`,Sie(t.startTs)));let n=B(`span`,`usage-block-bar`),a=B(`span`,`usage-block-fill`);a.style.width=`${cZ(Pj(t.tokens,i)??0)}%`,n.append(a),e.append(n),e.append(B(`span`,`usage-block-value`,`${Aj(t.tokens)} ${kj(t.costUSD)}`)),r.append(e)}return n.append(r),n}function OZ(){let e=Z?.totals||{},t=Pae(Z?.daily,Ij(Z)),n=oZ(`Totals`,[hie,Z?.tz?`TZ ${Z.tz}`:``].filter(Boolean).join(` `)),r=mM(Z,FX),i=B(`div`,`usage-tiles`);i.append(sZ(`today`,Aj(t?.tokens??0),kj(t?.costUSD??0),r).tile),i.append(sZ(`range total`,Aj(e.tokens??0),kj(e.costUSD??0)).tile);let a=Rie(Z);a&&i.append(sZ(a.label,a.value,a.sub).tile),n.append(i);let o=kZ(e);o&&n.append(o);let s=lM(e)?uae(e):[];if(s.length>0){let e=B(`div`,`usage-tiles usage-vendor-tiles`);for(let t of s)e.append(sZ(t.label,Aj(t.tokens),kj(t.costUSD)).tile);n.append(e)}return QX=B(`p`,`usage-meta`,``),n.append(QX),hZ(),aZ.onTick(hZ),n}function kZ(e){let t=Oie(e);if(t.length===0)return null;let n=B(`div`,`usage-compo`),r=B(`div`,`usage-compo-bar`);r.setAttribute(`aria-hidden`,`true`);for(let e of t){if(e.pct<=0)continue;let t=B(`span`,`usage-compo-fill`);t.dataset.part=e.key,t.style.width=`${e.pct}%`,t.title=e.title,r.append(t)}let i=B(`div`,`usage-compo-legend`);for(let e of t){let t=B(`span`,`usage-compo-item`),n=B(`span`,`usage-compo-swatch`);n.dataset.part=e.key,t.append(n,B(`span`,`usage-compo-label`,e.label),B(`span`,`usage-compo-value`,e.value)),i.append(t)}return n.append(r,i),n}function AZ(){let e=Z?.savings;if(!zie(e))return null;let t=oZ(`Savings`,``),n=B(`div`,`usage-tiles`),r=Bie(e);r&&n.append(sZ(`rtk compression`,r.value,r.sub).tile);let i=Vie(e);return i&&n.append(sZ(`Prompt cache`,i.value,i.sub).tile),t.append(n),t}function jZ(){let e=Qj(Z);if(e.length===0)return null;let t=oZ(`Budgets`,`your own ceilings`),n=B(`div`,`usage-budgets`),r=YU(`machine-usage`,`usage-daily-budget`,`Budget settings`);n.appendChild(r);for(let t of e){let e=B(`div`,`usage-budget`),r=B(`div`,`usage-budget-head`);r.append(B(`span`,`usage-budget-label`,$j(t.scope))),r.append(B(`span`,`usage-budget-value`,Hie(t))),r.append(B(`span`,`usage-budget-pct`,jj(eM(t)))),e.append(r),e.append(lZ(eM(t),t.tone,Uie(t))),n.append(e)}return t.append(n),t}function MZ(){let e=Z?.daily||[],t=JX,n=Nae(Xie(e,t),UX),r=tM.find(e=>e.value===t)?.label||`Day`,i=oZ(`Over time`,[$ie(e)].filter(Boolean).join(`, `));if(i.append(NZ()),n.length===0)return i.append(B(`p`,`usage-empty`,`No usage.`)),i;let a=FZ(e);a&&i.append(a);let{wrap:o,body:s}=dZ([{label:r,key:`day`},{label:`Tokens`,numeric:!0,key:`tokens`},{label:`Cost`,numeric:!0,key:`costUSD`},{label:`Models`}],UX,e=>{UX=wM(UX,e),WZ()},`day`);for(let e of n){let n=String(e.day??``),r=B(`tr`,`usage-row`);e.source===`history`&&(r.dataset.source=`history`);let i=OM(e.models),a=`${t}:${n}`,o=IZ(a,i.length);fZ(r,[{node:PZ(e,t),title:n},{text:Aj(e.tokens),numeric:!0},{text:kj(e.costUSD),numeric:!0},{node:o,className:`usage-toggle-cell`}]),s.append(r),i.length!==0&&YX.has(a)&&s.append(LZ(i))}return i.append(o),i}function NZ(){let e=B(`div`,`usage-period`);e.setAttribute(`role`,`group`),e.setAttribute(`aria-label`,`Period`);for(let t of tM){let n=B(`button`,`usage-period-button`,t.label);n.type=`button`,n.dataset.periodView=t.value,n.setAttribute(`aria-pressed`,t.value===JX?`true`:`false`),n.addEventListener(`click`,()=>{JX!==t.value&&(JX=t.value,qX={kind:`period`,view:t.value},WZ())}),e.append(n)}return e}function PZ(e,t){let n=B(`span`,`usage-period-cell`);return n.append(B(`span`,null,Qie(e.day,t))),e.source===`history`&&n.append(B(`span`,`usage-history-tag`,`history`)),n}function FZ(e){let{cells:t,max:n}=nae(e,{today:Ij(Z)});if(t.length===0||n<=0)return null;let r=B(`div`,`usage-heatmap-scroll`),i=B(`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=B(`div`,`usage-heatmap-days`);for(let e of eae)a.append(B(`span`,`usage-heatmap-day`,e));for(let e of t){let t=B(`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=rae(e),i.append(t)}return r.append(a,i),r}function IZ(e,t){if(t===0)return null;let n=B(`button`,`usage-toggle`,`Models`);return n.type=`button`,n.dataset.usageDay=e,n.setAttribute(`aria-expanded`,YX.has(e)?`true`:`false`),n.addEventListener(`click`,()=>{if(qX={kind:`day`,day:e},YX.has(e)){YX.delete(e),WZ();return}YX.add(e),WZ()}),n}function LZ(e){let t=B(`tr`,`usage-row-breakdown`),n=B(`td`,`usage-models`);n.colSpan=4;for(let t of e){let e=B(`span`,`usage-model-chip`);e.append(B(`span`,`usage-model-name`,bM(t)),B(`span`,`usage-model-value`,`${Aj(t.tokens)} ${kj(t.costUSD)}`)),n.append(e)}return t.append(n),t}function RZ(e,t){let n=B(`span`,`usage-model-name-wrap`),r=lae(e,t);return r&&n.append(B(`span`,`usage-vendor-tag`,r)),n.append(B(`span`,null,bM(e))),n}function zZ(){let e=OM(Z?.models,WX),t=Z?.totals||{},n=Mj(t),r=oZ(`By model`,Nj(n));if(e.length===0)return r.append(B(`p`,`usage-empty`,`No models.`)),r;let{wrap:i,body:a}=dZ([{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`}],WX,e=>{WX=wM(WX,e),WZ()},`model`);for(let r of e){let e=B(`tr`,`usage-row`);fZ(e,[{node:RZ(r,t),className:`usage-model-cell`,title:bM(r)},{text:Aj(r.tokens),numeric:!0},{text:kj(r.costUSD),numeric:!0},{node:pZ(Pj(r[n],t[n])),className:`usage-share-cell`},{text:Aj(r.input),numeric:!0},{text:Aj(r.output),numeric:!0},{text:Aj(r.cacheCreate),numeric:!0},{text:Aj(r.cacheRead),numeric:!0}]),a.append(e)}return r.append(i),r}function BZ(){let e=Aae(Z?.sessions,GX),t=jae(e,KX),n=Z?.totals||{},r=Mj(n),i=oZ(`By session`,Nj(r));if(e.length===0)return i.append(B(`p`,`usage-empty`,`No sessions.`)),i;let{wrap:a,body:o}=dZ([{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`}],GX,e=>{GX=wM(GX,e),WZ()},`session`);for(let e of t.rows){let t=B(`tr`,`usage-row`);vM(e)&&(t.dataset.managed=`true`);let i=yM(e),a=B(`span`,`usage-ago`,``);fZ(t,[{text:i,className:`usage-session-cell`,title:e.project?String(e.project):i},{text:Aj(e.tokens),numeric:!0},{text:kj(e.costUSD),numeric:!0},{node:pZ(Pj(e[r],n[r])),className:`usage-share-cell`},{node:a,numeric:!0}]),aZ.track(a,Number(e.lastTs),XP),o.append(t)}return i.append(a),e.length>10&&i.append(VZ(t.hiddenCount)),i}function VZ(e){let t=B(`div`,`usage-overflow`),n=Mae(e);n&&t.append(B(`p`,`usage-meta`,n));let r=B(`button`,`usage-toggle`,`All sessions`);return r.type=`button`,r.dataset.usageSessionsToggle=`true`,r.setAttribute(`aria-expanded`,KX?`true`:`false`),r.addEventListener(`click`,()=>{qX={kind:`sessions-toggle`},KX=!KX,WZ()}),t.append(r),t}function HZ(){let e=oZ(`Not available`,``);return e.append(B(`p`,`usage-empty`,gM(Z))),e.append(B(`p`,`usage-empty`,gie)),e}function UZ(){ZX=null,QX=null,$X=null,eZ=null,tZ=null,nZ=null,rZ=null,iZ=null}function WZ({force:e=!1}={}){if(!IX||!e&&Tf(IX))return;let t=IX.parentElement,n=t?t.scrollTop:0;aZ.reset(),UZ(),IX.textContent=``,qZ(),t&&(t.scrollTop=n),GZ()}function GZ(){let e=qX;if(qX=null,!e)return;let t=KZ(e);if(!t||!IX)return;let n=IX.querySelector(t);n instanceof HTMLElement&&n.focus()}function KZ(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 qZ(){if(!IX)return;IX.append(yZ());let e=bZ();if(_M(Z)){e&&IX.append(e),IX.append(HZ());return}if(!Z){e&&IX.append(e),IX.append(B(`p`,`usage-empty`,`Waiting for scan.`));return}let t=[e,jZ()].filter(e=>e!==null);IX.append(JZ(`usage-band-now`,TZ(),t,{sideFirst:!0}));let n=[AZ()].filter(e=>e!==null);IX.append(JZ(`usage-band-spend`,OZ(),n));let r=[DZ()].filter(e=>e!==null);IX.append(JZ(`usage-band-trend`,MZ(),r));let i=CZ();i&&IX.append(i),IX.append(zZ(),BZ())}function JZ(e,t,n,{sideFirst:r=!1}={}){if(n.length===0)return t;let i=B(`div`,`usage-band ${e}`),a=B(`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 YZ(){LX&&LX(XX.refresh())}function XZ(){XX.acknowledge(),YZ()}function ZZ(){rZ&&(rZ.disabled=VX),iZ&&(iZ.textContent=VX?`Refreshing`:``)}function QZ(e){VX=e,ZZ(),HX&&=(clearTimeout(HX),null),e&&(HX=setTimeout(()=>{HX=null,VX=!1,ZZ()},NX))}function $Z(e){LX=e,YZ()}function eQ(e){RX=e}function tQ({force:e=!1}={}){if(!RX)return;zX=rf(`usage`);let t={type:`request-usage-report`,requestId:zX};e&&(t.force=!0);let n=_Z(BX);n!==null&&(t.days=n),QZ(!0),RX(t)}function nQ(e){if(IX)return IX;let t=B(`div`,`usage-content`);return e.appendChild(t),IX=t,aZ.ensure(),WZ({force:!0}),t}function rQ(){WZ({force:!0})}function iQ(e){if(PX=e,Z&&!_M(Z)&&QX?.isConnected){hZ();return}WZ()}function aQ(e){FX=e,WZ(),YZ()}function oQ(e){Eae(e,zX)&&(QZ(!1),Z=e,WZ(),YZ())}function sQ(){let e=Z?.pricing||(PX?{source:PX.pricingSource}:null),t=xae(e?.fetchedAt),n=[bae(e,t!==null&&t>0?XP(t):``)],r=gM(Z);r&&n.push(r);let i=wae(Z?.scan);return i&&n.push(i),n}var cQ=null,lQ=new Set;function uQ(){cQ?.setAttribute(`aria-pressed`,String(!zO()))}function dQ(e){BO(e),uQ();for(let t of lQ)t(e)}function fQ(e){lQ.add(e)}function pQ(e){cQ=e,uQ(),e.addEventListener(`click`,()=>dQ(!zO()))}var mQ=Object.freeze({fetch:`Fetch`,stage:`Stage`,install:`Install dependencies`,"link-deps":`Link dependencies`,build:`Build`}),hQ=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.`}),gQ=Object.freeze([`unsupported-flavor`,`unsupported-platform`]),_Q=`Not connected to the server. Reconnecting.`,vQ=Object.freeze({requested:!1,failure:null});function yQ(e,t){return t===`request-sent`?{requested:!0,failure:null}:t===`request-unsent`?{requested:!1,failure:_Q}:t===`progress-frame`?vQ:t===`error-frame`?e.requested?vQ:e:e.failure===null?e:{requested:e.requested,failure:null}}function bQ(e,t){return t?.state?t.state:e?.journalSummary?.state}function xQ(e){return{enabled:!1,reason:e}}function SQ(){return{enabled:!0,reason:null}}function CQ({status:e,journal:t,request:n=vQ}){let r=bQ(e,t)===`running`||n.requested,i=r?xQ(`Wait for update staging to finish.`):SQ();if(n.failure)return{update:xQ(n.failure),restart:i};if(r)return{update:xQ(`Wait for the current update to finish.`),restart:i};if(!e)return{update:xQ(`Update status unavailable. Check for updates.`),restart:i};let a=e.applyRefusal;return a?{update:xQ(a.message),restart:i}:{update:SQ(),restart:i}}function wQ(e){let t=e?.applyRefusal;return t===void 0?`command`:t===null?`link`:gQ.includes(t.reason)?`command`:`link`}function TQ(e){let t=OA(e,``);return t?`: ${t}`:``}function EQ(e){return e.state===`staged`?`Update staged. Restart to hand it off${TQ(e.reason)}.`:e.state===`succeeded`?`Update succeeded at restart${TQ(e.reason)}.`:e.state===`failed`?`Update failed${TQ(e.reason)}.`:e.state===`discarded`?`Update discarded${TQ(e.reason)}.`:e.state===`interrupted`?`Update interrupted${TQ(e.reason)}.`:null}function DQ(e){return mQ[e]??e}function OQ(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 kQ(e){if(!e||e.state===`idle`)return null;let t=OQ(e),n=t.stepId!==null&&t.stepId!==e.activeStep?t.stepId:null;return{state:e.state,terminalLine:EQ(e),steps:e.steps.map(e=>({id:e.id,label:DQ(e.id),status:e.status})),outputTail:t.lines,outputStepId:t.stepId,outputStepLabel:n===null?null:DQ(n)}}var AQ=6e5;function jQ(e){return e.channel!==`main`||!Number.isInteger(e.behindCount)?``:`${e.behindCount} ${e.behindCount===1?`commit`:`commits`} behind`}function MQ(e,t){let n=bQ(e,t),r=HA(t?.toVersion,t?.toSha)||HA(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=HA(e.current,e.currentSha)||`an unknown version`;if(e.updateAvailable){let t=HA(e.latest,e.latestSha)||`a newer build`,n=jQ(e);return{tone:`available`,headline:`Update available: ${i} to ${t}${n?` (${n})`:``}.`}}return OA(e.reason,``)?{tone:`unknown`,headline:`Running ${i}. The last check did not finish.`}:{tone:`current`,headline:`Up to date. Running ${i}.`}}function NQ(e){if(!e)return`Update status unavailable.`;let t=HA(e.current,null)||`Unknown version`,n=Al(e.currentSha,{validate:!0}),r=OA(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 PQ(e){return e?{label:HA(e.latest,e.latestSha)||`Latest target unknown`,behind:jQ(e),releaseUrl:OA(e.releaseUrl,``)}:{label:`Update status unavailable.`,behind:``,releaseUrl:``}}function FQ({status:e,checkForUpdates:t,now:n,lastAutoCheckAt:r}){if(t===!1||r!==null&&n-r<AQ)return!1;let i=typeof e?.lastCheckAt==`number`?e.lastCheckAt:null;return i===null||n-i>=AQ}function IQ({status:e,checkForUpdates:t,relativeTime:n}){if(t===!1)return`Update checks are off.`;if(!e)return`No update check has run.`;let r=OA(e.reason,``);return r?hQ[r]??`The last update check failed: ${r}.`:e.flavor===`unknown`?`The install flavor is unknown.`:n}var LQ=aO,RQ=Object.freeze({sounds:()=>xx(),themes:Ux});function zQ(e){if(!e.optionsFrom)return e;let t=RQ[e.optionsFrom]?.()??[];return{...e,options:t.map(e=>({value:e.id,label:e.label}))}}function BQ(){return Object.freeze(DY.map(e=>({...e,settings:e.settings.map(zQ)})))}var VQ=BQ(),HQ=mX(VQ),UQ=Object.freeze({browser:`This browser`,machine:`Machine`,lanes:`Lanes`,projects:`Projects`}),WQ=!1,GQ=null,KQ=null,qQ=null,JQ=null,YQ=null,XQ=null,ZQ=null,QQ=null,$Q=null,e$=null,t$=null,Q=HQ[0],n$={},r$=[],i$=[],a$=new Map,o$=null,s$=null,c$=``,l$=``,u$=null,d$=null,f$=null,p$=null,m$=vQ,h$=()=>{},g$=e=>{e([])},_$=null,v$=!1,y$=new Set,b$=new Map;function x$(){return{themeId:YO(),flyingAnimalsEnabled:ZO(),...Vk(),soundEnabled:zO(),soundId:Sx(VO()),notificationsEnabled:UO(),compactStatusLabels:GO(),sessionUsageChips:qO()}}function S$(e){let t={...e,prefs:x$()};o$=nX(HQ,t),s$=nX(HQ,t)}function C$(e){return e.control===`readonly`?e.value:s$?.[e.path]??e.defaultValue}function $ae(e){return e.settings.some(e=>!e.path.startsWith(`pref:`)&&JSON.stringify(o$?.[e.path])!==JSON.stringify(s$?.[e.path]))}function w$(e,t=null){return`#settings/${encodeURIComponent(e)}${t?`/${encodeURIComponent(t)}`:``}`}function T$(e,t=null){history.replaceState(history.state,``,w$(e,t))}function E$(e){requestAnimationFrame(()=>{let t=document.getElementById(e),n=t?.closest(`.settings-view-advanced-panel`);n&&(WQ=!0,n.hidden=!1,t$?.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 D$(){let e=yX(i$);HQ=mX([...VQ,...e]),Q=CX(HQ,Q?.id)??Q}function O$(e){let t=Array.isArray(e)?e:[];for(let e of t)typeof e?.id==`string`&&e.id&&a$.set(e.id,{...a$.get(e.id),...e});i$=xX(bX(r$),[...a$.values()])}function k$(e){for(let t of Jb(Yb)){let n=B(`div`,`shortcut-group`);n.appendChild(B(`div`,`shortcut-group-title`,t.title));let r=B(`dl`,`shortcut-rows`);for(let e of t.items){let t=B(`dt`,`shortcut-keys`);e.combos.forEach((e,n)=>{n>0&&t.appendChild(B(`span`,`shortcut-sep`,`/`)),$b(t,e)}),r.append(t,B(`dd`,`shortcut-label`,e.label))}n.appendChild(r),e.appendChild(n)}}function A$(e){let t=B(`div`,`settings-about`),n=B(`span`,`settings-about-version`,`GLIMMERVOID `);n.appendChild(B(`span`,`settings-about-v`,`v0.31.0`));let r=B(`span`,`settings-about-links`),i=B(`a`,`settings-about-link`,`GitHub`);i.href=`https://github.com/${PJ}`,i.target=`_blank`,i.rel=`noopener`;let a=B(`a`,`settings-about-link`,`Changelog`);a.href=`https://github.com/${PJ}/blob/main/CHANGELOG.md`,a.target=`_blank`,a.rel=`noopener`,r.append(i,a),t.append(n,r),e.appendChild(t)}function j$(e){s$&&s$[`pref:soundEnabled`]!==e&&(s$[`pref:soundEnabled`]=e,o$&&(o$[`pref:soundEnabled`]=e),S1())}function M$(){for(let[e,t]of Object.entries(Vk()))o$&&(o$[`pref:${e}`]=t),s$&&(s$[`pref:${e}`]=t)}var N$={"pref:flyingAnimalsMinGapSeconds":e=>Nk(Number(e)),"pref:flyingAnimalsMaxGapSeconds":e=>Pk(Number(e)),"pref:flyingAnimalsMinDurationSeconds":e=>Fk(Number(e)),"pref:flyingAnimalsMaxDurationSeconds":e=>Ik(Number(e)),"pref:flyingAnimalsScale":e=>Lk(Number(e)),"pref:flyingAnimalsOnPhone":e=>Rk(e===!0)};function P$(e,t){if(e.path===`pref:compactStatusLabels`){KO(t===!0),Bx(t===!0);return}if(e.path===`pref:sessionUsageChips`){JO(t===!0),Vx(t===!0);return}if(e.path===`pref:themeId`){XO(t),zx(t);return}if(e.path===`pref:flyingAnimalsEnabled`){QO(t),MJ(t);return}let n=N$[e.path];if(n){let r=cX([Q],s$??{},LQ);if(r[e.id])return;n(t);let i=uX([Q],e),a=i&&N$[i.path];i&&a&&!r[i.id]&&a(s$?.[i.path]),MJ(ZO());return}if(e.path===`pref:soundEnabled`){dQ(t===!0);return}if(e.path===`pref:soundId`){HO(t),Nx(t);return}e.path===`pref:notificationsEnabled`&&(WO(t),t&&dJ().then(S1))}function F$(){if(!t$||!s$)return;t$.querySelector(`.settings-view-footer`)?.remove();let e=d1(cX([Q],s$,LQ));e&&t$.appendChild(e)}function I$(e,t,{rerender:n=!0}={}){if(s$){if(s$[e.path]=t,c$=``,e.path.startsWith(`pref:`)&&o$&&(o$[e.path]=t,P$(e,t)),n){S1();return}F$(),U1()}}function L$(e,t){if(!t.exclusiveMin)return t.min;if(e.integer!==!1)return t.min+1}function R$(e){let t=B(`div`,`settings-view-toggle-wrap`),n=B(`label`,`settings-view-toggle`),r=B(`input`,`settings-view-checkbox`);return r.type=`checkbox`,r.checked=C$(e)===!0,e.id===`desktop-notifications`&&!lJ()&&(r.checked=!1,r.disabled=!0),r.setAttribute(`aria-labelledby`,e.id),r.addEventListener(`change`,()=>I$(e,r.checked)),n.append(r,B(`span`,`settings-view-toggle-state`,r.checked?`On`:`Off`)),t.appendChild(n),t}function z$(e){let t=B(`input`,`settings-view-input`);t.type=e.control??`text`,t.value=String(C$(e)??``),e.control===`password`&&(t.placeholder=`No credential stored`);let n=RY(e,n$);return n&&(t.disabled=!0,t.setAttribute(`aria-description`,`Supplied by ${n}`)),t.autocomplete=`off`,t.spellcheck=!1,t.setAttribute(`aria-labelledby`,e.id),t.addEventListener(`input`,()=>I$(e,t.value,{rerender:!1})),t}function B$(e){let t=B(`input`,`settings-view-input`),n=LQ[e.range??``];t.type=`number`,t.value=String(C$(e)??``),t.step=String(e.step??1);let r=L$(e,n);return r!=null&&(t.min=String(r)),n.max!=null&&(t.max=String(n.max)),t.autocomplete=`off`,t.setAttribute(`aria-labelledby`,e.id),e.commitOnChange?(t.addEventListener(`change`,()=>I$(e,t.value.trim()===``?e.defaultValue:t.value)),t):(t.addEventListener(`input`,()=>I$(e,t.value,{rerender:!1})),t)}function V$(e){let t=B(`select`,`settings-view-input`);t.setAttribute(`aria-labelledby`,e.id);for(let n of e.options){let e=B(`option`,null,n.label);e.value=n.value,t.appendChild(e)}return t.value=String(C$(e)),t.addEventListener(`change`,()=>I$(e,t.value)),t}function H$(e){let t=B(`div`,`settings-view-list`),n=C$(e),r=Array.isArray(n)?n:[];r.length===0&&t.appendChild(B(`div`,`settings-empty`,e.listEmptyText??`No repository roots configured.`));for(let[n,i]of r.entries()){let a=B(`div`,`settings-root-item`),o=B(`span`,`settings-root-path`,i);o.title=i;let s=B(`button`,`btn-settings-remove`,`×`);s.type=`button`,s.title=`Remove`,s.setAttribute(`aria-label`,`Remove ${i}`),s.addEventListener(`click`,()=>{I$(e,r.filter((e,t)=>t!==n))}),a.append(o,s),t.appendChild(a)}let i=B(`div`,`settings-add-row`),a=B(`input`,`settings-view-input settings-root-input`);a.type=`text`,a.autocomplete=`off`,a.spellcheck=!1,a.placeholder=e.listPlaceholder??`Repository root path`;let o=B(`button`,`btn-dialog btn-dialog-confirm btn-settings-add`,`Add`);o.type=`button`;let s=()=>{let t=a.value.trim();t&&(PY(r,t,n$.repositoryRootCaseInsensitive===!0)||I$(e,[...r,t]))};return o.addEventListener(`click`,s),a.addEventListener(`keydown`,e=>{e.key===`Enter`&&(e.preventDefault(),s())}),i.append(a,o),t.appendChild(i),t}function U$(e){let t=B(`div`,`settings-view-projects`),n=C$(e),r=new Set(Array.isArray(n)?n:[]),i=Array.isArray(n$.projectChoices)?n$.projectChoices:[];i.length===0&&t.appendChild(B(`div`,`settings-empty`,`No configured projects are available.`));for(let n of NY(i,[...r])){let i=B(`label`,`settings-view-project-choice`),a=B(`input`,`settings-view-checkbox`);a.type=`checkbox`,a.checked=r.has(n.id),a.addEventListener(`change`,()=>{let t=new Set(r);a.checked&&t.add(n.id),a.checked||t.delete(n.id),I$(e,[...t])}),i.append(a,document.createTextNode(n.name)),t.appendChild(i)}return t}function W$(e){let t=B(`div`,`settings-view-file-only`);return t.append(B(`code`,`settings-view-key-path`,e.path)),t.append(B(`span`,`settings-view-file-caption`,`Configured in config.json`)),t}function G$(){let e=MQ(f$,p$),t=B(`div`,`settings-readonly settings-update-readout settings-update-summary`,e.headline);return t.dataset.tone=e.tone,t}function K$(){return B(`div`,`settings-readonly settings-update-readout`,NQ(f$))}function q$(){let e=PQ(f$),t=B(`div`,`settings-readonly settings-update-readout`);if(t.appendChild(B(`span`,`settings-update-latest-label`,e.label)),e.behind&&t.appendChild(B(`span`,`settings-update-behind`,e.behind)),!e.releaseUrl)return t;let n=B(`a`,`settings-link`,`View release`);return n.href=e.releaseUrl,n.target=`_blank`,n.rel=`noopener noreferrer`,t.appendChild(n),t}function J$(){let e=typeof f$?.lastCheckAt==`number`?f$.lastCheckAt:null,t=B(`div`,`settings-readonly settings-update-readout`,IQ({status:f$,checkForUpdates:n$.checkForUpdates,relativeTime:XP(e)}));return e&&(t.title=new Date(e).toLocaleString()),t}function Y$(e,t,{decision:n={enabled:!0,reason:null},isPrimary:r=!1}={}){let i=B(`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 X$(e){let t=B(`span`,`settings-update-action-status`,e??``);return t.setAttribute(`role`,`status`),t}function Z$(e){let t=yQ(m$,e);t!==m$&&(m$=t,W1())}function Q$({restartWhenStaged:e,confirmedSessionIds:t}){Z$(z({type:`update-apply`,restartWhenStaged:e,confirmedSessionIds:t})?`request-sent`:`request-unsent`)}function $$(){_$=Date.now(),z({type:`update-check`})}function e1(){if(!f$){v$=!0;return}v$=!1,FQ({status:f$,checkForUpdates:n$.checkForUpdates,now:Date.now(),lastAutoCheckAt:_$})&&$$()}function t1(){let e=CQ({status:f$,journal:p$,request:m$}),t=B(`div`,`settings-update-actions settings-update-readout`),n=B(`div`,`settings-update-buttons`);return n.append(Y$(`Update and restart`,()=>g$(e=>Q$({restartWhenStaged:!0,confirmedSessionIds:e})),{decision:e.update,isPrimary:!0}),Y$(`Update without restart`,()=>Q$({restartWhenStaged:!1}),{decision:e.update}),Y$(`Check for updates`,$$),Y$(`Restart`,h$,{decision:e.restart})),t.append(n,X$(e.update.reason)),t}function n1(e){return e.status===`update-summary`?G$():e.status===`update-installed`?K$():e.status===`update-latest`?q$():e.status===`update-last-checked`?J$():e.status===`update-actions`?t1():B(`div`,`settings-readonly`,String(e.value||`Not configured`))}function r1(e){return e.fileOnly?W$(e):e.control===`readonly`?n1(e):e.control===`toggle`?R$(e):e.control===`number`?B$(e):e.control===`select`?V$(e):e.control===`list`?H$(e):e.control===`projects`?U$(e):z$(e)}function i1(e){let t=RY(e,n$);return t?`Supplied by ${t}. Change the server environment and restart to replace this credential.`:e.status===`visions-activity-limit`?BY(s$||{}):e.id===`desktop-notifications`&&!lJ()?`Desktop notifications are unavailable for this page.`:e.id===`desktop-notifications`&&C$(e)&&uJ()===`denied`?`Blocked by the browser. Allow notifications for this site to enable them.`:e.status!==`rtk-install`||!C$(e)||n$.rtkAvailable?``:VY(n$)}function a1(e){if(e.status===`custom-agents`)return m1();if(e.status===`workflows`)return v1();if(e.status===`usage-last-report`)return y1();if(e.status===`update-actions`)return o1();if(e.status?.startsWith(`update-`))return null;let t=i1(e);return t?B(`div`,`settings-view-warning settings-view-status-slot`,t):null}function o1(){let e=kQ(p$);if(!e)return null;let t=B(`div`,`settings-update-progress settings-view-status-block settings-view-status-slot`);t.dataset.state=e.state,t.setAttribute(`role`,`status`),e.terminalLine&&t.appendChild(B(`div`,`settings-update-terminal`,e.terminalLine));let n=B(`ol`,`settings-update-steps`);for(let t of e.steps){let e=B(`li`,`settings-update-step`);e.dataset.status=t.status,e.append(B(`span`,`settings-update-step-state`,t.status),B(`span`,`settings-update-step-label`,t.label)),n.appendChild(e)}if(t.appendChild(n),e.outputTail.length===0)return t;let r=B(`pre`,`settings-update-output`,e.outputTail.join(`
242
- `));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(B(`div`,`settings-update-output-label`,i),r),t}function s1(e){let t=B(`div`,`settings-view-setting-heading`),n=B(`h2`,`settings-view-setting-title`,e.title);n.id=e.id,n.addEventListener(`click`,()=>T$(Q.id,e.id));let r=B(`button`,`settings-view-copy-link`,`#`);r.type=`button`,r.setAttribute(`aria-label`,`Copy link`);let i=B(`span`,`settings-view-copy-status`);return i.setAttribute(`role`,`status`),r.addEventListener(`click`,async()=>{let t=new URL(w$(Q.id,e.id),location.href).href;try{await navigator.clipboard.writeText(t),i.textContent=`Link copied`}catch{i.textContent=`Copy failed`}setTimeout(()=>{i.textContent=``},1600)}),t.append(n,r,i),t}function c1(e,t){let n=B(`article`,`settings-view-setting`);n.append(s1(e),B(`p`,`settings-view-setting-description`,e.description)),n.appendChild(r1(e)),e.id===`compact-status`&&n.appendChild(gJ()),SX(e,C$(e))&&n.appendChild(B(`div`,`settings-view-warning settings-warning`,e.warning));let r=a1(e);return r&&n.appendChild(r),t[e.id]&&n.appendChild(B(`div`,`settings-view-field-error`,t[e.id])),n}function l1(){if(s$&&o$){for(let e of Q.settings)s$[e.path]=structuredClone(o$[e.path]);c$=``,S1()}}async function u1(){let e=Q,t=[e],n=cX(t,s$??{},LQ);if(Object.keys(n).length>0){c$=`Fix the highlighted settings before saving.`,S1();return}let r=jY(iX(t,o$??{},s$??{}));if(Object.keys(r).length!==0)try{let t=await af(`update-settings`,{settings:r});if(t.type===`settings-error`){if(Q!==e)return;c$=String(t.message),S1();return}t.settings&&B1(t.settings,{rehydrateSectionIds:[e.id]})}catch(t){if(Q!==e)return;c$=t?.message||`Failed to save settings.`,S1()}}function d1(e){let t=$ae(Q);if(Q.level===`browser`||!t&&!c$)return null;let n=B(`footer`,`settings-view-footer`),r=B(`div`,`settings-view-footer-error`,c$);if(r.setAttribute(`role`,`status`),n.appendChild(r),!t)return n;let i=B(`div`,`settings-view-footer-actions`),a=B(`button`,`btn-dialog btn-dialog-cancel`,`Revert`);a.type=`button`,a.addEventListener(`click`,l1);let o=B(`button`,`btn-dialog btn-dialog-confirm`,`Save`);return o.type=`button`,o.disabled=Object.keys(e).length>0,o.addEventListener(`click`,u1),i.append(a,o),n.appendChild(i),n}function f1(e){return e===null?`not probed yet`:e?`resolved`:`not found on PATH`}function p1(){let e=Array.isArray(n$.customAgents)?n$.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} ${f1(e.resolvable)}`})}function m1(){let e=B(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(B(`div`,`settings-section-title`,`Declared agents`));for(let t of p1())e.appendChild(B(`div`,`settings-readonly`,t));return e}async function h1(e,t){y$.add(e.id),b$.delete(e.id),U1();try{let n=await af(`update-settings`,{settings:{workflows:{rules:[{id:e.id,enabled:t}]}}});if(n.type===`settings-error`&&b$.set(e.id,String(n.message)),y$.delete(e.id),n.type!==`settings-error`&&n.settings){B1(n.settings);return}}catch(t){b$.set(e.id,t?.message||`Failed to save the rule.`)}y$.delete(e.id),U1()}function g1(e){return y$.has(e.id)?`Saving`:b$.get(e.id)??``}function _1(e){let t=B(`div`,`settings-view-toggle-wrap`),n=B(`label`,`settings-view-toggle`),r=B(`input`,`settings-view-checkbox`);r.type=`checkbox`,r.checked=e.isEnabled,r.disabled=y$.has(e.id),r.setAttribute(`aria-label`,`Run rule ${e.name}`),r.addEventListener(`change`,()=>{h1(e,r.checked)}),n.append(r,B(`span`,`settings-view-toggle-state`,e.isEnabled?`On`:`Off`),B(`span`,`settings-readonly`,`${e.name} ${e.summary}`));let i=B(`span`,`settings-view-copy-status`,g1(e));return i.setAttribute(`role`,`status`),t.append(n,i),t}function v1(){let e=B(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(B(`div`,`settings-section-title`,`Rules`));let t=AY(n$.workflows);if(t.length>0){for(let n of t)e.appendChild(_1(n));return e}for(let t of kY(n$.workflows))e.appendChild(B(`div`,`settings-readonly`,t));return e}function y1(){let e=B(`div`,`settings-view-status-block settings-view-status-slot`);e.appendChild(B(`div`,`settings-section-title`,`Last report`));let t=sQ();for(let n of t)e.appendChild(B(`div`,`settings-readonly`,n));return e}function b1(){let e=B(`button`,`btn-dialog btn-dialog-cancel`,`Reset to defaults`);return e.type=`button`,e.addEventListener(`click`,()=>{Hk(),M$(),MJ(ZO()),S1()}),e}function x1(e,t){let n=B(`div`,`settings-view-advanced`),r=B(`button`,`dialog-advanced-toggle settings-view-advanced-toggle`,`Advanced`);r.type=`button`,r.setAttribute(`aria-expanded`,String(WQ)),r.setAttribute(`aria-controls`,`settings-view-advanced-panel`);let i=B(`div`,`dialog-advanced-panel settings-view-advanced-panel`);i.id=`settings-view-advanced-panel`,i.hidden=!WQ,r.addEventListener(`click`,()=>{WQ=!WQ,i.hidden=!WQ,r.setAttribute(`aria-expanded`,String(WQ))});for(let n of e)i.append(c1(n,t));return Q.id===`browser-flying-animals`&&i.append(b1()),n.append(r,i),n}function S1(){if(!t$||!s$)return;t$.textContent=``;let e=B(`header`,`settings-view-section-header`),t=B(`div`,`settings-view-title-row`),n=B(`h1`,`settings-view-section-title`,Q.title);if(n.tabIndex=-1,n.addEventListener(`click`,()=>T$(Q.id)),t.append(n),t.append(B(`span`,`settings-view-level`,UQ[Q.level]||Q.level)),e.append(t,B(`p`,`settings-view-section-description`,Q.description)),Q.caption&&e.appendChild(B(`p`,`settings-view-section-caption`,Q.caption)),t$.appendChild(e),Q.id===`browser-shortcuts`){let e=B(`div`,`shortcut-groups settings-view-shortcuts`);k$(e),t$.appendChild(e),t$.appendChild(jX()),t$.appendChild(MX()),A$(t$);return}let r=cX([Q],s$,LQ),i=B(`div`,`settings-view-stack`);for(let e of Q.settings.filter(e=>!e.advanced))i.appendChild(c1(e,r));Q.id===`browser-flying-animals`&&i.append(NJ());let a=Q.settings.filter(e=>e.advanced);a.length>0&&i.append(x1(a,r));for(let e of Q.unattendedLinks||[]){let t=B(`div`,`settings-view-unattended-link`);t.append(document.createTextNode(`${e.title}: `));let n=B(`a`,null,`Enabled in Unattended actions`);n.href=w$(`lanes-unattended`,e.settingId),t.appendChild(n),i.appendChild(t)}t$.appendChild(i);let o=d1(r);o&&t$.appendChild(o)}function C1(e,{focusContent:t=!1,settingId:n=null,updateHash:r=!0}={}){Q.id!==e&&(WQ=!1),Q=CX(HQ,e)??Q,c$=``,w1(JQ),w1($Q),ZQ&&(ZQ.textContent=Q.title,XQ&&(XQ.title=Q.title)),QQ&&(QQ.textContent=UQ[Q.level]||Q.level),S1(),F1(Q)&&P1(),Q.id===`machine-updates`&&e1(),r&&T$(Q.id,n),n&&E$(n),t&&t$?.querySelector(`h1`)?.focus()}function w1(e){for(let t of e?.querySelectorAll(`[data-settings-section]`)||[]){let e=t.dataset.settingsSection===Q.id;t.setAttribute(`aria-current`,e?`page`:`false`)}}function T1(e){A1(!1),YQ&&(YQ.value=``,l$=``,j1(),C1(e.section.id,{settingId:e.setting.id}))}function E1(e,t){if(t.length===0){e.appendChild(B(`div`,`settings-empty settings-view-search-empty`,`No settings found.`));return}let n=new Map;for(let e of t)n.has(e.section.id)||n.set(e.section.id,[]),n.get(e.section.id)?.push(e);for(let t of n.values()){let n=t[0].section,r=B(`div`,`settings-view-nav-group`);r.appendChild(B(`div`,`settings-view-nav-label`,`${n.title} (${UQ[n.level]})`));for(let e of t){let t=B(`button`,`settings-view-nav-item settings-view-search-result`,e.setting.title);t.type=`button`,t.addEventListener(`click`,()=>T1(e)),r.appendChild(t)}e.appendChild(r)}}function D1(e,t,{groupClassName:n,headingClassName:r,createButton:i}){for(let a of[`browser`,`machine`,`lanes`,`projects`]){if(t[a].length===0)continue;let o=B(`div`,n);o.appendChild(B(`div`,r,UQ[a]));for(let e of t[a])o.appendChild(i(e));e.appendChild(o)}}function O1(e){$Q&&($Q.textContent=``,D1($Q,e,{groupClassName:`settings-view-section-picker-group`,headingClassName:`settings-view-section-picker-heading`,createButton(e){let t=B(`button`,`settings-view-section-option`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>{A1(!1),C1(e.id)}),t}}),w1($Q))}function k1(){return!!$Q&&!$Q.hidden}function A1(e,{returnFocus:t=!0}={}){if(!$Q||!XQ)return;let n=k1();if($Q.hidden=!e,XQ.setAttribute(`aria-expanded`,String(e)),e){O1(dX(HQ)),requestAnimationFrame(()=>{let e=$Q?.querySelector(`[aria-current="page"]`);e instanceof HTMLElement&&e.focus()});return}t&&n&&XQ.focus()}function j1(){if(!JQ||!e$||!qQ)return;let e=dX(HQ);if(JQ.textContent=``,e$.textContent=``,qQ.dataset.searching=String(!!l$),e$.hidden=!l$,l$){let e=fX(HQ,l$);E1(JQ,e),E1(e$,e);return}D1(JQ,e,{groupClassName:`settings-view-nav-group`,headingClassName:`settings-view-nav-label`,createButton(e){let t=B(`button`,`settings-view-nav-item`,e.title);return t.type=`button`,t.dataset.settingsSection=e.id,t.addEventListener(`click`,()=>C1(e.id)),t}}),O1(e),C1(Q.id,{updateHash:!1})}function M1(e){if(l$&&e.key===`Enter`){let t=fX(HQ,l$)[0];if(!t)return;e.preventDefault(),T1(t);return}if(e.key===`Escape`&&l$){if(!YQ)return;e.preventDefault(),YQ.value=``,l$=``,j1(),YQ.focus();return}if(e.key!==`ArrowUp`&&e.key!==`ArrowDown`||!JQ)return;let t=[...JQ.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 N1(e,{onRestart:t=()=>{},onConfirmUpdateAndRestart:n=e=>{e([])}}={}){h$=t,g$=n,fQ(j$),GQ=e,GQ.textContent=``,qQ=B(`div`,`settings-view-shell`);let r=B(`div`,`settings-view-sidebar`);YQ=B(`input`,`settings-view-search`),YQ.type=`search`,YQ.placeholder=`Search settings`,YQ.setAttribute(`aria-label`,`Search settings`),JQ=B(`nav`,`settings-view-nav`),JQ.setAttribute(`role`,`navigation`),JQ.setAttribute(`aria-label`,`Settings sections`),XQ=B(`button`,`settings-view-section-button`),XQ.type=`button`,XQ.setAttribute(`aria-expanded`,`false`),XQ.setAttribute(`aria-controls`,`settings-section-picker`),ZQ=B(`span`,`settings-view-section-button-title`),QQ=B(`span`,`settings-view-section-button-level`);let i=B(`span`,`settings-view-section-button-chevron`,`⌄`);i.setAttribute(`aria-hidden`,`true`),XQ.append(ZQ,QQ,i),$Q=B(`div`,`settings-view-section-picker`),$Q.id=`settings-section-picker`,$Q.hidden=!0,$Q.setAttribute(`role`,`dialog`),$Q.setAttribute(`aria-label`,`Settings sections`),e$=B(`nav`,`settings-view-phone-results`),e$.hidden=!0,e$.setAttribute(`aria-label`,`Settings search results`),t$=B(`div`,`settings-view-content`),t$.setAttribute(`aria-live`,`polite`),YQ.addEventListener(`input`,()=>{let e=YQ;e&&(l$=e.value.trim(),j1())}),YQ.addEventListener(`keydown`,M1),JQ.addEventListener(`keydown`,M1),e$.addEventListener(`keydown`,M1),XQ.addEventListener(`click`,()=>A1(!k1())),u$&&document.removeEventListener(`click`,u$),d$&&document.removeEventListener(`keydown`,d$),u$=e=>{k1()&&e.target instanceof Node&&($Q?.contains(e.target)||XQ?.contains(e.target)||A1(!1))},d$=e=>{e.key===`Escape`&&k1()&&(e.preventDefault(),A1(!1))},document.addEventListener(`click`,u$),document.addEventListener(`keydown`,d$),r.append(YQ,XQ,JQ,$Q),qQ.append(r,e$,t$),GQ.appendChild(qQ),S$(n$),j1(),P1(),KQ?.disconnect(),KQ=new IntersectionObserver(e=>{e.some(e=>e.isIntersecting)&&P1()}),KQ.observe(GQ)}function P1(){Cx().then(I1)}function F1(e){return e.settings.some(e=>e.path===`pref:soundId`)}function I1(){VQ=BQ(),D$();let e=Sx(VO());o$&&(o$[`pref:soundId`]=e),s$&&(s$[`pref:soundId`]=e),F1(Q)&&S1()}function L1({returnFocus:e=!0}={}){A1(!1,{returnFocus:e})}function R1(e=null,t=null){C1(e||Q.id,{settingId:t})}function z1(e){return pX(e,HQ,TY,EY)}function B1(e,t={}){let{rehydrateSectionIds:n=[]}=t;if(!e)return;n$=e,r$=Array.isArray(n$.projectChoices)?n$.projectChoices:[],O$(n$.projectChoices),D$();let r={...n$,prefs:x$()},i=rX(HQ,r,o$,s$,{rehydrateSectionIds:n});o$=i.original,s$=i.edited,c$=``,JQ&&j1(),S1()}function V1(e){return document.getElementById(e.id)?.closest(`.settings-view-setting`)??null}function H1(e,t){let n=t.querySelector(`.settings-view-status-slot`),r=a1(e);n&&r&&n.replaceWith(r),n&&!r&&n.remove(),!n&&r&&t.appendChild(r)}function U1(){for(let e of Q.settings||[]){if(!e.status)continue;let t=V1(e);t&&H1(e,t)}}function W1(){if(Q.id===`machine-updates`)for(let e of Q.settings||[]){if(!e.status?.startsWith(`update-`))continue;let t=V1(e);t&&(t.querySelector(`.settings-update-readout`)?.replaceWith(r1(e)),H1(e,t))}}function G1(e){f$=e,m$=yQ(m$,`status-frame`),W1(),v$&&Q.id===`machine-updates`&&e1()}function K1(e){p$=e,m$=yQ(m$,`progress-frame`),W1()}function q1(){Z$(`error-frame`)}function J1(e){O$(e),D$(),JQ&&j1()}function Y1(){Q.id===`browser-flying-animals`&&S1()}window.matchMedia(`(prefers-reduced-motion: reduce)`).addEventListener(`change`,Y1),Wf(Y1);function X1(e){return[...e||[]].map((e,t)=>({row:e,index:t})).sort((e,t)=>gj(e.row||{},`phone-triage`)-gj(t.row||{},`phone-triage`)||e.index-t.index).map(e=>e.row)}var Z1=new Set;function Q1(e,t,n){let r=RH(e,t,n),i=r.groups.map(e=>({...e,rows:X1(e.rows)})),a={...r,groups:i};return{...a,visibleIds:zH(a,Z1)}}var $1=e=>e.ui.path;function e0({onSelectSession:e}){let t=B(`div`,`phone-board`),n=B(`header`,`phone-topbar`),r=B(`div`,`phone-attention`);r.setAttribute(`role`,`status`),r.setAttribute(`aria-live`,`polite`);let i=B(`div`,`phone-calm calm-view`);i.hidden=!0;let a=B(`div`,`phone-board-list`),o=B(`div`,`phone-empty`);o.append(B(`p`,`phone-empty-title`,`No sessions`),B(`p`,`phone-empty-desc`,`Spawn a session to start watching.`)),t.append(n,r,i,a,o);let s=new Map,c=new Map,l=new WeakMap,u=new WeakMap,d=new WeakMap,f=0;xf(n);function p(t){let n=B(`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=B(`div`,`phone-row-item`);i.setAttribute(`role`,`listitem`);let a=B(`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(),AF(t)}),i.append(n,a),l.set(n,{refs:r,item:i}),n}function m(e){let t=B(`section`,`phone-board-group`);t.dataset.key=e;let n=B(`div`,`phone-board-group-header`),r=B(`span`,`phone-board-group-label`),i=B(`span`,`phone-board-group-count`),a=B(`button`,`phone-board-group-add`,`+`);a.type=`button`,a.addEventListener(`click`,()=>kF(t.dataset.path,t.dataset.label));let o=B(`button`,`phone-board-group-forget`,`x`);o.type=`button`,o.addEventListener(`click`,()=>{vF(t.dataset.path),ee()});let s=B(`div`,`phone-board-group-rows`);return s.setAttribute(`role`,`list`),n.append(r,i,o,a),t.append(n,s),u.set(t,{header:n,label:r,count:i,addButton:a,forgetButton:o,rows:s}),t}function h(e,t){let n=l.get(e);if(!n)return;let{ui:r,state:i,unseen:a}=t,{glyph:o,label:s,isMonitoring:c}=bf(i,r.awaitingBackgroundTasks),u=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=B(`span`,`session-list-task-title`,r.taskTitle??``);n.refs.name.append(f),n.refs.name.title=[d,r.taskTitle].filter(Boolean).join(` | `),n.refs.badge.textContent=u;let p=r.card?.dataset.merge||``;e.dataset.merge=p,n.refs.merge.textContent=vf[p]||``,n.refs.elapsed.textContent=jp(r),e.setAttribute(`aria-label`,`${d}, ${u}`)}function g(e,t){let n=u.get(e);if(!n)return;let{header:r,label:i,count:a,addButton:o,forgetButton:s,rows:c}=n,l=t.key===IH,d=t.rows.length===0;e.dataset.path=t.key,e.dataset.label=t.label,e.toggleAttribute(`data-empty`,d),r.title=t.title,i.textContent=t.label,a.textContent=String(t.rows.length),a.title=`${t.rows.length} ${t.rows.length===1?`session`:`sessions`}`,o.hidden=l,s.hidden=l||!d,l||(o.title=`Add a session to ${t.label}`,o.setAttribute(`aria-label`,`Add a session to ${t.label}`)),!l&&d&&(s.title=`Remove ${t.label} from the Board`,s.setAttribute(`aria-label`,`Remove ${t.label} from the Board`)),c.setAttribute(`aria-label`,`${t.label} sessions`)}let{noteStates:_,acknowledge:v,isUnseen:y}=HH();function b(){let e=OF();_(e);for(let t of e)t.unseen=y(t.id);return _j(e)}function ee(){let e=b(),t=Q1(e,$1,_F(e,$1));f=xj(e),r.textContent=Sj(f),r.toggleAttribute(`data-lit`,f>0);let n=new Set(t.order),i=t.order.join(`,`),_=d.get(a)===i&&a.childElementCount===t.groups.length;for(let e of t.groups){let t=c.get(e.key);t||(t=m(e.key),c.set(e.key,t)),g(t,e),_||a.appendChild(t);let n=e.rows.map(e=>e.id).join(`,`),r=u.get(t);if(!r)continue;let i=d.get(r.rows)===n&&r.rows.childElementCount===e.rows.length;for(let t of e.rows){let e=s.get(t.id);e||(e=p(t.id),s.set(t.id,e)),h(e,t);let n=l.get(e);n&&(i||r.rows.appendChild(n.item))}d.set(r.rows,n)}d.set(a,i);for(let[e,t]of[...c])n.has(e)||(t.remove(),c.delete(e));let v=new Set(t.visibleIds);for(let[e,t]of[...s]){if(v.has(e))continue;let n=l.get(t);n&&n.item.remove(),s.delete(e)}let y=t.groups.length>0;a.hidden=!y,o.hidden=y}Pp(()=>{for(let[e,t]of s){let n=H.get(e),r=l.get(t);n&&r&&(r.refs.elapsed.textContent=jp(n))}});function te(e){i.hidden=!e,t.toggleAttribute(`data-calm`,e)}return{el:t,topBarEl:n,calmEl:i,setCalmShown:te,refresh:ee,acknowledge:v,getAttentionCount:()=>f}}var t0=`glimmervoidCalmSheet`,n0=Object.freeze({[t0]:!0});function r0(e){return typeof e!=`object`||!e?!1:t0 in e}function i0({poppedState:e,isCalmSheetOpen:t,isOwnSheetPopPending:n}){if(n)return`own-sheet-pop`;let r=r0(e);return r&&t?`adopt-sheet-entry`:r?`consume-stray-sheet-entry`:t?`close-sheet`:`navigate`}function a0({pushedEntry:e,isOwnSheetPopPending:t}){return e===`none`?t?`defer-until-own-pop`:`push-sheet-entry`:`keep-history`}function o0({pushedEntry:e,topState:t,isOwnSheetPopPending:n}){return!n&&e===`calm-sheet`&&r0(t)}var s0=`clipboard`,c0=`upload`,l0=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:s0,title:`Paste from the clipboard`}),Object.freeze({id:`upload-image`,label:`Image`,bytes:null,action:c0,accept:`image/*`,title:`Upload an image to this session`}),Object.freeze({id:`upload-file`,label:`File`,bytes:null,action:c0,title:`Upload a file to this session`})]);function u0(e){let t=l0.find(t=>t.id===e);return t?t.bytes:null}function d0(e){return!!e&&e.action===`clipboard`}function f0(e){return!!e&&e.action===`upload`}function p0({send:e,getSessionId:t}){let n=B(`div`,`phone-key-strip`);n.setAttribute(`role`,`toolbar`),n.setAttribute(`aria-label`,`Terminal keys`);let r=null,i=null;for(let e of l0){let t=B(`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){if(f0(t)){o(t,n);return}if(d0(t)){h0(e);return}e(u0(t.id))}function o(e,t){i=t,r||(r=B(`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?.();if(!a){GS(`No session is open to upload to`);return}c(a,n,i)}async function c(e,t,n){n&&(n.disabled=!0);let r={"x-glimmervoid-upload-name":encodeURIComponent(t.name)};t.type&&(r[`content-type`]=t.type);try{let n=await fetch(`/upload/${encodeURIComponent(e)}`,{method:`POST`,body:t,headers:r});n.ok||GS(await m0(n))}catch{GS(`Upload failed`)}finally{n&&(n.disabled=!1)}}return n}async function m0(e){try{let t=await e.json();if(t&&typeof t.error==`string`)return`Upload failed: ${t.error}`}catch{}return`Upload failed`}function h0(e){let t=null;try{t=navigator.clipboard?.readText?.()}catch{GS(`Paste needs clipboard permission`);return}if(!t){GS(`Paste is unavailable in this browser`);return}t.then(t=>{t&&e(t)}).catch(()=>GS(`Paste needs clipboard permission`))}var g0=`‹`;function _0({onBack:e}){let t=B(`div`,`phone-terminal`),n=B(`header`,`phone-topbar phone-terminal-bar`),r=B(`button`,`phone-back`,g0);r.type=`button`,r.setAttribute(`aria-label`,`Back to board`),r.addEventListener(`click`,()=>e?.());let i=B(`div`,`phone-terminal-identity`),a=B(`span`,`phone-terminal-name`);a.title=`Tap to rename`,a.addEventListener(`click`,()=>ee());let o=B(`span`,`session-task-title session-list-task-title`);yV(o,()=>te());let s=B(`span`,`phone-terminal-identity-line`),c=B(`span`,`phone-terminal-badge`);c.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 l=V(c,`.phone-terminal-glyph`,`span`),u=V(c,`.phone-terminal-label`,`span`),d=V(c,`.phone-terminal-elapsed`,`span`);s.append(a,o),i.append(s,c);let f=B(`div`,`phone-terminal-actions`);n.append(r,i,f);let p=B(`div`,`phone-card-slot`),m=B(`div`,`phone-empty`);m.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 h=p0({send:y,getSessionId:()=>g});t.append(n,p,m,h);let g=null,_=null,v=null;function y(e){let t=g?H.get(g):null;t&&(vA(t,e)||GS(`Session is not connected; key press was dropped`))}function b(){let e=g?H.get(g):null;e?.term&&e.term.focus()}p.addEventListener(`click`,b);function ee(){let e=g?H.get(g):null;e&&g&&wV(e,g)}function te(){let e=g?H.get(g):null;e&&g&&xV(e,g)}function ne(){let e=g?H.get(g):null,t=!!e;if(m.hidden=t,p.hidden=!t,h.hidden=!t,i.hidden=!t,!t){n.removeAttribute(`data-state`),n.removeAttribute(`data-monitoring`);return}let r=e.currentState||F.DORMANT;n.dataset.state=r;let{glyph:s,label:c,isMonitoring:f}=bf(r,e.awaitingBackgroundTasks);n.toggleAttribute(`data-monitoring`,f),CV(a)||(a.textContent=e.card?.dataset.session||g),bV(o,e.taskTitle),l.textContent=s,u.textContent=c,d.textContent=jp(e)}function re(){v&&=(delete v.renameTargetEl,delete v.titleTargetEl,null),a.replaceChildren(),_&&=(Of(_),_.parentElement===f&&_.remove(),null)}function ie(e){let t=H.get(e);if(t){if(g===e&&kP()===e&&t.card.parentElement===p){ne();return}re(),g=e,AP(t,e,p,{className:`phone-centered`}),_=V(t.card,`.session-actions`,`div`),Df(_,f),t.renameTargetEl=a,t.titleTargetEl=o,v=t,ne()}}function ae(){re(),kP()===g&&jP(),g=null,ne()}function x(){if(!g){ne();return}let e=H.get(g);if(!e){ae();return}if(e.card.parentElement!==p){ie(g);return}ne()}function oe(){let e=g;e&&TA(H.get(e),e,!1)}function se(){x();let e=g;if(!e)return;let t=H.get(e);t&&TA(t,e,!0)}return Pp(()=>{let e=g?H.get(g):null;e&&(d.textContent=jp(e))}),ne(),{el:t,show:ie,clear:ae,refresh:x,reveal:se,unview:oe,getSessionId:()=>g}}var v0=`board`,y0=Object.freeze([{id:v0,label:`Board`,glyph:`▤`},{id:`terminal`,label:`Terminal`,glyph:`▸`},{id:`review`,label:`Review`,glyph:`◫`}]),b0=[],x0=new Map,S0=null,C0=new Map,w0=new Map,T0=new Map,E0=null,D0=null,O0=null,k0=null,A0=null,j0=new Map,M0=new Set,N0={},P0=!1,F0=120,I0=0,L0=0,R0=`none`,z0=!1,B0=!1,V0=!1,H0={openTerminal:t2,openPlan:e=>{y2(e)},onSheetOpenChange:s2};function U0(){I0=0,L0=0}function W0(){let e=window.visualViewport;if(S0){if(!P0||!e){S0.removeAttribute(`data-keyboard`);return}if(S0.style.setProperty(`--phone-vh`,`${e.height}px`),S0.style.setProperty(`--phone-vv-top`,`${e.offsetTop}px`),e.width!==L0&&(L0=e.width,I0=0),I0=Math.max(I0,e.height),I0-e.height>F0){S0.dataset.keyboard=`open`;return}S0.removeAttribute(`data-keyboard`)}}function G0(e,t,n=`phone-nav-item`,r=`phone-nav-dot`){let i=B(`button`,n);i.type=`button`;let a=B(`span`,`phone-nav-glyph`,t);a.setAttribute(`aria-hidden`,`true`),i.append(a,B(`span`,`phone-nav-label`,e));let o=B(`span`,r);return o.setAttribute(`aria-hidden`,`true`),o.hidden=!0,i.appendChild(o),i}function K0(e){return e?.querySelector(`.phone-nav-dot`)||null}function q0(e,t){e&&(e.hidden=!t,typeof t==`string`&&(e.dataset.attention=t),typeof t!=`string`&&delete e.dataset.attention)}function J0(){let e=[];for(let t of b0){if(M0.has(t.id))continue;let n=T0.get(t.id)||!1;e.push(n),q0(K0(j0.get(t.id)),n)}q0(K0(k0),mie(e))}function Y0(){let e=B(`div`,`phone-nav-more-menu`);e.hidden=!0;for(let t of b0){let n=G0(t.label,t.glyph,`phone-nav-menu-item`,`phone-nav-dot phone-nav-menu-dot`);n.dataset.screen=t.id,n.hidden=M0.has(t.id),n.addEventListener(`click`,()=>{X0(!1),p2(t.id)}),j0.set(t.id,n),e.appendChild(n)}return e}function X0(e){A0&&k0&&(A0.hidden=!e,k0.setAttribute(`aria-expanded`,String(e)))}function Z0(){return!!A0&&!A0.hidden}function Q0(){let e=B(`nav`,`phone-nav`);e.setAttribute(`aria-label`,`Screens`);for(let t of y0){let n=G0(t.label,t.glyph);n.dataset.screen=t.id,n.addEventListener(`click`,()=>p2(t.id)),C0.set(t.id,n),e.appendChild(n)}return k0=G0(`More`,`⋯`),k0.setAttribute(`aria-expanded`,`false`),k0.addEventListener(`click`,()=>X0(!Z0())),e.appendChild(k0),A0=Y0(),e.appendChild(A0),e}function $0(e,t,n){let r=B(`section`,`phone-screen`);return r.dataset.screen=e,r.setAttribute(`aria-label`,t),r.hidden=!0,n&&r.appendChild(n),w0.set(e,r),r}function e2(){if(S0)return;E0=e0({onSelectSession:t2}),E0.setCalmShown(V0),D0=_0({onBack:()=>p2(v0)}),O0=B(`div`,`phone-review`);let e=B(`div`,`phone-screens`),t={[v0]:E0.el,terminal:D0.el,review:O0};for(let n of y0)e.appendChild($0(n.id,n.label,t[n.id]));for(let t of b0){let n=B(`div`,`phone-panel phone-${t.id}`);x0.set(t.id,n),e.appendChild($0(t.id,t.label,n))}S0=B(`div`,`phone-shell`),S0.id=`phone-shell`,S0.append(e,Q0()),document.body.appendChild(S0),J0(),window.visualViewport?.addEventListener(`resize`,W0),window.visualViewport?.addEventListener(`scroll`,W0),window.addEventListener(`popstate`,l2),document.addEventListener(`click`,e=>{Z0()&&A0&&k0&&e.target instanceof Node&&(A0.contains(e.target)||k0.contains(e.target)||X0(!1))}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&Z0()&&X0(!1)})}function t2(e){if(H.has(e)){if(!E0||!D0)throw Error(`Phone shell is not built`);TF(e,`dormant-fallback`),E0.acknowledge(e),EF(e),D0.show(e),p2(`terminal`)}}function n2(e){if(e===v0){i2();return}let t={glimmervoidScreen:e};if(R0!==`none`){history.replaceState(t,``),R0=`screen`;return}history.pushState(t,``),R0=`screen`}function r2(){if(r0(history.state))return R0=`calm-sheet`,o2(),v0;let e=c2(history.state);return e&&f2(e)?(R0=`screen`,e):(e&&history.replaceState(null,``),R0=`none`,v0)}function i2(){R0!==`none`&&(R0=`none`,history.back())}function a2(){a0({pushedEntry:R0,isOwnSheetPopPending:B0})===`push-sheet-entry`&&(history.pushState(n0,``),R0=`calm-sheet`)}function o2(){o0({pushedEntry:R0,topState:history.state,isOwnSheetPopPending:B0})&&(R0=`none`,B0=!0,history.back())}function s2(e){if(z0=e,e){a2();return}o2()}function c2(e){let t=e?.glimmervoidScreen;return typeof t==`string`?t:null}function l2(e){let t=B0;if(B0=!1,!P0)return;let n=i0({poppedState:e.state,isCalmSheetOpen:z0,isOwnSheetPopPending:t});if(n===`own-sheet-pop`){z0&&a2();return}if(n===`adopt-sheet-entry`){R0=`calm-sheet`;return}if(n===`consume-stray-sheet-entry`){R0=`calm-sheet`,o2();return}if(n===`close-sheet`){R0=`none`,SP();return}let r=c2(e.state);R0=r?`screen`:`none`,d2(r&&f2(r)?r:v0)}function u2(e,t){for(let[n,r]of e){if(n===t){r.setAttribute(`aria-current`,`page`);continue}r.removeAttribute(`aria-current`)}}function d2(e){if(!k0||!D0)throw Error(`Phone shell is not built`);If.dispatch(`setPhoneScreen`,e),X0(!1);for(let[t,n]of w0)n.hidden=t!==e;N0.onScreenShown?.(e),_2(),u2(C0,e);let t=j0.has(e);if(t&&k0.setAttribute(`aria-current`,`page`),t||k0.removeAttribute(`aria-current`),u2(j0,e),e===`terminal`){D0.reveal();return}D0.unview()}function f2(e){return w0.has(e)&&!M0.has(e)}function p2(e){S0&&f2(e)&&(e!==If.snapshot().phoneScreen&&n2(e),d2(e))}function m2(e){N0=e||{},b0=N0.panels||[]}function h2({sessionId:e}={}){if(P0)return;if(e2(),!S0||!E0||!D0)throw Error(`Phone shell is not built`);P0=!0,S0.hidden=!1;for(let e of N0.headerControls||[])Df(e,E0.topBarEl);HR(O0);for(let e of b0)Df(e.el,x0.get(e.id)),e.el.hidden=!1;W0(),e&&D0.show(e);let t=r2();if(S2(),e&&t===v0){If.dispatch(`setPhoneScreen`,v0),p2(`terminal`);return}d2(t)}function g2(){if(P0){if(!S0||!D0)throw Error(`Phone shell is not built`);P0=!1,_2(),L1({returnFocus:!1}),D0.clear(),HR(null);for(let e of b0)Of(e.el);for(let e of N0.headerControls||[])Of(e);X0(!1),S0.hidden=!0,S0.removeAttribute(`data-keyboard`),U0(),i2()}}function _2(){if(E0){if(!(P0&&V0&&If.snapshot().phoneScreen===v0)){CP();return}xP(E0.calmEl,H0)}}function v2(e){V0=e,E0?.setCalmShown(e),_2()}function y2(e){return!P0||!E0||!D0||!H.has(e)?!1:(t2(e),cH(e))}function b2(){return P0}function x2(){return P0&&D0?D0.getSessionId():null}function S2(){if(!P0)return;if(!E0||!D0)throw Error(`Phone shell is not built`);E2(),E0.refresh(),D0.refresh(),If.snapshot().phoneScreen===`terminal`&&!D0.getSessionId()&&p2(v0);let e=K0(C0.get(v0));e&&(e.hidden=E0.getAttentionCount()===0)}function C2(e){return!P0||!f2(e)?!1:(p2(e),!0)}function w2(e,t){t&&M0.delete(e),t||M0.add(e);let n=j0.get(e);n&&(n.hidden=!t);let r=w0.get(e);r&&!t&&(r.hidden=!0),J0(),!t&&P0&&If.snapshot().phoneScreen===e&&p2(v0)}function T2(e,t){T0.set(e,typeof t==`string`&&t?t:t===!0),J0()}function E2(){if(!D0)throw Error(`Phone shell is not built`);if(D0.getSessionId())return;let e=DF();e&&(D0.show(e),EF(e,{rememberFocus:!1}))}function D2(e,t){return!!e?.error&&!e.isRefreshing&&typeof e.nextAttemptAt==`number`&&e.nextAttemptAt>t}function O2(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 k2(e,t,n){return e?.refreshNotice&&e.isRefreshing?e.refreshNotice:t||e?.isRefreshing?`Refreshing.`:n||e?.refreshNotice||``}var A2={minPx:220,maxPx:720},j2=16,M2=new Set,N2=0;function P2(e){let t=lk();e.toggleAttribute(`data-queue-collapsed`,t),e.querySelector(`.pr-queue-toggle`)?.setAttribute(`aria-expanded`,String(!t));let n=sk();if(n===null){e.style.removeProperty(`--pr-queue-width`);return}e.style.setProperty(`--pr-queue-width`,`${n}px`)}function F2(){for(let e of M2){if(!e.isConnected){M2.delete(e);continue}P2(e)}}function I2(e,t){let n=B(`div`,`pr-queue-head`);return e&&n.append(e),t&&n.append(t),n}function L2(e){let t=B(`div`,`pr-queue-foot`);return e&&t.append(e),t}function R2({queueLabel:e,scopeTabs:t,resizerLabel:n}){let r=B(`div`,`pr-columns`),i=B(`div`,`pr-queue-pane`),a=B(`nav`,`pr-queue`);a.id=`pr-queue-${++N2}`,a.setAttribute(`aria-label`,e);let o=B(`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=DL(16,16);s.append(EL(`rect`,{x:`1.5`,y:`2`,width:`13`,height:`12`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),s.append(EL(`path`,{d:`M5.5 2V14`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`}));let c=EL(`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`,()=>{uk(!lk()),F2()});let l=L2(null);i.append(I2(t,o),a,l);let u=B(`div`,`pr-queue-resizer`);u.setAttribute(`role`,`separator`),u.setAttribute(`aria-orientation`,`vertical`),u.setAttribute(`aria-label`,n),u.tabIndex=0;let d=B(`main`,`pr-detail-host`);return r.append(i,u,d),P2(r),M2.add(r),pF({resizer:u,column:i,widthHost:r,widthProperty:`--pr-queue-width`,bounds:A2,keyStepPx:j2,getStoredWidth:sk,setStoredWidth:ck}),{columns:r,queue:a,foot:l,detail:d}}var z2=1.2,B2=1.55,V2=.12,H2=523.25,U2=2,W2=8,$=(e,t,n)=>({semitone:e,startBeat:t,beats:n}),G2={melody:[$(7,4,.5),$(11,4.5,.5),$(12,5,3)],bass:[$(-5,4,1),$(-12,5,3)]},K2=[{melody:[$(0,0,1),$(4,1,1),$(7,2,1),$(9,3,1)],bass:[$(-12,0,2),$(-8,2,2)]},{melody:[$(7,0,.67),$(7,.67,.67),$(7,1.33,.67),$(9,2,1),$(5,3,1)],bass:[$(-12,0,2),$(-7,2,2)]},{melody:[$(5,0,1),$(9,1,1),$(7,2,1),$(4,3,1)],bass:[$(-7,0,2),$(-12,2,2)]},{melody:[$(12,0,.5),$(7,.5,.5),$(12,1,.5),$(16,1.5,.5),$(16,2,1),$(14,3,1)],bass:[$(-12,0,2),$(-3,2,2)]},{melody:[$(4,0,1),$(7,1,1),$(4,2,.5),$(5,2.5,.5),$(7,3,.5),$(4,3.5,.5)],bass:[$(-8,0,2),$(-12,2,2)]}].map(e=>({melody:[...e.melody,...G2.melody],bass:[...e.bass,...G2.bass]}));function q2(e,t){return H2*2**((e+t)/12)}function J2(e,t){let n=(e,n,r)=>e.map(e=>({frequency:q2(e.semitone,t),startSeconds:B2+e.startBeat*V2,durationSeconds:e.beats*V2,waveform:n,gain:r}));return[...n(e.melody,`square`,.2),...n(e.melody,`triangle`,.5),...n(e.bass,`triangle`,.6)]}var Y2=[{frequency:220,endFrequency:880,startSeconds:0,durationSeconds:.32,waveform:`triangle`,gain:.25},{frequency:160,endFrequency:45,startSeconds:z2,durationSeconds:.28,waveform:`sine`,gain:1},{frequency:1400,endFrequency:380,startSeconds:z2,durationSeconds:.06,waveform:`square`,gain:.12}];function X2(e){let t=K2[e%K2.length],n=Math.min(e*U2,W2);return{peakGain:.1,tones:[...Y2,...J2(t,n)]}}function Z2(e){return Math.round(Math.sqrt(2*e/780)*1e3)}function Q2(e,t,n=Math.random){return Math.round(e+n()*(t-e))}function $2(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 e4=.6,t4=.25,n4=1.6;function r4(e){return Math.min(e4+e*t4,n4)}var i4=[`var(--accent)`,`var(--state-running)`,`var(--state-idle)`,`var(--state-waiting)`,`var(--state-failed)`];function a4(e,t=Math.random){let n=Q2(320,520,t),r=Q2(1800,2800,t);return[[`--confetti-start-x`,`${Q2(4,96,t)}%`],[`--confetti-x`,`${Q2(-140,140,t)}px`],[`--confetti-rise`,`${-Q2(20,55,t)}px`],[`--confetti-fall`,`${Q2(45,70,t)}vh`],[`--confetti-rise-ms`,`${n}ms`],[`--confetti-fall-ms`,`${r}ms`],[`--confetti-flight-ms`,`${n+r}ms`],[`--confetti-tilt`,`${Q2(0,180,t)}deg`],[`--confetti-spin`,`${Q2(-360,360,t)}deg`],[`--confetti-flutter-ms`,`${Q2(160,340,t)}ms`],[`--confetti-delay`,`${Q2(0,160,t)}ms`],[`--confetti-color`,i4[e%i4.length]]]}var o4=`<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>`,s4=`<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 c4(){let e=ff(`div`,`merge-bullseye-target`,o4);return e.append(B(`span`,`merge-bullseye-ripple`)),e}function l4(){let e=B(`div`,`merge-bullseye-dart-drift`),t=B(`div`,`merge-bullseye-dart-arc`),n=B(`div`,`merge-bullseye-dart-aim`);return n.append(ff(`div`,`merge-bullseye-dart`,s4)),t.append(n),e.append(t),e}function u4(){let e=B(`div`,`merge-bullseye-range`),t=B(`div`,`merge-bullseye-track`);return t.append(l4()),e.append(c4(),t),e}var d4={title:`BULLSEYE!`,buildScene:u4},f4=6,p4=30,m4=-14,h4=16;function g4(e=Math.random){return[[`--crosshair-start-left`,`${Q2(f4,p4,e)}%`],[`--crosshair-start-offset-y`,`${Q2(m4,h4,e)}px`]]}var _4=`<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>`,v4=`<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>`,y4=`<svg viewBox="0 0 24 24" aria-hidden="true"><path d="M3 3L8 8M21 3L16 8M3 21L8 16M21 21L16 16"/></svg>`;function b4(){let e=B(`div`,`merge-headshot-sweep`);pf(e,g4());let t=B(`div`,`merge-headshot-aim`);t.append(ff(`div`,`merge-headshot-crosshair`,v4));let n=B(`div`,`merge-headshot-bob`);return n.append(t,ff(`div`,`merge-headshot-hitmarker`,y4)),e.append(n),e}function x4(){let e=B(`div`,`merge-headshot-range`),t=B(`div`,`merge-headshot-track`);return t.append(b4()),e.append(ff(`div`,`merge-headshot-target`,_4),t),e}var S4={title:`HEADSHOT!`,buildScene:x4},C4=[`10`,`J`,`Q`,`K`,`A`],w4=19,T4=5,E4=9,D4=780,O4=70,k4=70,A4=35;function j4(e){let t=C4.length-1,n=e-t/2;return{offsetPx:n*w4,titleSpreadFraction:n/t,tiltDegrees:n*T4,bottomPx:E4-n**2,dealLeadMs:D4-e*O4,flipLeadMs:160+(t-e)*k4,waveDelayMs:e*A4}}function M4(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 N4(){return[[`--card-flip-ms`,`160ms`]]}var P4=`<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 F4(e,t){let n=B(`div`,`merge-flush-deal`);pf(n,M4(j4(t)));let r=B(`div`,`merge-flush-hop`),i=B(`div`,`merge-flush-card`),a=B(`div`,`merge-flush-face`);return a.append(B(`span`,`merge-flush-rank`,e)),a.insertAdjacentHTML(`beforeend`,P4),i.append(B(`div`,`merge-flush-back`),a),r.append(i),n.append(r),n}function I4(){let e=B(`div`,`merge-flush-table`);return pf(e,N4()),e.append(...C4.map(F4)),e}var L4={title:`ROYAL FLUSH!`,buildScene:I4},R4=[1,2,3,4],z4=14,B4=3,V4=3,H4=10,U4=20,W4=2,G4=28,K4=18,q4=.01,J4=1.5,Y4=2200,X4=1,Z4=120,Q4=.35,$4=4,e3=65,t3=145;function n3(e){return Math.round(e/(Math.PI*K4)*360)}function r3(e){return U4-e*W4}function i3(e){return e.rowIndex*z4+e.depthIndex*B4}function a3(e,t,n){return Array.from({length:n},(r,i)=>e+(t-e)*i/(n-1))}function o3(){return R4.flatMap((e,t)=>Array.from({length:e},(n,r)=>({rowIndex:t,depthIndex:e-1-r})))}function s3(e,t){let n=$2(a3(15,105,e),t),r=$2(a3(e3,t3,e),t);return n.map((e,n)=>({angleDegrees:e+Q2(-4,$4,t),depthScalePercent:Math.round(r[n])}))}function c3(e,t,n){let r=Q2(240,380,n),i=t.angleDegrees*Math.PI/180,a=r*Math.cos(i),o=(r*Math.sin(i))**2/1560,s=Q2(15,45,n),c=Z2(o),l=Z2(o+s),u=c+l,d=Q2(540,1080,n),f=a>=0?1:-1,p=i3(e);return{depthIndex:e.depthIndex,launchAngleDegrees:t.angleDegrees,distanceFromHeadPinPx:p,layer:r3(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/Q4)}}function l3(e=Math.random){let t=o3(),n=s3(t.length,e);return t.map((t,r)=>c3(t,n[r],e))}function u3(e){return[[`--pin-left`,`${e.distanceFromHeadPinPx}px`],[`--pin-raise`,`${e.depthIndex*V4}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 eoe(){return r3(J4)}function toe(){return Math.max(...o3().map(i3))+H4}function noe(){let e=toe(),t=G4+e+K4-X4;return[[`--ball-follow-px`,`${Z4}px`],[`--ball-follow-ms`,`${Math.round(Z4/Q4)}ms`],[`--ball-follow-spin`,`${n3(Z4)}deg`],[`--ball-size`,`${K4}px`],[`--ball-approach-spin`,`${Y4}deg`],[`--ball-impact-inset`,`${t}px`],[`--ball-layer`,String(eoe())],[`--rack-right`,`${G4}px`],[`--rack-width`,`${e}px`],[`--pin-width`,`${H4}px`]]}function roe(e=Math.random){return e()>=q4?null:oO[Math.floor(e()*oO.length)].sprite}var ioe=`<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 aoe(e){let t=B(`span`,`merge-strike-pin`);return t.append(ff(`span`,`merge-strike-pin-arc`,ioe)),pf(t,u3(e)),t}function ooe(){let e=roe();if(!e)return B(`span`,`merge-strike-ball`);let t=B(`span`,`merge-strike-ball is-animal`);return t.append(B(`span`,`nyan-sprite ${e}`)),t}function soe(){let e=B(`div`,`merge-strike-lane`);pf(e,noe());let t=B(`div`,`merge-strike-rack`);t.append(...l3().map(aoe));let n=B(`div`,`merge-strike-track`);return n.append(ooe()),e.append(t,n),e}var coe={title:`STRIKE!`,buildScene:soe},loe=20,uoe=92,doe=23,foe=7,poe=-40;function moe(){let e=Z2(72),t=Z2(69),n=780*t/1e3;return{launchHeightPx:loe,peakHeightPx:uoe,heightThroughRimPx:doe,heightLeavingNetPx:foe,heightOutOfCardPx:poe,riseMs:e,fallToRimMs:t,speedThroughRimPxPerSecond:n,netCatchMs:Math.round(32/n*1e3),dropMs:Z2(47)}}function hoe(e=moe()){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 goe=`<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>`,_oe=`<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 voe(){let e=B(`div`,`merge-swish-ball-drift`),t=B(`div`,`merge-swish-ball-arc`);return t.append(B(`span`,`merge-swish-ball`)),e.append(t),e}function yoe(){let e=B(`div`,`merge-swish-court`);pf(e,hoe());let t=B(`div`,`merge-swish-track`);return t.append(voe()),e.append(ff(`div`,`merge-swish-hoop-back`,goe),t,ff(`div`,`merge-swish-hoop-front`,_oe)),e}var d3=[coe,{title:`SWISH!`,buildScene:yoe},d4,S4,L4],boe=48,f3=5600,xoe=20,p3=null,m3=[],h3=null,g3=!1,_3=0;function Soe(e){let t=B(`span`,`merge-confetti-piece`),n=B(`span`,`merge-confetti-arc`);return n.append(B(`span`,`merge-confetti-paper`)),t.append(n),pf(t,a4(e)),t}function Coe(e){let t=B(`p`,`merge-celebration-title`);return t.setAttribute(`aria-hidden`,`true`),Array.from(e).forEach((e,n)=>{let r=B(`span`,`merge-celebration-letter`,e);r.style.setProperty(`--letter-delay`,`${n*45}ms`),t.append(r)}),t}function woe(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 Toe(e){let t=B(`div`,`merge-celebration-scene`);return t.setAttribute(`aria-hidden`,`true`),t.append(e.buildScene()),t}function Eoe(){return d3[Math.floor(Math.random()*d3.length)]}function Doe(e){if(zO())try{Dx(X2(e))}catch{}}function Ooe(e,t,n){p3?.remove(),Doe(n);let r=B(`div`,`merge-celebration`);r.setAttribute(`role`,`status`);let i=B(`div`,`merge-celebration-card`),a=B(`div`,`merge-celebration-stage`),o=Coe(t.title);a.append(o,B(`p`,`merge-celebration-message`,e),Toe(t));let s=B(`div`,`merge-confetti`);s.style.setProperty(`--confetti-scale`,String(r4(n)));for(let e=0;e<boe;e+=1)s.append(Soe(e));i.append(s,a),r.append(i),document.body.append(r),woe(a,o),p3=r,window.setTimeout(()=>{r.remove(),p3===r&&(p3=null)},f3)}function koe(e){return g3?`playing`:e?`queued`:`empty`}function v3(){if(!h3)return;let e=m3.length>0;h3.tray.dataset.state=koe(e),h3.count.textContent=e?String(m3.length):``,h3.button.disabled=g3||!e}function y3(){let e=m3.shift();g3=e!==void 0,v3(),e&&(Ooe(e.message,e.scene,_3),_3+=1,window.setTimeout(y3,f3))}function Aoe(e,t,n){h3={tray:e,button:t,count:n},t.addEventListener(`click`,()=>{_3=0,y3()}),v3()}function joe(e,t=Eoe()){m3.push({message:e,scene:t}),m3.length>xoe&&m3.shift(),v3()}var Moe={MERGE:`a merge commit`,SQUASH:`squash and merge`,REBASE:`rebase and merge`},Noe=new Set([`FAILURE`,`ERROR`]);function b3(e){return Moe[e]}function Poe(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&&Noe.has(e.checks.state)?`Checks are failing`:e.stage===`ready`?null:`Not ready to merge yet`:`Closed`}function x3(e,t,n,r,i,a){return{isVisible:a&&(e.state===`OPEN`||t),isPressed:t,isDisabled:n,statusText:r||(n?`Saving...`:i)}}function Foe(e,t,n=``){if(!t||!e.keepMergeable)return null;let r=S3(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 S3(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`),x3(e,!!e.keepMergeable,t,n,o,r)}function Ioe(e){return e?.isKeepMergeableEnabled!==!1}function Loe(e){return e?.isMergeQueueEnabled!==!1}var Roe={one:`st`,two:`nd`,few:`rd`,other:`th`},zoe=new Intl.PluralRules(`en-US`,{type:`ordinal`});function Boe(e){return`${e}${Roe[zoe.select(e)]??`th`}`}function Voe(e,t){return e===null?`Not queued`:t?`Repair pushed, waiting for you`:`Queued, ${Boe(e)} in line for this repository`}function Hoe(e,t,n=``,r=!0){let i=e.mergeQueuePosition??null;return x3(e,i!==null,t,n,Voe(i,!!e.isMergeQueueHeldForRepairPush),r)}var C3=[`Needs you`,`Waiting`,`Ready to merge`,`Drafts`,`Merged today`],Uoe=[`Ready to merge`,`Needs you`,`Waiting`,`Drafts`,`Merged today`],Woe={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`},Goe={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`},Koe={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`},qoe={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 Joe(e){let t=ju.safeParse(e);return t.success?t.data:null}function Yoe(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 Xoe(e){return C3[e.rows.reduce((e,{pr:t})=>Math.min(e,C3.indexOf(Woe[t.stage])),C3.length-1)]}function Zoe(e){let t=new Map(C3.map(e=>[e,{title:e,prs:[],rows:[]}]));for(let n of Yoe(e)){let e=t.get(Xoe(n));if(e)for(let t of n.rows)e.rows.push(t),e.prs.push(t.pr)}return Uoe.flatMap(e=>t.get(e)??[])}function w3(e){return Goe[e]}function T3(e){return Koe[e]}function E3(e){return qoe[e]}function Qoe(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 D3(e){return`${e} ${e===1?`approval`:`approvals`}`}function O3(e){return e.reviewRequests.map(e=>e.name).join(`, `)}function $oe(e){let t=e.reviewRequests.length>0?`Requested: ${O3(e)}`:`Approval required`;return e.approvals>0?`${t}, ${D3(e.approvals)}`:t}function ese(e){let t=e.approvals>0?D3(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 tse(e){return e.reviewDecision===`CHANGES_REQUESTED`?{label:`Review`,tone:`warn`,icon:`changes-requested`,text:`Changes requested`}:e.reviewDecision===`APPROVED`?ese(e):e.reviewDecision===`REVIEW_REQUIRED`||e.mergeStateStatus===`BLOCKED`?{label:`Review`,tone:`wait`,icon:`reviewer`,text:$oe(e)}:e.reviewRequests.length>0?{label:`Review`,tone:`wait`,icon:`reviewer`,text:`Requested: ${O3(e)}`}:{label:`Review`,tone:`muted`,icon:`none`,text:`No review requested`}}function k3(e,t){return t?e.lastAuthor!==t:null}function nse(e){let t=e.line===null?e.path:`${e.path}:${e.line}`;return e.isOutdated?`${t} (outdated)`:t}function rse(e){let t=e.commentCount-1;return t===0?`No replies`:`${t} ${t===1?`reply`:`replies`}, last by ${e.lastAuthor??`a deleted account`}`}function ise(e,t){let n=k3(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 ase(e,t){return[...e.threads].sort((e,n)=>{let r=Number(k3(n,t)===!0)-Number(k3(e,t)===!0);return r===0?(Date.parse(n.lastActivityAt)||0)-(Date.parse(e.lastActivityAt)||0):r}).map(e=>({location:nse(e),url:e.url,author:e.author??`a deleted account`,excerpt:e.excerpt,replySummary:rse(e),lastActivityAt:e.lastActivityAt,waiting:ise(e,t)}))}function ose(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=>k3(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 sse(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 cse(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 lse={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 use(e){return[...e.reviews].sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).map(e=>{let t=lse[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 dse(e,t=null){if(e.state===`MERGED`)return[];let n=[Qoe(e),tse(e),ose(e,t),sse(e),cse(e)];return e.autoRebase?[...n,e.autoRebase.outcome===`rebased`?{label:`Auto-rebase`,tone:`ok`,icon:`passed`,text:e.autoRebase.message}:{label:`Auto-rebase`,tone:`danger`,icon:`failed`,text:e.autoRebase.message}]:n}function A3(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 fse(e,t=0){if(!e)return[];let n=O2(e,t),r=n?[{text:n,tone:`error`}]:[];return e.truncatedNote?[...r,{text:e.truncatedNote,tone:`info`}]:r}function pse(e,t){let n=e.flatMap(e=>e.prs);return t&&n.some(e=>e.key===t)?t:n[0]?.key??null}function mse(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))}function hse(e){return e.length===1?`Merged ${e[0].key}`:`Merged ${e.length} pull requests`}var gse={isVisible:!1,isDisabled:!0,statusText:``,tone:null},_se={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 vse(e,t){if(e.state!==`OPEN`)return gse;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,..._se[n.phase]};let r=Poe(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 ${b3(e.mergeMethod)}`,tone:null}}function yse(e){return`Merge ${e.key} "${e.title}" into ${e.baseRefName} with ${b3(e.mergeMethod)}, your default for this repository. Glimmervoid does not delete the branch.`}function bse(e){let t=Pu.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 j3=null,M3=null,N3=null,P3=null,F3=null,I3=null,L3=null,R3=new Map,z3=new Set,B3=new Map,V3={label:`Keep mergeable`,pendingKeys:new Set,errorsByKey:new Map,controlState:(e,t,n,r)=>S3(e,t,n,r,XP(e.keepMergeableAttempt?.at)),isFeatureEnabled:Ioe,save:async(e,t)=>{let n=await af(`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.`}},xse={label:`Merge when ready`,pendingKeys:new Set,errorsByKey:new Map,controlState:Hoe,isFeatureEnabled:Loe,save:async(e,t)=>{let n=await af(`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.`}},Sse=6e4,Cse=`No reply from the server. Check GitHub before trying again.`;function H3(e,t){let n=B(`div`,`reviews-refresh-control`),r=B(`button`,`pr-action reviews-refresh-button`,`Refresh`);r.type=`button`;let i=B(`span`,`reviews-refresh-status`);i.setAttribute(`role`,`status`);let a=B(`p`,`my-pr-error reviews-retry-notice`);n.append(r,i);let o=null,s=!1,c=``,l=null;function u(){a.textContent=O2(o,Date.now()),a.hidden!==!o?.error&&(a.hidden=!o?.error);let e=a.isConnected&&!Tf(t)&&!document.hidden&&a.getClientRects().length>0&&D2(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=k2(e,s,c),i.hidden=!i.textContent,u()}r.addEventListener(`click`,async()=>{if(!s){s=!0,c=``,d(o);try{let t=await af(`reviews-refresh`,{lane:e});t.type===`reviews-refresh-result`&&(c=t.ok?`Refreshed.`:t.error??`Could not refresh from GitHub.`)}catch(e){c=RV(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 U3(e,t,n,r){R3.set(e,{head:t,phase:n,text:r}),K3()}function wse(e){if(B3.has(e.key))return;let t=rf(`my-pr-merge`);if(!z({type:`my-pr-merge`,requestId:t,repo:e.repo,number:e.number,headRefOid:e.headRefOid})){U3(e.key,e.headRefOid,`failed`,`Not connected to the server.`);return}let n=window.setTimeout(()=>{B3.delete(e.key),U3(e.key,e.headRefOid,`failed`,Cse)},Sse);B3.set(e.key,{requestId:t,head:e.headRefOid,timer:n}),R3.set(e.key,{head:e.headRefOid,phase:`pending`,text:``}),K3()}function Tse(e){let t=vse(e,R3.get(e.key));if(!t.isVisible)return null;let n=B(`div`,`my-pr-merge`),r=B(`button`,`pr-action`,`Merge`);r.type=`button`,r.disabled=t.isDisabled;let i=B(`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`,()=>{$f({title:`Merge pull request`,message:yse(e),confirmLabel:`Merge`,onConfirm:()=>wse(e)})}),n.append(r,i),n}function Ese(e,t){let n=t.controlState(e,t.pendingKeys.has(e.key),t.errorsByKey.get(e.key),t.isFeatureEnabled(F3));if(!n.isVisible)return null;let r=B(`div`,`my-pr-merge`),i=B(`button`,`pr-action`,t.label);i.type=`button`,i.disabled=n.isDisabled,i.setAttribute(`aria-pressed`,String(n.isPressed));let a=B(`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),K3();try{let r=await t.save(e,!n.isPressed);r&&t.errorsByKey.set(e.key,r)}catch(n){t.errorsByKey.set(e.key,RV(n))}finally{t.pendingKeys.delete(e.key),K3()}}}),r.append(i,a),r}function W3(e,{hasGlyph:t}){let n=B(`span`,`my-pr-stage`);return n.dataset.tone=T3(e.stage),t&&n.append(EX(E3(e.stage),T3(e.stage))),n.append(w3(e.stage)),n}function Dse(e,t){let n=B(`span`,`my-pr-requested`);n.append(B(`span`,null,`Requested`));let r=B(`span`,`avatar-stack`);for(let t of e.reviewRequests){let e=mf({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,B(`span`,`my-pr-requested-names`,t.slice(11))),n}function Ose(){if(!j3||!M3||N3?.isConnected)return;let e=R2({queueLabel:`My pull requests`,scopeTabs:M3,resizerLabel:`Resize pull request list`});N3=e.queue,P3=e.detail,j3.replaceChildren(e.columns),L3&&e.foot.append(L3.control)}function G3(e){if(!P3)return;if(!e){P3.replaceChildren(B(`p`,`pr-empty`,A3(F3)));return}let t=B(`article`,`pr-detail`),n=B(`div`,`pr-detail-heading`),r=B(`div`,`pr-detail-title`);r.append(_f(`pr-link`,e.key,e.url),B(`h2`,null,e.title)),n.append(r,W3(e,{hasGlyph:!0})),t.append(n);for(let n of[V3,xse]){let r=Ese(e,n);r&&t.append(r)}let i=dse(e,F3?.viewer??null);if(i.length>0){let n=B(`section`,`pr-readiness-section`);n.append(B(`h3`,`pr-section-heading`,`Merge readiness`));let r=B(`ul`,`pr-readiness`);for(let t of i){let n=B(`li`,`pr-readiness-row`),i=B(`span`,`pr-readiness-value`);t.label===`Review`&&t.text.startsWith(`Requested: `)&&i.append(Dse(e,t.text)),i.childNodes.length===0&&(i.textContent=t.text),n.append(EX(t.icon,t.tone),B(`span`,`pr-readiness-label`,t.label),i),r.append(n)}n.append(r);let a=Tse(e);a&&n.append(a),t.append(n)}if(e.checks.failing.length>0){let n=B(`section`,`my-pr-failures`);n.append(B(`h3`,`pr-section-heading`,`Failing checks`));let r=B(`ul`,`my-pr-facts`);for(let t of e.checks.failing)r.append(B(`li`,null,t));n.append(r),t.append(n)}let a=use(e);if(a.length>0){let e=B(`section`,`pr-readiness-section`);e.append(B(`h3`,`pr-section-heading`,`Reviews`));let n=B(`ul`,`pr-readiness`);for(let e of a){let t=B(`li`,`pr-readiness-row`),r=Date.parse(e.submittedAt??``),i=Number.isFinite(r)?`${e.text} ${XP(r)}`:e.text,a=B(`span`,`my-pr-reviewer`);a.append(hf([{login:e.reviewer,tone:e.tone,title:e.reviewer,url:e.reviewer===`a deleted account`?null:void 0}],16),B(`span`,null,e.reviewer)),t.append(EX(e.icon,e.tone),a,B(`span`,`pr-readiness-value`,i)),n.append(t)}e.append(n),t.append(e)}let o=ase(e,F3?.viewer??null);if(o.length>0){let e=B(`section`,`my-pr-threads-section`);e.append(B(`h3`,`pr-section-heading`,`Unresolved threads`));let n=B(`ul`,`my-pr-threads`);for(let e of o){let t=B(`li`,`my-pr-thread`),r=B(`div`,`my-pr-thread-heading`);if(r.append(_f(`my-pr-thread-location`,e.location,e.url)),e.waiting){let t=B(`span`,`my-pr-stage`);t.dataset.tone=e.waiting.tone,t.append(EX(e.waiting.icon,e.waiting.tone),e.waiting.text),r.append(t)}let i=B(`p`,`my-pr-thread-excerpt`);i.append(B(`strong`,null,e.author),` ${e.excerpt}`);let a=Date.parse(e.lastActivityAt),o=B(`p`,`my-pr-thread-meta`,Number.isFinite(a)?`${e.replySummary}, ${XP(a)}`:e.replySummary);t.append(r,i,o),n.append(t)}e.append(n),t.append(e)}let s=B(`p`,`pr-detail-meta`);s.append(B(`span`,null,`Opened ${XP(Date.parse(e.createdAt))}`),B(`span`,null,`${e.state===`MERGED`?`Merged`:`Updated`} ${XP(Date.parse(e.state===`MERGED`?e.mergedAt??``:e.updatedAt))}`)),t.append(s),P3.replaceChildren(t)}function K3(){if(Ose(),!N3)return;let e=F3?.prs??[],t=Zoe(e);I3=pse(t,I3);let n=document.activeElement instanceof HTMLElement&&N3.contains(document.activeElement)?document.activeElement.dataset.prKey:null,r=t.filter(e=>e.rows.length>0).map(e=>{let t=B(`section`,`pr-queue-section`);t.append(B(`h3`,`pr-section-heading`,`${e.title} ${e.rows.length}`));for(let{pr:n,parentKey:r,depth:i}of e.rows){let e=B(`button`,`pr-queue-row`);e.type=`button`,e.dataset.prKey=n.key,r&&(e.style.paddingInlineStart=`${12+Math.min(i,6)*16}px`),e.setAttribute(`aria-current`,String(n.key===I3)),e.title=`${n.key}: ${w3(n.stage)}`;let a=B(`span`,`pr-queue-glyph`);a.append(EX(E3(n.stage),T3(n.stage)));let o=B(`span`,`pr-queue-top`);o.append(B(`strong`,`pr-queue-ref`,n.key),B(`span`,`pr-queue-title`,n.title));let s=B(`span`,`pr-queue-bottom`);r&&s.append(B(`span`,`my-pr-stage`,`Stacked on ${r}`)),s.append(W3(n,{hasGlyph:!1}),B(`span`,`pr-queue-elapsed`,`opened ${XP(Date.parse(n.createdAt))}`));let c=Foe(n,V3.isFeatureEnabled(F3),XP(n.keepMergeableAttempt?.at));if(c){let e=B(`span`,`my-pr-stage`,c.text);e.dataset.tone=c.tone,e.title=c.title,s.append(e)}e.append(a,o,s),e.addEventListener(`click`,()=>{I3=n.key;for(let e of N3?.querySelectorAll(`button[data-pr-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.prKey===I3));G3(n),document.documentElement.dataset.layout===`phone`&&P3?.scrollIntoView({block:`start`,behavior:`smooth`})}),t.append(e)}return t});if(r.length===0&&N3.replaceChildren(B(`p`,`pr-empty`,A3(F3))),r.length>0){let e=fse(F3,Date.now()).filter(e=>e.tone!==`error`).map(e=>B(`p`,e.tone===`error`?`my-pr-error`:`my-pr-note`,e.text));N3.replaceChildren(...e,...r)}L3&&(N3.prepend(L3.notice),L3.update(F3)),n&&[...N3.querySelectorAll(`button[data-pr-key]`)].find(e=>e.dataset.prKey===n)?.focus({preventScroll:!0}),G3(e.find(e=>e.key===I3))}function kse(e,t){return j3||(M3=t,j3=B(`div`,`pr-content`),e.append(j3),L3=H3(`my-prs`,j3),K3(),j3)}function Ase(e){let t=Joe(e);if(!t)return;let n=mse(F3?.prs??null,t.prs);F3=t,K3(),q3(n)}function q3(e){let t=e.filter(e=>!z3.has(e.key));if(t.length!==0){for(let e of t)z3.add(e.key);joe(hse(t))}}function jse(e){let t=bse(e);if(!t)return;let n=B3.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),B3.delete(t.key),!t.ok){U3(t.key,n.head,`failed`,t.error||`The merge failed.`);return}if(U3(t.key,n.head,t.kind??`unconfirmed`,``),t.kind!==`merged`)return;let r=F3?.prs.find(e=>e.key===t.key);r&&q3([r])}var Mse=Il.options.join(`|`),J3=String.raw`\*\*\[([^\]\n]+)\]\s+(${Mse})\*\*`;function Nse(e){return[...e.matchAll(new RegExp(J3,`g`))].flatMap(e=>{let t=Il.safeParse(e[2]);return t.success?[t.data]:[]})}function Pse(e){let t=new RegExp(String.raw`^${J3}\s*(?:\r?\n|$)`).exec(e);if(!t)return null;let n=Il.safeParse(t[2]);return n.success?{reviewer:t[1]??``,severity:n.data,length:t[0].length}:null}function Y3(e){let t=e.trimStart();return t.startsWith(`> [!NOTE]
243
- > Automated review. Not written by a human.`)?t.slice(53).trim():e.trim()}var Fse={"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 X3(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 Z3={APPROVE:{label:`You approved`,tone:`ok`,icon:`passed`},COMMENT:{label:`You commented`,tone:`muted`,icon:`thread`}},Q3={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 $3(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?Q3[t.state]:null;if(!t)return Z3[e.postedEvent];let n=Date.parse(t.submittedAt??``);return Number.isNaN(n)||e.postedAt!==void 0&&e.postedAt>n?Z3[e.postedEvent]:Q3[t.state]}var Ise={"changes-requested":`changes-requested`,"checks-failing":`failed`,"checks-pending":`running`,draft:`draft`};function e6(e){let{reason:t}=X3(e),n=Ise[t];return n?{text:Fse[t],icon:n}:null}function Lse(e){return e6(e)?.text??null}var Rse={discarded:{tone:`muted`,icon:`discarded`,meaning:`Discarded`},handReview:{tone:`warn`,icon:`fork`,meaning:`From a fork`}};function t6(e,t){let n=Lse(t);return n?`${e}, ${n}`:e}function zse(e){if(ql(e))return!0;let t=(e.githubReviews??[]).filter(e=>e.isViewer);return t.length===0||t.some(t=>t.commit===m6(e))}var Bse={tone:`warn`,icon:`your-turn`,meaning:`Comments resolved`};function n6(e,t){let n=Rse[t];if(n)return n;if(t===`inReview`)return{tone:`wait`,icon:`running`,meaning:t6(`In review`,e)};if(t===`queued`)return{tone:`muted`,icon:`queued`,meaning:t6(`Queued`,e)};if(t===`settled`&&`reviewedHead`in e){let t=zse(e)?$3(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=$3(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=e6(e);return r?{tone:`wait`,icon:r.icon,meaning:r.text}:t===`ready`&&`reviewedHead`in e&&a6(e)?Bse:{tone:`warn`,icon:`your-turn`,meaning:`Waits on you`}}function r6(e){let t=e.viewerThreads;return t!==void 0&&t.total>0&&t.resolved===t.total}function i6(e){return e.status===`posted`&&a6(e)}function a6(e){if(!r6(e)||ql(e))return!1;let t=m6(e);return!(e.githubReviews??[]).some(e=>e.isViewer&&e.state===`APPROVED`&&e.commit===t)}function o6(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 Vse(e){return`${e} ${e===1?`comment`:`comments`}`}function s6(e,t,n){let r=[`${E6(e.repo,e.number)}: ${e.title}`],i=`reviewedHead`in e?e.assessment?.goal.trim():``;if(i&&r.push(i),r.push(n6(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(`
244
- `);let a=o6(e.viewerThreads);a&&r.push(a);let o=e.comments.length;e.status!==`error`&&r.push(`Automated review: ${Xse(e.verdict)}, ${Vse(o)}`);let s=_6(e);s&&r.push(`You ${f6[s.state]} at ${Al(s.approvedCommit)}${n.viewerApproval?` ${n.viewerApproval}`:``}; new commits since.`),(t===`attention`||t===`discarded`)&&r.push(A6(e));let c=b6(e,{isViewerShown:t!==`posted`});for(let[e,t]of c.entries())r.push(y6(t.text,n.githubReviews?.[e]??null));return r.join(`
245
- `)}function c6(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 Hse(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:c6({...e,ready:[],attention:[]})??``}}function l6(e){let t=e.trim();return t.endsWith(`.`)?t:`${t}.`}function Use({action:e,pullRequest:t,warning:n,isActedSelected:r}){let i=I6(e),a=`${t}: ${l6(i)}`;return n.trim()?{statusText:i,shouldAdvance:!1,notice:{text:`${a} ${l6(n)}`,tone:`error`}}:{statusText:i,shouldAdvance:r,notice:null}}function u6(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 d6(e,t,n){return n?E6(e,t):`#${t}`}var Wse={CRITICAL:{filledCount:3,colorToken:`--state-failed`},HIGH:{filledCount:3,colorToken:`--state-waiting`},MEDIUM:{filledCount:2,colorToken:`--accent`},LOW:{filledCount:1,colorToken:`--text-dim`}},Gse={APPROVE:`check`,"APPROVE WITH NITS":`dot`,"REQUEST CHANGES":`bar`,BLOCKED:`cross`},Kse=`lanes-team-review`,qse=`team-review-enabled`,Jse=Object.freeze({APPROVE:`approve`,"APPROVE WITH NITS":`approve with nits`,"REQUEST CHANGES":`request changes`,BLOCKED:`blocked`}),Yse={APPROVE:`Approve`,"APPROVE WITH NITS":`Nits`,"REQUEST CHANGES":`Changes`,BLOCKED:`Blocked`};function Xse(e){return Yse[e]}var Zse=Object.freeze({APPROVE:`ok`,"APPROVE WITH NITS":`info`,"REQUEST CHANGES":`warn`,BLOCKED:`crit`}),f6=Object.freeze({APPROVED:`approved`,CHANGES_REQUESTED:`requested changes`,COMMENTED:`commented`}),Qse=Object.freeze({preparing:`fetching the diff`,checkout:`checking out the head`,reviewing:`agent reviewing`}),$se=Object.freeze({approve:`Approved on GitHub`,"approve-only":`Approved on GitHub`,comment:`Comment posted on GitHub`,discard:`Draft discarded`,requeue:`Queued. The next poll reviews it again.`,"resolve-thread":`Thread resolved on GitHub`}),ece=Object.freeze({approve:`Posting the approval`,"approve-only":`Posting the approval`,comment:`Posting the comment`,discard:`Discarding the draft`,requeue:`Queueing the review`,"resolve-thread":`Resolving thread`});function p6(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=>h6(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[X3(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(h6(r).length>0||i6(r)){n.actionable.push(r);continue}let e=(r.status===`ready`||r.status===`stale`||r.status===`error`)&&!ace(r);e&&t.noReviewNeeded.push(r),r.status===`ready`&&!e&&n[X3(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 tce(e,t){return e.commit===t?e.isViewer||Hl.has(e.state):!1}function m6(e){return e.liveHead??e.reviewedHead}function h6(e){return(e.threads??[]).filter(e=>!e.isNit&&!e.isResolved)}function nce(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 g6(e){return(e.threads??[]).filter(e=>!e.isResolved&&(!e.isNit||e.resolveError)).map(t=>{let n=nce(t,m6(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 rce=40;function ice(e,t){return e.split(`
246
- `).reduce((e,t)=>e+Math.max(1,Math.ceil(t.length/rce)),0)>t}function ace(e){return h6(e).length>0?!0:ql(e)?!1:a6(e)?!0:!(e.githubReviews??[]).some(t=>tce(t,m6(e)))}function oce(e,t){let n=f6[e.state];return e.isViewer?e.commit===t?`you ${n}`:`you ${n} (older commit)`:`${n} by ${e.login}`}function _6(e){if(ql(e))return null;let t=(e.githubReviews??[]).filter(e=>e.isViewer&&Hl.has(e.state)).sort((e,t)=>(Date.parse(t.submittedAt??``)||0)-(Date.parse(e.submittedAt??``)||0)).at(0);if(!t?.commit||t.commit===m6(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 v6(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 ${Al(e.approvedCommit)}${t?` ${t}`:``}. It has new commits since`;return e.isReviewScopeSinceDecision?`${i}, so this review covers what changed after ${r}.`:`${i}.`}function sce(e){return e===`APPROVED`?`ok`:e===`CHANGES_REQUESTED`?`warn`:`muted`}function y6(e,t){return t?`${e}, ${t}`:e}function b6(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:sce(t.state),text:oce(t,m6(e)),submittedAt:t.submittedAt}))}function cce(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 x6(e){return[...e.ready,...e.attention].map(e=>e.key)}function lce({capturedOrder:e,actedKey:t,groups:n}){let r=x6(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 S6(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 uce(e){return Wse[e]}function dce(e){return Gse[e]}function fce(e){let t=Nse(e.body);return t.length>0?t:e.severity?[e.severity]:[]}function C6(e){let t=fce(e);return Il.options.find(e=>t.includes(e))??null}function pce(e){return C6(e)!==`LOW`}var mce=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(`.`)),hce=/^([\w.@~/-]+):\d+(?:-\d+)?$/;function gce(e){let t=hce.exec(e)?.[1];if(t===void 0)return!1;let n=t.slice(t.lastIndexOf(`/`)+1),r=n.lastIndexOf(`.`);return r<0?!1:mce.has(n.slice(r+1).toLowerCase())}var _ce=/^```([^\n`]*)\n([\s\S]*?)^```[ \t]*(?=\r?$)/gm;function w6(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:gce(a)?`citation`:`code`}),n=i+r[0].length}return n<e.length&&t.push({text:e.slice(n),kind:`text`}),t}function T6(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:w6(e.slice(t?.[0].length??0))}})}function vce(e){let t=Y3(e),n=Pse(t),r=n?t.slice(n.length).trim():t,i=[],a=0;for(let e of r.matchAll(_ce)){let t=e.index??0;i.push(...T6(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(...T6(r.slice(a).trim())),{tag:n?.reviewer??null,severity:n?.severity??null,paragraphs:i}}function yce(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 bce(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 E6(e,t){return`${e}#${t}`}function D6(e){return e===`full`?`full`:`light`}function xce(e){return e.priorReviewedHead?`${D6(e.tier)} review of changes since ${Al(e.priorReviewedHead)}`:`${D6(e.tier)} review`}function Sce(e){return e.reasons.join(`, `)}function Cce(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 wce(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 Tce(e){return e?{label:`Coverage`,preview:wce(e)}:{label:`Review audit`,preview:``}}var Ece=`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.`,Dce=new Set([`error`,`stale`,`discarded`,`posted`]);function O6(e){return Dce.has(e)}function Oce(e){let t=kce(e);return`${t.charAt(0).toUpperCase()}${t.slice(1)}`}function kce(e){return Jse[e]??String(e).toLowerCase()}function Ace(e){return Zse[e]??`dim`}function jce(e){return Qse[e]??e}function k6(e,t){return`${LA(t-e.startedAt)} elapsed`}function Mce(e,t){let n=[k6(e,t)],r=e.deadlineAt===null?0:e.deadlineAt-t;return r>0&&n.push(`times out in ${LA(r)}`),e.phase===`reviewing`&&n.push(`${e.toolCalls} ${e.toolCalls===1?`tool call`:`tool calls`}`),n.join(`, `)}function A6(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`?`Not reviewed again until queued.`:e.error||e.summary||`The review failed.`}function j6(e,t){let n=t.side===`LEFT`?` (old)`:``;return`${e}:${t.line}${n}`}function M6(e){return j6(e.path,e)}function Nce(e){return j6(e.path.split(`/`).filter(Boolean).at(-1)??e.path,e)}function Pce(e,t){let n=e.trim();return n?t.trim()?`${n}\n\n${t}`:n:t}function Fce(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 Ice=Object.freeze({approve:`Approve and comment`,"approve-only":`Approve`,comment:`Comment`,discard:`Discard`,requeue:`Queue review`,"resolve-thread":`Resolve`});function N6(e){return Ice[e]}function P6(e){return e.status===`ready`?{footer:[`comment`,`approve-only`,`approve`],more:[`requeue`,`discard`]}:tu(e)?{footer:[`approve-only`],more:[`requeue`]}:O6(e.status)?{footer:[`requeue`],more:[]}:{footer:[],more:[]}}function F6(e){return ece[e]}function I6(e){return $se[e]}function Lce(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 Rce(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 L6(e){return e?.configured&&e.reason||null}function zce(e){return kA(p6(e).ready.map(e=>`${e.key}@${e.reviewedHead}`))}function R6(e){return`${e.key}@${e.reviewedHead}:${e.status}:${e.summary}:${b6(e).map(e=>e.text).join(`, `)}`}function z6(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 Bce(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(`
247
- `)!==t.inFlight.map(e=>e.key).join(`
248
- `)||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 Vce=12e4,B6=`M4.5 0.5L8.5 5.5L4.5 10.5L0.5 5.5Z`,V6=null,H6=null,U6=null,W6=null,G6=null,K6=null,q6=null,J6=null,Y6=null,X6=null,Z6=null,Q6=null,$6=null,e8=null,t8=QP(()=>H6),n8=QP(()=>H6),r8=QP(()=>H6),i8=new WeakMap,a8=new Map,o8=new Map,s8=new Map,c8=AA({getAck:Ck,setAck:wk,signature:()=>zce(V6),isLooking:()=>!Tf(H6)});function Hce(e){let t=uce(e),n=B(`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=DL(14,17);e.classList.add(`pr-severity-halo`),e.setAttribute(`viewBox`,`0 0 9 11`),e.append(EL(`path`,{d:B6,fill:`currentColor`})),n.append(e)}for(let e=0;e<3;e+=1){let r=DL(9,11),i=e<t.filledCount;r.append(EL(`path`,{d:B6,fill:i?`currentColor`:`none`,stroke:i?`currentColor`:`var(--border-hover)`,"stroke-width":`1`})),n.append(r)}return n}function Uce(e){let{verdict:t}=e,n=B(`span`,`pr-verdict-seal`);n.dataset.tone=Ace(t);let r=DL(20,20),i=dce(t);return r.append(EL(`circle`,{cx:`10`,cy:`10`,r:`8.5`,fill:i===`cross`?`currentColor`:`none`,stroke:`currentColor`,"stroke-width":`1.5`})),i===`check`&&r.append(EL(`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(EL(`circle`,{cx:`10`,cy:`10`,r:`2.4`,fill:`currentColor`})),i===`bar`&&r.append(EL(`path`,{d:`M6 10H14`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`})),i===`cross`&&r.append(EL(`path`,{d:`M7 7L13 13M13 7L7 13`,stroke:`var(--bg)`,"stroke-width":`1.8`,"stroke-linecap":`round`})),n.append(r,B(`span`,null,Oce(t))),n}function Wce(){let e=DL(16,16);return e.append(EL(`rect`,{x:`1`,y:`1`,width:`14`,height:`14`,rx:`2`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.3`})),e.append(EL(`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(EL(`circle`,{cx:`8`,cy:`11.6`,r:`0.9`,fill:`currentColor`})),e}function l8(e){return _f(`pr-link`,E6(e.repo,e.number),e.url)}function u8(e){let t=typeof e==`string`?Date.parse(e):e;return typeof t!=`number`||!Number.isFinite(t)||t<=0?null:t}function d8(e,t){let n=u8(t);if(n===null)return null;let r=B(`span`,null,`${e}${e?` `:``}${XP(n)}`);return r.dataset.ageAt=String(n),r.dataset.ageLabel=e,r}function f8(e){if(e){for(let t of e.querySelectorAll(`.pr-queue-row`)){let e=i8.get(t);if(!e)continue;let n=()=>{t.title=e(),t.setAttribute(`aria-label`,t.title)};n(),r8.onTick(n)}for(let t of e.querySelectorAll(`.pr-rereview-notice`)){let e=V6?.drafts.find(e=>e.key===t.dataset.reviewKey),n=e?_6(e):null;if(!n)continue;let r=()=>{t.textContent=v6(n,m8(n.submittedAt))};r(),r8.onTick(r)}for(let t of e.querySelectorAll(`[data-age-at]`)){let e=Number(t.dataset.ageAt),n=t.dataset.reviewTitle;if(n!==void 0){let r=()=>{let r=y6(n,XP(e));t.title=r,t.setAttribute(`aria-label`,r)};r(),r8.onTick(r);continue}let r=t.dataset.ageLabel??``;r8.track(t,e,()=>`${r}${r?` `:``}${XP(e)}`)}}}function p8(e,t,n,r=!0){let i=b6(e,{isViewerShown:r});if(i.length===0)return null;let a=B(`span`,t),o=hf(i.map(e=>({login:e.login,tone:e.tone,title:y6(e.text,m8(e.submittedAt))})),n);for(let[e,t]of i.entries()){let n=o.children[e];if(!(n instanceof HTMLElement)||!t.submittedAt)continue;let r=u8(t.submittedAt);r!==null&&(n.dataset.ageAt=String(r),n.dataset.reviewTitle=t.text)}return a.append(o),a}function m8(e){let t=u8(e);return t===null?null:XP(t)}function h8(e,t,n){let r=B(`span`,n);return r.append(mf({login:e,cssPx:t}),B(`span`,null,e)),r}function Gce(e,t,n){let r=B(`button`,`pr-queue-row pr-queue-row-quiet`);r.type=`button`,r.dataset.reviewKey=e.key,r.setAttribute(`aria-current`,String(e.key===Y6));let i=`reviewedHead`in e?_6(e):null,a=()=>s6(e,t,{opened:m8(e.prCreatedAt),reviewed:`reviewedHead`in e?m8(e.reviewedAt):null,posted:`reviewedHead`in e?m8(e.postedAt):null,viewerApproval:m8(i?.submittedAt),githubReviews:`reviewedHead`in e?b6(e,{isViewerShown:t!==`posted`}).map(e=>m8(e.submittedAt)):[]});r.title=a(),r.setAttribute(`aria-label`,r.title),i8.set(r,a);let o=v8(e,n);if(t===`inReview`){let t=e,n=B(`span`,`pr-queue-elapsed`);t8.track(n,t.startedAt,()=>k6(t,Date.now())),o.append(n)}if(t===`queued`){let t=d8(``,e.prCreatedAt);t&&(t.classList.add(`pr-queue-elapsed`),o.append(t))}if(t!==`inReview`&&t!==`queued`){let t=e,n=d8(``,t.reviewedAt)??d8(``,t.prCreatedAt);n&&(n.classList.add(`pr-queue-elapsed`),o.append(n))}if(t===`discarded`)return r.classList.add(`pr-queue-row-compact`),r.append(o),g8(r,e.key),r;r.classList.remove(`pr-queue-row-quiet`);let s=n6(e,t),c=B(`span`,`pr-queue-glyph`);c.append(EX(s.icon,s.tone));let l=B(`span`,`pr-queue-bottom`);if(l.append(_8(s),h8(e.author,16,`pr-queue-author`)),e.requestSource===`direct`){let e=B(`span`,`pr-queue-direct`,`@`);e.title=`Requested from you directly`,l.append(e)}t===`inReview`&&l.append(B(`span`,`pr-phase-label`,jce(e.phase))),r.append(c,o,l);let u=t===`inReview`||t===`queued`?null:p8(e,`pr-queue-reviewers`,16,t!==`posted`);return u&&l.append(u),g8(r,e.key),r}function g8(e,t){e.addEventListener(`click`,()=>{Y6=t,X6=null,b8(null);for(let e of G6?.querySelectorAll(`button[data-review-key]`)??[])e.setAttribute(`aria-current`,String(e.dataset.reviewKey===Y6));U8(p6(V6)),r8.reset(),f8(H6),document.documentElement.dataset.layout===`phone`&&q6?.scrollIntoView({block:`start`,behavior:`smooth`})})}function _8(e){let t=B(`span`,`my-pr-stage pr-queue-state`,e.meaning);return t.dataset.tone=e.tone,t}function v8(e,t){let n=B(`span`,`pr-queue-top`);return n.append(B(`strong`,`pr-queue-ref`,d6(e.repo,e.number,t)),B(`strong`,`pr-queue-ref-compact`,d6(e.repo,e.number,!1)),B(`span`,`pr-queue-title`,e.title)),n}function Kce(e,t){let n=B(`section`,`pr-queue-section`);n.append(B(`h3`,`pr-section-heading`,`Review by hand ${e.length}`));for(let r of e){let e=_f(`pr-queue-row`,``,r.url),i=()=>s6(r,`handReview`,{opened:m8(r.prCreatedAt)});e.title=i(),i8.set(e,i);let a=n6(r,`handReview`),o=B(`span`,`pr-queue-glyph`);o.append(EX(a.icon,a.tone));let s=B(`span`,`pr-queue-bottom`);s.append(_8(a),h8(r.author,16,`pr-queue-author`)),e.append(o,v8(r,t),s),n.append(e)}return n}function y8({title:e,detail:t}){let n=B(`section`,`pr-caught-up`);n.setAttribute(`role`,`status`);let r=B(`strong`,`pr-caught-up-title`);return r.append(EX(`ready`,`ok`),B(`span`,null,e)),n.append(r,B(`p`,`pr-caught-up-detail`,t)),n}function b8(e){Z6=e,Q6&&(Q6.hidden=e===null,Q6.textContent=e?.text??``,e&&(Q6.dataset.tone=e.tone))}function x8(e,t,n,r){let i=B(`section`,`pr-queue-section`);i.append(B(`h3`,`pr-section-heading`,`${e} ${t.length}`));for(let e of t)i.append(Gce(e,n,r));return i}function S8(e){let t=B(`div`,`pr-detail-heading`);t.dataset.signature=z6(e);let n=B(`div`,`pr-detail-title`);n.append(l8(e),B(`h2`,null,e.title));let r=B(`div`,`pr-detail-meta`);r.append(h8(e.author,20,`pr-detail-author`));let i=B(`span`,null,xce(e));i.title=Sce(e),r.append(i);let a=d8(`Opened`,e.prCreatedAt);if(a&&r.append(a),`reviewedHead`in e){let t=d8(`Reviewed`,e.reviewedAt);t&&r.append(t);let n=d8(`Posted`,e.postedAt);n&&r.append(n)}let o=`reviewedHead`in e?p8(e,`pr-detail-github`,20):null;if(o&&r.append(o),t.append(n,r),`reviewedHead`in e){let n=o6(e.viewerThreads);if(n){let r=B(`p`,`pr-viewer-threads`,n);r6(e)&&(r.dataset.state=`all-resolved`),t.append(r)}}let s=`reviewedHead`in e?_6(e):null;if(s){let n=B(`p`,`pr-rereview-notice`,v6(s,m8(s.submittedAt)));n.dataset.reviewKey=e.key,t.append(n)}return t}function C8(e,t){let n=e.querySelector(`:scope > .pr-detail-heading`);if(!n||n.dataset.signature===z6(t))return e;let r=S8(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 w8(e){return`${JSON.stringify(e.threads)}:${e.liveHead}:${e.status}:${e.reviewedHead}:${e.error??``}:${e.postedEvent??``}`}function T8(e,t){for(let n of t){if(n.kind===`text`){e.append(document.createTextNode(n.text));continue}if(n.kind===`code`){e.append(B(`code`,null,n.text));continue}let t=B(`span`,`pr-citation`,n.text);t.title=n.text,e.append(t)}return e}function E8(e,t){return T8(e,w6(t))}function D8(e,t,n){let r=B(`div`,`pr-assessment-part`);return n&&(r.dataset.tone=n),r.append(B(`h4`,`pr-assessment-title`,e),t),r}function O8(e){let t=B(`ul`,`pr-assessment-list`);for(let n of e)t.append(E8(B(`li`,null),n));return t}function k8(e){let t=Cce(e.assessment);if(t.length===0)return[];let n=B(`section`,`pr-about-box`);n.setAttribute(`aria-label`,`About this PR`),n.append(B(`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(E8(B(`p`,t),e.text))}return[n]}function A8(e){let t=B(`section`,`pr-verdict-box`);t.setAttribute(`aria-label`,`Verdict`);let n=B(`div`,`pr-verdict-line`);return n.append(Uce(e)),t.append(n),e.assessment?(t.append(E8(B(`p`,`pr-verdict-summary pr-verdict-reason`),e.summary)),t):(t.append(B(`p`,`pr-verdict-legacy`,Ece)),t)}function j8(e){let t=B(`details`,`pr-disclosure pr-coverage`),n=B(`summary`,`pr-disclosure-summary`),r=Tce(e.assessment);n.append(B(`span`,`pr-disclosure-label`,r.label),B(`span`,`pr-disclosure-preview`,r.preview)),t.append(n);let{assessment:i}=e;return i?(i.checked.length>0&&t.append(D8(`What the review checked`,O8(i.checked))),i.gaps.length>0&&t.append(D8(`Not covered`,O8(i.gaps),`warning`)),t):(t.append(E8(B(`p`,`pr-verdict-summary`),e.summary)),t)}function qce(e){if(e.kind===`code`){let t=B(`pre`,`pr-comment-code`),n=B(`code`,null);return n.textContent=e.code,t.append(n),t}let t=B(`p`,`pr-comment-paragraph`);if(e.lead){let n=B(`strong`,`pr-comment-lead pr-comment-lead-${e.leadKind}`);e.leadKind===`question`&&n.append(Wce()),n.append(e.lead),t.append(n,` `)}return T8(t,e.segments)}function Jce(e,t,n,r){let i=B(`article`,`pr-comment-card`),a=B(`input`,`pr-comment-checkbox`);a.type=`checkbox`,a.checked=n.has(t),a.setAttribute(`aria-label`,`Include comment on ${M6(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=B(`details`,`pr-comment-content`),s=B(`summary`,`pr-comment-header`),c=vce(e.body),l=C6(e);l&&s.append(Hce(l));let u=B(`span`,`pr-comment-location`,Nce(e));u.title=M6(e),s.append(u),s.append(B(`span`,`pr-comment-preview`,yce(c.paragraphs))),o.append(s);let d=B(`div`,`pr-comment-paragraphs`);for(let e of c.paragraphs)d.append(qce(e));return o.append(d),o.open=l===`HIGH`||l===`CRITICAL`,i.append(a,o),i}var M8=`More review actions`,Yce=`M3 8h0.01M8 8h0.01M13 8h0.01`,Xce=`Your comments are on GitHub. Approve adds an approval without posting them again.`;function N8(e,t,n,r,i,a,o){let s=x6(p6(V6));b8(null);let c=rf(`team-review-action`);if(!z({type:`team-review-action`,requestId:c,...Fce(t,n,r,i,o)}))return!1;let l=window.setTimeout(()=>{s8.delete(t.key),a(!1,`No reply from the server. Check GitHub before trying again.`)},Vce);return s8.set(t.key,{requestId:c,action:n,origin:e,capturedOrder:s,pullRequest:E6(t.repo,t.number),timer:l,settle:a}),!0}var P8=0;function F8(e,t){let n=B(`div`,`pr-detail-more`),r=B(`button`,`review-icon-button review-more-button`);r.type=`button`,r.title=M8,r.setAttribute(`aria-label`,M8),r.setAttribute(`aria-haspopup`,`menu`),r.setAttribute(`aria-expanded`,`false`);let i=DL(16,16);i.append(EL(`path`,{d:Yce,fill:`none`,stroke:`currentColor`,"stroke-width":`2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})),r.append(i),P8+=1;let a=B(`div`,`review-more-menu`);a.id=`pr-more-menu-${P8}`,a.setAttribute(`role`,`menu`),a.setAttribute(`aria-label`,M8),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`,()=>{if(a.hidden){l();return}c()});let u=[r];for(let n of e){let e=B(`button`,n===`discard`?`review-btn review-btn-danger`:`review-btn`,N6(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 I8(e,t){let n=B(`button`,`pr-action`,N6(e));return n.type=`button`,n.dataset.action=e,n.addEventListener(`click`,()=>t(e)),n}function L8(e,t){e.querySelector(`:scope > .pr-detail-heading > .pr-detail-title`)?.append(t)}function Zce(e){let t=B(`article`,`pr-detail`),n=B(`div`);n.dataset.reviewThreads=``,t.append(S8(e),...k8(e),n,A8(e)),R8(t,e);let r=B(`section`,`pr-posts`);r.setAttribute(`aria-label`,`Inline comments`);let i=B(`div`,`pr-posts-heading`);i.append(B(`h3`,null,`Inline comments`),B(`span`,null,String(e.comments.length))),r.append(i);let a=B(`details`,`pr-disclosure`),o=B(`summary`,`pr-disclosure-summary`),s=B(`span`,`pr-disclosure-preview`);o.append(B(`span`,`pr-disclosure-label`,`Review body`),s),a.append(o);let c=B(`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(`
249
- `).length+1)),c.spellcheck=!0;let l=()=>{s.textContent=Y3(c.value).split(/\r?\n/).map(e=>e.trim()).find(Boolean)||`No review body`};c.addEventListener(`input`,l),l(),a.append(c);let u=B(`details`,`pr-disclosure`);u.append(B(`summary`,`pr-disclosure-summary`,`Add a note`));let d=B(`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)=>pce(e)?[t]:[])),p=B(`footer`,`pr-footer`),m=B(`span`,`pr-action-status`);m.setAttribute(`role`,`status`),m.setAttribute(`aria-live`,`polite`);let h=()=>{s8.has(e.key)||m.dataset.tone===`ok`||(m.textContent=``,delete m.dataset.tone)};for(let[t,n]of e.comments.entries())r.append(Jce(n,t,f,h));t.append(r,a,u,j8(e));let g=[],_=e=>{for(let t of g)t.disabled=e;t.dataset.busy=String(e)},v=(e,t)=>{_(e),m.dataset.tone=e?`ok`:`error`,m.textContent=t},y=t=>{if(s8.has(e.key))return;_(!0),m.dataset.tone=`busy`,m.textContent=F6(t);let n=e.comments.filter((e,t)=>f.has(t));N8(`ready`,e,t,Pce(d.value,c.value),n,v)||v(!1,`Not connected to the server.`)},b=P6(e),ee=b.footer.map(e=>I8(e,y)),te=F8(b.more,y);return g.push(...ee,...te.controls),L8(t,te.element),p.append(...ee,m),t.append(p),{signature:R6(e),element:t,settle:v}}function Qce(e){let t=a8.get(e.key);if(t&&(s8.has(e.key)||t.signature===R6(e)))return R8(t.element,e),C8(t.element,e);let n=Zce(e);return a8.set(e.key,n),n.element}function $ce(e,t){let n=B(`article`,`pr-detail`),r=B(`div`,`pr-detail-heading`),i=B(`div`,`pr-detail-title`);i.append(l8(e),B(`h2`,null,e.title));let a=B(`div`,`pr-detail-meta`);a.append(h8(e.author,20,`pr-detail-author`));let o=d8(`Opened`,e.prCreatedAt);return o&&a.append(o),r.append(i,a),n.append(r,B(`p`,`pr-attention-detail`,Lce(t))),n}function ele(e){let t=B(`article`,`pr-detail`);t.append(S8(e));let n=B(`section`,`pr-progress`);n.setAttribute(`aria-label`,`Review progress`);let r=B(`ol`,`pr-progress-tracker`);for(let t of bce(e.phase)){let e=B(`li`,`pr-progress-stage`);e.dataset.state=t.state,e.append(B(`span`,`pr-progress-bar`),B(`span`,null,t.label)),r.append(e)}let i=B(`div`,`pr-progress-text`);n8.track(i,e.startedAt,()=>Mce(e,Date.now())),n.append(r,i),t.append(n);let a=B(`section`,`pr-steps`);a.append(B(`h3`,null,`Latest agent steps`));let o=B(`ol`,`pr-step-list`);for(let t of e.recentSteps){let n=B(`li`,`pr-step`),r=B(`span`,`pr-step-detail`,t.detail);r.title=t.detail,n.append(B(`span`,`pr-step-at`,RA(e.startedAt,t.at)),B(`span`,`pr-step-tool`,t.tool),r),o.append(n)}return a.append(o),t.append(a),t}function R8(e,t){if(s8.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(...B8(t)),n.dataset.reviewThreads=r)}function z8(e,t,n,r){let i=B(`div`,t?`pr-thread-message pr-thread-message-muted`:`pr-thread-message`);if(i.append(B(`p`,`pr-thread-body pr-thread-preview`,e)),!n&&!ice(e,t?3:8))return i;let a=B(`details`,`pr-thread-disclosure`);return a.append(B(`summary`,`pr-thread-expand`,t?`Expand comment`:`Expand reply`),B(`p`,`pr-thread-body`,e)),n&&a.append(_f(`pr-link pr-thread-continues`,t?`Comment continues on GitHub`:`Reply continues on GitHub`,r)),i.append(a),i}function B8(e){let t=g6(e);if(t.length===0)return[];let n=B(`section`,`my-pr-threads-section`);n.append(B(`h3`,`pr-section-heading`,`Answered threads`));let r=B(`div`,`my-pr-threads`);for(let n of t){let t=B(`div`,`my-pr-thread pr-thread-card`),i=B(`div`,`my-pr-thread-heading pr-thread-heading`),a=B(`span`,`pr-thread-chip`,n.judgementLabel);a.dataset.tone=n.judgementTone,i.append(_f(`pr-link my-pr-thread-location`,n.location,n.thread.url),a),t.append(i),n.judgementReason&&t.append(B(`p`,`my-pr-thread-meta`,n.judgementReason)),n.thread.viewerComment&&t.append(B(`div`,`my-pr-thread-meta`,`Your comment`),z8(n.thread.viewerComment,!0,n.thread.viewerCommentTruncated===!0,n.thread.url));let o=B(`div`,`pr-detail-meta pr-thread-reply-meta`,`${n.thread.lastReplyAuthor} replied`),s=d8(``,n.thread.lastReplyAt);s&&o.append(s);let c=B(`span`,`pr-action-status`);c.setAttribute(`role`,`status`);let l=B(`button`,`pr-action`,`Resolve`);l.type=`button`,l.disabled=!n.canResolve||s8.has(e.key);let u=(e,t)=>{l.disabled=e||!n.canResolve,c.textContent=t,c.dataset.tone=e?`ok`:`error`};l.addEventListener(`click`,()=>{s8.has(e.key)||(l.disabled=!0,c.textContent=F6(`resolve-thread`),!N8(`other`,e,`resolve-thread`,``,[],u,n.thread.id)&&u(!1,`Not connected to the server.`))}),t.append(o),n.thread.lastReplyBody&&t.append(z8(n.thread.lastReplyBody,!1,n.thread.lastReplyTruncated===!0,n.thread.url));let d=B(`footer`,`pr-thread-footer`);d.append(c,l),t.append(d),n.thread.resolveError&&t.append(B(`p`,`pr-attention-detail`,n.thread.resolveError)),r.append(t)}return n.append(r),[n]}function V8(e){let t=B(`article`,`pr-detail`);if(t.append(S8(e),...k8(e),...B8(e)),e.status===`posted`&&t.append(A8(e),j8(e)),e.status!==`posted`&&t.append(B(`p`,`pr-attention-detail`,A6(e))),!O6(e.status))return o8.set(e.key,{signature:w8(e),element:t,settle:()=>{}}),t;let n=B(`footer`,`pr-footer`),r=P6(e),i=B(`span`,`pr-action-status`,r.footer.includes(`approve-only`)?Xce:``);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(!s8.has(e.key)){for(let e of a)e.disabled=!0;i.dataset.tone=`busy`,i.textContent=F6(t),!N8(`other`,e,t,``,[],o)&&o(!1,`Not connected to the server.`)}},c=r.footer.map(e=>I8(e,s));if(a.push(...c),r.more.length>0){let e=F8(r.more,s);a.push(...e.controls),L8(t,e.element)}return n.append(...c,i),t.append(n),o8.set(e.key,{signature:w8(e),element:t,settle:o}),t}function H8(e){if(!O6(e.status)&&g6(e).length===0)return V8(e);let t=o8.get(e.key);return t&&(s8.has(e.key)||t.signature===w8(e))?C8(t.element,e):V8(e)}function U8(e){if(!q6)return;if(Y6=S6(e,Y6,X6!==null),!Y6){if(X6!==null){let t=X6.actedKey;t&&![...e.ready,...e.attention].some(e=>e.key===t)&&(X6={actedKey:null}),q6.replaceChildren(y8(Hse(e,X6.actedKey))),$6=null;return}q6.replaceChildren(),$6=null;return}let t=e.ready.find(e=>e.key===Y6&&(h6(e).length>0||i6(e)));if(t&&t.status!==`ready`){let e=`threads:${w8(t)}`,n=H8(t);if($6===e&&q6.firstElementChild===n)return;q6.replaceChildren(n),$6=e;return}let n=[...e.ready,...e.noReviewNeeded].find(e=>e.key===Y6&&e.status===`ready`);if(n){let e=`ready:${R6(n)}`,t=Qce(n);if($6===e)return;q6.replaceChildren(t),$6=e;return}let r=e.inReview.find(e=>e.key===Y6);if(r){n8.reset(),q6.replaceChildren(ele(r)),$6=`inReview:${r.key}`;return}let i=e.queued.find(e=>e.key===Y6);if(i){let t=`queued:${i.key}:${e.inReview.length}`;if($6===t)return;q6.replaceChildren($ce(i,e.inReview.length)),$6=t;return}let a=[...e.noReviewNeeded,...e.attention,...e.posted,...e.discarded].find(e=>e.key===Y6);a&&(q6.replaceChildren(H8(a)),$6=`${a.status}:${a.key}`)}function tle(){let e=B(`p`,`pr-empty`,Rce(V6));return V6&&!V6.configured&&e.append(` `,YU(Kse,qse,`Open Team review settings`)),e}function W8(){let e=L6(V6);return e?[B(`p`,`my-pr-note`,e)]:[]}function nle(e){for(let t of[...a8.keys()])e.has(t)||s8.has(t)||a8.delete(t);let t=new Set(V6?.drafts.filter(e=>O6(e.status)).map(e=>e.key)??[]);for(let e of o8.keys())t.has(e)||s8.has(e)||o8.delete(e)}function rle(){if(!H6||!U6||G6?.isConnected)return;let e=R2({queueLabel:`Review queue`,scopeTabs:U6,resizerLabel:`Resize review queue`});G6=e.queue,Q6=B(`p`,`pr-action-status pr-action-notice`),Q6.setAttribute(`role`,`status`),Q6.setAttribute(`aria-live`,`polite`),q6=B(`div`,`pr-detail-body`),e.detail.append(Q6,q6),b8(Z6),W6&&e.foot.append(W6.control),H6.replaceChildren(e.columns),$6=null,K6=null}function G8(e){if(!e)return;e.querySelector(`.pr-team-chip`)?.remove();let t=V6?.team;if(!t)return;let n=B(`span`,`pr-team-chip`);n.append(mf({login:t.slug,url:t.avatarUrl,cssPx:16}),B(`span`,null,t.name)),e.insertBefore(n,e.querySelector(`.pr-queue-toggle`))}function K8(){let e=document.activeElement;return!(e instanceof HTMLElement)||!G6?.contains(e)?null:e.dataset.reviewKey??null}function q8(e){e&&G6&&[...G6.querySelectorAll(`button[data-review-key]`)].find(t=>t.dataset.reviewKey===e)?.focus({preventScroll:!0})}function J8(){if(!H6)return;let e=K8(),t=p6(V6);if(nle(new Set([...t.ready,...t.noReviewNeeded].map(e=>e.key))),r8.reset(),!V6?.configured||!cce(t)&&X6===null){t8.reset(),n8.reset();let e=I2(U6);G8(e),H6.replaceChildren(e,...W6?[W6.notice]:[],...W8(),tle(),L2(W6?.control??null)),W6?.update(V6),G6=null,K6=null,q6=null,Q6=null,J6=null,$6=null;return}if(rle(),!G6)return;G8(H6.querySelector(`.pr-queue-head`)),Y6=S6(t,Y6,X6!==null);let n=u6(t),r=JSON.stringify([t,n,Y6,L6(V6)]);if(r===K6){W6?.update(V6),U8(t),f8(H6);return}K6=r,t8.reset();let i=[],a=c6(t);a&&i.push(y8({title:`All caught up`,detail:a})),t.ready.length&&i.push(x8(`Ready`,t.ready,`ready`,n)),t.inReview.length&&(J6=x8(`In review`,t.inReview,`inReview`,n),i.push(J6)),t.queued.length&&i.push(x8(`Queued`,t.queued,`queued`,n)),t.noReviewNeeded.length&&i.push(x8(`Already reviewed`,t.noReviewNeeded,`settled`,n)),t.handReview.length&&i.push(Kce(t.handReview,n)),t.attention.length&&i.push(x8(`Needs attention`,t.attention,`attention`,n)),t.posted.length&&i.push(x8(`Waiting on author`,t.posted,`posted`,n)),t.discarded.length&&i.push(x8(`Discarded`,t.discarded,`discarded`,n)),G6.replaceChildren(...W6?[W6.notice]:[],...W8(),...i),W6?.update(V6),q8(e),U8(t),f8(H6)}function Y8(){e8&&e8(c8.refresh())}function ile(){c8.acknowledge(),Y8()}function ale(e){e8=e,Y8()}function ole(e,t){return H6||(U6=t,H6=B(`div`,`pr-content`),e.append(H6),W6=H3(`team-review`,H6),t8.ensure(),n8.ensure(),r8.ensure(),J8(),H6)}function sle(e){let t=du.safeParse(e);if(!t.success)return;let n=V6;V6=t.data,!(Bce(n,t.data)&&cle())&&(J8(),Y8())}function cle(){if(!V6||!J6?.isConnected)return!1;t8.reset(),r8.reset();let e=K8(),t=p6(V6),n=x8(`In review`,t.inReview,`inReview`,u6(t));return J6.replaceWith(n),J6=n,q8(e),t.inReview.some(e=>e.key===Y6)&&U8(t),f8(H6),!0}function lle(e){if(!e||typeof e!=`object`)return;let t=e;if(typeof t.key!=`string`)return;let n=s8.get(t.key);if(!n||n.requestId!==t.requestId)return;if(window.clearTimeout(n.timer),s8.delete(t.key),n.action===`resolve-thread`){n.settle?.(t.ok===!0,typeof t.error==`string`?t.error:I6(n.action)),o8.delete(t.key),$6=null,t.ok===!0&&J8();return}let r=(n.origin===`ready`?a8:o8).get(t.key);if(t.ok===!0){n.origin===`other`&&o8.delete(t.key);let e=Use({action:n.action,pullRequest:n.pullRequest,warning:typeof t.warning==`string`?t.warning:``,isActedSelected:Y6===t.key});if((r?.settle??n.settle)?.(!0,e.statusText),(e.notice||e.shouldAdvance)&&b8(e.notice),!e.shouldAdvance)return;Y6=lce({capturedOrder:n.capturedOrder,actedKey:t.key,groups:p6(V6)}),Y6===null&&(X6={actedKey:t.key}),J8();return}(r?.settle??n.settle)?.(!1,typeof t.error==`string`&&t.error?t.error:`The action failed.`)}function X8(e,t,n,r){return r.has(e.id)?`watch`: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 ule(e){let t=0;for(let n of e.owner??e.id)t=Math.imul(t,31)+n.charCodeAt(0)>>>0;return oO[t%oO.length]}function dle(e,t,n){return t?`Scope conflict`:e.state===`blocked`?`Blocked`:e.state===`open`&&e.readiness===`waiting`?`Waiting on dependency`:n===`workers`?`Running`:n===`review`?`Unverified`:n===`watch`?`Watching`:n===`shipped`?`Shipped`:`Ready`}function fle(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 ple(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.watches??[]).map(e=>e.workId)),s=new Set(e.reviewing??[]),c=new Set(e.unverifiedCompletedWork),l=new Set(e.conflicts.flatMap(e=>[e.left,e.right])),u={queue:[],workers:[],review:[],watch:[],shipped:[]},d=e.orders.filter(e=>e.parent===i?.id||o.has(e.id));for(let n of d){let r=X8(n,c,s,o);if(!r)continue;let i=l.has(n.id),a=i||n.state===`blocked`||n.state===`open`&&n.readiness===`waiting`;u[r].push({id:n.id,objective:n.objective,sessionId:e.liveWorkers?.find(e=>e.workId===n.id)?.sessionId??null,risk:n.risk,station:r,status:s.has(n.id)?`Reviewing`:dle(n,i,r),hasConflict:i,isHeld:a,isSelected:n.id===t,animal:ule(n)})}let f=new Map(e.orders.map(e=>[e.id,e])),p=t===null?void 0:f.get(t),m=p?fle(p,f):null;return{paused:e.paused,spend:`Factory today: $${(e.spentTodayUsd??0).toFixed(2)} / ${e.dailyBudgetUsd==null?`unlimited`:`$${e.dailyBudgetUsd.toFixed(2)}`}`,note:e.note??null,intent:i?{id:i.id,objective:i.objective,criteria:i.criteria.map(e=>({text:e,isMet:i.state===`completed`})),shippedCount: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,state:e.orchestrator?.state??null}:{action:`Exception`,reason:e.error,isException:!0,sessionId:e.orchestrator?.sessionId??null,state:e.orchestrator?.state??null},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`:X8(p,c,s,o)??`cancelled`,owner:p.owner}:null}}function mle(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 Z8=null,Q8=null,$8=null,e5=!1,t5=null,n5=null,r5=null,i5=0,a5=new Map,o5=new Map,s5=new Map;function hle(e){let t=a5.get(e);if(t)return t;let n={objective:``,criteria:``,risk:`low`,boundary:``,writeScopes:``};return a5.set(e,n),n}var c5=`.factory-stack, .factory-pads, .factory-ledger, .factory-detail, .factory-intent-queue, .factory-criteria`,gle=[[`[data-order-id]`,`orderId`],[`[data-factory-field]`,`factoryField`],[`[data-project-id]`,`projectId`]];function l5(e,t,n){let r=B(`button`,e,t);return r.type=`button`,r.addEventListener(`click`,n),r}function u5(e){let t=B(`p`,`factory-request-status`,e?.text??``);return t.setAttribute(`role`,`status`),t.dataset.error=String(e?.hasError===!0),t}function d5(e,t,n,r){let i=t===`factory-queue-intent`?o5:s5;if(i.get(e)?.requestId)return;i5+=1;let a=`factory-${i5}`,o=r5?.({...n,projectId:e,type:t,requestId:a})===!0;i.set(e,{requestId:o?a:null,text:o?r:`Not connected.`,hasError:!o}),g5()}function _le(e){let t=hle(e),n=B(`form`,`factory-queue-form`),r=o5.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=B(`label`,`factory-form-field`),c=B(`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(B(`span`,`factory-label`,i),c),n.append(s)}let i=B(`label`,`factory-form-field`),a=B(`select`,`factory-form-input`);a.name=`risk`,a.dataset.factoryField=`risk`,a.disabled=r;for(let e of Qc.shape.risk.options){let t=B(`option`,null,e);t.value=e,a.append(t)}a.value=t.risk,a.addEventListener(`change`,()=>{t.risk=Qc.shape.risk.parse(a.value)}),i.append(B(`span`,`factory-label`,`Risk`),a);let o=B(`button`,`factory-action`,`Queue intent`);return o.type=`submit`,o.disabled=!e5||r,n.insertBefore(i,n.children[2]??null),n.append(o,u5(o5.get(e))),n.addEventListener(`submit`,n=>{n.preventDefault();let r=Qc.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)});if(!r.success){o5.set(e,{requestId:null,text:r.error.issues.map(e=>`${e.path.join(`.`)}: ${e.message}`).join(`; `),hasError:!0}),g5();return}d5(e,`factory-queue-intent`,r.data,`Queueing intent.`)}),n}function vle(e,t){let n=B(`div`,`factory-controls`),r=s5.get(e);for(let i of[`pause`,`resume`]){let a=l5(`factory-action`,i===`pause`?`Pause`:`Resume`,()=>d5(e,`factory-control`,{action:i},i===`pause`?`Pausing factory.`:`Resuming factory.`));a.disabled=!e5||r?.requestId!=null||(i===`pause`?t:!t),n.append(a)}return n.append(u5(r)),n}var yle=[{id:`queue`,label:`Queue`,slots:3},{id:`workers`,label:`Workers`,slots:3},{id:`review`,label:`Review`,slots:2},{id:`watch`,label:`Watch`,slots:2},{id:`shipped`,label:`Shipped`,slots:3}];function f5(e,t){let n=Sf(`factory`,e);return n.classList.add(...t.split(` `)),n.setAttribute(`aria-label`,e),n}function p5(e,t){let n=B(`div`,`factory-sprite`);n.setAttribute(`role`,`img`),n.setAttribute(`aria-label`,t);let r=B(`span`,`nyan-sprite ${e}`);return r.setAttribute(`aria-hidden`,`true`),n.append(r),n}function ble(e){n5=e,g5()}function m5(e,t,n){let r=l5(n,t,()=>ble(e));return r.dataset.orderId=e,r.setAttribute(`aria-pressed`,String(n5===e)),r}function h5(e){let t=B(`div`,`factory-crate`);t.dataset.state=e.isHeld?`waiting`:e.station,t.dataset.selected=String(e.isSelected);let n=B(`div`,`factory-crate-id`),r=B(`span`,`factory-crate-risk`,e.risk);r.dataset.risk=e.risk,n.append(B(`span`,null,e.id),r),t.append(n,m5(e.id,e.objective,`factory-crate-title`));let i=e.sessionId;return i&&Z8&&t.append(l5(`factory-action`,`Open terminal`,()=>Z8?.(i))),e.station!==`workers`&&t.append(B(`span`,`factory-crate-note`,e.status)),t}function xle(e,t){let n=B(`div`,`factory-band factory-head`),r=f5(`Intent`,`factory-intent`);if(r.append(B(`p`,`factory-count`,e.spend)),e.intent){r.append(m5(e.intent.id,e.intent.objective,`factory-intent-title`));let t=B(`ul`,`factory-criteria`);for(let n of e.intent.criteria){let e=B(`li`,null,`${n.isMet?`[x]`:`[ ]`} ${n.text}`);e.dataset.met=String(n.isMet),t.append(e)}r.append(t,B(`p`,`factory-count`,`${e.intent.shippedCount} of ${e.intent.childCount} shipped`))}e.intent||r.append(B(`p`,`factory-empty`,`No open intent.`));let i=f5(`Orchestrator`,`factory-orchestrator`);i.dataset.state=e.orchestrator.isException?`failed`:e.paused?`paused`:`steady`;let a=B(`div`,`factory-heading`);a.append(B(`strong`,`factory-orchestrator-action`,e.orchestrator.action),B(`p`,`factory-reason`,e.orchestrator.reason)),e.note&&a.append(B(`p`,`factory-reason`,e.note));let o=B(`span`,`factory-paused-marker`,`[paused]`);o.hidden=!e.paused,a.append(o,vle(t,e.paused));let s=p5(`is-owl`,`Orchestrator owl`),c=e.orchestrator.sessionId;if(c&&Z8){let e=l5(`factory-action`,null,()=>Z8?.(c));e.setAttribute(`aria-label`,`Open orchestrator terminal`),e.append(s),i.append(e)}(!c||!Z8)&&i.append(s),e.orchestrator.state&&a.append(B(`span`,`factory-orchestrator-state`,e.orchestrator.state)),i.append(a);let l=f5(`Up next`,`factory-up-next`),u=B(`ol`,`factory-intent-queue`);for(let t of e.upNext){let e=B(`li`);e.append(m5(t.id,t.objective,`factory-next-title`)),u.append(e)}return l.append(u),e.upNext.length===0&&l.append(B(`p`,`factory-empty`,`No queued intents.`)),l.append(_le(t)),n.append(r,i,l),n}function Sle(e,t){let n=B(`section`,`factory-station factory-station-${e.id}`);n.setAttribute(`aria-label`,e.label);let r=B(`div`,`factory-station-head`);r.append(B(`h3`,`factory-label`,e.label),B(`span`,`factory-count`,String(t.length)));let i=B(`div`,e.id===`workers`?`factory-pads`:`factory-stack`);for(let n=0;n<Math.max(e.slots,t.length);n+=1){let r=t[n],a=B(`div`,`factory-open`,`Open slot`);if(e.id!==`workers`){i.append(r?h5(r):a);continue}let o=B(`div`,`factory-pad`);o.dataset.state=r?.hasConflict?`waiting`:r?`running`:`idle`,r&&o.append(p5(r.animal.sprite,r.animal.name)),r||o.append(B(`div`,`factory-sprite factory-sprite-empty`)),o.append(r?h5(r):a,B(`span`,`factory-pad-status`,r?.status??`Idle`)),i.append(o)}return n.append(r,i),n}function Cle(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:xp(t)}function wle(e){let t=B(`div`,`factory-band factory-foot`),n=f5(`Ledger`,`factory-ledger-region`),r=B(`ol`,`factory-ledger`);for(let t of e.ledger){let e=B(`li`),n=B(`time`,`factory-ledger-time`,Cle(t.at));n.dateTime=t.at,e.append(n,B(`span`,null,`${t.orderId} ${t.event} (${t.session})`)),r.append(e)}e.ledger.length===0&&r.append(B(`li`,`factory-empty`,`No ledger events.`)),n.append(r);let i=f5(`Selected ticket`,`factory-detail-region`),a=B(`div`,`factory-detail`),o=e.selectedOrder;if(o){let e=B(`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(B(`dt`,null,t),B(`dd`,null,n));a.append(e)}return o||a.append(B(`p`,`factory-empty`,`Select a ticket to inspect its boundaries.`)),i.append(a),t.append(n,B(`div`,`factory-seam`),i),t}function g5(){if(!Q8)return;let e=document.activeElement instanceof HTMLElement?document.activeElement:null,t=e instanceof HTMLTextAreaElement?{start:e.selectionStart,end:e.selectionEnd}:null,n=[...Q8.querySelectorAll(c5)].map(e=>e.scrollTop),r=document.createDocumentFragment(),i=B(`p`,`factory-connection`,e5?$8?``:`Waiting for the server.`:`Disconnected. Showing the last snapshot.`);i.setAttribute(`role`,`status`),r.append(i);let a=mle($8?.projects??[],t5);if(!a){r.append(B(`p`,`factory-empty`,$8?`No repos holding coherence.config.json.`:`Waiting for Factory state.`)),Q8.replaceChildren(r);return}if(t5!==a.projectId&&(n5=null),t5=a.projectId,$8&&$8.projects.length>1){let e=B(`div`,`factory-projects`);e.setAttribute(`aria-label`,`Factory projects`);for(let t of $8.projects){let n=l5(`factory-project`,t.projectName,()=>{t5=t.projectId,n5=null,g5()});n.dataset.projectId=t.projectId,n.setAttribute(`aria-pressed`,String(t.projectId===t5)),e.append(n)}r.append(e)}let o=ple(a,n5),s=B(`div`,`factory-console`),c=f5(`Floor`,`factory-band factory-floor-band`),l=B(`div`,`factory-pipe`);for(let e of yle)l.append(Sle(e,o.stations[e.id]));c.append(l),s.append(xle(o,a.projectId),c,wle(o)),r.append(s),Q8.replaceChildren(r),[...Q8.querySelectorAll(c5)].forEach((e,t)=>{e.scrollTop=n[t]??0});for(let[n,r]of gle){let i=e?.dataset[r];if(!i)continue;let a=[...Q8.querySelectorAll(n)].find(e=>e.dataset[r]===i);a?.focus({preventScroll:!0}),a instanceof HTMLTextAreaElement&&t&&a.setSelectionRange(t.start,t.end)}}function Tle(e,t){return Z8=t?.openTerminal??null,Q8||(Q8=B(`div`,`factory-content`),e.append(Q8),g5(),Q8)}function Ele(e){$8=e,g5()}function Dle(e){if(e5=e,!e)for(let e of[o5,s5])for(let[t,n]of e)n.requestId&&e.set(t,{requestId:null,text:`Disconnected. Check the floor before submitting again.`,hasError:!0});g5()}function Ole(e){r5=e}function kle(e){o5.get(e.projectId)?.requestId===e.requestId&&(o5.set(e.projectId,{requestId:null,text:e.ok?`Queued ${e.workId??`intent`}.`:e.error??`Could not queue intent.`,hasError:!e.ok}),e.ok&&a5.delete(e.projectId),g5())}function Ale(e){s5.get(e.projectId)?.requestId===e.requestId&&(s5.set(e.projectId,{requestId:null,text:e.ok?e.action===`pause`?`Factory paused.`:`Factory resumed.`:e.error??`Could not update factory.`,hasError:!e.ok}),g5())}var jle={mine:`Mine`,run:`Run`,cancel:`Cancel`},Mle={mine:`Mining merged pull requests.`,run:`Starting the run.`,cancel:`Cancelling the run.`},_5=null,v5=null,y5=null,b5=new Map,x5=new Map;function S5(e){return e===null?`n/a`:`${Math.round(e*100)}%`}function Nle(e){if(e===null)return`n/a`;let t=Math.round(e*100);return t>0?`+${t}`:String(t)}function Ple(e,t){if(y5?.({type:`benchmark-action`,requestId:rf(`benchmark`),suiteId:e,action:t})!==!0){x5.set(e,`Not connected.`),T5();return}b5.set(e,t),x5.set(e,Mle[t]),T5()}function C5(e,t,n){let r=B(`button`,`bench-action-button`,jle[t]);return r.type=`button`,r.disabled=n,r.addEventListener(`click`,()=>Ple(e.id,t)),r}function Fle(e){let t=v5?.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 w5(e){let t=B(`td`,`bench-score`,S5(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 Ile(e){let t=e.armIds.filter(t=>t!==e.baselineArm),n=B(`table`,`bench-table`),r=B(`tr`);r.append(B(`th`,null,`Case`),...e.armIds.map(t=>B(`th`,null,t===e.baselineArm?`${t} (baseline)`:t))),r.append(...t.map(e=>B(`th`,null,`${e} vs baseline`))),n.append(r);for(let r of e.rows){let i=B(`tr`);i.append(B(`td`,`bench-case`,r.caseId),...e.armIds.map(e=>w5(r.arms[e]))),i.append(...t.map(e=>B(`td`,`bench-delta`,Nle(r.deltaVsBaseline[e]??null)))),n.append(i)}let i=[...new Set(e.armIds.flatMap(t=>Object.keys(e.totals[t]?.recallByTag??{})))].sort(),a=B(`tr`,`bench-total`);a.append(B(`td`,`bench-case`,`Paired recall`),...e.armIds.map(t=>w5(e.totals[t]))),n.append(a);for(let t of i){let r=B(`tr`,`bench-total`);r.append(B(`td`,`bench-case`,`Recall, ${t}`),...e.armIds.map(n=>B(`td`,`bench-score`,S5(e.totals[n]?.recallByTag[t]??null)))),n.append(r)}return n}function Lle(e){let t=B(`div`,`bench-suite`),n=v5?.inFlight?.suiteId===e.id,r=!!v5?.inFlight&&!n,i=b5.has(e.id),a=B(`div`,`bench-summary`);a.append(B(`span`,`bench-suite-title`,e.title),Cf(`bench`,e.caseCount===1?`case`:`cases`,String(e.caseCount)),Cf(`bench`,e.candidateCount===1?`candidate`:`candidates`,String(e.candidateCount)),Cf(`bench`,`arms`,String(e.armIds.length))),t.append(a);let o=B(`div`,`bench-controls`),s=v5?.configured===!0&&e.error===null;o.append(C5(e,`mine`,!s||i||n),C5(e,`run`,!s||i||n||r||e.caseCount===0),C5(e,`cancel`,i||!n));let c=B(`span`,`bench-status`,Fle(e)||x5.get(e.id)||``);if(c.setAttribute(`role`,`status`),o.append(c),t.append(o),e.error)return t.append(B(`p`,`bench-error`,e.error)),t;let l=e.latestReport;return l?(t.append(B(`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(Ile(l)),t):(t.append(B(`p`,`bench-empty`,e.caseCount===0?`Move approved candidates into the cases folder, then choose Run.`:`No run yet.`)),t)}function T5(){if(!_5)return;_5.textContent=``;let e=Sf(`bench`,`Benchmarks`,`Suites from the benchmarks folder of the Glimmervoid home, one run at a time.`);if(_5.append(e),!v5){_5.append(B(`p`,`bench-empty`,`Waiting for the server.`));return}if(!v5.configured){_5.append(B(`p`,`bench-empty`,v5.reason||`Benchmarks are off.`));return}if(v5.suites.length===0){_5.append(B(`p`,`bench-empty`,`No suites yet. Create a folder holding suite.json under benchmarks in the Glimmervoid home.`));return}for(let e of v5.suites)_5.append(Lle(e))}function Rle(e){y5=e}function zle(e){return _5||(_5=B(`div`,`bench-content`),e.append(_5),T5(),_5)}function E5(e){if(!(e||b5.size===0)){for(let e of b5.keys())x5.set(e,`Connection lost.`);b5.clear(),T5()}}function Ble(e){v5=e,T5()}function Vle(e){b5.delete(e.suiteId);let t=v5?.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.`};x5.set(e.suiteId,e.ok?n[e.action]:e.error||`The server refused the action.`),T5()}function Hle(e){return e?e.configured?`No open issues.`:e.reason??`Loading issues.`:`Loading issues.`}function D5(e,t){return t===`all`||e.sources.includes(t)}function Ule(e){return{all:e.length,me:e.filter(e=>D5(e,`me`)).length,team:e.filter(e=>D5(e,`team`)).length,project:e.filter(e=>D5(e,`project`)).length}}function Wle(e,t,n){let r=t.query.trim().toLowerCase().split(/\s+/).filter(Boolean),i=e.filter(e=>{if(!D5(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 Gle(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 Kle(e){return{repos:[...new Set(e.map(e=>e.repo))].sort(),labels:[...new Set(e.flatMap(e=>e.labels))].sort()}}function qle(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 O5(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 k5(e,t){let n=O5(e,t);return n===`now`?`just now`:n===`unknown`?`at an unknown time`:`${n} ago`}var A5=45e3,j5=[{id:`all`,label:`All`},{id:`me`,label:`Mine`},{id:`team`,label:`Team`},{id:`project`,label:`Projects`}],M5={scope:`all`,repo:``,label:``,sort:`updated`,query:``,hasSession:!1,hasPr:!1,isUnassignedOnly:!1},N5=null,P5=null,F5=null,I5=null,L5=null,R5=null,z5=null,B5=null,V5=null,H5=null,U5=new Map,W5=!1,G5=null,K5=null,q5=new Map,J5=new Map,Y5=new Map,X5=new Map,Z5=new Map;function Q5(e){return`${e.key}:${e.updatedAt}`}function $5(e){return e.sessionId?H.get(e.sessionId):void 0}function e7(e,t,n){let r=$5(t),i=r?.currentState??F.DORMANT,a=bf(i,r?.awaitingBackgroundTasks),o=r?`Session: ${a.label}`:`No session yet`,s=n?`${a.glyph} ${a.label}`:a.glyph;(e.dataset.state!==i||e.title!==o||e.textContent!==s)&&(e.dataset.state=i,e.title=o,e.setAttribute(`aria-label`,o),e.textContent=s)}function t7(e,t=!1){let n=B(`span`,t?`issues-state`:`pr-queue-glyph issues-state`);return e7(n,e,t),n}function n7(e){let t=$5(e);return t?Gf(t):`none yet`}function r7(e){return[...q5.values()].some(t=>t.issueKey===e.key)}function Jle(e){let t=q5.get(e);t&&(q5.delete(e),J5.set(t.issueKey,`No reply from the server.`),c7())}function Yle(e){let t=q5.get(e);return t?(clearTimeout(t.timeoutHandle),q5.delete(e),t):null}function i7(e){let t=Q5(e);if(X5.has(t)||[...Y5.values()].some(e=>e.cacheKey===t))return;let n=rf(`issue-detail`);if(Z5.delete(t),!K5?.({type:`issue-detail`,requestId:n,repo:e.repo,issueNumber:e.number})){Z5.set(t,`Not connected. Select the issue to load its description.`);return}Y5.set(n,{cacheKey:t,timeoutHandle:setTimeout(()=>{Y5.delete(n),Z5.set(t,`No reply from the server. Select the issue to load its description.`),c7()},A5)})}function Xle(e){let t=e.projectId;if(!t||$5(e)||r7(e))return;let n=rf(`open-issue-session`);if(!K5?.({type:`open-issue-session`,requestId:n,projectId:t,repo:e.repo,issueNumber:e.number})){J5.set(e.key,`Not connected.`),c7();return}q5.set(n,{issueKey:e.key,issueNumber:e.number,timeoutHandle:setTimeout(()=>Jle(n),A5)}),J5.set(e.key,`Opening session.`),c7()}function Zle(e){let t=B(`button`,`pr-queue-row issue-row`);t.type=`button`,t.dataset.issueKey=e.key,t.setAttribute(`aria-current`,String(e.key===V5));let n=B(`span`,`pr-queue-top`);n.append(B(`span`,`pr-queue-ref`,`#${e.number}`),B(`span`,`pr-queue-title`,e.title||`Untitled issue`));let r=B(`span`,`pr-queue-bottom`);e.sources.includes(`me`)&&r.append(B(`span`,`issues-why`,`you`)),r.append(B(`span`,`issues-row-labels`,e.labels.join(`, `)));for(let t of e.pullRequests)r.append(B(`span`,`issues-row-pr`,`PR #${t.number}`));let i=B(`span`,`pr-queue-elapsed`,O5(e.updatedAt,Date.now()));return i.dataset.issueAge=e.updatedAt,r.append(i),t.append(t7(e),n,r),t.addEventListener(`click`,()=>{V5=e.key,N5&&(N5.dataset.detailOpen=`true`),i7(e),u7(),I5&&(I5.scrollTop=0)}),t}function a7(e,t,n){let r=B(`dd`);r.append(...n),e.append(B(`dt`,null,t),r)}function o7(e){let t=B(`footer`,`pr-footer issues-detail-footer`),n=$5(e);if(n&&e.sessionId){let n=e.sessionId,r=B(`button`,`pr-action`,`Go to session`);r.type=`button`,r.addEventListener(`click`,()=>EF(n)),t.append(r)}if(e.projectId&&!n){let n=B(`button`,`pr-action`,`Open session`);n.type=`button`,n.disabled=r7(e),n.addEventListener(`click`,()=>Xle(e)),t.append(n)}t.append(_f(`pr-action`,`View on GitHub`,e.url));let r=J5.get(e.key),i=e.projectId?``:`Add a project for ${e.repo} in Settings to open sessions from here.`,a=B(`span`,`pr-action-status issue-open-status`,r??i);return a.setAttribute(`role`,`status`),r7(e)&&a.prepend(B(`span`,`issues-spinner`)),t.append(a),t}function s7(e,t){let n=B(`span`,null,k5(e,t));return n.dataset.issueAgo=e,n}function Qle(){let e=I5?.querySelector(`.issues-detail`),t=V5?U5.get(V5):void 0;if(!e||!t)return;let n=e.querySelector(`.issues-facts .issues-state`);n&&e7(n,t,!0);let r=e.querySelector(`.issues-session-name`),i=n7(t);r&&r.textContent!==i&&(r.textContent=i);let a=String(!!$5(t));e.dataset.hasLiveSession!==a&&(e.dataset.hasLiveSession=a,e.querySelector(`.issues-detail-footer`)?.replaceWith(o7(t)))}function c7(){if(!I5)return;let e=H5?.issues.find(e=>e.key===V5);if(!e){I5.replaceChildren(B(`p`,`pr-empty`,`Pick an issue from the queue.`));return}let t=B(`article`,`pr-detail issues-detail`),n=B(`button`,`pr-action issues-back`,`Back to issues`);n.type=`button`,n.addEventListener(`click`,()=>{N5&&(N5.dataset.detailOpen=`false`),[...F5?.querySelectorAll(`[data-issue-key]`)??[]].find(e=>e.dataset.issueKey===V5)?.focus({preventScroll:!0})});let r=B(`header`,`pr-detail-heading`),i=B(`div`,`pr-detail-title`);i.append(_f(`pr-link`,`${e.repo}#${e.number}`,e.url),B(`h2`,null,e.title||`Untitled issue`));let a=Date.now(),o=B(`div`,`pr-detail-meta`),s=B(`span`,null,`opened by ${e.author||`unknown`} `),c=B(`span`,null,`updated `);s.append(s7(e.createdAt,a)),c.append(s7(e.updatedAt,a)),o.append(s,c,B(`span`,null,`${e.comments} comments`)),e.sources.includes(`me`)&&o.append(B(`span`,`issues-why`,`assigned to you`));for(let t of e.teams)o.append(B(`span`,null,`mentions ${t}`));r.append(i,o);let l=B(`dl`,`issues-facts`);a7(l,`Repository`,[e.repo]),a7(l,`Labels`,[e.labels.join(`, `)||`none`]),a7(l,`Assignees`,[e.assignees.join(`, `)||`unassigned`]),t.dataset.hasLiveSession=String(!!$5(e)),a7(l,`Session`,[t7(e,!0),B(`span`,`issues-session-name`,n7(e))]);let u=e.pullRequests.flatMap(e=>{let t=B(`span`,`issues-pr-state`,e.state);return t.dataset.prState=e.state,[t,_f(`issues-inline-link`,`#${e.number} ${e.title}`,e.url)]});a7(l,`Pull request`,u.length>0?u:[`none linked`]);let d=B(`section`,`issues-body-section`),f=Q5(e),p=B(`div`,`issue-body`,X5.get(f)??Z5.get(f)??`Loading description.`);X5.get(f)===``&&(p.textContent=`No description.`),p.setAttribute(`role`,`status`),d.append(B(`h3`,`pr-section-heading`,`Description`),p),t.append(n,r,l,d,o7(e)),I5.replaceChildren(t)}function l7(e,t,n,r){if(!e)return;let i=r&&!n.includes(r)?[...n,r].sort():n;e.replaceChildren(...[``,...i].map(e=>{let n=B(`option`,null,e||t);return n.value=e,n})),e.value=r}function u7(){W5=!1,d7(),c7()}function d7(){if(!N5||!F5||!P5)return;let e=H5?.issues??[],t=Ule(e);for(let e of j5){P5.querySelector(`[data-scope="${e.id}"]`)?.setAttribute(`aria-selected`,String(e.id===M5.scope));let n=P5.querySelector(`[data-scope-count="${e.id}"]`);n&&(n.textContent=String(t[e.id]))}let n=Kle(e);l7(R5,`All repos`,n.repos,M5.repo),l7(z5,`All labels`,n.labels,M5.label),L5&&(L5.textContent=qle(M5));let r=Wle(e,M5,new Set(H.keys())),i=document.activeElement instanceof HTMLElement&&F5.contains(document.activeElement)?document.activeElement.dataset.issueKey:null,a=[...Gle(r)].map(([e,t])=>{let n=B(`section`,`pr-queue-section`),r=B(`h3`,`pr-section-heading issues-repo-heading`,e);return t.some(e=>e.projectId)||r.append(B(`span`,`issues-repo-note`,`view only`)),r.append(B(`span`,`issues-repo-count`,String(t.length))),n.append(r,...t.map(Zle)),n});F5.replaceChildren(...a),r.length===0&&F5.append(B(`p`,`pr-empty`,e.length>0?`No open issues match these filters. Clear the search or pick All.`:Hle(H5))),i&&[...F5.querySelectorAll(`[data-issue-key]`)].find(e=>e.dataset.issueKey===i)?.focus({preventScroll:!0}),V5&&!e.some(e=>e.key===V5)&&(V5=null,N5.dataset.detailOpen=`false`),G5?.update(H5),f7()}function $le(){let e=B(`div`,`issues-filters`),t=B(`div`,`issues-search-row`),n=B(`input`,`issues-search`);n.type=`search`,n.placeholder=`Search issues`,n.autocomplete=`off`,n.setAttribute(`aria-label`,`Search issues`),n.addEventListener(`input`,()=>{M5.query=n.value,u7()});let r=B(`button`,`pr-action`,`Filters`);r.type=`button`,r.setAttribute(`aria-expanded`,`false`),r.setAttribute(`aria-controls`,`issues-filters-panel`);let i=B(`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=B(`div`,`issues-filter-row`);function o(e){let t=B(`select`,`issues-field`);return t.setAttribute(`aria-label`,e),a.append(t),t}R5=o(`Repository`),R5.addEventListener(`change`,()=>{M5.repo=R5?.value??``,u7()}),z5=o(`Label`),z5.addEventListener(`change`,()=>{M5.label=z5?.value??``,u7()});let s=o(`Sort`);for(let[e,t]of[[`updated`,`Updated`],[`created`,`Newest`],[`comments`,`Most discussed`]]){let n=B(`option`,null,t);n.value=e??``,s.append(n)}s.addEventListener(`change`,()=>{M5.sort=s.value,u7()});let c=B(`div`,`issues-filter-row`);for(let[e,t]of[[`hasSession`,`Has session`],[`hasPr`,`Has PR`],[`isUnassignedOnly`,`Unassigned`]]){let n=B(`label`,`issues-toggle`),r=B(`input`);r.type=`checkbox`,r.addEventListener(`change`,()=>{M5[e]=r.checked,u7()}),n.append(r,` ${t}`),c.append(n)}return L5=B(`span`,`issues-filter-summary`),L5.setAttribute(`role`,`status`),i.append(a,c),e.append(t,L5,i),e}function f7(){if(!N5||N5.closest(`[hidden]`)||document.hidden)return;let e=Date.now();B5&&(B5.textContent=H5?.lastSyncAt?`Synced ${k5(H5.lastSyncAt,e)}.`:`Not synced yet.`);for(let t of N5.querySelectorAll(`[data-issue-age]`))t.textContent=O5(t.dataset.issueAge??``,e);for(let t of N5.querySelectorAll(`[data-issue-ago]`))t.textContent=k5(t.dataset.issueAgo??``,e)}function eue(e){K5=e}function tue(e){if(N5)return N5;N5=B(`div`,`issues-content`),N5.dataset.detailOpen=`false`,e.append(N5),G5=H3(`issues`,N5);let t=B(`div`,`pr-columns issues-columns`),n=B(`section`,`pr-queue-pane`);n.setAttribute(`aria-label`,`Issue queue`),P5=B(`div`,`pr-scope-tabs issues-scope-tabs`),P5.setAttribute(`role`,`tablist`),P5.setAttribute(`aria-label`,`Issue scope`);for(let e of j5){let t=B(`span`,`issues-scope`);t.setAttribute(`role`,`presentation`);let n=B(`button`,`pr-scope-tab`,e.label);n.type=`button`,n.dataset.scope=e.id,n.setAttribute(`role`,`tab`),n.addEventListener(`click`,()=>{M5.scope=e.id,u7()});let r=B(`span`,`issues-scope-count`);r.dataset.scopeCount=e.id,t.append(n,r),P5.append(t)}F5=B(`nav`,`pr-queue`),F5.setAttribute(`aria-label`,`Issues`);let r=L2(G5.control);return B5=B(`span`,`issues-sync`),B5.setAttribute(`role`,`status`),r.prepend(B5),r.append(G5.notice),n.append(I2(P5),$le(),F5,r),I5=B(`section`,`pr-detail-host`),I5.setAttribute(`aria-label`,`Issue detail`),t.append(n,I5),N5.append(t),window.setInterval(f7,3e4),u7(),N5}function nue(){W5&&p7(),f7()}function p7(){if(Tf(N5)){W5=!0;return}if(W5=!1,Qle(),M5.hasSession){d7();return}for(let e of F5?.querySelectorAll(`[data-issue-key]`)??[]){let t=U5.get(e.dataset.issueKey??``),n=e.querySelector(`.issues-state`);t&&n&&e7(n,t,!1)}}function rue(e){if(!e){for(let e of q5.values())clearTimeout(e.timeoutHandle),J5.set(e.issueKey,`Connection lost.`);q5.clear();for(let e of Y5.values())clearTimeout(e.timeoutHandle),Z5.set(e.cacheKey,`Connection lost. Select the issue to load its description.`);Y5.clear(),u7()}}function iue(e){let t=H5?.issues.find(e=>e.key===V5);H5=e,U5=new Map(e.issues.map(e=>[e.key,e]));let n=e.issues.find(e=>e.key===V5);n&&n.updatedAt!==t?.updatedAt&&i7(n),u7()}function aue(e){let t=Y5.get(e.requestId);t&&(clearTimeout(t.timeoutHandle),Y5.delete(e.requestId),e.ok&&e.body!==null&&X5.set(t.cacheKey,e.body),(!e.ok||e.body===null)&&Z5.set(t.cacheKey,e.error||`Could not load description. Select the issue to try again.`),c7())}function oue(e){if(typeof e.requestId!=`string`)return;let t=Yle(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`;J5.set(n,`Session "${r}" ${a}.${i}`);let o=H5?.issues.find(e=>e.key===n);o&&typeof e.sessionId==`string`&&(o.sessionId=e.sessionId),u7();return}let r=typeof e.error==`string`&&e.error?e.error:`Could not open session.`;J5.set(n,r),c7()}var sue=4e3;function cue({render:e,holdMs:t=sue,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(){if(o=null,i.size>0){s(!1);return}a&&(a=!1,e())}return{begin(e){i.add(e)},settle(e){i.delete(e),s(!0)},request(){if(i.size===0&&o===null){e();return}a=!0,s(!1)},_state(){return{pending:i.size,held:a,armed:o!==null}}}}var m7=null,h7=null,g7=null,_7=null,v7=`http://www.w3.org/2000/svg`,y7=AA({getAck:xk,setAck:Sk,signature:()=>jre({posthog:m7}),isLooking:()=>!Tf(h7)}),b7=cue({render:z7}),x7=new Set,S7=null,C7=new Map,w7=QP(()=>h7),lue={spiking:`spiking`,regressed:`regressed`,worsened:`worsened`,new:`new`,quiet:`quiet`},T7=[{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}],uue=T7.map(e=>e.track).join(` `),due=T7.filter(e=>!e.isMagnitude).map(e=>e.phoneTrack).join(` `),fue=T7.findIndex(e=>e.startsActionCluster)+1;function E7(e){let t=B(`div`,e);return t.style.setProperty(`--radar-issue-grid`,uue),t.style.setProperty(`--radar-issue-grid-phone`,due),t.style.setProperty(`--radar-issue-actions-start`,String(fue)),t}function D7(e,t){let n=B(`span`,`radar-issue-magnitudes`),r=!1;for(let i of T7){let a=t(i);if(!i.isMagnitude){e.append(a);continue}r||=(e.append(n),!0),n.append(a)}}function O7(e){return Number.isFinite(e)?String(e):`0`}function pue(e){return typeof e!=`number`||!Number.isFinite(e)||e<=0?``:`elapsed ${YP(Date.now()-e)}`}function k7(e){return typeof e?.issueId==`string`?e.issueId:``}function A7(e,t){return[String(e??``),String(t??``)].join(`::`)}function mue(e,t,n){let r=C7.get(A7(e,t));if(!r||!r.copy.isConnected)return!1;let i=MA(n);return i?(r.summary||(r.summary=B(`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 j7(e,t,n){let r=k7(e);if(!r)return;S7?.dialog.close();let i=rF({issueTitle:String(e.title||r),projectLabel:n,onOpenReport:()=>N7(e)});S7={projectId:String(t??``),issueId:r,dialog:i},i.update(NA(e))}function M7(){if(!S7)return;if(!S7.dialog.isOpen()){S7=null;return}let e=PA(m7,S7.projectId,S7.issueId);e&&S7.dialog.update(NA(e))}function N7(e){let t=k7(e);t&&af(`get-posthog-report`,{issueId:t}).then(n=>{if(!n.ok){nF({issueId:t,issueTitle:String(e.title??``),error:String(n.error||`Could not read report`)});return}if(!n.found){nF({issueId:t,issueTitle:String(e.title??``),message:String(n.message||`Report not found`)});return}nF({issueId:t,issueTitle:String(e.title??``),format:String(n.format??``),content:String(n.content||``)})}).catch(n=>{nF({issueId:t,issueTitle:String(e.title??``),error:String(n?.message||`Could not read report`)})})}function P7(){let e=B(`div`,`radar-issue-actions`),t=B(`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=B(`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)=>{b7.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,b7.settle(e)};af(n,r).then(e=>{if(!e.ok){l(`error`,String(e.error||`Request failed`));return}l(`ok`,s(e)),c&&c(e)}).catch(e=>l(`error`,String(e?.message||`Request failed`)))},showFollowUp:a,wrap:e}}function hue(e){let t=B(`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(),Oue(e)}),t}function gue(e,t,n){let{addButton:r,request:i,showFollowUp:a,wrap:o}=P7(),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`,()=>j7(e,t,n)),e.inFlight||r(`Open session`,`Paste an investigation prompt into the mapped project session`,()=>{s(`posthog-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`&&_7&&a(hue(e.sessionId))})}),r(`Resolve`,`Mark this issue resolved in PostHog`,()=>{s(`posthog-issue-action`,{action:`resolve`},`Resolving in PostHog`,()=>`Marked resolved`)}),r(`Suppress`,`Suppress this issue in PostHog`,()=>{s(`posthog-issue-action`,{action:`suppress`},`Suppressing in PostHog`,()=>`Marked suppressed`)}),o}function F7(e,t,n){e.classList.add(`radar-issue-reportable`),e.tabIndex=0,e.setAttribute(`role`,`button`),e.setAttribute(`aria-label`,t),e.title=t,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 _ue(e,t,n){let r=B(`div`,`radar-issue`);r.dataset.severity=pre(e.change);let i=B(`span`,`radar-stripe`);i.setAttribute(`aria-hidden`,`true`);let a=B(`span`,`radar-change`,lue[e.change??``]||String(e.change||`unknown`)),o=_f(`radar-issue-title`,String(e.title||`Untitled issue`),e.url,String(e.title||``)),s=B(`span`,`radar-metric`);s.append(B(`span`,`radar-metric-value`,O7(e.occurrences)),B(`span`,`radar-metric-label`,`occ`));let c=B(`span`,`radar-metric`);c.append(B(`span`,`radar-metric-value`,O7(e.users)),B(`span`,`radar-metric-label`,`users`));let l=_re(e.history),u=vre(l,64,16),d=u?document.createElementNS(v7,`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(v7,`title`);e.textContent=bre(l);let t=document.createElementNS(v7,`polyline`);t.setAttribute(`points`,u),d.append(e,t)}let f=MA(e),p=B(`span`,`radar-issue-copy`);p.append(o);let m=null;f&&(m=B(`span`,`radar-issue-summary`),m.textContent=f,p.append(m)),C7.set(A7(t,e.issueId),{copy:p,summary:m});let h=B(`span`,`radar-issue-meta`),g=mre(e);if(g!==null){let e=B(`span`,`radar-issue-seen`);e.title=new Date(g).toLocaleString(),w7.track(e,g,XP),h.append(e)}let _=hre(e);_&&h.append(B(`span`,`radar-issue-status`,_));let v=String(e.title||e.issueId);if(e.inFlight){let i=B(`span`,`radar-verdict`,`investigating`);i.dataset.verdict=`INVESTIGATING`,h.append(i);let a=typeof e.startedAt==`number`?e.startedAt:null;if(a!==null&&Number.isFinite(a)&&a>0){let e=B(`span`,`radar-issue-elapsed`);w7.track(e,a,pue),h.append(e)}k7(e)&&F7(r,`Watch the investigation of ${v}`,()=>j7(e,t,n))}if(!e.inFlight&&e.verdict){let t=B(`span`,`radar-verdict`,IA(e.verdict));t.dataset.verdict=e.verdict,h.append(t),k7(e)&&F7(r,`View investigation report for ${v}`,()=>N7(e))}h.childElementCount>0&&p.append(h);let y=B(`span`,`radar-issue-trend`);d&&y.append(d);let b=yre(l);if(b){let e=B(`span`,`radar-delta`,`${b.direction===`up`?`+`:b.direction===`down`?`-`:`=`}${b.percent}%`);e.dataset.direction=b.direction,y.append(e)}let ee={stripe:i,change:a,copy:p,occurrences:s,users:c,trend:y};return D7(r,e=>ee[e.columnId]),k7(e)&&r.append(gue(e,t,n)),r}var I7=(e,t,n)=>Cf(`radar`,e,t,n);function vue(e){return e.error?`poll failed: ${e.error}`:e.staleMs>0?`stale ${YP(e.staleMs)}`:``}function L7(e,t,{showHost:n,nameTag:r,nameClass:i,hostClass:a}){let o=B(r,i,BA(t));o.title=String(t.name||``),e.append(o);let s=n?VA(t.host):``;s&&e.append(B(`span`,a,s))}function yue(){let e=E7(`radar-column-heads`);for(let t of T7){if(!t.headText){e.append(B(`span`));continue}let n=B(`span`,`radar-column-head`,t.headText);n.dataset.column=t.columnId,e.append(n)}return e}function bue(e,t){let n=e.project,r=B(`div`,`radar-project`),i=Mre(n.issues),a=zA(i),o=B(`div`,`radar-project-head`);L7(o,n,{showHost:t,nameTag:`h3`,nameClass:`radar-project-name`,hostClass:`radar-project-host`}),r.append(o);let s=B(`div`,`radar-project-summary`);s.append(I7(a.active===1?`active issue`:`active issues`,O7(a.active))),s.append(I7(`spiking`,O7(a.spiking),a.spiking>0?`crit`:null)),s.append(I7(`needs you`,O7(a.needsHuman),a.needsHuman>0?`warn`:null));let c=vue(e);if(c){let t=B(`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(yue());let l=E7(`radar-issues`);for(let e of i)l.append(_ue(e,n.projectId,BA(n)));return r.append(l),r}function xue(e,t){let n=e.project,r=B(`div`,`radar-quiet-row`),i=B(`span`,`radar-quiet-dot`);return i.setAttribute(`aria-hidden`,`true`),r.append(i),L7(r,n,{showHost:t,nameTag:`span`,nameClass:`radar-quiet-name`,hostClass:`radar-quiet-host`}),r.append(B(`span`,`radar-quiet-count`,`0 issues`)),r}var R7=(e,t)=>Sf(`radar`,e,t);function Sue(){let e=B(`div`,`radar-issue`);return e.dataset.skeleton=``,D7(e,e=>B(`span`,e.cellClass)),e}function Cue(){let e=E7(`radar-issues`);e.setAttribute(`aria-busy`,`true`),e.setAttribute(`aria-label`,`Loading issues`);for(let t=0;t<5;t+=1)e.append(Sue());return e}function wue(e,t=`ready`){let n=R7(`Errors`);if(t===`pending`)return n.append(Cue()),n;if(t===`placeholder`||e.length===0){let e=B(`p`,`radar-unconfigured`,ure(m7)),t=YU(`lanes-posthog`,`posthog-enabled`,`PostHog settings`);return e.append(document.createTextNode(` `),t),n.append(e),n}let r=B(`div`,`radar-global-tick`),i=Number(m7?.intervalMinutes);w7.track(r,m7?.ts,e=>{let t=`polled ${XP(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}=Ere(e,Date.now(),{intervalMs:a}),c=wre(e);for(let e of o)n.append(bue(e,c));if(s.length===0)return n;let l=B(`div`,`radar-quiet`);for(let e of s)l.append(xue(e,c));return n.append(l),n}function Tue(e){let{addButton:t,request:n,wrap:r}=P7();return e.issueId&&t(`Open report`,`Open the investigation report for this issue`,()=>{N7({issueId:e.issueId,title:e.title})}),t(`Archive`,`Remove this investigation from the inbox`,()=>{n(`archive:${e.id}`,`posthog-archive-investigation`,{id:e.id},`Archiving`,()=>`Archived`,()=>x7.add(e.id))}),r}function Eue(e){let t=B(`div`,`radar-investigation`),n=B(`span`,`radar-verdict`,IA(e.verdict));n.dataset.verdict=e.verdict;let r=_f(`radar-issue-title`,e.title,e.url),i=B(`span`,`radar-issue-copy`);if(i.append(r),e.summaryLine){let t=B(`span`,`radar-issue-summary`);t.textContent=e.summaryLine,i.append(t)}if(e.prUrl){let t=B(`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=B(`span`,`radar-verdict`,`fix`);e.dataset.mode=`fix`,t.append(e)}if(t.append(i),e.projectLabel){let n=B(`span`,`radar-investigation-project`);n.textContent=e.projectLabel,t.append(n)}if(e.at>0){let n=B(`span`,`radar-investigation-time`,XP(e.at));n.title=new Date(e.at).toLocaleString(),t.append(n)}return t.append(Tue(e)),t}function Due(e){let t=R7(`Investigations`,`completed, not yet archived`),n=B(`div`,`radar-investigations`);for(let t of e)n.append(Eue(t));return t.append(n),t}function Oue(e){_7&&_7(e)}function z7(){if(!h7)return;h7.textContent=``,C7.clear(),w7.reset();let e=wf(m7),t=Dre(m7,x7),n=fre(m7,e.length);h7.append(wue(e,n)),t.length>0&&h7.append(Due(t))}function B7(){b7.request()}function V7(){g7&&g7(y7.refresh())}function kue(){y7.acknowledge(),V7()}function Aue(e){g7=e,V7()}function jue(e){_7=e}function Mue(e){if(h7)return h7;let t=B(`div`,`radar-content`);return e.appendChild(t),h7=t,w7.ensure(),z7(),t}function Nue(e){m7=e,Ore(m7,x7),B7(),V7(),M7()}function Pue(e){let t=PA(m7,e.projectId,e.issueId)?.inFlight===!0;if(!are(m7,e))return;M7();let n=PA(m7,e.projectId,e.issueId);t&&mue(e.projectId,e.issueId,n)||B7()}function Fue(e){S7?.dialog.isOpen()&&ore(S7,e)&&S7.dialog.update(FA(e))}function Iue(e){if(!sre(m7,e)){Fue(e);return}M7(),B7(),V7()}function H7(e){return{skipPerms:e.skipPerms??e.dangerouslySkipPermissions??!1,saneYolo:e.saneYolo===!0,worktree:e.worktree??e.isWorktree??!1,workspace:e.workspace??e.isWorkspace??!1,path:e.path,stateSince:e.stateSince,taskTitle:typeof e.taskTitle==`string`?e.taskTitle:null,taskTitleIsCustom:e.taskTitleIsCustom===!0}}function Lue(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}}function Rue(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 zue(e){return typeof e!=`object`||!e||!(`telemetryForcedOff`in e)?!1:e.telemetryForcedOff===!0}function Bue(e,t){return t||zue(e)?!1:Rue(e)}var Vue=2500;function Hue({hasSnapshot:e,connectingTerminalCount:t,msSinceConnected:n}){return n<2500&&(!e||t>0)?`wait`:`reveal`}var U7={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,calmLayout:e=>e?.calmLayout===!0};function W7(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=>{if(e.key===`ArrowLeft`){e.preventDefault(),t(r[(r.indexOf(i)+r.length-1)%r.length],!0);return}e.key===`ArrowRight`&&(e.preventDefault(),t(r[(r.indexOf(i)+1)%r.length],!0))}),n.append(a)}return n}function G7(){dk()===`team`&&ile()}function Uue(e){let t=(e,t)=>{if(o(e),G7(),!t)return;let s=(e===`team`?n:r).querySelector(`[aria-selected="true"]`);if(s&&s.getClientRects().length>0){s.focus();return}(e===`team`?i:a).querySelector(`.pr-queue-toggle`)?.focus()},n=W7(`team`,t),r=W7(`mine`,t),i=document.createElement(`div`);i.className=`pr-mode-root`;let a=document.createElement(`div`);a.className=`pr-mode-root`,e.append(i,a),ole(i,n),kse(a,r);function o(e){F2(),i.hidden=e!==`team`,a.hidden=e!==`mine`,fk(e)}o(dk())}function Wue(e,t){return t.isPhoneShellActive?t.phoneScreen===e:t.activeView===e}function Gue(e,t){return e.flatMap(e=>!e.gate||!(`fromSettings`in e.gate)?[]:[{view:e,isAvailable:e.gate.fromSettings(t)}])}function Kue(e){return{isActive:e===!0||typeof e==`string`,level:typeof e==`string`?e:null}}function K7(e){return e.map((e,t)=>({view:e,order:e.tabOrder??t})).sort((e,t)=>e.order-t.order).map(({view:e})=>e)}function q7(e,t){e?.refreshOn?.includes(t)&&e.refresh?.(t)}function que(e,t,n){for(let r of e)Wue(r.view,t)&&q7(r,n)}function Jue(e){let t=[{view:`calm`,label:`Calm`,panelClass:`calm-view`,tabOrder:1,gate:{fromSettings:U7.calmLayout},hasOwnPhoneScreen:!0,hasPanelChrome:!1,mount:t=>vP(t,{openTerminal:e.openTerminal,openPlan:e.openPlan,openCalm:e.openCalm}),activate:yP,deactivate:bP},{view:`focus`,label:`Focus`,panelClass:`focus-view`,tabOrder:0,hasOwnPhoneScreen:!0,hasPanelChrome:!1,hasReviewSidebar:!0,mount:()=>gU({rail:document.getElementById(`focus-rail`),center:document.getElementById(`focus-center`),resizer:document.getElementById(`focus-rail-resizer`)}),activate:KU,deactivate:JU},{view:`prs`,label:`Reviews`,glyph:`⇅`,panelClass:`pr-view`,gate:{fromSettings:U7.teamReview},mount:Uue,attention:{subscribe:ale,acknowledge:G7}},{view:`issues`,label:`Issues`,glyph:`#`,panelClass:`issues-view`,mount:tue,refreshOn:[`shown`],refresh:nue,onConnectionChange:rue},{view:`usage`,label:`Usage`,glyph:`◔`,panelClass:`usage-view`,gate:{fromSettings:U7.usage},mount:nQ,attention:{subscribe:$Z,acknowledge:XZ},refreshOn:[`shown`,`connected`,`usage-sessions`],refresh:e=>{e===`shown`&&rQ(),tQ()}},{view:`radar`,label:`Radar`,glyph:`◎`,panelClass:`radar-view`,gate:{fromSettings:U7.posthog},mount:Mue,attention:{subscribe:Aue,acknowledge:kue}},{view:`visions`,label:`Visions`,glyph:`◇`,panelClass:`visions-view`,gate:{fromSettings:U7.visions},mount:JG,attention:{subscribe:qG,acknowledge:()=>{XG(),YG()}}},{view:`hooks`,label:`Hooks`,glyph:`◈`,panelClass:`hooks-view`,mount:$q,refreshOn:[`shown`,`connected`,`hooks-updated`],refresh:e=>{e===`shown`&&eJ(),Qq()}},{view:`trace`,label:`Trace`,panelClass:`trace-view`,gate:{subscribe:uV},mount:XB,refreshOn:[`shown`],refresh:tV,onAvailabilityChange:e=>jue(e?$B:null),onConnectionChange:aV},{view:`benchmarks`,label:`Bench`,panelClass:`bench-view`,gate:{fromSettings:U7.benchmarks},mount:zle,onConnectionChange:E5},{view:`factory`,label:`Factory`,panelClass:`factory-floor`,gate:{fromSettings:U7.factory},mount:t=>Tle(t,{openTerminal:e.openTerminal}),onConnectionChange:Dle},{view:`settings`,label:`Settings`,glyph:`@`,panelClass:`settings-view`,hasPanelChrome:!1,mount:t=>N1(t,{onRestart:e.onRestart,onConfirmUpdateAndRestart:e.onConfirmUpdateAndRestart})}],n=V(document,`#app-main`,`main`),r=t.map(t=>{let r=B(`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)??B(`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=B(`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}=Kue(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(...K7(r).map(e=>e.tab)),r}zx(YO()),Bx(GO()),Vx(qO()),MJ(ZO()),Hf(),ES(document);var J7=V(document,`#connection-status`,`span`),Y7=V(J7,`.connection-label`,`span`),X7=V(document,`#loading-screen`,`div`),Z7=V(document,`#loading-status`,`div`),Q7=V(document,`#shutdown-screen`,`div`),$7=V(document,`#shutdown-status`,`div`),e9=!1,t9=null,n9=!1;function Yue(){let e=Gk(),t=X7.querySelector(`.loading-spinner`);e&&t&&t.replaceWith(Wk(e,`loading-animal`))}Yue();function r9(){e9||t9===null||Hue({hasSnapshot:n9,connectingTerminalCount:uA(),msSinceConnected:performance.now()-t9})===`reveal`&&i9()}lA(r9);function i9(){if(e9)return;e9=!0,X7.classList.add(`fade-out`);let e=()=>X7.remove();X7.addEventListener(`transitionend`,e,{once:!0}),setTimeout(e,1e3)}function a9(e,t){J7.dataset.state=`shutdown`,Y7.textContent=e,J7.title=e,C9.disabled=!0,$7.textContent=t,Q7.classList.add(`active`)}var Xue=new Set([`disconnected`,`connecting`]);function o9(e,t,n){J7.dataset.state=e,J7.toggleAttribute(`data-reconnected`,n),Y7.textContent=t,J7.title=t}function Zue(e,t){o9(e,t,e===`connected`&&Xue.has(J7.dataset.state??``))}function Que(e,t){J7.dataset.state!==`shutdown`&&o9(e===`verified`?`connected`:e,t,!1)}tf((e,t)=>{if(e===`connecting`||e===`verified`){Que(e,t);return}Zue(e,t),mH(e===`connected`);for(let t of k9)t.onConnectionChange?.(e===`connected`);if(e===`connected`){if(Q7.classList.contains(`active`)){location.reload();return}document.body.classList.add(`app-ready`),!e9&&t9===null&&(t9=performance.now(),Z7.textContent=`Connecting to sessions...`,setTimeout(i9,Vue)),r9(),J9(),g9(`connected`),af(`get-settings`,{}).then(e=>{e.settings&&(B9(e.settings),Lf()===`settings`&&E9(location.hash))}).catch(()=>{});return}if(e===`disconnected`&&Q7.classList.contains(`active`)){$7.textContent=`Waiting for server...`;return}e9||(Z7.textContent=`Reconnecting to server...`)});function s9(){p7(),S2(),rP(),u9()}function c9(){DU(),s9()}var l9=!1;function u9(){gP(l9&&pU()&&!Uf(),hU())}var d9=null;function $ue(e){let t=Lue(d9,e);d9=t.knownBuild,t.reload&&location.reload()}function ede(e){NG(new Map(e.filter(e=>!e.ephemeral).map(e=>[e.id,e.name]))),J1(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||gF(t.path);let e=$V(t.id);e&&FH(t.id,t.state,t.stateSince),e&&gV(t.id,!!t.saneYolo),e||aH(t.id,t.name,t.state,H7(t)),QV(t.id,t.taskTitle,t.taskTitleIsCustom),gH(t.id,t.agent),OH(t.id,t.mergeStatus,t.mergeReason),hH(t.id,t.effectiveBase),bH(t.id,t.activeAgents,t.awaitingBackgroundTasks),yH(t.id,t.hasEndedTurn),wH(t.id,t.pendingWakeup),SH(t.id,t.pendingPromptKind,t.pendingPromptDetail,t.isCompacting),lH(t.id,t.hasPlan),h9(t.id)}iH(),uF(H),DU(),qU(),s9(),f9(),D9(location.hash),n9=!0,r9()}function f9(){eV([...H].map(([e,t])=>({id:e,name:Gf(t)||e})))}function p9(e,t){lH(e,t?.hasPlan===!0),h9(e)}function tde(e){if(!$V(e.id)){aH(e.id,e.session,e.to,H7({skipPerms:e.skipPerms,saneYolo:e.saneYolo,stateSince:e.timestamp})),uF(H),p7();return}if(e.to===F.DORMANT&&e.from!==F.DORMANT){let t=H.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,a=e.saneYolo??(r?r.dataset.saneYolo!==void 0:!1),o=r?r.dataset.path:void 0;jH(e.id),aH(e.id,e.session,F.DORMANT,H7({skipPerms:i,saneYolo:a,worktree:r?.dataset.worktree!==void 0,workspace:r?.dataset.workspace!==void 0,path:o,stateSince:e.timestamp,taskTitle:t?.taskTitle,taskTitleIsCustom:t?.taskTitleIsCustom})),gH(e.id,t?.agent),p9(e.id,t),c9(),ez(e.id),uF(H);return}FH(e.id,e.to,e.timestamp,e.event),e.hasEndedTurn!==void 0&&yH(e.id,e.hasEndedTurn),e.saneYolo!==void 0&&gV(e.id,e.saneYolo),uF(H),ez(e.id),c9(),FV(e.id),e.to===F.INITIALIZING&&(e.from===F.DONE||e.from===F.FAILED)&&_A(e.id)}var m9=new Map;function nde(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};m9.set(n.id,e),xH(n.id,e)}for(let e of[...m9.keys()])t.has(e)||(m9.delete(e),xH(e,null))}function h9(e){let t=m9.get(e);t&&xH(e,t)}eQ(z),Zq(z),ZB(z),eue(z),Rle(z),Ole(z);function g9(e){que(k9,{isPhoneShellActive:b2(),activeView:Lf(),phoneScreen:If.snapshot().phoneScreen},e)}var rde={snapshot:e=>{$ue(e.serverBuild),ede(e.sessions)},"hooks-report":e=>tJ(e),"save-hook-result":e=>nJ(e),"delete-hook-result":e=>rJ(e),"state-change":e=>tde(e),"session-added":e=>{e.ephemeral||gF(e.path),$V(e.id)||(aH(e.id,e.session,e.state,H7(e)),gH(e.id,e.agent),h9(e.id)),uF(H),c9(),f9()},"session-removed":e=>{jH(e.id),nz(e.id),uF(H),c9(),f9()},"session-title":e=>{QV(e.id,e.taskTitle,e.isCustom),c9()},"session-renamed":e=>{AH(e.id,e.newName),s9(),f9()},"session-modified":e=>{e.ephemeral||gF(e.path);let t=H.get(String(e.id));jH(e.id),nz(e.id),aH(e.id,e.session,e.state,H7(e)),gH(e.id,e.agent),p9(e.id,t),uF(H),c9(),f9()},"session-git":e=>_H(e.id,!!e.worktree),"session-agents":e=>{bH(e.id,e.activeAgents,e.awaitingBackgroundTasks),c9(),FV(e.id)},"session-wakeup":e=>wH(e.id,e.pendingWakeup),"session-prompt":e=>{SH(e.id,e.pendingPromptKind,e.pendingPromptDetail??null,e.isCompacting===!0),s9()},"session-merge-status":e=>{DH(e.id,e.mergeStatus,e.reason),VU(e.id,e.mergeStatus),s9()},"session-worktree-blocked":e=>{GS(`${e.session}: ${e.notice||`integration branch not found`}`,{persist:!0})},"session-worktree-warning":e=>{GS(`${e.session}: ${e.notice||`base branch warning`}`)},"session-worktree-ready":e=>{hH(e.id,e.base)},"session-diff":e=>{qN(e),kH(e.id,{committed:e.committed,uncommitted:e.uncommitted,hasCommits:e.hasCommits})},"session-diff-error":e=>{zN(e),qR(e.id,e.message)},"change-map":e=>JR(e.id,e.map),"branch-sync-status":e=>ZR(e.id,e),"session-changed":e=>$R(e.id),"post-turn-result":e=>TH(e.id,e),"debug-state-response":e=>PV(e),"session-trace-response":e=>{IN(e),nV(e)},"session-trace-changed":e=>rV(e),"session-plan-changed":e=>{uH(e),s9()},"session-plan-draft":e=>{dH(e)},"session-plan-response":e=>{fH(e)},notify:e=>{pJ(e),FV(e.session)},"update-status":e=>{sde(e),G1(e)},"update-progress":e=>K1(e.journal),error:e=>{RN(e),q1(),iV(e),pH(e),GS(e.message,{persist:!0})},"session-error":e=>{pH(e),GS(`${e.session}: ${e.message}`,{persist:!0})},"settings-updated":e=>{e.settings&&B9(e.settings,{isLiveSettingsChange:!0})},"health-snapshot":e=>{e.stats&&QF(e.stats)},"posthog-status":e=>Nue(e),"posthog-investigation-activity":e=>Pue(e),"posthog-investigation-finished":e=>Iue(e),"team-review-status":e=>sle(e),"my-prs-status":e=>Ase(e),"factory-state":e=>Ele(e),"factory-queue-intent-result":e=>kle(e),"factory-control-result":e=>Ale(e),"benchmark-status":e=>Ble(e),"benchmark-action-result":e=>Vle(e),"my-pr-merge-result":e=>jse(e),"team-review-action-result":e=>lle(e),"issues-status":e=>iue(e),"issue-detail-result":e=>aue(e),"open-issue-session-result":e=>oue(e),"usage-sessions":e=>{nde(e.sessions),iQ(e)},"usage-report":e=>{oQ(e),U1()},"plan-limits":e=>aQ(e),"usage-budget-alert":e=>pJ({session:`budget-${e.scope}-${e.periodKey}`,category:`threshold-${e.threshold}`,message:e.text,ignoreFocus:!0}),"visions-findings":e=>QG(e),"visions-comments":e=>$G(e),"visions-hand":e=>eK(e),"visions-intent":e=>tK(e),"visions-fix":e=>ZG(e),"visions-snapshot":e=>iK(e),"ingest-activity":e=>nK(e),"ingest-snapshot":e=>rK(e),"client-trust":e=>hde(e.trust),"shutting-down":()=>a9(`Shutting down...`,`Shutting down sessions...`),restarting:()=>a9(`Restarting...`,`Restarting server...`)};function ide(e){let t=rde[e.type];t&&t(e)}nf(e=>{ide(e),g9(e.type)});var _9=!1,ade=YU(Zne,Qne,`Update`).href;function ode(e){let{latestSha:t,latest:n}=e;return typeof n==`string`&&n?n:typeof t==`string`&&t?t:null}function sde(e){let t=V(document,`#update-banner`,`div`);if(!e.updateAvailable){t.hidden=!0;return}if(_9)return;let n=ode(e);if(n&&_k()===n)return;let r=String(e.command??``);V(document,`#update-banner-text`,`span`).textContent=kre(e),V(document,`#update-banner-cmd`,`code`).textContent=r;let i=wQ(e),a=V(document,`#update-banner-update`,`a`);a.href=ade,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=Ef(r);if(!e){c.textContent=`Copy failed`;return}e.then(()=>{c.textContent=`Copied`}).catch(()=>{c.textContent=`Copy failed`})},V(document,`#update-banner-dismiss`,`button`).onclick=()=>{_9=!0,vk(n),t.hidden=!0}}var v9=V(document,`#telemetry-banner`,`div`);function y9(){bk(!0),v9.hidden=!0}function cde(e){v9.hidden=!Bue(e,yk())}var b9=V(document,`#telemetry-banner-settings`,`a`);b9.href=YU(`privacy`,`telemetry-enabled`,`Open settings`).href,b9.addEventListener(`click`,y9),V(document,`#telemetry-banner-dismiss`,`button`).addEventListener(`click`,y9),V(document,`#btn-add-session-header`,`button`).addEventListener(`click`,tF);var x9=V(document,`#btn-mute`,`button`);pQ(x9);var S9=V(document,`#power-menu`,`div`),C9=V(document,`#btn-power`,`button`);function w9(){C9.setAttribute(`aria-expanded`,S9.classList.contains(`open`)?`true`:`false`)}C9.addEventListener(`click`,e=>{e.stopPropagation(),S9.classList.toggle(`open`),w9()}),document.addEventListener(`click`,e=>{e.target instanceof Node&&(S9.contains(e.target)||(S9.classList.remove(`open`),w9()))}),xf(document.querySelector(`.header`));function lde(e){e&&R1(e),!C2(`settings`)&&L9(`settings`,{section:e})}function T9(){location.hash.startsWith(`#settings/`)&&history.replaceState(history.state,``,`${location.pathname}${location.search}`)}function ude(e){return e?(R1(e.sectionId,e.settingId),C2(`settings`)||L9(`settings`,{section:e.sectionId,setting:e.settingId,persist:!1}),!0):!1}function E9(e){return ude(z1(e))}function D9(e){let t=wL(e);return t?!$V(t)||(history.replaceState(history.state,``,`${location.pathname}${location.search}`),b2()?(y2(t)||GS(`No plan is stored for this session yet`),!0):(L9(`focus`,{persist:!1}),UU(t)||GS(`No plan is stored for this session yet`),!0)):!1}function O9(e){return D9(e)?!0:E9(e)}function dde(){return O9(location.hash)}document.addEventListener(`click`,e=>{if(!b2()||e.defaultPrevented)return;let t=e.target instanceof Element?e.target.closest(`a[href^="#"]`):null;t instanceof HTMLAnchorElement&&O9(t.hash)&&e.preventDefault()}),Aoe(V(document,`#celebration-tray`,`div`),V(document,`#btn-celebrations`,`button`),V(document,`#celebration-tray-count`,`span`)),V(document,`#btn-help`,`button`).addEventListener(`click`,()=>{lde(`browser-shortcuts`)});var k9=Jue({onRestart:q9,onConfirmUpdateAndRestart:mde,openTerminal:e=>{L9(`focus`),HU(e)},openPlan:e=>{L9(`focus`),UU(e)},openCalm:()=>L9(`calm`),setPhoneAttention:T2});VR({panel:document.getElementById(`review-sidebar`)});for(let e of k9)e.mount(e.el);var A9=mU();A9&&hP(A9),If.subscribe((e,t)=>{t.includes(`focusedSessionId`)&&u9()});function j9(e){return k9.find(t=>t.view===e)}function M9(e){return k9.some(t=>t.view===e&&!t.tab.hidden)}var N9=!0,P9=null;function F9(e){j9(e)?.attention?.acknowledge()}function I9(e){q7(j9(e),`shown`)}function L9(e,{section:t,setting:n,persist:r=!0}={}){if(!M9(e))return;let i=Lf();If.dispatch(`setActiveView`,e),N9=r,r&&(P9=null),document.body.dataset.activeView=e,document.body.dataset.reviewSidebarHidden=String(j9(e)?.hasReviewSidebar!==!0),r&&ek(e);for(let t of k9){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&&j9(i)?.deactivate?.(),j9(e)?.activate?.(),I9(e),i===`settings`&&e!==`settings`&&T9(),e===`settings`&&t&&R1(t,n??null),F9(e),u9()}function R9(e,t){let{view:n}=e;e.tab.hidden=!t,w2(n,t),e.onAvailabilityChange?.(t),!b2()&&(!t&&Lf()===n&&L9(`focus`),t&&P9===n&&L9(n))}var z9=null;function fde(e,{isLiveSettingsChange:t=!1}={}){let n=Gue(k9,e),r=n.find(e=>e.view.view===`calm`)?.isAvailable===!0,i=t&&z9===!1&&r;z9=r,l9=r,v2(r),BU(!r),u9();for(let{view:e,isAvailable:t}of n)R9(e,t);!i||Lf()!==`focus`||Uf()||wL(location.hash)||L9(`calm`)}function B9(e,{isLiveSettingsChange:t=!1}={}){nH(e),B1(e),zG(e),fde(e,{isLiveSettingsChange:t}),cde(e)}for(let e of k9)e.gate&&(R9(e,!1),`subscribe`in e.gate&&e.gate.subscribe(t=>R9(e,t)));QB(()=>{M9(`trace`)&&(C2(`trace`)||L9(`trace`))});function V9(e,t){let n=k9.filter(e=>!e.tab.hidden),r=n[(n.findIndex(t=>t.view===e)+t+n.length)%n.length];return L9(r.view),r.tab}function pde(e){k9.some(e=>e.tab===document.activeElement)&&e.focus()}for(let e=0;e<k9.length;e++){let{view:t,tab:n}=k9[e];n.addEventListener(`click`,()=>L9(t)),n.addEventListener(`keydown`,e=>{(e.key===`ArrowLeft`||e.key===`ArrowRight`)&&(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||(e.preventDefault(),V9(Lf(),e.key===`ArrowRight`?1:-1).focus()))})}var H9=$O(),U9=z1(location.hash),W9=wL(location.hash);if(U9&&L9(`settings`,{section:U9.sectionId,setting:U9.settingId,persist:!1}),W9&&L9(`focus`,{persist:!1}),!U9&&!W9){let e=M9(H9);e||(P9=H9),L9(e?H9:`focus`,{persist:e})}m2({panels:mJ(k9),onScreenShown:e=>{I9(e),e!==`settings`&&T9(),e===`settings`&&!location.hash.startsWith(`#settings/`)&&R1(),F9(e)},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`),x9,S9]});function G9(e){if(e===`phone`){let e=hU();for(let e of K7(k9))e.deactivate?.();pP(),u9(),h2({sessionId:e??void 0});return}let t=x2();g2();let n=Lf();L9(M9(n)?n:`focus`,{persist:N9}),t&&HU(t)}Uf()&&G9(`phone`),Wf(G9),window.addEventListener(`hashchange`,dde);function K9({type:e,title:t,confirmLabel:n,danger:r,idleMessage:i,actionAfterKillingSessions:a}){S9.classList.remove(`open`),w9();let o=eH();$f({title:t,message:o>0?`Kill ${o} session${o>1?`s`:``} and ${a}?`:i,confirmLabel:n,danger:r,onConfirm:()=>z({type:e})})}function q9(){K9({type:`restart-server`,title:`Restart Server`,confirmLabel:`Restart`,danger:!1,idleMessage:`Restart the server?`,actionAfterKillingSessions:`restart the server`})}function mde(e){let t=tH(),n=t.length;if(n===0){e(t);return}$f({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 hde(e){let t=TP(`shutdown`,e);V(document,`#btn-shutdown`,`button`).hidden=!t,V(document,`#menu-divider-shutdown`,`div`).hidden=!t}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 gde(){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 _de({action:e,step:t}){switch(e){case`merge`:return rz(),!0;case`resolve-or-resync`:return iz()||az(),!0;case`new-session`:return document.getElementById(`btn-add-session-header`)?.click(),!0;case`next-attention`:return Lf()===`calm`?cP():pU()?(jU(),!0):!1;case`rail-step`:return pU()?(GU(t),!0):!1;case`view-step`:return!Uf()&&(pde(V9(Lf(),t)),!0);case`session-nth`:return pU()?(WU(t),!0):!1;case`calm-home`:return!Uf()&&(L9(`calm`),!0);case`calm-terminal`:return sP()}}Zb(()=>({isCalmAvailable:l9,isCalmViewActive:Lf()===`calm`})),document.addEventListener(`keydown`,e=>{if(e.repeat||gde())return;let t=Hb(e,Yb,Qb());t&&_de(t)&&e.preventDefault()});var vde=OP({mode:`trailing`,delayMs:150,run:()=>{z({type:`focus-change`,focused:document.hasFocus()})}});function J9(){vde.schedule()}function Y9(){J9(),CA(qf(kP()))}window.addEventListener(`focus`,Y9),window.addEventListener(`blur`,Y9),document.addEventListener(`visibilitychange`,Y9);var X9=!1,Z9=null;function yde(){if(document.visibilityState!==`visible`)return 0;let e=Z9;return Z9=null,e===null?0:Date.now()-e}async function Q9(){let e=yde();if(!X9){X9=!0,Bne();try{if(await lf(e)===`ok`)return;for(let e of H.keys())_A(e)}finally{Vne(),X9=!1}}}document.addEventListener(`visibilitychange`,()=>{if(document.visibilityState!==`visible`){Z9??=Date.now();return}bD(),Q9()}),window.addEventListener(`online`,Q9);var $9=FP(z);window.addEventListener(`error`,e=>$9(e.error)),window.addEventListener(`unhandledrejection`,e=>$9(e.reason)),window.addEventListener(`pageshow`,e=>{e.persisted&&(bD(),Q9())}),ZF(V(document,`#health-footer-mount`,`div`)),fJ(),Ab(rH),cf();